@redneckz/wildless-cms-uni-blocks 0.14.876 → 0.14.878

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 (722) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +4 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +300 -157
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  6. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  7. package/bundle/hooks/useInn.d.ts +7 -0
  8. package/bundle/model/FormTypeFieldDef.d.ts +1 -1
  9. package/bundle/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  10. package/bundle/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  11. package/bundle/retail/components/Fields/SelectField.d.ts +1 -0
  12. package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  13. package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  14. package/bundle/retail/inputs.d.ts +0 -2
  15. package/bundle/retail/model/LeadFormState.d.ts +0 -2
  16. package/bundle/retail/model/NameFieldDef.d.ts +1 -1
  17. package/bundle/retail/validator/validators.d.ts +5 -3
  18. package/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  19. package/bundle/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  20. package/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  21. package/bundle/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  22. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  23. package/bundle/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  24. package/bundle/ui-kit/FormField/validators.d.ts +8 -1
  25. package/bundle/ui-kit/Select/Option.d.ts +6 -0
  26. package/bundle/ui-kit/Select/Select.d.ts +2 -0
  27. package/bundle/ui-kit/Select/SelectPopup.d.ts +1 -0
  28. package/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
  29. package/dist/api/LeadServiceAPI.d.ts +4 -0
  30. package/dist/api/LeadServiceAPI.js +13 -6
  31. package/dist/api/LeadServiceAPI.js.map +1 -1
  32. package/dist/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  33. package/dist/components/ApplicationForm/ApplicationForm.js +4 -3
  34. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  35. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  36. package/dist/components/ApplicationForm/ApplicationFormContent.js +0 -2
  37. package/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  38. package/dist/hooks/useInn.d.ts +7 -0
  39. package/dist/hooks/useInn.js +11 -0
  40. package/dist/hooks/useInn.js.map +1 -0
  41. package/dist/model/FormTypeFieldDef.d.ts +1 -1
  42. package/dist/retail/adaptors/getPersonalInfoData.js +1 -1
  43. package/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
  44. package/dist/retail/api/dadataHints/dadataHints.js +11 -7
  45. package/dist/retail/api/dadataHints/dadataHints.js.map +1 -1
  46. package/dist/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  47. package/dist/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  48. package/dist/retail/api/dadataHints/hintsListsOptions.js +17 -2
  49. package/dist/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  50. package/dist/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  51. package/dist/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  52. package/dist/retail/components/DaDataInputControl/InputPopup.js +2 -2
  53. package/dist/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  54. package/dist/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  55. package/dist/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  56. package/dist/retail/components/Fields/BirthPlaceField.js +1 -1
  57. package/dist/retail/components/Fields/BirthPlaceField.js.map +1 -1
  58. package/dist/retail/components/Fields/ChildrenField.js +1 -1
  59. package/dist/retail/components/Fields/ChildrenField.js.map +1 -1
  60. package/dist/retail/components/Fields/CodeWordField.js +1 -1
  61. package/dist/retail/components/Fields/CodeWordField.js.map +1 -1
  62. package/dist/retail/components/Fields/DependentsField.js +1 -1
  63. package/dist/retail/components/Fields/DependentsField.js.map +1 -1
  64. package/dist/retail/components/Fields/DulIssueDateField.js +1 -1
  65. package/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
  66. package/dist/retail/components/Fields/DulIssuedByField.js +2 -2
  67. package/dist/retail/components/Fields/DulIssuedByField.js.map +1 -1
  68. package/dist/retail/components/Fields/DulSubdivisionCodeField.js +14 -1
  69. package/dist/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  70. package/dist/retail/components/Fields/EmailField.js +1 -3
  71. package/dist/retail/components/Fields/EmailField.js.map +1 -1
  72. package/dist/retail/components/Fields/Experience5YearsField.js +1 -1
  73. package/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
  74. package/dist/retail/components/Fields/FamilyMembersField.js +2 -2
  75. package/dist/retail/components/Fields/FamilyMembersField.js.map +1 -1
  76. package/dist/retail/components/Fields/GeneralSeniorityField.js +12 -1
  77. package/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  78. package/dist/retail/components/Fields/JobsNumberField.js +1 -1
  79. package/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
  80. package/dist/retail/components/Fields/LastJobExperienceField.js +1 -1
  81. package/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  82. package/dist/retail/components/Fields/LegalFormField.js +1 -1
  83. package/dist/retail/components/Fields/LegalFormField.js.map +1 -1
  84. package/dist/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  85. package/dist/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  86. package/dist/retail/components/Fields/MiddleNameField.js +1 -1
  87. package/dist/retail/components/Fields/NameField.js +1 -1
  88. package/dist/retail/components/Fields/RetirementIncomeField.js +1 -1
  89. package/dist/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  90. package/dist/retail/components/Fields/SelectField.d.ts +1 -0
  91. package/dist/retail/components/Fields/SelectField.js.map +1 -1
  92. package/dist/retail/components/Fields/SurnameField.js +1 -1
  93. package/dist/retail/components/Fields/WagesField.js +1 -1
  94. package/dist/retail/components/Fields/WagesField.js.map +1 -1
  95. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  96. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +3 -4
  97. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  98. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  99. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +3 -3
  100. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  101. package/dist/retail/inputs.d.ts +0 -2
  102. package/dist/retail/inputs.js +0 -4
  103. package/dist/retail/inputs.js.map +1 -1
  104. package/dist/retail/model/LeadFormState.d.ts +0 -2
  105. package/dist/retail/model/NameFieldDef.d.ts +1 -1
  106. package/dist/retail/utils/calculateInputs.js +1 -1
  107. package/dist/retail/utils/calculateInputs.js.map +1 -1
  108. package/dist/retail/utils/updateOrganizationFields.js +1 -1
  109. package/dist/retail/utils/updateOrganizationFields.js.map +1 -1
  110. package/dist/retail/validator/getLimitedBirthdayValidation.js +2 -1
  111. package/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  112. package/dist/retail/validator/getRetailFormValidator.js +3 -0
  113. package/dist/retail/validator/getRetailFormValidator.js.map +1 -1
  114. package/dist/retail/validator/validatorObj.js +4 -9
  115. package/dist/retail/validator/validatorObj.js.map +1 -1
  116. package/dist/retail/validator/validators.d.ts +5 -3
  117. package/dist/retail/validator/validators.js +27 -17
  118. package/dist/retail/validator/validators.js.map +1 -1
  119. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  120. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +17 -0
  121. package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  122. package/dist/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  123. package/{mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js → dist/ui-kit/FormField/Fields/FullRegionField.js} +5 -4
  124. package/dist/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  125. package/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  126. package/dist/ui-kit/FormField/Fields/InnDadataField.js +29 -0
  127. package/dist/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  128. package/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  129. package/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +19 -0
  130. package/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  131. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  132. package/dist/ui-kit/FormField/getField.js +12 -2
  133. package/dist/ui-kit/FormField/getField.js.map +1 -1
  134. package/dist/ui-kit/FormField/getObjectValidator.js +3 -0
  135. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  136. package/dist/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  137. package/dist/ui-kit/FormField/inputColumnStyle.js +1 -1
  138. package/dist/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  139. package/dist/ui-kit/FormField/validators.d.ts +8 -1
  140. package/dist/ui-kit/FormField/validators.js +5 -2
  141. package/dist/ui-kit/FormField/validators.js.map +1 -1
  142. package/dist/ui-kit/Input/renderErrorText.js +1 -1
  143. package/dist/ui-kit/Input/renderErrorText.js.map +1 -1
  144. package/dist/ui-kit/Select/Option.d.ts +6 -0
  145. package/dist/ui-kit/Select/Select.d.ts +2 -0
  146. package/dist/ui-kit/Select/Select.js +27 -5
  147. package/dist/ui-kit/Select/Select.js.map +1 -1
  148. package/dist/ui-kit/Select/SelectPopup.d.ts +1 -0
  149. package/dist/ui-kit/Select/SelectPopup.js +4 -2
  150. package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  151. package/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
  152. package/dist/ui-kit/Select/useSelectPopup.js +3 -2
  153. package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  154. package/lib/api/LeadServiceAPI.d.ts +4 -0
  155. package/lib/api/LeadServiceAPI.js +13 -6
  156. package/lib/api/LeadServiceAPI.js.map +1 -1
  157. package/lib/common.css +1 -1
  158. package/lib/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  159. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
  160. package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +1 -0
  161. package/lib/components/ApplicationForm/ApplicationForm.js +4 -3
  162. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  163. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  164. package/lib/components/ApplicationForm/ApplicationFormContent.js +0 -2
  165. package/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  166. package/lib/hooks/useInn.d.ts +7 -0
  167. package/lib/hooks/useInn.js +8 -0
  168. package/lib/hooks/useInn.js.map +1 -0
  169. package/lib/model/FormTypeFieldDef.d.ts +1 -1
  170. package/lib/retail/adaptors/getPersonalInfoData.js +1 -1
  171. package/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
  172. package/lib/retail/api/dadataHints/dadataHints.js +11 -7
  173. package/lib/retail/api/dadataHints/dadataHints.js.map +1 -1
  174. package/lib/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  175. package/lib/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  176. package/lib/retail/api/dadataHints/hintsListsOptions.js +17 -2
  177. package/lib/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  178. package/lib/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  179. package/lib/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  180. package/lib/retail/components/DaDataInputControl/InputPopup.js +3 -3
  181. package/lib/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  182. package/lib/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  183. package/lib/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  184. package/lib/retail/components/Fields/BirthPlaceField.js +1 -1
  185. package/lib/retail/components/Fields/BirthPlaceField.js.map +1 -1
  186. package/lib/retail/components/Fields/ChildrenField.js +1 -1
  187. package/lib/retail/components/Fields/ChildrenField.js.map +1 -1
  188. package/lib/retail/components/Fields/CodeWordField.js +1 -1
  189. package/lib/retail/components/Fields/CodeWordField.js.map +1 -1
  190. package/lib/retail/components/Fields/DependentsField.js +1 -1
  191. package/lib/retail/components/Fields/DependentsField.js.map +1 -1
  192. package/lib/retail/components/Fields/DulIssueDateField.js +1 -1
  193. package/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
  194. package/lib/retail/components/Fields/DulIssuedByField.js +2 -2
  195. package/lib/retail/components/Fields/DulIssuedByField.js.map +1 -1
  196. package/lib/retail/components/Fields/DulSubdivisionCodeField.js +15 -2
  197. package/lib/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  198. package/lib/retail/components/Fields/EmailField.js +1 -3
  199. package/lib/retail/components/Fields/EmailField.js.map +1 -1
  200. package/lib/retail/components/Fields/Experience5YearsField.js +1 -1
  201. package/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
  202. package/lib/retail/components/Fields/FamilyMembersField.js +2 -2
  203. package/lib/retail/components/Fields/FamilyMembersField.js.map +1 -1
  204. package/lib/retail/components/Fields/GeneralSeniorityField.js +12 -1
  205. package/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  206. package/lib/retail/components/Fields/JobsNumberField.js +1 -1
  207. package/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
  208. package/lib/retail/components/Fields/LastJobExperienceField.js +1 -1
  209. package/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  210. package/lib/retail/components/Fields/LegalFormField.js +1 -1
  211. package/lib/retail/components/Fields/LegalFormField.js.map +1 -1
  212. package/lib/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  213. package/lib/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  214. package/lib/retail/components/Fields/MiddleNameField.js +1 -1
  215. package/lib/retail/components/Fields/NameField.js +1 -1
  216. package/lib/retail/components/Fields/RetirementIncomeField.js +1 -1
  217. package/lib/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  218. package/lib/retail/components/Fields/SelectField.d.ts +1 -0
  219. package/lib/retail/components/Fields/SelectField.js.map +1 -1
  220. package/lib/retail/components/Fields/SurnameField.js +1 -1
  221. package/lib/retail/components/Fields/WagesField.js +1 -1
  222. package/lib/retail/components/Fields/WagesField.js.map +1 -1
  223. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  224. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +1 -2
  225. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  226. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  227. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  228. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  229. package/lib/retail/inputs.d.ts +0 -2
  230. package/lib/retail/inputs.js +0 -4
  231. package/lib/retail/inputs.js.map +1 -1
  232. package/lib/retail/model/LeadFormState.d.ts +0 -2
  233. package/lib/retail/model/NameFieldDef.d.ts +1 -1
  234. package/lib/retail/utils/calculateInputs.js +1 -1
  235. package/lib/retail/utils/calculateInputs.js.map +1 -1
  236. package/lib/retail/utils/updateOrganizationFields.js +1 -1
  237. package/lib/retail/utils/updateOrganizationFields.js.map +1 -1
  238. package/lib/retail/validator/getLimitedBirthdayValidation.js +2 -1
  239. package/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  240. package/lib/retail/validator/getRetailFormValidator.js +4 -1
  241. package/lib/retail/validator/getRetailFormValidator.js.map +1 -1
  242. package/lib/retail/validator/validatorObj.js +5 -10
  243. package/lib/retail/validator/validatorObj.js.map +1 -1
  244. package/lib/retail/validator/validators.d.ts +5 -3
  245. package/lib/retail/validator/validators.js +22 -14
  246. package/lib/retail/validator/validators.js.map +1 -1
  247. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  248. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +15 -0
  249. package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  250. package/lib/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  251. package/{mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js → lib/ui-kit/FormField/Fields/FullRegionField.js} +4 -3
  252. package/lib/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  253. package/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  254. package/lib/ui-kit/FormField/Fields/InnDadataField.js +27 -0
  255. package/lib/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  256. package/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  257. package/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +17 -0
  258. package/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  259. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  260. package/lib/ui-kit/FormField/getField.js +12 -2
  261. package/lib/ui-kit/FormField/getField.js.map +1 -1
  262. package/lib/ui-kit/FormField/getObjectValidator.js +4 -1
  263. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  264. package/lib/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  265. package/lib/ui-kit/FormField/inputColumnStyle.js +1 -1
  266. package/lib/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  267. package/lib/ui-kit/FormField/validators.d.ts +8 -1
  268. package/lib/ui-kit/FormField/validators.js +3 -1
  269. package/lib/ui-kit/FormField/validators.js.map +1 -1
  270. package/lib/ui-kit/Input/renderErrorText.js +1 -1
  271. package/lib/ui-kit/Input/renderErrorText.js.map +1 -1
  272. package/lib/ui-kit/Select/Option.d.ts +6 -0
  273. package/lib/ui-kit/Select/Select.d.ts +2 -0
  274. package/lib/ui-kit/Select/Select.js +28 -6
  275. package/lib/ui-kit/Select/Select.js.map +1 -1
  276. package/lib/ui-kit/Select/SelectPopup.d.ts +1 -0
  277. package/lib/ui-kit/Select/SelectPopup.js +4 -2
  278. package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  279. package/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
  280. package/lib/ui-kit/Select/useSelectPopup.js +3 -2
  281. package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  282. package/mobile/bundle/api/LeadServiceAPI.d.ts +4 -0
  283. package/mobile/bundle/bundle.umd.js +300 -157
  284. package/mobile/bundle/bundle.umd.min.js +1 -1
  285. package/mobile/bundle/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  286. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  287. package/mobile/bundle/hooks/useInn.d.ts +7 -0
  288. package/mobile/bundle/model/FormTypeFieldDef.d.ts +1 -1
  289. package/mobile/bundle/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  290. package/mobile/bundle/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  291. package/mobile/bundle/retail/components/Fields/SelectField.d.ts +1 -0
  292. package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  293. package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  294. package/mobile/bundle/retail/inputs.d.ts +0 -2
  295. package/mobile/bundle/retail/model/LeadFormState.d.ts +0 -2
  296. package/mobile/bundle/retail/model/NameFieldDef.d.ts +1 -1
  297. package/mobile/bundle/retail/validator/validators.d.ts +5 -3
  298. package/mobile/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  299. package/mobile/bundle/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  300. package/mobile/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  301. package/mobile/bundle/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  302. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  303. package/mobile/bundle/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  304. package/mobile/bundle/ui-kit/FormField/validators.d.ts +8 -1
  305. package/mobile/bundle/ui-kit/Select/Option.d.ts +6 -0
  306. package/mobile/bundle/ui-kit/Select/Select.d.ts +2 -0
  307. package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +1 -0
  308. package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
  309. package/mobile/dist/api/LeadServiceAPI.d.ts +4 -0
  310. package/mobile/dist/api/LeadServiceAPI.js +13 -6
  311. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  312. package/mobile/dist/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  313. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +4 -3
  314. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  315. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  316. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js +0 -2
  317. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  318. package/mobile/dist/hooks/useInn.d.ts +7 -0
  319. package/mobile/dist/hooks/useInn.js +11 -0
  320. package/mobile/dist/hooks/useInn.js.map +1 -0
  321. package/mobile/dist/model/FormTypeFieldDef.d.ts +1 -1
  322. package/mobile/dist/retail/adaptors/getPersonalInfoData.js +1 -1
  323. package/mobile/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
  324. package/mobile/dist/retail/api/dadataHints/dadataHints.js +11 -7
  325. package/mobile/dist/retail/api/dadataHints/dadataHints.js.map +1 -1
  326. package/mobile/dist/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  327. package/mobile/dist/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  328. package/mobile/dist/retail/api/dadataHints/hintsListsOptions.js +17 -2
  329. package/mobile/dist/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  330. package/mobile/dist/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  331. package/mobile/dist/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  332. package/mobile/dist/retail/components/DaDataInputControl/InputPopup.js +2 -2
  333. package/mobile/dist/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  334. package/mobile/dist/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  335. package/mobile/dist/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  336. package/mobile/dist/retail/components/Fields/BirthPlaceField.js +1 -1
  337. package/mobile/dist/retail/components/Fields/BirthPlaceField.js.map +1 -1
  338. package/mobile/dist/retail/components/Fields/ChildrenField.js +1 -1
  339. package/mobile/dist/retail/components/Fields/ChildrenField.js.map +1 -1
  340. package/mobile/dist/retail/components/Fields/CodeWordField.js +1 -1
  341. package/mobile/dist/retail/components/Fields/CodeWordField.js.map +1 -1
  342. package/mobile/dist/retail/components/Fields/DependentsField.js +1 -1
  343. package/mobile/dist/retail/components/Fields/DependentsField.js.map +1 -1
  344. package/mobile/dist/retail/components/Fields/DulIssueDateField.js +1 -1
  345. package/mobile/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
  346. package/mobile/dist/retail/components/Fields/DulIssuedByField.js +2 -2
  347. package/mobile/dist/retail/components/Fields/DulIssuedByField.js.map +1 -1
  348. package/mobile/dist/retail/components/Fields/DulSubdivisionCodeField.js +14 -1
  349. package/mobile/dist/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  350. package/mobile/dist/retail/components/Fields/EmailField.js +1 -3
  351. package/mobile/dist/retail/components/Fields/EmailField.js.map +1 -1
  352. package/mobile/dist/retail/components/Fields/Experience5YearsField.js +1 -1
  353. package/mobile/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
  354. package/mobile/dist/retail/components/Fields/FamilyMembersField.js +2 -2
  355. package/mobile/dist/retail/components/Fields/FamilyMembersField.js.map +1 -1
  356. package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js +12 -1
  357. package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  358. package/mobile/dist/retail/components/Fields/JobsNumberField.js +1 -1
  359. package/mobile/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
  360. package/mobile/dist/retail/components/Fields/LastJobExperienceField.js +1 -1
  361. package/mobile/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  362. package/mobile/dist/retail/components/Fields/LegalFormField.js +1 -1
  363. package/mobile/dist/retail/components/Fields/LegalFormField.js.map +1 -1
  364. package/mobile/dist/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  365. package/mobile/dist/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  366. package/mobile/dist/retail/components/Fields/MiddleNameField.js +1 -1
  367. package/mobile/dist/retail/components/Fields/NameField.js +1 -1
  368. package/mobile/dist/retail/components/Fields/RetirementIncomeField.js +1 -1
  369. package/mobile/dist/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  370. package/mobile/dist/retail/components/Fields/SelectField.d.ts +1 -0
  371. package/mobile/dist/retail/components/Fields/SelectField.js.map +1 -1
  372. package/mobile/dist/retail/components/Fields/SurnameField.js +1 -1
  373. package/mobile/dist/retail/components/Fields/WagesField.js +1 -1
  374. package/mobile/dist/retail/components/Fields/WagesField.js.map +1 -1
  375. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  376. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +3 -4
  377. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  378. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  379. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +3 -3
  380. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  381. package/mobile/dist/retail/inputs.d.ts +0 -2
  382. package/mobile/dist/retail/inputs.js +0 -4
  383. package/mobile/dist/retail/inputs.js.map +1 -1
  384. package/mobile/dist/retail/model/LeadFormState.d.ts +0 -2
  385. package/mobile/dist/retail/model/NameFieldDef.d.ts +1 -1
  386. package/mobile/dist/retail/utils/calculateInputs.js +1 -1
  387. package/mobile/dist/retail/utils/calculateInputs.js.map +1 -1
  388. package/mobile/dist/retail/utils/updateOrganizationFields.js +1 -1
  389. package/mobile/dist/retail/utils/updateOrganizationFields.js.map +1 -1
  390. package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js +2 -1
  391. package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  392. package/mobile/dist/retail/validator/getRetailFormValidator.js +3 -0
  393. package/mobile/dist/retail/validator/getRetailFormValidator.js.map +1 -1
  394. package/mobile/dist/retail/validator/validatorObj.js +4 -9
  395. package/mobile/dist/retail/validator/validatorObj.js.map +1 -1
  396. package/mobile/dist/retail/validator/validators.d.ts +5 -3
  397. package/mobile/dist/retail/validator/validators.js +27 -17
  398. package/mobile/dist/retail/validator/validators.js.map +1 -1
  399. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  400. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +17 -0
  401. package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  402. package/mobile/dist/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  403. package/{dist/ui-kit/FormField/Fields/RegionPremiumField.js → mobile/dist/ui-kit/FormField/Fields/FullRegionField.js} +5 -4
  404. package/mobile/dist/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  405. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  406. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js +29 -0
  407. package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  408. package/mobile/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  409. package/mobile/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +19 -0
  410. package/mobile/dist/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  411. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  412. package/mobile/dist/ui-kit/FormField/getField.js +12 -2
  413. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  414. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +3 -0
  415. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  416. package/mobile/dist/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  417. package/mobile/dist/ui-kit/FormField/inputColumnStyle.js +1 -1
  418. package/mobile/dist/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  419. package/mobile/dist/ui-kit/FormField/validators.d.ts +8 -1
  420. package/mobile/dist/ui-kit/FormField/validators.js +5 -2
  421. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  422. package/mobile/dist/ui-kit/Input/renderErrorText.js +1 -1
  423. package/mobile/dist/ui-kit/Input/renderErrorText.js.map +1 -1
  424. package/mobile/dist/ui-kit/Select/Option.d.ts +6 -0
  425. package/mobile/dist/ui-kit/Select/Select.d.ts +2 -0
  426. package/mobile/dist/ui-kit/Select/Select.js +27 -5
  427. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  428. package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +1 -0
  429. package/mobile/dist/ui-kit/Select/SelectPopup.js +4 -2
  430. package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  431. package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
  432. package/mobile/dist/ui-kit/Select/useSelectPopup.js +3 -2
  433. package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  434. package/mobile/lib/api/LeadServiceAPI.d.ts +4 -0
  435. package/mobile/lib/api/LeadServiceAPI.js +13 -6
  436. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  437. package/mobile/lib/common.css +1 -1
  438. package/mobile/lib/components/ApplicationForm/ApplicationForm.d.ts +2 -3
  439. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +4 -3
  440. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  441. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +5 -1
  442. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js +0 -2
  443. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -1
  444. package/mobile/lib/hooks/useInn.d.ts +7 -0
  445. package/mobile/lib/hooks/useInn.js +8 -0
  446. package/mobile/lib/hooks/useInn.js.map +1 -0
  447. package/mobile/lib/model/FormTypeFieldDef.d.ts +1 -1
  448. package/mobile/lib/retail/adaptors/getPersonalInfoData.js +1 -1
  449. package/mobile/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
  450. package/mobile/lib/retail/api/dadataHints/dadataHints.js +11 -7
  451. package/mobile/lib/retail/api/dadataHints/dadataHints.js.map +1 -1
  452. package/mobile/lib/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  453. package/mobile/lib/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  454. package/mobile/lib/retail/api/dadataHints/hintsListsOptions.js +17 -2
  455. package/mobile/lib/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  456. package/mobile/lib/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  457. package/mobile/lib/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  458. package/mobile/lib/retail/components/DaDataInputControl/InputPopup.js +3 -3
  459. package/mobile/lib/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  460. package/mobile/lib/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  461. package/mobile/lib/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  462. package/mobile/lib/retail/components/Fields/BirthPlaceField.js +1 -1
  463. package/mobile/lib/retail/components/Fields/BirthPlaceField.js.map +1 -1
  464. package/mobile/lib/retail/components/Fields/ChildrenField.js +1 -1
  465. package/mobile/lib/retail/components/Fields/ChildrenField.js.map +1 -1
  466. package/mobile/lib/retail/components/Fields/CodeWordField.js +1 -1
  467. package/mobile/lib/retail/components/Fields/CodeWordField.js.map +1 -1
  468. package/mobile/lib/retail/components/Fields/DependentsField.js +1 -1
  469. package/mobile/lib/retail/components/Fields/DependentsField.js.map +1 -1
  470. package/mobile/lib/retail/components/Fields/DulIssueDateField.js +1 -1
  471. package/mobile/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
  472. package/mobile/lib/retail/components/Fields/DulIssuedByField.js +2 -2
  473. package/mobile/lib/retail/components/Fields/DulIssuedByField.js.map +1 -1
  474. package/mobile/lib/retail/components/Fields/DulSubdivisionCodeField.js +15 -2
  475. package/mobile/lib/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  476. package/mobile/lib/retail/components/Fields/EmailField.js +1 -3
  477. package/mobile/lib/retail/components/Fields/EmailField.js.map +1 -1
  478. package/mobile/lib/retail/components/Fields/Experience5YearsField.js +1 -1
  479. package/mobile/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
  480. package/mobile/lib/retail/components/Fields/FamilyMembersField.js +2 -2
  481. package/mobile/lib/retail/components/Fields/FamilyMembersField.js.map +1 -1
  482. package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js +12 -1
  483. package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  484. package/mobile/lib/retail/components/Fields/JobsNumberField.js +1 -1
  485. package/mobile/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
  486. package/mobile/lib/retail/components/Fields/LastJobExperienceField.js +1 -1
  487. package/mobile/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  488. package/mobile/lib/retail/components/Fields/LegalFormField.js +1 -1
  489. package/mobile/lib/retail/components/Fields/LegalFormField.js.map +1 -1
  490. package/mobile/lib/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  491. package/mobile/lib/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  492. package/mobile/lib/retail/components/Fields/MiddleNameField.js +1 -1
  493. package/mobile/lib/retail/components/Fields/NameField.js +1 -1
  494. package/mobile/lib/retail/components/Fields/RetirementIncomeField.js +1 -1
  495. package/mobile/lib/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  496. package/mobile/lib/retail/components/Fields/SelectField.d.ts +1 -0
  497. package/mobile/lib/retail/components/Fields/SelectField.js.map +1 -1
  498. package/mobile/lib/retail/components/Fields/SurnameField.js +1 -1
  499. package/mobile/lib/retail/components/Fields/WagesField.js +1 -1
  500. package/mobile/lib/retail/components/Fields/WagesField.js.map +1 -1
  501. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  502. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +1 -2
  503. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  504. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  505. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  506. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  507. package/mobile/lib/retail/inputs.d.ts +0 -2
  508. package/mobile/lib/retail/inputs.js +0 -4
  509. package/mobile/lib/retail/inputs.js.map +1 -1
  510. package/mobile/lib/retail/model/LeadFormState.d.ts +0 -2
  511. package/mobile/lib/retail/model/NameFieldDef.d.ts +1 -1
  512. package/mobile/lib/retail/utils/calculateInputs.js +1 -1
  513. package/mobile/lib/retail/utils/calculateInputs.js.map +1 -1
  514. package/mobile/lib/retail/utils/updateOrganizationFields.js +1 -1
  515. package/mobile/lib/retail/utils/updateOrganizationFields.js.map +1 -1
  516. package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js +2 -1
  517. package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  518. package/mobile/lib/retail/validator/getRetailFormValidator.js +4 -1
  519. package/mobile/lib/retail/validator/getRetailFormValidator.js.map +1 -1
  520. package/mobile/lib/retail/validator/validatorObj.js +5 -10
  521. package/mobile/lib/retail/validator/validatorObj.js.map +1 -1
  522. package/mobile/lib/retail/validator/validators.d.ts +5 -3
  523. package/mobile/lib/retail/validator/validators.js +22 -14
  524. package/mobile/lib/retail/validator/validators.js.map +1 -1
  525. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +2 -0
  526. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +15 -0
  527. package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +1 -0
  528. package/mobile/lib/ui-kit/FormField/Fields/FullRegionField.d.ts +5 -0
  529. package/{lib/ui-kit/FormField/Fields/RegionPremiumField.js → mobile/lib/ui-kit/FormField/Fields/FullRegionField.js} +4 -3
  530. package/mobile/lib/ui-kit/FormField/Fields/FullRegionField.js.map +1 -0
  531. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +2 -0
  532. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js +27 -0
  533. package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js.map +1 -0
  534. package/mobile/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.d.ts +15 -0
  535. package/mobile/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js +17 -0
  536. package/mobile/lib/ui-kit/FormField/Fields/PartnerSymbolCodeField.js.map +1 -0
  537. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  538. package/mobile/lib/ui-kit/FormField/getField.js +12 -2
  539. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  540. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +4 -1
  541. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  542. package/mobile/lib/ui-kit/FormField/inputColumnStyle.d.ts +1 -1
  543. package/mobile/lib/ui-kit/FormField/inputColumnStyle.js +1 -1
  544. package/mobile/lib/ui-kit/FormField/inputColumnStyle.js.map +1 -1
  545. package/mobile/lib/ui-kit/FormField/validators.d.ts +8 -1
  546. package/mobile/lib/ui-kit/FormField/validators.js +3 -1
  547. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  548. package/mobile/lib/ui-kit/Input/renderErrorText.js +1 -1
  549. package/mobile/lib/ui-kit/Input/renderErrorText.js.map +1 -1
  550. package/mobile/lib/ui-kit/Select/Option.d.ts +6 -0
  551. package/mobile/lib/ui-kit/Select/Select.d.ts +2 -0
  552. package/mobile/lib/ui-kit/Select/Select.js +28 -6
  553. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  554. package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +1 -0
  555. package/mobile/lib/ui-kit/Select/SelectPopup.js +4 -2
  556. package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  557. package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
  558. package/mobile/lib/ui-kit/Select/useSelectPopup.js +3 -2
  559. package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  560. package/mobile/src/api/LeadServiceAPI.ts +28 -3
  561. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +84 -0
  562. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +29 -14
  563. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +6 -4
  564. package/mobile/src/hooks/useInn.ts +16 -0
  565. package/mobile/src/model/FormTypeFieldDef.ts +2 -1
  566. package/mobile/src/retail/adaptors/getPersonalInfoData.tsx +1 -1
  567. package/mobile/src/retail/api/dadataHints/dadataHints.ts +17 -6
  568. package/mobile/src/retail/api/dadataHints/dadataHintsType.ts +10 -3
  569. package/mobile/src/retail/api/dadataHints/hintsListsOptions.ts +20 -13
  570. package/mobile/src/retail/components/DaDataInputControl/DaDataInputControl.tsx +15 -1
  571. package/mobile/src/retail/components/DaDataInputControl/InputPopup.tsx +5 -2
  572. package/mobile/src/retail/components/DaDataInputControl/useInputPopup.tsx +1 -0
  573. package/mobile/src/retail/components/Fields/BirthPlaceField.tsx +1 -0
  574. package/mobile/src/retail/components/Fields/ChildrenField.tsx +1 -0
  575. package/mobile/src/retail/components/Fields/CodeWordField.tsx +6 -1
  576. package/mobile/src/retail/components/Fields/DependentsField.tsx +1 -0
  577. package/mobile/src/retail/components/Fields/DulIssueDateField.tsx +1 -0
  578. package/mobile/src/retail/components/Fields/DulIssuedByField.tsx +2 -1
  579. package/mobile/src/retail/components/Fields/DulSubdivisionCodeField.tsx +21 -3
  580. package/mobile/src/retail/components/Fields/EmailField.tsx +8 -3
  581. package/mobile/src/retail/components/Fields/Experience5YearsField.tsx +2 -2
  582. package/mobile/src/retail/components/Fields/FamilyMembersField.tsx +2 -2
  583. package/mobile/src/retail/components/Fields/GeneralSeniorityField.tsx +28 -11
  584. package/mobile/src/retail/components/Fields/JobsNumberField.tsx +1 -0
  585. package/mobile/src/retail/components/Fields/LastJobExperienceField.tsx +1 -0
  586. package/mobile/src/retail/components/Fields/LegalFormField.tsx +1 -0
  587. package/mobile/src/retail/components/Fields/MandatoryPaymentsField.tsx +2 -0
  588. package/mobile/src/retail/components/Fields/MiddleNameField.tsx +1 -1
  589. package/mobile/src/retail/components/Fields/NameField.tsx +1 -1
  590. package/mobile/src/retail/components/Fields/RetirementIncomeField.tsx +2 -0
  591. package/mobile/src/retail/components/Fields/SelectField.tsx +1 -0
  592. package/mobile/src/retail/components/Fields/SurnameField.tsx +1 -1
  593. package/mobile/src/retail/components/Fields/WagesField.tsx +2 -0
  594. package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +5 -9
  595. package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +9 -1
  596. package/mobile/src/retail/inputs.tsx +0 -4
  597. package/mobile/src/retail/model/LeadFormState.ts +0 -2
  598. package/mobile/src/retail/model/NameFieldDef.ts +0 -2
  599. package/mobile/src/retail/utils/calculateInputs.ts +1 -1
  600. package/mobile/src/retail/utils/updateOrganizationFields.ts +1 -1
  601. package/mobile/src/retail/validator/getLimitedBirthdayValidation.ts +2 -1
  602. package/mobile/src/retail/validator/getRetailFormValidator.ts +9 -1
  603. package/mobile/src/retail/validator/validatorObj.ts +4 -12
  604. package/mobile/src/retail/validator/validators.ts +47 -28
  605. package/mobile/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +24 -0
  606. package/mobile/src/ui-kit/FormField/Fields/{RegionPremiumField.tsx → FullRegionField.tsx} +7 -2
  607. package/mobile/src/ui-kit/FormField/Fields/InnDadataField.tsx +47 -0
  608. package/mobile/src/ui-kit/FormField/Fields/PartnerSymbolCodeField.tsx +47 -0
  609. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +5 -1
  610. package/mobile/src/ui-kit/FormField/getField.tsx +15 -2
  611. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +4 -0
  612. package/mobile/src/ui-kit/FormField/inputColumnStyle.tsx +1 -1
  613. package/mobile/src/ui-kit/FormField/validators.ts +13 -1
  614. package/mobile/src/ui-kit/Input/renderErrorText.tsx +1 -1
  615. package/mobile/src/ui-kit/Select/Option.ts +6 -0
  616. package/mobile/src/ui-kit/Select/Select.tsx +71 -17
  617. package/mobile/src/ui-kit/Select/SelectPopup.tsx +20 -2
  618. package/mobile/src/ui-kit/Select/useSelectPopup.tsx +4 -0
  619. package/package.json +2 -2
  620. package/src/api/LeadServiceAPI.ts +28 -3
  621. package/src/components/ApplicationForm/ApplicationForm.example.json +84 -0
  622. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +47 -0
  623. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +47 -0
  624. package/src/components/ApplicationForm/ApplicationForm.tsx +29 -14
  625. package/src/components/ApplicationForm/ApplicationFormContent.ts +6 -4
  626. package/src/hooks/useInn.ts +16 -0
  627. package/src/model/FormTypeFieldDef.ts +2 -1
  628. package/src/retail/adaptors/getPersonalInfoData.tsx +1 -1
  629. package/src/retail/api/dadataHints/dadataHints.ts +17 -6
  630. package/src/retail/api/dadataHints/dadataHintsType.ts +10 -3
  631. package/src/retail/api/dadataHints/hintsListsOptions.ts +20 -13
  632. package/src/retail/components/DaDataInputControl/DaDataInputControl.tsx +15 -1
  633. package/src/retail/components/DaDataInputControl/InputPopup.tsx +5 -2
  634. package/src/retail/components/DaDataInputControl/useInputPopup.tsx +1 -0
  635. package/src/retail/components/Fields/BirthPlaceField.tsx +1 -0
  636. package/src/retail/components/Fields/ChildrenField.tsx +1 -0
  637. package/src/retail/components/Fields/CodeWordField.tsx +6 -1
  638. package/src/retail/components/Fields/DependentsField.tsx +1 -0
  639. package/src/retail/components/Fields/DulIssueDateField.tsx +1 -0
  640. package/src/retail/components/Fields/DulIssuedByField.tsx +2 -1
  641. package/src/retail/components/Fields/DulSubdivisionCodeField.tsx +21 -3
  642. package/src/retail/components/Fields/EmailField.tsx +8 -3
  643. package/src/retail/components/Fields/Experience5YearsField.tsx +2 -2
  644. package/src/retail/components/Fields/FamilyMembersField.tsx +2 -2
  645. package/src/retail/components/Fields/GeneralSeniorityField.tsx +28 -11
  646. package/src/retail/components/Fields/JobsNumberField.tsx +1 -0
  647. package/src/retail/components/Fields/LastJobExperienceField.tsx +1 -0
  648. package/src/retail/components/Fields/LegalFormField.tsx +1 -0
  649. package/src/retail/components/Fields/MandatoryPaymentsField.tsx +2 -0
  650. package/src/retail/components/Fields/MiddleNameField.tsx +1 -1
  651. package/src/retail/components/Fields/NameField.tsx +1 -1
  652. package/src/retail/components/Fields/RetirementIncomeField.tsx +2 -0
  653. package/src/retail/components/Fields/SelectField.tsx +1 -0
  654. package/src/retail/components/Fields/SurnameField.tsx +1 -1
  655. package/src/retail/components/Fields/WagesField.tsx +2 -0
  656. package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +5 -9
  657. package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +9 -1
  658. package/src/retail/inputs.tsx +0 -4
  659. package/src/retail/model/LeadFormState.ts +0 -2
  660. package/src/retail/model/NameFieldDef.ts +0 -2
  661. package/src/retail/utils/calculateInputs.ts +1 -1
  662. package/src/retail/utils/updateOrganizationFields.ts +1 -1
  663. package/src/retail/validator/getLimitedBirthdayValidation.ts +2 -1
  664. package/src/retail/validator/getRetailFormValidator.ts +9 -1
  665. package/src/retail/validator/validatorObj.ts +4 -12
  666. package/src/retail/validator/validators.ts +47 -28
  667. package/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +24 -0
  668. package/src/ui-kit/FormField/Fields/{RegionPremiumField.tsx → FullRegionField.tsx} +7 -2
  669. package/src/ui-kit/FormField/Fields/InnDadataField.tsx +47 -0
  670. package/src/ui-kit/FormField/Fields/PartnerSymbolCodeField.tsx +47 -0
  671. package/src/ui-kit/FormField/NameFieldDef.ts +5 -1
  672. package/src/ui-kit/FormField/getField.tsx +15 -2
  673. package/src/ui-kit/FormField/getObjectValidator.tsx +4 -0
  674. package/src/ui-kit/FormField/inputColumnStyle.tsx +1 -1
  675. package/src/ui-kit/FormField/validators.ts +13 -1
  676. package/src/ui-kit/Input/renderErrorText.tsx +1 -1
  677. package/src/ui-kit/Select/Option.ts +6 -0
  678. package/src/ui-kit/Select/Select.tsx +71 -17
  679. package/src/ui-kit/Select/SelectPopup.tsx +20 -2
  680. package/src/ui-kit/Select/useSelectPopup.tsx +4 -0
  681. package/bundle/retail/components/Fields/ExpensesField.d.ts +0 -2
  682. package/bundle/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  683. package/bundle/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  684. package/dist/retail/components/Fields/ExpensesField.d.ts +0 -2
  685. package/dist/retail/components/Fields/ExpensesField.js +0 -7
  686. package/dist/retail/components/Fields/ExpensesField.js.map +0 -1
  687. package/dist/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  688. package/dist/retail/components/Fields/TotalIncomeField.js +0 -7
  689. package/dist/retail/components/Fields/TotalIncomeField.js.map +0 -1
  690. package/dist/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  691. package/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  692. package/lib/retail/components/Fields/ExpensesField.d.ts +0 -2
  693. package/lib/retail/components/Fields/ExpensesField.js +0 -5
  694. package/lib/retail/components/Fields/ExpensesField.js.map +0 -1
  695. package/lib/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  696. package/lib/retail/components/Fields/TotalIncomeField.js +0 -5
  697. package/lib/retail/components/Fields/TotalIncomeField.js.map +0 -1
  698. package/lib/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  699. package/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  700. package/mobile/bundle/retail/components/Fields/ExpensesField.d.ts +0 -2
  701. package/mobile/bundle/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  702. package/mobile/bundle/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  703. package/mobile/dist/retail/components/Fields/ExpensesField.d.ts +0 -2
  704. package/mobile/dist/retail/components/Fields/ExpensesField.js +0 -7
  705. package/mobile/dist/retail/components/Fields/ExpensesField.js.map +0 -1
  706. package/mobile/dist/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  707. package/mobile/dist/retail/components/Fields/TotalIncomeField.js +0 -7
  708. package/mobile/dist/retail/components/Fields/TotalIncomeField.js.map +0 -1
  709. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  710. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  711. package/mobile/lib/retail/components/Fields/ExpensesField.d.ts +0 -2
  712. package/mobile/lib/retail/components/Fields/ExpensesField.js +0 -5
  713. package/mobile/lib/retail/components/Fields/ExpensesField.js.map +0 -1
  714. package/mobile/lib/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  715. package/mobile/lib/retail/components/Fields/TotalIncomeField.js +0 -5
  716. package/mobile/lib/retail/components/Fields/TotalIncomeField.js.map +0 -1
  717. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.d.ts +0 -2
  718. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +0 -1
  719. package/mobile/src/retail/components/Fields/ExpensesField.tsx +0 -13
  720. package/mobile/src/retail/components/Fields/TotalIncomeField.tsx +0 -13
  721. package/src/retail/components/Fields/ExpensesField.tsx +0 -13
  722. package/src/retail/components/Fields/TotalIncomeField.tsx +0 -13
