@redneckz/wildless-cms-uni-blocks 0.14.989 → 0.14.990

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 (633) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +8 -2
  2. package/bundle/api/getSubmitBody.d.ts +201 -97
  3. package/bundle/api/sendFile.d.ts +16 -0
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +562 -50
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  8. package/bundle/components/ApplicationForm/constants.d.ts +7 -0
  9. package/bundle/components/ApplicationForm/handlers.d.ts +3 -2
  10. package/bundle/hooks/useDragAndDrop.d.ts +16 -0
  11. package/bundle/model/FormTypeFieldDef.d.ts +1 -1
  12. package/bundle/model/InputTypes.d.ts +1 -1
  13. package/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  14. package/bundle/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  15. package/bundle/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  16. package/bundle/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  17. package/bundle/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  18. package/bundle/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  19. package/bundle/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  20. package/bundle/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  21. package/bundle/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  22. package/bundle/ui-kit/FormField/InputsMap.d.ts +62 -0
  23. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  24. package/bundle/ui-kit/FormField/constants.d.ts +3 -0
  25. package/bundle/ui-kit/FormField/validators.d.ts +1 -0
  26. package/bundle/ui-kit/Input/InputFile.d.ts +2 -0
  27. package/bundle/ui-kit/Input/InputFileControl.d.ts +2 -0
  28. package/bundle/ui-kit/Input/InputProps.d.ts +6 -1
  29. package/bundle/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  30. package/bundle/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  31. package/bundle/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  32. package/bundle/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  33. package/bundle/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  34. package/bundle/ui-kit/Input/constants.d.ts +6 -0
  35. package/bundle/ui-kit/Input/renderFileInput.d.ts +12 -0
  36. package/bundle/ui-kit/Input/renderInfoText.d.ts +1 -0
  37. package/bundle/ui-kit/Input/styles.d.ts +2 -0
  38. package/bundle/ui-kit/Input/useVerifyFile.d.ts +17 -0
  39. package/bundle/ui-kit/PreventableEvent.d.ts +4 -0
  40. package/bundle/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  41. package/bundle/utils/animateStepWithMinDuration.d.ts +8 -0
  42. package/bundle/utils/isDateValid.d.ts +4 -0
  43. package/dist/api/LeadServiceAPI.d.ts +8 -2
  44. package/dist/api/LeadServiceAPI.js +18 -8
  45. package/dist/api/LeadServiceAPI.js.map +1 -1
  46. package/dist/api/getSubmitBody.d.ts +201 -97
  47. package/dist/api/getSubmitBody.js +13 -6
  48. package/dist/api/getSubmitBody.js.map +1 -1
  49. package/dist/api/sendFile.d.ts +16 -0
  50. package/dist/api/sendFile.js +78 -0
  51. package/dist/api/sendFile.js.map +1 -0
  52. package/dist/components/ApplicationForm/ApplicationForm.js +5 -6
  53. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  54. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  55. package/dist/components/ApplicationForm/constants.d.ts +7 -0
  56. package/dist/components/ApplicationForm/constants.js +29 -0
  57. package/dist/components/ApplicationForm/constants.js.map +1 -0
  58. package/dist/components/ApplicationForm/handlers.d.ts +3 -2
  59. package/dist/components/ApplicationForm/handlers.js +3 -3
  60. package/dist/components/ApplicationForm/handlers.js.map +1 -1
  61. package/dist/hooks/useDragAndDrop.d.ts +16 -0
  62. package/dist/hooks/useDragAndDrop.js +29 -0
  63. package/dist/hooks/useDragAndDrop.js.map +1 -0
  64. package/dist/model/FormTypeFieldDef.d.ts +1 -1
  65. package/dist/model/InputTypes.d.ts +1 -1
  66. package/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  67. package/dist/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  68. package/dist/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  69. package/dist/ui-kit/FormField/Fields/AverageGradeField.js +9 -0
  70. package/dist/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  71. package/dist/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  72. package/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  73. package/dist/ui-kit/FormField/Fields/CommentField.js +1 -1
  74. package/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  75. package/dist/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  76. package/dist/ui-kit/FormField/Fields/FileIdField.js +7 -0
  77. package/dist/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  78. package/dist/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  79. package/dist/ui-kit/FormField/Fields/FileUpload.js +14 -0
  80. package/dist/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  81. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  82. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.js +23 -0
  83. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  84. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  85. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.js +23 -0
  86. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  87. package/dist/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  88. package/dist/ui-kit/FormField/Fields/SelectField.js +7 -0
  89. package/dist/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  90. package/dist/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  91. package/dist/ui-kit/FormField/Fields/TextField.js +7 -0
  92. package/dist/ui-kit/FormField/Fields/TextField.js.map +1 -0
  93. package/dist/ui-kit/FormField/InputsMap.d.ts +62 -0
  94. package/dist/ui-kit/FormField/InputsMap.js +119 -0
  95. package/dist/ui-kit/FormField/InputsMap.js.map +1 -0
  96. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  97. package/dist/ui-kit/FormField/constants.d.ts +3 -0
  98. package/dist/ui-kit/FormField/constants.js +27 -1
  99. package/dist/ui-kit/FormField/constants.js.map +1 -1
  100. package/dist/ui-kit/FormField/getField.js +2 -94
  101. package/dist/ui-kit/FormField/getField.js.map +1 -1
  102. package/dist/ui-kit/FormField/getObjectValidator.js +15 -1
  103. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  104. package/dist/ui-kit/FormField/validators.d.ts +1 -0
  105. package/dist/ui-kit/FormField/validators.js +4 -1
  106. package/dist/ui-kit/FormField/validators.js.map +1 -1
  107. package/dist/ui-kit/Input/Input.js +2 -2
  108. package/dist/ui-kit/Input/Input.js.map +1 -1
  109. package/dist/ui-kit/Input/InputFile.d.ts +2 -0
  110. package/dist/ui-kit/Input/InputFile.js +75 -0
  111. package/dist/ui-kit/Input/InputFile.js.map +1 -0
  112. package/dist/ui-kit/Input/InputFileControl.d.ts +2 -0
  113. package/dist/ui-kit/Input/InputFileControl.js +10 -0
  114. package/dist/ui-kit/Input/InputFileControl.js.map +1 -0
  115. package/dist/ui-kit/Input/InputProps.d.ts +6 -1
  116. package/dist/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  117. package/dist/ui-kit/Input/checks/checkFIleExtension.js +12 -0
  118. package/dist/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  119. package/dist/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  120. package/dist/ui-kit/Input/checks/checkFileMimeType.js +20 -0
  121. package/dist/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  122. package/dist/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  123. package/dist/ui-kit/Input/checks/checkFileSignature.js +25 -0
  124. package/dist/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  125. package/dist/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  126. package/dist/ui-kit/Input/checks/checkFileSize.js +13 -0
  127. package/dist/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  128. package/dist/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  129. package/dist/ui-kit/Input/checks/getFileSignature.js +19 -0
  130. package/dist/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  131. package/dist/ui-kit/Input/constants.d.ts +6 -0
  132. package/dist/ui-kit/Input/constants.js +9 -0
  133. package/dist/ui-kit/Input/constants.js.map +1 -0
  134. package/dist/ui-kit/Input/renderFileInput.d.ts +12 -0
  135. package/dist/ui-kit/Input/renderFileInput.js +33 -0
  136. package/dist/ui-kit/Input/renderFileInput.js.map +1 -0
  137. package/dist/ui-kit/Input/renderInfoText.d.ts +1 -0
  138. package/dist/ui-kit/Input/renderInfoText.js +14 -0
  139. package/dist/ui-kit/Input/renderInfoText.js.map +1 -0
  140. package/dist/ui-kit/Input/styles.d.ts +2 -0
  141. package/dist/ui-kit/Input/styles.js +5 -0
  142. package/dist/ui-kit/Input/styles.js.map +1 -0
  143. package/dist/ui-kit/Input/useVerifyFile.d.ts +17 -0
  144. package/dist/ui-kit/Input/useVerifyFile.js +64 -0
  145. package/dist/ui-kit/Input/useVerifyFile.js.map +1 -0
  146. package/dist/ui-kit/PreventableEvent.d.ts +4 -0
  147. package/dist/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  148. package/dist/ui-kit/ProgressBar/ProgressBar.js +1 -1
  149. package/dist/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  150. package/dist/utils/animateStepWithMinDuration.d.ts +8 -0
  151. package/dist/utils/animateStepWithMinDuration.js +26 -0
  152. package/dist/utils/animateStepWithMinDuration.js.map +1 -0
  153. package/dist/utils/isDateValid.d.ts +4 -0
  154. package/dist/utils/isDateValid.js +24 -0
  155. package/dist/utils/isDateValid.js.map +1 -0
  156. package/lib/api/LeadServiceAPI.d.ts +8 -2
  157. package/lib/api/LeadServiceAPI.js +18 -8
  158. package/lib/api/LeadServiceAPI.js.map +1 -1
  159. package/lib/api/getSubmitBody.d.ts +201 -97
  160. package/lib/api/getSubmitBody.js +13 -6
  161. package/lib/api/getSubmitBody.js.map +1 -1
  162. package/lib/api/sendFile.d.ts +16 -0
  163. package/lib/api/sendFile.js +75 -0
  164. package/lib/api/sendFile.js.map +1 -0
  165. package/lib/common.css +1 -1
  166. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +2 -0
  167. package/lib/components/ApplicationForm/ApplicationForm.js +5 -6
  168. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  169. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  170. package/lib/components/ApplicationForm/constants.d.ts +7 -0
  171. package/lib/components/ApplicationForm/constants.js +27 -0
  172. package/lib/components/ApplicationForm/constants.js.map +1 -0
  173. package/lib/components/ApplicationForm/handlers.d.ts +3 -2
  174. package/lib/components/ApplicationForm/handlers.js +3 -3
  175. package/lib/components/ApplicationForm/handlers.js.map +1 -1
  176. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  177. package/lib/hooks/useDragAndDrop.d.ts +16 -0
  178. package/lib/hooks/useDragAndDrop.js +26 -0
  179. package/lib/hooks/useDragAndDrop.js.map +1 -0
  180. package/lib/model/FormTypeFieldDef.d.ts +1 -1
  181. package/lib/model/InputTypes.d.ts +1 -1
  182. package/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  183. package/lib/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  184. package/lib/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  185. package/lib/ui-kit/FormField/Fields/AverageGradeField.js +7 -0
  186. package/lib/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  187. package/lib/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  188. package/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  189. package/lib/ui-kit/FormField/Fields/CommentField.js +1 -1
  190. package/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  191. package/lib/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  192. package/lib/ui-kit/FormField/Fields/FileIdField.js +5 -0
  193. package/lib/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  194. package/lib/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  195. package/lib/ui-kit/FormField/Fields/FileUpload.js +12 -0
  196. package/lib/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  197. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  198. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.js +21 -0
  199. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  200. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  201. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.js +21 -0
  202. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  203. package/lib/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  204. package/lib/ui-kit/FormField/Fields/SelectField.js +5 -0
  205. package/lib/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  206. package/lib/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  207. package/lib/ui-kit/FormField/Fields/TextField.js +5 -0
  208. package/lib/ui-kit/FormField/Fields/TextField.js.map +1 -0
  209. package/lib/ui-kit/FormField/InputsMap.d.ts +62 -0
  210. package/lib/ui-kit/FormField/InputsMap.js +117 -0
  211. package/lib/ui-kit/FormField/InputsMap.js.map +1 -0
  212. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  213. package/lib/ui-kit/FormField/constants.d.ts +3 -0
  214. package/lib/ui-kit/FormField/constants.js +26 -0
  215. package/lib/ui-kit/FormField/constants.js.map +1 -1
  216. package/lib/ui-kit/FormField/getField.js +1 -93
  217. package/lib/ui-kit/FormField/getField.js.map +1 -1
  218. package/lib/ui-kit/FormField/getObjectValidator.js +16 -2
  219. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  220. package/lib/ui-kit/FormField/validators.d.ts +1 -0
  221. package/lib/ui-kit/FormField/validators.js +2 -0
  222. package/lib/ui-kit/FormField/validators.js.map +1 -1
  223. package/lib/ui-kit/Input/Input.js +1 -1
  224. package/lib/ui-kit/Input/Input.js.map +1 -1
  225. package/lib/ui-kit/Input/InputFile.d.ts +2 -0
  226. package/lib/ui-kit/Input/InputFile.js +73 -0
  227. package/lib/ui-kit/Input/InputFile.js.map +1 -0
  228. package/lib/ui-kit/Input/InputFileControl.d.ts +2 -0
  229. package/lib/ui-kit/Input/InputFileControl.js +8 -0
  230. package/lib/ui-kit/Input/InputFileControl.js.map +1 -0
  231. package/lib/ui-kit/Input/InputProps.d.ts +6 -1
  232. package/lib/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  233. package/lib/ui-kit/Input/checks/checkFIleExtension.js +9 -0
  234. package/lib/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  235. package/lib/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  236. package/lib/ui-kit/Input/checks/checkFileMimeType.js +17 -0
  237. package/lib/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  238. package/lib/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  239. package/lib/ui-kit/Input/checks/checkFileSignature.js +22 -0
  240. package/lib/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  241. package/lib/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  242. package/lib/ui-kit/Input/checks/checkFileSize.js +10 -0
  243. package/lib/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  244. package/lib/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  245. package/lib/ui-kit/Input/checks/getFileSignature.js +16 -0
  246. package/lib/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  247. package/lib/ui-kit/Input/constants.d.ts +6 -0
  248. package/lib/ui-kit/Input/constants.js +7 -0
  249. package/lib/ui-kit/Input/constants.js.map +1 -0
  250. package/lib/ui-kit/Input/renderFileInput.d.ts +12 -0
  251. package/lib/ui-kit/Input/renderFileInput.js +30 -0
  252. package/lib/ui-kit/Input/renderFileInput.js.map +1 -0
  253. package/lib/ui-kit/Input/renderInfoText.d.ts +1 -0
  254. package/lib/ui-kit/Input/renderInfoText.js +11 -0
  255. package/lib/ui-kit/Input/renderInfoText.js.map +1 -0
  256. package/lib/ui-kit/Input/styles.d.ts +2 -0
  257. package/lib/ui-kit/Input/styles.js +3 -0
  258. package/lib/ui-kit/Input/styles.js.map +1 -0
  259. package/lib/ui-kit/Input/useVerifyFile.d.ts +17 -0
  260. package/lib/ui-kit/Input/useVerifyFile.js +61 -0
  261. package/lib/ui-kit/Input/useVerifyFile.js.map +1 -0
  262. package/lib/ui-kit/PreventableEvent.d.ts +4 -0
  263. package/lib/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  264. package/lib/ui-kit/ProgressBar/ProgressBar.js +1 -1
  265. package/lib/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  266. package/lib/utils/animateStepWithMinDuration.d.ts +8 -0
  267. package/lib/utils/animateStepWithMinDuration.js +23 -0
  268. package/lib/utils/animateStepWithMinDuration.js.map +1 -0
  269. package/lib/utils/isDateValid.d.ts +4 -0
  270. package/lib/utils/isDateValid.js +21 -0
  271. package/lib/utils/isDateValid.js.map +1 -0
  272. package/mobile/bundle/api/LeadServiceAPI.d.ts +8 -2
  273. package/mobile/bundle/api/getSubmitBody.d.ts +201 -97
  274. package/mobile/bundle/api/sendFile.d.ts +16 -0
  275. package/mobile/bundle/bundle.umd.js +562 -50
  276. package/mobile/bundle/bundle.umd.min.js +1 -1
  277. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  278. package/mobile/bundle/components/ApplicationForm/constants.d.ts +7 -0
  279. package/mobile/bundle/components/ApplicationForm/handlers.d.ts +3 -2
  280. package/mobile/bundle/hooks/useDragAndDrop.d.ts +16 -0
  281. package/mobile/bundle/model/FormTypeFieldDef.d.ts +1 -1
  282. package/mobile/bundle/model/InputTypes.d.ts +1 -1
  283. package/mobile/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  284. package/mobile/bundle/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  285. package/mobile/bundle/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  286. package/mobile/bundle/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  287. package/mobile/bundle/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  288. package/mobile/bundle/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  289. package/mobile/bundle/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  290. package/mobile/bundle/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  291. package/mobile/bundle/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  292. package/mobile/bundle/ui-kit/FormField/InputsMap.d.ts +62 -0
  293. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  294. package/mobile/bundle/ui-kit/FormField/constants.d.ts +3 -0
  295. package/mobile/bundle/ui-kit/FormField/validators.d.ts +1 -0
  296. package/mobile/bundle/ui-kit/Input/InputFile.d.ts +2 -0
  297. package/mobile/bundle/ui-kit/Input/InputFileControl.d.ts +2 -0
  298. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +6 -1
  299. package/mobile/bundle/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  300. package/mobile/bundle/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  301. package/mobile/bundle/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  302. package/mobile/bundle/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  303. package/mobile/bundle/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  304. package/mobile/bundle/ui-kit/Input/constants.d.ts +6 -0
  305. package/mobile/bundle/ui-kit/Input/renderFileInput.d.ts +12 -0
  306. package/mobile/bundle/ui-kit/Input/renderInfoText.d.ts +1 -0
  307. package/mobile/bundle/ui-kit/Input/styles.d.ts +2 -0
  308. package/mobile/bundle/ui-kit/Input/useVerifyFile.d.ts +17 -0
  309. package/mobile/bundle/ui-kit/PreventableEvent.d.ts +4 -0
  310. package/mobile/bundle/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  311. package/mobile/bundle/utils/animateStepWithMinDuration.d.ts +8 -0
  312. package/mobile/bundle/utils/isDateValid.d.ts +4 -0
  313. package/mobile/dist/api/LeadServiceAPI.d.ts +8 -2
  314. package/mobile/dist/api/LeadServiceAPI.js +18 -8
  315. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  316. package/mobile/dist/api/getSubmitBody.d.ts +201 -97
  317. package/mobile/dist/api/getSubmitBody.js +13 -6
  318. package/mobile/dist/api/getSubmitBody.js.map +1 -1
  319. package/mobile/dist/api/sendFile.d.ts +16 -0
  320. package/mobile/dist/api/sendFile.js +78 -0
  321. package/mobile/dist/api/sendFile.js.map +1 -0
  322. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +5 -6
  323. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  324. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  325. package/mobile/dist/components/ApplicationForm/constants.d.ts +7 -0
  326. package/mobile/dist/components/ApplicationForm/constants.js +29 -0
  327. package/mobile/dist/components/ApplicationForm/constants.js.map +1 -0
  328. package/mobile/dist/components/ApplicationForm/handlers.d.ts +3 -2
  329. package/mobile/dist/components/ApplicationForm/handlers.js +3 -3
  330. package/mobile/dist/components/ApplicationForm/handlers.js.map +1 -1
  331. package/mobile/dist/hooks/useDragAndDrop.d.ts +16 -0
  332. package/mobile/dist/hooks/useDragAndDrop.js +29 -0
  333. package/mobile/dist/hooks/useDragAndDrop.js.map +1 -0
  334. package/mobile/dist/model/FormTypeFieldDef.d.ts +1 -1
  335. package/mobile/dist/model/InputTypes.d.ts +1 -1
  336. package/mobile/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  337. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  338. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  339. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.js +9 -0
  340. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  341. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  342. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  343. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js +1 -1
  344. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  345. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  346. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.js +7 -0
  347. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  348. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  349. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.js +14 -0
  350. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  351. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  352. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.js +23 -0
  353. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  354. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  355. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.js +23 -0
  356. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  357. package/mobile/dist/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  358. package/mobile/dist/ui-kit/FormField/Fields/SelectField.js +7 -0
  359. package/mobile/dist/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  360. package/mobile/dist/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  361. package/mobile/dist/ui-kit/FormField/Fields/TextField.js +7 -0
  362. package/mobile/dist/ui-kit/FormField/Fields/TextField.js.map +1 -0
  363. package/mobile/dist/ui-kit/FormField/InputsMap.d.ts +62 -0
  364. package/mobile/dist/ui-kit/FormField/InputsMap.js +119 -0
  365. package/mobile/dist/ui-kit/FormField/InputsMap.js.map +1 -0
  366. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  367. package/mobile/dist/ui-kit/FormField/constants.d.ts +3 -0
  368. package/mobile/dist/ui-kit/FormField/constants.js +27 -1
  369. package/mobile/dist/ui-kit/FormField/constants.js.map +1 -1
  370. package/mobile/dist/ui-kit/FormField/getField.js +2 -94
  371. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  372. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +15 -1
  373. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  374. package/mobile/dist/ui-kit/FormField/validators.d.ts +1 -0
  375. package/mobile/dist/ui-kit/FormField/validators.js +4 -1
  376. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  377. package/mobile/dist/ui-kit/Input/Input.js +2 -2
  378. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  379. package/mobile/dist/ui-kit/Input/InputFile.d.ts +2 -0
  380. package/mobile/dist/ui-kit/Input/InputFile.js +75 -0
  381. package/mobile/dist/ui-kit/Input/InputFile.js.map +1 -0
  382. package/mobile/dist/ui-kit/Input/InputFileControl.d.ts +2 -0
  383. package/mobile/dist/ui-kit/Input/InputFileControl.js +10 -0
  384. package/mobile/dist/ui-kit/Input/InputFileControl.js.map +1 -0
  385. package/mobile/dist/ui-kit/Input/InputProps.d.ts +6 -1
  386. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  387. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.js +12 -0
  388. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  389. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  390. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.js +20 -0
  391. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  392. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  393. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.js +25 -0
  394. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  395. package/mobile/dist/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  396. package/mobile/dist/ui-kit/Input/checks/checkFileSize.js +13 -0
  397. package/mobile/dist/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  398. package/mobile/dist/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  399. package/mobile/dist/ui-kit/Input/checks/getFileSignature.js +19 -0
  400. package/mobile/dist/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  401. package/mobile/dist/ui-kit/Input/constants.d.ts +6 -0
  402. package/mobile/dist/ui-kit/Input/constants.js +9 -0
  403. package/mobile/dist/ui-kit/Input/constants.js.map +1 -0
  404. package/mobile/dist/ui-kit/Input/renderFileInput.d.ts +12 -0
  405. package/mobile/dist/ui-kit/Input/renderFileInput.js +33 -0
  406. package/mobile/dist/ui-kit/Input/renderFileInput.js.map +1 -0
  407. package/mobile/dist/ui-kit/Input/renderInfoText.d.ts +1 -0
  408. package/mobile/dist/ui-kit/Input/renderInfoText.js +14 -0
  409. package/mobile/dist/ui-kit/Input/renderInfoText.js.map +1 -0
  410. package/mobile/dist/ui-kit/Input/styles.d.ts +2 -0
  411. package/mobile/dist/ui-kit/Input/styles.js +5 -0
  412. package/mobile/dist/ui-kit/Input/styles.js.map +1 -0
  413. package/mobile/dist/ui-kit/Input/useVerifyFile.d.ts +17 -0
  414. package/mobile/dist/ui-kit/Input/useVerifyFile.js +64 -0
  415. package/mobile/dist/ui-kit/Input/useVerifyFile.js.map +1 -0
  416. package/mobile/dist/ui-kit/PreventableEvent.d.ts +4 -0
  417. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  418. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.js +1 -1
  419. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  420. package/mobile/dist/utils/animateStepWithMinDuration.d.ts +8 -0
  421. package/mobile/dist/utils/animateStepWithMinDuration.js +26 -0
  422. package/mobile/dist/utils/animateStepWithMinDuration.js.map +1 -0
  423. package/mobile/dist/utils/isDateValid.d.ts +4 -0
  424. package/mobile/dist/utils/isDateValid.js +24 -0
  425. package/mobile/dist/utils/isDateValid.js.map +1 -0
  426. package/mobile/lib/api/LeadServiceAPI.d.ts +8 -2
  427. package/mobile/lib/api/LeadServiceAPI.js +18 -8
  428. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  429. package/mobile/lib/api/getSubmitBody.d.ts +201 -97
  430. package/mobile/lib/api/getSubmitBody.js +13 -6
  431. package/mobile/lib/api/getSubmitBody.js.map +1 -1
  432. package/mobile/lib/api/sendFile.d.ts +16 -0
  433. package/mobile/lib/api/sendFile.js +75 -0
  434. package/mobile/lib/api/sendFile.js.map +1 -0
  435. package/mobile/lib/common.css +1 -1
  436. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +5 -6
  437. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  438. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  439. package/mobile/lib/components/ApplicationForm/constants.d.ts +7 -0
  440. package/mobile/lib/components/ApplicationForm/constants.js +27 -0
  441. package/mobile/lib/components/ApplicationForm/constants.js.map +1 -0
  442. package/mobile/lib/components/ApplicationForm/handlers.d.ts +3 -2
  443. package/mobile/lib/components/ApplicationForm/handlers.js +3 -3
  444. package/mobile/lib/components/ApplicationForm/handlers.js.map +1 -1
  445. package/mobile/lib/hooks/useDragAndDrop.d.ts +16 -0
  446. package/mobile/lib/hooks/useDragAndDrop.js +26 -0
  447. package/mobile/lib/hooks/useDragAndDrop.js.map +1 -0
  448. package/mobile/lib/model/FormTypeFieldDef.d.ts +1 -1
  449. package/mobile/lib/model/InputTypes.d.ts +1 -1
  450. package/mobile/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  451. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  452. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  453. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.js +7 -0
  454. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  455. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  456. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  457. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js +1 -1
  458. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  459. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  460. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.js +5 -0
  461. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  462. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  463. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.js +12 -0
  464. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  465. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  466. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.js +21 -0
  467. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  468. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  469. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.js +21 -0
  470. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  471. package/mobile/lib/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  472. package/mobile/lib/ui-kit/FormField/Fields/SelectField.js +5 -0
  473. package/mobile/lib/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  474. package/mobile/lib/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  475. package/mobile/lib/ui-kit/FormField/Fields/TextField.js +5 -0
  476. package/mobile/lib/ui-kit/FormField/Fields/TextField.js.map +1 -0
  477. package/mobile/lib/ui-kit/FormField/InputsMap.d.ts +62 -0
  478. package/mobile/lib/ui-kit/FormField/InputsMap.js +117 -0
  479. package/mobile/lib/ui-kit/FormField/InputsMap.js.map +1 -0
  480. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  481. package/mobile/lib/ui-kit/FormField/constants.d.ts +3 -0
  482. package/mobile/lib/ui-kit/FormField/constants.js +26 -0
  483. package/mobile/lib/ui-kit/FormField/constants.js.map +1 -1
  484. package/mobile/lib/ui-kit/FormField/getField.js +1 -93
  485. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  486. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +16 -2
  487. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  488. package/mobile/lib/ui-kit/FormField/validators.d.ts +1 -0
  489. package/mobile/lib/ui-kit/FormField/validators.js +2 -0
  490. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  491. package/mobile/lib/ui-kit/Input/Input.js +1 -1
  492. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  493. package/mobile/lib/ui-kit/Input/InputFile.d.ts +2 -0
  494. package/mobile/lib/ui-kit/Input/InputFile.js +73 -0
  495. package/mobile/lib/ui-kit/Input/InputFile.js.map +1 -0
  496. package/mobile/lib/ui-kit/Input/InputFileControl.d.ts +2 -0
  497. package/mobile/lib/ui-kit/Input/InputFileControl.js +8 -0
  498. package/mobile/lib/ui-kit/Input/InputFileControl.js.map +1 -0
  499. package/mobile/lib/ui-kit/Input/InputProps.d.ts +6 -1
  500. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  501. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.js +9 -0
  502. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  503. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  504. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.js +17 -0
  505. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  506. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  507. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.js +22 -0
  508. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  509. package/mobile/lib/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  510. package/mobile/lib/ui-kit/Input/checks/checkFileSize.js +10 -0
  511. package/mobile/lib/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  512. package/mobile/lib/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  513. package/mobile/lib/ui-kit/Input/checks/getFileSignature.js +16 -0
  514. package/mobile/lib/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  515. package/mobile/lib/ui-kit/Input/constants.d.ts +6 -0
  516. package/mobile/lib/ui-kit/Input/constants.js +7 -0
  517. package/mobile/lib/ui-kit/Input/constants.js.map +1 -0
  518. package/mobile/lib/ui-kit/Input/renderFileInput.d.ts +12 -0
  519. package/mobile/lib/ui-kit/Input/renderFileInput.js +30 -0
  520. package/mobile/lib/ui-kit/Input/renderFileInput.js.map +1 -0
  521. package/mobile/lib/ui-kit/Input/renderInfoText.d.ts +1 -0
  522. package/mobile/lib/ui-kit/Input/renderInfoText.js +11 -0
  523. package/mobile/lib/ui-kit/Input/renderInfoText.js.map +1 -0
  524. package/mobile/lib/ui-kit/Input/styles.d.ts +2 -0
  525. package/mobile/lib/ui-kit/Input/styles.js +3 -0
  526. package/mobile/lib/ui-kit/Input/styles.js.map +1 -0
  527. package/mobile/lib/ui-kit/Input/useVerifyFile.d.ts +17 -0
  528. package/mobile/lib/ui-kit/Input/useVerifyFile.js +61 -0
  529. package/mobile/lib/ui-kit/Input/useVerifyFile.js.map +1 -0
  530. package/mobile/lib/ui-kit/PreventableEvent.d.ts +4 -0
  531. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  532. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.js +1 -1
  533. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  534. package/mobile/lib/utils/animateStepWithMinDuration.d.ts +8 -0
  535. package/mobile/lib/utils/animateStepWithMinDuration.js +23 -0
  536. package/mobile/lib/utils/animateStepWithMinDuration.js.map +1 -0
  537. package/mobile/lib/utils/isDateValid.d.ts +4 -0
  538. package/mobile/lib/utils/isDateValid.js +21 -0
  539. package/mobile/lib/utils/isDateValid.js.map +1 -0
  540. package/mobile/src/api/LeadServiceAPI.ts +29 -9
  541. package/mobile/src/api/getSubmitBody.ts +28 -7
  542. package/mobile/src/api/sendFile.ts +97 -0
  543. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +192 -0
  544. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +22 -16
  545. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +16 -2
  546. package/mobile/src/components/ApplicationForm/constants.ts +33 -0
  547. package/mobile/src/components/ApplicationForm/handlers.ts +5 -3
  548. package/mobile/src/hooks/useDragAndDrop.ts +48 -0
  549. package/mobile/src/model/FormTypeFieldDef.ts +2 -1
  550. package/mobile/src/model/InputTypes.ts +1 -1
  551. package/mobile/src/ui-kit/FormField/CustomFieldProps.ts +1 -0
  552. package/mobile/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  553. package/mobile/src/ui-kit/FormField/Fields/AverageGradeField.tsx +14 -0
  554. package/mobile/src/ui-kit/FormField/Fields/BirthdayField.tsx +12 -7
  555. package/mobile/src/ui-kit/FormField/Fields/CommentField.tsx +1 -1
  556. package/mobile/src/ui-kit/FormField/Fields/FileIdField.tsx +7 -0
  557. package/mobile/src/ui-kit/FormField/Fields/FileUpload.tsx +22 -0
  558. package/mobile/src/ui-kit/FormField/Fields/InternshipEndDateField.tsx +38 -0
  559. package/mobile/src/ui-kit/FormField/Fields/InternshipStartDateField.tsx +38 -0
  560. package/mobile/src/ui-kit/FormField/Fields/SelectField.tsx +12 -0
  561. package/mobile/src/ui-kit/FormField/Fields/TextField.tsx +7 -0
  562. package/mobile/src/ui-kit/FormField/InputsMap.tsx +133 -0
  563. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +17 -1
  564. package/mobile/src/ui-kit/FormField/constants.tsx +29 -0
  565. package/mobile/src/ui-kit/FormField/getField.tsx +1 -105
  566. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +16 -1
  567. package/mobile/src/ui-kit/FormField/validators.ts +4 -0
  568. package/mobile/src/ui-kit/Input/Input.tsx +1 -2
  569. package/mobile/src/ui-kit/Input/InputFile.tsx +132 -0
  570. package/mobile/src/ui-kit/Input/InputFileControl.tsx +22 -0
  571. package/mobile/src/ui-kit/Input/InputProps.ts +10 -1
  572. package/mobile/src/ui-kit/Input/checks/checkFIleExtension.ts +9 -0
  573. package/mobile/src/ui-kit/Input/checks/checkFileMimeType.ts +20 -0
  574. package/mobile/src/ui-kit/Input/checks/checkFileSignature.ts +30 -0
  575. package/mobile/src/ui-kit/Input/checks/checkFileSize.ts +10 -0
  576. package/mobile/src/ui-kit/Input/checks/getFileSignature.ts +16 -0
  577. package/mobile/src/ui-kit/Input/constants.ts +6 -0
  578. package/mobile/src/ui-kit/Input/renderFileInput.tsx +87 -0
  579. package/mobile/src/ui-kit/Input/renderInfoText.tsx +15 -0
  580. package/mobile/src/ui-kit/Input/styles.ts +2 -0
  581. package/mobile/src/ui-kit/Input/useVerifyFile.ts +100 -0
  582. package/mobile/src/ui-kit/PreventableEvent.ts +5 -0
  583. package/mobile/src/ui-kit/ProgressBar/ProgressBar.tsx +7 -2
  584. package/mobile/src/utils/animateStepWithMinDuration.ts +38 -0
  585. package/mobile/src/utils/isDateValid.ts +33 -0
  586. package/package.json +2 -2
  587. package/src/api/LeadServiceAPI.ts +29 -9
  588. package/src/api/getSubmitBody.ts +28 -7
  589. package/src/api/sendFile.ts +97 -0
  590. package/src/components/ApplicationForm/ApplicationForm.example.json +192 -0
  591. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +132 -0
  592. package/src/components/ApplicationForm/ApplicationForm.tsx +22 -16
  593. package/src/components/ApplicationForm/ApplicationFormContent.ts +16 -2
  594. package/src/components/ApplicationForm/constants.ts +33 -0
  595. package/src/components/ApplicationForm/handlers.ts +5 -3
  596. package/src/hooks/useDragAndDrop.ts +48 -0
  597. package/src/model/FormTypeFieldDef.ts +2 -1
  598. package/src/model/InputTypes.ts +1 -1
  599. package/src/ui-kit/FormField/CustomFieldProps.ts +1 -0
  600. package/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  601. package/src/ui-kit/FormField/Fields/AverageGradeField.tsx +14 -0
  602. package/src/ui-kit/FormField/Fields/BirthdayField.tsx +12 -7
  603. package/src/ui-kit/FormField/Fields/CommentField.tsx +1 -1
  604. package/src/ui-kit/FormField/Fields/FileIdField.tsx +7 -0
  605. package/src/ui-kit/FormField/Fields/FileUpload.tsx +22 -0
  606. package/src/ui-kit/FormField/Fields/InternshipEndDateField.tsx +38 -0
  607. package/src/ui-kit/FormField/Fields/InternshipStartDateField.tsx +38 -0
  608. package/src/ui-kit/FormField/Fields/SelectField.tsx +12 -0
  609. package/src/ui-kit/FormField/Fields/TextField.tsx +7 -0
  610. package/src/ui-kit/FormField/InputsMap.tsx +133 -0
  611. package/src/ui-kit/FormField/NameFieldDef.ts +17 -1
  612. package/src/ui-kit/FormField/constants.tsx +29 -0
  613. package/src/ui-kit/FormField/getField.tsx +1 -105
  614. package/src/ui-kit/FormField/getObjectValidator.tsx +16 -1
  615. package/src/ui-kit/FormField/validators.ts +4 -0
  616. package/src/ui-kit/Input/Input.tsx +1 -2
  617. package/src/ui-kit/Input/InputFile.tsx +132 -0
  618. package/src/ui-kit/Input/InputFileControl.tsx +22 -0
  619. package/src/ui-kit/Input/InputProps.ts +10 -1
  620. package/src/ui-kit/Input/checks/checkFIleExtension.ts +9 -0
  621. package/src/ui-kit/Input/checks/checkFileMimeType.ts +20 -0
  622. package/src/ui-kit/Input/checks/checkFileSignature.ts +30 -0
  623. package/src/ui-kit/Input/checks/checkFileSize.ts +10 -0
  624. package/src/ui-kit/Input/checks/getFileSignature.ts +16 -0
  625. package/src/ui-kit/Input/constants.ts +6 -0
  626. package/src/ui-kit/Input/renderFileInput.tsx +87 -0
  627. package/src/ui-kit/Input/renderInfoText.tsx +15 -0
  628. package/src/ui-kit/Input/styles.ts +2 -0
  629. package/src/ui-kit/Input/useVerifyFile.ts +100 -0
  630. package/src/ui-kit/PreventableEvent.ts +5 -0
  631. package/src/ui-kit/ProgressBar/ProgressBar.tsx +7 -2
  632. package/src/utils/animateStepWithMinDuration.ts +38 -0
  633. package/src/utils/isDateValid.ts +33 -0
