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

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 (642) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +10 -3
  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 +566 -51
  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 +10 -3
  44. package/dist/api/LeadServiceAPI.js +20 -9
  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/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +3 -0
  62. package/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -1
  63. package/dist/hooks/useDragAndDrop.d.ts +16 -0
  64. package/dist/hooks/useDragAndDrop.js +29 -0
  65. package/dist/hooks/useDragAndDrop.js.map +1 -0
  66. package/dist/model/FormTypeFieldDef.d.ts +1 -1
  67. package/dist/model/InputTypes.d.ts +1 -1
  68. package/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  69. package/dist/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  70. package/dist/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  71. package/dist/ui-kit/FormField/Fields/AverageGradeField.js +9 -0
  72. package/dist/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  73. package/dist/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  74. package/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  75. package/dist/ui-kit/FormField/Fields/CommentField.js +1 -1
  76. package/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  77. package/dist/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  78. package/dist/ui-kit/FormField/Fields/FileIdField.js +7 -0
  79. package/dist/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  80. package/dist/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  81. package/dist/ui-kit/FormField/Fields/FileUpload.js +14 -0
  82. package/dist/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  83. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  84. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.js +23 -0
  85. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  86. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  87. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.js +23 -0
  88. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  89. package/dist/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  90. package/dist/ui-kit/FormField/Fields/SelectField.js +7 -0
  91. package/dist/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  92. package/dist/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  93. package/dist/ui-kit/FormField/Fields/TextField.js +7 -0
  94. package/dist/ui-kit/FormField/Fields/TextField.js.map +1 -0
  95. package/dist/ui-kit/FormField/InputsMap.d.ts +62 -0
  96. package/dist/ui-kit/FormField/InputsMap.js +119 -0
  97. package/dist/ui-kit/FormField/InputsMap.js.map +1 -0
  98. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  99. package/dist/ui-kit/FormField/constants.d.ts +3 -0
  100. package/dist/ui-kit/FormField/constants.js +27 -1
  101. package/dist/ui-kit/FormField/constants.js.map +1 -1
  102. package/dist/ui-kit/FormField/getField.js +2 -94
  103. package/dist/ui-kit/FormField/getField.js.map +1 -1
  104. package/dist/ui-kit/FormField/getObjectValidator.js +15 -1
  105. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  106. package/dist/ui-kit/FormField/validators.d.ts +1 -0
  107. package/dist/ui-kit/FormField/validators.js +4 -1
  108. package/dist/ui-kit/FormField/validators.js.map +1 -1
  109. package/dist/ui-kit/Input/Input.js +2 -2
  110. package/dist/ui-kit/Input/Input.js.map +1 -1
  111. package/dist/ui-kit/Input/InputFile.d.ts +2 -0
  112. package/dist/ui-kit/Input/InputFile.js +75 -0
  113. package/dist/ui-kit/Input/InputFile.js.map +1 -0
  114. package/dist/ui-kit/Input/InputFileControl.d.ts +2 -0
  115. package/dist/ui-kit/Input/InputFileControl.js +10 -0
  116. package/dist/ui-kit/Input/InputFileControl.js.map +1 -0
  117. package/dist/ui-kit/Input/InputProps.d.ts +6 -1
  118. package/dist/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  119. package/dist/ui-kit/Input/checks/checkFIleExtension.js +12 -0
  120. package/dist/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  121. package/dist/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  122. package/dist/ui-kit/Input/checks/checkFileMimeType.js +20 -0
  123. package/dist/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  124. package/dist/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  125. package/dist/ui-kit/Input/checks/checkFileSignature.js +25 -0
  126. package/dist/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  127. package/dist/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  128. package/dist/ui-kit/Input/checks/checkFileSize.js +13 -0
  129. package/dist/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  130. package/dist/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  131. package/dist/ui-kit/Input/checks/getFileSignature.js +19 -0
  132. package/dist/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  133. package/dist/ui-kit/Input/constants.d.ts +6 -0
  134. package/dist/ui-kit/Input/constants.js +9 -0
  135. package/dist/ui-kit/Input/constants.js.map +1 -0
  136. package/dist/ui-kit/Input/renderFileInput.d.ts +12 -0
  137. package/dist/ui-kit/Input/renderFileInput.js +33 -0
  138. package/dist/ui-kit/Input/renderFileInput.js.map +1 -0
  139. package/dist/ui-kit/Input/renderInfoText.d.ts +1 -0
  140. package/dist/ui-kit/Input/renderInfoText.js +14 -0
  141. package/dist/ui-kit/Input/renderInfoText.js.map +1 -0
  142. package/dist/ui-kit/Input/styles.d.ts +2 -0
  143. package/dist/ui-kit/Input/styles.js +5 -0
  144. package/dist/ui-kit/Input/styles.js.map +1 -0
  145. package/dist/ui-kit/Input/useVerifyFile.d.ts +17 -0
  146. package/dist/ui-kit/Input/useVerifyFile.js +64 -0
  147. package/dist/ui-kit/Input/useVerifyFile.js.map +1 -0
  148. package/dist/ui-kit/PreventableEvent.d.ts +4 -0
  149. package/dist/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  150. package/dist/ui-kit/ProgressBar/ProgressBar.js +1 -1
  151. package/dist/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  152. package/dist/utils/animateStepWithMinDuration.d.ts +8 -0
  153. package/dist/utils/animateStepWithMinDuration.js +26 -0
  154. package/dist/utils/animateStepWithMinDuration.js.map +1 -0
  155. package/dist/utils/isDateValid.d.ts +4 -0
  156. package/dist/utils/isDateValid.js +24 -0
  157. package/dist/utils/isDateValid.js.map +1 -0
  158. package/lib/api/LeadServiceAPI.d.ts +10 -3
  159. package/lib/api/LeadServiceAPI.js +20 -9
  160. package/lib/api/LeadServiceAPI.js.map +1 -1
  161. package/lib/api/getSubmitBody.d.ts +201 -97
  162. package/lib/api/getSubmitBody.js +13 -6
  163. package/lib/api/getSubmitBody.js.map +1 -1
  164. package/lib/api/sendFile.d.ts +16 -0
  165. package/lib/api/sendFile.js +75 -0
  166. package/lib/api/sendFile.js.map +1 -0
  167. package/lib/common.css +1 -1
  168. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +2 -0
  169. package/lib/components/ApplicationForm/ApplicationForm.js +5 -6
  170. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  171. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  172. package/lib/components/ApplicationForm/constants.d.ts +7 -0
  173. package/lib/components/ApplicationForm/constants.js +27 -0
  174. package/lib/components/ApplicationForm/constants.js.map +1 -0
  175. package/lib/components/ApplicationForm/handlers.d.ts +3 -2
  176. package/lib/components/ApplicationForm/handlers.js +3 -3
  177. package/lib/components/ApplicationForm/handlers.js.map +1 -1
  178. package/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +3 -0
  179. package/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -1
  180. package/lib/hooks/useDragAndDrop.d.ts +16 -0
  181. package/lib/hooks/useDragAndDrop.js +26 -0
  182. package/lib/hooks/useDragAndDrop.js.map +1 -0
  183. package/lib/model/FormTypeFieldDef.d.ts +1 -1
  184. package/lib/model/InputTypes.d.ts +1 -1
  185. package/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  186. package/lib/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  187. package/lib/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  188. package/lib/ui-kit/FormField/Fields/AverageGradeField.js +7 -0
  189. package/lib/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  190. package/lib/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  191. package/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  192. package/lib/ui-kit/FormField/Fields/CommentField.js +1 -1
  193. package/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  194. package/lib/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  195. package/lib/ui-kit/FormField/Fields/FileIdField.js +5 -0
  196. package/lib/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  197. package/lib/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  198. package/lib/ui-kit/FormField/Fields/FileUpload.js +12 -0
  199. package/lib/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  200. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  201. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.js +21 -0
  202. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  203. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  204. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.js +21 -0
  205. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  206. package/lib/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  207. package/lib/ui-kit/FormField/Fields/SelectField.js +5 -0
  208. package/lib/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  209. package/lib/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  210. package/lib/ui-kit/FormField/Fields/TextField.js +5 -0
  211. package/lib/ui-kit/FormField/Fields/TextField.js.map +1 -0
  212. package/lib/ui-kit/FormField/InputsMap.d.ts +62 -0
  213. package/lib/ui-kit/FormField/InputsMap.js +117 -0
  214. package/lib/ui-kit/FormField/InputsMap.js.map +1 -0
  215. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  216. package/lib/ui-kit/FormField/constants.d.ts +3 -0
  217. package/lib/ui-kit/FormField/constants.js +26 -0
  218. package/lib/ui-kit/FormField/constants.js.map +1 -1
  219. package/lib/ui-kit/FormField/getField.js +1 -93
  220. package/lib/ui-kit/FormField/getField.js.map +1 -1
  221. package/lib/ui-kit/FormField/getObjectValidator.js +16 -2
  222. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  223. package/lib/ui-kit/FormField/validators.d.ts +1 -0
  224. package/lib/ui-kit/FormField/validators.js +2 -0
  225. package/lib/ui-kit/FormField/validators.js.map +1 -1
  226. package/lib/ui-kit/Input/Input.js +1 -1
  227. package/lib/ui-kit/Input/Input.js.map +1 -1
  228. package/lib/ui-kit/Input/InputFile.d.ts +2 -0
  229. package/lib/ui-kit/Input/InputFile.js +73 -0
  230. package/lib/ui-kit/Input/InputFile.js.map +1 -0
  231. package/lib/ui-kit/Input/InputFileControl.d.ts +2 -0
  232. package/lib/ui-kit/Input/InputFileControl.js +8 -0
  233. package/lib/ui-kit/Input/InputFileControl.js.map +1 -0
  234. package/lib/ui-kit/Input/InputProps.d.ts +6 -1
  235. package/lib/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  236. package/lib/ui-kit/Input/checks/checkFIleExtension.js +9 -0
  237. package/lib/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  238. package/lib/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  239. package/lib/ui-kit/Input/checks/checkFileMimeType.js +17 -0
  240. package/lib/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  241. package/lib/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  242. package/lib/ui-kit/Input/checks/checkFileSignature.js +22 -0
  243. package/lib/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  244. package/lib/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  245. package/lib/ui-kit/Input/checks/checkFileSize.js +10 -0
  246. package/lib/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  247. package/lib/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  248. package/lib/ui-kit/Input/checks/getFileSignature.js +16 -0
  249. package/lib/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  250. package/lib/ui-kit/Input/constants.d.ts +6 -0
  251. package/lib/ui-kit/Input/constants.js +7 -0
  252. package/lib/ui-kit/Input/constants.js.map +1 -0
  253. package/lib/ui-kit/Input/renderFileInput.d.ts +12 -0
  254. package/lib/ui-kit/Input/renderFileInput.js +30 -0
  255. package/lib/ui-kit/Input/renderFileInput.js.map +1 -0
  256. package/lib/ui-kit/Input/renderInfoText.d.ts +1 -0
  257. package/lib/ui-kit/Input/renderInfoText.js +11 -0
  258. package/lib/ui-kit/Input/renderInfoText.js.map +1 -0
  259. package/lib/ui-kit/Input/styles.d.ts +2 -0
  260. package/lib/ui-kit/Input/styles.js +3 -0
  261. package/lib/ui-kit/Input/styles.js.map +1 -0
  262. package/lib/ui-kit/Input/useVerifyFile.d.ts +17 -0
  263. package/lib/ui-kit/Input/useVerifyFile.js +61 -0
  264. package/lib/ui-kit/Input/useVerifyFile.js.map +1 -0
  265. package/lib/ui-kit/PreventableEvent.d.ts +4 -0
  266. package/lib/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  267. package/lib/ui-kit/ProgressBar/ProgressBar.js +1 -1
  268. package/lib/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  269. package/lib/utils/animateStepWithMinDuration.d.ts +8 -0
  270. package/lib/utils/animateStepWithMinDuration.js +23 -0
  271. package/lib/utils/animateStepWithMinDuration.js.map +1 -0
  272. package/lib/utils/isDateValid.d.ts +4 -0
  273. package/lib/utils/isDateValid.js +21 -0
  274. package/lib/utils/isDateValid.js.map +1 -0
  275. package/mobile/bundle/api/LeadServiceAPI.d.ts +10 -3
  276. package/mobile/bundle/api/getSubmitBody.d.ts +201 -97
  277. package/mobile/bundle/api/sendFile.d.ts +16 -0
  278. package/mobile/bundle/bundle.umd.js +566 -51
  279. package/mobile/bundle/bundle.umd.min.js +1 -1
  280. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  281. package/mobile/bundle/components/ApplicationForm/constants.d.ts +7 -0
  282. package/mobile/bundle/components/ApplicationForm/handlers.d.ts +3 -2
  283. package/mobile/bundle/hooks/useDragAndDrop.d.ts +16 -0
  284. package/mobile/bundle/model/FormTypeFieldDef.d.ts +1 -1
  285. package/mobile/bundle/model/InputTypes.d.ts +1 -1
  286. package/mobile/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  287. package/mobile/bundle/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  288. package/mobile/bundle/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  289. package/mobile/bundle/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  290. package/mobile/bundle/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  291. package/mobile/bundle/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  292. package/mobile/bundle/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  293. package/mobile/bundle/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  294. package/mobile/bundle/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  295. package/mobile/bundle/ui-kit/FormField/InputsMap.d.ts +62 -0
  296. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  297. package/mobile/bundle/ui-kit/FormField/constants.d.ts +3 -0
  298. package/mobile/bundle/ui-kit/FormField/validators.d.ts +1 -0
  299. package/mobile/bundle/ui-kit/Input/InputFile.d.ts +2 -0
  300. package/mobile/bundle/ui-kit/Input/InputFileControl.d.ts +2 -0
  301. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +6 -1
  302. package/mobile/bundle/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  303. package/mobile/bundle/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  304. package/mobile/bundle/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  305. package/mobile/bundle/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  306. package/mobile/bundle/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  307. package/mobile/bundle/ui-kit/Input/constants.d.ts +6 -0
  308. package/mobile/bundle/ui-kit/Input/renderFileInput.d.ts +12 -0
  309. package/mobile/bundle/ui-kit/Input/renderInfoText.d.ts +1 -0
  310. package/mobile/bundle/ui-kit/Input/styles.d.ts +2 -0
  311. package/mobile/bundle/ui-kit/Input/useVerifyFile.d.ts +17 -0
  312. package/mobile/bundle/ui-kit/PreventableEvent.d.ts +4 -0
  313. package/mobile/bundle/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  314. package/mobile/bundle/utils/animateStepWithMinDuration.d.ts +8 -0
  315. package/mobile/bundle/utils/isDateValid.d.ts +4 -0
  316. package/mobile/dist/api/LeadServiceAPI.d.ts +10 -3
  317. package/mobile/dist/api/LeadServiceAPI.js +20 -9
  318. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  319. package/mobile/dist/api/getSubmitBody.d.ts +201 -97
  320. package/mobile/dist/api/getSubmitBody.js +13 -6
  321. package/mobile/dist/api/getSubmitBody.js.map +1 -1
  322. package/mobile/dist/api/sendFile.d.ts +16 -0
  323. package/mobile/dist/api/sendFile.js +78 -0
  324. package/mobile/dist/api/sendFile.js.map +1 -0
  325. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +5 -6
  326. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  327. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  328. package/mobile/dist/components/ApplicationForm/constants.d.ts +7 -0
  329. package/mobile/dist/components/ApplicationForm/constants.js +29 -0
  330. package/mobile/dist/components/ApplicationForm/constants.js.map +1 -0
  331. package/mobile/dist/components/ApplicationForm/handlers.d.ts +3 -2
  332. package/mobile/dist/components/ApplicationForm/handlers.js +3 -3
  333. package/mobile/dist/components/ApplicationForm/handlers.js.map +1 -1
  334. package/mobile/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +3 -0
  335. package/mobile/dist/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -1
  336. package/mobile/dist/hooks/useDragAndDrop.d.ts +16 -0
  337. package/mobile/dist/hooks/useDragAndDrop.js +29 -0
  338. package/mobile/dist/hooks/useDragAndDrop.js.map +1 -0
  339. package/mobile/dist/model/FormTypeFieldDef.d.ts +1 -1
  340. package/mobile/dist/model/InputTypes.d.ts +1 -1
  341. package/mobile/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  342. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  343. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  344. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.js +9 -0
  345. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  346. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  347. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  348. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js +1 -1
  349. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  350. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  351. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.js +7 -0
  352. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  353. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  354. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.js +14 -0
  355. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  356. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  357. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.js +23 -0
  358. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  359. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  360. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.js +23 -0
  361. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  362. package/mobile/dist/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  363. package/mobile/dist/ui-kit/FormField/Fields/SelectField.js +7 -0
  364. package/mobile/dist/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  365. package/mobile/dist/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  366. package/mobile/dist/ui-kit/FormField/Fields/TextField.js +7 -0
  367. package/mobile/dist/ui-kit/FormField/Fields/TextField.js.map +1 -0
  368. package/mobile/dist/ui-kit/FormField/InputsMap.d.ts +62 -0
  369. package/mobile/dist/ui-kit/FormField/InputsMap.js +119 -0
  370. package/mobile/dist/ui-kit/FormField/InputsMap.js.map +1 -0
  371. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  372. package/mobile/dist/ui-kit/FormField/constants.d.ts +3 -0
  373. package/mobile/dist/ui-kit/FormField/constants.js +27 -1
  374. package/mobile/dist/ui-kit/FormField/constants.js.map +1 -1
  375. package/mobile/dist/ui-kit/FormField/getField.js +2 -94
  376. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  377. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +15 -1
  378. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  379. package/mobile/dist/ui-kit/FormField/validators.d.ts +1 -0
  380. package/mobile/dist/ui-kit/FormField/validators.js +4 -1
  381. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  382. package/mobile/dist/ui-kit/Input/Input.js +2 -2
  383. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  384. package/mobile/dist/ui-kit/Input/InputFile.d.ts +2 -0
  385. package/mobile/dist/ui-kit/Input/InputFile.js +75 -0
  386. package/mobile/dist/ui-kit/Input/InputFile.js.map +1 -0
  387. package/mobile/dist/ui-kit/Input/InputFileControl.d.ts +2 -0
  388. package/mobile/dist/ui-kit/Input/InputFileControl.js +10 -0
  389. package/mobile/dist/ui-kit/Input/InputFileControl.js.map +1 -0
  390. package/mobile/dist/ui-kit/Input/InputProps.d.ts +6 -1
  391. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  392. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.js +12 -0
  393. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  394. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  395. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.js +20 -0
  396. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  397. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  398. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.js +25 -0
  399. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  400. package/mobile/dist/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  401. package/mobile/dist/ui-kit/Input/checks/checkFileSize.js +13 -0
  402. package/mobile/dist/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  403. package/mobile/dist/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  404. package/mobile/dist/ui-kit/Input/checks/getFileSignature.js +19 -0
  405. package/mobile/dist/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  406. package/mobile/dist/ui-kit/Input/constants.d.ts +6 -0
  407. package/mobile/dist/ui-kit/Input/constants.js +9 -0
  408. package/mobile/dist/ui-kit/Input/constants.js.map +1 -0
  409. package/mobile/dist/ui-kit/Input/renderFileInput.d.ts +12 -0
  410. package/mobile/dist/ui-kit/Input/renderFileInput.js +33 -0
  411. package/mobile/dist/ui-kit/Input/renderFileInput.js.map +1 -0
  412. package/mobile/dist/ui-kit/Input/renderInfoText.d.ts +1 -0
  413. package/mobile/dist/ui-kit/Input/renderInfoText.js +14 -0
  414. package/mobile/dist/ui-kit/Input/renderInfoText.js.map +1 -0
  415. package/mobile/dist/ui-kit/Input/styles.d.ts +2 -0
  416. package/mobile/dist/ui-kit/Input/styles.js +5 -0
  417. package/mobile/dist/ui-kit/Input/styles.js.map +1 -0
  418. package/mobile/dist/ui-kit/Input/useVerifyFile.d.ts +17 -0
  419. package/mobile/dist/ui-kit/Input/useVerifyFile.js +64 -0
  420. package/mobile/dist/ui-kit/Input/useVerifyFile.js.map +1 -0
  421. package/mobile/dist/ui-kit/PreventableEvent.d.ts +4 -0
  422. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  423. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.js +1 -1
  424. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  425. package/mobile/dist/utils/animateStepWithMinDuration.d.ts +8 -0
  426. package/mobile/dist/utils/animateStepWithMinDuration.js +26 -0
  427. package/mobile/dist/utils/animateStepWithMinDuration.js.map +1 -0
  428. package/mobile/dist/utils/isDateValid.d.ts +4 -0
  429. package/mobile/dist/utils/isDateValid.js +24 -0
  430. package/mobile/dist/utils/isDateValid.js.map +1 -0
  431. package/mobile/lib/api/LeadServiceAPI.d.ts +10 -3
  432. package/mobile/lib/api/LeadServiceAPI.js +20 -9
  433. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  434. package/mobile/lib/api/getSubmitBody.d.ts +201 -97
  435. package/mobile/lib/api/getSubmitBody.js +13 -6
  436. package/mobile/lib/api/getSubmitBody.js.map +1 -1
  437. package/mobile/lib/api/sendFile.d.ts +16 -0
  438. package/mobile/lib/api/sendFile.js +75 -0
  439. package/mobile/lib/api/sendFile.js.map +1 -0
  440. package/mobile/lib/common.css +1 -1
  441. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +5 -6
  442. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  443. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  444. package/mobile/lib/components/ApplicationForm/constants.d.ts +7 -0
  445. package/mobile/lib/components/ApplicationForm/constants.js +27 -0
  446. package/mobile/lib/components/ApplicationForm/constants.js.map +1 -0
  447. package/mobile/lib/components/ApplicationForm/handlers.d.ts +3 -2
  448. package/mobile/lib/components/ApplicationForm/handlers.js +3 -3
  449. package/mobile/lib/components/ApplicationForm/handlers.js.map +1 -1
  450. package/mobile/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js +3 -0
  451. package/mobile/lib/components/ApplicationForm/useVerifyPhoneDialogSubmit.js.map +1 -1
  452. package/mobile/lib/hooks/useDragAndDrop.d.ts +16 -0
  453. package/mobile/lib/hooks/useDragAndDrop.js +26 -0
  454. package/mobile/lib/hooks/useDragAndDrop.js.map +1 -0
  455. package/mobile/lib/model/FormTypeFieldDef.d.ts +1 -1
  456. package/mobile/lib/model/InputTypes.d.ts +1 -1
  457. package/mobile/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  458. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  459. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  460. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.js +7 -0
  461. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  462. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  463. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  464. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js +1 -1
  465. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  466. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  467. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.js +5 -0
  468. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  469. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  470. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.js +12 -0
  471. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  472. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  473. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.js +21 -0
  474. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  475. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  476. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.js +21 -0
  477. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  478. package/mobile/lib/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  479. package/mobile/lib/ui-kit/FormField/Fields/SelectField.js +5 -0
  480. package/mobile/lib/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  481. package/mobile/lib/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  482. package/mobile/lib/ui-kit/FormField/Fields/TextField.js +5 -0
  483. package/mobile/lib/ui-kit/FormField/Fields/TextField.js.map +1 -0
  484. package/mobile/lib/ui-kit/FormField/InputsMap.d.ts +62 -0
  485. package/mobile/lib/ui-kit/FormField/InputsMap.js +117 -0
  486. package/mobile/lib/ui-kit/FormField/InputsMap.js.map +1 -0
  487. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  488. package/mobile/lib/ui-kit/FormField/constants.d.ts +3 -0
  489. package/mobile/lib/ui-kit/FormField/constants.js +26 -0
  490. package/mobile/lib/ui-kit/FormField/constants.js.map +1 -1
  491. package/mobile/lib/ui-kit/FormField/getField.js +1 -93
  492. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  493. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +16 -2
  494. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  495. package/mobile/lib/ui-kit/FormField/validators.d.ts +1 -0
  496. package/mobile/lib/ui-kit/FormField/validators.js +2 -0
  497. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  498. package/mobile/lib/ui-kit/Input/Input.js +1 -1
  499. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  500. package/mobile/lib/ui-kit/Input/InputFile.d.ts +2 -0
  501. package/mobile/lib/ui-kit/Input/InputFile.js +73 -0
  502. package/mobile/lib/ui-kit/Input/InputFile.js.map +1 -0
  503. package/mobile/lib/ui-kit/Input/InputFileControl.d.ts +2 -0
  504. package/mobile/lib/ui-kit/Input/InputFileControl.js +8 -0
  505. package/mobile/lib/ui-kit/Input/InputFileControl.js.map +1 -0
  506. package/mobile/lib/ui-kit/Input/InputProps.d.ts +6 -1
  507. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  508. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.js +9 -0
  509. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  510. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  511. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.js +17 -0
  512. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  513. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  514. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.js +22 -0
  515. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  516. package/mobile/lib/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  517. package/mobile/lib/ui-kit/Input/checks/checkFileSize.js +10 -0
  518. package/mobile/lib/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  519. package/mobile/lib/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  520. package/mobile/lib/ui-kit/Input/checks/getFileSignature.js +16 -0
  521. package/mobile/lib/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  522. package/mobile/lib/ui-kit/Input/constants.d.ts +6 -0
  523. package/mobile/lib/ui-kit/Input/constants.js +7 -0
  524. package/mobile/lib/ui-kit/Input/constants.js.map +1 -0
  525. package/mobile/lib/ui-kit/Input/renderFileInput.d.ts +12 -0
  526. package/mobile/lib/ui-kit/Input/renderFileInput.js +30 -0
  527. package/mobile/lib/ui-kit/Input/renderFileInput.js.map +1 -0
  528. package/mobile/lib/ui-kit/Input/renderInfoText.d.ts +1 -0
  529. package/mobile/lib/ui-kit/Input/renderInfoText.js +11 -0
  530. package/mobile/lib/ui-kit/Input/renderInfoText.js.map +1 -0
  531. package/mobile/lib/ui-kit/Input/styles.d.ts +2 -0
  532. package/mobile/lib/ui-kit/Input/styles.js +3 -0
  533. package/mobile/lib/ui-kit/Input/styles.js.map +1 -0
  534. package/mobile/lib/ui-kit/Input/useVerifyFile.d.ts +17 -0
  535. package/mobile/lib/ui-kit/Input/useVerifyFile.js +61 -0
  536. package/mobile/lib/ui-kit/Input/useVerifyFile.js.map +1 -0
  537. package/mobile/lib/ui-kit/PreventableEvent.d.ts +4 -0
  538. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  539. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.js +1 -1
  540. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  541. package/mobile/lib/utils/animateStepWithMinDuration.d.ts +8 -0
  542. package/mobile/lib/utils/animateStepWithMinDuration.js +23 -0
  543. package/mobile/lib/utils/animateStepWithMinDuration.js.map +1 -0
  544. package/mobile/lib/utils/isDateValid.d.ts +4 -0
  545. package/mobile/lib/utils/isDateValid.js +21 -0
  546. package/mobile/lib/utils/isDateValid.js.map +1 -0
  547. package/mobile/src/api/LeadServiceAPI.ts +37 -10
  548. package/mobile/src/api/getSubmitBody.ts +28 -7
  549. package/mobile/src/api/sendFile.ts +97 -0
  550. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +192 -0
  551. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +22 -16
  552. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +16 -2
  553. package/mobile/src/components/ApplicationForm/constants.ts +33 -0
  554. package/mobile/src/components/ApplicationForm/handlers.ts +5 -3
  555. package/mobile/src/components/ApplicationForm/useVerifyPhoneDialogSubmit.tsx +3 -0
  556. package/mobile/src/hooks/useDragAndDrop.ts +48 -0
  557. package/mobile/src/model/FormTypeFieldDef.ts +2 -1
  558. package/mobile/src/model/InputTypes.ts +1 -1
  559. package/mobile/src/ui-kit/FormField/CustomFieldProps.ts +1 -0
  560. package/mobile/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  561. package/mobile/src/ui-kit/FormField/Fields/AverageGradeField.tsx +14 -0
  562. package/mobile/src/ui-kit/FormField/Fields/BirthdayField.tsx +12 -7
  563. package/mobile/src/ui-kit/FormField/Fields/CommentField.tsx +1 -1
  564. package/mobile/src/ui-kit/FormField/Fields/FileIdField.tsx +7 -0
  565. package/mobile/src/ui-kit/FormField/Fields/FileUpload.tsx +22 -0
  566. package/mobile/src/ui-kit/FormField/Fields/InternshipEndDateField.tsx +38 -0
  567. package/mobile/src/ui-kit/FormField/Fields/InternshipStartDateField.tsx +38 -0
  568. package/mobile/src/ui-kit/FormField/Fields/SelectField.tsx +12 -0
  569. package/mobile/src/ui-kit/FormField/Fields/TextField.tsx +7 -0
  570. package/mobile/src/ui-kit/FormField/InputsMap.tsx +133 -0
  571. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +17 -1
  572. package/mobile/src/ui-kit/FormField/constants.tsx +29 -0
  573. package/mobile/src/ui-kit/FormField/getField.tsx +1 -105
  574. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +16 -1
  575. package/mobile/src/ui-kit/FormField/validators.ts +4 -0
  576. package/mobile/src/ui-kit/Input/Input.tsx +1 -2
  577. package/mobile/src/ui-kit/Input/InputFile.tsx +132 -0
  578. package/mobile/src/ui-kit/Input/InputFileControl.tsx +22 -0
  579. package/mobile/src/ui-kit/Input/InputProps.ts +10 -1
  580. package/mobile/src/ui-kit/Input/checks/checkFIleExtension.ts +9 -0
  581. package/mobile/src/ui-kit/Input/checks/checkFileMimeType.ts +20 -0
  582. package/mobile/src/ui-kit/Input/checks/checkFileSignature.ts +30 -0
  583. package/mobile/src/ui-kit/Input/checks/checkFileSize.ts +10 -0
  584. package/mobile/src/ui-kit/Input/checks/getFileSignature.ts +16 -0
  585. package/mobile/src/ui-kit/Input/constants.ts +6 -0
  586. package/mobile/src/ui-kit/Input/renderFileInput.tsx +87 -0
  587. package/mobile/src/ui-kit/Input/renderInfoText.tsx +15 -0
  588. package/mobile/src/ui-kit/Input/styles.ts +2 -0
  589. package/mobile/src/ui-kit/Input/useVerifyFile.ts +100 -0
  590. package/mobile/src/ui-kit/PreventableEvent.ts +5 -0
  591. package/mobile/src/ui-kit/ProgressBar/ProgressBar.tsx +7 -2
  592. package/mobile/src/utils/animateStepWithMinDuration.ts +38 -0
  593. package/mobile/src/utils/isDateValid.ts +33 -0
  594. package/package.json +2 -2
  595. package/src/api/LeadServiceAPI.ts +37 -10
  596. package/src/api/getSubmitBody.ts +28 -7
  597. package/src/api/sendFile.ts +97 -0
  598. package/src/components/ApplicationForm/ApplicationForm.example.json +192 -0
  599. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +132 -0
  600. package/src/components/ApplicationForm/ApplicationForm.tsx +22 -16
  601. package/src/components/ApplicationForm/ApplicationFormContent.ts +16 -2
  602. package/src/components/ApplicationForm/constants.ts +33 -0
  603. package/src/components/ApplicationForm/handlers.ts +5 -3
  604. package/src/components/ApplicationForm/useVerifyPhoneDialogSubmit.tsx +3 -0
  605. package/src/hooks/useDragAndDrop.ts +48 -0
  606. package/src/model/FormTypeFieldDef.ts +2 -1
  607. package/src/model/InputTypes.ts +1 -1
  608. package/src/ui-kit/FormField/CustomFieldProps.ts +1 -0
  609. package/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  610. package/src/ui-kit/FormField/Fields/AverageGradeField.tsx +14 -0
  611. package/src/ui-kit/FormField/Fields/BirthdayField.tsx +12 -7
  612. package/src/ui-kit/FormField/Fields/CommentField.tsx +1 -1
  613. package/src/ui-kit/FormField/Fields/FileIdField.tsx +7 -0
  614. package/src/ui-kit/FormField/Fields/FileUpload.tsx +22 -0
  615. package/src/ui-kit/FormField/Fields/InternshipEndDateField.tsx +38 -0
  616. package/src/ui-kit/FormField/Fields/InternshipStartDateField.tsx +38 -0
  617. package/src/ui-kit/FormField/Fields/SelectField.tsx +12 -0
  618. package/src/ui-kit/FormField/Fields/TextField.tsx +7 -0
  619. package/src/ui-kit/FormField/InputsMap.tsx +133 -0
  620. package/src/ui-kit/FormField/NameFieldDef.ts +17 -1
  621. package/src/ui-kit/FormField/constants.tsx +29 -0
  622. package/src/ui-kit/FormField/getField.tsx +1 -105
  623. package/src/ui-kit/FormField/getObjectValidator.tsx +16 -1
  624. package/src/ui-kit/FormField/validators.ts +4 -0
  625. package/src/ui-kit/Input/Input.tsx +1 -2
  626. package/src/ui-kit/Input/InputFile.tsx +132 -0
  627. package/src/ui-kit/Input/InputFileControl.tsx +22 -0
  628. package/src/ui-kit/Input/InputProps.ts +10 -1
  629. package/src/ui-kit/Input/checks/checkFIleExtension.ts +9 -0
  630. package/src/ui-kit/Input/checks/checkFileMimeType.ts +20 -0
  631. package/src/ui-kit/Input/checks/checkFileSignature.ts +30 -0
  632. package/src/ui-kit/Input/checks/checkFileSize.ts +10 -0
  633. package/src/ui-kit/Input/checks/getFileSignature.ts +16 -0
  634. package/src/ui-kit/Input/constants.ts +6 -0
  635. package/src/ui-kit/Input/renderFileInput.tsx +87 -0
  636. package/src/ui-kit/Input/renderInfoText.tsx +15 -0
  637. package/src/ui-kit/Input/styles.ts +2 -0
  638. package/src/ui-kit/Input/useVerifyFile.ts +100 -0
  639. package/src/ui-kit/PreventableEvent.ts +5 -0
  640. package/src/ui-kit/ProgressBar/ProgressBar.tsx +7 -2
  641. package/src/utils/animateStepWithMinDuration.ts +38 -0
  642. package/src/utils/isDateValid.ts +33 -0
