@redneckz/wildless-cms-uni-blocks 0.14.608 → 0.14.616

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 (676) hide show
  1. package/bundle/api/RetailAPI/updateUserProfile.d.ts +2 -0
  2. package/bundle/api/RetailAPI/utils/getUpdateUserTask.d.ts +2 -1
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +483 -177
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -0
  7. package/bundle/components/ApplicationStatus/ApplicationStatus.d.ts +5 -0
  8. package/bundle/components/ApplicationStatus/ApplicationStatusContent.d.ts +18 -0
  9. package/bundle/components/CreditForm/CreditForm.d.ts +2 -9
  10. package/bundle/components/CreditForm/CreditFormContent.d.ts +9 -1
  11. package/bundle/components/CreditForm/CreditFormStep.d.ts +17 -0
  12. package/bundle/components/CreditForm/StepsNavigationButtons.d.ts +1 -1
  13. package/bundle/components/CreditForm/creditFormStepsData.d.ts +40 -2
  14. package/bundle/components/CreditForm/getInitialFormState.d.ts +62 -0
  15. package/bundle/components/CreditForm/renderInputs.d.ts +3 -0
  16. package/bundle/components/CreditForm/useCreditFormApi.d.ts +11 -0
  17. package/bundle/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +5 -0
  18. package/bundle/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +3 -0
  19. package/bundle/ui-kit/DatePicker/DatePickerInput.d.ts +10 -0
  20. package/bundle/ui-kit/DatePicker/getYears.d.ts +1 -0
  21. package/bundle/ui-kit/DatePicker/useDatePickerManager.d.ts +3 -1
  22. package/bundle/ui-kit/DialogManager/openDocument.d.ts +2 -0
  23. package/bundle/ui-kit/FormField/Fields/PartInBusinessField.d.ts +2 -0
  24. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  25. package/bundle/ui-kit/FormField/validators.d.ts +1 -0
  26. package/bundle/ui-kit/InfoCard/InfoCard.d.ts +3 -2
  27. package/bundle/ui-kit/Input/InputNumberControl.d.ts +2 -0
  28. package/bundle/ui-kit/Input/InputProps.d.ts +2 -1
  29. package/bundle/ui-kit/InputNumber/InputNumber.d.ts +2 -0
  30. package/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +1 -1
  31. package/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +2 -3
  32. package/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -1
  33. package/bundle/utils/normalizeWithMask.d.ts +1 -0
  34. package/dist/api/RetailAPI/updateUserProfile.d.ts +2 -0
  35. package/dist/api/RetailAPI/updateUserProfile.js +1 -1
  36. package/dist/api/RetailAPI/updateUserProfile.js.map +1 -1
  37. package/dist/api/RetailAPI/utils/getUpdateUserTask.d.ts +2 -1
  38. package/dist/api/RetailAPI/utils/getUpdateUserTask.js +39 -34
  39. package/dist/api/RetailAPI/utils/getUpdateUserTask.js.map +1 -1
  40. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +1 -1
  41. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  42. package/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -0
  43. package/dist/components/ApplicationLeadForm/getInitialFormState.js +2 -1
  44. package/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  45. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +8 -7
  46. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  47. package/dist/components/ApplicationStatus/ApplicationStatus.d.ts +5 -0
  48. package/dist/components/ApplicationStatus/ApplicationStatus.js +25 -0
  49. package/dist/components/ApplicationStatus/ApplicationStatus.js.map +1 -0
  50. package/dist/components/ApplicationStatus/ApplicationStatusContent.d.ts +18 -0
  51. package/dist/components/ApplicationStatus/ApplicationStatusContent.js +2 -0
  52. package/dist/components/ApplicationStatus/ApplicationStatusContent.js.map +1 -0
  53. package/dist/components/Blocks.js +2 -0
  54. package/dist/components/Blocks.js.map +1 -1
  55. package/dist/components/CreditForm/CreditForm.d.ts +2 -9
  56. package/dist/components/CreditForm/CreditForm.js +11 -19
  57. package/dist/components/CreditForm/CreditForm.js.map +1 -1
  58. package/dist/components/CreditForm/CreditFormContent.d.ts +9 -1
  59. package/dist/components/CreditForm/CreditFormStep.d.ts +17 -0
  60. package/dist/components/CreditForm/CreditFormStep.js +33 -0
  61. package/dist/components/CreditForm/CreditFormStep.js.map +1 -0
  62. package/dist/components/CreditForm/StepsNavigationButtons.d.ts +1 -1
  63. package/dist/components/CreditForm/StepsNavigationButtons.js +2 -12
  64. package/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  65. package/dist/components/CreditForm/creditFormStepsData.d.ts +40 -2
  66. package/dist/components/CreditForm/creditFormStepsData.js +31 -26
  67. package/dist/components/CreditForm/creditFormStepsData.js.map +1 -1
  68. package/dist/components/CreditForm/getInitialFormState.d.ts +62 -0
  69. package/dist/components/CreditForm/getInitialFormState.js +77 -0
  70. package/dist/components/CreditForm/getInitialFormState.js.map +1 -0
  71. package/dist/components/CreditForm/renderInputs.d.ts +3 -0
  72. package/dist/components/CreditForm/renderInputs.js +8 -0
  73. package/dist/components/CreditForm/renderInputs.js.map +1 -0
  74. package/dist/components/CreditForm/useCreditFormApi.d.ts +11 -0
  75. package/dist/components/CreditForm/useCreditFormApi.js +28 -0
  76. package/dist/components/CreditForm/useCreditFormApi.js.map +1 -0
  77. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js +2 -7
  78. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  79. package/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +5 -0
  80. package/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +44 -0
  81. package/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -0
  82. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +3 -0
  83. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +49 -0
  84. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -0
  85. package/dist/ui-kit/DatePicker/DatePicker.js +16 -5
  86. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  87. package/dist/ui-kit/DatePicker/DatePickerInput.d.ts +10 -0
  88. package/dist/ui-kit/DatePicker/DatePickerInput.js +66 -0
  89. package/dist/ui-kit/DatePicker/DatePickerInput.js.map +1 -0
  90. package/dist/ui-kit/DatePicker/getYears.d.ts +1 -0
  91. package/dist/ui-kit/DatePicker/getYears.js +3 -3
  92. package/dist/ui-kit/DatePicker/getYears.js.map +1 -1
  93. package/dist/ui-kit/DatePicker/useDatePickerManager.d.ts +3 -1
  94. package/dist/ui-kit/DatePicker/useDatePickerManager.js +29 -3
  95. package/dist/ui-kit/DatePicker/useDatePickerManager.js.map +1 -1
  96. package/dist/ui-kit/DialogManager/openDocument.d.ts +2 -0
  97. package/dist/ui-kit/DialogManager/openDocument.js +11 -0
  98. package/dist/ui-kit/DialogManager/openDocument.js.map +1 -0
  99. package/dist/ui-kit/FormField/Fields/DependentsField.js +2 -2
  100. package/dist/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  101. package/dist/ui-kit/FormField/Fields/DulNumberField.js +2 -2
  102. package/dist/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  103. package/dist/ui-kit/FormField/Fields/DulSerieField.js +2 -2
  104. package/dist/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  105. package/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +2 -2
  106. package/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  107. package/dist/ui-kit/FormField/Fields/Experience5YearsField.js +2 -2
  108. package/dist/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  109. package/dist/ui-kit/FormField/Fields/FamilyMembersField.js +2 -2
  110. package/dist/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  111. package/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js +2 -2
  112. package/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  113. package/dist/ui-kit/FormField/Fields/InnField.js +2 -2
  114. package/dist/ui-kit/FormField/Fields/InnField.js.map +1 -1
  115. package/dist/ui-kit/FormField/Fields/JobsNumberField.js +2 -2
  116. package/dist/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  117. package/dist/ui-kit/FormField/Fields/LastJobExperienceField.js +2 -2
  118. package/dist/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  119. package/dist/ui-kit/FormField/Fields/PartInBusinessField.d.ts +2 -0
  120. package/dist/ui-kit/FormField/Fields/PartInBusinessField.js +9 -0
  121. package/dist/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -0
  122. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  123. package/dist/ui-kit/FormField/SelectField.js +1 -1
  124. package/dist/ui-kit/FormField/SelectField.js.map +1 -1
  125. package/dist/ui-kit/FormField/getField.js +2 -0
  126. package/dist/ui-kit/FormField/getField.js.map +1 -1
  127. package/dist/ui-kit/FormField/getObjectValidator.js +6 -5
  128. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  129. package/dist/ui-kit/FormField/validators.d.ts +1 -0
  130. package/dist/ui-kit/FormField/validators.js +3 -1
  131. package/dist/ui-kit/FormField/validators.js.map +1 -1
  132. package/dist/ui-kit/InfoCard/InfoCard.d.ts +3 -2
  133. package/dist/ui-kit/InfoCard/InfoCard.js +2 -1
  134. package/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  135. package/dist/ui-kit/Input/InputNumberControl.d.ts +2 -0
  136. package/dist/ui-kit/Input/InputNumberControl.js +10 -0
  137. package/dist/ui-kit/Input/InputNumberControl.js.map +1 -0
  138. package/dist/ui-kit/Input/InputProps.d.ts +2 -1
  139. package/dist/ui-kit/InputNumber/InputNumber.d.ts +2 -0
  140. package/dist/ui-kit/InputNumber/InputNumber.js +12 -0
  141. package/dist/ui-kit/InputNumber/InputNumber.js.map +1 -0
  142. package/dist/ui-kit/SnilsInput/SnilsInput.js +2 -2
  143. package/dist/ui-kit/SnilsInput/SnilsInput.js.map +1 -1
  144. package/dist/ui-kit/TimerCircle/TimerCircle.js +3 -2
  145. package/dist/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  146. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +1 -1
  147. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +2 -3
  148. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +2 -2
  149. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  150. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -1
  151. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  152. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  153. package/dist/utils/normalizeWithMask.d.ts +1 -0
  154. package/dist/utils/normalizeWithMask.js +20 -0
  155. package/dist/utils/normalizeWithMask.js.map +1 -0
  156. package/lib/api/RetailAPI/updateUserProfile.d.ts +2 -0
  157. package/lib/api/RetailAPI/updateUserProfile.js +1 -1
  158. package/lib/api/RetailAPI/updateUserProfile.js.map +1 -1
  159. package/lib/api/RetailAPI/utils/getUpdateUserTask.d.ts +2 -1
  160. package/lib/api/RetailAPI/utils/getUpdateUserTask.js +39 -34
  161. package/lib/api/RetailAPI/utils/getUpdateUserTask.js.map +1 -1
  162. package/lib/common.css +1 -1
  163. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +1 -1
  164. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  165. package/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -0
  166. package/lib/components/ApplicationLeadForm/getInitialFormState.js +2 -1
  167. package/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  168. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +8 -7
  169. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  170. package/lib/components/ApplicationStatus/ApplicationStatus.d.ts +5 -0
  171. package/lib/components/ApplicationStatus/ApplicationStatus.fixture.d.ts +9 -0
  172. package/lib/components/ApplicationStatus/ApplicationStatus.js +23 -0
  173. package/lib/components/ApplicationStatus/ApplicationStatus.js.map +1 -0
  174. package/lib/components/ApplicationStatus/ApplicationStatusContent.d.ts +18 -0
  175. package/lib/components/ApplicationStatus/ApplicationStatusContent.js +2 -0
  176. package/lib/components/ApplicationStatus/ApplicationStatusContent.js.map +1 -0
  177. package/lib/components/Blocks.js +2 -0
  178. package/lib/components/Blocks.js.map +1 -1
  179. package/lib/components/CreditForm/CreditForm.d.ts +2 -9
  180. package/lib/components/CreditForm/CreditForm.js +12 -20
  181. package/lib/components/CreditForm/CreditForm.js.map +1 -1
  182. package/lib/components/CreditForm/CreditFormContent.d.ts +9 -1
  183. package/lib/components/CreditForm/CreditFormStep.d.ts +17 -0
  184. package/lib/components/CreditForm/CreditFormStep.js +31 -0
  185. package/lib/components/CreditForm/CreditFormStep.js.map +1 -0
  186. package/lib/components/CreditForm/StepsNavigationButtons.d.ts +1 -1
  187. package/lib/components/CreditForm/StepsNavigationButtons.js +2 -12
  188. package/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  189. package/lib/components/CreditForm/creditFormStepsData.d.ts +40 -2
  190. package/lib/components/CreditForm/creditFormStepsData.js +31 -26
  191. package/lib/components/CreditForm/creditFormStepsData.js.map +1 -1
  192. package/lib/components/CreditForm/getInitialFormState.d.ts +62 -0
  193. package/lib/components/CreditForm/getInitialFormState.js +74 -0
  194. package/lib/components/CreditForm/getInitialFormState.js.map +1 -0
  195. package/lib/components/CreditForm/renderInputs.d.ts +2 -0
  196. package/lib/components/CreditForm/renderInputs.js +5 -0
  197. package/lib/components/CreditForm/renderInputs.js.map +1 -0
  198. package/lib/components/CreditForm/useCreditFormApi.d.ts +11 -0
  199. package/lib/components/CreditForm/useCreditFormApi.js +25 -0
  200. package/lib/components/CreditForm/useCreditFormApi.js.map +1 -0
  201. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js +2 -7
  202. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  203. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +5 -0
  204. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.fixture.d.ts +6 -0
  205. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +42 -0
  206. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -0
  207. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +3 -0
  208. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +46 -0
  209. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -0
  210. package/lib/ui-kit/DatePicker/DatePicker.js +16 -5
  211. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  212. package/lib/ui-kit/DatePicker/DatePickerInput.d.ts +10 -0
  213. package/lib/ui-kit/DatePicker/DatePickerInput.js +64 -0
  214. package/lib/ui-kit/DatePicker/DatePickerInput.js.map +1 -0
  215. package/lib/ui-kit/DatePicker/getYears.d.ts +1 -0
  216. package/lib/ui-kit/DatePicker/getYears.js +1 -1
  217. package/lib/ui-kit/DatePicker/getYears.js.map +1 -1
  218. package/lib/ui-kit/DatePicker/useDatePickerManager.d.ts +3 -1
  219. package/lib/ui-kit/DatePicker/useDatePickerManager.js +29 -3
  220. package/lib/ui-kit/DatePicker/useDatePickerManager.js.map +1 -1
  221. package/lib/ui-kit/DialogManager/openDocument.d.ts +2 -0
  222. package/lib/ui-kit/DialogManager/openDocument.js +8 -0
  223. package/lib/ui-kit/DialogManager/openDocument.js.map +1 -0
  224. package/lib/ui-kit/FormField/Fields/DependentsField.js +2 -2
  225. package/lib/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  226. package/lib/ui-kit/FormField/Fields/DulNumberField.js +2 -2
  227. package/lib/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  228. package/lib/ui-kit/FormField/Fields/DulSerieField.js +2 -2
  229. package/lib/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  230. package/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +2 -2
  231. package/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  232. package/lib/ui-kit/FormField/Fields/Experience5YearsField.js +2 -2
  233. package/lib/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  234. package/lib/ui-kit/FormField/Fields/FamilyMembersField.js +2 -2
  235. package/lib/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  236. package/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js +2 -2
  237. package/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  238. package/lib/ui-kit/FormField/Fields/InnField.js +2 -2
  239. package/lib/ui-kit/FormField/Fields/InnField.js.map +1 -1
  240. package/lib/ui-kit/FormField/Fields/JobsNumberField.js +2 -2
  241. package/lib/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  242. package/lib/ui-kit/FormField/Fields/LastJobExperienceField.js +2 -2
  243. package/lib/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  244. package/lib/ui-kit/FormField/Fields/PartInBusinessField.d.ts +2 -0
  245. package/lib/ui-kit/FormField/Fields/PartInBusinessField.js +7 -0
  246. package/lib/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -0
  247. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  248. package/lib/ui-kit/FormField/SelectField.js +1 -1
  249. package/lib/ui-kit/FormField/SelectField.js.map +1 -1
  250. package/lib/ui-kit/FormField/getField.js +2 -0
  251. package/lib/ui-kit/FormField/getField.js.map +1 -1
  252. package/lib/ui-kit/FormField/getObjectValidator.js +7 -6
  253. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  254. package/lib/ui-kit/FormField/validators.d.ts +1 -0
  255. package/lib/ui-kit/FormField/validators.js +1 -0
  256. package/lib/ui-kit/FormField/validators.js.map +1 -1
  257. package/lib/ui-kit/InfoCard/InfoCard.d.ts +3 -2
  258. package/lib/ui-kit/InfoCard/InfoCard.js +2 -1
  259. package/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  260. package/lib/ui-kit/Input/InputNumberControl.d.ts +2 -0
  261. package/lib/ui-kit/Input/InputNumberControl.js +8 -0
  262. package/lib/ui-kit/Input/InputNumberControl.js.map +1 -0
  263. package/lib/ui-kit/Input/InputProps.d.ts +2 -1
  264. package/lib/ui-kit/InputNumber/InputNumber.d.ts +2 -0
  265. package/lib/ui-kit/InputNumber/InputNumber.js +10 -0
  266. package/lib/ui-kit/InputNumber/InputNumber.js.map +1 -0
  267. package/lib/ui-kit/SnilsInput/SnilsInput.js +2 -2
  268. package/lib/ui-kit/SnilsInput/SnilsInput.js.map +1 -1
  269. package/lib/ui-kit/TimerCircle/TimerCircle.js +3 -2
  270. package/lib/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  271. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +1 -1
  272. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +2 -3
  273. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +2 -2
  274. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  275. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -1
  276. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  277. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  278. package/lib/utils/normalizeWithMask.d.ts +1 -0
  279. package/lib/utils/normalizeWithMask.js +17 -0
  280. package/lib/utils/normalizeWithMask.js.map +1 -0
  281. package/mobile/bundle/api/RetailAPI/updateUserProfile.d.ts +2 -0
  282. package/mobile/bundle/api/RetailAPI/utils/getUpdateUserTask.d.ts +2 -1
  283. package/mobile/bundle/bundle.umd.js +462 -177
  284. package/mobile/bundle/bundle.umd.min.js +1 -1
  285. package/mobile/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -0
  286. package/mobile/bundle/components/ApplicationStatus/ApplicationStatus.d.ts +5 -0
  287. package/mobile/bundle/components/ApplicationStatus/ApplicationStatusContent.d.ts +18 -0
  288. package/mobile/bundle/components/CreditForm/CreditForm.d.ts +2 -9
  289. package/mobile/bundle/components/CreditForm/CreditFormContent.d.ts +9 -1
  290. package/mobile/bundle/components/CreditForm/CreditFormStep.d.ts +17 -0
  291. package/mobile/bundle/components/CreditForm/StepsNavigationButtons.d.ts +1 -1
  292. package/mobile/bundle/components/CreditForm/creditFormStepsData.d.ts +40 -2
  293. package/mobile/bundle/components/CreditForm/getInitialFormState.d.ts +62 -0
  294. package/mobile/bundle/components/CreditForm/renderInputs.d.ts +3 -0
  295. package/mobile/bundle/components/CreditForm/useCreditFormApi.d.ts +11 -0
  296. package/mobile/bundle/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +5 -0
  297. package/mobile/bundle/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +3 -0
  298. package/mobile/bundle/ui-kit/DatePicker/DatePickerInput.d.ts +10 -0
  299. package/mobile/bundle/ui-kit/DatePicker/getYears.d.ts +1 -0
  300. package/mobile/bundle/ui-kit/DatePicker/useDatePickerManager.d.ts +3 -1
  301. package/mobile/bundle/ui-kit/DialogManager/openDocument.d.ts +2 -0
  302. package/mobile/bundle/ui-kit/FormField/Fields/PartInBusinessField.d.ts +2 -0
  303. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  304. package/mobile/bundle/ui-kit/FormField/validators.d.ts +1 -0
  305. package/mobile/bundle/ui-kit/InfoCard/InfoCard.d.ts +3 -2
  306. package/mobile/bundle/ui-kit/Input/InputNumberControl.d.ts +2 -0
  307. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +2 -1
  308. package/mobile/bundle/ui-kit/InputNumber/InputNumber.d.ts +2 -0
  309. package/mobile/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +1 -1
  310. package/mobile/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +2 -3
  311. package/mobile/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -1
  312. package/mobile/bundle/utils/normalizeWithMask.d.ts +1 -0
  313. package/mobile/dist/api/RetailAPI/updateUserProfile.d.ts +2 -0
  314. package/mobile/dist/api/RetailAPI/updateUserProfile.js +1 -1
  315. package/mobile/dist/api/RetailAPI/updateUserProfile.js.map +1 -1
  316. package/mobile/dist/api/RetailAPI/utils/getUpdateUserTask.d.ts +2 -1
  317. package/mobile/dist/api/RetailAPI/utils/getUpdateUserTask.js +39 -34
  318. package/mobile/dist/api/RetailAPI/utils/getUpdateUserTask.js.map +1 -1
  319. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +1 -1
  320. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  321. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -0
  322. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js +2 -1
  323. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  324. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +8 -7
  325. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  326. package/mobile/dist/components/ApplicationStatus/ApplicationStatus.d.ts +5 -0
  327. package/mobile/dist/components/ApplicationStatus/ApplicationStatus.js +25 -0
  328. package/mobile/dist/components/ApplicationStatus/ApplicationStatus.js.map +1 -0
  329. package/mobile/dist/components/ApplicationStatus/ApplicationStatusContent.d.ts +18 -0
  330. package/mobile/dist/components/ApplicationStatus/ApplicationStatusContent.js +2 -0
  331. package/mobile/dist/components/ApplicationStatus/ApplicationStatusContent.js.map +1 -0
  332. package/mobile/dist/components/CreditForm/CreditForm.d.ts +2 -9
  333. package/mobile/dist/components/CreditForm/CreditForm.js +11 -19
  334. package/mobile/dist/components/CreditForm/CreditForm.js.map +1 -1
  335. package/mobile/dist/components/CreditForm/CreditFormContent.d.ts +9 -1
  336. package/mobile/dist/components/CreditForm/CreditFormStep.d.ts +17 -0
  337. package/mobile/dist/components/CreditForm/CreditFormStep.js +33 -0
  338. package/mobile/dist/components/CreditForm/CreditFormStep.js.map +1 -0
  339. package/mobile/dist/components/CreditForm/StepsNavigationButtons.d.ts +1 -1
  340. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js +2 -12
  341. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  342. package/mobile/dist/components/CreditForm/creditFormStepsData.d.ts +40 -2
  343. package/mobile/dist/components/CreditForm/creditFormStepsData.js +31 -26
  344. package/mobile/dist/components/CreditForm/creditFormStepsData.js.map +1 -1
  345. package/mobile/dist/components/CreditForm/getInitialFormState.d.ts +62 -0
  346. package/mobile/dist/components/CreditForm/getInitialFormState.js +77 -0
  347. package/mobile/dist/components/CreditForm/getInitialFormState.js.map +1 -0
  348. package/mobile/dist/components/CreditForm/renderInputs.d.ts +3 -0
  349. package/mobile/dist/components/CreditForm/renderInputs.js +8 -0
  350. package/mobile/dist/components/CreditForm/renderInputs.js.map +1 -0
  351. package/mobile/dist/components/CreditForm/useCreditFormApi.d.ts +11 -0
  352. package/mobile/dist/components/CreditForm/useCreditFormApi.js +28 -0
  353. package/mobile/dist/components/CreditForm/useCreditFormApi.js.map +1 -0
  354. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js +2 -7
  355. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  356. package/mobile/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +5 -0
  357. package/mobile/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +44 -0
  358. package/mobile/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -0
  359. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +3 -0
  360. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +49 -0
  361. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -0
  362. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +16 -5
  363. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  364. package/mobile/dist/ui-kit/DatePicker/DatePickerInput.d.ts +10 -0
  365. package/mobile/dist/ui-kit/DatePicker/DatePickerInput.js +66 -0
  366. package/mobile/dist/ui-kit/DatePicker/DatePickerInput.js.map +1 -0
  367. package/mobile/dist/ui-kit/DatePicker/getYears.d.ts +1 -0
  368. package/mobile/dist/ui-kit/DatePicker/getYears.js +3 -3
  369. package/mobile/dist/ui-kit/DatePicker/getYears.js.map +1 -1
  370. package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.d.ts +3 -1
  371. package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.js +29 -3
  372. package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.js.map +1 -1
  373. package/mobile/dist/ui-kit/DialogManager/openDocument.d.ts +2 -0
  374. package/mobile/dist/ui-kit/DialogManager/openDocument.js +11 -0
  375. package/mobile/dist/ui-kit/DialogManager/openDocument.js.map +1 -0
  376. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.js +2 -2
  377. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  378. package/mobile/dist/ui-kit/FormField/Fields/DulNumberField.js +2 -2
  379. package/mobile/dist/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  380. package/mobile/dist/ui-kit/FormField/Fields/DulSerieField.js +2 -2
  381. package/mobile/dist/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  382. package/mobile/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +2 -2
  383. package/mobile/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  384. package/mobile/dist/ui-kit/FormField/Fields/Experience5YearsField.js +2 -2
  385. package/mobile/dist/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  386. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.js +2 -2
  387. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  388. package/mobile/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js +2 -2
  389. package/mobile/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  390. package/mobile/dist/ui-kit/FormField/Fields/InnField.js +2 -2
  391. package/mobile/dist/ui-kit/FormField/Fields/InnField.js.map +1 -1
  392. package/mobile/dist/ui-kit/FormField/Fields/JobsNumberField.js +2 -2
  393. package/mobile/dist/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  394. package/mobile/dist/ui-kit/FormField/Fields/LastJobExperienceField.js +2 -2
  395. package/mobile/dist/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  396. package/mobile/dist/ui-kit/FormField/Fields/PartInBusinessField.d.ts +2 -0
  397. package/mobile/dist/ui-kit/FormField/Fields/PartInBusinessField.js +9 -0
  398. package/mobile/dist/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -0
  399. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  400. package/mobile/dist/ui-kit/FormField/SelectField.js +1 -1
  401. package/mobile/dist/ui-kit/FormField/SelectField.js.map +1 -1
  402. package/mobile/dist/ui-kit/FormField/getField.js +2 -0
  403. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  404. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +6 -5
  405. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  406. package/mobile/dist/ui-kit/FormField/validators.d.ts +1 -0
  407. package/mobile/dist/ui-kit/FormField/validators.js +3 -1
  408. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  409. package/mobile/dist/ui-kit/InfoCard/InfoCard.d.ts +3 -2
  410. package/mobile/dist/ui-kit/InfoCard/InfoCard.js +2 -1
  411. package/mobile/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  412. package/mobile/dist/ui-kit/Input/InputNumberControl.d.ts +2 -0
  413. package/mobile/dist/ui-kit/Input/InputNumberControl.js +10 -0
  414. package/mobile/dist/ui-kit/Input/InputNumberControl.js.map +1 -0
  415. package/mobile/dist/ui-kit/Input/InputProps.d.ts +2 -1
  416. package/mobile/dist/ui-kit/InputNumber/InputNumber.d.ts +2 -0
  417. package/mobile/dist/ui-kit/InputNumber/InputNumber.js +12 -0
  418. package/mobile/dist/ui-kit/InputNumber/InputNumber.js.map +1 -0
  419. package/mobile/dist/ui-kit/SnilsInput/SnilsInput.js +2 -2
  420. package/mobile/dist/ui-kit/SnilsInput/SnilsInput.js.map +1 -1
  421. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.js +3 -2
  422. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  423. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +1 -1
  424. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +2 -3
  425. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +2 -2
  426. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  427. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -1
  428. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  429. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  430. package/mobile/dist/utils/normalizeWithMask.d.ts +1 -0
  431. package/mobile/dist/utils/normalizeWithMask.js +20 -0
  432. package/mobile/dist/utils/normalizeWithMask.js.map +1 -0
  433. package/mobile/lib/api/RetailAPI/updateUserProfile.d.ts +2 -0
  434. package/mobile/lib/api/RetailAPI/updateUserProfile.js +1 -1
  435. package/mobile/lib/api/RetailAPI/updateUserProfile.js.map +1 -1
  436. package/mobile/lib/api/RetailAPI/utils/getUpdateUserTask.d.ts +2 -1
  437. package/mobile/lib/api/RetailAPI/utils/getUpdateUserTask.js +39 -34
  438. package/mobile/lib/api/RetailAPI/utils/getUpdateUserTask.js.map +1 -1
  439. package/mobile/lib/common.css +1 -1
  440. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +1 -1
  441. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  442. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -0
  443. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js +2 -1
  444. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  445. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +8 -7
  446. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  447. package/mobile/lib/components/ApplicationStatus/ApplicationStatus.d.ts +5 -0
  448. package/mobile/lib/components/ApplicationStatus/ApplicationStatus.js +23 -0
  449. package/mobile/lib/components/ApplicationStatus/ApplicationStatus.js.map +1 -0
  450. package/mobile/lib/components/ApplicationStatus/ApplicationStatusContent.d.ts +18 -0
  451. package/mobile/lib/components/ApplicationStatus/ApplicationStatusContent.js +2 -0
  452. package/mobile/lib/components/ApplicationStatus/ApplicationStatusContent.js.map +1 -0
  453. package/mobile/lib/components/CreditForm/CreditForm.d.ts +2 -9
  454. package/mobile/lib/components/CreditForm/CreditForm.js +12 -20
  455. package/mobile/lib/components/CreditForm/CreditForm.js.map +1 -1
  456. package/mobile/lib/components/CreditForm/CreditFormContent.d.ts +9 -1
  457. package/mobile/lib/components/CreditForm/CreditFormStep.d.ts +17 -0
  458. package/mobile/lib/components/CreditForm/CreditFormStep.js +31 -0
  459. package/mobile/lib/components/CreditForm/CreditFormStep.js.map +1 -0
  460. package/mobile/lib/components/CreditForm/StepsNavigationButtons.d.ts +1 -1
  461. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js +2 -12
  462. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  463. package/mobile/lib/components/CreditForm/creditFormStepsData.d.ts +40 -2
  464. package/mobile/lib/components/CreditForm/creditFormStepsData.js +31 -26
  465. package/mobile/lib/components/CreditForm/creditFormStepsData.js.map +1 -1
  466. package/mobile/lib/components/CreditForm/getInitialFormState.d.ts +62 -0
  467. package/mobile/lib/components/CreditForm/getInitialFormState.js +74 -0
  468. package/mobile/lib/components/CreditForm/getInitialFormState.js.map +1 -0
  469. package/mobile/lib/components/CreditForm/renderInputs.d.ts +3 -0
  470. package/mobile/lib/components/CreditForm/renderInputs.js +5 -0
  471. package/mobile/lib/components/CreditForm/renderInputs.js.map +1 -0
  472. package/mobile/lib/components/CreditForm/useCreditFormApi.d.ts +11 -0
  473. package/mobile/lib/components/CreditForm/useCreditFormApi.js +25 -0
  474. package/mobile/lib/components/CreditForm/useCreditFormApi.js.map +1 -0
  475. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js +2 -7
  476. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  477. package/mobile/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +5 -0
  478. package/mobile/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +42 -0
  479. package/mobile/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -0
  480. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.d.ts +3 -0
  481. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +46 -0
  482. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -0
  483. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +16 -5
  484. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  485. package/mobile/lib/ui-kit/DatePicker/DatePickerInput.d.ts +10 -0
  486. package/mobile/lib/ui-kit/DatePicker/DatePickerInput.js +64 -0
  487. package/mobile/lib/ui-kit/DatePicker/DatePickerInput.js.map +1 -0
  488. package/mobile/lib/ui-kit/DatePicker/getYears.d.ts +1 -0
  489. package/mobile/lib/ui-kit/DatePicker/getYears.js +1 -1
  490. package/mobile/lib/ui-kit/DatePicker/getYears.js.map +1 -1
  491. package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.d.ts +3 -1
  492. package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.js +29 -3
  493. package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.js.map +1 -1
  494. package/mobile/lib/ui-kit/DialogManager/openDocument.d.ts +2 -0
  495. package/mobile/lib/ui-kit/DialogManager/openDocument.js +8 -0
  496. package/mobile/lib/ui-kit/DialogManager/openDocument.js.map +1 -0
  497. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.js +2 -2
  498. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  499. package/mobile/lib/ui-kit/FormField/Fields/DulNumberField.js +2 -2
  500. package/mobile/lib/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  501. package/mobile/lib/ui-kit/FormField/Fields/DulSerieField.js +2 -2
  502. package/mobile/lib/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  503. package/mobile/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +2 -2
  504. package/mobile/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  505. package/mobile/lib/ui-kit/FormField/Fields/Experience5YearsField.js +2 -2
  506. package/mobile/lib/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  507. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.js +2 -2
  508. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  509. package/mobile/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js +2 -2
  510. package/mobile/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  511. package/mobile/lib/ui-kit/FormField/Fields/InnField.js +2 -2
  512. package/mobile/lib/ui-kit/FormField/Fields/InnField.js.map +1 -1
  513. package/mobile/lib/ui-kit/FormField/Fields/JobsNumberField.js +2 -2
  514. package/mobile/lib/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  515. package/mobile/lib/ui-kit/FormField/Fields/LastJobExperienceField.js +2 -2
  516. package/mobile/lib/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  517. package/mobile/lib/ui-kit/FormField/Fields/PartInBusinessField.d.ts +2 -0
  518. package/mobile/lib/ui-kit/FormField/Fields/PartInBusinessField.js +7 -0
  519. package/mobile/lib/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -0
  520. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  521. package/mobile/lib/ui-kit/FormField/SelectField.js +1 -1
  522. package/mobile/lib/ui-kit/FormField/SelectField.js.map +1 -1
  523. package/mobile/lib/ui-kit/FormField/getField.js +2 -0
  524. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  525. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +7 -6
  526. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  527. package/mobile/lib/ui-kit/FormField/validators.d.ts +1 -0
  528. package/mobile/lib/ui-kit/FormField/validators.js +1 -0
  529. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  530. package/mobile/lib/ui-kit/InfoCard/InfoCard.d.ts +3 -2
  531. package/mobile/lib/ui-kit/InfoCard/InfoCard.js +2 -1
  532. package/mobile/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  533. package/mobile/lib/ui-kit/Input/InputNumberControl.d.ts +2 -0
  534. package/mobile/lib/ui-kit/Input/InputNumberControl.js +8 -0
  535. package/mobile/lib/ui-kit/Input/InputNumberControl.js.map +1 -0
  536. package/mobile/lib/ui-kit/Input/InputProps.d.ts +2 -1
  537. package/mobile/lib/ui-kit/InputNumber/InputNumber.d.ts +2 -0
  538. package/mobile/lib/ui-kit/InputNumber/InputNumber.js +10 -0
  539. package/mobile/lib/ui-kit/InputNumber/InputNumber.js.map +1 -0
  540. package/mobile/lib/ui-kit/SnilsInput/SnilsInput.js +2 -2
  541. package/mobile/lib/ui-kit/SnilsInput/SnilsInput.js.map +1 -1
  542. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.js +3 -2
  543. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  544. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +1 -1
  545. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +2 -3
  546. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +2 -2
  547. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  548. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +1 -1
  549. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
  550. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  551. package/mobile/lib/utils/normalizeWithMask.d.ts +1 -0
  552. package/mobile/lib/utils/normalizeWithMask.js +17 -0
  553. package/mobile/lib/utils/normalizeWithMask.js.map +1 -0
  554. package/mobile/src/api/RetailAPI/updateUserProfile.ts +3 -1
  555. package/mobile/src/api/RetailAPI/utils/getUpdateUserTask.ts +49 -35
  556. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +1 -1
  557. package/mobile/src/components/ApplicationLeadForm/getInitialFormState.tsx +4 -1
  558. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +12 -7
  559. package/mobile/src/components/ApplicationStatus/ApplicationStatus.example.json +6 -0
  560. package/mobile/src/components/ApplicationStatus/ApplicationStatus.tsx +108 -0
  561. package/mobile/src/components/ApplicationStatus/ApplicationStatus.ui.json +1 -0
  562. package/mobile/src/components/ApplicationStatus/ApplicationStatusContent.ts +19 -0
  563. package/mobile/src/components/CreditForm/CreditForm.tsx +36 -56
  564. package/mobile/src/components/CreditForm/CreditFormContent.ts +13 -1
  565. package/mobile/src/components/CreditForm/CreditFormStep.tsx +65 -0
  566. package/mobile/src/components/CreditForm/StepsNavigationButtons.tsx +19 -38
  567. package/mobile/src/components/CreditForm/creditFormStepsData.tsx +31 -26
  568. package/mobile/src/components/CreditForm/getInitialFormState.tsx +145 -0
  569. package/mobile/src/components/CreditForm/renderInputs.tsx +6 -0
  570. package/mobile/src/components/CreditForm/useCreditFormApi.tsx +36 -0
  571. package/mobile/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +2 -16
  572. package/mobile/src/ui-kit/ConsentBkiDialog/ConsentBkiDialog.tsx +73 -0
  573. package/mobile/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +58 -0
  574. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +34 -13
  575. package/mobile/src/ui-kit/DatePicker/DatePickerInput.tsx +100 -0
  576. package/mobile/src/ui-kit/DatePicker/getYears.ts +1 -1
  577. package/mobile/src/ui-kit/DatePicker/useDatePickerManager.ts +51 -3
  578. package/mobile/src/ui-kit/DialogManager/openDocument.tsx +13 -0
  579. package/mobile/src/ui-kit/FormField/Fields/DependentsField.tsx +3 -3
  580. package/mobile/src/ui-kit/FormField/Fields/DulNumberField.tsx +3 -3
  581. package/mobile/src/ui-kit/FormField/Fields/DulSerieField.tsx +3 -3
  582. package/mobile/src/ui-kit/FormField/Fields/DulSubdivisionCodeField.tsx +3 -3
  583. package/mobile/src/ui-kit/FormField/Fields/Experience5YearsField.tsx +3 -2
  584. package/mobile/src/ui-kit/FormField/Fields/FamilyMembersField.tsx +3 -3
  585. package/mobile/src/ui-kit/FormField/Fields/GeneralSeniorityField.tsx +3 -2
  586. package/mobile/src/ui-kit/FormField/Fields/InnField.tsx +3 -3
  587. package/mobile/src/ui-kit/FormField/Fields/JobsNumberField.tsx +5 -5
  588. package/mobile/src/ui-kit/FormField/Fields/LastJobExperienceField.tsx +3 -2
  589. package/mobile/src/ui-kit/FormField/Fields/PartInBusinessField.tsx +15 -0
  590. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +2 -1
  591. package/mobile/src/ui-kit/FormField/SelectField.tsx +3 -1
  592. package/mobile/src/ui-kit/FormField/getField.tsx +2 -0
  593. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +7 -7
  594. package/mobile/src/ui-kit/FormField/validators.ts +5 -0
  595. package/mobile/src/ui-kit/InfoCard/InfoCard.tsx +9 -3
  596. package/mobile/src/ui-kit/Input/InputNumberControl.tsx +18 -0
  597. package/mobile/src/ui-kit/Input/InputProps.ts +2 -1
  598. package/mobile/src/ui-kit/InputNumber/InputNumber.tsx +24 -0
  599. package/mobile/src/ui-kit/SnilsInput/SnilsInput.tsx +2 -2
  600. package/mobile/src/ui-kit/TimerCircle/TimerCircle.tsx +9 -4
  601. package/mobile/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +1 -1
  602. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +4 -4
  603. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +2 -2
  604. package/mobile/src/utils/normalizeWithMask.ts +23 -0
  605. package/package.json +2 -2
  606. package/src/api/RetailAPI/updateUserProfile.ts +3 -1
  607. package/src/api/RetailAPI/utils/getUpdateUserTask.ts +49 -35
  608. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +1 -1
  609. package/src/components/ApplicationLeadForm/getInitialFormState.tsx +4 -1
  610. package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +12 -7
  611. package/src/components/ApplicationStatus/ApplicationStatus.example.json +6 -0
  612. package/src/components/ApplicationStatus/ApplicationStatus.fixture.tsx +129 -0
  613. package/src/components/ApplicationStatus/ApplicationStatus.tsx +108 -0
  614. package/src/components/ApplicationStatus/ApplicationStatus.ui.json +1 -0
  615. package/src/components/ApplicationStatus/ApplicationStatusContent.ts +19 -0
  616. package/src/components/Blocks.ts +2 -0
  617. package/src/components/CreditForm/CreditForm.fixture.tsx +27 -1
  618. package/src/components/CreditForm/CreditForm.tsx +36 -56
  619. package/src/components/CreditForm/CreditFormContent.ts +13 -1
  620. package/src/components/CreditForm/CreditFormStep.tsx +65 -0
  621. package/src/components/CreditForm/StepsNavigationButtons.tsx +19 -38
  622. package/src/components/CreditForm/creditFormStepsData.tsx +31 -26
  623. package/src/components/CreditForm/getInitialFormState.tsx +145 -0
  624. package/src/components/CreditForm/renderInputs.tsx +6 -0
  625. package/src/components/CreditForm/useCreditFormApi.tsx +36 -0
  626. package/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +2 -16
  627. package/src/ui-kit/ConsentBkiDialog/ConsentBkiDialog.fixture.tsx +7 -0
  628. package/src/ui-kit/ConsentBkiDialog/ConsentBkiDialog.tsx +73 -0
  629. package/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +58 -0
  630. package/src/ui-kit/DatePicker/DatePicker.tsx +34 -13
  631. package/src/ui-kit/DatePicker/DatePickerInput.tsx +100 -0
  632. package/src/ui-kit/DatePicker/getYears.ts +1 -1
  633. package/src/ui-kit/DatePicker/useDatePickerManager.ts +51 -3
  634. package/src/ui-kit/DialogManager/openDocument.tsx +13 -0
  635. package/src/ui-kit/FormField/Fields/DependentsField.tsx +3 -3
  636. package/src/ui-kit/FormField/Fields/DulNumberField.tsx +3 -3
  637. package/src/ui-kit/FormField/Fields/DulSerieField.tsx +3 -3
  638. package/src/ui-kit/FormField/Fields/DulSubdivisionCodeField.tsx +3 -3
  639. package/src/ui-kit/FormField/Fields/Experience5YearsField.tsx +3 -2
  640. package/src/ui-kit/FormField/Fields/FamilyMembersField.tsx +3 -3
  641. package/src/ui-kit/FormField/Fields/GeneralSeniorityField.tsx +3 -2
  642. package/src/ui-kit/FormField/Fields/InnField.tsx +3 -3
  643. package/src/ui-kit/FormField/Fields/JobsNumberField.tsx +5 -5
  644. package/src/ui-kit/FormField/Fields/LastJobExperienceField.tsx +3 -2
  645. package/src/ui-kit/FormField/Fields/PartInBusinessField.tsx +15 -0
  646. package/src/ui-kit/FormField/NameFieldDef.ts +2 -1
  647. package/src/ui-kit/FormField/SelectField.tsx +3 -1
  648. package/src/ui-kit/FormField/getField.tsx +2 -0
  649. package/src/ui-kit/FormField/getObjectValidator.tsx +7 -7
  650. package/src/ui-kit/FormField/validators.ts +5 -0
  651. package/src/ui-kit/InfoCard/InfoCard.tsx +9 -3
  652. package/src/ui-kit/Input/InputNumberControl.tsx +18 -0
  653. package/src/ui-kit/Input/InputProps.ts +2 -1
  654. package/src/ui-kit/InputNumber/InputNumber.tsx +24 -0
  655. package/src/ui-kit/SnilsInput/SnilsInput.tsx +2 -2
  656. package/src/ui-kit/TimerCircle/TimerCircle.tsx +9 -4
  657. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +1 -1
  658. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +4 -4
  659. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +2 -2
  660. package/src/utils/normalizeWithMask.ts +23 -0
  661. package/bundle/ui-kit/SnilsInput/normalizeSnils.d.ts +0 -1
  662. package/dist/ui-kit/SnilsInput/normalizeSnils.d.ts +0 -1
  663. package/dist/ui-kit/SnilsInput/normalizeSnils.js +0 -23
  664. package/dist/ui-kit/SnilsInput/normalizeSnils.js.map +0 -1
  665. package/lib/ui-kit/SnilsInput/normalizeSnils.d.ts +0 -1
  666. package/lib/ui-kit/SnilsInput/normalizeSnils.js +0 -20
  667. package/lib/ui-kit/SnilsInput/normalizeSnils.js.map +0 -1
  668. package/mobile/bundle/ui-kit/SnilsInput/normalizeSnils.d.ts +0 -1
  669. package/mobile/dist/ui-kit/SnilsInput/normalizeSnils.d.ts +0 -1
  670. package/mobile/dist/ui-kit/SnilsInput/normalizeSnils.js +0 -23
  671. package/mobile/dist/ui-kit/SnilsInput/normalizeSnils.js.map +0 -1
  672. package/mobile/lib/ui-kit/SnilsInput/normalizeSnils.d.ts +0 -1
  673. package/mobile/lib/ui-kit/SnilsInput/normalizeSnils.js +0 -20
  674. package/mobile/lib/ui-kit/SnilsInput/normalizeSnils.js.map +0 -1
  675. package/mobile/src/ui-kit/SnilsInput/normalizeSnils.ts +0 -29
  676. package/src/ui-kit/SnilsInput/normalizeSnils.ts +0 -29
