@redneckz/wildless-cms-uni-blocks 0.14.877 → 0.14.879

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 (566) hide show
  1. package/bundle/bundle.umd.js +141 -90
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  4. package/bundle/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  5. package/bundle/retail/api/updateUserTask.d.ts +2 -0
  6. package/bundle/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
  7. package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  8. package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  9. package/bundle/retail/inputs.d.ts +0 -2
  10. package/bundle/retail/model/LeadFormState.d.ts +0 -2
  11. package/bundle/retail/model/NameFieldDef.d.ts +1 -1
  12. package/bundle/retail/validator/validators.d.ts +5 -3
  13. package/bundle/ui-kit/Loader/Loader.d.ts +1 -1
  14. package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
  15. package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  16. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
  17. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  18. package/dist/components/Blocks.mobile.js +2 -0
  19. package/dist/components/Blocks.mobile.js.map +1 -1
  20. package/dist/components/DebitForm/getDebitCardFormTaskData.js +1 -0
  21. package/dist/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
  22. package/dist/retail/adaptors/getPersonalInfoData.js +1 -1
  23. package/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
  24. package/dist/retail/api/dadataHints/dadataHints.js +11 -7
  25. package/dist/retail/api/dadataHints/dadataHints.js.map +1 -1
  26. package/dist/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  27. package/dist/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  28. package/dist/retail/api/dadataHints/hintsListsOptions.js +17 -2
  29. package/dist/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  30. package/dist/retail/api/esiaRequestProfile.js +1 -5
  31. package/dist/retail/api/esiaRequestProfile.js.map +1 -1
  32. package/dist/retail/api/updateUserTask.d.ts +2 -0
  33. package/dist/retail/api/updateUserTask.js.map +1 -1
  34. package/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
  35. package/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
  36. package/dist/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  37. package/dist/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  38. package/dist/retail/components/DaDataInputControl/InputPopup.js +2 -2
  39. package/dist/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  40. package/dist/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  41. package/dist/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  42. package/dist/retail/components/DocumentDialog/DocumentDialog.js +1 -1
  43. package/dist/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
  44. package/dist/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
  45. package/dist/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
  46. package/dist/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
  47. package/dist/retail/components/Fields/BirthPlaceField.js +1 -1
  48. package/dist/retail/components/Fields/BirthPlaceField.js.map +1 -1
  49. package/dist/retail/components/Fields/ChildrenField.js +1 -1
  50. package/dist/retail/components/Fields/ChildrenField.js.map +1 -1
  51. package/dist/retail/components/Fields/CodeWordField.js +1 -1
  52. package/dist/retail/components/Fields/CodeWordField.js.map +1 -1
  53. package/dist/retail/components/Fields/DependentsField.js +1 -1
  54. package/dist/retail/components/Fields/DependentsField.js.map +1 -1
  55. package/dist/retail/components/Fields/DulIssueDateField.js +1 -1
  56. package/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
  57. package/dist/retail/components/Fields/DulIssuedByField.js +2 -2
  58. package/dist/retail/components/Fields/DulIssuedByField.js.map +1 -1
  59. package/dist/retail/components/Fields/DulSubdivisionCodeField.js +14 -1
  60. package/dist/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  61. package/dist/retail/components/Fields/EmailField.js +1 -3
  62. package/dist/retail/components/Fields/EmailField.js.map +1 -1
  63. package/dist/retail/components/Fields/Experience5YearsField.js +1 -1
  64. package/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
  65. package/dist/retail/components/Fields/FamilyMembersField.js +2 -2
  66. package/dist/retail/components/Fields/FamilyMembersField.js.map +1 -1
  67. package/dist/retail/components/Fields/GeneralSeniorityField.js +12 -1
  68. package/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  69. package/dist/retail/components/Fields/JobsNumberField.js +1 -1
  70. package/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
  71. package/dist/retail/components/Fields/LastJobExperienceField.js +1 -1
  72. package/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  73. package/dist/retail/components/Fields/LegalFormField.js +1 -1
  74. package/dist/retail/components/Fields/LegalFormField.js.map +1 -1
  75. package/dist/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  76. package/dist/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  77. package/dist/retail/components/Fields/MiddleNameField.js +1 -1
  78. package/dist/retail/components/Fields/NameField.js +1 -1
  79. package/dist/retail/components/Fields/RetirementIncomeField.js +1 -1
  80. package/dist/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  81. package/dist/retail/components/Fields/SurnameField.js +1 -1
  82. package/dist/retail/components/Fields/WagesField.js +1 -1
  83. package/dist/retail/components/Fields/WagesField.js.map +1 -1
  84. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  85. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +3 -4
  86. package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  87. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  88. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +3 -3
  89. package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  90. package/dist/retail/inputs.d.ts +0 -2
  91. package/dist/retail/inputs.js +0 -4
  92. package/dist/retail/inputs.js.map +1 -1
  93. package/dist/retail/model/LeadFormState.d.ts +0 -2
  94. package/dist/retail/model/NameFieldDef.d.ts +1 -1
  95. package/dist/retail/utils/calculateInputs.js +1 -1
  96. package/dist/retail/utils/calculateInputs.js.map +1 -1
  97. package/dist/retail/utils/updateOrganizationFields.js +1 -1
  98. package/dist/retail/utils/updateOrganizationFields.js.map +1 -1
  99. package/dist/retail/validator/getLimitedBirthdayValidation.js +2 -1
  100. package/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  101. package/dist/retail/validator/getRetailFormValidator.js +3 -0
  102. package/dist/retail/validator/getRetailFormValidator.js.map +1 -1
  103. package/dist/retail/validator/validatorObj.js +4 -9
  104. package/dist/retail/validator/validatorObj.js.map +1 -1
  105. package/dist/retail/validator/validators.d.ts +5 -3
  106. package/dist/retail/validator/validators.js +27 -17
  107. package/dist/retail/validator/validators.js.map +1 -1
  108. package/dist/ui-kit/DialogManager/Dialog.js +1 -1
  109. package/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  110. package/dist/ui-kit/Input/renderErrorText.js +1 -1
  111. package/dist/ui-kit/Input/renderErrorText.js.map +1 -1
  112. package/dist/ui-kit/Loader/Loader.d.ts +1 -1
  113. package/dist/ui-kit/Loader/Loader.js +1 -1
  114. package/dist/ui-kit/Loader/Loader.js.map +1 -1
  115. package/lib/common.css +1 -1
  116. package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
  117. package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  118. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
  119. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  120. package/lib/components/Blocks.mobile.js +2 -0
  121. package/lib/components/Blocks.mobile.js.map +1 -1
  122. package/lib/components/DebitForm/getDebitCardFormTaskData.js +1 -0
  123. package/lib/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
  124. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  125. package/lib/retail/adaptors/getPersonalInfoData.js +1 -1
  126. package/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
  127. package/lib/retail/api/dadataHints/dadataHints.js +11 -7
  128. package/lib/retail/api/dadataHints/dadataHints.js.map +1 -1
  129. package/lib/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  130. package/lib/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  131. package/lib/retail/api/dadataHints/hintsListsOptions.js +17 -2
  132. package/lib/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  133. package/lib/retail/api/esiaRequestProfile.js +1 -5
  134. package/lib/retail/api/esiaRequestProfile.js.map +1 -1
  135. package/lib/retail/api/updateUserTask.d.ts +2 -0
  136. package/lib/retail/api/updateUserTask.js.map +1 -1
  137. package/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
  138. package/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
  139. package/lib/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  140. package/lib/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  141. package/lib/retail/components/DaDataInputControl/InputPopup.js +3 -3
  142. package/lib/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  143. package/lib/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  144. package/lib/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  145. package/lib/retail/components/DocumentDialog/DocumentDialog.js +1 -1
  146. package/lib/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
  147. package/lib/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
  148. package/lib/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
  149. package/lib/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
  150. package/lib/retail/components/Fields/BirthPlaceField.js +1 -1
  151. package/lib/retail/components/Fields/BirthPlaceField.js.map +1 -1
  152. package/lib/retail/components/Fields/ChildrenField.js +1 -1
  153. package/lib/retail/components/Fields/ChildrenField.js.map +1 -1
  154. package/lib/retail/components/Fields/CodeWordField.js +1 -1
  155. package/lib/retail/components/Fields/CodeWordField.js.map +1 -1
  156. package/lib/retail/components/Fields/DependentsField.js +1 -1
  157. package/lib/retail/components/Fields/DependentsField.js.map +1 -1
  158. package/lib/retail/components/Fields/DulIssueDateField.js +1 -1
  159. package/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
  160. package/lib/retail/components/Fields/DulIssuedByField.js +2 -2
  161. package/lib/retail/components/Fields/DulIssuedByField.js.map +1 -1
  162. package/lib/retail/components/Fields/DulSubdivisionCodeField.js +15 -2
  163. package/lib/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  164. package/lib/retail/components/Fields/EmailField.js +1 -3
  165. package/lib/retail/components/Fields/EmailField.js.map +1 -1
  166. package/lib/retail/components/Fields/Experience5YearsField.js +1 -1
  167. package/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
  168. package/lib/retail/components/Fields/FamilyMembersField.js +2 -2
  169. package/lib/retail/components/Fields/FamilyMembersField.js.map +1 -1
  170. package/lib/retail/components/Fields/GeneralSeniorityField.js +12 -1
  171. package/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  172. package/lib/retail/components/Fields/JobsNumberField.js +1 -1
  173. package/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
  174. package/lib/retail/components/Fields/LastJobExperienceField.js +1 -1
  175. package/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  176. package/lib/retail/components/Fields/LegalFormField.js +1 -1
  177. package/lib/retail/components/Fields/LegalFormField.js.map +1 -1
  178. package/lib/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  179. package/lib/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  180. package/lib/retail/components/Fields/MiddleNameField.js +1 -1
  181. package/lib/retail/components/Fields/NameField.js +1 -1
  182. package/lib/retail/components/Fields/RetirementIncomeField.js +1 -1
  183. package/lib/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  184. package/lib/retail/components/Fields/SurnameField.js +1 -1
  185. package/lib/retail/components/Fields/WagesField.js +1 -1
  186. package/lib/retail/components/Fields/WagesField.js.map +1 -1
  187. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  188. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +1 -2
  189. package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  190. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  191. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  192. package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  193. package/lib/retail/inputs.d.ts +0 -2
  194. package/lib/retail/inputs.js +0 -4
  195. package/lib/retail/inputs.js.map +1 -1
  196. package/lib/retail/model/LeadFormState.d.ts +0 -2
  197. package/lib/retail/model/NameFieldDef.d.ts +1 -1
  198. package/lib/retail/utils/calculateInputs.js +1 -1
  199. package/lib/retail/utils/calculateInputs.js.map +1 -1
  200. package/lib/retail/utils/updateOrganizationFields.js +1 -1
  201. package/lib/retail/utils/updateOrganizationFields.js.map +1 -1
  202. package/lib/retail/validator/getLimitedBirthdayValidation.js +2 -1
  203. package/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  204. package/lib/retail/validator/getRetailFormValidator.js +4 -1
  205. package/lib/retail/validator/getRetailFormValidator.js.map +1 -1
  206. package/lib/retail/validator/validatorObj.js +5 -10
  207. package/lib/retail/validator/validatorObj.js.map +1 -1
  208. package/lib/retail/validator/validators.d.ts +5 -3
  209. package/lib/retail/validator/validators.js +22 -14
  210. package/lib/retail/validator/validators.js.map +1 -1
  211. package/lib/ui-kit/DialogManager/Dialog.js +1 -1
  212. package/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  213. package/lib/ui-kit/Input/renderErrorText.js +1 -1
  214. package/lib/ui-kit/Input/renderErrorText.js.map +1 -1
  215. package/lib/ui-kit/Loader/Loader.d.ts +1 -1
  216. package/lib/ui-kit/Loader/Loader.js +1 -1
  217. package/lib/ui-kit/Loader/Loader.js.map +1 -1
  218. package/mobile/bundle/bundle.umd.js +569 -142
  219. package/mobile/bundle/bundle.umd.min.js +1 -1
  220. package/mobile/bundle/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  221. package/mobile/bundle/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  222. package/mobile/bundle/retail/api/updateUserTask.d.ts +2 -0
  223. package/mobile/bundle/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
  224. package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  225. package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  226. package/mobile/bundle/retail/inputs.d.ts +0 -2
  227. package/mobile/bundle/retail/model/LeadFormState.d.ts +0 -2
  228. package/mobile/bundle/retail/model/NameFieldDef.d.ts +1 -1
  229. package/mobile/bundle/retail/validator/validators.d.ts +5 -3
  230. package/mobile/bundle/ui-kit/Loader/Loader.d.ts +1 -1
  231. package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
  232. package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  233. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
  234. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  235. package/mobile/dist/components/Blocks.js +2 -0
  236. package/mobile/dist/components/Blocks.js.map +1 -1
  237. package/mobile/dist/components/DebitForm/getDebitCardFormTaskData.js +1 -0
  238. package/mobile/dist/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
  239. package/mobile/dist/retail/adaptors/getPersonalInfoData.js +1 -1
  240. package/mobile/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
  241. package/mobile/dist/retail/api/dadataHints/dadataHints.js +11 -7
  242. package/mobile/dist/retail/api/dadataHints/dadataHints.js.map +1 -1
  243. package/mobile/dist/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  244. package/mobile/dist/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  245. package/mobile/dist/retail/api/dadataHints/hintsListsOptions.js +17 -2
  246. package/mobile/dist/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  247. package/mobile/dist/retail/api/esiaRequestProfile.js +1 -5
  248. package/mobile/dist/retail/api/esiaRequestProfile.js.map +1 -1
  249. package/mobile/dist/retail/api/updateUserTask.d.ts +2 -0
  250. package/mobile/dist/retail/api/updateUserTask.js.map +1 -1
  251. package/mobile/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
  252. package/mobile/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
  253. package/mobile/dist/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  254. package/mobile/dist/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  255. package/mobile/dist/retail/components/DaDataInputControl/InputPopup.js +2 -2
  256. package/mobile/dist/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  257. package/mobile/dist/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  258. package/mobile/dist/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  259. package/mobile/dist/retail/components/DocumentDialog/DocumentDialog.js +1 -1
  260. package/mobile/dist/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
  261. package/mobile/dist/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
  262. package/mobile/dist/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
  263. package/mobile/dist/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
  264. package/mobile/dist/retail/components/Fields/BirthPlaceField.js +1 -1
  265. package/mobile/dist/retail/components/Fields/BirthPlaceField.js.map +1 -1
  266. package/mobile/dist/retail/components/Fields/ChildrenField.js +1 -1
  267. package/mobile/dist/retail/components/Fields/ChildrenField.js.map +1 -1
  268. package/mobile/dist/retail/components/Fields/CodeWordField.js +1 -1
  269. package/mobile/dist/retail/components/Fields/CodeWordField.js.map +1 -1
  270. package/mobile/dist/retail/components/Fields/DependentsField.js +1 -1
  271. package/mobile/dist/retail/components/Fields/DependentsField.js.map +1 -1
  272. package/mobile/dist/retail/components/Fields/DulIssueDateField.js +1 -1
  273. package/mobile/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
  274. package/mobile/dist/retail/components/Fields/DulIssuedByField.js +2 -2
  275. package/mobile/dist/retail/components/Fields/DulIssuedByField.js.map +1 -1
  276. package/mobile/dist/retail/components/Fields/DulSubdivisionCodeField.js +14 -1
  277. package/mobile/dist/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  278. package/mobile/dist/retail/components/Fields/EmailField.js +1 -3
  279. package/mobile/dist/retail/components/Fields/EmailField.js.map +1 -1
  280. package/mobile/dist/retail/components/Fields/Experience5YearsField.js +1 -1
  281. package/mobile/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
  282. package/mobile/dist/retail/components/Fields/FamilyMembersField.js +2 -2
  283. package/mobile/dist/retail/components/Fields/FamilyMembersField.js.map +1 -1
  284. package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js +12 -1
  285. package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  286. package/mobile/dist/retail/components/Fields/JobsNumberField.js +1 -1
  287. package/mobile/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
  288. package/mobile/dist/retail/components/Fields/LastJobExperienceField.js +1 -1
  289. package/mobile/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  290. package/mobile/dist/retail/components/Fields/LegalFormField.js +1 -1
  291. package/mobile/dist/retail/components/Fields/LegalFormField.js.map +1 -1
  292. package/mobile/dist/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  293. package/mobile/dist/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  294. package/mobile/dist/retail/components/Fields/MiddleNameField.js +1 -1
  295. package/mobile/dist/retail/components/Fields/NameField.js +1 -1
  296. package/mobile/dist/retail/components/Fields/RetirementIncomeField.js +1 -1
  297. package/mobile/dist/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  298. package/mobile/dist/retail/components/Fields/SurnameField.js +1 -1
  299. package/mobile/dist/retail/components/Fields/WagesField.js +1 -1
  300. package/mobile/dist/retail/components/Fields/WagesField.js.map +1 -1
  301. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  302. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +3 -4
  303. package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  304. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  305. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +3 -3
  306. package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  307. package/mobile/dist/retail/inputs.d.ts +0 -2
  308. package/mobile/dist/retail/inputs.js +0 -4
  309. package/mobile/dist/retail/inputs.js.map +1 -1
  310. package/mobile/dist/retail/model/LeadFormState.d.ts +0 -2
  311. package/mobile/dist/retail/model/NameFieldDef.d.ts +1 -1
  312. package/mobile/dist/retail/utils/calculateInputs.js +1 -1
  313. package/mobile/dist/retail/utils/calculateInputs.js.map +1 -1
  314. package/mobile/dist/retail/utils/updateOrganizationFields.js +1 -1
  315. package/mobile/dist/retail/utils/updateOrganizationFields.js.map +1 -1
  316. package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js +2 -1
  317. package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  318. package/mobile/dist/retail/validator/getRetailFormValidator.js +3 -0
  319. package/mobile/dist/retail/validator/getRetailFormValidator.js.map +1 -1
  320. package/mobile/dist/retail/validator/validatorObj.js +4 -9
  321. package/mobile/dist/retail/validator/validatorObj.js.map +1 -1
  322. package/mobile/dist/retail/validator/validators.d.ts +5 -3
  323. package/mobile/dist/retail/validator/validators.js +27 -17
  324. package/mobile/dist/retail/validator/validators.js.map +1 -1
  325. package/mobile/dist/ui-kit/DialogManager/Dialog.js +1 -1
  326. package/mobile/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  327. package/mobile/dist/ui-kit/Input/renderErrorText.js +1 -1
  328. package/mobile/dist/ui-kit/Input/renderErrorText.js.map +1 -1
  329. package/mobile/dist/ui-kit/Loader/Loader.d.ts +1 -1
  330. package/mobile/dist/ui-kit/Loader/Loader.js +1 -1
  331. package/mobile/dist/ui-kit/Loader/Loader.js.map +1 -1
  332. package/mobile/lib/common.css +1 -1
  333. package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
  334. package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
  335. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
  336. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  337. package/mobile/lib/components/Blocks.js +2 -0
  338. package/mobile/lib/components/Blocks.js.map +1 -1
  339. package/mobile/lib/components/DebitForm/getDebitCardFormTaskData.js +1 -0
  340. package/mobile/lib/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
  341. package/mobile/lib/retail/adaptors/getPersonalInfoData.js +1 -1
  342. package/mobile/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
  343. package/mobile/lib/retail/api/dadataHints/dadataHints.js +11 -7
  344. package/mobile/lib/retail/api/dadataHints/dadataHints.js.map +1 -1
  345. package/mobile/lib/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
  346. package/mobile/lib/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
  347. package/mobile/lib/retail/api/dadataHints/hintsListsOptions.js +17 -2
  348. package/mobile/lib/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
  349. package/mobile/lib/retail/api/esiaRequestProfile.js +1 -5
  350. package/mobile/lib/retail/api/esiaRequestProfile.js.map +1 -1
  351. package/mobile/lib/retail/api/updateUserTask.d.ts +2 -0
  352. package/mobile/lib/retail/api/updateUserTask.js.map +1 -1
  353. package/mobile/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
  354. package/mobile/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
  355. package/mobile/lib/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
  356. package/mobile/lib/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
  357. package/mobile/lib/retail/components/DaDataInputControl/InputPopup.js +3 -3
  358. package/mobile/lib/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
  359. package/mobile/lib/retail/components/DaDataInputControl/useInputPopup.js +1 -0
  360. package/mobile/lib/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
  361. package/mobile/lib/retail/components/DocumentDialog/DocumentDialog.js +1 -1
  362. package/mobile/lib/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
  363. package/mobile/lib/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
  364. package/mobile/lib/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
  365. package/mobile/lib/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
  366. package/mobile/lib/retail/components/Fields/BirthPlaceField.js +1 -1
  367. package/mobile/lib/retail/components/Fields/BirthPlaceField.js.map +1 -1
  368. package/mobile/lib/retail/components/Fields/ChildrenField.js +1 -1
  369. package/mobile/lib/retail/components/Fields/ChildrenField.js.map +1 -1
  370. package/mobile/lib/retail/components/Fields/CodeWordField.js +1 -1
  371. package/mobile/lib/retail/components/Fields/CodeWordField.js.map +1 -1
  372. package/mobile/lib/retail/components/Fields/DependentsField.js +1 -1
  373. package/mobile/lib/retail/components/Fields/DependentsField.js.map +1 -1
  374. package/mobile/lib/retail/components/Fields/DulIssueDateField.js +1 -1
  375. package/mobile/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
  376. package/mobile/lib/retail/components/Fields/DulIssuedByField.js +2 -2
  377. package/mobile/lib/retail/components/Fields/DulIssuedByField.js.map +1 -1
  378. package/mobile/lib/retail/components/Fields/DulSubdivisionCodeField.js +15 -2
  379. package/mobile/lib/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
  380. package/mobile/lib/retail/components/Fields/EmailField.js +1 -3
  381. package/mobile/lib/retail/components/Fields/EmailField.js.map +1 -1
  382. package/mobile/lib/retail/components/Fields/Experience5YearsField.js +1 -1
  383. package/mobile/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
  384. package/mobile/lib/retail/components/Fields/FamilyMembersField.js +2 -2
  385. package/mobile/lib/retail/components/Fields/FamilyMembersField.js.map +1 -1
  386. package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js +12 -1
  387. package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  388. package/mobile/lib/retail/components/Fields/JobsNumberField.js +1 -1
  389. package/mobile/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
  390. package/mobile/lib/retail/components/Fields/LastJobExperienceField.js +1 -1
  391. package/mobile/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  392. package/mobile/lib/retail/components/Fields/LegalFormField.js +1 -1
  393. package/mobile/lib/retail/components/Fields/LegalFormField.js.map +1 -1
  394. package/mobile/lib/retail/components/Fields/MandatoryPaymentsField.js +1 -1
  395. package/mobile/lib/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
  396. package/mobile/lib/retail/components/Fields/MiddleNameField.js +1 -1
  397. package/mobile/lib/retail/components/Fields/NameField.js +1 -1
  398. package/mobile/lib/retail/components/Fields/RetirementIncomeField.js +1 -1
  399. package/mobile/lib/retail/components/Fields/RetirementIncomeField.js.map +1 -1
  400. package/mobile/lib/retail/components/Fields/SurnameField.js +1 -1
  401. package/mobile/lib/retail/components/Fields/WagesField.js +1 -1
  402. package/mobile/lib/retail/components/Fields/WagesField.js.map +1 -1
  403. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
  404. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +1 -2
  405. package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  406. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
  407. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  408. package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  409. package/mobile/lib/retail/inputs.d.ts +0 -2
  410. package/mobile/lib/retail/inputs.js +0 -4
  411. package/mobile/lib/retail/inputs.js.map +1 -1
  412. package/mobile/lib/retail/model/LeadFormState.d.ts +0 -2
  413. package/mobile/lib/retail/model/NameFieldDef.d.ts +1 -1
  414. package/mobile/lib/retail/utils/calculateInputs.js +1 -1
  415. package/mobile/lib/retail/utils/calculateInputs.js.map +1 -1
  416. package/mobile/lib/retail/utils/updateOrganizationFields.js +1 -1
  417. package/mobile/lib/retail/utils/updateOrganizationFields.js.map +1 -1
  418. package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js +2 -1
  419. package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
  420. package/mobile/lib/retail/validator/getRetailFormValidator.js +4 -1
  421. package/mobile/lib/retail/validator/getRetailFormValidator.js.map +1 -1
  422. package/mobile/lib/retail/validator/validatorObj.js +5 -10
  423. package/mobile/lib/retail/validator/validatorObj.js.map +1 -1
  424. package/mobile/lib/retail/validator/validators.d.ts +5 -3
  425. package/mobile/lib/retail/validator/validators.js +22 -14
  426. package/mobile/lib/retail/validator/validators.js.map +1 -1
  427. package/mobile/lib/ui-kit/DialogManager/Dialog.js +1 -1
  428. package/mobile/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  429. package/mobile/lib/ui-kit/Input/renderErrorText.js +1 -1
  430. package/mobile/lib/ui-kit/Input/renderErrorText.js.map +1 -1
  431. package/mobile/lib/ui-kit/Loader/Loader.d.ts +1 -1
  432. package/mobile/lib/ui-kit/Loader/Loader.js +1 -1
  433. package/mobile/lib/ui-kit/Loader/Loader.js.map +1 -1
  434. package/mobile/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +1 -3
  435. package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +2 -1
  436. package/mobile/src/components/Blocks.ts +2 -0
  437. package/mobile/src/components/DebitForm/getDebitCardFormTaskData.ts +1 -0
  438. package/mobile/src/retail/adaptors/getPersonalInfoData.tsx +1 -1
  439. package/mobile/src/retail/api/dadataHints/dadataHints.ts +17 -6
  440. package/mobile/src/retail/api/dadataHints/dadataHintsType.ts +10 -3
  441. package/mobile/src/retail/api/dadataHints/hintsListsOptions.ts +20 -13
  442. package/mobile/src/retail/api/esiaRequestProfile.ts +2 -6
  443. package/mobile/src/retail/api/updateUserTask.ts +2 -0
  444. package/mobile/src/retail/components/CheckboxWithDoc/CheckboxWithDoc.tsx +3 -1
  445. package/mobile/src/retail/components/DaDataInputControl/DaDataInputControl.tsx +15 -1
  446. package/mobile/src/retail/components/DaDataInputControl/InputPopup.tsx +5 -2
  447. package/mobile/src/retail/components/DaDataInputControl/useInputPopup.tsx +1 -0
  448. package/mobile/src/retail/components/DocumentDialog/DocumentDialog.tsx +1 -1
  449. package/mobile/src/retail/components/DocumentDialog/useDocumentDialog.ts +12 -3
  450. package/mobile/src/retail/components/Fields/BirthPlaceField.tsx +1 -0
  451. package/mobile/src/retail/components/Fields/ChildrenField.tsx +1 -0
  452. package/mobile/src/retail/components/Fields/CodeWordField.tsx +6 -1
  453. package/mobile/src/retail/components/Fields/DependentsField.tsx +1 -0
  454. package/mobile/src/retail/components/Fields/DulIssueDateField.tsx +1 -0
  455. package/mobile/src/retail/components/Fields/DulIssuedByField.tsx +2 -1
  456. package/mobile/src/retail/components/Fields/DulSubdivisionCodeField.tsx +21 -3
  457. package/mobile/src/retail/components/Fields/EmailField.tsx +8 -3
  458. package/mobile/src/retail/components/Fields/Experience5YearsField.tsx +2 -2
  459. package/mobile/src/retail/components/Fields/FamilyMembersField.tsx +2 -2
  460. package/mobile/src/retail/components/Fields/GeneralSeniorityField.tsx +28 -11
  461. package/mobile/src/retail/components/Fields/JobsNumberField.tsx +1 -0
  462. package/mobile/src/retail/components/Fields/LastJobExperienceField.tsx +1 -0
  463. package/mobile/src/retail/components/Fields/LegalFormField.tsx +1 -0
  464. package/mobile/src/retail/components/Fields/MandatoryPaymentsField.tsx +2 -0
  465. package/mobile/src/retail/components/Fields/MiddleNameField.tsx +1 -1
  466. package/mobile/src/retail/components/Fields/NameField.tsx +1 -1
  467. package/mobile/src/retail/components/Fields/RetirementIncomeField.tsx +2 -0
  468. package/mobile/src/retail/components/Fields/SurnameField.tsx +1 -1
  469. package/mobile/src/retail/components/Fields/WagesField.tsx +2 -0
  470. package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +5 -9
  471. package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +9 -1
  472. package/mobile/src/retail/inputs.tsx +0 -4
  473. package/mobile/src/retail/model/LeadFormState.ts +0 -2
  474. package/mobile/src/retail/model/NameFieldDef.ts +0 -2
  475. package/mobile/src/retail/utils/calculateInputs.ts +1 -1
  476. package/mobile/src/retail/utils/updateOrganizationFields.ts +1 -1
  477. package/mobile/src/retail/validator/getLimitedBirthdayValidation.ts +2 -1
  478. package/mobile/src/retail/validator/getRetailFormValidator.ts +9 -1
  479. package/mobile/src/retail/validator/validatorObj.ts +4 -12
  480. package/mobile/src/retail/validator/validators.ts +47 -28
  481. package/mobile/src/ui-kit/DialogManager/Dialog.tsx +1 -1
  482. package/mobile/src/ui-kit/Input/renderErrorText.tsx +1 -1
  483. package/mobile/src/ui-kit/Loader/Loader.tsx +4 -2
  484. package/package.json +1 -1
  485. package/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +1 -3
  486. package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +2 -1
  487. package/src/components/Blocks.mobile.ts +2 -0
  488. package/src/components/DebitForm/getDebitCardFormTaskData.ts +1 -0
  489. package/src/retail/adaptors/getPersonalInfoData.tsx +1 -1
  490. package/src/retail/api/dadataHints/dadataHints.ts +17 -6
  491. package/src/retail/api/dadataHints/dadataHintsType.ts +10 -3
  492. package/src/retail/api/dadataHints/hintsListsOptions.ts +20 -13
  493. package/src/retail/api/esiaRequestProfile.ts +2 -6
  494. package/src/retail/api/updateUserTask.ts +2 -0
  495. package/src/retail/components/CheckboxWithDoc/CheckboxWithDoc.tsx +3 -1
  496. package/src/retail/components/DaDataInputControl/DaDataInputControl.tsx +15 -1
  497. package/src/retail/components/DaDataInputControl/InputPopup.tsx +5 -2
  498. package/src/retail/components/DaDataInputControl/useInputPopup.tsx +1 -0
  499. package/src/retail/components/DocumentDialog/DocumentDialog.tsx +1 -1
  500. package/src/retail/components/DocumentDialog/useDocumentDialog.ts +12 -3
  501. package/src/retail/components/Fields/BirthPlaceField.tsx +1 -0
  502. package/src/retail/components/Fields/ChildrenField.tsx +1 -0
  503. package/src/retail/components/Fields/CodeWordField.tsx +6 -1
  504. package/src/retail/components/Fields/DependentsField.tsx +1 -0
  505. package/src/retail/components/Fields/DulIssueDateField.tsx +1 -0
  506. package/src/retail/components/Fields/DulIssuedByField.tsx +2 -1
  507. package/src/retail/components/Fields/DulSubdivisionCodeField.tsx +21 -3
  508. package/src/retail/components/Fields/EmailField.tsx +8 -3
  509. package/src/retail/components/Fields/Experience5YearsField.tsx +2 -2
  510. package/src/retail/components/Fields/FamilyMembersField.tsx +2 -2
  511. package/src/retail/components/Fields/GeneralSeniorityField.tsx +28 -11
  512. package/src/retail/components/Fields/JobsNumberField.tsx +1 -0
  513. package/src/retail/components/Fields/LastJobExperienceField.tsx +1 -0
  514. package/src/retail/components/Fields/LegalFormField.tsx +1 -0
  515. package/src/retail/components/Fields/MandatoryPaymentsField.tsx +2 -0
  516. package/src/retail/components/Fields/MiddleNameField.tsx +1 -1
  517. package/src/retail/components/Fields/NameField.tsx +1 -1
  518. package/src/retail/components/Fields/RetirementIncomeField.tsx +2 -0
  519. package/src/retail/components/Fields/SurnameField.tsx +1 -1
  520. package/src/retail/components/Fields/WagesField.tsx +2 -0
  521. package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +5 -9
  522. package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +9 -1
  523. package/src/retail/inputs.tsx +0 -4
  524. package/src/retail/model/LeadFormState.ts +0 -2
  525. package/src/retail/model/NameFieldDef.ts +0 -2
  526. package/src/retail/utils/calculateInputs.ts +1 -1
  527. package/src/retail/utils/updateOrganizationFields.ts +1 -1
  528. package/src/retail/validator/getLimitedBirthdayValidation.ts +2 -1
  529. package/src/retail/validator/getRetailFormValidator.ts +9 -1
  530. package/src/retail/validator/validatorObj.ts +4 -12
  531. package/src/retail/validator/validators.ts +47 -28
  532. package/src/ui-kit/DialogManager/Dialog.tsx +1 -1
  533. package/src/ui-kit/Input/renderErrorText.tsx +1 -1
  534. package/src/ui-kit/Loader/Loader.tsx +4 -2
  535. package/bundle/retail/components/Fields/ExpensesField.d.ts +0 -2
  536. package/bundle/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  537. package/dist/retail/components/Fields/ExpensesField.d.ts +0 -2
  538. package/dist/retail/components/Fields/ExpensesField.js +0 -7
  539. package/dist/retail/components/Fields/ExpensesField.js.map +0 -1
  540. package/dist/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  541. package/dist/retail/components/Fields/TotalIncomeField.js +0 -7
  542. package/dist/retail/components/Fields/TotalIncomeField.js.map +0 -1
  543. package/lib/retail/components/Fields/ExpensesField.d.ts +0 -2
  544. package/lib/retail/components/Fields/ExpensesField.js +0 -5
  545. package/lib/retail/components/Fields/ExpensesField.js.map +0 -1
  546. package/lib/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  547. package/lib/retail/components/Fields/TotalIncomeField.js +0 -5
  548. package/lib/retail/components/Fields/TotalIncomeField.js.map +0 -1
  549. package/mobile/bundle/retail/components/Fields/ExpensesField.d.ts +0 -2
  550. package/mobile/bundle/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  551. package/mobile/dist/retail/components/Fields/ExpensesField.d.ts +0 -2
  552. package/mobile/dist/retail/components/Fields/ExpensesField.js +0 -7
  553. package/mobile/dist/retail/components/Fields/ExpensesField.js.map +0 -1
  554. package/mobile/dist/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  555. package/mobile/dist/retail/components/Fields/TotalIncomeField.js +0 -7
  556. package/mobile/dist/retail/components/Fields/TotalIncomeField.js.map +0 -1
  557. package/mobile/lib/retail/components/Fields/ExpensesField.d.ts +0 -2
  558. package/mobile/lib/retail/components/Fields/ExpensesField.js +0 -5
  559. package/mobile/lib/retail/components/Fields/ExpensesField.js.map +0 -1
  560. package/mobile/lib/retail/components/Fields/TotalIncomeField.d.ts +0 -2
  561. package/mobile/lib/retail/components/Fields/TotalIncomeField.js +0 -5
  562. package/mobile/lib/retail/components/Fields/TotalIncomeField.js.map +0 -1
  563. package/mobile/src/retail/components/Fields/ExpensesField.tsx +0 -13
  564. package/mobile/src/retail/components/Fields/TotalIncomeField.tsx +0 -13
  565. package/src/retail/components/Fields/ExpensesField.tsx +0 -13
  566. package/src/retail/components/Fields/TotalIncomeField.tsx +0 -13
