@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
@@ -1006,7 +1006,7 @@
1006
1006
 
1007
1007
  function LeadServiceAPI() {
1008
1008
  async function send(body, isIndividualType = false) {
1009
- const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, serviceDirection, ...staticBody } = body;
1009
+ const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, innDadata, fullRegion, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, serviceDirection, partnerSymbolCode, companyNameByInn, ...staticBody } = body;
1010
1010
  const isNaturalPerson = isIndividualType && serviceDirection !== 'Юридическое лицо / ИП';
1011
1011
  const url = `${API_BASE_URI$1}${isNaturalPerson ? '/lead' : '/sendcorporatelead'}`;
1012
1012
  const submitBody = {
@@ -1024,6 +1024,7 @@
1024
1024
  applicationDate,
1025
1025
  ...getSecondaryPhone(secondaryPhone),
1026
1026
  }),
1027
+ ...formatPFForm(typeForm, { innDadata, fullRegion, partnerSymbolCode, companyNameByInn }),
1027
1028
  ...staticBody,
1028
1029
  };
1029
1030
  try {
@@ -1054,11 +1055,17 @@
1054
1055
  const getEmail = (email, isNaturalPerson = true) => ({
1055
1056
  [isNaturalPerson ? 'email' : 'mail']: email,
1056
1057
  });
1057
- const getSecondaryPhone = (secondaryPhone = '') => {
1058
- return !secondaryPhone || secondaryPhone === '+7 ('
1059
- ? {}
1060
- : { secondaryPhoneNumber: formatPhone(secondaryPhone) };
1061
- };
1058
+ const getSecondaryPhone = (secondaryPhone = '') => !secondaryPhone || secondaryPhone === '+7 ('
1059
+ ? {}
1060
+ : { secondaryPhoneNumber: formatPhone(secondaryPhone) };
1061
+ const formatPFForm = (typeForm, data) => typeForm === 'PF'
1062
+ ? {
1063
+ inn: data?.innDadata,
1064
+ region: data?.fullRegion,
1065
+ partnerComments: data?.partnerSymbolCode,
1066
+ fullname: data?.companyNameByInn,
1067
+ }
1068
+ : {};
1062
1069
 
1063
1070
  const handleAspects = async ({ aspectsAttributes, aspects, ev }) => {
1064
1071
  for (const { aspectName, params } of aspectsAttributes ?? []) {
@@ -1247,7 +1254,23 @@
1247
1254
  // TODO Базовая функицональность всех Control - надо вынести и привязать к required флагу
1248
1255
  const getRequiredLabel = ({ label, errors }) => label && errors ? `${label}*` : label;
1249
1256
 
1250
- const renderErrorText = (error) => (jsx("div", { className: "h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
1257
+ 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 }));
1258
+
1259
+ const debounce = (fn, delay = 600) => {
1260
+ let timerId;
1261
+ const debouncedCallback = (...args) => {
1262
+ debouncedCallback.dispose();
1263
+ timerId = setTimeout(() => {
1264
+ fn(...args);
1265
+ }, delay);
1266
+ };
1267
+ debouncedCallback.dispose = () => {
1268
+ if (timerId) {
1269
+ clearTimeout(timerId);
1270
+ }
1271
+ };
1272
+ return debouncedCallback;
1273
+ };
1251
1274
 
1252
1275
  const inputValidStyle = 'border border-solid outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text rounded';
1253
1276
 
@@ -1309,16 +1332,17 @@
1309
1332
  return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
1310
1333
  };
1311
1334
 
1312
- 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) => {
1335
+ 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) => {
1313
1336
  e.stopPropagation();
1314
1337
  if (onChange) {
1338
+ onChangeQuery?.('');
1315
1339
  onChange(option);
1316
1340
  }
1317
- }, 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', {
1341
+ }, 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', {
1318
1342
  hidden: option.key !== value?.key,
1319
1343
  }) })] }, option.key))) })) : null);
1320
1344
 
1321
- function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, }) {
1345
+ function useSelectPopup({ isOpen, options, value, query, onChange, onClose, iconVersion, onChangeQuery, }) {
1322
1346
  const popup = usePopupManager();
1323
1347
  const close = useCallback(() => {
1324
1348
  popup.close();
@@ -1327,6 +1351,7 @@
1327
1351
  const handleChange = useCallback((option) => {
1328
1352
  close();
1329
1353
  onChange && onChange(option);
1354
+ onChangeQuery && onChangeQuery('');
1330
1355
  }, [close, onChange]);
1331
1356
  const inputRef = useRef(null);
1332
1357
  const popupRef = useOutsideClick(close);
@@ -1337,7 +1362,7 @@
1337
1362
  const inputElement = inputRef.current;
1338
1363
  const { top, left, width, height } = inputElement.getBoundingClientRect();
1339
1364
  popup.open({
1340
- popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange, iconVersion: iconVersion })),
1365
+ popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange, iconVersion: iconVersion, onChangeQuery: onChangeQuery })),
1341
1366
  top: top + window.scrollY + height,
1342
1367
  left,
1343
1368
  width,
@@ -1346,19 +1371,26 @@
1346
1371
  return inputRef;
1347
1372
  }
1348
1373
 