@@ -1410,6 +1410,7 @@
1410
1410
  const ERROR_MESSAGE = 'Некорректно заполненное поле';
1411
1411
  const defaultValidator = (errorMsg) => required(errorMsg ? errorMsg : ERROR_MESSAGE);
1412
1412
  const defaultSelectValidator = validator((_) => _?.key && _?.key !== '')(ERROR_MESSAGE);
1413
+ const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 0 && _.length <= 2)(errorMsg ? errorMsg : ERROR_MESSAGE);
1413
1414
  const nameValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1)(errorMsg ? errorMsg : ERROR_MESSAGE);
1414
1415
  const lengthStringValidator = (maxLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= maxLength)(errorMsg ? errorMsg : ERROR_MESSAGE);
1415
1416
  const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
@@ -1467,10 +1468,10 @@
1467
1468
  inn: innValidator('Укажите ИНН'),
1468
1469
  legalForm: defaultValidator('Укажите ОПФ'),
1469
1470
  organizationName: defaultValidator('Укажите наименование организации'),
1470
- generalSeniority: defaultValidator(),
1471
- lastJobExperience: defaultValidator('Укажите стаж на последнем месте работы'),
1472
- experience5Years: defaultValidator('Укажите общий стаж за последние 5 лет'),
1473
- jobsNumber: defaultValidator('Укажите количество лет стажа'),
1471
+ generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
1472
+ lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
1473
+ experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
1474
+ jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
1474
1475
  beginDate: defaultValidator('Укажите дату заключения трудового договора'),