@@ -1262,7 +1262,7 @@
1262
1262
  // TODO Базовая функицональность всех Control - надо вынести и привязать к required флагу
1263
1263
  const getRequiredLabel = ({ label, errors }) => label && errors ? `${label}*` : label;
1264
1264
 
1265
- const renderErrorText = (error) => (jsx("div", { className: "h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
1265
+ const renderErrorText = (error) => (jsx("div", { className: "min-h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
1266
1266
 
1267
1267
  const debounce = (fn, delay = 600) => {
1268
1268
  let timerId;
@@ -2018,20 +2018,24 @@
2018
2018
  }
2019
2019
 
2020
2020
  const DEFAULT_HINTS_COUNT = 10;
2021
- const defaultResponseItemHandler = (item) => item?.value || '';
2022
- const getResponseHandler = (itemHandler) => (response) => {
2021
+ const defaultResponseItemHandler = (item) => ({
2022
+ value: item?.value || '',
2023
+ });
2024
+ const getResponseHandler = (itemHandler, responseFilter) => (response) => {
2023
2025
  const responseData = response?.suggestions || [];
2024
- return responseData.map((item) => {
2025
- const value = itemHandler(item);
2026
+ const filteredData = responseFilter ? responseData.filter(responseFilter) : responseData;
2027
+ return filteredData.map((item) => {
2028
+ const data = itemHandler(item);
2026
2029
  return {
2027
2030
  ...item,
2028
- processedValue: value,
2031
+ processedValue: data.value,
2032
+ additionalValue: data.additionalValue,
2029
2033
  };
2030
2034
  });
2031
2035
  };
2032
2036
  const getDaDataHints = (options) => {
2033
- const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, } = options;
2034
- const responseHandler = getResponseHandler(responseItemHandler);
2037
+ const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, responseFilter, } = options;
2038
+ const responseHandler = getResponseHandler(responseItemHandler, responseFilter);
2035
2039
  const queryPrefixValue = queryPrefix ? `${queryPrefix}, ` : '';
2036
2040
  const combinedQuery = `${queryPrefixValue}${query}`;
2037
2041
  return globalThis
@@ -2458,7 +2462,7 @@
2458
2462
 
2459
2463
  const CloseButton = JSX(({ className, onClose }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-2xs bg-transparent border-none', className), onClick: onClose, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", type: "button", children: jsx(Icon, { name: "CloseIcon", width: "20", height: "20", iconVersion: "gray" }) })));
2460
2464
 
2461
- const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative bg-white pt-0 p-lg', className), role: "dialog", title: "\u0414\u0438\u0430\u043B\u043E\u0433", onClick: onClick, children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] })));
2465
+ const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative bg-white pt-0 p-lg', className), role: "dialog", title: "\u0414\u0438\u0430\u043B\u043E\u0433", onClick: onClick, children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-m mb-[74px] lg:mb-0", children: children })] })));
2462
2466
 
2463
2467
  const ResponseTypeDialog = JSX(({ ok, typeForm, onClose }) => {
2464
2468
  const statusIcon = ok ? 'ResponseOKIcon' : 'ResponseFailIcon';
@@ -2546,7 +2550,7 @@
2546
2550
 
2547
2551
  const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true, size = 'big' }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
2548
2552
  'backdrop-blur': blur,
2549
- }), children: jsx("div", { className: style('inline-block', 'animate-spin rounded-full', 'border-solid border-current', 'border-r-transparent', size === 'small' ? 'border-4 h-8 w-8' : 'border-8 h-28 w-28', color), role: "status" }) })));
2553
+ }), children: jsx("div", { className: style('inline-block', 'animate-spin rounded-full', 'border-solid border-current', 'border-r-transparent', size === 'extraSmall' && 'border-2 h-4 w-4', size === 'small' && 'border-4 h-8 w-8', size === 'big' && 'border-8 h-28 w-28', color), role: "status" }) })));
2550
2554
 