1349
- const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, disabled = false, iconVersion = 'black', onChange, }) => {
1374
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery, }) => {
1350
1375
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
1351
1376
  const [query, setQuery] = useState('');
1352
- const isDisabled = getDisabled(disabled, options.length);
1377
+ const isDisabled = getDisabled(disabled, options.length, isManualInput);
1378
+ const isIconHidden = getIconHidden(isManualInput, options);
1353
1379
  const hasOpen = isOpen && !isDisabled;
1380
+ const debouncedOnSearchQuery = useMemo(() => onSearchQuery && getDebouncedSearchQuery(onSearchQuery), [onSearchQuery]);
1354
1381
  const handleOpen = useCallback(() => {
1355
1382
  if (isDisabled) {
1356
1383
  return;
1357
1384
  }
1358
1385
  open();
1359
1386
  }, [isDisabled]);
1387
+ const handleChangeQuery = (newQuery) => {
1388
+ setQuery(newQuery);
1389
+ setOption(newQuery, onChange);
1390
+ debouncedOnSearchQuery && debouncedOnSearchQuery(newQuery);
1391
+ };
1360
1392
  const handleClose = useCallback(() => {
1361
- setQuery('');
1393
+ !isManualInput && setQuery('');
1362
1394
  close();
1363
1395
  }, []);
1364
1396
  const inputRef = useSelectPopup({
@@ -1369,12 +1401,26 @@
1369
1401
  onChange,
1370
1402
  onClose: handleClose,
1371
1403
  iconVersion,
1404
+ onChangeQuery: setQuery,
1372
1405
  });
1373
- 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$1(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] })] }));
1406
+ 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$1(hasOpen, iconVersion)] }), isSearch && hasOpen ? renderSearchInput(query, isDisabled, handleChangeQuery) : null] })] }));
1374
1407
  });
1408
+ const useRenderOptionText = (data) => useMemo(() => {
1409
+ if (data.isManualInput && data.query) {
1410
+ return data.query;
1411
+ }
1412
+ return formatOption(data.value) || data.placeholder;
1413
+ }, [data.isManualInput, data.query, data.value, data.placeholder]);
1414
+ 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) }) }));
1375
1415
  const renderIcon$1 = (isOpen, iconVersion) => (jsx(Icon, { className: style('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
1376
1416
  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');
1377
- const getDisabled = (disabled, length) => disabled || length === 0;
1417
+ // TODO Нужен рефактор и декомпозиция компонента getDisabled, setOption, getIconHidden
1418
+ const getDisabled = (disabled, length, isManualInput) => disabled || (!isManualInput && length === 0);
1419
+ const setOption = (query, onChange) => {
1420
+ onChange && query.trim() !== '' && onChange({ key: query, text: query, innDaData: {} });
1421
+ };
1422
+ const getIconHidden = (isManualInput, options) => isManualInput && !options.length;
1423
+ const getDebouncedSearchQuery = (onSearchQuery) => debounce((searchValue) => onSearchQuery(searchValue), 300);
1378
1424
 
1379
1425
  const SelectControl = JSX(({ className = '', label, error, errors, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error, label: getRequiredLabel({ label, errors }) }), renderErrorText(error)] })));
1380
1426
 
@@ -1911,6 +1957,17 @@
1911
1957
 
1912
1958
  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 })));
1913
1959
 
1960
+ const CompanyNameByInnField = JSX(({ field, input }) => {
1961
+ const fieldInn = field('innDadata');
1962
+ useEffect(() => {
1963
+ if (fieldInn?.value?.key !== '') {
1964
+ const companyName = fieldInn?.value?.innDaData?.companyName;
1965
+ companyName && field?.('companyNameByInn')?.onChange?.(companyName);
1966
+ }
1967
+ }, [fieldInn?.value]);
1968
+ 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 }));
1969
+ });
1970
+
1914
1971
  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 ?? '') })));
1915
1972
 
1916
1973
  const EmailField$1 = JSX(({ field, input }) => {
@@ -1931,6 +1988,93 @@
1931
1988
 
1932
1989
  const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
1933
1990
 
1991
+ const FullRegionField = JSX(({ field, input, params }) => {
1992
+ const isPremium = params?.isPremium;
1993
+ const branchByRegions = useBranchesByRegions(isPremium);
1994
+ const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
1995
+ key: region,
1996
+ text: region,
1997
+ })), [branchByRegions]);
1998
+ 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 ?? '') }));
1999
+ });
2000
+
2001
+ function useAsyncEffect(effect, deps) {
2002
+ useEffect(() => {
2003
+ const free = effect();
2004
+ return () => {
2005
+ free.then((_) => {
2006
+ _ instanceof Function && _();
2007
+ });
2008
+ };
2009
+ }, deps);
2010
+ }
2011
+
2012
+ const DEFAULT_HINTS_COUNT = 10;
2013
+ const defaultResponseItemHandler = (item) => ({
2014
+ value: item?.value || '',
2015
+ });
2016
+ const getResponseHandler = (itemHandler, responseFilter) => (response) => {
2017
+ const responseData = response?.suggestions || [];
2018
+ const filteredData = responseFilter ? responseData.filter(responseFilter) : responseData;
2019
+ return filteredData.map((item) => {
2020
+ const data = itemHandler(item);
2021
+ return {
2022
+ ...item,
2023
+ processedValue: data.value,
2024
+ additionalValue: data.additionalValue,
2025
+ };
2026
+ });
2027
+ };
2028
+ const getDaDataHints = (options) => {
2029
+ const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, responseFilter, } = options;
2030
+ const responseHandler = getResponseHandler(responseItemHandler, responseFilter);
2031
+ const queryPrefixValue = queryPrefix ? `${queryPrefix}, ` : '';
2032
+ const combinedQuery = `${queryPrefixValue}${query}`;
2033
+ return globalThis
2034
+ ?.fetch?.(`/api/v1/suggestions/${url}`, {
2035
+ method: 'POST',
2036
+ mode: 'cors',
2037
+ headers: {
2038
+ 'Content-Type': 'application/json',
2039
+ },
2040
+ body: JSON.stringify({
2041
+ count: DEFAULT_HINTS_COUNT,
2042
+ ...requestData,
2043
+ query: combinedQuery,
2044
+ }),
2045
+ })
2046
+ .then((response) => response.json())
2047
+ .then(responseHandler);
2048
+ };
2049
+
2050
+ const INN_DADATA_URL = 'suggest/party';
2051
+ const useInn = async (searchQuery) => (await getDaDataHints({ url: INN_DADATA_URL, query: searchQuery })).map((_) => ({
2052
+ fullName: _?.value,
2053
+ address: _?.data?.address?.value,
2054
+ inn: _?.data?.inn,
2055
+ }));
2056
+
2057
+ const InnDadataField = JSX(({ field, input }) => {
2058
+ const [options, setOptions] = useState([]);
2059
+ const [searchQuery, setSearchQuery] = useState('');
2060
+ useAsyncEffect(async () => {
2061
+ const fieldInns = useInn(searchQuery);
2062
+ setOptions(await fieldInns);
2063
+ return options;
2064
+ }, [searchQuery]);
2065
+ const getOptions = useMemo(() => {
2066
+ return (options || []).map((item) => ({
2067
+ key: item?.inn ?? '',
2068
+ text: item?.inn,
2069
+ innDaData: {
2070
+ companyName: item?.fullName,
2071
+ companyAddress: item?.address,
2072
+ },
2073
+ }));
2074
+ }, [options]);
2075
+ 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 }));
2076
+ });
2077
+
1934
2078
  const InnField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? '') })));