1475
1476
  fullAddress: defaultValidator(),
1476
1477
  partnerComments: defaultValidator(),
@@ -1512,9 +1513,10 @@
1512
1513
  shareholderFlg: defaultValidator(),
1513
1514
  legalEntityName: defaultValidator(),
1514
1515
  bankEmployeeCode: defaultValidator(),
1516
+ partInBusiness: defaultValidator(),
1515
1517
  };
1516
1518
  const getObjectValidator = (inputs) => {
1517
- const requiredInputs = getNamesFromInput(inputs.filter((_) => ('required' in _ ? _.required : false)));
1519
+ const requiredInputs = getNamesFromInput(inputs.filter((_) => Boolean(_?.required)));
1518
1520
  return Object.fromEntries(requiredInputs.map((_) => [_, validatorObj?.[_]]));
1519
1521
  };
1520
1522
 
@@ -1732,7 +1734,7 @@
1732
1734
  const leadDescription = (source && source?.map((_) => _.description)) || [];
1733
1735
  return (jsx(SelectControl, { placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430", label: label, options: arrayToOptions$1(leadDescription), ...getValidation(field(fieldName), validatorObj[fieldName], input?.required) }));
1734
1736
  });
1735
- const arrayToOptions$1 = (array) => (array ?? []).map((_) => ({ key: _, value: _ }));
1737
+ const arrayToOptions$1 = (array) => (array ?? []).map((_) => ({ key: _, text: _ }));
1736
1738
 
1737
1739
  const AmountWorkersField = JSX(({ field, input }) => {
1738
1740
  const { data: amountWorkers } = useLeadFormData('EMPLOYEES_NUMBER');
@@ -1855,6 +1857,83 @@
1855
1857
  }) })] }));