2551
2555
  const SubmitButton$1 = JSX(({ isLoading, disabled, children, className, ...rest }) => (jsxs(Button, { type: "submit", className: style('relative', className), disabled: isLoading || disabled, ...rest, children: [isLoading ? jsx(Loader, { blur: true, size: "small" }) : null, children] })));
2552
2556
 
@@ -2629,7 +2633,9 @@
2629
2633
  const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
2630
2634
  const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
2631
2635
  const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
2632
- const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
2636
+ const lengthStringValidator = (inputLength, errorMsg, isFixLength) => validator((_) => typeof _ === 'string' &&
2637
+ _.length >= 1 &&
2638
+ (isFixLength ? _.length === inputLength : _.length <= inputLength))(errorMsg ?? ERROR_MESSAGE);
2633
2639
  const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
2634
2640
  const today = new Date();
2635
2641
  const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
@@ -2645,23 +2651,14 @@
2645
2651
  return true;
2646
2652
  };
2647
2653
  const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
2648
- const passportValidator = (birthDate) => validator((_) => {
2649
- if (_ && birthDate) {
2650
- return (_.getTime() >=
2651
- new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()).getTime());
2652
- }
2653
- return false;
2654
- })('Укажите дату выдачи паспорта');
2654
+ const passportValidator = (birthDate) => validateDateFromBirth(14, birthDate)('Укажите дату выдачи паспорта');
2655
2655
  const deliveryDateValidator = (errorMsg) => validator((_) => _?.getTime() >= new Date().getTime())(errorMsg);