@@ -0,0 +1,61 @@
1
+ import { useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { sendFile, SUCCESS_STATUS } from '../../api/sendFile.js';
3
+ import { animateStepWithMinDuration } from '../../utils/animateStepWithMinDuration.js';
4
+ import { debounce } from '../../utils/debounce.js';
5
+ import { noop } from '../../utils/noop.js';
6
+ import { checkFileExtension } from './checks/checkFIleExtension.js';
7
+ import { checkFileMimeType } from './checks/checkFileMimeType.js';
8
+ import { checkFileSignature } from './checks/checkFileSignature.js';
9
+ import { checkFileSize } from './checks/checkFileSize.js';
10
+ import { DEFAULT_ERROR_TEXT } from './constants.js';
11
+ const DEBOUNCE_DELAY = 500;
12
+ export const useVerifyFile = ({ onUploadError = noop, onFileSelected = noop, extensions, maxSizeMB, onUploadResponse = noop, }) => {
13
+ const [progress, setProgress] = useState(0);
14
+ const [isFileUploading, setIsFileUploading] = useState(false);
15
+ const debouncedOnFileUploaded = useMemo(() => debounce((isUploading) => setIsFileUploading(isUploading), DEBOUNCE_DELAY), [setIsFileUploading]);
16
+ const debouncedOnUploadError = useMemo(() => debounce((message) => onUploadError(message), DEBOUNCE_DELAY), [onUploadError]);
17
+ const debouncedOnUploadResponse = useMemo(() => debounce((response) => onUploadResponse(response), DEBOUNCE_DELAY), [onUploadResponse]);
18
+ const verifyFile = async ({ file, onFileChanged = noop }) => {
19
+ onFileSelected(file);
20
+ setIsFileUploading(true);
21
+ const checks = [
22
+ () => checkFileExtension(file, extensions),
23
+ () => checkFileSize(file, maxSizeMB),
24
+ () => checkFileSignature(file, extensions),
25
+ () => checkFileMimeType(file, extensions),
26
+ ];
27
+ const checkProgressStep = 50 / checks.length;
28
+ let currentProgress = 0;
29
+ try {
30
+ for (let i = 0; i < checks.length; i++) {
31
+ const checkPromise = checks[i];
32
+ await checkPromise();
33
+ const targetProgress = (i + 1) * checkProgressStep;
34
+ await animateStepWithMinDuration({
35
+ from: currentProgress,
36
+ to: targetProgress,
37
+ onUpdate: setProgress,
38
+ minDuration: 300,
39
+ });
40
+ currentProgress = targetProgress;
41
+ }
42
+ const response = await sendFile({
43
+ file,
44
+ onProgress: setProgress,
45
+ });
46
+ debouncedOnUploadResponse(response);
47
+ onFileChanged(response?.fileId ?? '');
48
+ if (response?.status === SUCCESS_STATUS) {
49
+ debouncedOnFileUploaded?.(false);
50
+ }
51
+ }
52
+ catch (e) {
53
+ const errorMessage = e instanceof Error ? e.message : DEFAULT_ERROR_TEXT;
54
+ debouncedOnUploadError(errorMessage);
55
+ onFileChanged('');
56
+ }
57
+ debouncedOnFileUploaded?.(false);
58
+ };
59
+ return { verifyFile, isFileUploading, progress };
60
+ };
61
+ //# sourceMappingURL=useVerifyFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVerifyFile.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/useVerifyFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,cAAc,GAAG,GAAG,CAAC;AAa3B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,aAAa,GAAG,IAAI,EACpB,cAAc,GAAG,IAAI,EACrB,UAAU,EACV,SAAS,EACT,gBAAgB,GAAG,IAAI,GACP,EAAE,EAAE;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,uBAAuB,GAAG,OAAO,CACrC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,WAAoB,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,EACzF,CAAC,kBAAkB,CAAC,CACrB,CAAC;IACF,MAAM,sBAAsB,GAAG,OAAO,CACpC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,EAC3E,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,yBAAyB,GAAG,OAAO,CACvC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAsB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,EACtF,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,EAAoB,EAAE,EAAE;QAC5E,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1C,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;YACpC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1C,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC;SAC1C,CAAC;QAEF,MAAM,iBAAiB,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7C,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAE/B,MAAM,YAAY,EAAE,CAAC;gBAErB,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC;gBAEnD,MAAM,0BAA0B,CAAC;oBAC/B,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,cAAc;oBAClB,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAC;gBAEH,eAAe,GAAG,cAAc,CAAC;aAClC;YAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;gBAC9B,IAAI;gBACJ,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YACH,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACpC,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,MAAM,KAAK,cAAc,EAAE;gBACvC,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC;aAClC;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACzE,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACrC,aAAa,CAAC,EAAE,CAAC,CAAC;SACnB;QACD,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC,CAAC"}
@@ -5,3 +5,7 @@ export interface PreventableEvent {
5
5
  export declare type PreventableEventWithTarget = PreventableEvent & {
6
6
  target?: EventTarget | null;
7
7
  };
8
+ export declare type PreventableEventWithTargetFiles = PreventableEvent & {
9
+ target?: HTMLInputElement | null;
10
+ dataTransfer?: DataTransfer;
11
+ };
@@ -2,6 +2,7 @@ import type { DescriptionProps } from '../../model/HeadlineType';
2
2
  interface ProgressBarProps extends DescriptionProps {
3
3
  step?: number;
4
4
  showPercentage?: boolean;
5
+ isOnlyInteger?: boolean;
5
6
  }
6
7
  export declare const ProgressBar: import("@redneckz/uni-jsx").UNIComponent<ProgressBarProps, any, any>;
7
8
  export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  /* eslint-disable @typescript-eslint/no-unused-vars */
3
3
  import { JSX } from '@redneckz/uni-jsx';
4
- export 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 pr-m text-gray", children: description }) : null] })] })));
4
+ export const ProgressBar = JSX(({ step = 10, description, showPercentage = true, isOnlyInteger = false }) => (_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: [isOnlyInteger ? Math.round(step) : step, "%"] })) : null, description ? _jsx("div", { className: "text-right pr-m text-gray", children: description }) : null] })] })));
5
5
  //# sourceMappingURL=ProgressBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../src/ui-kit/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAQxC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,cAAc,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACrD,0BACE,cAAK,SAAS,EAAC,6BAA6B,YAC1C,cAAK,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,GAAI,GAC1D,EACN,eAAK,SAAS,EAAC,UAAU,aACtB,cAAc,CAAC,CAAC,CAAC,eAAK,SAAS,EAAC,8BAA8B,aAAE,IAAI,SAAQ,CAAC,CAAC,CAAC,IAAI,EACnF,WAAW,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,2BAA2B,YAAE,WAAW,GAAO,CAAC,CAAC,CAAC,IAAI,IAChF,IACF,CACP,CACF,CAAC"}