1935
2079
 
1936
2080
  const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
@@ -2005,6 +2149,19 @@
2005
2149
 
2006
2150
  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 })));
2007
2151
 
2152
+ const PartnerSymbolCodeField = UniBlock(({ field, input, source }) => {
2153
+ const agentsList = source?.agentsList;
2154
+ const { value: partnerCode } = field('partnerSymbolCode');
2155
+ const [symbolCodeError, setSymbolCodeError] = useState('');
2156
+ const isPartnerCodeExist = agentsList?.some((item) => item?.symbolCode === partnerCode);
2157
+ useEffect(() => {
2158
+ setSymbolCodeError(partnerCode && !isPartnerCodeExist
2159
+ ? 'ID партнера не найден. Обратитесь к своему менеджеру'
2160
+ : '');
2161
+ }, [partnerCode]);
2162
+ 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 }));
2163
+ });
2164
+
2008
2165
  const isPlaceholder = (_) => _ === '_';
2009
2166
  const isDigit = (_) => /\d/.test(_);
2010
2167
  const isWildcard = (_) => isPlaceholder(_) || isDigit(_);
@@ -2058,15 +2215,6 @@
2058
2215
  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 ?? '') }));
2059
2216
  });
2060
2217
 
2061
- const RegionPremiumField = JSX(({ field, input }) => {
2062
- const branchByRegions = useBranchesByRegions(true);
2063
- const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
2064
- key: region,
2065
- text: region,
2066
- })), [branchByRegions]);
2067
- 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 ?? '') }));
2068
- });
2069
-
2070
2218
  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') })));
2071
2219
 
2072
2220
  const withValidator = (props, validator) => {
@@ -2088,12 +2236,14 @@
2088
2236
  const defaultValidator = (errorMsg) => required(errorMsg ?? ERROR_MESSAGE$1);
2089
2237
  const defaultSelectValidator = (errorMsg) => validator((_) => _?.key && _?.key !== '')(errorMsg ?? ERROR_MESSAGE$1);
2090
2238
  const nameValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE$1);
2091
- const innValidator = (errorMsg) => validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(errorMsg);
2239
+ const innValidator = (errorMsg) => validator((_) => isValidInnLength(_))(errorMsg);
2240
+ const innDadataValidator = (errorMsg) => validator((_) => Boolean(_?.text) && isValidInnLength(_.text))(errorMsg);
2092
2241
  const phoneValidate = (email) => /^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/.test(email);
2093
2242
  const phoneValidator = (errorMsg) => validator(phoneValidate)(errorMsg);
2094
2243
  const agreementValidator = validator((_) => typeof _ === 'boolean' && _)('Согласие обязательно');
2095
2244
  const emailValidate = (email) => /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,4}$/.test(email);
2096
2245
  const emailValidator = (errorMsg) => validator((_) => emailValidate(_))(errorMsg);
2246
+ const isValidInnLength = (value) => typeof value === 'string' && (value.length === 10 || value.length === 12);
2097
2247
 
2098
2248
  const validatorObj$1 = {
2099
2249
  fullName: defaultValidator(),
@@ -2124,6 +2274,9 @@
2124
2274
  typeForm: defaultValidator(),
2125
2275
  consentToReceiveMaterials: agreementValidator,
2126
2276
  consentDataProcessing: agreementValidator,
2277
+ partnerSymbolCode: defaultValidator(),
2278
+ innDadata: innDadataValidator('Укажите ИНН'),
2279
+ companyNameByInn: defaultValidator(),
2127
2280
  };