2656
- const notLaterDateValidator = (errorMsg) => validator((_) => _?.getTime() <= new Date().getTime())(errorMsg);
2657
- const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
2658
- const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
2659
2656
  const snilsValidate = (snils) => {
2660
- const snl = String(snils).replace(/[^0-9]+/g, '');
2661
- if (snl.length === 11) {
2657
+ const _snils = String(snils).replace(/[^0-9]+/g, '');
2658
+ if (_snils.length === 11 && _snils !== '00000000000') {
2662
2659
  let checksum = 0;
2663
2660
  for (let i = 0; i < 9; i++) {
2664
- checksum += parseInt(snl.charAt(i)) * (9 - i);
2661
+ checksum += parseInt(_snils.charAt(i)) * (9 - i);
2665
2662
  }
2666
2663
  if (checksum > 101) {
2667
2664
  checksum = checksum % 101;
@@ -2669,11 +2666,25 @@
2669
2666
  if (checksum === 100 || checksum === 101) {
2670
2667
  checksum = 0;
2671
2668
  }
2672
- return checksum === parseInt(snl.slice(9));
2669
+ return checksum === parseInt(_snils.slice(9));
2673
2670
  }
2674
2671
  return false;
2675
2672
  };
2676
2673
  const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
2674
+ const generalSeniorityValidator = (lastJobExperience) => validator((_) => typeof _ === 'string' &&
2675
+ /^[0-9]{1,2}$/g.test(_) &&
2676
+ (!lastJobExperience || Number(_) >= Number(lastJobExperience)))('Укажите количество лет стажа');
2677
+ const workBeginDateValidator = (birthDate) => validateDateFromBirth(18, birthDate)('Укажите дату заключения трудового договора');
2678
+ const dateRegistrationValidator = (birthDate) => validateDateFromBirth(0, birthDate)('Укажите дату регистрации');
2679
+ const validateDateFromBirth = (age, birthDate) => validator((_) => {
2680
+ if (_ && birthDate) {
2681
+ const currentDate = _.getTime();
2682
+ const minDate = new Date(birthDate?.getFullYear() + age, birthDate?.getMonth(), birthDate?.getDate()).getTime();
2683
+ const maxDate = new Date().getTime();
2684
+ return currentDate >= minDate && currentDate <= maxDate;
2685
+ }
2686
+ return false;
2687
+ });
2677
2688
 
2678
2689
  const limitedBirthdayValidationData = {
2679
2690
  credit: {
@@ -2683,7 +2694,8 @@
2683
2694
  },
2684
2695
  creditCard: {
2685
2696
  minAge: 21,
2686
- errorMessage: 'Допустимый возраст заёмщика - от 21 года',
2697
+ maxAge: 73,
2698
+ errorMessage: 'Допустимый возраст заёмщика - от 21 до 73 лет',
2687
2699
  },
2688
2700
  debitCard: {
2689
2701
  minAge: 18,
@@ -2716,11 +2728,9 @@
2716
2728
  organizationPhone: phoneValidator('Укажите номер телефона'),
2717
2729
  organizationName: defaultValidator('Укажите наименование организации'),
2718
2730
  legalForm: defaultValidator('Укажите ОПФ'),
2719
- generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
2720
2731
  lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
2721
2732
  experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
2722
2733
  jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
2723
- beginDate: notLaterDateValidator('Укажите дату заключения трудового договора'),
2724
2734
  addressFact: addressDaDataValidator(),
2725
2735
  addressRegistration: addressDaDataValidator(),
2726
2736
  addressRetail: defaultSelectValidator('Выберите адрес банка'),
@@ -2738,20 +2748,17 @@
2738
2748
  familyMembers: lengthStringValidator(2, 'Укажите количество членов семьи'),
2739
2749
  children: lengthStringValidator(2, 'Укажите количество детей'),
2740
2750
  dependents: lengthStringValidator(2, 'Укажите количество иждивенцев'),
2741
- totalIncome: lengthStringValidator(19, 'Укажите среднемесячный доход от основной зарплаты'),
2742
- expenses: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2743
2751
  snils: snilsValidator('Некорректный номер СНИЛС'),
2744
2752
  conscription: defaultValidator(),
2745
2753
  armyIdFlg: agreementValidator,
2746
- dulSerie: serieValidator('Укажите серию паспорта'),
2747
- dulNumber: numberValidator('Укажите номер паспорта'),
2748
- dulSubdivisionCode: numberValidator('Укажите код подразделения'),
2754
+ dulSerie: lengthStringValidator(4, 'Укажите серию паспорта', true),
2755
+ dulNumber: lengthStringValidator(6, 'Укажите номер паспорта', true),
2756
+ dulSubdivisionCode: lengthStringValidator(7, 'Укажите код подразделения', true),
2749
2757
  dulIssuedBy: defaultValidator('Укажите организацию, выдавшую паспорт'),
2750
- participantDateRegistration: notLaterDateValidator('Укажите дату регистрации'),
2751
2758
  retirementIncome: defaultValidator(),
2752
2759
  otherIncome: defaultValidator(),
2753
2760
  wages: defaultValidator(),
2754
- mandatoryPayments: defaultValidator(),
2761
+ mandatoryPayments: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2755
2762
  bankruptcyFlg: defaultValidator(),
2756
2763
  shareholderFlg: defaultValidator(),
2757
2764
  legalEntityName: defaultValidator(),
@@ -2962,17 +2969,32 @@
2962
2969
  };
2963
2970
  const PASSPORT_CODE_HINTS_LIST_OPTIONS = {
2964
2971
  url: 'suggest/fms_unit',
2965
- responseItemHandler: (item) => item?.data?.code?.replace('-', '') || '',
2972
+ responseItemHandler: (item) => ({
2973
+ value: item?.data?.code || '',
2974
+ additionalValue: item?.data?.name,
2975
+ }),
2966
2976
  };
2967
2977
  const ORGANIZATION_NAME_HINTS_LIST_OPTIONS = {
2968
2978
  url: 'suggest/party',
2979
+ responseItemHandler: (item) => {
2980
+ const inn = item?.data?.inn;
2981
+ const address = item?.data?.address?.value || '';
2982
+ const additionalValue = address ? `${inn} ${address}` : inn;
2983
+ return {
2984
+ value: item?.value || '',
2985
+ additionalValue,
2986
+ };
2987
+ },
2969
2988
  };
2970
2989
  const ORGANIZATION_INN_HINTS_LIST_OPTIONS = {
2971
2990
  url: 'suggest/party',
2972
- responseItemHandler: (item) => item?.data?.inn || '',
2991
+ responseItemHandler: (item) => ({
2992
+ value: item?.data?.inn || '',
2993
+ }),
2973
2994
  };
2974
2995
  const ADDRESS_HINTS_LIST_OPTIONS = {
2975
2996
  url: 'suggest/address',
2997
+ responseFilter: (item) => Boolean(item?.data?.postal_code),
2976
2998
  };
2977
2999
  const hintsListsOptions = {
2978
3000
  name: NAME_HINTS_LIST_OPTIONS,
@@ -3012,9 +3034,9 @@
3012
3034
  container.addEventListener('keydown', onKeyDownHandler);
3013
3035
  return () => container.removeEventListener('keydown', onKeyDownHandler);
3014
3036
  }, [listItemActive]);
3015
- return (jsx("div", { className: "bg-white text-l overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsx("div", { className: style('flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative', {
3037
+ return (jsx("div", { className: "bg-white text-l overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsxs("div", { className: style('px-m py-xs cursor-pointer hover:bg-main-divider relative', {
3016
3038
  'bg-main-divider': listItemActive === key,
3017
- }), role: "listitem", onMouseDown: () => onChange(item), children: jsx("span", { className: "min-h-6", children: item.processedValue }) }, key.toString()))) }));
3039
+ }), role: "listitem", onMouseDown: () => onChange(item), children: [jsx("p", { children: item.processedValue }), item.additionalValue ? (jsx("p", { className: "text-xs text-secondary-text", children: item.additionalValue })) : null] }, key.toString()))) }));
3018
3040
  });
3019
3041
 
3020
3042
  // eslint-disable-next-line max-lines-per-function