1856
1858
  });
1857
1859
 
1860
+ function normalizeWithMask(value, pattern) {
1861
+ const valueNumbers = value.replace(/\D/g, '');
1862
+ if (valueNumbers === '' || value?.length === pattern.length) {
1863
+ return value;
1864
+ }
1865
+ const patternInArr = [...pattern];
1866
+ const firstPlaceholderIndex = patternInArr.findIndex(isPlaceholder$1);
1867
+ const valueWildcardIndicies = patternInArr.map((_, i) => isWildcard$1(_) ? patternInArr.slice(0, i).filter(isWildcard$1).length : -1);
1868
+ const applyPlaceholder = (_, i) => isDigit$1(_) ? _ : valueNumbers.charAt(valueWildcardIndicies[i]) || _;
1869
+ const resultInArr = patternInArr.map(applyPlaceholder);
1870
+ const resultLength = valueWildcardIndicies.indexOf(valueNumbers.length - 1) + 1;
1871
+ return resultInArr.slice(0, Math.max(firstPlaceholderIndex, resultLength)).join('');
1872
+ }
1873
+ const isPlaceholder$1 = (_) => _ === '_';
1874
+ const isDigit$1 = (_) => /\d/.test(_);
1875
+ const isWildcard$1 = (_) => isPlaceholder$1(_) || isDigit$1(_);
1876
+
1877
+ const START_YEAR = 1940;
1878
+ const getYears = () => Array.from({ length: new Date().getFullYear() - START_YEAR + 1 }, (_, i) => START_YEAR + i);
1879
+
1880
+ const ICON_PROPS$1 = {
1881
+ name: 'CalendarIcon',
1882
+ iconVersion: 'black',
1883
+ width: '24',
1884
+ height: '24',
1885
+ };
1886
+ const DatePickerInput = JSX(({ setSelectedMonth, setSelectedYear, className, value, onChange, onClick }) => {
1887
+ const ref = useRef(null);
1888
+ const [inputValue, setInputValue] = useState(value || '');
1889
+ const handleChange = (ev) => {
1890
+ const val = ev.target?.value;
1891
+ if (typeof val === 'string' && val?.length < 11) {
1892
+ setInputValue(normalizeWithMask(val, '__.__.____'));
1893
+ }
1894
+ };
1895
+ const onBlur = () => {
1896
+ if (checkIsValidDate(inputValue)) {
1897
+ const [day, month, year] = inputValue.split('.');
1898
+ onChange?.(new Date(Number(year), Number(month) - 1, Number(day)));
1899
+ setSelectedMonth(Number(month) - 1);
1900
+ setSelectedYear(Number(year));
1901
+ }
1902
+ else {
1903
+ setInputValue(value || '');
1904
+ }
1905
+ };
1906
+ const onInputClick = () => {
1907
+ if (ref.current !== null) {
1908
+ ref.current.focus();
1909
+ }
1910
+ onClick?.();
1911
+ };
1912
+ useEffect(() => {
1913
+ setInputValue(value || '');
1914
+ }, [value]);
1915
+ return (jsxs("div", { onClick: onInputClick, className: style('relative', className), children: [jsx("input", { ref: ref, className: "h-full w-full px-m text-l text-black focus-visible:outline-none", value: inputValue, type: "text", onChange: handleChange, onBlur: onBlur }), jsx(Icon, { className: "mr-s", ...ICON_PROPS$1 })] }));
1916
+ });
1917
+ const isValidYear = (year) => Number(year) >= START_YEAR && Number(year) <= new Date().getFullYear();
1918
+ const isValidMonth = (month) => Number(month) > 0 && Number(month) < 13;
1919
+ const checkIsValidDate = (date) => {
1920
+ const [day, month, year] = date.split('.');
1921
+ if (isValidYear(year)) {
1922
+ if (isValidMonth(month)) {
1923
+ const currentDate = new Date(Number(year), Number(month) - 1, 1);
1924
+ let maxDateOfMonth = 0;
1925
+ while (currentDate.getMonth() === Number(month) - 1) {
1926
+ currentDate.setDate(currentDate.getDate() + 1);
1927
+ maxDateOfMonth++;
1928
+ }
1929
+ if (Number(day) > 0 && Number(day) <= maxDateOfMonth) {
1930
+ return true;
1931
+ }
1932
+ }
1933
+ }
1934
+ return false;
1935
+ };
1936
+
1858
1937
  const months = [
1859
1938
  'Январь',
1860
1939
  'Февраль',
@@ -1870,15 +1949,12 @@
1870
1949
  'Декабрь',
1871
1950
  ];
1872
1951
 
1873
- const START_YEAR = 1940;
1874
- const getYears = () => Array.from({ length: new Date().getFullYear() - START_YEAR + 1 }, (_, i) => START_YEAR + i);
1875
-
1876
1952
  const MONTHS_COUNT = 11;
1877
1953
  const MONTHS_OPTIONS = months.map((key) => ({ key }));
1878
1954
  const YEARS_OPTIONS = getYears()
1879
1955
  .reverse()
1880
1956
  .map((key) => ({ key: String(key) }));
1881
- const useDatePickerManager = ({ onShowCalendar, showCalendar, selectedMonth, onMonthSelect, onYearSelect, selectedYear, }) => {
1957
+ const useDatePickerManager = ({ onShowCalendar, showCalendar, selectedMonth, onMonthSelect, onYearSelect, selectedYear, onChange, value, }) => {
1882
1958
  const close = useCallback(() => showCalendar && onShowCalendar(false), [showCalendar]);
1883
1959
  const ref = useOutsideClick(close);
1884
1960
  const handleChangeVisibleCalendar = useCallback(() => onShowCalendar(!showCalendar), [showCalendar]);
@@ -1900,8 +1976,21 @@
1900
1976
  onYearSelect(selectedYear - 1);
1901
1977
  }
1902
1978
  }, [selectedMonth]);
1903
- const handleSelectMonth = useCallback(({ key }) => onMonthSelect(months.indexOf(key)), []);
1904
- const handleSelectYear = useCallback(({ key }) => onYearSelect(Number(key)), []);
1979
+ const handleSelectMonth = useCallback(({ key }) => {
1980
+ onMonthSelect(months.indexOf(key));
1981
+ const maxDateOfMonth = calculateMaxDaysOfMonth(selectedYear, months.indexOf(key));
1982
+ handleChangeMonth({
1983
+ maxDateOfMonth,
1984
+ selectedYear,
1985
+ selectedMonth: months.indexOf(key),
1986
+ value,
1987
+ onChange,
1988
+ });
1989
+ }, [value]);
1990
+ const handleSelectYear = useCallback(({ key }) => {
1991
+ onYearSelect(Number(key));
1992
+ value && onChange?.(new Date(Number(key), selectedMonth, value?.getDate()));
1993
+ }, [value]);
1905
1994
  return {
1906
1995
  handleChangeVisibleCalendar,
1907
1996
  handleNextMonth,
@@ -1913,6 +2002,19 @@
1913
2002
  ref,
1914
2003
  };