@@ -0,0 +1,48 @@
1
+ import { useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import type { ResponseData } from '../api/sendFile';
3
+ import { type VerifyFileParams } from '../ui-kit/Input/useVerifyFile';
4
+ import type {
5
+ PreventableEventWithTarget,
6
+ PreventableEventWithTargetFiles,
7
+ } from '../ui-kit/PreventableEvent';
8
+
9
+ interface DragAndDropProps {
10
+ onFileSelected: (props: VerifyFileParams) => Promise<void>;
11
+ onReset: () => void;
12
+ uploadResponse: ResponseData | null;
13
+ onFileChanged?: (value: string) => void;
14
+ }
15
+
16
+ export const useDragAndDrop = ({
17
+ onFileSelected,
18
+ onReset,
19
+ uploadResponse,
20
+ onFileChanged,
21
+ }: DragAndDropProps) => {
22
+ const [isDragActive, setIsDragActive] = useState(false);
23
+
24
+ const handleDrag = (e: PreventableEventWithTarget) => {
25
+ e.preventDefault();
26
+ if (uploadResponse) {
27
+ return;
28
+ }
29
+ setIsDragActive(true);
30
+ };
31
+
32
+ const handleLeave = () => setIsDragActive(false);
33
+
34
+ const handleDrop = async (e: PreventableEventWithTargetFiles) => {
35
+ e.preventDefault();
36
+ if (uploadResponse) {
37
+ return;
38
+ }
39
+ onReset();
40
+ setIsDragActive(false);
41
+ const file = e.dataTransfer?.files?.[0];
42
+ if (file) {
43
+ await onFileSelected({ file, onFileChanged });
44
+ }
45
+ };
46
+
47
+ return { handleDrag, handleLeave, handleDrop, isDragActive };
48
+ };
@@ -25,4 +25,5 @@ export type FormTypeFieldDef =
25
25
  | 'INVESTADVISER'
26
26
  | 'FINOMBUDSMAN'
27
27
  | 'PF'
28
- | 'UNIVERSAL';
28
+ | 'UNIVERSAL'
29
+ | 'PRACTICE';
@@ -1 +1 @@
1
- export type InputTypes = 'text' | 'number' | 'hidden';
1
+ export type InputTypes = 'text' | 'number' | 'hidden' | 'file';
@@ -7,6 +7,7 @@ export interface CustomFieldProps {
7
7
  input?: FieldDef;
8
8
  url?: string;
9
9
  params?: Record<string, any>;
10
+ label?: string;
10
11
  }
11
12
 
12
13
  export interface CustomFieldPropsWithTypeForm extends CustomFieldProps {
@@ -7,7 +7,7 @@ import { SelectControl } from '../../Select/SelectControl';
7
7
  import { type CustomFieldProps } from '../CustomFieldProps';
8
8
  import { getPremium } from '../getPremium';
9
9
 
10
- interface RegionFieldProps extends CustomFieldProps {
10
+ export interface RegionFieldProps extends CustomFieldProps {
11
11
  isPremium?: boolean;
12
12
  }
13
13
 
@@ -0,0 +1,14 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { InputControl } from '../../Input/InputControl';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+
5
+ export const AverageGradeField = JSX<CustomFieldProps>(({ field, input }) => {
6
+ return (
7
+ <InputControl
8
+ label="Средний балл обучения"
9
+ type="number"
10
+ {...field(input?.name ?? '')}
11
+ {...input}
12
+ />
13
+ );
14
+ });
@@ -2,10 +2,15 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { DatePickerControl } from '../../DatePicker/DatePickerControl';
3
3
  import { type CustomFieldProps } from '../CustomFieldProps';
4
4
 
5
- export const BirthdayField = JSX<CustomFieldProps>(({ field, input }) => (
6
- <DatePickerControl
7
- label={input?.label || 'Дата рождения'}
8
- {...field(input?.name ?? '')}
9
- {...input}
10
- />
11
- ));
5
+ export const BirthdayField = JSX<CustomFieldProps>(({ field, input }) => {
6
+ const today = new Date();
7
+
8
+ return (
9
+ <DatePickerControl
10
+ label={input?.label || 'Дата рождения'}
11
+ {...field(input?.name ?? '')}
12
+ maxDate={today}
13
+ {...input}
14
+ />
15
+ );
16
+ });
@@ -6,7 +6,7 @@ export const CommentField = JSX<CustomFieldProps>(({ field, input }) => (
6
6
  <InputControl
7
7
  className="col-span-2"
8
8
  {...field(input?.name ?? '')}
9
- placeholder="Ваше сообщение"
9
+ placeholder={input?.placeholder ?? 'Ваше сообщение'}
10
10
  isTextarea={true}
11
11
  {...input}
12
12
  />
@@ -0,0 +1,7 @@
1
+ import { UniBlock } from '../../../UniBlock/UniBlock';
2
+ import { InputControl } from '../../Input/InputControl';
3
+ import { type PartnerFieldWithRefProps } from './PartnerSymbolCodeField';
4
+
5
+ export const FileIdField = UniBlock<PartnerFieldWithRefProps>(({ field, input = {} }) => (
6
+ <InputControl {...field(input.name ?? '')} {...input} type="hidden" />
7
+ ));
@@ -0,0 +1,22 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { InputFileControl } from '../../Input/InputFileControl';
4
+ import { type CustomFieldProps } from '../CustomFieldProps';
5
+
6
+ export const FileUploadField = JSX<CustomFieldProps>(({ field, input }) => {
7
+ const [fileId, setFileId] = useState<string>('');
8
+
9
+ useEffect(() => {
10
+ field('fileId')?.onChange?.(fileId);
11
+ }, [fileId]);
12
+
13
+ return (
14
+ <InputFileControl
15
+ type="file"
16
+ label={input?.name ?? ''}
17
+ {...field(input?.name ?? '')}
18
+ {...input}
19
+ onFileChanged={setFileId}
20
+ />
21
+ );
22
+ });
@@ -0,0 +1,38 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { isDateValid } from '../../../utils/isDateValid';
4
+ import { DatePickerControl } from '../../DatePicker/DatePickerControl';
5
+ import { type CustomFieldProps } from '../CustomFieldProps';
6
+
7
+ const INTERNSHIP_END_DATE_ERROR = 'Некорректно заполненное поле';
8
+
9
+ export const InternshipEndDateField = JSX<CustomFieldProps>(({ field, input }) => {
10
+ const [startDate, setStartDate] = useState<Date>();
11
+ const [internshipEndDateError, setInternshipEndDateError] = useState('');
12
+ const [internshipEndDateValue, setInternshipEndDateValue] = useState<Date>();
13
+
14
+ useEffect(() => {
15
+ setStartDate(field('internshipStartDate').value as Date);
16
+ }, [field('internshipStartDate').value]);
17
+
18
+ const handleInputChange = (value: Date) => {
19
+ setInternshipEndDateValue(value);
20
+ field(input?.name ?? '')?.onChange?.(value);
21
+ setInternshipEndDateError(
22
+ isDateValid(value, { minLimit: startDate }) ? '' : INTERNSHIP_END_DATE_ERROR,
23
+ );
24
+ };
25
+
26
+ return (
27
+ <DatePickerControl
28
+ label={input?.label || 'Дата окончания практики'}
29
+ {...field(input?.name ?? '')}
30
+ {...input}
31
+ value={internshipEndDateValue}
32
+ error={field(input?.name ?? '')?.error || internshipEndDateError}
33
+ errors={[field(input?.name ?? '')?.error || internshipEndDateError]}
34
+ onChange={handleInputChange}
35
+ minDate={startDate}
36
+ />
37
+ );
38
+ });
@@ -0,0 +1,38 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { isDateValid } from '../../../utils/isDateValid';
4
+ import { DatePickerControl } from '../../DatePicker/DatePickerControl';
5
+ import { type CustomFieldProps } from '../CustomFieldProps';
6
+
7
+ const INTERNSHIP_START_DATE_ERROR = 'Некорректно заполненное поле';
8
+
9
+ export const InternshipStartDateField = JSX<CustomFieldProps>(({ field, input }) => {
10
+ const [endDate, setEndDate] = useState<Date>();
11
+ const [internshipStartDateError, setInternshipStartDateError] = useState('');
12
+ const [internshipStartDateValue, setInternshipStartDateValue] = useState<Date>();
13
+
14
+ useEffect(() => {
15
+ setEndDate(field('internshipEndDate').value as Date);
16
+ }, [field('internshipEndDate').value]);
17
+
18
+ const handleInputChange = (value: Date) => {
19
+ setInternshipStartDateValue(value);
20
+ field(input?.name ?? '')?.onChange?.(value);
21
+ setInternshipStartDateError(
22
+ isDateValid(value, { maxLimit: endDate }) ? '' : INTERNSHIP_START_DATE_ERROR,
23
+ );
24
+ };
25
+
26
+ return (
27
+ <DatePickerControl
28
+ label={input?.label || 'Дата начала практики'}
29
+ {...field(input?.name ?? '')}
30
+ {...input}
31
+ value={internshipStartDateValue}
32
+ error={internshipStartDateError || field(input?.name ?? '')?.error}
33
+ errors={[internshipStartDateError ?? field(input?.name ?? '')?.error]}
34
+ onChange={handleInputChange}
35
+ maxDate={endDate}
36
+ />
37
+ );
38
+ });
@@ -0,0 +1,12 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { type Option } from '../../Select/Option';
3
+ import { SelectControl } from '../../Select/SelectControl';
4
+ import { type CustomFieldProps } from '../CustomFieldProps';
5
+
6
+ export interface SelectFieldProps extends CustomFieldProps {
7
+ options: Option[];
8
+ }
9
+
10
+ export const SelectField = JSX<SelectFieldProps>(({ field, input, label, options }) => (
11
+ <SelectControl label={label} options={options} {...field(input?.name ?? '')} {...input} />
12
+ ));
@@ -0,0 +1,7 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { InputControl } from '../../Input/InputControl';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+
5
+ export const TextField = JSX<CustomFieldProps>(({ field, input, label }) => (
6
+ <InputControl label={label} maxLength={60} {...field(input?.name ?? '')} {...input} />
7
+ ));
@@ -0,0 +1,133 @@
1
+ import type { FormTypeFieldDef } from '../../model/FormTypeFieldDef';
2
+ import { EDUCATION_LEVEL, INTERNSHIP_DIRECTION, WORKING_HOURS } from './constants';
3
+ import type { CustomFieldProps } from './CustomFieldProps';
4
+ import { AcquiringField } from './Fields/AcquiringField';
5
+ import { AddressBranchField } from './Fields/AddressBranchField';
6
+ import { AmountField } from './Fields/AmountField';
7
+ import { AnnualRevenueField } from './Fields/AnnualRevenueField';
8
+ import { ApplicationDateField } from './Fields/ApplicationDateField';
9
+ import { ApplierTypeField } from './Fields/ApplierTypeField';
10
+ import { AverageGradeField } from './Fields/AverageGradeField';
11
+ import { BankEmpoleeField } from './Fields/BankEmpoleeField';
12
+ import { BirthdayField } from './Fields/BirthdayField';
13
+ import { CallbackTimeField } from './Fields/CallbackTimeField';
14
+ import { CollectionCountField } from './Fields/CollectionCountField';
15
+ import { CommentField } from './Fields/CommentField';
16
+ import { DadataPartySelectField } from './Fields/DadataPartySelectField';
17
+ import { DesiredMeetingDateField } from './Fields/DesiredMeetingDateField';
18
+ import { EmailField } from './Fields/EmailField';
19
+ import { FeedbackMethodField } from './Fields/FeedbackMethodField';
20
+ import { FileUploadField } from './Fields/FileUpload';
21
+ import { FullNameField } from './Fields/FullNameField';
22
+ import { FullRegionField } from './Fields/FullRegionField';
23
+ import { InnField } from './Fields/InnField';
24
+ import { InternshipEndDateField } from './Fields/InternshipEndDateField';
25
+ import { InternshipStartDateField } from './Fields/InternshipStartDateField';
26
+ import { IsClientField } from './Fields/IsClientField';
27
+ import { LocalitiesField } from './Fields/LocalitiesField';
28
+ import { MiddleNameField } from './Fields/MiddleNameField';
29
+ import { NameField } from './Fields/NameField';
30
+ import { OnlineCheckoutField } from './Fields/OnlineCheckoutField';
31
+ import { PartnerCommentsField } from './Fields/PartnerCommentsField';
32
+ import { PartnerNameField } from './Fields/PartnerNameField';
33
+ import { PartnerSymbolCodeField } from './Fields/PartnerSymbolCodeField';
34
+ import { PhoneField } from './Fields/PhoneField';
35
+ import { PosTerminalField } from './Fields/PosTerminalField';
36
+ import { ProductField } from './Fields/ProductField';
37
+ import { QuestionProductField } from './Fields/QuestionProductField';
38
+ import { RegionField } from './Fields/RegionField';
39
+ import { RepresentativeNameField } from './Fields/RepresentativeNameField';
40
+ import { SecondaryPhoneField } from './Fields/SecondaryPhoneField';
41
+ import { SelectField, type SelectFieldProps } from './Fields/SelectField';
42
+ import { ServiceDirectionField } from './Fields/ServiceDirectionField';
43
+ import { SituationDescriptionField } from './Fields/SituationDescriptionField';
44
+ import { SufferedFromField } from './Fields/SufferedFromField';
45
+ import { SurnameField } from './Fields/SurnameField';
46
+ import { TermField } from './Fields/TermField';
47
+ import { TextField } from './Fields/TextField';
48
+ import { UltraPremiumField } from './Fields/UltraPremiumField';
49
+ import { VedField } from './Fields/VedField';
50
+ import { ConsentToReceiveMaterialsField } from './Fields/СonsentToReceiveMaterialsField';
51
+ import { getPremium } from './getPremium';
52
+
53
+ const PRODUCT_REF = {
54
+ $ref: '/wcms-resources/outservice-productlist.json',
55
+ };
56
+
57
+ const AGENTS_REF = {
58
+ $ref: '/wcms-resources/agenty-dlya-rko.json',
59
+ };
60
+
61
+ export const InputsMap = {
62
+ fullName: FullNameField,
63
+ addressBranch: AddressBranchField,
64
+ desiredMeetingDate: DesiredMeetingDateField,
65
+ product: (props: CustomFieldProps) => <ProductField {...props} source={PRODUCT_REF} />,
66
+ localities: LocalitiesField,
67
+ isClient: IsClientField,
68
+ partnerComments: PartnerCommentsField,
69
+ collectionCount: CollectionCountField,
70
+ acquiringType: AcquiringField,
71
+ onlineCheckout: OnlineCheckoutField,
72
+ posTerminal: PosTerminalField,
73
+ serviceType: UltraPremiumField,
74
+ term: TermField,
75
+ amount: AmountField,
76
+ annualRevenue: AnnualRevenueField,
77
+ vedTypes: VedField,
78
+ feedbackMethod: FeedbackMethodField,
79
+ serviceDirection: ServiceDirectionField,
80
+ bankEmpolee: BankEmpoleeField,
81
+ secondaryPhone: SecondaryPhoneField,
82
+ applicationDate: ApplicationDateField,
83
+ region: (props: CustomFieldProps) =>
84
+ getPremium(props?.params?.typeForm as FormTypeFieldDef) ? (
85
+ <FullRegionField {...props} />
86
+ ) : (
87
+ <RegionField {...props} />
88
+ ),
89
+ consentToReceiveMaterials: ConsentToReceiveMaterialsField,
90
+ sufferedFrom: SufferedFromField,
91
+ situationDescription: SituationDescriptionField,
92
+ representativeName: RepresentativeNameField,
93
+ applierType: ApplierTypeField,
94
+ surname: SurnameField,
95
+ name: NameField,
96
+ middleName: MiddleNameField,
97
+ birthday: BirthdayField,
98
+ phone: PhoneField,
99
+ email: EmailField,
100
+ inn: InnField,
101
+ comment: CommentField,
102
+ fullRegion: FullRegionField,
103
+ partnerSymbolCode: (props: CustomFieldProps) => (
104
+ <PartnerSymbolCodeField {...props} source={AGENTS_REF} />
105
+ ),
106
+ partnerName: (props: CustomFieldProps) => <PartnerNameField {...props} source={AGENTS_REF} />,
107
+ dadataPartyNameSelect: DadataPartySelectField,
108
+ dadataPartyInnSelect: DadataPartySelectField,
109
+ questionProduct: QuestionProductField,
110
+ callbackTime: CallbackTimeField,
111
+ russianPhone: PhoneField,
112
+ cityOfResidence: (props: CustomFieldProps) => <TextField {...props} label="Город проживания" />,
113
+ internshipStartDate: InternshipStartDateField,
114
+ internshipEndDate: InternshipEndDateField,
115
+ university: (props: CustomFieldProps) => <TextField {...props} label="ВУЗ" />,
116
+ courseYear: (props: CustomFieldProps) => <TextField {...props} label="Курс" />,
117
+ graduationYear: (props: CustomFieldProps) => <TextField {...props} label="Год окончания" />,
118
+ fieldOfStudy: (props: CustomFieldProps) => <TextField {...props} label="Направление обучения" />,
119
+ educationLevel: (props: SelectFieldProps) => (
120
+ <SelectField {...props} label="Ступень обучения" options={EDUCATION_LEVEL} />
121
+ ),
122
+ averageGrade: AverageGradeField,
123
+ skillsAndKnowledge: CommentField,
124
+ workExperience: CommentField,
125
+ motivationForInternship: CommentField,
126
+ internshipDirection: (props: SelectFieldProps) => (
127
+ <SelectField {...props} label="Направление стажировки" options={INTERNSHIP_DIRECTION} />
128
+ ),
129
+ workingHours: (props: SelectFieldProps) => (
130
+ <SelectField {...props} label="Количество рабочих часов" options={WORKING_HOURS} />
131
+ ),
132
+ fileUpload: FileUploadField,
133
+ };
@@ -45,5 +45,21 @@ type NameFieldApplicationDef =
45
45
  | 'dadataPartyInnSelect'
46
46
  | 'questionProduct'
47
47
  | 'callbackTime'
48
- | 'russianPhone';
48
+ | 'russianPhone'
49
+ | 'cityOfResidence'
50
+ | 'internshipStartDate'
51
+ | 'internshipEndDate'
52
+ | 'university'
53
+ | 'fieldOfStudy'
54
+ | 'courseYear'
55
+ | 'graduationYear'
56
+ | 'averageGrade'
57
+ | 'skillsAndKnowledge'
58
+ | 'educationLevel'
59
+ | 'workingHours'
60
+ | 'motivationForInternship'
61
+ | 'workExperience'
62
+ | 'internshipDirection'
63
+ | 'fileUpload'
64
+ | 'fileId';
49
65
  export type NameFieldDef = NameFieldApplicationDef;
@@ -97,3 +97,32 @@ export const VED_TYPES: RadioButtonItem[] = [
97
97
  { id: 'conversionTransactions', text: 'Конверсионные операции' },
98
98
  { id: 'otherIssues', text: 'Иные вопросы ВЭД' },
99
99
  ];
100
+
101
+ export const INTERNSHIP_DIRECTION: Option[] = [
102
+ { key: 'economics', text: 'Экономика и финансы' },
103
+ { key: 'audit', text: 'Аудит' },
104
+ { key: 'law', text: 'Юриспруденция' },
105
+ { key: 'it', text: 'ИТ' },
106
+ { key: 'marketing', text: 'Маркетинг' },
107
+ { key: 'hr', text: 'HR' },
108
+ { key: 'analytics', text: 'Аналитика' },
109
+ { key: 'management', text: 'Менеджмент' },
110
+ { key: 'administration', text: 'ГМУ' },
111
+ { key: 'design', text: 'Дизайн' },
112
+ { key: 'journalism', text: 'Журналистика' },
113
+ { key: 'contact', text: 'Контакт-центр' },
114
+ { key: 'other', text: 'Другое' },
115
+ ];
116
+
117
+ export const WORKING_HOURS: Option[] = [
118
+ { key: '20', text: '20' },
119
+ { key: '30', text: '30' },
120
+ { key: '40', text: '40' },
121
+ ];
122
+
123
+ export const EDUCATION_LEVEL: Option[] = [
124
+ { key: 'bachelor', text: 'Бакалавриат' },
125
+ { key: 'specialist', text: 'Специалитет' },
126
+ { key: 'master', text: 'Магистратура' },
127
+ { key: 'doctorate', text: 'Аспирантура' },
128
+ ];
@@ -1,114 +1,10 @@
1
1
  import { type FormFieldRegisterer } from '../../hooks/useForm/useForm';
2
- import { type FormTypeFieldDef } from '../../model/FormTypeFieldDef';
3
2
  import { type VNode } from '../../model/VNode';
4
3
  import { type BaseFieldDef } from './BaseFieldDef';
5
- import { type CustomFieldProps } from './CustomFieldProps';
6
- import { AcquiringField } from './Fields/AcquiringField';
7
- import { AddressBranchField } from './Fields/AddressBranchField';
8
- import { AmountField } from './Fields/AmountField';
9
- import { AnnualRevenueField } from './Fields/AnnualRevenueField';
10
- import { ApplicationDateField } from './Fields/ApplicationDateField';
11
- import { ApplierTypeField } from './Fields/ApplierTypeField';
12
- import { BankEmpoleeField } from './Fields/BankEmpoleeField';
13
- import { BirthdayField } from './Fields/BirthdayField';
14
- import { CallbackTimeField } from './Fields/CallbackTimeField';
15
- import { CollectionCountField } from './Fields/CollectionCountField';
16
- import { CommentField } from './Fields/CommentField';
17
- import { DadataPartySelectField } from './Fields/DadataPartySelectField';
18
- import { DesiredMeetingDateField } from './Fields/DesiredMeetingDateField';
19
- import { EmailField } from './Fields/EmailField';
20
- import { FeedbackMethodField } from './Fields/FeedbackMethodField';
21
- import { FullNameField } from './Fields/FullNameField';
22
- import { FullRegionField } from './Fields/FullRegionField';
23
- import { InnField } from './Fields/InnField';
24
- import { IsClientField } from './Fields/IsClientField';
25
- import { LocalitiesField } from './Fields/LocalitiesField';
26
- import { MiddleNameField } from './Fields/MiddleNameField';
27
- import { NameField } from './Fields/NameField';
28
- import { OnlineCheckoutField } from './Fields/OnlineCheckoutField';
29
- import { PartnerCommentsField } from './Fields/PartnerCommentsField';
30
- import { PartnerNameField } from './Fields/PartnerNameField';
31
- import { PartnerSymbolCodeField } from './Fields/PartnerSymbolCodeField';
32
- import { PhoneField } from './Fields/PhoneField';
33
- import { PosTerminalField } from './Fields/PosTerminalField';
34
- import { ProductField } from './Fields/ProductField';
35
- import { QuestionProductField } from './Fields/QuestionProductField';
36
- import { RegionField } from './Fields/RegionField';
37
- import { RepresentativeNameField } from './Fields/RepresentativeNameField';
38
- import { SecondaryPhoneField } from './Fields/SecondaryPhoneField';
39
- import { ServiceDirectionField } from './Fields/ServiceDirectionField';
40
- import { SituationDescriptionField } from './Fields/SituationDescriptionField';
41
- import { SufferedFromField } from './Fields/SufferedFromField';
42
- import { SurnameField } from './Fields/SurnameField';
43
- import { TermField } from './Fields/TermField';
44
- import { UltraPremiumField } from './Fields/UltraPremiumField';
45
- import { VedField } from './Fields/VedField';
46
- import { ConsentToReceiveMaterialsField } from './Fields/СonsentToReceiveMaterialsField';
47
- import { getPremium } from './getPremium';
4
+ import { InputsMap } from './InputsMap';
48
5
  import { RefWrapper } from './RefWrapper';
49
6
  import { shouldRenderField } from './shouldRenderField';
50
7
 
51
- const PRODUCT_REF = {
52
- $ref: '/wcms-resources/outservice-productlist.json',
53
- };
54
-
55
- const AGENTS_REF = {
56
- $ref: '/wcms-resources/agenty-dlya-rko.json',
57
- };
58
-
59
- const InputsMap = {
60
- fullName: FullNameField,
61
- addressBranch: AddressBranchField,
62
- desiredMeetingDate: DesiredMeetingDateField,
63
- product: (props: CustomFieldProps) => <ProductField {...props} source={PRODUCT_REF} />,
64
- localities: LocalitiesField,
65
- isClient: IsClientField,
66
- partnerComments: PartnerCommentsField,
67
- collectionCount: CollectionCountField,
68
- acquiringType: AcquiringField,
69
- onlineCheckout: OnlineCheckoutField,
70
- posTerminal: PosTerminalField,
71
- serviceType: UltraPremiumField,
72
- term: TermField,
73
- amount: AmountField,
74
- annualRevenue: AnnualRevenueField,
75
- vedTypes: VedField,
76
- feedbackMethod: FeedbackMethodField,
77
- serviceDirection: ServiceDirectionField,
78
- bankEmpolee: BankEmpoleeField,
79
- secondaryPhone: SecondaryPhoneField,
80
- applicationDate: ApplicationDateField,
81
- region: (props: CustomFieldProps) =>
82
- getPremium(props?.params?.typeForm as FormTypeFieldDef) ? (
83
- <FullRegionField {...props} />
84
- ) : (
85
- <RegionField {...props} />
86
- ),
87
- consentToReceiveMaterials: ConsentToReceiveMaterialsField,
88
- sufferedFrom: SufferedFromField,
89
- situationDescription: SituationDescriptionField,
90
- representativeName: RepresentativeNameField,
91
- applierType: ApplierTypeField,
92
- surname: SurnameField,
93
- name: NameField,
94
- middleName: MiddleNameField,
95
- birthday: BirthdayField,
96
- phone: PhoneField,
97
- email: EmailField,
98
- inn: InnField,
99
- comment: CommentField,
100
- fullRegion: FullRegionField,
101
- partnerSymbolCode: (props: CustomFieldProps) => (
102
- <PartnerSymbolCodeField {...props} source={AGENTS_REF} />
103
- ),
104
- partnerName: (props: CustomFieldProps) => <PartnerNameField {...props} source={AGENTS_REF} />,
105
- dadataPartyNameSelect: DadataPartySelectField,
106
- dadataPartyInnSelect: DadataPartySelectField,
107
- questionProduct: QuestionProductField,
108
- callbackTime: CallbackTimeField,
109
- russianPhone: PhoneField,
110
- };
111
-
112
8
  export const getField =
113
9
  <F extends BaseFieldDef>(
114
10
  field: FormFieldRegisterer<any>,
@@ -3,6 +3,7 @@ import { type Validator } from '../../validation/validator';
3
3
  import { type BaseFieldDef } from './BaseFieldDef';
4
4
  import {
5
5
  agreementValidator,
6
+ birthdayValidator,
6
7
  defaultSelectValidator,
7
8
  defaultValidator,
8
9
  emailValidator,
@@ -34,7 +35,7 @@ export const validatorObj: Record<string, Validator> = {
34
35
  surname: nameValidator('Укажите свою фамилию на кириллице'),
35
36
  name: nameValidator('Укажите своё имя на кириллице (без сокращений)'),
36
37
  middleName: nameValidator('Укажите своё отчество на кириллице'),
37
- birthday: defaultValidator('Укажите дату рождения'),
38
+ birthday: birthdayValidator('Укажите дату рождения'),
38
39
  phone: phoneValidator('Укажите номер телефона'),
39
40
  email: emailValidator('Укажите электронную почту'),
40
41
  inn: innValidator('Укажите ИНН'),
@@ -48,6 +49,20 @@ export const validatorObj: Record<string, Validator> = {
48
49
  callbackTime: defaultValidator(),
49
50
  questionProduct: defaultValidator(),
50
51
  russianPhone: russianPhoneValidator('Укажите номер телефона'),
52
+ cityOfResidence: defaultValidator(),
53
+ internshipStartDate: defaultValidator(),
54
+ internshipEndDate: defaultValidator(),
55
+ university: defaultValidator(),
56
+ fieldOfStudy: defaultValidator(),
57
+ courseYear: defaultValidator(),
58
+ graduationYear: defaultValidator(),
59
+ averageGrade: defaultValidator(),
60
+ skillsAndKnowledge: defaultValidator(),
61
+ educationLevel: defaultSelectValidator(),
62
+ motivationForInternship: defaultValidator(),
63
+ workExperience: defaultValidator(),
64
+ internshipDirection: defaultValidator(),
65
+ workingHours: defaultValidator(),
51
66
  };
52
67
 
53
68
  export const getFormValidator = <FormState extends Record<string, any>, F extends BaseFieldDef>(
@@ -1,4 +1,5 @@
1
1
  import { isCyrillic } from '../../utils/isCyrilic';
2
+ import { isDateValid } from '../../utils/isDateValid';
2
3
  import { required } from '../../validation/required';
3
4
  import { validator } from '../../validation/validator';
4
5
 
@@ -51,3 +52,6 @@ export const emailValidator = (errorMsg: string) =>
51
52
 
52
53
  export const isValidInnLength = (value: string | undefined): boolean =>
53
54
  typeof value === 'string' && (value.length === 10 || value.length === 12);
55
+
56
+ export const birthdayValidator = (errorMsg: string) =>
57
+ validator((_: Date) => isDateValid(_, { maxLimit: new Date() }))(errorMsg);
@@ -4,6 +4,7 @@ import { style } from '../../utils/style';
4
4
  import { getValidStyle } from './getValidStyle';
5
5
  import { type InputProps } from './InputProps';
6
6
  import { renderLabel } from './renderLabel';
7
+ import { defaultStyle } from './styles';
7
8
 
8
9
  export const Input = JSX<InputProps>(
9
10
  // eslint-disable-next-line max-lines-per-function
@@ -88,5 +89,3 @@ export const Input = JSX<InputProps>(
88
89
  );
89
90
  },
90
91
  );
91
-
92
- const defaultStyle = 'w-full border rounded-md text-primary-text outline-none p-m';