@@ -3042,6 +3064,7 @@
3042
3064
  const result = await getDaDataHints({
3043
3065
  url: defaultHintsListOptions.url,
3044
3066
  responseItemHandler: defaultHintsListOptions.responseItemHandler,
3067
+ responseFilter: defaultHintsListOptions.responseFilter,
3045
3068
  requestData: {
3046
3069
  ...defaultHintsListOptions?.requestData,
3047
3070
  },
@@ -3074,7 +3097,7 @@
3074
3097
  return inputRef;
3075
3098
  }
3076
3099
 
3077
- const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, ...rest }) => {
3100
+ const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, type, ...rest }) => {
3078
3101
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
3079
3102
  const inputRef = useInputPopup({
3080
3103
  isOpen: isOpen && dadata,
@@ -3084,7 +3107,14 @@
3084
3107
  onChange,
3085
3108
  onDaDataChange,
3086
3109
  });
3087
- return (jsx(InputWrapper, { value: value, onChange: onChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
3110
+ const handleChange = useCallback((e) => {
3111
+ let formattedValue = e ?? '';
3112
+ if (type === 'number') {
3113
+ formattedValue = formattedValue.replace(/^0+(?=\d)/, '');
3114
+ }
3115
+ onChange?.(formattedValue);
3116
+ }, [onChange]);
3117
+ return (jsx(InputWrapper, { value: value, onChange: handleChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
3088
3118
  });
3089
3119
 
3090
3120
  const AddressField = JSX(({ field, input }) => {
@@ -3994,7 +4024,7 @@
3994
4024
 
3995
4025
  const BeginDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430 \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u043C\u0435\u0441\u0442\u0435", ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input), maxDate: new Date() })));
3996
4026
 
3997
- const BirthPlaceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
4027
+ const BirthPlaceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", maxLength: 100, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
3998
4028
 
3999
4029
  const safeJsonParse = (data) => {
4000
4030
  try {
@@ -4049,9 +4079,9 @@
4049
4079
  });
4050
4080
  const isValidCardCategory = (cardTypes, selectedCardCategory) => cardTypes.some((cardType) => cardType.key === selectedCardCategory?.key);
4051
4081
 
4052
- const ChildrenField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4082
+ const ChildrenField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, type: "number", ...field(input?.name ?? ''), ...input })));
4053
4083
 
4054
- const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", ...field(input?.name ?? ''), ...input })));
4084
+ const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", maxLength: 20, ...field(input?.name ?? ''), ...input })));
4055
4085
 
4056
4086
  const ConfirmationIncomeField = JSX(({ field, input }) => {
4057
4087
  const { data: confirmationIncome } = useLeadFormData('INCOME_CERT_UNITED');
@@ -4073,26 +4103,33 @@
4073
4103
 
4074
4104
  const DocumentDialog = JSX(({ src, onClose, onDocumentRead }) => {
4075
4105
  const isMobileMode = useMobileMode();
4076
- return (jsxs(Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0 z-[101]", onClose: onClose, children: [isMobileMode ? (jsx("img", { src: src })) : (jsx("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), jsx(Button, { className: "mx-auto mt-m", type: "button", onClick: () => {
4106
+ return (jsxs(Dialog, { className: "mt-xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [isMobileMode ? (jsx("img", { src: src })) : (jsx("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), jsx(Button, { className: "mx-auto mt-m", type: "button", onClick: () => {
4077
4107
  onDocumentRead?.();
4078
4108
  onClose?.();
4079
4109
  }, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] }));
4080
4110
  });
4081
4111
 
4082
4112
  const useDocumentDialog = (docId, onDocumentRead) => {
4113
+ const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
4083
4114
  const { open } = useDialog(DocumentDialog);
4084
4115
  const isMobileMode = useMobileMode();
4085
- return useCallback(async () => {
4086
- if (docId) {
4116
+ const openDocument = useCallback(async () => {
4117
+ if (docId && !isLoading) {
4118
+ startLoading();
4087
4119
  const src = URL.createObjectURL(await feedbackById(docId, isMobileMode));
4088
4120
  open({ src, onDocumentRead });
4121
+ endLoading();
4089
4122
  }
4090
- }, [open, docId, isMobileMode]);
4123
+ }, [open, docId, isMobileMode, isLoading]);
4124
+ return {
4125
+ openDocument,
4126
+ isLoading,
4127
+ };
4091
4128
  };
4092
4129
 
4093
4130
  const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
4094
- const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
4095
- return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(Button, { embedded: true, onClick: openDocument, children: jsx(ButtonTitle, { children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" }) })) : null] }), renderErrorText(error)] }));
4131
+ const { openDocument, isLoading } = useDocumentDialog(docId, () => props.onChange?.(true));
4132
+ return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsxs(Button, { embedded: true, onClick: openDocument, children: [jsx(ButtonTitle, { children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" }), isLoading ? jsx(Loader, { blur: false, size: "extraSmall", position: "static" }) : null] })) : null] }), renderErrorText(error)] }));
4096
4133
  });
4097
4134
 
4098
4135
  const ConsentField = JSX(({ field, input }) => {
@@ -4569,7 +4606,7 @@
4569
4606
  organizationName,
4570
4607
  };
4571
4608
  for (const fieldName in organizationData) {
4572
- organizationData[fieldName] && field?.(fieldName)?.onChange?.(organizationData[fieldName]);
4609
+ field?.(fieldName)?.onChange?.(organizationData[fieldName]);
4573
4610
  }
4574
4611
  };
4575
4612
  const getOrganizationRequisites = (item) => ({
@@ -4621,31 +4658,43 @@
4621
4658
  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 ?? '') }));
4622
4659
  });
4623
4660
 
4624
- 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 })));
4661
+ 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 })));
4625
4662
 
4626
4663
  const DulIssueDateField = JSX(({ field, input }) => {
4627
4664
  const birthDate = field('limitedBirthday')?.value;
4628
4665
  const startDulIssueDate = useMemo(() => new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()), [birthDate]);
4629
- return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input), minDate: startDulIssueDate }));
4666
+ 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() }));
4630
4667
  });
4631
4668
 
4632
4669
  const DulIssuedByField = JSX(({ field, input }) => {
4633
4670
  const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
4634
4671
  const onDaDataChange = useCallback((item) => {
4635
- changeDulSubdivisionCode?.(item?.data?.code?.replace('-', ''));
4672
+ changeDulSubdivisionCode?.(item?.data?.code);
4636
4673
  }, []);
4637
- return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
4674
+ 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 }));
4638
4675
  });
4639
4676
 
4640
4677
  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 ?? '') })));
4641
4678
 
4642
4679
  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 ?? '') })));
4643
4680
 
4681
+ const MAX_LENGTH$2 = 7;
4644
4682
  const DulSubdivisionCodeField = JSX(({ field, input }) => {
4645
4683
  const onDaDataChange = useCallback((item) => {
4646
4684
  field?.('dulIssuedBy')?.onChange?.(item?.data?.name);
4647
4685
  }, []);
4648
- 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 }));
4686
+ const handleChange = useCallback((v) => {
4687
+ const formattedValue = v.replace(/[^\d-]/g, '');
4688
+ formattedValue.length <= MAX_LENGTH$2 &&
4689
+ field?.('dulSubdivisionCode')?.onChange?.(normalizeWithMask(formattedValue, '___-___'));
4690
+ }, []);
4691
+ useEffect(() => {
4692
+ const value = field?.('dulSubdivisionCode')?.value;
4693
+ if (value) {
4694
+ handleChange(value);
4695
+ }
4696
+ }, []);
4697
+ 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 }));
4649
4698
  });
4650
4699
 
4651
4700
  const EducationField = JSX(({ field, input }) => {
@@ -4653,9 +4702,7 @@
4653
4702
  return (jsx(SelectField, { field: field, source: education, label: "\u041E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435", fieldName: "education", input: input }));
4654
4703
  });
4655
4704
 
4656
- const EmailField = JSX(({ field, input }) => {
4657
- return jsx(DaDataInputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
4658
- });
4705
+ 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 })));
4659
4706
 
4660
4707
  const EmployerActivitiesField = JSX(({ field, input }) => {
4661
4708
  const { data } = useLeadFormData('ORGANIZATION_ACTIVITY_TYPE');
@@ -4684,21 +4731,19 @@
4684
4731
  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 }));
4685
4732
  });
4686
4733
 
4687
- 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 })));
4688
-
4689
4734
  const MAX_YEARS = 5;
4690
4735
  const MIN_YEARS = 0;
4691
4736
  const Experience5YearsField = JSX(({ field, input }) => {
4692
4737
  const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
4693
- 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) }));
4738
+ 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) }));
4694
4739
  });
4695
4740
 
4696
4741
  const FamilyMembersField = JSX(({ field, input }) => {
4697
4742
  const { value, onChange } = field(input?.name ?? '');
4698
4743
  const familyStatusKey = field('familyStatus')?.value?.key;
4699
4744
  const adultsCount = familyStatusKey === 'MARRIED' ? 2 : 1;
4700
- const childrenCount = Number(field('children')?.value);
4701
- const dependentsCount = Number(field('dependents')?.value);
4745
+ const childrenCount = Number(field('children')?.value || 0);
4746
+ const dependentsCount = Number(field('dependents')?.value || 0);
4702
4747
  const totalCount = adultsCount + childrenCount + dependentsCount;
4703
4748
  useEffect(() => {
4704
4749
  onChange?.(totalCount);
@@ -4711,7 +4756,17 @@
4711
4756
  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 }));
4712
4757
  });
4713
4758
 
4714
- 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) })));
4759
+ const GeneralSeniorityField = JSX(({ field, input }) => {
4760
+ const [errorDate, setErrorDate] = useState('');
4761
+ const lastJobExperience = Number(field('lastJobExperience')?.value);
4762
+ const currentDate = Number(field('generalSeniority')?.value);
4763
+ useEffect(() => {
4764
+ setErrorDate(currentDate && currentDate < lastJobExperience
4765
+ ? 'Укажите не меньше, чем число в поле «Стаж на последнем рабочем месте»'
4766
+ : '');
4767
+ }, [lastJobExperience, currentDate]);
4768
+ 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) }));
4769
+ });
4715
4770
 
4716
4771
  const HousingField = JSX(({ field, input }) => {
4717
4772
  const { data: housing } = useLeadFormData('HOUSE_TYPE');
@@ -4722,9 +4777,9 @@
4722
4777
 
4723
4778
  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 ?? '') })));
4724
4779
 
4725
- 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) })));
4780
+ 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) })));
4726
4781
 
4727
- 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) })));
4782
+ 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) })));
4728
4783
 
4729
4784
  const latinPattern = /^[\u0041-\u005A\u0061-\u007A\s]+$/u;
4730
4785
  const isLatin = (_ = '') => latinPattern.test(_);
@@ -4843,11 +4898,11 @@
4843
4898
  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 }));
4844
4899
  });
4845
4900
 
4846
- 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 })));
4901
+ 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 })));
4847
4902
 
4848
4903
  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) })));
4849
4904
 
4850
- 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 })));
4905
+ 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 })));
4851
4906
 
4852
4907
  const METHODS_OF_OBTAIN = [
4853
4908
  { id: 'office', text: 'В отделении Банка' },
@@ -4861,7 +4916,7 @@
4861
4916
  field('middleName')?.onChange?.(value);
4862
4917
  }
4863
4918
  }, [field]);
4864
- 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 }));
4919
+ 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 }));
4865
4920
  });
4866
4921
 
4867
4922
  const NameField = JSX(({ field, input }) => {
@@ -4870,7 +4925,7 @@
4870
4925
  field('name')?.onChange?.(value);
4871
4926
  }
4872
4927
  }, [field]);
4873
- return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4928
+ return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4874
4929
  });
4875
4930
 
4876
4931
  const OrganizationField = JSX(({ field, input }) => {
@@ -4966,7 +5021,7 @@
4966
5021
  });
4967
5022
  const getCurrentProductSettings = (productType) => productType === 'debitCard' ? 'DEBIT_CARD_LEAD_PROCESS_SETTINGS' : 'CREDIT_LEAD_PROCESS_SETTINGS';
4968
5023
 
4969
- 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 })));
5024
+ 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 })));
4970
5025
 
4971
5026
  const GENDERS = ['male', 'female'];
4972
5027
  const getGenderFromName = async (name) => {
@@ -5025,12 +5080,10 @@
5025
5080
  field('surname')?.onChange?.(value);
5026
5081
  }
5027
5082
  }, [field]);
5028
- return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
5083
+ return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
5029
5084
  });
5030
5085
 
5031
- 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 })));
5032
-
5033
- 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) })));
5086
+ 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) })));
5034
5087
 
5035
5088
  const DELIVERY_CITIES_REF = {
5036
5089
  $ref: '/wcms-resources/delivery-cities-data.json',
@@ -5079,8 +5132,6 @@
5079
5132
  familyMembers: FamilyMembersField,
5080
5133
  children: ChildrenField,
5081
5134
  dependents: DependentsField,
5082
- totalIncome: TotalIncomeField,
5083
- expenses: ExpensesField,
5084
5135
  snils: SnilsField,
5085
5136
  conscription: ConscriptionField,
5086
5137
  armyIdFlg: ArmyIdFlgField,
@@ -5340,6 +5391,7 @@
5340
5391
  }
5341
5392
  };
5342
5393
 
5394
+ const TIME_TO_RESEND = 180;
5343
5395
  const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
5344
5396
  const sessionStore = useSessionStore();
5345
5397
  const attempts = sessionStore.smsCode?.attempts || 0;
@@ -5394,7 +5446,6 @@
5394
5446
  };
5395
5447
  const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
5396
5448
 
5397
- const TIME_TO_RESEND = 180;
5398
5449
  const CODE_LENGTH = 4;
5399
5450
  const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
5400
5451
  const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
@@ -5873,9 +5924,7 @@
5873
5924
  }),
5874
5925
  },
5875
5926
  ],
5876
- marketingInfo: {
5877
- bannerId: marketingInfo?.bannerId,
5878
- },
5927
+ marketingInfo,
5879
5928
  },
5880
5929
  };
5881
5930
  };
@@ -6101,10 +6150,7 @@
6101
6150
  }
6102
6151
  }, [target, key]);
6103
6152
 
6104
- const esiaRequestProfile = (body) => fetchRetailJSON('/esia/requestProfile', 'POST', body).then((res) => {
6105
- saveToken(res);
6106
- return res;
6107
- });
6153
+ const esiaRequestProfile = (body) => fetchRetailJSON('/esia/requestProfile', 'POST', body);
6108
6154
 
6109
6155
  const initialFormState = {
6110
6156
  surname: '',
@@ -6322,7 +6368,7 @@
6322
6368
  code,
6323
6369
  state,
6324
6370
  redirectUri: globalThis.location?.href,
6325
- authorize: true,
6371
+ authorize: false,
6326
6372
  });
6327
6373
  if (data) {
6328
6374
  const parsedData = await parseEsiaProfile(data, productType === 'debitCard');
@@ -6376,6 +6422,7 @@
6376
6422
  utm_content: queryStorage.get('utm_content'),
6377
6423
  utm_term: queryStorage.get('utm_term'),
6378
6424
  bannerId: queryStorage.get('bannerId'),
6425
+ userId: queryStorage.get('userId'),
6379
6426
  };
6380
6427
  return {
6381
6428
  code,
@@ -7865,19 +7912,19 @@
7865
7912
  } }), jsx("div", { className: "z-10 flex items-center justify-center w-20 h-20 rounded-full bg-white text-primary-text text-m", children: jsx(Timer, { seconds: time }) })] })] }));