@@ -1014,7 +1014,7 @@
1014
1014
 
1015
1015
  function LeadServiceAPI() {
1016
1016
  async function send(body, isIndividualType = false) {
1017
- const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, serviceDirection, ...staticBody } = body;
1017
+ const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, innDadata, fullRegion, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, serviceDirection, partnerSymbolCode, companyNameByInn, ...staticBody } = body;
1018
1018
  const isNaturalPerson = isIndividualType && serviceDirection !== 'Юридическое лицо / ИП';
1019
1019
  const url = `${API_BASE_URI$1}${isNaturalPerson ? '/lead' : '/sendcorporatelead'}`;
1020
1020
  const submitBody = {
@@ -1032,6 +1032,7 @@
1032
1032
  applicationDate,
1033
1033
  ...getSecondaryPhone(secondaryPhone),
1034
1034
  }),
1035
+ ...formatPFForm(typeForm, { innDadata, fullRegion, partnerSymbolCode, companyNameByInn }),
1035
1036
  ...staticBody,
1036
1037
  };
1037
1038
  try {
@@ -1062,11 +1063,17 @@
1062
1063
  const getEmail = (email, isNaturalPerson = true) => ({
1063
1064
  [isNaturalPerson ? 'email' : 'mail']: email,
1064
1065
  });
1065
- const getSecondaryPhone = (secondaryPhone = '') => {
1066
- return !secondaryPhone || secondaryPhone === '+7 ('
1067
- ? {}
1068
- : { secondaryPhoneNumber: formatPhone(secondaryPhone) };
1069
- };
1066
+ const getSecondaryPhone = (secondaryPhone = '') => !secondaryPhone || secondaryPhone === '+7 ('
1067
+ ? {}
1068
+ : { secondaryPhoneNumber: formatPhone(secondaryPhone) };
1069
+ const formatPFForm = (typeForm, data) => typeForm === 'PF'
1070
+ ? {
1071
+ inn: data?.innDadata,
1072
+ region: data?.fullRegion,
1073
+ partnerComments: data?.partnerSymbolCode,
1074
+ fullname: data?.companyNameByInn,
1075
+ }
1076
+ : {};
1070
1077
 
1071
1078
  const handleAspects = async ({ aspectsAttributes, aspects, ev }) => {
1072
1079
  for (const { aspectName, params } of aspectsAttributes ?? []) {
@@ -1255,7 +1262,23 @@
1255
1262
  // TODO Базовая функицональность всех Control - надо вынести и привязать к required флагу
1256
1263
  const getRequiredLabel = ({ label, errors }) => label && errors ? `${label}*` : label;
1257
1264
 
1258
- const renderErrorText = (error) => (jsx("div", { className: "h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
1265
+ const renderErrorText = (error) => (jsx("div", { className: "min-h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
1266
+
1267
+ const debounce = (fn, delay = 600) => {
1268
+ let timerId;
1269
+ const debouncedCallback = (...args) => {
1270
+ debouncedCallback.dispose();
1271
+ timerId = setTimeout(() => {
1272
+ fn(...args);
1273
+ }, delay);
1274
+ };
1275
+ debouncedCallback.dispose = () => {
1276
+ if (timerId) {
1277
+ clearTimeout(timerId);
1278
+ }
1279
+ };
1280
+ return debouncedCallback;
1281
+ };
1259
1282
 
1260
1283
  const inputValidStyle = 'border border-solid outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text rounded';
1261
1284
 
@@ -1317,16 +1340,17 @@
1317
1340
  return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
1318
1341
  };
1319
1342
 
1320
- const SelectPopup = JSX(({ popupRef, options, value, query, onChange, iconVersion }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", ref: popupRef, children: filterOptions(options, query).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", "aria-selected": option.key === value?.key, onClick: (e) => {
1343
+ const SelectPopup = JSX(({ popupRef, options, value, query, onChange, iconVersion, onChangeQuery }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", ref: popupRef, children: filterOptions(options, query).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", "aria-selected": option.key === value?.key, onClick: (e) => {
1321
1344
  e.stopPropagation();
1322
1345
  if (onChange) {
1346
+ onChangeQuery?.('');
1323
1347
  onChange(option);
1324
1348
  }
1325
- }, children: [jsx("span", { className: "min-h-6", children: formatOption(option) }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", iconVersion: iconVersion, className: style('absolute right-4 pt-3xs', {
1349
+ }, children: [option?.innDaData ? (jsxs("span", { children: [jsx(Text, { size: "text-s", children: option?.innDaData?.companyName }), jsxs("div", { className: "space-x-2", children: [jsx(Text, { size: "text-s", font: "font-light", children: formatOption(option) }), jsx(Text, { size: "text-s", font: "font-light", children: option?.innDaData?.companyAddress })] })] })) : (jsx("span", { className: "min-h-6", children: formatOption(option) })), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", iconVersion: iconVersion, className: style('absolute right-4 pt-3xs', {
1326
1350
  hidden: option.key !== value?.key,
1327
1351
  }) })] }, option.key))) })) : null);
1328
1352
 
1329
- function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, }) {
1353
+ function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, onChangeQuery, }) {
1330
1354
  const popup = usePopupManager();
1331
1355
  const close = useCallback(() => {
1332
1356
  popup.close();
@@ -1335,6 +1359,7 @@
1335
1359
  const handleChange = useCallback((option) => {
1336
1360
  close();
1337
1361
  onChange && onChange(option);
1362
+ onChangeQuery && onChangeQuery('');
1338
1363
  }, [close, onChange]);
1339
1364
  const inputRef = useRef(null);
1340
1365
  const popupRef = useOutsideClick(close);
@@ -1345,7 +1370,7 @@
1345
1370
  const inputElement = inputRef.current;
1346
1371
  const { top, left, width, height } = inputElement.getBoundingClientRect();
1347
1372
  popup.open({
1348
- popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange, iconVersion: iconVersion })),
1373
+ popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange, iconVersion: iconVersion, onChangeQuery: onChangeQuery })),
1349
1374
  top: top + window.scrollY + height,