1915
2004
  };
2005
+ const calculateMaxDaysOfMonth = (selectedYear, selectedMonth) => {
2006
+ const date = new Date(selectedYear, selectedMonth, 1);
2007
+ let maxDateOfMonth = 0;
2008
+ while (date.getMonth() === selectedMonth) {
2009
+ maxDateOfMonth++;
2010
+ date.setDate(date.getDate() + 1);
2011
+ }
2012
+ return maxDateOfMonth;
2013
+ };
2014
+ const handleChangeMonth = ({ maxDateOfMonth, selectedYear, selectedMonth, value, onChange, }) => {
2015
+ value &&
2016
+ onChange?.(new Date(selectedYear, selectedMonth, Math.min(maxDateOfMonth, value.getDate())));
2017
+ };
1916
2018
 
1917
2019
  const ICON_PROPS = {
1918
2020
  name: 'ArrowUpIcon',
@@ -1925,9 +2027,11 @@
1925
2027
  iconVersion: 'black',
1926
2028
  isBorder: false,
1927
2029
  };
1928
- const formStyle = 'flex justify-between items-center h-14 px-m py-s border rounded-md cursor-pointer ' +
2030
+ const formStyle = 'flex justify-between items-center h-14 py-s border rounded-md cursor-pointer ' +
1929
2031
  'hover:border-black active:border-black focus:border-black';
1930
- const DatePicker = JSX(({ className = '', label = '', value, valid = true, minDate, maxDate, onChange }) => {
2032
+ const DatePicker = JSX(
2033
+ // eslint-disable-next-line max-lines-per-function
2034
+ ({ className = '', label = '', value, valid = true, minDate, maxDate, onChange }) => {
1931
2035
  const [showCalendar, { setValue }] = useBool(false);
1932
2036
  const [selectedMonth, setSelectedMonth] = useState(value?.getMonth() || new Date().getMonth());
1933
2037
  const [selectedYear, setSelectedYear] = useState(value?.getFullYear() || new Date().getFullYear());
@@ -1938,13 +2042,22 @@
1938
2042
  selectedYear,
1939
2043
  selectedMonth,
1940
2044
  showCalendar,
2045
+ onChange,
2046
+ value,
1941
2047
  });
1942
2048
  const spaceAbove = useElementSpace(ref, 370);
1943
- return (jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
2049
+ return (jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), jsxs("div", { className: "relative", children: [renderDatePickerForm({
2050
+ handleChangeVisibleCalendar,
2051
+ value,
2052
+ valid,
2053
+ onChange,
2054
+ setSelectedMonth,
2055
+ setSelectedYear,
2056
+ }), showCalendar ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
1944
2057
  'bottom-full': spaceAbove,
1945
2058
  }), children: [jsxs("div", { className: "flex gap-s", children: [jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), jsx("div", { className: "my-auto", onClick: handleNextMonth, children: jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate, setValue: setValue })] })) : null] })] }));
1946
2059
  });
1947
- const renderDatePickerForm = (handleChangeVisibleCalendar, value, valid) => (jsxs("div", { onClick: handleChangeVisibleCalendar, className: style(formStyle, valid ? 'border-gray' : 'border-error'), children: [jsx(Paragraph, { children: value && formatDate(value) }), jsx(Icon, { ...ICON_PROPS, name: "CalendarIcon" })] }));
2060
+ const renderDatePickerForm = ({ handleChangeVisibleCalendar, value, valid, onChange, setSelectedMonth, setSelectedYear, }) => (jsx(DatePickerInput, { onChange: onChange, onClick: handleChangeVisibleCalendar, value: value && formatDate(value), setSelectedMonth: setSelectedMonth, setSelectedYear: setSelectedYear, className: style(formStyle, valid ? 'border-gray' : 'border-error') }));
1948
2061
 
1949
2062
  const DatePickerControl = JSX(({ className, label, error, errors, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(DatePicker, { label: getRequiredLabel({ label, errors }), valid: Boolean(!error), ...rest }), renderErrorText(error)] })));
1950
2063
 
@@ -1991,17 +2104,6 @@
1991
2104
  },
1992
2105
  };
1993
2106
 
1994
- 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" }) })));
1995
-
1996
- const Dialog = JSX(({ className, head, children, onClose, onClick }) => {
1997
- const { close } = useDialogManager();
1998
- const handleClose = useCallback(() => {
1999
- close();
2000
- onClose && onClose();
2001
- }, [onClose]);
2002
- return (jsxs("div", { onClick: onClick, className: style('relative min-h-full bg-white pt-0 p-lg', className), role: "dialog", children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: handleClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] }));
2003
- });
2004
-
2005
2107
  async function doRequest(url, method, body) {
2006
2108
  const response = await fetch(`${API_BASE_URI}${url}`, {
2007
2109
  method,
@@ -2031,16 +2133,28 @@
2031
2133
  return URL.createObjectURL(response);
2032
2134
  };
2033
2135
 
2034
- const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
2035
- const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
2036
- const { open } = useDialogManager();
2037
- return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(LinkButton, { className: "text-primary-main", onClick: () => handleOpenDocument(docId, open), children: jsx(Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), renderErrorText(error)] }));
2136
+ 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" }) })));
2137
+
2138
+ const Dialog = JSX(({ className, head, children, onClose, onClick }) => {
2139
+ const { close } = useDialogManager();
2140
+ const handleClose = useCallback(() => {
2141
+ close();
2142
+ onClose && onClose();
2143
+ }, [onClose]);
2144
+ return (jsxs("div", { onClick: onClick, className: style('relative min-h-full bg-white pt-0 p-lg', className), role: "dialog", children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: handleClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] }));
2038
2145
  });
2039
- const handleOpenDocument = async (id, open) => {
2146
+
2147
+ const openDocument = async (id, open) => {
2040
2148
  const document = await getDocument(id);
2041
2149
  open(jsx(Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", children: jsx("iframe", { src: `${document}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" }) }));
2042
2150
  };
2043
2151
 
2152
+ const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
2153
+ const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
2154
+ const { open } = useDialogManager();
2155
+ return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(LinkButton, { className: "text-primary-main", onClick: () => openDocument(docId, open), children: jsx(Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), renderErrorText(error)] }));
2156
+ });
2157
+
2044
2158
  const ConsentField = JSX(({ field, input }) => input && input.name ? (jsx(CheckboxWithDoc, { text: CONSENTS[input.name]?.text, docId: CONSENTS[input.name]?.docId, ...getValidation(field(input.name), validatorObj[input.name], input?.required) })) : null);
2045
2159
 
2046
2160
  const LABEL_TEXT =
@@ -2051,7 +2165,15 @@
2051
2165
  return (jsx(SelectField, { field: field, source: creditInRshbCd, label: LABEL_TEXT, fieldName: "creditInRshbCd", input: input }));
2052
2166
  });
2053
2167
 
2054
- const DependentsField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", type: "number", ...getValidation(field('dependents'), validatorObj.dependents, input?.required), ...input })));
2168
+ const InputNumber = JSX(({ children, onChange, inputLength, ...inputProps }) => {
2169
+ const handleChange = useCallback((v) => onChange && inputLength && v.length <= inputLength && onChange(normalizeInput(v)), [onChange]);
2170
+ return (jsx(Input, { ...inputProps, onChange: handleChange, onFocus: (ev) => handleChange(ev?.target?.value || ''), children: children }));
2171
+ });
2172
+ const normalizeInput = (value) => value.replace(/\D/g, '');
2173
+
2174
+ const InputNumberControl = JSX(({ className, label, error, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(InputNumber, { "aria-label": label, label: getRequiredLabel({ label, errors: rest?.errors }), valid: Boolean(!error), ...rest }), renderErrorText(error)] })));
2175
+
2176
+ const DependentsField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", inputLength: 2, ...getValidation(field('dependents'), validatorObj.dependents, input?.required), ...input })));
2055
2177
 
2056
2178
  const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...getValidation(field('desiredMeetingDate'), validatorObj.meetingDay, input?.required) })));
2057
2179
 
@@ -2067,15 +2189,15 @@
2067
2189
  return (jsx(InputControl, { label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...getValidation(field('dulIssuedBy'), validatorObj.dulIssuedBy, input?.required), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
2068
2190
  });
2069
2191
 
2070
- const DulNumberField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041D\u043E\u043C\u0435\u0440 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", type: "number", ...getValidation(field('dulNumber'), validatorObj.dulNumber, input?.required) })));
2192
+ const DulNumberField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u041D\u043E\u043C\u0435\u0440 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", inputLength: 6, ...getValidation(field('dulNumber'), validatorObj.dulNumber, input?.required) })));
2071
2193
 
2072
- const DulSerieField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u0435\u0440\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", type: "number", ...getValidation(field('dulSerie'), validatorObj.dulSerie, input?.required) })));
2194
+ const DulSerieField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u0421\u0435\u0440\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", inputLength: 4, ...getValidation(field('dulSerie'), validatorObj.dulSerie, input?.required) })));
2073
2195
 
2074
2196
  const DulSubdivisionCodeField = JSX(({ field, input }) => {
2075
2197
  const onDaDataChange = useCallback((item) => {
2076
2198
  field?.('dulIssuedBy')?.onChange?.(item?.data?.name);
2077
2199
  }, []);
2078
- return (jsx(InputControl, { label: "\u041A\u043E\u0434 \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F", type: "number", ...input, ...getValidation(field('dulSubdivisionCode'), validatorObj.dulSubdivisionCode, input?.required), onDaDataChange: onDaDataChange }));
2200
+ return (jsx(InputNumberControl, { label: "\u041A\u043E\u0434 \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F", ...input, inputLength: 6, ...getValidation(field('dulSubdivisionCode'), validatorObj.dulSubdivisionCode, input?.required), onDaDataChange: onDaDataChange }));
2079
2201
  });
2080
2202
 
2081
2203
  const EducationField = JSX(({ field, input }) => {
@@ -2105,9 +2227,9 @@
2105
2227
 
2106
2228
  const ExpensesField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0440\u0430\u0441\u0445\u043E\u0434\u044B \u0432 \u043C\u0435\u0441\u044F\u0446", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", type: "number", ...getValidation(field('expenses'), validatorObj.expenses, input?.required), ...input })));
2107
2229
 
2108
- const Experience5YearsField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u0442\u0430\u0436", placeholder: "\u0417\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", ...getValidation(field('experience5Years'), validatorObj.experience5Years, input?.required), ...input })));
2230
+ const Experience5YearsField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u0421\u0442\u0430\u0436", placeholder: "\u0417\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", inputLength: 2, ...getValidation(field('experience5Years'), validatorObj.experience5Years, input?.required), ...input })));
2109
2231
 
2110
- const FamilyMembersField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0447\u043B\u0435\u043D\u043E\u0432 \u0441\u0435\u043C\u044C\u0438", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", type: "number", ...getValidation(field('familyMembers'), validatorObj.familyMembers, input?.required), ...input })));
2232
+ const FamilyMembersField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0447\u043B\u0435\u043D\u043E\u0432 \u0441\u0435\u043C\u044C\u0438", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", inputLength: 2, ...getValidation(field('familyMembers'), validatorObj.familyMembers, input?.required), ...input })));
2111
2233
 
2112
2234
  const FamilyStatusField = JSX(({ field, input }) => {
2113
2235
  const { data: familyStatus } = useLeadFormData('MARITAL_STATUS');
@@ -2133,7 +2255,7 @@
2133
2255
 
2134
2256
  const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...getValidation(field('fullName'), validatorObj.fullName, input?.required), ...input })));
2135
2257
 
2136
- const GeneralSeniorityField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", ...getValidation(field('generalSeniority'), validatorObj.generalSeniority, input?.required), ...input })));
2258
+ const GeneralSeniorityField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", inputLength: 2, placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", ...getValidation(field('generalSeniority'), validatorObj.generalSeniority, input?.required), ...input })));
2137
2259
 
2138
2260
  const HousingField = JSX(({ field, input }) => {
2139
2261
  const { data: housing } = useLeadFormData('HOUSE_TYPE');
@@ -2145,14 +2267,14 @@
2145
2267
  field?.('organizationName')?.onChange?.(item.data?.name?.short_with_opf);
2146
2268
  field?.('legalForm')?.onChange?.(item.data?.opf?.short);
2147
2269
  }, []);
2148
- return (jsx(InputControl, { label: "\u0418\u041D\u041D", type: "number", ...input, ...getValidation(field('inn'), validatorObj.inn, input?.required), onDaDataChange: onDaDataChange }));
2270
+ return (jsx(InputNumberControl, { label: "\u0418\u041D\u041D", inputLength: 12, ...input, ...getValidation(field('inn'), validatorObj.inn, input?.required), onDaDataChange: onDaDataChange }));
2149
2271
  });
2150
2272
 
2151
2273
  const IsClientField = JSX(({ field }) => (jsx(CheckboxWithError, { ...field('isClient'), text: '\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C \u0431\u0430\u043D\u043A\u0430 \u0410\u041E "\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A"' })));
2152
2274
 