1
+ {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../src/ui-kit/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AASxC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,cAAc,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5E,0BACE,cAAK,SAAS,EAAC,6BAA6B,YAC1C,cAAK,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,GAAI,GAC1D,EACN,eAAK,SAAS,EAAC,UAAU,aACtB,cAAc,CAAC,CAAC,CAAC,CAChB,eAAK,SAAS,EAAC,8BAA8B,aAC1C,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SACpC,CACP,CAAC,CAAC,CAAC,IAAI,EACP,WAAW,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,2BAA2B,YAAE,WAAW,GAAO,CAAC,CAAC,CAAC,IAAI,IAChF,IACF,CACP,CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface AnimateProgressProps {
2
+ from: number;
3
+ to: number;
4
+ onUpdate: (value: number) => void;
5
+ minDuration: number;
6
+ }
7
+ export declare const animateStepWithMinDuration: ({ from, to, onUpdate, minDuration, }: AnimateProgressProps) => Promise<void>;
8
+ export {};
@@ -0,0 +1,23 @@
1
+ import { noop } from './noop.js';
2
+ export const animateStepWithMinDuration = ({ from, to, onUpdate = noop, minDuration = 300, }) => {
3
+ return new Promise((resolve) => {
4
+ const startTime = performance.now();
5
+ const animate = () => {
6
+ const currentTime = performance.now();
7
+ const elapsed = currentTime - startTime;
8
+ const animationProgress = Math.min(elapsed / minDuration, 1);
9
+ const easeProgress = 1 - Math.pow(1 - animationProgress, 3);
10
+ const value = from + (to - from) * easeProgress;
11
+ onUpdate(value);
12
+ if (animationProgress < 1) {
13
+ requestAnimationFrame(animate);
14
+ }
15
+ else {
16
+ onUpdate(to);
17
+ resolve();
18
+ }
19
+ };
20
+ requestAnimationFrame(animate);
21
+ });
22
+ };
23
+ //# sourceMappingURL=animateStepWithMinDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animateStepWithMinDuration.js","sourceRoot":"","sources":["../../src/utils/animateStepWithMinDuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAS9B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,IAAI,EACJ,EAAE,EACF,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,GAAG,GACI,EAAiB,EAAE;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;YACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;YAEhD,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEhB,IAAI,iBAAiB,GAAG,CAAC,EAAE;gBACzB,qBAAqB,CAAC,OAAO,CAAC,CAAC;aAChC;iBAAM;gBACL,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACb,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC;QAEF,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const isDateValid: (value: Date, limits: {
2
+ minLimit?: Date;
3
+ maxLimit?: Date;
4
+ }) => boolean;
@@ -0,0 +1,21 @@
1
+ export const isDateValid = (value, limits) => {
2
+ if (!value || isNaN(value.getTime())) {
3
+ return false;
4
+ }
5
+ const { minLimit, maxLimit } = limits;
6
+ const time = value.getTime();
7
+ return isValidMin(time, minLimit) && isValidMax(time, maxLimit);
8
+ };
9
+ const isValidMin = (time, minLimit) => {
10
+ if (!minLimit || isNaN(minLimit.getTime())) {
11
+ return true;
12
+ }
13
+ return time > minLimit.getTime();
14
+ };
15
+ const isValidMax = (time, maxLimit) => {
16
+ if (!maxLimit || isNaN(maxLimit.getTime())) {
17
+ return true;
18
+ }
19
+ return time < maxLimit.getTime();
20
+ };
21
+ //# sourceMappingURL=isDateValid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDateValid.js","sourceRoot":"","sources":["../../src/utils/isDateValid.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAW,EACX,MAGC,EACQ,EAAE;IACX,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE;QACpC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAE7B,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAsB,EAAW,EAAE;IACnE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAsB,EAAW,EAAE;IACnE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;AACnC,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type JSONRecord, type JSONScalar } from '@redneckz/json-op';
2
+ import { type EndpointType } from '../components/ApplicationForm/ApplicationFormContent';
2
3
  import { type Router } from '../external/useRouter';