1350
1375
  left,
1351
1376
  width,
@@ -1354,19 +1379,26 @@
1354
1379
  return inputRef;
1355
1380
  }
1356
1381
 
1357
- const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, disabled = false, iconVersion = 'black', onChange, }) => {
1382
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery, }) => {
1358
1383
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
1359
1384
  const [query, setQuery] = useState('');
1360
- const isDisabled = getDisabled(disabled, options.length);
1385
+ const isDisabled = getDisabled(disabled, options.length, isManualInput);
1386
+ const isIconHidden = getIconHidden(isManualInput, options);
1361
1387
  const hasOpen = isOpen && !isDisabled;
1388
+ const debouncedOnSearchQuery = useMemo(() => onSearchQuery && getDebouncedSearchQuery(onSearchQuery), [onSearchQuery]);
1362
1389
  const handleOpen = useCallback(() => {
1363
1390
  if (isDisabled) {
1364
1391
  return;
1365
1392
  }
1366
1393
  open();
1367
1394
  }, [isDisabled]);
1395
+ const handleChangeQuery = (newQuery) => {
1396
+ setQuery(newQuery);
1397
+ setOption(newQuery, onChange);
1398
+ debouncedOnSearchQuery && debouncedOnSearchQuery(newQuery);
1399
+ };
1368
1400
  const handleClose = useCallback(() => {
1369
- setQuery('');
1401
+ !isManualInput && setQuery('');
1370
1402
  close();
1371
1403
  }, []);
1372
1404
  const inputRef = useSelectPopup({
@@ -1377,12 +1409,26 @@
1377
1409
  onChange,
1378
1410
  onClose: handleClose,
1379
1411
  iconVersion,
1412
+ onChangeQuery: setQuery,
1380
1413
  });
1381
- return (jsxs("div", { className: style('space-y-xs', className), children: [renderLabel$1(label), jsxs("div", { className: style('relative', hasOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('h-14 [&>*]:p-m pr-6 text-l flex items-center justify-between text-primary-text relative z-10 overflow-hidden', getStyle(isBorder, valid, isDisabled)), onClick: hasOpen ? handleClose : handleOpen, children: [jsx("p", { className: "line-clamp-2 text-ellipsis", children: formatOption(value) || placeholder }), renderIcon$2(hasOpen, iconVersion)] }), isSearch && hasOpen ? (jsx("div", { className: style('absolute top-0 w-full z-20'), children: jsx(Input, { type: "text", value: query, autoFocus: true, disabled: isDisabled, onChange: setQuery }) })) : null] })] }));
1414
+ return (jsxs("div", { className: style('space-y-xs', className), children: [renderLabel$1(label), jsxs("div", { className: style('relative', hasOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('h-14 [&>*]:p-m pr-6 text-l flex items-center justify-between text-primary-text relative z-10 overflow-hidden', getStyle(isBorder, valid, isDisabled)), onClick: hasOpen ? handleClose : handleOpen, children: [jsx("p", { className: "line-clamp-2 text-ellipsis", children: useRenderOptionText({ isManualInput, query, value, placeholder }) }), isIconHidden ? '' : renderIcon$2(hasOpen, iconVersion)] }), isSearch && hasOpen ? renderSearchInput(query, isDisabled, handleChangeQuery) : null] })] }));
1382
1415
  });