7866
7913
  });
7867
7914
 
7868
- const FormStatus = JSX(({ title, description: dsc, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, onExpire = noop, ...props }) => (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? jsx(TimerCircle, { interval: interval, onEnd: onExpire }) : null] }), jsx(SectionInfo, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), buttonText ? (jsx(Link, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
7869
- const SectionInfo = ({ title, items, countColumns = false, }) => {
7915
+ const FormStatus = JSX(({ title, description: dsc, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, onExpire = noop, ...props }) => (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? jsx(TimerCircle, { interval: interval, onEnd: onExpire }) : null] }), jsx(SectionInfo$1, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo$1, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), buttonText ? (jsx(Link, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
7916
+ const SectionInfo$1 = ({ title, items, countColumns = false, }) => {
7870
7917
  const isMobile = useMobileMode();
7871
7918
  if (!items) {
7872
7919
  return null;
7873
7920
  }
7874
- return (jsxs("div", { children: [jsx("hr", { className: "w-full h-px bg-main-gray border-0" }), jsxs("div", { className: "p-xl", children: [title ? (jsx(Text, { color: "text-primary-text", size: "text-h5", children: jsx("div", { className: style({ 'mb-m': Boolean(title) }), children: title }) })) : null, items ? (jsx("div", { className: style('grid grid-cols-1 gap-m', inputColumnStyles(countColumns || isMobile ? 1 : 2)), children: items.map((item, index) => (jsx("div", { children: renderItem$1(item) }, index))) })) : null] })] }));
7921
+ return (jsxs("div", { children: [jsx("hr", { className: "w-full h-px bg-main-gray border-0" }), jsxs("div", { className: "p-xl", children: [title ? (jsx(Text, { color: "text-primary-text", size: "text-h5", children: jsx("div", { className: style({ 'mb-m': Boolean(title) }), children: title }) })) : null, items ? (jsx("div", { className: style('grid grid-cols-1 gap-m', inputColumnStyles(countColumns || isMobile ? 1 : 2)), children: items.map((item, index) => (jsx("div", { children: renderItem$2(item) }, index))) })) : null] })] }));
7875
7922
  };
7876
- const renderItem$1 = ({ label, description }) => (jsxs("div", { className: "flex flex-col", children: [jsx(Text, { color: "text-secondary-text", size: "text-l", children: label }), jsx(Text, { color: "text-primary-text", size: "text-xl", children: description })] }));
7923
+ const renderItem$2 = ({ label, description }) => (jsxs("div", { className: "flex flex-col", children: [jsx(Text, { color: "text-secondary-text", size: "text-l", children: label }), jsx(Text, { color: "text-primary-text", size: "text-xl", children: description })] }));
7877
7924
 
7878
- const FailedStatusContent$1 = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
7925
+ const FailedStatusContent$2 = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
7879
7926
 
7880
- const PendingStatusContent$1 = JSX(({ onExpire }) => {
7927
+ const PendingStatusContent$2 = JSX(({ onExpire }) => {
7881
7928
  const { statusInfo } = useRetailFormStore();
7882
7929
  return (jsx(FormStatus, { interval: 300, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
7883
7930
  {
@@ -7973,14 +8020,14 @@
7973
8020
  }, [taskId]);
7974
8021
  useInterval(trackStatus, 30000);
7975
8022
  const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
7976
- return renderStatus$1(status, handleExpire);
8023
+ return renderStatus$2(status, handleExpire);
7977
8024
  });
7978
- const renderStatus$1 = (status, handleExpire) => {
8025
+ const renderStatus$2 = (status, handleExpire) => {
7979
8026
  const statusesMap = {
7980
- IN_PROCESS: jsx(PendingStatusContent$1, { onExpire: handleExpire }),
7981
- CANCELLED: jsx(FailedStatusContent$1, {}),
7982
- FAILED: jsx(FailedStatusContent$1, {}),
7983
- DRAFT: jsx(FailedStatusContent$1, {}),
8027
+ IN_PROCESS: jsx(PendingStatusContent$2, { onExpire: handleExpire }),
8028
+ CANCELLED: jsx(FailedStatusContent$2, {}),
8029
+ FAILED: jsx(FailedStatusContent$2, {}),
8030
+ DRAFT: jsx(FailedStatusContent$2, {}),
7984
8031
  APPROVED: jsx(SuccessStatusCardContent, {}),
7985
8032
  PRE_DECISION: jsx(SuccessStatusCardContent, {}),
7986
8033
  REVISION: jsx(ReworkStatusContent$1, {}),
@@ -8014,7 +8061,7 @@
8014
8061
  const dataValue = getValue(condition?.name);
8015
8062
  return _ !== (dataValue?.key ?? dataValue);
8016
8063
  });
8017
- const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && isSnilsRequired(getValue);
8064
+ const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && !getValue('snils') && isSnilsRequired(getValue);
8018
8065
  const isSnilsRequired = (getValue) => getValue('confirmationIncome')?.key !== 'PFR_CERTIFICATE';
8019
8066
 
8020
8067
  const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
@@ -8036,9 +8083,12 @@
8036
8083
  ...validatorObj,
8037
8084
  limitedBirthday: getLimitedBirthdayValidation(productType),
8038
8085
  dulIssueDate: passportValidator(formState.limitedBirthday),
8086
+ generalSeniority: generalSeniorityValidator(formState.lastJobExperience),
8087
+ beginDate: workBeginDateValidator(formState.limitedBirthday),
8088
+ participantDateRegistration: dateRegistrationValidator(formState.limitedBirthday),
8039
8089
  })(formState);
8040
8090
 
8041
- const StepsNavigationButtons$1 = JSX(({ step, isSending, onPrevStep }) => {
8091
+ const StepsNavigationButtons$2 = JSX(({ step, isSending, onPrevStep }) => {
8042
8092
  const isFirstStep = step === 0;
8043
8093
  const isFinalStep = step === 5;
8044
8094
  return (jsxs("div", { className: "flex justify-between gap-m", children: [jsx(Button, { version: "secondary", disabled: isFirstStep, onClick: onPrevStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
@@ -8129,7 +8179,7 @@
8129
8179
  },
8130
8180
  ];
8131
8181
 
8132
- const formStateMap$1 = [
8182
+ const formStateMap$2 = [
8133
8183
  {
8134
8184
  paymentSystem: { key: '', text: '' },
8135
8185
  currency: '810',
@@ -8206,7 +8256,7 @@
8206
8256
  dulIssuedBy,
8207
8257
  dulNumber,
8208
8258
  dulSerie,
8209
- dulSubdivisionCode,
8259
+ dulSubdivisionCode: dulSubdivisionCode?.replace('-', ''),
8210
8260
  educationLevelCd: education,
8211
8261
  registrationDate: participantDateRegistration
8212
8262
  ? formatDate(participantDateRegistration, true)
@@ -8233,7 +8283,7 @@
8233
8283
  return new Date(date).toISOString().split('.')[0];
8234
8284
  };
8235
8285
 
8236
- const getDeliveryData = (formData) => {
8286
+ const getDeliveryData$1 = (formData) => {
8237
8287
  const { methodObtain, deliveryDate = '', deliveryTime } = formData;
8238
8288
  const isCourierDelivery = methodObtain === 'courier';
8239
8289
  const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {};
@@ -8247,7 +8297,7 @@
8247
8297
  }
8248
8298
  : {};
8249
8299
  };
8250
- const getOfficeCode = (formData) => {
8300
+ const getOfficeCode$1 = (formData) => {
8251
8301
  const { addressRetail, methodObtain } = formData;
8252
8302
  const isOfficeObtain = addressRetail?.key && methodObtain === 'office';
8253
8303
  return isOfficeObtain
@@ -8271,7 +8321,7 @@
8271
8321
  taskKind: 'UNITED',
8272
8322
  task: {
8273
8323
  id: taskId,
8274
- ...getOfficeCode(formData),
8324
+ ...getOfficeCode$1(formData),
8275
8325
  authorizedAgentId: formData?.bankEmployeeCode,
8276
8326
  participants: [
8277
8327
  {
@@ -8283,15 +8333,15 @@
8283
8333
  key: 'BORROWER',
8284
8334
  value: 'Заемщик',
8285
8335
  },
8286
- ...getCurrentStepData$1(step, formData),
8336
+ ...getCurrentStepData$2(step, formData),
8287
8337
  },
8288
8338
  ],
8289
8339
  ...getCardOptionsData(formData),
8290
- ...getDeliveryData(formData),
8340
+ ...getDeliveryData$1(formData),
8291
8341
  files: formData?.files,
8292
8342
  },
8293
8343
  });
8294
- const getCurrentStepData$1 = (step, formData) => {
8344
+ const getCurrentStepData$2 = (step, formData) => {
8295
8345
  switch (step) {
8296
8346
  case 0:
8297
8347
  return {};
@@ -8314,7 +8364,7 @@
8314
8364
  const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
8315
8365
  const isFinalStep = step === 5;
8316
8366
  const retailFormStore = useRetailFormStore();
8317
- const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap$1), [step, retailFormStore.leadForm]);
8367
+ const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap$2), [step, retailFormStore.leadForm]);
8318
8368
  const resetForm = useCallback((response) => {
8319
8369
  const { leadForm } = retailFormStore;
8320
8370
  if (isFinalStep && response.ok && leadForm) {
@@ -8355,14 +8405,14 @@
8355
8405
  return [initialState, handleSubmit, isSending];
8356
8406
  };
8357
8407
 
8358
- const PRODUCT_TYPE$1 = 'creditCard';
8408
+ const PRODUCT_TYPE$2 = 'creditCard';
8359
8409
  const CreditCardFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
8360
8410
  const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs || []), [sections]);
8361
8411
  const formValidator = useCallback((formState) => getRetailFormValidator({
8362
8412
  formState,
8363
8413
  inputs,
8364
8414
  step,
8365
- productType: PRODUCT_TYPE$1,
8415
+ productType: PRODUCT_TYPE$2,
8366
8416
  }), [inputs]);
8367
8417
  const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
8368
8418
  step,
@@ -8373,7 +8423,7 @@
8373
8423
  formValidator,
8374
8424
  onSubmit,
8375
8425
  });
8376
- return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step }), jsx(StepsNavigationButtons$1, { isSending: isSending, step: step, onPrevStep: onPrevStep })] }));
8426
+ return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step }), jsx(StepsNavigationButtons$2, { isSending: isSending, step: step, onPrevStep: onPrevStep })] }));
8377
8427
  });
8378
8428
 
8379
8429
  const PERSONAL_DATA = [
@@ -8771,7 +8821,7 @@
8771
8821
  ],
8772
8822
  },
8773
8823
  ];