3
4
  import { getUserTimezoneOffset } from '../utils/getTimezone';
4
5
  import { API_BASE_URI } from './apiBaseUrl';
@@ -23,6 +24,7 @@ export type CheckCodeProps = {
23
24
  reqId: string;
24
25
  code: string;
25
26
  body: LeadRequest;
27
+ router: Router;
26
28
  };
27
29
 
28
30
  type CheckCodeResponse = {
@@ -42,15 +44,25 @@ type PhoneOnly = {
42
44
  phone?: string;
43
45
  };
44
46
 
47
+ export type sendProps = {
48
+ body: LeadRequest;
49
+ router: Router;
50
+ endpoint?: EndpointType;
51
+ };
52
+
45
53
  type SubmitBody = PhoneOnly | LeadRequest | CheckCodeProps | VerifiedLeadRequest;
46
54
 
55
+ // eslint-disable-next-line max-lines-per-function
47
56
  export function LeadServiceAPI() {
48
- async function send(body: LeadRequest, router: Router, isIndividualType = false) {
49
- const { serviceDirection } = body;
57
+ async function send({ body, router, endpoint }: sendProps) {
58
+ const calculatedEndpoint = endpoint && getEndpoint(endpoint, body);
59
+ const url = `${API_BASE_URI}/${calculatedEndpoint}`;
50
60
 
51
- const isNaturalPerson = isIndividualType && serviceDirection !== 'Юридическое лицо / ИП';
52
- const url = `${API_BASE_URI}${isNaturalPerson ? '/lead' : '/sendcorporatelead'}`;
53
- const submitBody = getSubmitBody(body, isNaturalPerson, router);
61
+ const submitBody = getSubmitBody({
62
+ body,
63
+ endpoint,
64
+ router,
65
+ });
54
66
 
55
67
  try {
56
68
  const response = await LeadServiceFetch(url, submitBody);
@@ -85,11 +97,16 @@ export function LeadServiceAPI() {
85
97
  }
86
98
  }
87
99
 
88
- async function checkCode({ reqId, code, body }: CheckCodeProps): Promise<CheckCodeResponse> {
100
+ async function checkCode({
101
+ reqId,
102
+ code,
103
+ body,
104
+ router,
105
+ }: CheckCodeProps): Promise<CheckCodeResponse> {
89
106
  const submitBody = {
90
107
  requestId: reqId,
91
- confimationCode: code,
92
- leadRequest: getSubmitBody(body, false),
108
+ confimationCode: code, // не исправлять опечатку!
109
+ leadRequest: getSubmitBody({ body, router }),
93
110
  };
94
111
  try {
95
112
  const response = await LeadServiceFetch(`${API_BASE_URI}/confirmCorporateLead`, submitBody);
@@ -100,9 +117,9 @@ export function LeadServiceAPI() {
100
117
  }
101
118
  }
102
119
 
103
- async function sendPhoneCallRequest(body: LeadRequest, isNaturalPerson = false) {
120
+ async function sendPhoneCallRequest(body: LeadRequest, endpoint?: EndpointType) {
104
121
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
- const submitBody = getSubmitBody(body, isNaturalPerson);
122
+ const submitBody = getSubmitBody({ body, endpoint });
106
123
 
107
124
  const formatSubmitBody = getFormatCallbackSubmitBody(submitBody);
108
125
 
@@ -145,3 +162,13 @@ const getFormatCallbackSubmitBody = (submitBody: Partial<LeadRequest>): SubmitBo
145
162
  clientTimezone: getUserTimezoneOffset(),
146
163
  };
147
164
  };
165
+
166
+ const getEndpoint = (endpoint: EndpointType, body: LeadRequest) => {
167
+ const { serviceDirection } = body;
168
+
169
+ if (endpoint === 'lead' && serviceDirection !== 'Юридическое лицо / ИП') {
170
+ return 'lead';
171
+ }
172
+
173
+ return endpoint;
174
+ };
@@ -1,4 +1,6 @@
1
1
  import type { JSONRecord, JSONScalar } from '@redneckz/json-op';
2
+ import { type EndpointType } from '../components/ApplicationForm/ApplicationFormContent';
3
+ import { ENDPOINT_MAPPING } from '../components/ApplicationForm/constants';
2
4
  import type { Router } from '../external/useRouter';
3
5
  import { formatDate } from '../utils/formatDate';
4
6
  import { formatPhone } from '../utils/formatPhone';
@@ -10,7 +12,19 @@ type PFFormData = {
10
12
  partnerSymbolCode?: string;
11
13
  };
12
14
 
13
- export const getSubmitBody = (body: LeadRequest, isNaturalPerson: boolean, router?: Router) => {
15
+ type submitBodyProps = {
16
+ body: LeadRequest;
17
+ endpoint?: EndpointType;
18
+ isNaturalPerson?: boolean;
19
+ router?: Router;
20
+ };
21
+
22
+ type DateField = [string, string];
23
+
24
+ export const getSubmitBody = ({ body, endpoint, router }: submitBodyProps) => {
25
+ const isNaturalPerson = endpoint && ENDPOINT_MAPPING[endpoint].isNaturalEndpoint;
26
+ const withTypeForm = endpoint && ENDPOINT_MAPPING[endpoint].withTypeForm;
27
+
14
28
  const {
15
29
  typeForm,
16
30
  region,
@@ -18,7 +32,6 @@ export const getSubmitBody = (body: LeadRequest, isNaturalPerson: boolean, route
18
32
  email,
19
33
  birthday,
20
34
  desiredMeetingDate,
21
- inn,
22
35
  fullRegion,
23
36
  addressBranch,
24
37
  secondaryPhone = '',
@@ -27,17 +40,23 @@ export const getSubmitBody = (body: LeadRequest, isNaturalPerson: boolean, route
27
40
  partnerName,
28
41
  russianPhone,
29
42
  partnerSymbolCode,
43
+ internshipEndDate,
44
+ internshipStartDate,
30
45
  ...staticBody
31
46
  } = body;
32
47
 
33
48
  return {
34
- typeForm,
49
+ ...(withTypeForm ? { typeForm } : {}),
35
50
  ...getRegion(region, isNaturalPerson),
36
51
  ...getEmail(email, isNaturalPerson),
37
52
  ...getPhone(phone),
38
53
  ...getPhone(russianPhone),
39
- ...getFormatDate(desiredMeetingDate as string, 'desiredMeetingDate'),
40
- ...(isNaturalPerson ? getFormatDate(birthday as string) : { inn }),
54
+ ...(isNaturalPerson ? getFormatDate([[birthday as string, 'birthday']]) : { birthday }),
55
+ ...getFormatDate([
56
+ [desiredMeetingDate as string, 'desiredMeetingDate'],
57
+ [internshipEndDate as string, 'internshipEndDate'],
58
+ [internshipStartDate as string, 'internshipStartDate'],
59
+ ]),
41
60
  ...(typeForm === 'FEEDBACK'
42
61
  ? {}
43
62
  : {
@@ -64,8 +83,10 @@ export const getPhoneBody = (phone?: string) => {
64
83
 
65
84
  export const getPhone = (phone?: string) => (phone ? { phone: formatPhone(phone) } : {});
66
85
 
67
- const getFormatDate = (date?: string, key = 'birthday') =>
68
- date ? { [key]: formatDate(date) } : {};
86
+ const getFormatDate = (dates: DateField[]): Record<string, string> =>
87
+ Object.fromEntries(
88
+ dates.filter(([value]) => value).map(([value, key]) => [key, formatDate(value)]),
89
+ );
69
90
 
70
91
  const getRegion = (region: JSONRecord | JSONScalar | null, isNaturalPerson = true) => ({
71
92
  [isNaturalPerson ? 'regionBranch' : 'region']: region,
@@ -0,0 +1,97 @@
1
+ import { DEFAULT_ERROR_TEXT } from '../ui-kit/Input/constants';
2
+ import { noop } from '../utils/noop';
3
+ import { API_BASE_URI } from './apiBaseUrl';
4
+
5
+ const FILE_CHECK_URL = 'uploadFile';
6
+ export const SUCCESS_STATUS = 'SUCCESS';
7
+ export const ERROR_STATUS = 'ERROR';
8
+ export type StatusType = typeof SUCCESS_STATUS | typeof ERROR_STATUS;
9
+ type ErrorCode = '0' | '1';
10
+
11
+ export interface CheckFileProps {
12
+ file: File;
13
+ onProgress?: (value: number) => void;
14
+ }
15
+
16
+ export type ResponseData = {
17
+ status?: StatusType;
18
+ fileId?: string;
19
+ errorDesc?: string;
20
+ errorCode?: ErrorCode;
21
+ };
22
+
23
+ export async function sendFile({ file, onProgress = noop }: CheckFileProps): Promise<ResponseData> {
24
+ return new Promise((resolve, reject) => {
25
+ const formData = new FormData();
26
+ formData.append('file', file);
27
+
28
+ let processingAnimation: number | undefined = undefined;
29
+
30
+ const xhr = new XMLHttpRequest();
31
+ let lastProgress: number;
32
+ xhr.upload.onprogress = (event) => {
33
+ if (event.lengthComputable) {
34
+ const percentComplete = (event.loaded / event.total) * 50;
35
+ onProgress(percentComplete);
36
+ }
37
+ };
38
+
39
+ xhr.upload.onload = () => {
40
+ let current = 50;
41
+ onProgress(current);
42
+
43
+ processingAnimation = window.setInterval(() => {
44
+ current += 0.2;
45
+ lastProgress = current;
46
+ if (current < 90) {
47
+ onProgress(current);
48
+ } else {
49
+ onProgress(90);
50
+ window.clearInterval(processingAnimation);
51
+ }
52
+ }, 100);
53
+ };
54
+
55
+ xhr.onload = async () => {
56
+ try {
57
+ const response: ResponseData = JSON.parse(xhr.responseText);
58
+ if (response.status === 'SUCCESS') {
59
+ window.clearInterval(processingAnimation);
60
+ await animateToFull(lastProgress, onProgress);
61
+ resolve(response);
62
+ } else {
63
+ reject(new Error(response.errorDesc ?? DEFAULT_ERROR_TEXT));
64
+ }
65
+ } catch (e) {
66
+ reject(new Error(DEFAULT_ERROR_TEXT));
67
+ }
68
+ };
69
+
70
+ xhr.onerror = () => {
71
+ reject(new Error(DEFAULT_ERROR_TEXT));
72
+ };
73
+
74
+ xhr.open('POST', `${API_BASE_URI}/${FILE_CHECK_URL}`);
75
+ xhr.send(formData);
76
+ });
77
+ }
78
+
79
+ const animateToFull = (current: number, onProgress: (value: number) => void): Promise<void> =>
80
+ new Promise((resolve) => {
81
+ let value = current;
82
+ const increment = (100 - current) / 30;
83
+ const interval = 16;
84
+
85
+ const step = () => {
86
+ value += increment;
87
+ if (value >= 100) {
88
+ onProgress(100);
89
+ resolve();
90
+ } else {
91
+ onProgress(value);
92
+ setTimeout(step, interval);
93
+ }
94
+ };
95
+
96
+ step();
97
+ });
@@ -1590,5 +1590,197 @@
1590
1590
  }
1591
1591
  }
1592
1592
  }
1593
+ ],
1594
+ [
1595
+ "Форма практики",
1596
+ {
1597
+ "content": {
1598
+ "version": "primary",
1599
+ "padding": "",
1600
+ "title": "Подать заявку на прохождение практики",
1601
+ "typeForm": "PRACTICE",
1602
+ "endpoint": "practice",
1603
+ "sections": [
1604
+ { "title": "О себе", "inputs": [] },
1605
+ {
1606
+ "inputs": [
1607
+ {
1608
+ "name": "fullname",
1609
+ "required": true
1610
+ }
1611
+ ]
1612
+ },
1613
+ {
1614
+ "columns": 2,
1615
+ "inputs": [
1616
+ {
1617
+ "name": "birthday",
1618
+ "required": true
1619
+ },
1620
+ {
1621
+ "name": "phone",
1622
+ "required": true
1623
+ },
1624
+ {
1625
+ "name": "email",
1626
+ "required": true
1627
+ },
1628
+ {
1629
+ "name": "cityOfResidence",
1630
+ "required": true
1631
+ },
1632
+ {
1633
+ "name": "internshipStartDate",
1634
+ "required": true
1635
+ },
1636
+ {
1637
+ "name": "internshipEndDate",
1638
+ "required": true
1639
+ }
1640
+ ]
1641
+ },
1642
+ {
1643
+ "title": "Образование и опыт",
1644
+ "columns": 2,
1645
+ "inputs": [
1646
+ { "name": "university", "required": true },
1647
+ { "name": "fieldOfStudy", "required": true },
1648
+ { "name": "courseYear", "required": true },
1649
+ { "name": "graduationYear", "required": true },
1650
+ { "name": "averageGrade", "required": true },
1651
+ { "name": "educationLevel", "required": true }
1652
+ ]
1653
+ },
1654
+ {
1655
+ "inputs": [
1656
+ {
1657
+ "name": "skillsAndKnowledge",
1658
+ "placeholder": "Навыки и знания. Что умеете делать?",
1659
+ "required": true
1660
+ }
1661
+ ]
1662
+ },
1663
+ {
1664
+ "inputs": [
1665
+ {
1666
+ "name": "fileUpload",
1667
+ "label": "Прикрепите ваше резюме",
1668
+ "extensions": ["pdf", "doc", "docx", "pptx"],
1669
+ "maxSizeMB": 10
1670
+ },
1671
+ { "name": "fileId" }
1672
+ ]
1673
+ }
1674
+ ],
1675
+ "button": {
1676
+ "text": "Отправить заявку",
1677
+ "version": "primary"
1678
+ },
1679
+ "link": {
1680
+ "text": "Согласен на обработку персональных данных",
1681
+ "href": "/privacy-policy",
1682
+ "target": "_blank"
1683
+ }
1684
+ }
1685
+ }
1686
+ ],
1687
+ [
1688
+ "Форма стажировки",
1689
+ {
1690
+ "content": {
1691
+ "version": "primary",
1692
+ "padding": "",
1693
+ "title": "Подать заявку на прохождение стажировки",
1694
+ "typeForm": "INTERN",
1695
+ "endpoint": "internship",
1696
+ "sections": [
1697
+ {
1698
+ "title": "О себе",
1699
+ "inputs": []
1700
+ },
1701
+ { "inputs": [{ "name": "fullName", "required": true }] },
1702
+ {
1703
+ "columns": 2,
1704
+ "inputs": [
1705
+ {
1706
+ "name": "birthday",
1707
+ "required": true
1708
+ },
1709
+ {
1710
+ "name": "phone",
1711
+ "required": true
1712
+ },
1713
+ {
1714
+ "name": "email",
1715
+ "required": true
1716
+ },
1717
+ {
1718
+ "name": "cityOfResidence",
1719
+ "required": true
1720
+ },
1721
+ {
1722
+ "name": "internshipDirection",
1723
+ "required": true
1724
+ },
1725
+ {
1726
+ "name": "workingHours",
1727
+ "required": true
1728
+ }
1729
+ ]
1730
+ },
1731
+ {
1732
+ "title": "Образование и опыт",
1733
+ "columns": 2,
1734
+ "inputs": [
1735
+ { "name": "university", "required": true },
1736
+ { "name": "fieldOfStudy", "required": true },
1737
+ { "name": "courseYear", "required": true },
1738
+ { "name": "graduationYear", "required": true },
1739
+ { "name": "averageGrade", "required": true },
1740
+ { "name": "educationLevel", "required": true }
1741
+ ]
1742
+ },
1743
+ {
1744
+ "inputs": [
1745
+ {
1746
+ "name": "skillsAndKnowledge",
1747
+ "placeholder": "Навыки и знания. Что умеете делать?",
1748
+ "required": true
1749
+ },
1750
+ {
1751
+ "name": "workExperience",
1752
+ "placeholder": "Опыт работы или стажировки",
1753
+ "required": true
1754
+ },
1755
+ {
1756
+ "name": "motivationForInternship",
1757
+ "placeholder": "Почему хотите пойти на стажировку?",
1758
+ "required": true
1759
+ }
1760
+ ]
1761
+ },
1762
+ {
1763
+ "inputs": [
1764
+ {
1765
+ "name": "fileUpload",
1766
+ "label": "Прикрепите ваше резюме",
1767
+ "extensions": ["pdf", "doc", "docx", "pptx"],
1768
+ "maxSizeMB": 10
1769
+ },
1770
+ { "name": "fileId" }
1771
+ ]
1772
+ }
1773
+ ],
1774
+ "button": {
1775
+ "text": "Отправить заявку",
1776
+ "version": "primary"
1777
+ },
1778
+ "link": {
1779
+ "text": "Согласен на обработку персональных данных",
1780
+ "href": "/privacy-policy",
1781
+ "target": "_blank"
1782
+ }
1783
+ }
1784
+ }
1593
1785
  ]
1594
1786
  ]