1416
+ const useRenderOptionText = (data) => useMemo(() => {
1417
+ if (data.isManualInput && data.query) {
1418
+ return data.query;
1419
+ }
1420
+ return formatOption(data.value) || data.placeholder;
1421
+ }, [data.isManualInput, data.query, data.value, data.placeholder]);
1422
+ const renderSearchInput = (query, isDisabled, onChangeQuery) => (jsx("div", { className: style('absolute top-0 w-full z-20'), children: jsx(Input, { type: "text", value: query, autoFocus: true, disabled: isDisabled, onChange: (value) => onChangeQuery(value) }) }));
1383
1423
  const renderIcon$2 = (isOpen, iconVersion) => (jsx(Icon, { className: style('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
1384
1424
  const getStyle = (isBorder, valid, disabled) => style(isBorder ? 'border rounded-md ' : '', isBorder && !disabled ? 'hover:border-primary-hover' : '', disabled ? 'bg-main-divider' : 'cursor-pointer ', valid ? 'border-gray' : 'border-error');
1385
- const getDisabled = (disabled, length) => disabled || length === 0;
1425
+ // TODO Нужен рефактор и декомпозиция компонента getDisabled, setOption, getIconHidden
1426
+ const getDisabled = (disabled, length, isManualInput) => disabled || (!isManualInput && length === 0);
1427
+ const setOption = (query, onChange) => {
1428
+ onChange && query.trim() !== '' && onChange({ key: query, text: query, innDaData: {} });
1429
+ };
1430
+ const getIconHidden = (isManualInput, options) => isManualInput && !options.length;
1431
+ const getDebouncedSearchQuery = (onSearchQuery) => debounce((searchValue) => onSearchQuery(searchValue), 300);
1386
1432
 
1387
1433
  const SelectControl = JSX(({ className = '', label, error, errors, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error, label: getRequiredLabel({ label, errors }) }), renderErrorText(error)] })));