2128
2281
  const getFormValidator = (fieldDefs, externalValidatorObj = {}) => {
2129
2282
  const requiredFields = fieldDefs.filter((_) => Boolean(_?.required && _?.name));
@@ -2219,6 +2372,9 @@
2219
2372
  const PRODUCT_REF = {
2220
2373
  $ref: '/wcms-resources/outservice-productlist.json',
2221
2374
  };
2375
+ const AGENTS_REF = {
2376
+ $ref: '/wcms-resources/agenty-dlya-rko.json',
2377
+ };
2222
2378
  const InputsMap$1 = {
2223
2379
  fullName: FullNameField,
2224
2380
  addressBranch: AddressBranchField,
@@ -2241,7 +2397,7 @@
2241
2397
  bankEmpolee: BankEmpoleeField,
2242
2398
  secondaryPhone: SecondaryPhoneField,
2243
2399
  applicationDate: ApplicationDateField,
2244
- region: (props) => getPremium(props?.params?.typeForm) ? (jsx(RegionPremiumField, { ...props })) : (jsx(RegionField, { ...props })),
2400
+ region: (props) => getPremium(props?.params?.typeForm) ? (jsx(FullRegionField, { ...props })) : (jsx(RegionField, { ...props })),
2245
2401
  consentToReceiveMaterials: ConsentToReceiveMaterialsField,
2246
2402
  sufferedFrom: SufferedFromField,
2247
2403
  situationDescription: SituationDescriptionField,
@@ -2255,6 +2411,10 @@
2255
2411
  email: EmailField$1,
2256
2412
  inn: InnField,
2257
2413
  comment: CommentField,
2414
+ fullRegion: FullRegionField,
2415
+ partnerSymbolCode: (props) => (jsx(PartnerSymbolCodeField, { ...props, source: AGENTS_REF })),
2416
+ innDadata: InnDadataField,
2417
+ companyNameByInn: CompanyNameByInnField,
2258
2418
  };
2259
2419
  const getField = (field, params, externalInputs = {}) => (input, i) => {
2260
2420
  const fieldsRegister = {
@@ -2265,7 +2425,7 @@
2265
2425
  return shouldRenderField({ input, field }) && Component ? (jsx("div", { children: jsx(Component, { field: field, input: input, params: params }) }, i)) : null;
2266
2426
  };
2267
2427
 
2268
- const inputColumnStyles = (column) => column === 2 ? '@xl:grid-cols-2' : '';
2428
+ const inputColumnStyles = (column) => column === 2 ? '@xl:grid-cols-2' : '@xl:grid-cols-1 gap-x-0';
2269
2429
 
2270
2430
  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;
2271
2431
 
@@ -2415,7 +2575,7 @@
2415
2575
  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" })] })] })] }));
2416
2576
 
2417
2577
  const API = LeadServiceAPI();
2418
- const ApplicationForm = JSX(({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2578
+ const ApplicationForm = UniBlock(({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2419
2579
  const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
2420
2580
  const initialFormState = useMemo(() => getInitialFormState$2(inputs, typeForm), [inputs, typeForm]);
2421
2581
  const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
@@ -2435,8 +2595,9 @@
2435
2595
  onSubmit: handleSubmit,
2436
2596
  });
2437
2597
  const fieldName = getConsentDataProcessing(inputs)?.name;
2438
- 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] }));
2598
+ 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] }));
2439
2599
  });