8774
- const stepsSectionsMap$1 = [
8824
+ const stepsSectionsMap$2 = [
8775
8825
  CREDIT_CARD_CONTENT,
8776
8826
  PERSONAL_INFO_CONTENT$1,
8777
8827
  EMPLOYMENT_CONTENT$1,
@@ -8780,7 +8830,7 @@
8780
8830
  DELIVERY_CREDIT_CARD_CONTENT,
8781
8831
  ];
8782
8832
 
8783
- const STEPS$1 = 6;
8833
+ const STEPS$2 = 6;
8784
8834
  const TITLES = [
8785
8835
  'Параметры карты',
8786
8836
  'Персональные данные',
@@ -8795,7 +8845,7 @@
8795
8845
  const scrollToTop = useCallback(() => formContainerRef?.current?.scrollIntoView({ behavior: 'smooth' }), [formContainerRef]);
8796
8846
  useEffect(updateRefreshToken, []);
8797
8847
  const handleNextStep = useCallback(() => {
8798
- setStep((_) => Math.min(_ + 1, STEPS$1));
8848
+ setStep((_) => Math.min(_ + 1, STEPS$2));
8799
8849
  scrollToTop();
8800
8850
  }, []);
8801
8851
  const handlePrevStep = useCallback(() => {
@@ -8803,9 +8853,9 @@
8803
8853
  setStep((_) => Math.max(_ - 1, 0));
8804
8854
  scrollToTop();
8805
8855
  }, []);
8806
- const sections = stepsSectionsMap$1[step];
8856
+ const sections = stepsSectionsMap$2[step];
8807
8857
  const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
8808
- return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isFormFinished ? null : (jsx(CreditCardFormProgress, { stepsTitles: TITLES, step: step, totalSteps: STEPS$1 })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(CreditCardFormStatusTracker, {})) : (jsx(CreditCardFormStep, { step: step, sections: sections, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
8858
+ return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isFormFinished ? null : (jsx(CreditCardFormProgress, { stepsTitles: TITLES, step: step, totalSteps: STEPS$2 })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(CreditCardFormStatusTracker, {})) : (jsx(CreditCardFormStep, { step: step, sections: sections, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
8809
8859
  });
8810
8860
 
8811
8861
  const CreditFormProgress = JSX(({ step = 1, totalSteps = 5, stepsTitles = [] }) => {
@@ -8813,9 +8863,9 @@
8813
8863
  return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold mr-s", children: ["\u0428\u0430\u0433 ", step, " \u0438\u0437 ", totalSteps, "."] }), stepsTitles[step] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
8814
8864
  });
8815
8865
 
8816
- const FailedStatusContent = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
8866
+ const FailedStatusContent$1 = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
8817
8867
 
8818
- const PendingStatusContent = JSX(({ onExpire }) => {
8868
+ const PendingStatusContent$1 = JSX(({ onExpire }) => {
8819
8869
  const { statusInfo } = useRetailFormStore();
8820
8870
  return (jsx(FormStatus, { interval: 300, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
8821
8871
  {
@@ -8860,7 +8910,7 @@
8860
8910
  ], buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" }));
8861
8911
  });
8862
8912
 
8863
- const SuccessStatusContent = JSX(() => {
8913
+ const SuccessStatusContent$1 = JSX(() => {
8864
8914
  const { statusInfo } = useRetailFormStore();
8865
8915
  return (jsx(FormStatus, { title: "\u0411\u0430\u043D\u043A \u043E\u0434\u043E\u0431\u0440\u0438\u043B \u0432\u0430\u043C \u043A\u0440\u0435\u0434\u0438\u0442", description: "\u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044C \u0432 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0432\u0430\u0448 \u043A\u0440\u0435\u0434\u0438\u0442", sectionInfo: [
8866
8916
  {
@@ -8909,22 +8959,22 @@
8909
8959
  }, [taskId]);
8910
8960
  useInterval(trackStatus, 30_000);
8911
8961
  const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
8912
- return renderStatus(status, handleExpire);
8962
+ return renderStatus$1(status, handleExpire);
8913
8963
  });
8914
- const renderStatus = (status, onExpire) => {
8964
+ const renderStatus$1 = (status, onExpire) => {
8915
8965
  const statusesMap = {
8916
- IN_PROCESS: jsx(PendingStatusContent, { onExpire: onExpire }),
8917
- CANCELLED: jsx(FailedStatusContent, {}),
8918
- FAILED: jsx(FailedStatusContent, {}),
8919
- DRAFT: jsx(FailedStatusContent, {}),
8920
- APPROVED: jsx(SuccessStatusContent, {}),
8921
- PRE_DECISION: jsx(SuccessStatusContent, {}),
8966
+ IN_PROCESS: jsx(PendingStatusContent$1, { onExpire: onExpire }),
8967
+ CANCELLED: jsx(FailedStatusContent$1, {}),
8968
+ FAILED: jsx(FailedStatusContent$1, {}),
8969
+ DRAFT: jsx(FailedStatusContent$1, {}),
8970
+ APPROVED: jsx(SuccessStatusContent$1, {}),
8971
+ PRE_DECISION: jsx(SuccessStatusContent$1, {}),
8922
8972
  REVISION: jsx(ReworkStatusContent, {}),
8923
8973
  };
8924
8974
  return statusesMap[status] || jsx(ReworkStatusContent, {});
8925
8975
  };
8926
8976
 
8927
- const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
8977
+ const StepsNavigationButtons$1 = JSX(({ step, onPrevStep, isSending }) => {
8928
8978
  const isFirstStep = step === 0;
8929
8979
  const isFinalStep = step === 5;
8930
8980
  return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { version: "secondary", disabled: isFirstStep, onClick: onPrevStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
@@ -8974,7 +9024,7 @@
8974
9024
  key: 'BORROWER',
8975
9025
  value: 'Заемщик',
8976
9026
  },
8977
- ...getCurrentStepData(step, formData),
9027
+ ...getCurrentStepData$1(step, formData),
8978
9028
  },
8979
9029
  ],
8980
9030
  ...getCalcData(formData),
@@ -8985,7 +9035,7 @@
8985
9035
  files: formData?.files,
8986
9036
  },
8987
9037
  });
8988
- const getCurrentStepData = (step, formData) => {
9038
+ const getCurrentStepData$1 = (step, formData) => {
8989
9039
  switch (step) {
8990
9040
  case 0:
8991
9041
  return getCalculatorData(formData);
@@ -9000,7 +9050,7 @@
9000
9050
  }
9001
9051
  };
9002
9052
 
9003
- const formStateMap = [
9053
+ const formStateMap$1 = [
9004
9054
  {
9005
9055
  calculator: {
9006
9056
  moneyValue: 0,
@@ -9026,7 +9076,7 @@
9026
9076
  const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
9027
9077
  const isFinalStep = step === 4;
9028
9078
  const retailFormStore = useRetailFormStore();
9029
- const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap), [step, retailFormStore.leadForm]);
9079
+ const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap$1), [step, retailFormStore.leadForm]);
9030
9080
  const resetForm = useCallback((response) => {
9031
9081
  const { leadForm } = retailFormStore;
9032
9082
  if (isFinalStep && response.ok && leadForm) {
@@ -9071,7 +9121,7 @@
9071
9121
  return [initialState, handleSubmit, isSending];
9072
9122
  };
9073
9123
 
9074
- const PRODUCT_TYPE = 'credit';
9124
+ const PRODUCT_TYPE$1 = 'credit';
9075
9125
  const CreditFormStep = JSX(({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
9076
9126
  const { programId } = useRetailFormStore();
9077
9127
  const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
@@ -9080,7 +9130,7 @@
9080
9130
  formState,
9081
9131
  inputs,
9082
9132
  step,
9083
- productType: PRODUCT_TYPE,
9133
+ productType: PRODUCT_TYPE$1,
9084
9134
  }), [inputs]);
9085
9135
  const [initialState, onSubmit, isSending] = useCreditFormAPI({
9086
9136
  step,
@@ -9091,7 +9141,7 @@
9091
9141
  formValidator,
9092
9142
  onSubmit,
9093
9143
  });
9094
- return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
9144
+ return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons$1, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
9095
9145
  });
9096
9146
 
9097
9147
  /* eslint-disable max-lines */
@@ -9281,7 +9331,7 @@
9281
9331
  ],
9282
9332
  },
9283
9333
  ];
9284
- const stepsSectionsMap = [
9334
+ const stepsSectionsMap$1 = [
9285
9335
  CALCULATOR_CONTENT,
9286
9336
  PERSONAL_INFO_CONTENT,
9287
9337
  EMPLOYMENT_CONTENT,
@@ -9289,8 +9339,8 @@
9289
9339
  DELIVERY_CREDIT_CONTENT,
9290
9340
  ];
9291
9341
 
9292
- const STEPS = 4;
9293
- const STEP_TITLES = [
9342
+ const STEPS$1 = 4;
9343
+ const STEP_TITLES$1 = [
9294
9344
  '',
9295
9345
  'Персональные данные',
9296
9346
  'Данные о трудоустройстве',
@@ -9298,6 +9348,382 @@
9298
9348
  'Отделение Банка',
9299
9349
  ];
9300
9350
  const CreditForm = UniBlock(({ className, programsSource, ...rest }) => {
9351
+ const [step, setStep] = useState(0);
9352
+ const formContainerRef = useRef(null);
9353
+ const scrollToTop = useCallback(() => formContainerRef?.current?.scrollIntoView({ behavior: 'smooth' }), [formContainerRef]);
9354
+ useEffect(updateRefreshToken, []);
9355
+ const handleNextStep = useCallback(() => {
9356
+ setStep((_) => Math.min(_ + 1, STEPS$1));
9357
+ scrollToTop();
9358
+ }, []);
9359
+ const handlePrevStep = useCallback(() => {
9360
+ //TODO search hook - 1,
9361
+ setStep((_) => Math.max(_ - 1, 0));
9362
+ scrollToTop();
9363
+ }, []);
9364
+ const sections = stepsSectionsMap$1[step];
9365
+ const isStartStep = step === 0;
9366
+ const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
9367
+ return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(CreditFormProgress, { stepsTitles: STEP_TITLES$1, step: step, totalSteps: STEPS$1 })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(CreditFormStatusTracker, {})) : (jsx(CreditFormStep, { step: step, sections: sections, programsSource: programsSource, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
9368
+ });
9369
+
9370
+ const DebitFormProgress = JSX(({ step = 1, totalSteps = 2, stepsTitles = [] }) => {
9371
+ const progress = useMemo(() => (step / totalSteps) * 100, [step, totalSteps]);
9372
+ return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold mr-s", children: ["\u0428\u0430\u0433 ", step, " \u0438\u0437 ", totalSteps, "."] }), stepsTitles[step] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
9373
+ });
9374
+
9375
+ const INTERNET_BANK_LINK = 'https://online.rshb.ru/ib6/wf2/retail/ib/loginretaildefault';
9376
+ const DebitFormStatus = JSX(({ title, description: dsc, sectionInfo, buttonText, isDboClient, ...props }) => {
9377
+ return (jsxs(BlockWrapper, { ...props, children: [jsx("div", { className: "flex flex-col md:flex-row items-center", children: jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }) }), jsx(SectionInfo, { items: sectionInfo }), buttonText ? (jsx(LinkButton, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null, isDboClient ? (jsxs("div", { className: "flex flex-col md:flex-row md:gap-lg", children: [jsx(LinkButton, { href: "/natural/debetcards", text: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E", version: "primary", className: "w-full mt-lg" }), jsx(LinkButton, { href: INTERNET_BANK_LINK, text: "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442 \u0431\u0430\u043D\u043A", version: "primary", className: "w-full mt-lg" })] })) : null] }));
9378
+ });
9379
+ const SectionInfo = ({ title, items, }) => {
9380
+ if (!items) {
9381
+ return null;
9382
+ }
9383
+ return (jsxs("div", { children: [jsx("hr", { className: "w-full h-px bg-main-gray border-0" }), jsxs("div", { className: "p-xl", children: [title ? (jsx(Text, { color: "text-primary-text", size: "text-h5", children: jsx("div", { className: style({ 'mb-m': Boolean(title) }), children: title }) })) : null, items ? (jsx("div", { className: style('grid gap-m md:grid-cols-2', 'md:grid-cols-2'), children: items.map((item, index) => (jsx("div", { children: renderItem$1(item) }, index))) })) : null] })] }));
9384
+ };
9385
+ const renderItem$1 = ({ label, description }) => (jsxs("div", { className: "flex flex-col", children: [jsx(Text, { color: "text-secondary-text", size: "text-l", children: label }), jsx(Text, { color: "text-primary-text", size: "text-xl", children: description })] }));
9386
+
9387
+ const DboClientStatusContent = JSX(() => {
9388
+ const { leadForm } = useRetailFormStore();
9389
+ return (jsx(DebitFormStatus, { title: `${leadForm?.name} ${leadForm?.middleName},`, description: "\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0412\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044C \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0445 \u0411\u0430\u043D\u043A\u0430, \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0441\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u0430\u0441\u043F\u043E\u0440\u0442\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445", sectionInfo: [
9390
+ {
9391
+ label: 'Фамилия',
9392
+ description: leadForm?.surname,
9393
+ },
9394
+ {
9395
+ label: 'Имя',
9396
+ description: leadForm?.name,
9397
+ },
9398
+ {
9399
+ label: 'Отчество',
9400
+ description: leadForm?.middleName,
9401
+ },
9402
+ {
9403
+ label: 'Дата рождения',
9404
+ description: formatDate(leadForm?.limitedBirthday || ''),
9405
+ },
9406
+ {
9407
+ label: 'Серия документа',
9408
+ description: leadForm?.dulSerie,
9409
+ },
9410
+ {
9411
+ label: 'Номер документа',
9412
+ description: leadForm?.dulNumber,
9413
+ },
9414
+ ], isDboClient: true }));
9415
+ });
9416
+
9417
+ const FailedStatusContent = JSX(() => (jsx(DebitFormStatus, { title: "\u0412\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u043F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E", description: "\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
9418
+
9419
+ const PendingStatusContent = JSX(() => (jsx(DebitFormStatus, { title: "\u041F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435 \u043D\u0435\u043C\u043D\u043E\u0433\u043E", description: "\u0411\u0430\u043D\u043A \u043F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u0442 \u0432\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443" })));
9420
+
9421
+ const SalaryDboClientStatusContent = JSX(() => (jsx(DebitFormStatus, { description: "\u0412\u044B \u0443\u0436\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0435\u0441\u044C \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB, \u0434\u043B\u044F \u0412\u0430\u0441 \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0432 \u043F\u0435\u0440\u0432\u044B\u0439 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u0434\u0435\u043D\u044C", buttonText: "\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
9422
+
9423
+ const SuccessStatusContent = JSX(({ isOffice }) => (jsx(DebitFormStatus, { title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u043F\u0440\u0438\u043D\u044F\u0442\u0430", description: isOffice
9424
+ ? 'Ваша заявка принята, мы сообщим вам в СМС о поступлении карты в офис'
9425
+ : 'Вам позвонит сотрудник Банка для уточнения времени и даты доставки', buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
9426
+
9427
+ const DebitFormStatusTracker = JSX(() => {
9428
+ const [status, setStatus] = useState(STATUS_TYPE.process);
9429
+ const { taskId, statusInfo, programId } = useRetailFormStore();
9430
+ const isSalaryCard = programId === '38';
9431
+ const isOffice = statusInfo?.methodObtain === 'office';
9432
+ useEffect(() => {
9433
+ (async () => {
9434
+ const statusCd = await sendSignalToProcess({
9435
+ signalType: 'FIND_PERSON_SIGNAL',
9436
+ taskId,
9437
+ });
9438
+ isOffice &&
9439
+ (await sendSignalToProcess({
9440
+ signalType: 'SET_PERSON_SIGNAL',
9441
+ taskId,
9442
+ }));
9443
+ setStatus(statusCd || STATUS_TYPE.notFound);
9444
+ })();
9445
+ }, [taskId]);
9446
+ return renderStatus(status, isOffice, isSalaryCard);
9447
+ });
9448
+ const renderStatus = (status, isOffice, isSalaryCard) => {
9449
+ const statusesMap = {
9450
+ IN_PROCESS: jsx(PendingStatusContent, {}),
9451
+ NOT_FOUND: jsx(FailedStatusContent, {}),
9452
+ CLIENT_NOT_OK: jsx(FailedStatusContent, {}),
9453
+ DBO_CLIENT: isSalaryCard ? jsx(SalaryDboClientStatusContent, {}) : jsx(DboClientStatusContent, {}),
9454
+ PRE_DECISION: jsx(SuccessStatusContent, { isOffice: isOffice }), //
9455
+ };
9456
+ return statusesMap[status] || jsx(SuccessStatusContent, { isOffice: isOffice });
9457
+ };
9458
+
9459
+ const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
9460
+ const isFirstStep = step === 0;
9461
+ const isFinalStep = step === 5;
9462
+ return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
9463
+ });
9464
+
9465
+ const updateUserTaskDebit = (body) => doRequest('/user-data/updateUserTaskDebit', 'PUT', body);
9466
+
9467
+ const formStateMap = [
9468
+ {
9469
+ regionRetail: { key: '', text: '' },
9470
+ regionHasDelivery: false,
9471
+ addressRetail: { key: '', text: '' },
9472
+ addressCourier: {
9473
+ fullAddress: '',
9474
+ fiasCode: '',
9475
+ },
9476
+ methodObtain: undefined,
9477
+ deliveryDate: undefined,
9478
+ },
9479
+ {
9480
+ surname: '',
9481
+ name: '',
9482
+ middleName: '',
9483
+ sex: '',
9484
+ limitedBirthday: undefined,
9485
+ birthPlace: '',
9486
+ phone: '',
9487
+ email: '',
9488
+ dulSerie: undefined,
9489
+ dulNumber: undefined,
9490
+ dulIssueDate: undefined,
9491
+ dulSubdivisionCode: '',
9492
+ dulIssuedBy: '',
9493
+ addressRegistration: {
9494
+ fullAddress: '',
9495
+ fiasCode: '',
9496
+ },
9497
+ addressFact: {
9498
+ fullAddress: '',
9499
+ fiasCode: '',
9500
+ },
9501
+ },
9502
+ {
9503
+ paymentSystem: { key: '', text: '' },
9504
+ currency: '810',
9505
+ codeWord: '',
9506
+ latinName: '',
9507
+ latinSurname: '',
9508
+ },
9509
+ ];
9510
+
9511
+ const getDeliveryData = (formData) => {
9512
+ const { methodObtain, regionRetail, comment, deliveryDate = '', deliveryTime } = formData;
9513
+ const isCourierDelivery = methodObtain === 'courier';
9514
+ const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {};
9515
+ return isCourierDelivery
9516
+ ? {
9517
+ cardServiceRegionCd: regionRetail,
9518
+ courierDeliveryFlg: true,
9519
+ deliveryComment: comment,
9520
+ deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
9521
+ office: { id: '' },
9522
+ ...deliveryTimeCd,
9523
+ }
9524
+ : {};
9525
+ };
9526
+ const getOfficeCode = (formData) => {
9527
+ const { addressRetail, methodObtain } = formData;
9528
+ const isOfficeObtain = addressRetail?.key && methodObtain === 'office';
9529
+ return isOfficeObtain
9530
+ ? {
9531
+ courierDeliveryFlg: false,
9532
+ office: { id: addressRetail.key },
9533
+ }
9534
+ : {};
9535
+ };
9536
+ const getDeliveryDebitData = (formData) => {
9537
+ const { addressCourier, methodObtain } = formData;
9538
+ const isCourierDelivery = methodObtain === 'courier';
9539
+ return isCourierDelivery
9540
+ ? {
9541
+ participantAddresses: getParticipantAddresses$1({ addressCourier }),
9542
+ }
9543
+ : {};
9544
+ };
9545
+ const getDebitCardData = (formData) => {
9546
+ const { latinName: latinFirstname, latinSurname } = formData;
9547
+ return {
9548
+ latinFirstname,
9549
+ latinSurname,
9550
+ latinName: `${latinFirstname} ${latinSurname}`,
9551
+ };
9552
+ };
9553
+
9554
+ const getDebitCardFormTaskData = ({ participantId, taskId, formData, programId, step = 0, }) => ({
9555
+ task: {
9556
+ id: taskId,
9557
+ creditProgram: {
9558
+ code: debitProgrammIdToCardCodesMap[programId],
9559
+ },
9560
+ ...getOfficeCode(formData),
9561
+ participants: [
9562
+ {
9563
+ id: participantId,
9564
+ residentOtherCountry: false,
9565
+ ...getCurrentStepData(step, formData),
9566
+ },
9567
+ ],
9568
+ ...getCardOptionsData(formData),
9569
+ ...getDeliveryData(formData),
9570
+ },
9571
+ });
9572
+ const getCurrentStepData = (step, formData) => {
9573
+ switch (step) {
9574
+ case 0:
9575
+ return getDeliveryDebitData(formData);
9576
+ case 1:
9577
+ return getPersonalInfoData(formData);
9578
+ case 2:
9579
+ return getDebitCardData(formData);
9580
+ default:
9581
+ return {};
9582
+ }
9583
+ };
9584
+
9585
+ const useDebitFormAPI = ({ step, onNextStep, onFinish, }) => {
9586
+ const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
9587
+ const isFinalStep = step === 2;
9588
+ const retailFormStore = useRetailFormStore();
9589
+ const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap), [step, retailFormStore.leadForm]);
9590
+ const resetForm = useCallback(() => {
9591
+ const { leadForm } = retailFormStore;
9592
+ retailFormStore.statusInfo = {
9593
+ methodObtain: leadForm?.methodObtain,
9594
+ };
9595
+ retailFormStore.leadForm = initialState;
9596
+ }, [initialState]);
9597
+ const handleSubmit = useCallback(async (formData) => {
9598
+ startSending();
9599
+ retailFormStore.leadForm = formData;
9600
+ try {
9601
+ const { taskId, participantId, programId } = retailFormStore;
9602
+ if (taskId && participantId && programId) {
9603
+ await updateUserTaskDebit(getDebitCardFormTaskData({
9604
+ participantId,
9605
+ taskId,
9606
+ programId,
9607
+ step,
9608
+ formData: formData,
9609
+ }));
9610
+ }
9611
+ if (isFinalStep || formData.methodObtain === 'courier') {
9612
+ onFinish?.();
9613
+ resetForm();
9614
+ }
9615
+ else {
9616
+ onNextStep();
9617
+ }
9618
+ }
9619
+ catch (ex) {
9620
+ // Do nothing
9621
+ }
9622
+ finally {
9623
+ endSending();
9624
+ }
9625
+ }, [isFinalStep]);
9626
+ return [initialState, handleSubmit, isSending];
9627
+ };
9628
+
9629
+ const PRODUCT_TYPE = 'debitCard';
9630
+ const DebitFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
9631
+ const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
9632
+ const formValidator = useCallback((formState) => getRetailFormValidator({
9633
+ formState,
9634
+ inputs,
9635
+ step,
9636
+ productType: PRODUCT_TYPE,
9637
+ }), [inputs]);
9638
+ const [initialState, onSubmit, isSending] = useDebitFormAPI({
9639
+ step,
9640
+ onNextStep,
9641
+ onFinish,
9642
+ });
9643
+ const [, { field, onSubmit: handleSubmit }] = useForm(initialState, {
9644
+ formValidator,
9645
+ onSubmit,
9646
+ });
9647
+ return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step }), jsx(StepsNavigationButtons, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
9648
+ });
9649
+
9650
+ const DEBIT_PERSONAL_INFO_CONTENT = [
9651
+ ...PERSONAL_DATA,
9652
+ {
9653
+ title: 'Адрес регистрации по месту жительства',
9654
+ columns: 1,
9655
+ inputs: [],
9656
+ },
9657
+ {
9658
+ inputs: [
9659
+ {
9660
+ name: 'addressRegistration',
9661
+ required: true,
9662
+ dadata: true,
9663
+ filledByEsia: true,
9664
+ },
9665
+ { name: 'addressMatch' },
9666
+ ],
9667
+ },
9668
+ {
9669
+ title: 'Адрес фактического проживания (место пребывания РФ)',
9670
+ inputs: [],
9671
+ },
9672
+ {
9673
+ inputs: [{ name: 'addressFact', required: true, dadata: true }],
9674
+ },
9675
+ ];
9676
+ const DEBIT_CARD_CONTENT = [
9677
+ {
9678
+ title: 'Параметры карты',
9679
+ inputs: [],
9680
+ },
9681
+ {
9682
+ inputs: [
9683
+ { name: 'currency', required: true },
9684
+ { name: 'paymentSystem', required: true },
9685
+ { name: 'cardCategory', required: true },
9686
+ ],
9687
+ },
9688
+ {
9689
+ title: 'Отображение на карте',
9690
+ inputs: [],
9691
+ },
9692
+ {
9693
+ columns: 2,
9694
+ inputs: [{ name: 'latinName' }, { name: 'latinSurname', required: true }],
9695
+ },
9696
+ {
9697
+ inputs: [
9698
+ {
9699
+ name: 'infoCard',
9700
+ label: 'Проверьте корректность заполненных полей, при необходимости внесите изменения.',
9701
+ },
9702
+ ],
9703
+ },
9704
+ {
9705
+ inputs: [
9706
+ {
9707
+ name: 'infoCard',
9708
+ label:
9709
+ // eslint-disable-next-line max-len
9710
+ 'Количество символов ограничивается 20. При этом, если фамилия и имя на карте содержит более 21 символа, то необходимо сократить имя и указывать на карте только первую букву имени и фамилию, если при таком сокращении фамилия и имя не умещается в количество символов – 20, то указывать только фамилию.',
9711
+ },
9712
+ ],
9713
+ },
9714
+ {
9715
+ inputs: [{ name: 'codeWord', required: true }],
9716
+ },
9717
+ ];
9718
+ const stepsSectionsMap = [
9719
+ DELIVERY_CARD_CONTENT,
9720
+ DEBIT_PERSONAL_INFO_CONTENT,
9721
+ DEBIT_CARD_CONTENT,
9722
+ ];
9723
+
9724
+ const STEPS = 2;
9725
+ const STEP_TITLES = ['', 'Персональные данные', 'Платежная система'];
9726
+ const DebitForm = UniBlock(({ className, ...rest }) => {
9301
9727
  const [step, setStep] = useState(0);
9302
9728
  const formContainerRef = useRef(null);
9303
9729
  const scrollToTop = useCallback(() => formContainerRef?.current?.scrollIntoView({ behavior: 'smooth' }), [formContainerRef]);
@@ -9314,7 +9740,7 @@
9314
9740
  const sections = stepsSectionsMap[step];
9315
9741
  const isStartStep = step === 0;
9316
9742
  const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
9317
- return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(CreditFormProgress, { stepsTitles: STEP_TITLES, step: step, totalSteps: STEPS })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(CreditFormStatusTracker, {})) : (jsx(CreditFormStep, { step: step, sections: sections, programsSource: programsSource, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
9743
+ return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(DebitFormProgress, { stepsTitles: STEP_TITLES, step: step, totalSteps: STEPS })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(DebitFormStatusTracker, {})) : (jsx(DebitFormStep, { step: step, sections: sections, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
9318
9744
  });
9319
9745
 
9320
9746
  const isRateRow = (rateRow) => typeof rateRow?.minMonths === 'number' && typeof rateRow?.maxMonths === 'number';
@@ -10554,6 +10980,7 @@
10554
10980
  ApplicationLeadForm,
10555
10981
  CreditCardForm,
10556
10982
  CreditForm,
10983
+ DebitForm,
10557
10984
  };
10558
10985
 
10559
10986
  const applyAspects = (aspects) => (ev) => {
@@ -10675,7 +11102,7 @@
10675
11102
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10676
11103
  });
10677
11104
 
10678
- const packageVersion = "0.14.876";
11105
+ const packageVersion = "0.14.878";
10679
11106
 
10680
11107
  exports.Blocks = Blocks;
10681
11108
  exports.ContentPage = ContentPage;