1388
1434
 
@@ -1919,6 +1965,17 @@
1919
1965
 
1920
1966
  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 })));
1921
1967
 
1968
+ const CompanyNameByInnField = JSX(({ field, input }) => {
1969
+ const fieldInn = field('innDadata');
1970
+ useEffect(() => {
1971
+ if (fieldInn?.value?.key !== '') {
1972
+ const companyName = fieldInn?.value?.innDaData?.companyName;
1973
+ companyName && field?.('companyNameByInn')?.onChange?.(companyName);
1974
+ }
1975
+ }, [fieldInn?.value]);
1976
+ return (jsx(InputControl, { maxLength: 60, label: "\u041F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435", ...field(input?.name ?? ''), ...input }));
1977
+ });
1978
+
1922
1979
  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 ?? '') })));
1923
1980
 
1924
1981
  const EmailField$1 = JSX(({ field, input }) => {
@@ -1939,6 +1996,93 @@
1939
1996
 
1940
1997
  const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
1941
1998
 
1999
+ const FullRegionField = JSX(({ field, input, params }) => {
2000
+ const isPremium = params?.isPremium;
2001
+ const branchByRegions = useBranchesByRegions(isPremium);
2002
+ const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
2003
+ key: region,
2004
+ text: region,
2005
+ })), [branchByRegions]);
2006
+ 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 ?? '') }));
2007
+ });
2008
+
2009
+ function useAsyncEffect(effect, deps) {
2010
+ useEffect(() => {
2011
+ const free = effect();
2012
+ return () => {
2013
+ free.then((_) => {
2014
+ _ instanceof Function && _();
2015
+ });
2016
+ };
2017
+ }, deps);
2018
+ }
2019
+
2020
+ const DEFAULT_HINTS_COUNT = 10;
2021
+ const defaultResponseItemHandler = (item) => ({
2022
+ value: item?.value || '',
2023
+ });
2024
+ const getResponseHandler = (itemHandler, responseFilter) => (response) => {
2025
+ const responseData = response?.suggestions || [];
2026
+ const filteredData = responseFilter ? responseData.filter(responseFilter) : responseData;
2027
+ return filteredData.map((item) => {
2028
+ const data = itemHandler(item);
2029
+ return {
2030
+ ...item,
2031
+ processedValue: data.value,
2032
+ additionalValue: data.additionalValue,
2033
+ };
2034
+ });
2035
+ };
2036
+ const getDaDataHints = (options) => {
2037
+ const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, responseFilter, } = options;
2038
+ const responseHandler = getResponseHandler(responseItemHandler, responseFilter);
2039
+ const queryPrefixValue = queryPrefix ? `${queryPrefix}, ` : '';
2040
+ const combinedQuery = `${queryPrefixValue}${query}`;
2041
+ return globalThis
2042
+ ?.fetch?.(`/api/v1/suggestions/${url}`, {
2043
+ method: 'POST',
2044
+ mode: 'cors',
2045
+ headers: {
2046
+ 'Content-Type': 'application/json',
2047
+ },
2048
+ body: JSON.stringify({
2049
+ count: DEFAULT_HINTS_COUNT,
2050
+ ...requestData,
2051
+ query: combinedQuery,
2052
+ }),
2053
+ })
2054
+ .then((response) => response.json())
2055
+ .then(responseHandler);
2056
+ };
2057
+
2058
+ const INN_DADATA_URL = 'suggest/party';
2059
+ const useInn = async (searchQuery) => (await getDaDataHints({ url: INN_DADATA_URL, query: searchQuery })).map((_) => ({
2060
+ fullName: _?.value,
2061
+ address: _?.data?.address?.value,
2062
+ inn: _?.data?.inn,
2063
+ }));
2064
+
2065
+ const InnDadataField = JSX(({ field, input }) => {
2066
+ const [options, setOptions] = useState([]);
2067
+ const [searchQuery, setSearchQuery] = useState('');
2068
+ useAsyncEffect(async () => {
2069
+ const fieldInns = useInn(searchQuery);
2070
+ setOptions(await fieldInns);
2071
+ return options;
2072
+ }, [searchQuery]);
2073
+ const getOptions = useMemo(() => {
2074
+ return (options || []).map((item) => ({
2075
+ key: item?.inn ?? '',
2076
+ text: item?.inn,
2077
+ innDaData: {
2078
+ companyName: item?.fullName,
2079
+ companyAddress: item?.address,
2080
+ },
2081
+ }));
2082
+ }, [options]);
2083
+ return (jsx(SelectControl, { label: "\u0418\u041D\u041D", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0418\u041D\u041D", options: getOptions, ...field(input?.name ?? ''), isSearch: true, isManualInput: true, onSearchQuery: setSearchQuery }));
2084
+ });
2085
+
1942
2086
  const InnField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? '') })));
1943
2087
 
1944
2088
  const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
@@ -2013,6 +2157,19 @@
2013
2157
 
2014
2158
  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 })));
2015
2159
 
2160
+ const PartnerSymbolCodeField = UniBlock(({ field, input, source }) => {
2161
+ const agentsList = source?.agentsList;
2162
+ const { value: partnerCode } = field('partnerSymbolCode');
2163
+ const [symbolCodeError, setSymbolCodeError] = useState('');
2164
+ const isPartnerCodeExist = agentsList?.some((item) => item?.symbolCode === partnerCode);
2165
+ useEffect(() => {
2166
+ setSymbolCodeError(partnerCode && !isPartnerCodeExist
2167
+ ? 'ID партнера не найден. Обратитесь к своему менеджеру'
2168
+ : '');
2169
+ }, [partnerCode]);
2170
+ return (jsx(InputControl, { label: "\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043F\u0430\u0440\u0442\u043D\u0435\u0440\u0430", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? ''), error: symbolCodeError || field('partnerSymbolCode')?.error }));
2171
+ });
2172
+
2016
2173
  const isPlaceholder = (_) => _ === '_';