2600
+ 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}`)));
2440
2601
 
2441
2602
  const NoConsentDialog = JSX(({ attempts, onClose = noop }) => {
2442
2603
  const navigator = locationNavigator();
@@ -2464,7 +2625,9 @@
2464
2625
  const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
2465
2626
  const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
2466
2627
  const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
2467
- const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
2628
+ const lengthStringValidator = (inputLength, errorMsg, isFixLength) => validator((_) => typeof _ === 'string' &&
2629
+ _.length >= 1 &&
2630
+ (isFixLength ? _.length === inputLength : _.length <= inputLength))(errorMsg ?? ERROR_MESSAGE);
2468
2631
  const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
2469
2632
  const today = new Date();
2470
2633
  const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
@@ -2480,23 +2643,14 @@
2480
2643
  return true;
2481
2644
  };
2482
2645
  const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
2483
- const passportValidator = (birthDate) => validator((_) => {
2484
- if (_ && birthDate) {
2485
- return (_.getTime() >=
2486
- new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()).getTime());
2487
- }
2488
- return false;
2489
- })('Укажите дату выдачи паспорта');
2646
+ const passportValidator = (birthDate) => validateDateFromBirth(14, birthDate)('Укажите дату выдачи паспорта');
2490
2647
  const deliveryDateValidator = (errorMsg) => validator((_) => _?.getTime() >= new Date().getTime())(errorMsg);
2491
- const notLaterDateValidator = (errorMsg) => validator((_) => _?.getTime() <= new Date().getTime())(errorMsg);
2492
- const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
2493
- const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
2494
2648
  const snilsValidate = (snils) => {
2495
- const snl = String(snils).replace(/[^0-9]+/g, '');
2496
- if (snl.length === 11) {
2649
+ const _snils = String(snils).replace(/[^0-9]+/g, '');
2650
+ if (_snils.length === 11 && _snils !== '00000000000') {
2497
2651
  let checksum = 0;
2498
2652
  for (let i = 0; i < 9; i++) {
2499
- checksum += parseInt(snl.charAt(i)) * (9 - i);
2653
+ checksum += parseInt(_snils.charAt(i)) * (9 - i);
2500
2654
  }
2501
2655
  if (checksum > 101) {
2502
2656
  checksum = checksum % 101;
@@ -2504,11 +2658,25 @@
2504
2658
  if (checksum === 100 || checksum === 101) {
2505
2659
  checksum = 0;
2506
2660
  }
2507
- return checksum === parseInt(snl.slice(9));
2661
+ return checksum === parseInt(_snils.slice(9));
2508
2662
  }
2509
2663
  return false;
2510
2664
  };
2511
2665
  const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
2666
+ const generalSeniorityValidator = (lastJobExperience) => validator((_) => typeof _ === 'string' &&
2667
+ /^[0-9]{1,2}$/g.test(_) &&
2668
+ (!lastJobExperience || Number(_) >= Number(lastJobExperience)))('Укажите количество лет стажа');
2669
+ const workBeginDateValidator = (birthDate) => validateDateFromBirth(18, birthDate)('Укажите дату заключения трудового договора');
2670
+ const dateRegistrationValidator = (birthDate) => validateDateFromBirth(0, birthDate)('Укажите дату регистрации');
2671
+ const validateDateFromBirth = (age, birthDate) => validator((_) => {
2672
+ if (_ && birthDate) {
2673
+ const currentDate = _.getTime();
2674
+ const minDate = new Date(birthDate?.getFullYear() + age, birthDate?.getMonth(), birthDate?.getDate()).getTime();
2675
+ const maxDate = new Date().getTime();
2676
+ return currentDate >= minDate && currentDate <= maxDate;
2677
+ }
2678
+ return false;
2679
+ });
2512
2680
 
2513
2681
  const limitedBirthdayValidationData = {
2514
2682
  credit: {
@@ -2518,7 +2686,8 @@
2518
2686
  },
2519
2687
  creditCard: {
2520
2688
  minAge: 21,
2521
- errorMessage: 'Допустимый возраст заёмщика - от 21 года',
2689
+ maxAge: 73,
2690
+ errorMessage: 'Допустимый возраст заёмщика - от 21 до 73 лет',
2522
2691
  },
2523
2692
  debitCard: {
2524
2693
  minAge: 18,
@@ -2551,11 +2720,9 @@
2551
2720
  organizationPhone: phoneValidator('Укажите номер телефона'),
2552
2721
  organizationName: defaultValidator('Укажите наименование организации'),
2553
2722
  legalForm: defaultValidator('Укажите ОПФ'),
2554
- generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
2555
2723
  lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
2556
2724
  experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
2557
2725
  jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
2558
- beginDate: notLaterDateValidator('Укажите дату заключения трудового договора'),
2559
2726
  addressFact: addressDaDataValidator(),
2560
2727
  addressRegistration: addressDaDataValidator(),
2561
2728
  addressRetail: defaultSelectValidator('Выберите адрес банка'),
@@ -2573,20 +2740,17 @@
2573
2740
  familyMembers: lengthStringValidator(2, 'Укажите количество членов семьи'),
2574
2741
  children: lengthStringValidator(2, 'Укажите количество детей'),
2575
2742
  dependents: lengthStringValidator(2, 'Укажите количество иждивенцев'),
2576
- totalIncome: lengthStringValidator(19, 'Укажите среднемесячный доход от основной зарплаты'),
2577
- expenses: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2578
2743
  snils: snilsValidator('Некорректный номер СНИЛС'),
2579
2744
  conscription: defaultValidator(),
2580
2745
  armyIdFlg: agreementValidator,
2581
- dulSerie: serieValidator('Укажите серию паспорта'),
2582
- dulNumber: numberValidator('Укажите номер паспорта'),
2583
- dulSubdivisionCode: numberValidator('Укажите код подразделения'),
2746
+ dulSerie: lengthStringValidator(4, 'Укажите серию паспорта', true),
2747
+ dulNumber: lengthStringValidator(6, 'Укажите номер паспорта', true),
2748
+ dulSubdivisionCode: lengthStringValidator(7, 'Укажите код подразделения', true),
2584
2749
  dulIssuedBy: defaultValidator('Укажите организацию, выдавшую паспорт'),
2585
- participantDateRegistration: notLaterDateValidator('Укажите дату регистрации'),
2586
2750
  retirementIncome: defaultValidator(),
2587
2751
  otherIncome: defaultValidator(),
2588
2752
  wages: defaultValidator(),
2589
- mandatoryPayments: defaultValidator(),
2753
+ mandatoryPayments: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2590
2754
  bankruptcyFlg: defaultValidator(),
2591
2755
  shareholderFlg: defaultValidator(),
2592
2756
  legalEntityName: defaultValidator(),
@@ -2768,56 +2932,6 @@
2768
2932
  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" })] }));
2769
2933
  });
2770
2934
 
2771
- const debounce = (fn, delay = 600) => {
2772
- let timerId;
2773
- const debouncedCallback = (...args) => {
2774
- debouncedCallback.dispose();
2775
- timerId = setTimeout(() => {
2776
- fn(...args);
2777
- }, delay);
2778
- };
2779
- debouncedCallback.dispose = () => {
2780
- if (timerId) {
2781
- clearTimeout(timerId);
2782
- }
2783
- };
2784
- return debouncedCallback;
2785
- };
2786
-
2787
- const DEFAULT_HINTS_COUNT = 10;
2788
- const defaultResponseItemHandler = (item) => item?.value || '';
2789
- const getResponseHandler = (itemHandler) => (response) => {
2790
- const responseData = response?.suggestions || [];
2791
- return responseData.map((item) => {
2792
- const value = itemHandler(item);
2793
- return {
2794
- ...item,
2795
- processedValue: value,
2796
- };
2797
- });
2798
- };
2799
- const getDaDataHints = (options) => {
2800
- const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, } = options;
2801
- const responseHandler = getResponseHandler(responseItemHandler);
2802
- const queryPrefixValue = queryPrefix ? `${queryPrefix}, ` : '';
2803
- const combinedQuery = `${queryPrefixValue}${query}`;
2804
- return globalThis
2805
- ?.fetch?.(`/api/v1/suggestions/${url}`, {
2806
- method: 'POST',
2807
- mode: 'cors',
2808
- headers: {
2809
- 'Content-Type': 'application/json',
2810
- },
2811
- body: JSON.stringify({
2812
- count: DEFAULT_HINTS_COUNT,
2813
- ...requestData,
2814
- query: combinedQuery,
2815
- }),
2816
- })
2817
- .then((response) => response.json())
2818
- .then(responseHandler);
2819
- };
2820
-
2821
2935
  const NAME_HINTS_LIST_OPTIONS = {
2822
2936
  url: 'suggest/fio',
2823
2937
  requestData: {
@@ -2847,17 +2961,32 @@
2847
2961
  };
2848
2962
  const PASSPORT_CODE_HINTS_LIST_OPTIONS = {
2849
2963
  url: 'suggest/fms_unit',
2850
- responseItemHandler: (item) => item?.data?.code?.replace('-', '') || '',
2964
+ responseItemHandler: (item) => ({
2965
+ value: item?.data?.code || '',
2966
+ additionalValue: item?.data?.name,
2967
+ }),
2851
2968
  };
2852
2969
  const ORGANIZATION_NAME_HINTS_LIST_OPTIONS = {
2853
2970
  url: 'suggest/party',
2971
+ responseItemHandler: (item) => {
2972
+ const inn = item?.data?.inn;
2973
+ const address = item?.data?.address?.value || '';
2974
+ const additionalValue = address ? `${inn} ${address}` : inn;
2975
+ return {
2976
+ value: item?.value || '',
2977
+ additionalValue,
2978
+ };
2979
+ },
2854
2980
  };
2855
2981
  const ORGANIZATION_INN_HINTS_LIST_OPTIONS = {
2856
2982
  url: 'suggest/party',
2857
- responseItemHandler: (item) => item?.data?.inn || '',
2983
+ responseItemHandler: (item) => ({
2984
+ value: item?.data?.inn || '',
2985
+ }),
2858
2986
  };
2859
2987
  const ADDRESS_HINTS_LIST_OPTIONS = {
2860
2988
  url: 'suggest/address',
2989
+ responseFilter: (item) => Boolean(item?.data?.postal_code),
2861
2990
  };
2862
2991
  const hintsListsOptions = {
2863
2992
  name: NAME_HINTS_LIST_OPTIONS,
@@ -2897,9 +3026,9 @@
2897
3026
  container.addEventListener('keydown', onKeyDownHandler);
2898
3027
  return () => container.removeEventListener('keydown', onKeyDownHandler);
2899
3028
  }, [listItemActive]);
2900
- 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', {
3029
+ 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', {
2901
3030
  'bg-main-divider': listItemActive === key,
2902
- }), role: "listitem", onMouseDown: () => onChange(item), children: jsx("span", { className: "min-h-6", children: item.processedValue }) }, key.toString()))) }));
3031
+ }), 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()))) }));
2903
3032
  });
2904
3033
 
2905
3034
  // eslint-disable-next-line max-lines-per-function
@@ -2927,6 +3056,7 @@
2927
3056
  const result = await getDaDataHints({
2928
3057
  url: defaultHintsListOptions.url,
2929
3058
  responseItemHandler: defaultHintsListOptions.responseItemHandler,
3059
+ responseFilter: defaultHintsListOptions.responseFilter,
2930
3060
  requestData: {
2931
3061
  ...defaultHintsListOptions?.requestData,
2932
3062
  },
@@ -2959,7 +3089,7 @@
2959
3089
  return inputRef;
2960
3090
  }
2961
3091
 
2962
- const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, ...rest }) => {
3092
+ const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, type, ...rest }) => {
2963
3093
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
2964
3094
  const inputRef = useInputPopup({
2965
3095
  isOpen: isOpen && dadata,
@@ -2969,7 +3099,14 @@
2969
3099
  onChange,
2970
3100
  onDaDataChange,
2971
3101
  });
2972
- return (jsx(InputWrapper, { value: value, onChange: onChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
3102
+ const handleChange = useCallback((e) => {
3103
+ let formattedValue = e ?? '';
3104
+ if (type === 'number') {
3105
+ formattedValue = formattedValue.replace(/^0+(?=\d)/, '');
3106
+ }
3107
+ onChange?.(formattedValue);
3108
+ }, [onChange]);
3109
+ return (jsx(InputWrapper, { value: value, onChange: handleChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
2973
3110
  });
2974
3111
 
2975
3112
  const AddressField = JSX(({ field, input }) => {
@@ -3879,7 +4016,7 @@
3879
4016
 
3880
4017
  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() })));
3881
4018
 
3882
- 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) })));
4019
+ 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) })));
3883
4020
 
3884
4021
  const safeJsonParse = (data) => {
3885
4022
  try {
@@ -3934,9 +4071,9 @@
3934
4071
  });
3935
4072
  const isValidCardCategory = (cardTypes, selectedCardCategory) => cardTypes.some((cardType) => cardType.key === selectedCardCategory?.key);
3936
4073
 
3937
- 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 })));
4074
+ 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 })));
3938
4075
 
3939
- const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", ...field(input?.name ?? ''), ...input })));
4076
+ 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 })));
3940
4077
 
3941
4078
  const ConfirmationIncomeField = JSX(({ field, input }) => {
3942
4079
  const { data: confirmationIncome } = useLeadFormData('INCOME_CERT_UNITED');
@@ -4454,7 +4591,7 @@
4454
4591
  organizationName,
4455
4592
  };
4456
4593
  for (const fieldName in organizationData) {
4457
- organizationData[fieldName] && field?.(fieldName)?.onChange?.(organizationData[fieldName]);
4594
+ field?.(fieldName)?.onChange?.(organizationData[fieldName]);
4458
4595
  }
4459
4596
  };
4460
4597
  const getOrganizationRequisites = (item) => ({
@@ -4506,31 +4643,43 @@
4506
4643
  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 ?? '') }));
4507
4644
  });
4508
4645
 
4509
- 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 })));
4646
+ 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 })));
4510
4647
 
4511
4648
  const DulIssueDateField = JSX(({ field, input }) => {
4512
4649
  const birthDate = field('limitedBirthday')?.value;
4513
4650
  const startDulIssueDate = useMemo(() => new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()), [birthDate]);
4514
- return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input), minDate: startDulIssueDate }));
4651
+ 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() }));
4515
4652
  });
4516
4653
 
4517
4654
  const DulIssuedByField = JSX(({ field, input }) => {
4518
4655
  const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
4519
4656
  const onDaDataChange = useCallback((item) => {
4520
- changeDulSubdivisionCode?.(item?.data?.code?.replace('-', ''));
4657
+ changeDulSubdivisionCode?.(item?.data?.code);
4521
4658
  }, []);
4522
- return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
4659
+ 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 }));
4523
4660
  });
4524
4661
 
4525
4662
  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 ?? '') })));
4526
4663
 
4527
4664
  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 ?? '') })));
4528
4665
 
4666
+ const MAX_LENGTH$2 = 7;
4529
4667
  const DulSubdivisionCodeField = JSX(({ field, input }) => {
4530
4668
  const onDaDataChange = useCallback((item) => {
4531
4669
  field?.('dulIssuedBy')?.onChange?.(item?.data?.name);
4532
4670
  }, []);
4533
- 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 }));
4671
+ const handleChange = useCallback((v) => {
4672
+ const formattedValue = v.replace(/[^\d-]/g, '');
4673
+ formattedValue.length <= MAX_LENGTH$2 &&
4674
+ field?.('dulSubdivisionCode')?.onChange?.(normalizeWithMask(formattedValue, '___-___'));
4675
+ }, []);
4676
+ useEffect(() => {
4677
+ const value = field?.('dulSubdivisionCode')?.value;
4678
+ if (value) {
4679
+ handleChange(value);
4680
+ }
4681
+ }, []);
4682
+ 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 }));
4534
4683
  });
4535
4684
 
4536
4685
  const EducationField = JSX(({ field, input }) => {
@@ -4538,9 +4687,7 @@
4538
4687
  return (jsx(SelectField, { field: field, source: education, label: "\u041E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435", fieldName: "education", input: input }));
4539
4688
  });
4540
4689
 
4541
- const EmailField = JSX(({ field, input }) => {
4542
- return jsx(DaDataInputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
4543
- });
4690
+ 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 })));
4544
4691
 
4545
4692
  const EmployerActivitiesField = JSX(({ field, input }) => {
4546
4693
  const { data } = useLeadFormData('ORGANIZATION_ACTIVITY_TYPE');
@@ -4569,21 +4716,19 @@
4569
4716
  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 }));
4570
4717
  });
4571
4718
 
4572
- 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 })));
4573
-
4574
4719
  const MAX_YEARS = 5;
4575
4720
  const MIN_YEARS = 0;
4576
4721
  const Experience5YearsField = JSX(({ field, input }) => {
4577
4722
  const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
4578
- 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) }));
4723
+ 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) }));
4579
4724
  });
4580
4725
 
4581
4726
  const FamilyMembersField = JSX(({ field, input }) => {
4582
4727
  const { value, onChange } = field(input?.name ?? '');
4583
4728
  const familyStatusKey = field('familyStatus')?.value?.key;
4584
4729
  const adultsCount = familyStatusKey === 'MARRIED' ? 2 : 1;
4585
- const childrenCount = Number(field('children')?.value);
4586
- const dependentsCount = Number(field('dependents')?.value);
4730
+ const childrenCount = Number(field('children')?.value || 0);
4731
+ const dependentsCount = Number(field('dependents')?.value || 0);
4587
4732
  const totalCount = adultsCount + childrenCount + dependentsCount;
4588
4733
  useEffect(() => {
4589
4734
  onChange?.(totalCount);
@@ -4596,7 +4741,17 @@
4596
4741
  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 }));
4597
4742
  });
4598
4743
 
4599
- 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) })));
4744
+ const GeneralSeniorityField = JSX(({ field, input }) => {
4745
+ const [errorDate, setErrorDate] = useState('');
4746
+ const lastJobExperience = Number(field('lastJobExperience')?.value);
4747
+ const currentDate = Number(field('generalSeniority')?.value);
4748
+ useEffect(() => {
4749
+ setErrorDate(currentDate && currentDate < lastJobExperience
4750
+ ? 'Укажите не меньше, чем число в поле «Стаж на последнем рабочем месте»'
4751
+ : '');
4752
+ }, [lastJobExperience, currentDate]);
4753
+ 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) }));
4754
+ });
4600
4755
 
4601
4756
  const HousingField = JSX(({ field, input }) => {
4602
4757
  const { data: housing } = useLeadFormData('HOUSE_TYPE');
@@ -4607,9 +4762,9 @@
4607
4762
 
4608
4763
  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 ?? '') })));
4609
4764
 
4610
- 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) })));
4765
+ 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) })));
4611
4766
 
4612
- 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) })));
4767
+ 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) })));
4613
4768
 
4614
4769
  const latinPattern = /^[\u0041-\u005A\u0061-\u007A\s]+$/u;
4615
4770
  const isLatin = (_ = '') => latinPattern.test(_);
@@ -4728,11 +4883,11 @@
4728
4883
  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 }));
4729
4884
  });
4730
4885
 
4731
- 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 })));
4886
+ 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 })));
4732
4887
 
4733
4888
  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) })));
4734
4889
 
4735
- 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 })));
4890
+ 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 })));
4736
4891
 
4737
4892
  const METHODS_OF_OBTAIN = [
4738
4893
  { id: 'office', text: 'В отделении Банка' },
@@ -4746,7 +4901,7 @@
4746
4901
  field('middleName')?.onChange?.(value);
4747
4902
  }
4748
4903
  }, [field]);
4749
- 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 }));
4904
+ 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 }));
4750
4905
  });
4751
4906
 
4752
4907
  const NameField = JSX(({ field, input }) => {
@@ -4755,7 +4910,7 @@
4755
4910
  field('name')?.onChange?.(value);
4756
4911
  }
4757
4912
  }, [field]);
4758
- return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4913
+ return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4759
4914
  });
4760
4915
 
4761
4916
  const OrganizationField = JSX(({ field, input }) => {
@@ -4789,17 +4944,6 @@
4789
4944
  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 }));
4790
4945
  });
4791
4946
 
4792
- function useAsyncEffect(effect, deps) {
4793
- useEffect(() => {
4794
- const free = effect();
4795
- return () => {
4796
- free.then((_) => {
4797
- _ instanceof Function && _();
4798
- });
4799
- };
4800
- }, deps);
4801
- }
4802
-
4803
4947
  const getPaymentSystems = async (creditProgramId) => {
4804
4948
  const data = await fetchRetailJSON('/public-data/creditProgramConditions', 'POST', {
4805
4949
  creditProgramId,
@@ -4862,7 +5006,7 @@
4862
5006
  });
4863
5007
  const getCurrentProductSettings = (productType) => productType === 'debitCard' ? 'DEBIT_CARD_LEAD_PROCESS_SETTINGS' : 'CREDIT_LEAD_PROCESS_SETTINGS';
4864
5008
 
4865
- 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 })));
5009
+ 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 })));
4866
5010
 
4867
5011
  const GENDERS = ['male', 'female'];
4868
5012
  const getGenderFromName = async (name) => {
@@ -4921,12 +5065,10 @@
4921
5065
  field('surname')?.onChange?.(value);
4922
5066
  }
4923
5067
  }, [field]);
4924
- return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
5068
+ return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4925
5069
  });
4926
5070
 
4927
- 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 })));
4928
-
4929
- 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) })));
5071
+ 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) })));
4930
5072
 
4931
5073
  const DELIVERY_CITIES_REF = {
4932
5074
  $ref: '/wcms-resources/delivery-cities-data.json',
@@ -4975,8 +5117,6 @@
4975
5117
  familyMembers: FamilyMembersField,
4976
5118
  children: ChildrenField,
4977
5119
  dependents: DependentsField,
4978
- totalIncome: TotalIncomeField,
4979
- expenses: ExpensesField,
4980
5120
  snils: SnilsField,
4981
5121
  conscription: ConscriptionField,
4982
5122
  armyIdFlg: ArmyIdFlgField,
@@ -5236,6 +5376,7 @@
5236
5376
  }
5237
5377
  };
5238
5378
 
5379
+ const TIME_TO_RESEND = 180;
5239
5380
  const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
5240
5381
  const sessionStore = useSessionStore();
5241
5382
  const attempts = sessionStore.smsCode?.attempts || 0;
@@ -5290,7 +5431,6 @@
5290
5431
  };
5291
5432
  const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
5292
5433
 
5293
- const TIME_TO_RESEND = 180;
5294
5434
  const CODE_LENGTH = 4;
5295
5435
  const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
5296
5436
  const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
@@ -7926,7 +8066,7 @@
7926
8066
  const dataValue = getValue(condition?.name);
7927
8067
  return _ !== (dataValue?.key ?? dataValue);
7928
8068
  });
7929
- const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && isSnilsRequired(getValue);
8069
+ const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && !getValue('snils') && isSnilsRequired(getValue);
7930
8070
  const isSnilsRequired = (getValue) => getValue('confirmationIncome')?.key !== 'PFR_CERTIFICATE';
7931
8071
 
7932
8072
  const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
@@ -7948,6 +8088,9 @@
7948
8088
  ...validatorObj,
7949
8089
  limitedBirthday: getLimitedBirthdayValidation(productType),
7950
8090
  dulIssueDate: passportValidator(formState.limitedBirthday),
8091
+ generalSeniority: generalSeniorityValidator(formState.lastJobExperience),
8092
+ beginDate: workBeginDateValidator(formState.limitedBirthday),
8093
+ participantDateRegistration: dateRegistrationValidator(formState.limitedBirthday),
7951
8094
  })(formState);
7952
8095
 
7953
8096
  const StepsNavigationButtons$2 = JSX(({ step, isSending, onPrevStep }) => {
@@ -8118,7 +8261,7 @@
8118
8261
  dulIssuedBy,
8119
8262
  dulNumber,
8120
8263
  dulSerie,
8121
- dulSubdivisionCode,
8264
+ dulSubdivisionCode: dulSubdivisionCode?.replace('-', ''),
8122
8265
  educationLevelCd: education,
8123
8266
  registrationDate: participantDateRegistration
8124
8267
  ? formatDate(participantDateRegistration, true)
@@ -11211,7 +11354,7 @@
11211
11354
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
11212
11355
  });
11213
11356
 
11214
- const packageVersion = "0.14.875";
11357
+ const packageVersion = "0.14.877";
11215
11358
 
11216
11359
  exports.Blocks = Blocks;
11217
11360
  exports.ContentPage = ContentPage;