2153
- const JobsNumberField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", ...getValidation(field('jobsNumber'), validatorObj.jobsNumber, input?.required), ...input })));
2275
+ const JobsNumberField = JSX(({ field, input }) => (jsx(InputNumberControl, { 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", inputLength: 2, ...getValidation(field('jobsNumber'), validatorObj.jobsNumber, input?.required), ...input })));
2154
2276
 
2155
- const LastJobExperienceField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", ...getValidation(field('lastJobExperience'), validatorObj.lastJobExperience, input?.required), ...input })));
2277
+ const LastJobExperienceField = JSX(({ field, input }) => (jsx(InputNumberControl, { 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", inputLength: 2, ...getValidation(field('lastJobExperience'), validatorObj.lastJobExperience, input?.required), ...input })));
2156
2278
 
2157
2279
  const LegalEntityNameField = JSX(({ field, input }) => {
2158
2280
  return (jsx(InputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...input, ...getValidation(field('legalEntityName'), validatorObj.legalEntityName, input?.required) }));
@@ -2213,23 +2335,25 @@
2213
2335
 
2214
2336
  const ParticipantDateRegistrationField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0441\u0442\u0443 \u0436\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430", ...getValidation(field('participantDateRegistration'), validatorObj.participantDateRegistration, input?.required) })));
2215
2337
 
2338
+ const PartInBusinessField = JSX(({ field, input }) => (jsx(InputNumberControl, { label: "\u0414\u043E\u043B\u044F \u0443\u0447\u0430\u0441\u0442\u0438\u044F \u0432 \u0431\u0438\u0437\u043D\u0435\u0441\u0435", placeholder: "\u0432 %", inputLength: 2, ...getValidation(field('partInBusiness'), validatorObj.partInBusiness, input?.required), ...input })));
2339
+
2216
2340
  const PartnerCommentsField = JSX(({ field, input }) => {
2217
2341
  const { required, ...rest } = input;
2218
2342
  return (jsx(InputControl, { ...getValidation(field('partnerComments'), validatorObj.partnerComments, required), placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441", isTextarea: true, ...rest }));
2219
2343
  });
2220
2344
 
2221
- const isPlaceholder$1 = (_) => _ === '_';
2222
- const isDigit$1 = (_) => /\d/.test(_);
2223
- const isWildcard$1 = (_) => isPlaceholder$1(_) || isDigit$1(_);
2345
+ const isPlaceholder = (_) => _ === '_';
2346
+ const isDigit = (_) => /\d/.test(_);
2347
+ const isWildcard = (_) => isPlaceholder(_) || isDigit(_);
2224
2348
  const phonePattern = [...'+7 (___) ___-__-__'];
2225
- const firstPlaceholderIndex$1 = phonePattern.findIndex(isPlaceholder$1);
2226
- const phoneWildcardIndicies = phonePattern.map((_, i) => isWildcard$1(_) ? phonePattern.slice(0, i).filter(isWildcard$1).length : -1);
2349
+ const firstPlaceholderIndex = phonePattern.findIndex(isPlaceholder);
2350
+ const phoneWildcardIndicies = phonePattern.map((_, i) => isWildcard(_) ? phonePattern.slice(0, i).filter(isWildcard).length : -1);
2227
2351
  function normalizePhone(phone) {
2228
2352
  const phoneNumbers = phone.replace(/\D/g, '');
2229
- const applyPlaceholder = (_, i) => isDigit$1(_) ? _ : phoneNumbers.charAt(phoneWildcardIndicies[i]) || _;
2353
+ const applyPlaceholder = (_, i) => isDigit(_) ? _ : phoneNumbers.charAt(phoneWildcardIndicies[i]) || _;
2230
2354
  const result = phonePattern.map(applyPlaceholder);
2231
2355
  const resultLength = phoneWildcardIndicies.indexOf(phoneNumbers.length - 1) + 1;
2232
- return (resultLength ? result.slice(0, Math.max(firstPlaceholderIndex$1, resultLength)) : result).join('');
2356
+ return (resultLength ? result.slice(0, Math.max(firstPlaceholderIndex, resultLength)) : result).join('');
2233
2357
  }
2234
2358
 
2235
2359
  const PhoneInput = JSX(({ children, onChange, ...inputProps }) => {
@@ -2303,28 +2427,8 @@
2303
2427
 
2304
2428
  const ShareholderFlgField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u042F \u044F\u0432\u043B\u044F\u044E\u0441\u044C \u0430\u043A\u0446\u0438\u043E\u043D\u0435\u0440\u043E\u043C / \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u043E\u043C / \u0447\u043B\u0435\u043D\u043E\u043C / \u043F\u0430\u0439\u0449\u0438\u043A\u043E\u043C / \u0432\u043A\u043B\u0430\u0434\u0447\u0438\u043A\u043E\u043C \u0441 \u0434\u043E\u043B\u0435\u0439 \u0443\u0447\u0430\u0441\u0442\u0438\u044F \u0431\u043E\u043B\u0435\u0435 20% \u0443\u0441\u0442\u0430\u0432\u043D\u043E\u0433\u043E \u043A\u0430\u043F\u0438\u0442\u0430\u043B\u0430 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...getValidation(field('shareholderFlg'), validatorObj.shareholderFlg) })));
2305
2429
 
2306
- const isPlaceholder = (_) => _ === '_';
2307
- const isDigit = (_) => /\d/.test(_);
2308
- const isWildcard = (_) => isPlaceholder(_) || isDigit(_);
2309
- const snilsPattern = [...'___-___-___ __'];
2310
- const firstPlaceholderIndex = snilsPattern.findIndex(isPlaceholder);
2311
- const snilsWildcardIndicies = snilsPattern.map((_, i) => isWildcard(_) ? snilsPattern.slice(0, i).filter(isWildcard).length : -1);
2312
- function normalizeSnils(snils) {
2313
- const snilsNumbers = snils.replace(/\D/g, '');
2314
- const applyPlaceholder = (_, i) => isDigit(_) ? _ : snilsNumbers.charAt(snilsWildcardIndicies[i]) || _;
2315
- const result = snilsPattern.map(applyPlaceholder);
2316
- const resultLength = snilsWildcardIndicies.indexOf(snilsNumbers.length - 1) + 1;
2317
- const isCursorStart = snilsNumbers.length === 0;
2318
- if (!isCursorStart) {
2319
- return (resultLength ? result.slice(0, Math.max(firstPlaceholderIndex, resultLength)) : result).join('');
2320
- }
2321
- else {
2322
- return '';
2323
- }
2324
- }
2325
-
2326
2430
  const SnilsInput = JSX(({ children, onChange, ...inputProps }) => {
2327
- const handleChange = useCallback((v) => onChange && onChange(normalizeSnils(v)), [onChange]);
2431
+ const handleChange = useCallback((v) => onChange && onChange(normalizeWithMask(v, '___-___-___ __')), [onChange]);
2328
2432
  const handleBlur = useCallback((v) => {
2329
2433
  if (v === '___-___-___ __') {
2330
2434
  onChange && onChange('');
@@ -2460,6 +2564,7 @@
2460
2564
  legalEntityName: jsx(LegalEntityNameField, { field: field, input: input }),
2461
2565
  creditInRshbCd: jsx(CreditInRshbCdField, { field: field, input: input }),
2462
2566
  bankEmployeeCode: jsx(BankEmpoleeCodeField, { field: field, input: input }),
2567
+ partInBusiness: jsx(PartInBusinessField, { field: field, input: input }),
2463
2568
  };
2464
2569
  return isRenderField({ input, field }) ? (jsx("div", { children: InputsMap[input?.name] }, String(i))) : null;
2465
2570
  };
@@ -2585,7 +2690,7 @@
2585
2690
  consentToReceiveMaterials: false,
2586
2691
  consentDataProcessing: false,
2587
2692
  };
2588
- const getInitialFormState$1 = (inputs, typeForm = '') => {
2693
+ const getInitialFormState$2 = (inputs, typeForm = '') => {
2589
2694
  const formState = Object.fromEntries(inputs.map((_) => [
2590
2695
  _.name,
2591
2696
  (_.fieldType === 'ved' && _?.defaultValue) || initialFormState$1[_.name],
@@ -2610,7 +2715,7 @@
2610
2715
  // eslint-disable-next-line max-lines-per-function
2611
2716
  ({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2612
2717
  const inputs = (sections?.flatMap((_) => _?.inputs) || []);
2613
- const initialFormState = getInitialFormState$1(inputs, typeForm);
2718
+ const initialFormState = getInitialFormState$2(inputs, typeForm);
2614
2719
  const [responseType, setResponseType] = useState('');
2615
2720
  const handleSubmit = useCallback(async (formData, ev) => {
2616
2721
  const inputsFiltered = getFilteredInputs(inputs, formData);
@@ -2717,7 +2822,7 @@
2717
2822
  });
2718
2823
  const renderGeneralCheckbox = (generalCheckBox) => (foldableData) => (jsxs("div", { className: "flex items-start", children: [generalCheckBox, jsx("button", { onClick: foldableData.onToggle, className: "px-m py-2xs", type: "button", children: jsx(Icon, { className: "text-primary-text", name: foldableData.isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" }) })] }));
2719
2824
 
2720
- const renderInputs = ({ field, typeForm = '', inputs }) => {
2825
+ const renderInputs$1 = ({ field, typeForm = '', inputs }) => {
2721
2826
  const { consentInputs, restInputs } = splitInputs(inputs || []);
2722
2827
  return consentInputs.length > 2 ? (jsxs("div", { children: [restInputs.map(getField(field, typeForm)), jsx(GroupedConsents, { inputs: consentInputs, field: field })] })) : ((inputs || [])?.map(getField(field, typeForm)));
2723
2828
  };
@@ -2726,6 +2831,7 @@
2726
2831
  restInputs: inputs?.filter((_) => !Object.keys(CONSENTS).includes(_.name)) || [],
2727
2832
  });
2728
2833
 
2834
+ /* eslint-disable max-lines */
2729
2835
  const initialFormState = {
2730
2836
  typeForm: '',
2731
2837
  region: { key: '', text: '' },
@@ -2758,9 +2864,9 @@
2758
2864
  participantAddress: '',
2759
2865
  participantDateRegistration: undefined,
2760
2866
  };
2761
- const getInitialFormState = (inputs, savedForm, typeForm = '') => {
2867
+ const getInitialFormState$1 = (inputs, savedForm, typeForm = '') => {
2762
2868
  if (savedForm) {
2763
- const formState = JSON.parse(savedForm);
2869
+ const formState = typeof savedForm === 'string' ? JSON.parse(savedForm) : savedForm;
2764
2870
  formState.birthday = new Date(formState?.birthday || 0);
2765
2871
  return formState;
2766
2872
  }
@@ -2777,7 +2883,7 @@
2777
2883
 
2778
2884
  const createUserProfile = (body) => doRequest('/public-data/createUserProfile', 'POST', body);
2779
2885
 
2780
- const updateUserProfile = (body) => doRequest('/user-data/updateUserProfile', 'POST', body);
2886
+ const updateUserProfile = (body) => doRequest('/user-data/updateUserProfile', 'PUT', body);
2781
2887
 
2782
2888
  const updateUserTask = (body) => doRequest('/user-data/updateUserTask', 'PUT', body);
2783
2889
 
@@ -2803,44 +2909,47 @@
2803
2909
  };
2804
2910
  };
2805
2911
 
2806
- const getUpdateUserTaskData = ({ participantId, taskId, profileId, formData, }) => ({
2807
- sendToBank: true,
2808
- taskKind: 'SHORT',
2809
- task: {
2810
- taskSource: globalThis.location.origin,
2811
- id: taskId,
2812
- participants: [
2813
- {
2814
- birthDate: formData?.birthDate,
2815
- id: participantId,
2816
- midname: formData?.midname,
2817
- name: formData?.name,
2818
- surname: formData?.surname,
2819
- profile: {
2820
- id: profileId,
2821
- },
2822
- participantContacts: [
2823
- {
2824
- contactTypeCd: {
2825
- key: 'EMAIL',
2826
- },
2827
- value: formData?.email,
2912
+ const getUpdateUserTaskData = ({ participantId, taskId, profileId, formData, }) => {
2913
+ const { name = '', surname = '', middleName = '', birthday = '', phone = '', email = '', } = formData;
2914
+ return {
2915
+ sendToBank: true,
2916
+ taskKind: 'SHORT',
2917
+ task: {
2918
+ taskSource: globalThis.location.origin,
2919
+ id: taskId,
2920
+ participants: [
2921
+ {
2922
+ birthDate: formatDate(birthday, true),
2923
+ id: participantId,
2924
+ midname: middleName,
2925
+ name: name,
2926
+ surname: surname,
2927
+ profile: {
2928
+ id: profileId,
2828
2929
  },
2829
- {
2830
- contactTypeCd: {
2831
- key: 'MAIN_PHONE',
2930
+ participantContacts: [
2931
+ {
2932
+ contactTypeCd: {
2933
+ key: 'EMAIL',
2934
+ },
2935
+ value: email,
2936
+ },
2937
+ {
2938
+ contactTypeCd: {
2939
+ key: 'MAIN_PHONE',
2940
+ },
2941
+ value: formatPhone(phone),
2832
2942
  },
2833
- value: formData?.phone,
2943
+ ],
2944
+ roleCd: {
2945
+ key: 'BORROWER',
2946
+ value: 'Заемщик',
2834
2947
  },
2835
- ],
2836
- roleCd: {
2837
- key: 'BORROWER',
2838
- value: 'Заемщик',
2839
2948
  },
2840
- },
2841
- ],
2842
- },
2843
- });
2949
+ ],
2950
+ },
2951
+ };
2952
+ };
2844
2953
 
2845
2954
  const ICON_SIZE$1 = { width: '118', height: '24' };
2846
2955
 
@@ -3028,7 +3137,7 @@
3028
3137
  smsCodesSetName: { key: 'AUTHENTICATION' },
3029
3138
  });
3030
3139
  resetError();
3031
- close && close();
3140
+ close && close(values.join(''));
3032
3141
  }
3033
3142
  catch {
3034
3143
  setIsLoading(false);
@@ -3079,19 +3188,92 @@
3079
3188
  const renderTextButton = (textButton, isDisabled, handleSubmit) => textButton ? (jsx(SubmitButton, { isDisabled: isDisabled, onClick: handleSubmit, text: textButton })) : null;
3080
3189
  const renderText$1 = (timeNextReq, setTimeNextReq, sendCode) => timeNextReq ? (jsxs("div", { className: "flex flex-row text-l font-light text-primary-main", children: ["\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434 \u043C\u043E\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437", jsx(Timer, { className: "text-primary-main ml-1", time: timeNextReq, setTime: setTimeNextReq })] })) : (jsx(LinkButton, { onClick: sendCode, className: "text-primary-main", children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }));
3081
3190
 
3082
- const useVerifyPhoneDialog = (props) => {
3191
+ const useVerifyPhoneDialog = () => {
3083
3192
  const { open, close } = useDialogManager();
3084
3193
  return {
3085
- open: (options = {}) => open(jsx(VerifyPhoneDialog, { onClose: close, ...props }), options),
3194
+ open: (handleClose, props) => open(jsx(VerifyPhoneDialog, { onClose: close, close: handleClose, ...props })),
3086
3195
  close,
3087
3196
  };
3088
3197
  };
3089
3198
 
3199
+ const defaultConsentText = {
3200
+ title: 'Подпишите согласие на запрос в БКИ',
3201
+ description: 'Согласие на запрос в Бюро кредитных историй (БКИ) ускорит решение по кредиту',
3202
+ };
3203
+ const refuseConsentText = {
3204
+ title: 'Вы уверены, что хотите отказаться от запроса в БКИ',
3205
+ description: 'Согласие на запрос в Бюро кредитных историй (БКИ) повысит вероятность одобрения',
3206
+ };
3207
+ const ConsentBkiDialog = JSX(function ({ handleSubmit = noop, onClose = noop, }) {
3208
+ const [confirmStatus, setConfirmStatus] = useState('');
3209
+ const [showRefuceContent, setShowRefuceContent] = useState(false);
3210
+ const { open, close } = useDialogManager();
3211
+ const handleClose = useCallback(() => {
3212
+ close();
3213
+ handleSubmit(confirmStatus);
3214
+ }, [confirmStatus]);
3215
+ const handleConfirmChange = useCallback((value) => {
3216
+ setConfirmStatus(value);
3217
+ if (value === 'REFUSE') {
3218
+ setShowRefuceContent(true);
3219
+ }
3220
+ }, []);
3221
+ const consentText = showRefuceContent ? refuseConsentText : defaultConsentText;
3222
+ return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center", children: [jsx("div", { role: "button", onClick: () => openDocument(CONSENT_BKI_ID, open), children: jsx(Heading, { className: "text-center text-balance", title: consentText.title }) }), jsx(Paragraph, { align: "text-center", children: consentText.description }), jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: ITEMS$1, value: confirmStatus, onChange: handleConfirmChange }), jsx(Button, { disabled: !confirmStatus, type: "button", onClick: handleClose, children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C" })] }) }));
3223
+ });
3224
+ const ITEMS$1 = [
3225
+ { id: 'SIGNED', text: 'Подписать' },
3226
+ { id: 'REFUSE', text: 'Отказаться' },
3227
+ ];
3228
+ const CONSENT_BKI_ID = 2;
3229
+
3230
+ const useConsentBkiDialog = () => {
3231
+ const { open, closeAll } = useDialogManager();
3232
+ const verifyPhoneDialog = useVerifyPhoneDialog();
3233
+ const redirectToCreditForm = () => {
3234
+ globalThis.location.href = '/credit-lead';
3235
+ };
3236
+ const handleSuccessVerify = (profileId) => async (smsCode) => {
3237
+ if (profileId) {
3238
+ await updateUserProfile({
3239
+ profile: {
3240
+ id: profileId,
3241
+ consentBkiFlg: true,
3242
+ smsConsentBki: smsCode,
3243
+ },
3244
+ });
3245
+ }
3246
+ redirectToCreditForm();
3247
+ };
3248
+ const handleSubmitBkiConstent = (phone, profileId) => async (confirmStatus) => {
3249
+ await closeAll();
3250
+ if (confirmStatus === 'SIGNED' && phone) {
3251
+ verifyPhoneDialog.open(handleSuccessVerify(profileId), verifyPhoneContent$1(phone));
3252
+ }
3253
+ else {
3254
+ redirectToCreditForm();
3255
+ }
3256
+ };
3257
+ return {
3258
+ open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: redirectToCreditForm })),
3259
+ };
3260
+ };
3261
+ const verifyPhoneContent$1 = (phone) => ({
3262
+ title: 'Подтвердите номер телефона',
3263
+ description: `Мы отправили код на ${phone}`,
3264
+ phoneNumber: formatPhone(phone),
3265
+ textButton: 'Отправить',
3266
+ __html: `<span>Вводя код, я подтверждаю, что ознакомлен и подписываю:</span>
3267
+ <ul><li>согласие на запрос информации в БКИ</li></ul>`,
3268
+ });
3269
+
3090
3270
  const useApplicationLeadApi = ({ inputs, programId, saveForm }) => {
3091
3271
  const [responseStatus, setResponseStatus] = useState('');
3092
3272
  const [, setTaskId] = useLocalStorage('taskId');
3093
3273
  const [, setProfileId] = useLocalStorage('profileId');
3094
3274
  const [, setParticipantId] = useLocalStorage('participantId');
3275
+ const consentBkiDialog = useConsentBkiDialog();
3276
+ const verifyPhoneDialog = useVerifyPhoneDialog();
3095
3277
  const saveUserData = useCallback((participantId, taskId, profileId) => {
3096
3278
  setParticipantId(participantId);
3097
3279
  setTaskId(taskId);
@@ -3125,21 +3307,19 @@
3125
3307
  }));
3126
3308
  saveUserData(participantId, taskId, profileId);
3127
3309
  saveForm(JSON.stringify(formData));
3128
- globalThis.location.href = '/credit-lead';
3129
3310
  }
3130
3311
  catch {
3131
3312
  setResponseStatus('Fail');
3132
3313
  }
3133
3314
  };
3315
+ const handleCloseVerify = async () => {
3316
+ await handleSuccessVerify();
3317
+ consentBkiDialog.open(formData.phone, profileId);
3318
+ };
3134
3319
  const acceptedConsents = Object.keys(CONSENTS)
3135
3320
  .filter((_) => formData[_])
3136
3321
  .map((_) => CONSENTS[_]?.text);
3137
- // eslint-disable-next-line react-hooks/rules-of-hooks
3138
- const verifyPhoneDialog = useVerifyPhoneDialog({
3139
- close: handleSuccessVerify,
3140
- ...verifyPhoneContent(formData?.phone, acceptedConsents),
3141
- });
3142
- verifyPhoneDialog.open();
3322
+ verifyPhoneDialog.open(handleCloseVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
3143
3323
  }
3144
3324
  }
3145
3325
  catch {
@@ -3181,7 +3361,7 @@
3181
3361
  const [responseType, setResponseType] = useState('');
3182
3362
  useInitApplicationLead();
3183
3363
  const [leadForm, setLeadForm] = useLocalStorage('leadForm');
3184
- const initialFormState = getInitialFormState(inputs, leadForm, typeForm);
3364
+ const initialFormState = getInitialFormState$1(inputs, leadForm, typeForm);
3185
3365
  const { handleSubmit, responseStatus } = useApplicationLeadApi({
3186
3366
  inputs,
3187
3367
  programId,
@@ -3198,9 +3378,31 @@
3198
3378
  reset();
3199
3379
  }
3200
3380
  }, [responseType]);
3201
- return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs({ field, typeForm, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
3381
+ return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
3202
3382
  });
3203
3383
 
3384
+ const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black', link }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsxs("div", { className: "", children: [jsx(RichText, { __html: __html }), link?.text ? jsx(LinkButton, { className: "text-primary-main", children: link.text }) : null] })] })));
3385
+
3386
+ const TimerCircle = JSX(({ interval = 0, title, __html }) => {
3387
+ const [time, setTime] = useState(interval);
3388
+ const gradientPercentage = 100 - ((interval - time) / interval) * 100;
3389
+ return (jsxs("div", { children: [title ? jsx(Headline, { title: title, headlineVersion: "S" }) : null, jsxs("div", { className: "flex justify-center items-center flex-col", children: [jsxs("div", { className: style(`relative flex items-center justify-center w-24 h-24 rounded-full bg-gray text-transparent mb-5`), children: [jsx("div", { className: "absolute inset-0 rounded-full", style: {
3390
+ background: `conic-gradient(rgb(66, 171, 68) ${gradientPercentage}%, rgb(125, 126, 127) 0deg)`,
3391
+ } }), jsx("div", { className: "z-10 flex items-center justify-center px-4 py-2 rounded-full w-20 h-20 bg-white text-primary-text text-m", children: jsx(Timer, { interval: interval, time: time, setTime: setTime }) })] }), __html ? jsx(RichText, { __html: __html }) : null] })] }));
3392
+ });
3393
+
3394
+ const ApplicationStatus = JSX(({ title, description: dsc, infoCard, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, ...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 }) : null] }), jsx(SectionInfo, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), infoCard?.__html ? (jsx(InfoCard, { __html: infoCard?.__html, icon: infoCard?.icon, link: {
3395
+ text: infoCard?.link?.text,
3396
+ } })) : null, buttonText ? jsx(Button, { className: "w-full mt-lg", children: buttonText }) : null] })));
3397
+ const SectionInfo = ({ title, items, countColumns = false, }) => {
3398
+ const isMobile = useMobileMode();
3399
+ if (!items) {
3400
+ return null;
3401
+ }
3402
+ 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(item) }, index))) })) : null] })] }));
3403
+ };
3404
+ const renderItem = ({ 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 })] }));
3405
+
3204
3406
  const NotFound = JSX(({ title, description }) => {
3205
3407
  const isMobileMode = useMobileMode();
3206
3408
  return (jsxs("div", { className: "bg-white p-6xl py-20 flex gap-s flex-col @xl:items-center", children: [jsx(Img, { image: { icon: 'MagnifierIcon', iconVersion: 'normal' }, width: "120", height: "120" }), jsx(Headline, { title: title, description: description, headlineVersion: isMobileMode ? 'L' : 'S', isEmbedded: true, className: "space-y-s" })] }));
@@ -4837,8 +5039,6 @@
4837
5039
  const renderBlocks = (info) => (jsx("div", { className: "flex gap-5xl grow basis-0", children: info.map((column, i) => renderBlocksColumn({ column, i })) }));
4838
5040
  const renderBlocksColumn = ({ column, i }) => column ? (jsx("div", { className: "flex flex-col gap-xl grow basis-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isEmbedded: true }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, jsx("div", { className: style({ 'mt-xl': Boolean(button?.text) }), children: renderButtonsSection([button]) })] }, String(key)))) }, `col-${String(i)}`)) : null;
4839
5041
 
4840
- const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black' }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsx(RichText, { __html: __html })] })));
4841
-
4842
5042
  const ProgressBar = JSX(({ step = 10, description, showPercentage = true }) => (jsxs("div", { children: [jsx("div", { className: "h-4 w-full bg-gray relative", children: jsx("div", { className: "h-4 bg-green", style: { width: `${step}%` } }) }), jsxs("div", { className: "relative", children: [showPercentage ? jsxs("div", { className: "absolute left-2/4 text-green", children: [step, "%"] }) : null, description ? jsx("div", { className: "text-right mr-4 text-gray", children: description }) : null] })] })));
4843
5043
 
4844
5044
  const CreditFormProgress = JSX(({ step = 1, totalSteps = 5, stepsTitles = [] }) => {
@@ -4846,8 +5046,125 @@
4846
5046
  return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold", children: ["\u0428\u0430\u0433 ", step, " \u0438\u0437 ", totalSteps, "."] }), ' ', stepsTitles[step - 1] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
4847
5047
  });
4848
5048
 
5049
+ const formStateMap = {
5050
+ 1: {
5051
+ surname: '',
5052
+ name: '',
5053
+ middleName: '',
5054
+ sex: '',
5055
+ birthday: undefined,
5056
+ birthPlace: '',
5057
+ phone: '',
5058
+ email: '',
5059
+ dulSerie: undefined,
5060
+ dulNumber: undefined,
5061
+ dulIssueDateField: undefined,
5062
+ dulSubdivisionCode: '',
5063
+ dulIssuedBy: '',
5064
+ participantAddress: '',
5065
+ participantDateRegistration: undefined,
5066
+ fullAddress: '',
5067
+ housing: '',
5068
+ },
5069
+ 2: {
5070
+ employment: { key: '', text: '' },
5071
+ organizationName: '',
5072
+ inn: undefined,
5073
+ legalForm: '',
5074
+ organization: { key: '', text: '' },
5075
+ amountWorkers: { key: '', text: '' },
5076
+ employerActivities: { key: '', text: '' },
5077
+ employerOrganization: { key: '', text: '' },
5078
+ lastJobExperience: '',
5079
+ experience5Years: '',
5080
+ jobsNumber: '',
5081
+ phone: '',
5082
+ beginDate: undefined,
5083
+ positionOrganization: { key: '', text: '' },
5084
+ partInBusiness: undefined,
5085
+ fullAddress: '',
5086
+ },
5087
+ 3: {
5088
+ familyStatus: { key: '', text: '' },
5089
+ dependents: undefined,
5090
+ familyMembers: undefined,
5091
+ mandatoryIncome: undefined,
5092
+ otherPayments: undefined,
5093
+ snils: '',
5094
+ armyIdFlg: false,
5095
+ },
5096
+ 4: {
5097
+ disablePeopleFlg: '',
5098
+ bankruptcyFlg: '',
5099
+ shareholderFlg: '',
5100
+ legalEntityName: '',
5101
+ creditInRshbCd: '',
5102
+ },
5103
+ 5: {
5104
+ region: '',
5105
+ addressBranch: '',
5106
+ bankEmployeeCode: '',
5107
+ },
5108
+ };
5109
+ const getInitialFormState = (step, localStorageData) => {
5110
+ if (localStorageData) {
5111
+ // TODO: Fill in for other fields with type Date
5112
+ // TODO: Take it out to the helper
5113
+ localStorageData.birthday = localStorageData.dulIssueDateField = new Date(localStorageData?.birthday || Date.now());
5114
+ localStorageData.participantDateRegistration = new Date(localStorageData?.participantDateRegistration || Date.now());
5115
+ localStorageData.beginDate = new Date(localStorageData?.beginDate || Date.now());
5116
+ }
5117
+ return {
5118
+ ...formStateMap[step],
5119
+ ...localStorageData,
5120
+ };
5121
+ };
5122
+
5123
+ const renderInputs = ({ field, inputs }) => {
5124
+ return (inputs || [])?.map(getField(field, ''));
5125
+ };
5126
+
5127
+ const StepsNavigationButtons = JSX(({ step, onPrevStep }) => {
5128
+ return (jsxs("div", { className: 'flex justify-between', children: [jsx(Button, { onClick: onPrevStep, className: style('w-full @xl:w-auto'), type: "button", version: "secondary", disabled: step === 1, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(Button, { className: style('w-full @xl:w-auto'), type: "submit", children: "\u0414\u0430\u043B\u0435\u0435" })] }));
5129
+ });
5130
+
5131
+ const useCreditFormApi = ({ inputs, onNextStep, saveStep }) => {
5132
+ const handleSubmit = useCallback(async (formData) => {
5133
+ const feedbackValidator = objectValidator(getObjectValidator(inputs));
5134
+ if (!isValidationSuccess(feedbackValidator(formData))) {
5135
+ return 'Fail';
5136
+ }
5137
+ saveStep(formData);
5138
+ onNextStep();
5139
+ return 'OK';
5140
+ }, []);
5141
+ return {
5142
+ handleSubmit,
5143
+ };
5144
+ };
5145
+
5146
+ const CreditFormStep = JSX(({ totalSteps, step, sections, onPrevStep, onNextStep, inputs }) => {
5147
+ const [localStorageData, saveStep] = useLocalStorage('leadForm');
5148
+ const initialState = getInitialFormState(step, localStorageData);
5149
+ const { handleSubmit } = useCreditFormApi({
5150
+ inputs,
5151
+ onNextStep: onNextStep,
5152
+ saveStep,
5153
+ });
5154
+ const [, { field, onSubmit }] = useForm(initialState, { onSubmit: handleSubmit });
5155
+ return (jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [renderStep$1({ sections, field }), jsx(StepsNavigationButtons, { step: step, totalSteps: totalSteps, onPrevStep: onPrevStep })] }));
5156
+ });
5157
+ const renderStep$1 = ({ sections, field }) => {
5158
+ return sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderInfo$1(_?.inputs), renderTitle(_?.title), renderInputs({ field, inputs: _?.inputs })] }, `section-${i}`)));
5159
+ };
5160
+ const renderInfo$1 = (inputs = []) => {
5161
+ const infoInputs = inputs.filter((_) => _.fieldType === 'info');
5162
+ return infoInputs.length ? infoInputs.map(({ text }) => jsx(InfoCard, { __html: text })) : null;
5163
+ };
5164
+
4849
5165
  /* eslint-disable max-lines */