2017
2174
  const isDigit = (_) => /\d/.test(_);
2018
2175
  const isWildcard = (_) => isPlaceholder(_) || isDigit(_);
@@ -2066,15 +2223,6 @@
2066
2223
  return (jsx(SelectControl, { label: input?.label || 'Филиал', 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 ?? '') }));
2067
2224
  });
2068
2225
 
2069
- const RegionPremiumField = JSX(({ field, input }) => {
2070
- const branchByRegions = useBranchesByRegions(true);
2071
- const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
2072
- key: region,
2073
- text: region,
2074
- })), [branchByRegions]);
2075
- 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 ?? '') }));
2076
- });
2077
-
2078
2226
  const RepresentativeNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044F", ...input, ...field('representativeName') })));
2079
2227
 
2080
2228
  const withValidator = (props, validator) => {
@@ -2096,12 +2244,14 @@
2096
2244
  const defaultValidator = (errorMsg) => required(errorMsg ?? ERROR_MESSAGE$1);
2097
2245
  const defaultSelectValidator = (errorMsg) => validator((_) => _?.key && _?.key !== '')(errorMsg ?? ERROR_MESSAGE$1);
2098
2246
  const nameValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE$1);
2099
- const innValidator = (errorMsg) => validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(errorMsg);
2247
+ const innValidator = (errorMsg) => validator((_) => isValidInnLength(_))(errorMsg);
2248
+ const innDadataValidator = (errorMsg) => validator((_) => Boolean(_?.text) && isValidInnLength(_.text))(errorMsg);
2100
2249
  const phoneValidate = (email) => /^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/.test(email);
2101
2250
  const phoneValidator = (errorMsg) => validator(phoneValidate)(errorMsg);
2102
2251
  const agreementValidator = validator((_) => typeof _ === 'boolean' && _)('Согласие обязательно');
2103
2252
  const emailValidate = (email) => /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,4}$/.test(email);
2104
2253
  const emailValidator = (errorMsg) => validator((_) => emailValidate(_))(errorMsg);
2254
+ const isValidInnLength = (value) => typeof value === 'string' && (value.length === 10 || value.length === 12);
2105
2255
 
2106
2256
  const validatorObj$1 = {
2107
2257
  fullName: defaultValidator(),
@@ -2132,6 +2282,9 @@
2132
2282
  typeForm: defaultValidator(),
2133
2283
  consentToReceiveMaterials: agreementValidator,
2134
2284
  consentDataProcessing: agreementValidator,
2285
+ partnerSymbolCode: defaultValidator(),
2286
+ innDadata: innDadataValidator('Укажите ИНН'),
2287
+ companyNameByInn: defaultValidator(),
2135
2288
  };
2136
2289
  const getFormValidator = (fieldDefs, externalValidatorObj = {}) => {
2137
2290
  const requiredFields = fieldDefs.filter((_) => Boolean(_?.required && _?.name));
@@ -2227,6 +2380,9 @@
2227
2380
  const PRODUCT_REF = {
2228
2381
  $ref: '/wcms-resources/outservice-productlist.json',
2229
2382
  };
2383
+ const AGENTS_REF = {
2384
+ $ref: '/wcms-resources/agenty-dlya-rko.json',
2385
+ };
2230
2386
  const InputsMap$1 = {
2231
2387
  fullName: FullNameField,
2232
2388
  addressBranch: AddressBranchField,
@@ -2249,7 +2405,7 @@
2249
2405
  bankEmpolee: BankEmpoleeField,
2250
2406
  secondaryPhone: SecondaryPhoneField,
2251
2407
  applicationDate: ApplicationDateField,
2252
- region: (props) => getPremium(props?.params?.typeForm) ? (jsx(RegionPremiumField, { ...props })) : (jsx(RegionField, { ...props })),
2408
+ region: (props) => getPremium(props?.params?.typeForm) ? (jsx(FullRegionField, { ...props })) : (jsx(RegionField, { ...props })),
2253
2409
  consentToReceiveMaterials: ConsentToReceiveMaterialsField,
2254
2410
  sufferedFrom: SufferedFromField,
2255
2411
  situationDescription: SituationDescriptionField,
@@ -2263,6 +2419,10 @@
2263
2419
  email: EmailField$1,
2264
2420
  inn: InnField,
2265
2421
  comment: CommentField,
2422
+ fullRegion: FullRegionField,
2423
+ partnerSymbolCode: (props) => (jsx(PartnerSymbolCodeField, { ...props, source: AGENTS_REF })),
2424
+ innDadata: InnDadataField,
2425
+ companyNameByInn: CompanyNameByInnField,
2266
2426
  };
2267
2427
  const getField = (field, params, externalInputs = {}) => (input, i) => {
2268
2428
  const fieldsRegister = {
@@ -2273,7 +2433,7 @@
2273
2433
  return shouldRenderField({ input, field }) && Component ? (jsx("div", { children: jsx(Component, { field: field, input: input, params: params }) }, i)) : null;
2274
2434
  };
2275
2435
 
2276
- const inputColumnStyles = (column) => column === 2 ? '@xl:grid-cols-2' : '';
2436
+ const inputColumnStyles = (column) => column === 2 ? '@xl:grid-cols-2' : '@xl:grid-cols-1 gap-x-0';
2277
2437
 
2278
2438
  const renderTitle = (title) => title ? (jsx("div", { className: "@xl:text-center @xl:col-span-2 mb-m", children: jsx(Text, { size: "text-h6", children: title }) })) : null;
2279
2439
 
@@ -2423,7 +2583,7 @@
2423
2583
  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" })] })] })] }));
2424
2584
 
2425
2585
  const API = LeadServiceAPI();
2426
- const ApplicationForm = JSX(({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2586
+ const ApplicationForm = UniBlock(({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2427
2587
  const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
2428
2588
  const initialFormState = useMemo(() => getInitialFormState$2(inputs, typeForm), [inputs, typeForm]);
2429
2589
  const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
@@ -2443,8 +2603,9 @@
2443
2603
  onSubmit: handleSubmit,
2444
2604
  });
2445
2605
  const fieldName = getConsentDataProcessing(inputs)?.name;
2446
- 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] }));
2606
+ return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [jsxs("form", { onSubmit: onSubmit, children: [renderSections(sections, field, { typeForm, additionalParams }), renderAgreementSubmit(fieldName ? field('consentDataProcessing') : undefined, link, button)] }), isContacts ? renderContacts() : null] }));
2447
2607
  });
2608
+ const renderSections = (sections, field, { typeForm, additionalParams }) => sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), (_?.inputs || [])?.map(getField(field, { typeForm, ...additionalParams }))] }, `section-${i}`)));
2448
2609
 
2449
2610
  const NoConsentDialog = JSX(({ attempts, onClose = noop }) => {
2450
2611
  const navigator = locationNavigator();
@@ -2472,7 +2633,9 @@
2472
2633
  const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
2473
2634
  const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
2474
2635
  const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
2475
- const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
2636
+ const lengthStringValidator = (inputLength, errorMsg, isFixLength) => validator((_) => typeof _ === 'string' &&
2637
+ _.length >= 1 &&
2638
+ (isFixLength ? _.length === inputLength : _.length <= inputLength))(errorMsg ?? ERROR_MESSAGE);
2476
2639
  const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
2477
2640
  const today = new Date();
2478
2641
  const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
@@ -2488,23 +2651,14 @@
2488
2651
  return true;
2489
2652
  };
2490
2653
  const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
2491
- const passportValidator = (birthDate) => validator((_) => {
2492
- if (_ && birthDate) {
2493
- return (_.getTime() >=
2494
- new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()).getTime());
2495
- }
2496
- return false;
2497
- })('Укажите дату выдачи паспорта');
2654
+ const passportValidator = (birthDate) => validateDateFromBirth(14, birthDate)('Укажите дату выдачи паспорта');
2498
2655
  const deliveryDateValidator = (errorMsg) => validator((_) => _?.getTime() >= new Date().getTime())(errorMsg);
2499
- const notLaterDateValidator = (errorMsg) => validator((_) => _?.getTime() <= new Date().getTime())(errorMsg);
2500
- const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
2501
- const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
2502
2656
  const snilsValidate = (snils) => {
2503
- const snl = String(snils).replace(/[^0-9]+/g, '');
2504
- if (snl.length === 11) {
2657
+ const _snils = String(snils).replace(/[^0-9]+/g, '');
2658
+ if (_snils.length === 11 && _snils !== '00000000000') {
2505
2659
  let checksum = 0;
2506
2660
  for (let i = 0; i < 9; i++) {
2507
- checksum += parseInt(snl.charAt(i)) * (9 - i);
2661
+ checksum += parseInt(_snils.charAt(i)) * (9 - i);
2508
2662
  }
2509
2663
  if (checksum > 101) {
2510
2664
  checksum = checksum % 101;
@@ -2512,11 +2666,25 @@
2512
2666
  if (checksum === 100 || checksum === 101) {
2513
2667
  checksum = 0;
2514
2668
  }
2515
- return checksum === parseInt(snl.slice(9));
2669
+ return checksum === parseInt(_snils.slice(9));
2516
2670
  }
2517
2671
  return false;
2518
2672
  };
2519
2673
  const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
2674
+ const generalSeniorityValidator = (lastJobExperience) => validator((_) => typeof _ === 'string' &&
2675
+ /^[0-9]{1,2}$/g.test(_) &&
2676
+ (!lastJobExperience || Number(_) >= Number(lastJobExperience)))('Укажите количество лет стажа');
2677
+ const workBeginDateValidator = (birthDate) => validateDateFromBirth(18, birthDate)('Укажите дату заключения трудового договора');
2678
+ const dateRegistrationValidator = (birthDate) => validateDateFromBirth(0, birthDate)('Укажите дату регистрации');
2679
+ const validateDateFromBirth = (age, birthDate) => validator((_) => {
2680
+ if (_ && birthDate) {
2681
+ const currentDate = _.getTime();
2682
+ const minDate = new Date(birthDate?.getFullYear() + age, birthDate?.getMonth(), birthDate?.getDate()).getTime();
2683
+ const maxDate = new Date().getTime();
2684
+ return currentDate >= minDate && currentDate <= maxDate;
2685
+ }
2686
+ return false;
2687
+ });
2520
2688
 
2521
2689
  const limitedBirthdayValidationData = {
2522
2690
  credit: {
@@ -2526,7 +2694,8 @@
2526
2694
  },
2527
2695
  creditCard: {
2528
2696
  minAge: 21,
2529
- errorMessage: 'Допустимый возраст заёмщика - от 21 года',
2697
+ maxAge: 73,
2698
+ errorMessage: 'Допустимый возраст заёмщика - от 21 до 73 лет',
2530
2699
  },
2531
2700
  debitCard: {
2532
2701
  minAge: 18,
@@ -2559,11 +2728,9 @@
2559
2728
  organizationPhone: phoneValidator('Укажите номер телефона'),
2560
2729
  organizationName: defaultValidator('Укажите наименование организации'),
2561
2730
  legalForm: defaultValidator('Укажите ОПФ'),
2562
- generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
2563
2731
  lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
2564
2732
  experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
2565
2733
  jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
2566
- beginDate: notLaterDateValidator('Укажите дату заключения трудового договора'),
2567
2734
  addressFact: addressDaDataValidator(),
2568
2735
  addressRegistration: addressDaDataValidator(),
2569
2736
  addressRetail: defaultSelectValidator('Выберите адрес банка'),
@@ -2581,20 +2748,17 @@
2581
2748
  familyMembers: lengthStringValidator(2, 'Укажите количество членов семьи'),
2582
2749
  children: lengthStringValidator(2, 'Укажите количество детей'),
2583
2750
  dependents: lengthStringValidator(2, 'Укажите количество иждивенцев'),
2584
- totalIncome: lengthStringValidator(19, 'Укажите среднемесячный доход от основной зарплаты'),
2585
- expenses: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2586
2751
  snils: snilsValidator('Некорректный номер СНИЛС'),
2587
2752
  conscription: defaultValidator(),
2588
2753
  armyIdFlg: agreementValidator,
2589
- dulSerie: serieValidator('Укажите серию паспорта'),
2590
- dulNumber: numberValidator('Укажите номер паспорта'),
2591
- dulSubdivisionCode: numberValidator('Укажите код подразделения'),
2754
+ dulSerie: lengthStringValidator(4, 'Укажите серию паспорта', true),
2755
+ dulNumber: lengthStringValidator(6, 'Укажите номер паспорта', true),
2756
+ dulSubdivisionCode: lengthStringValidator(7, 'Укажите код подразделения', true),
2592
2757
  dulIssuedBy: defaultValidator('Укажите организацию, выдавшую паспорт'),
2593
- participantDateRegistration: notLaterDateValidator('Укажите дату регистрации'),
2594
2758
  retirementIncome: defaultValidator(),
2595
2759
  otherIncome: defaultValidator(),
2596
2760
  wages: defaultValidator(),
2597
- mandatoryPayments: defaultValidator(),
2761
+ mandatoryPayments: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2598
2762
  bankruptcyFlg: defaultValidator(),
2599
2763
  shareholderFlg: defaultValidator(),
2600
2764
  legalEntityName: defaultValidator(),
@@ -2776,56 +2940,6 @@
2776
2940
  return (jsxs("div", { className: "flex gap-lg items-center rounded-md bg-main-gray p-4xl", children: [jsxs("div", { className: "flex flex-col justify-around w-full", children: [jsx("p", { className: "mb-m text-xl", children: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0447\u0435\u0440\u0435\u0437 \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438" }), jsxs("ul", { className: "list-disc list-inside mb-4xl", children: [jsx("li", { children: "\u0412\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u044C \u043E\u0434\u043E\u0431\u0440\u0435\u043D\u0438\u044F \u0432\u044B\u0448\u0435" }), jsx("li", { children: "\u0411\u0435\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u043A \u043E \u0434\u043E\u0445\u043E\u0434\u0430\u0445 \u0438 \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435" }), jsx("li", { children: "\u0421 \u0437\u0430\u0449\u0438\u0442\u043E\u0439 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), jsx(Img, { className: "block mb-xl self-center @md:hidden", image: { icon: 'GosUslugiIcon', iconVersion: 'normal' }, height: "80", width: "80" }), jsx(Button, { type: "button", onClick: handleAuth, className: "w-full @md:w-fit", children: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C" })] }), jsx(Img, { className: "hidden @md:block", image: { icon: 'GosUslugiIcon', iconVersion: 'normal' }, height: "164" })] }));
2777
2941
  });
2778
2942
 
2779
- const debounce = (fn, delay = 600) => {
2780
- let timerId;
2781
- const debouncedCallback = (...args) => {
2782
- debouncedCallback.dispose();
2783
- timerId = setTimeout(() => {
2784
- fn(...args);
2785
- }, delay);
2786
- };
2787
- debouncedCallback.dispose = () => {
2788
- if (timerId) {
2789
- clearTimeout(timerId);
2790
- }
2791
- };
2792
- return debouncedCallback;
2793
- };
2794
-
2795
- const DEFAULT_HINTS_COUNT = 10;
2796
- const defaultResponseItemHandler = (item) => item?.value || '';
2797
- const getResponseHandler = (itemHandler) => (response) => {
2798
- const responseData = response?.suggestions || [];
2799
- return responseData.map((item) => {
2800
- const value = itemHandler(item);
2801
- return {
2802
- ...item,
2803
- processedValue: value,
2804
- };
2805
- });
2806
- };
2807
- const getDaDataHints = (options) => {
2808
- const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, } = options;
2809
- const responseHandler = getResponseHandler(responseItemHandler);
2810
- const queryPrefixValue = queryPrefix ? `${queryPrefix}, ` : '';
2811
- const combinedQuery = `${queryPrefixValue}${query}`;
2812
- return globalThis
2813
- ?.fetch?.(`/api/v1/suggestions/${url}`, {
2814
- method: 'POST',
2815
- mode: 'cors',
2816
- headers: {
2817
- 'Content-Type': 'application/json',
2818
- },
2819
- body: JSON.stringify({
2820
- count: DEFAULT_HINTS_COUNT,
2821
- ...requestData,
2822
- query: combinedQuery,
2823
- }),
2824
- })
2825
- .then((response) => response.json())
2826
- .then(responseHandler);
2827
- };
2828
-
2829
2943
  const NAME_HINTS_LIST_OPTIONS = {
2830
2944
  url: 'suggest/fio',
2831
2945
  requestData: {
@@ -2855,17 +2969,32 @@
2855
2969
  };
2856
2970
  const PASSPORT_CODE_HINTS_LIST_OPTIONS = {
2857
2971
  url: 'suggest/fms_unit',
2858
- responseItemHandler: (item) => item?.data?.code?.replace('-', '') || '',
2972
+ responseItemHandler: (item) => ({
2973
+ value: item?.data?.code || '',
2974
+ additionalValue: item?.data?.name,
2975
+ }),
2859
2976
  };
2860
2977
  const ORGANIZATION_NAME_HINTS_LIST_OPTIONS = {
2861
2978
  url: 'suggest/party',
2979
+ responseItemHandler: (item) => {
2980
+ const inn = item?.data?.inn;
2981
+ const address = item?.data?.address?.value || '';
2982
+ const additionalValue = address ? `${inn} ${address}` : inn;
2983
+ return {
2984
+ value: item?.value || '',
2985
+ additionalValue,
2986
+ };
2987
+ },
2862
2988
  };
2863
2989
  const ORGANIZATION_INN_HINTS_LIST_OPTIONS = {
2864
2990
  url: 'suggest/party',
2865
- responseItemHandler: (item) => item?.data?.inn || '',
2991
+ responseItemHandler: (item) => ({
2992
+ value: item?.data?.inn || '',
2993
+ }),
2866
2994
  };
2867
2995
  const ADDRESS_HINTS_LIST_OPTIONS = {
2868
2996
  url: 'suggest/address',
2997
+ responseFilter: (item) => Boolean(item?.data?.postal_code),
2869
2998
  };
2870
2999
  const hintsListsOptions = {
2871
3000
  name: NAME_HINTS_LIST_OPTIONS,
@@ -2905,9 +3034,9 @@
2905
3034
  container.addEventListener('keydown', onKeyDownHandler);
2906
3035
  return () => container.removeEventListener('keydown', onKeyDownHandler);
2907
3036
  }, [listItemActive]);
2908
- return (jsx("div", { className: "bg-white text-l overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsx("div", { className: style('flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative', {
3037
+ return (jsx("div", { className: "bg-white text-l overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsxs("div", { className: style('px-m py-xs cursor-pointer hover:bg-main-divider relative', {
2909
3038
  'bg-main-divider': listItemActive === key,
2910
- }), role: "listitem", onMouseDown: () => onChange(item), children: jsx("span", { className: "min-h-6", children: item.processedValue }) }, key.toString()))) }));
3039
+ }), role: "listitem", onMouseDown: () => onChange(item), children: [jsx("p", { children: item.processedValue }), item.additionalValue ? (jsx("p", { className: "text-xs text-secondary-text", children: item.additionalValue })) : null] }, key.toString()))) }));
2911
3040
  });
2912
3041
 
2913
3042
  // eslint-disable-next-line max-lines-per-function
@@ -2935,6 +3064,7 @@
2935
3064
  const result = await getDaDataHints({
2936
3065
  url: defaultHintsListOptions.url,
2937
3066
  responseItemHandler: defaultHintsListOptions.responseItemHandler,
3067
+ responseFilter: defaultHintsListOptions.responseFilter,
2938
3068
  requestData: {
2939
3069
  ...defaultHintsListOptions?.requestData,
2940
3070
  },
@@ -2967,7 +3097,7 @@
2967
3097
  return inputRef;
2968
3098
  }
2969
3099
 
2970
- const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, ...rest }) => {
3100
+ const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, type, ...rest }) => {
2971
3101
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
2972
3102
  const inputRef = useInputPopup({
2973
3103
  isOpen: isOpen && dadata,
@@ -2977,7 +3107,14 @@
2977
3107
  onChange,
2978
3108
  onDaDataChange,
2979
3109
  });
2980
- return (jsx(InputWrapper, { value: value, onChange: onChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
3110
+ const handleChange = useCallback((e) => {
3111
+ let formattedValue = e ?? '';
3112
+ if (type === 'number') {
3113
+ formattedValue = formattedValue.replace(/^0+(?=\d)/, '');
3114
+ }
3115
+ onChange?.(formattedValue);
3116
+ }, [onChange]);
3117
+ return (jsx(InputWrapper, { value: value, onChange: handleChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
2981
3118
  });
2982
3119
 
2983
3120
  const AddressField = JSX(({ field, input }) => {
@@ -3887,7 +4024,7 @@
3887
4024
 
3888
4025
  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, disabled: isEsiaAuthorize(field, input), maxDate: new Date() })));
3889
4026
 
3890
- const BirthPlaceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
4027
+ const BirthPlaceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", maxLength: 100, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
3891
4028
 
3892
4029
  const safeJsonParse = (data) => {
3893
4030
  try {
@@ -3942,9 +4079,9 @@
3942
4079
  });
3943
4080
  const isValidCardCategory = (cardTypes, selectedCardCategory) => cardTypes.some((cardType) => cardType.key === selectedCardCategory?.key);
3944
4081
 
3945
- const ChildrenField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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 })));
4082
+ const ChildrenField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, type: "number", ...field(input?.name ?? ''), ...input })));
3946
4083
 
3947
- const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", ...field(input?.name ?? ''), ...input })));
4084
+ const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", maxLength: 20, ...field(input?.name ?? ''), ...input })));
3948
4085
 
3949
4086
  const ConfirmationIncomeField = JSX(({ field, input }) => {
3950
4087
  const { data: confirmationIncome } = useLeadFormData('INCOME_CERT_UNITED');
@@ -4462,7 +4599,7 @@
4462
4599
  organizationName,
4463
4600
  };
4464
4601
  for (const fieldName in organizationData) {
4465
- organizationData[fieldName] && field?.(fieldName)?.onChange?.(organizationData[fieldName]);
4602
+ field?.(fieldName)?.onChange?.(organizationData[fieldName]);
4466
4603
  }
4467
4604
  };
4468
4605
  const getOrganizationRequisites = (item) => ({
@@ -4514,31 +4651,43 @@
4514
4651
  return (jsx(RadioButtonGroupControl, { label: "\u0412\u0440\u0435\u043C\u044F \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", className: "flex-row", items: deliveryTime, ...field(input?.name ?? '') }));
4515
4652
  });
4516
4653
 
4517
- const DependentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u043D\u044B\u0445 \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input })));
4654
+ const DependentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u043D\u044B\u0445 \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, type: "number", ...field(input?.name ?? ''), ...input })));
4518
4655
 
4519
4656
  const DulIssueDateField = JSX(({ field, input }) => {
4520
4657
  const birthDate = field('limitedBirthday')?.value;
4521
4658
  const startDulIssueDate = useMemo(() => new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()), [birthDate]);
4522
- return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input), minDate: startDulIssueDate }));
4659
+ return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input), minDate: startDulIssueDate, maxDate: new Date() }));
4523
4660
  });
4524
4661
 
4525
4662
  const DulIssuedByField = JSX(({ field, input }) => {
4526
4663
  const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
4527
4664
  const onDaDataChange = useCallback((item) => {
4528
- changeDulSubdivisionCode?.(item?.data?.code?.replace('-', ''));
4665
+ changeDulSubdivisionCode?.(item?.data?.code);
4529
4666
  }, []);
4530
- return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
4667
+ return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", maxLength: 200, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
4531
4668
  });
4532
4669
 
4533
4670
  const DulNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041D\u043E\u043C\u0435\u0440 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 6, ...field(input?.name ?? '') })));
4534
4671
 
4535
4672
  const DulSerieField = JSX(({ field, input }) => (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u0421\u0435\u0440\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 4, ...field(input?.name ?? '') })));