4850
5166
  /* eslint-disable max-len */
5167
+ //TODO: DO List
4851
5168
  const stepsSectionsMap = {
4852
5169
  1: [
4853
5170
  {
@@ -4880,24 +5197,27 @@
4880
5197
  {
4881
5198
  fieldType: 'common',
4882
5199
  name: 'education',
4883
- required: true,
4884
5200
  },
4885
5201
  ],
4886
5202
  },
4887
5203
  {
4888
5204
  title: 'Адрес регистрации по месту жительства',
5205
+ columns: 1,
5206
+ inputs: [],
5207
+ },
5208
+ {
5209
+ inputs: [{ fieldType: 'common', name: 'participantAddress', required: true, dadata: true }],
5210
+ },
5211
+ {
4889
5212
  columns: 2,
4890
- inputs: [
4891
- { fieldType: 'common', name: 'participantAddress', required: true },
4892
- { fieldType: 'common', name: 'participantAddress', required: true, dadata: true },
4893
- ],
5213
+ inputs: [{ fieldType: 'common', name: 'participantDateRegistration', required: true }],
4894
5214
  },
4895
5215
  {
4896
5216
  title: 'Адрес фактического проживания (место пребывания РФ)',
4897
5217
  columns: 2,
4898
5218
  inputs: [
4899
5219
  { fieldType: 'common', name: 'fullAddress', required: true, dadata: true },
4900
- { fieldType: 'common', name: 'housing', required: true },
5220
+ { fieldType: 'common', name: 'housing' },
4901
5221
  ],
4902
5222
  },
4903
5223
  ],
@@ -4916,7 +5236,7 @@
4916
5236
  },
4917
5237
  {
4918
5238
  inputs: [
4919
- { fieldType: 'common', name: 'employment', required: true },
5239
+ { fieldType: 'common', name: 'employment' },
4920
5240
  { fieldType: 'common', name: 'organizationName', required: true, dadata: true },
4921
5241
  ],
4922
5242
  },
@@ -4929,15 +5249,15 @@
4929
5249
  },
4930
5250
  {
4931
5251
  inputs: [
4932
- { fieldType: 'common', name: 'organization', required: true },
4933
- { fieldType: 'common', name: 'amountWorkers', required: true },
5252
+ { fieldType: 'common', name: 'organization', required: false },
5253
+ { fieldType: 'common', name: 'amountWorkers', required: false },
4934
5254
  ],
4935
5255
  },
4936
5256
  {
4937
5257
  columns: 2,
4938
5258
  inputs: [
4939
- { fieldType: 'common', name: 'employerActivities', required: true },
4940
- { fieldType: 'common', name: 'employerOrganization', required: true },
5259
+ { fieldType: 'common', name: 'employerActivities', required: false },
5260
+ { fieldType: 'common', name: 'employerOrganization', required: false },
4941
5261
  { fieldType: 'common', name: 'generalSeniority', required: true },
4942
5262
  { fieldType: 'common', name: 'lastJobExperience', required: true },
4943
5263
  { fieldType: 'common', name: 'experience5Years', required: true },
@@ -4948,7 +5268,13 @@
4948
5268
  inputs: [
4949
5269
  { fieldType: 'common', name: 'phone', label: 'Телефон работодателя', required: true },
4950
5270
  { fieldType: 'common', name: 'beginDate', required: true },
4951
- { fieldType: 'common', name: 'positionOrganization', required: true },
5271
+ ],
5272
+ },
5273
+ {
5274
+ columns: 2,
5275
+ inputs: [
5276
+ { fieldType: 'common', name: 'positionOrganization', required: false },
5277
+ { fieldType: 'common', name: 'partInBusiness', required: true },
4952
5278
  ],
4953
5279
  },
4954
5280
  {
@@ -4965,20 +5291,15 @@
4965
5291
  },
4966
5292
  {
4967
5293
  columns: 1,
4968
- inputs: [{ fieldType: 'common', name: 'familyStatus' }],
5294
+ inputs: [{ fieldType: 'common', name: 'familyStatus', required: true }],
4969
5295
  },
4970
5296
  {
4971
5297
  columns: 1,
4972
- inputs: [{ fieldType: 'common', name: 'dependents' }],
5298
+ inputs: [{ fieldType: 'common', name: 'dependents', required: true }],
4973
5299
  },
4974
5300
  {
4975
- columns: 2,
4976
- inputs: [
4977
- { fieldType: 'common', name: 'familyMembers' },
4978
- { fieldType: 'common', name: 'familyMembers' },
4979
- { fieldType: 'common', name: 'retirementIncome' },
4980
- { fieldType: 'common', name: 'otherIncome' },
4981
- ],
5301
+ columns: 1,
5302
+ inputs: [{ fieldType: 'common', name: 'familyMembers', required: true }],
4982
5303
  },
4983
5304
  {
4984
5305
  title: 'Совокупный доход',
@@ -4993,15 +5314,15 @@
4993
5314
  },
4994
5315
  {
4995
5316
  columns: 1,
4996
- inputs: [{ fieldType: 'common', name: 'mandatoryIncome' }],
5317
+ inputs: [{ fieldType: 'common', name: 'mandatoryIncome', required: true }],
4997
5318
  },
4998
5319
  {
4999
5320
  columns: 1,
5000
- inputs: [{ fieldType: 'common', name: 'otherPayments' }],
5321
+ inputs: [{ fieldType: 'common', name: 'otherPayments', required: true }],
5001
5322
  },
5002
5323
  {
5003
5324
  columns: 1,
5004
- inputs: [{ fieldType: 'common', name: 'snils' }],
5325
+ inputs: [{ fieldType: 'common', name: 'snils', required: true }],
5005
5326
  },
5006
5327
  {
5007
5328
  columns: 2,
@@ -5037,10 +5358,10 @@
5037
5358
  inputs: [],
5038
5359
  },
5039
5360
  {
5040
- inputs: [{ fieldType: 'common', name: 'region' }],
5361
+ inputs: [{ fieldType: 'common', name: 'region', required: true }],
5041
5362
  },
5042
5363
  {
5043
- inputs: [{ fieldType: 'common', name: 'addressBranch' }],
5364
+ inputs: [{ fieldType: 'common', name: 'addressBranch', required: true }],
5044
5365
  },
5045
5366
  {
5046
5367
  title: 'Код представителя Банка',
@@ -5061,20 +5382,6 @@
5061
5382
  ],
5062
5383
  };
5063
5384
 
5064
- const StepsNavigationButtons = JSX(({ step, setStep, totalSteps }) => {
5065
- const handleNext = () => {
5066
- if (step < totalSteps) {
5067
- setStep(step + 1);
5068
- }
5069
- };
5070
- const handlePrev = () => {
5071
- if (step > 1) {
5072
- setStep(step - 1);
5073
- }
5074
- };
5075
- return (jsxs("div", { className: 'flex justify-between', children: [jsx(Button, { onClick: handlePrev, className: style('w-full @xl:w-auto'), type: "button", version: "secondary", disabled: step === 1, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(Button, { onClick: handleNext, className: style('w-full @xl:w-auto'), type: "button", disabled: step === totalSteps, children: "\u0414\u0430\u043B\u0435\u0435" })] }));
5076
- });
5077
-
5078
5385
  const STEPS_COUNT = 5;
5079
5386
  const STEPS_TITLES = [
5080
5387
  'Персональные данные',
@@ -5083,21 +5390,19 @@
5083
5390
  'Дополнительные сведения',
5084
5391
  'Отделение Банка',
5085
5392
  ];
5086
- const CreditForm = JSX(({ className, typeForm = '', sections = [], ...rest }) => {
5393
+ const CreditForm = JSX(({ className, ...rest }) => {
5087
5394
  const [step, setStep] = useState(1);
5395
+ const sections = useMemo(() => stepsSectionsMap[step], [step]);
5088
5396
  const inputs = (sections?.flatMap((_) => _?.inputs) || []);
5089
- const initialFormState = getInitialFormState(inputs, typeForm);
5090
- const handleSubmit = () => false;
5091
- const [, { field, onSubmit }] = useForm(initialFormState, { onSubmit: handleSubmit });
5092
- return (jsx(BlockWrapper, { className: style('bg-transparent', className), defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container grid grid-cols-12", children: [jsx(CreditFormProgress, { stepsTitles: STEPS_TITLES, step: step, totalSteps: STEPS_COUNT }), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m", children: [renderStep$1({ sections: stepsSectionsMap[step], typeForm, field }), jsx(StepsNavigationButtons, { step: step, setStep: setStep, totalSteps: STEPS_COUNT })] }) })] }) }));
5397
+ const handleNextStep = useCallback(() => {
5398
+ setStep((_) => Math.min(_ + 1, STEPS_COUNT));
5399
+ }, []);
5400
+ const handlePrevStep = useCallback(() => {
5401
+ //TODO search hook - 1,
5402
+ setStep((_) => Math.max(_ - 1, 0));
5403
+ }, []);
5404
+ return (jsx(BlockWrapper, { className: style('bg-transparent', className), defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container grid grid-cols-12", children: [jsx(CreditFormProgress, { stepsTitles: STEPS_TITLES, step: step, totalSteps: STEPS_COUNT }), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: jsx(CreditFormStep, { inputs: inputs, totalSteps: STEPS_COUNT, step: step, sections: sections, onNextStep: handleNextStep, onPrevStep: handlePrevStep }, String(step)) })] }) }));
5093
5405
  });
5094
- const renderStep$1 = ({ sections, field, typeForm }) => {
5095
- return sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderInfo$1(_?.inputs), renderTitle(_?.title), renderInputs({ field, typeForm, inputs: _?.inputs })] }, `section-${i}`)));
5096
- };
5097
- const renderInfo$1 = (inputs = []) => {
5098
- const infoInputs = inputs.filter((_) => _.fieldType === 'info');
5099
- return infoInputs.length ? infoInputs.map(({ text }) => jsx(InfoCard, { __html: text })) : null;
5100
- };
5101
5406
 
5102
5407
  const isRateRow = (rateRow) => typeof rateRow?.minMonths === 'number' && typeof rateRow?.maxMonths === 'number';
5103
5408
 
@@ -7665,6 +7970,7 @@
7665
7970
  AdTile,
7666
7971
  ApplicationForm,
7667
7972
  ApplicationLeadForm,
7973
+ ApplicationStatus,
7668
7974
  BankAccountFiltration,
7669
7975
  BenefitsBlock,
7670
7976
  BonusBenefitsBlock,
@@ -7889,7 +8195,7 @@
7889
8195
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
7890
8196
  });
7891
8197
 
7892
- const packageVersion = "0.14.607";
8198
+ const packageVersion = "0.14.615";
7893
8199
 
7894
8200
  exports.Blocks = Blocks;
7895
8201
  exports.ContentPage = ContentPage;