4536
4673
 
4674
+ const MAX_LENGTH$2 = 7;
4537
4675
  const DulSubdivisionCodeField = JSX(({ field, input }) => {
4538
4676
  const onDaDataChange = useCallback((item) => {
4539
4677
  field?.('dulIssuedBy')?.onChange?.(item?.data?.name);
4540
4678
  }, []);
4541
- return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), 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 }));
4679
+ const handleChange = useCallback((v) => {
4680
+ const formattedValue = v.replace(/[^\d-]/g, '');
4681
+ formattedValue.length <= MAX_LENGTH$2 &&
4682
+ field?.('dulSubdivisionCode')?.onChange?.(normalizeWithMask(formattedValue, '___-___'));
4683
+ }, []);
4684
+ useEffect(() => {
4685
+ const value = field?.('dulSubdivisionCode')?.value;
4686
+ if (value) {
4687
+ handleChange(value);
4688
+ }
4689
+ }, []);
4690
+ return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u043E\u0434 \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F", ...input, ...field(input?.name ?? ''), placeholder: "___-___", onChange: handleChange, onDaDataChange: onDaDataChange }));
4542
4691
  });
4543
4692
 
4544
4693
  const EducationField = JSX(({ field, input }) => {
@@ -4546,9 +4695,7 @@
4546
4695
  return (jsx(SelectField, { field: field, source: education, label: "\u041E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435", fieldName: "education", input: input }));
4547
4696
  });
4548
4697
 
4549
- const EmailField = JSX(({ field, input }) => {
4550
- return jsx(DaDataInputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
4551
- });
4698
+ const EmailField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", maxLength: 50, ...field(input?.name ?? ''), ...input })));
4552
4699
 
4553
4700
  const EmployerActivitiesField = JSX(({ field, input }) => {
4554
4701
  const { data } = useLeadFormData('ORGANIZATION_ACTIVITY_TYPE');
@@ -4577,21 +4724,19 @@
4577
4724
  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 }));
4578
4725
  });
4579
4726
 
4580
- const ExpensesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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 })));
4581
-
4582
4727
  const MAX_YEARS = 5;
4583
4728
  const MIN_YEARS = 0;
4584
4729
  const Experience5YearsField = JSX(({ field, input }) => {
4585
4730
  const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
4586
- return (jsx(DaDataInputControl, { 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, disabled: isEsiaAuthorize(field, input) }));
4731
+ return (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436 \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 \u043B\u0435\u0442", type: "number", ...field(input?.name ?? ''), ...input, onChange: onChange, disabled: isEsiaAuthorize(field, input) }));
4587
4732
  });
4588
4733
 
4589
4734
  const FamilyMembersField = JSX(({ field, input }) => {
4590
4735
  const { value, onChange } = field(input?.name ?? '');
4591
4736
  const familyStatusKey = field('familyStatus')?.value?.key;
4592
4737
  const adultsCount = familyStatusKey === 'MARRIED' ? 2 : 1;
4593
- const childrenCount = Number(field('children')?.value);
4594
- const dependentsCount = Number(field('dependents')?.value);
4738
+ const childrenCount = Number(field('children')?.value || 0);
4739
+ const dependentsCount = Number(field('dependents')?.value || 0);
4595
4740
  const totalCount = adultsCount + childrenCount + dependentsCount;
4596
4741
  useEffect(() => {
4597
4742
  onChange?.(totalCount);
@@ -4604,7 +4749,17 @@
4604
4749
  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 }));
4605
4750
  });
4606
4751
 
4607
- const GeneralSeniorityField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, disabled: isEsiaAuthorize(field, input) })));
4752
+ const GeneralSeniorityField = JSX(({ field, input }) => {
4753
+ const [errorDate, setErrorDate] = useState('');
4754
+ const lastJobExperience = Number(field('lastJobExperience')?.value);
4755
+ const currentDate = Number(field('generalSeniority')?.value);
4756
+ useEffect(() => {
4757
+ setErrorDate(currentDate && currentDate < lastJobExperience
4758
+ ? 'Укажите не меньше, чем число в поле «Стаж на последнем рабочем месте»'
4759
+ : '');
4760
+ }, [lastJobExperience, currentDate]);
4761
+ return (jsx(DaDataInputControl, { 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", isInteger: true, ...field(input?.name ?? ''), ...input, error: errorDate || field('generalSeniority')?.error, disabled: isEsiaAuthorize(field, input) }));
4762
+ });
4608
4763
 
4609
4764
  const HousingField = JSX(({ field, input }) => {
4610
4765
  const { data: housing } = useLeadFormData('HOUSE_TYPE');
@@ -4615,9 +4770,9 @@
4615
4770
 
4616
4771
  const InitiateBankruptcyFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u042F \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u044E \u0432 \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0438\u043D\u0438\u0446\u0438\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0435\u043B\u043E \u043E \u0431\u0430\u043D\u043A\u0440\u043E\u0442\u0441\u0442\u0432\u0435 \u0432 \u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0438 \u0441\u0435\u0431\u044F", ...field(input?.name ?? '') })));
4617
4772
 
4618
- const JobsNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, disabled: isEsiaAuthorize(field, input) })));
4773
+ const JobsNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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", type: "number", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
4619
4774
 
4620
- const LastJobExperienceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, disabled: isEsiaAuthorize(field, input) })));
4775
+ const LastJobExperienceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, isInteger: true, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
4621
4776
 
4622
4777
  const latinPattern = /^[\u0041-\u005A\u0061-\u007A\s]+$/u;
4623
4778
  const isLatin = (_ = '') => latinPattern.test(_);
@@ -4736,11 +4891,11 @@
4736
4891
  return (jsx(DaDataInputControl, { 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 }));
4737
4892
  });
4738
4893
 
4739
- const LegalFormField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u041F\u0424", placeholder: "\u041E\u041E\u041E, \u041F\u0410\u041E \u0438 \u0434\u0440.", ...field(input?.name ?? ''), ...input })));
4894
+ const LegalFormField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u041F\u0424", maxLength: 20, placeholder: "\u041E\u041E\u041E, \u041F\u0410\u041E \u0438 \u0434\u0440.", ...field(input?.name ?? ''), ...input })));
4740
4895
 
4741
4896
  const LimitedBirthdayField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input) })));
4742
4897
 
4743
- const MandatoryPaymentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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 })));
4898
+ const MandatoryPaymentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, type: "number", maxLength: 10, ...field(input?.name ?? ''), ...input })));
4744
4899
 
4745
4900
  const METHODS_OF_OBTAIN = [
4746
4901
  { id: 'office', text: 'В отделении Банка' },
@@ -4754,7 +4909,7 @@
4754
4909
  field('middleName')?.onChange?.(value);
4755
4910
  }
4756
4911
  }, [field]);
4757
- return (jsx(DaDataInputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4912
+ return (jsx(DaDataInputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4758
4913
  });
4759
4914
 
4760
4915
  const NameField = JSX(({ field, input }) => {
@@ -4763,7 +4918,7 @@
4763
4918
  field('name')?.onChange?.(value);
4764
4919
  }
4765
4920
  }, [field]);
4766
- return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4921
+ return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4767
4922
  });
4768
4923
 
4769
4924
  const OrganizationField = JSX(({ field, input }) => {
@@ -4797,17 +4952,6 @@
4797
4952
  return (jsx(DaDataInputControl, { 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 }));
4798
4953
  });
4799
4954
 
4800
- function useAsyncEffect(effect, deps) {
4801
- useEffect(() => {
4802
- const free = effect();
4803
- return () => {
4804
- free.then((_) => {
4805
- _ instanceof Function && _();
4806
- });
4807
- };
4808
- }, deps);
4809
- }
4810
-
4811
4955
  const getPaymentSystems = async (creditProgramId) => {
4812
4956
  const data = await fetchRetailJSON('/public-data/creditProgramConditions', 'POST', {
4813
4957
  creditProgramId,
@@ -4870,7 +5014,7 @@
4870
5014
  });
4871
5015
  const getCurrentProductSettings = (productType) => productType === 'debitCard' ? 'DEBIT_CARD_LEAD_PROCESS_SETTINGS' : 'CREDIT_LEAD_PROCESS_SETTINGS';
4872
5016
 
4873
- const RetirementIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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 })));
5017
+ const RetirementIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, type: "number", maxLength: 10, ...field(input?.name ?? ''), ...input })));
4874
5018
 
4875
5019
  const GENDERS = ['male', 'female'];
4876
5020
  const getGenderFromName = async (name) => {
@@ -4929,12 +5073,10 @@
4929
5073
  field('surname')?.onChange?.(value);
4930
5074
  }
4931
5075
  }, [field]);
4932
- return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
5076
+ return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4933
5077
  });
4934
5078
 
4935
- const TotalIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4936
-
4937
- const WagesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, disabled: isEsiaAuthorize(field, input) })));
5079
+ const WagesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { 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, type: "number", maxLength: 10, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
4938
5080
 
4939
5081
  const DELIVERY_CITIES_REF = {
4940
5082
  $ref: '/wcms-resources/delivery-cities-data.json',
@@ -4983,8 +5125,6 @@
4983
5125
  familyMembers: FamilyMembersField,
4984
5126
  children: ChildrenField,
4985
5127
  dependents: DependentsField,
4986
- totalIncome: TotalIncomeField,
4987
- expenses: ExpensesField,
4988
5128
  snils: SnilsField,
4989
5129
  conscription: ConscriptionField,
4990
5130
  armyIdFlg: ArmyIdFlgField,
@@ -5244,6 +5384,7 @@
5244
5384
  }
5245
5385
  };
5246
5386
 
5387
+ const TIME_TO_RESEND = 180;
5247
5388
  const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
5248
5389
  const sessionStore = useSessionStore();
5249
5390
  const attempts = sessionStore.smsCode?.attempts || 0;
@@ -5298,7 +5439,6 @@
5298
5439
  };
5299
5440
  const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
5300
5441
 
5301
- const TIME_TO_RESEND = 180;
5302
5442
  const CODE_LENGTH = 4;
5303
5443
  const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
5304
5444
  const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
@@ -7918,7 +8058,7 @@
7918
8058
  const dataValue = getValue(condition?.name);
7919
8059
  return _ !== (dataValue?.key ?? dataValue);
7920
8060
  });
7921
- const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && isSnilsRequired(getValue);
8061
+ const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && !getValue('snils') && isSnilsRequired(getValue);
7922
8062
  const isSnilsRequired = (getValue) => getValue('confirmationIncome')?.key !== 'PFR_CERTIFICATE';
7923
8063
 
7924
8064
  const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
@@ -7940,6 +8080,9 @@
7940
8080
  ...validatorObj,
7941
8081
  limitedBirthday: getLimitedBirthdayValidation(productType),
7942
8082
  dulIssueDate: passportValidator(formState.limitedBirthday),
8083
+ generalSeniority: generalSeniorityValidator(formState.lastJobExperience),
8084
+ beginDate: workBeginDateValidator(formState.limitedBirthday),
8085
+ participantDateRegistration: dateRegistrationValidator(formState.limitedBirthday),
7943
8086
  })(formState);
7944
8087
 
7945
8088
  const StepsNavigationButtons$1 = JSX(({ step, isSending, onPrevStep }) => {
@@ -8110,7 +8253,7 @@
8110
8253
  dulIssuedBy,
8111
8254
  dulNumber,
8112
8255
  dulSerie,
8113
- dulSubdivisionCode,
8256
+ dulSubdivisionCode: dulSubdivisionCode?.replace('-', ''),
8114
8257
  educationLevelCd: education,
8115
8258
  registrationDate: participantDateRegistration
8116
8259
  ? formatDate(participantDateRegistration, true)
@@ -10579,7 +10722,7 @@
10579
10722
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10580
10723
  });
10581
10724
 
10582
- const packageVersion = "0.14.875";
10725
+ const packageVersion = "0.14.877";
10583
10726
 
10584
10727
  exports.Blocks = Blocks;
10585
10728
  exports.ContentPage = ContentPage;