@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
@@ -969,6 +969,138 @@ export default {
969
969
  <DialogManager />
970
970
  </div>
971
971
  ),
972
+ practice: (
973
+ <div className="container grid grid-cols-12">
974
+ <ApplicationForm
975
+ className="col-span-12"
976
+ title="Заявка на прохождение практики"
977
+ endpoint="practice"
978
+ sections={[
979
+ { title: 'О себе', inputs: [] },
980
+ { inputs: [{ name: 'fullName', required: true }] },
981
+ {
982
+ columns: 2,
983
+ inputs: [
984
+ { name: 'birthday', required: true },
985
+ { name: 'phone', required: true },
986
+ { name: 'email', required: true },
987
+ { name: 'cityOfResidence', required: true },
988
+ { name: 'internshipStartDate', required: true },
989
+ { name: 'internshipEndDate', required: true },
990
+ ],
991
+ },
992
+ {
993
+ title: 'Образование и опыт',
994
+ columns: 2,
995
+ inputs: [
996
+ { name: 'university', required: true },
997
+ { name: 'fieldOfStudy', required: true },
998
+ { name: 'courseYear', required: true },
999
+ { name: 'graduationYear', required: true },
1000
+ { name: 'averageGrade', required: true },
1001
+ { name: 'educationLevel', required: true },
1002
+ ],
1003
+ },
1004
+ {
1005
+ inputs: [
1006
+ {
1007
+ name: 'skillsAndKnowledge',
1008
+ placeholder: 'Навыки и знания. Что умеете делать?',
1009
+ required: true,
1010
+ },
1011
+ ],
1012
+ },
1013
+ {
1014
+ inputs: [
1015
+ {
1016
+ name: 'fileUpload',
1017
+ label: 'Прикрепите ваше резюме',
1018
+ extensions: ['pdf', 'doc', 'docx', 'pptx'],
1019
+ maxSizeMB: 10,
1020
+ },
1021
+ { name: 'fileId' },
1022
+ ],
1023
+ },
1024
+ { inputs: [{ name: 'consentDataProcessing', required: true }] },
1025
+ ]}
1026
+ button={button}
1027
+ link={link}
1028
+ />
1029
+ <PopupManager />
1030
+ <DialogManager />
1031
+ </div>
1032
+ ),
1033
+ intern: (
1034
+ <div className="container grid grid-cols-12">
1035
+ <ApplicationForm
1036
+ className="col-span-12"
1037
+ title="Заявка на прохождение стажировки"
1038
+ endpoint="internship"
1039
+ sections={[
1040
+ { title: 'О себе', inputs: [] },
1041
+ { inputs: [{ name: 'fullName', required: true }] },
1042
+ {
1043
+ columns: 2,
1044
+ inputs: [
1045
+ { name: 'birthday', required: true },
1046
+ { name: 'phone', required: true },
1047
+ { name: 'email', required: true },
1048
+ { name: 'cityOfResidence', required: true },
1049
+ { name: 'internshipDirection', required: true },
1050
+ { name: 'workingHours', required: true },
1051
+ ],
1052
+ },
1053
+ {
1054
+ title: 'Образование и опыт',
1055
+ columns: 2,
1056
+ inputs: [
1057
+ { name: 'university', required: true },
1058
+ { name: 'fieldOfStudy', required: true },
1059
+ { name: 'courseYear', required: true },
1060
+ { name: 'graduationYear', required: true },
1061
+ { name: 'averageGrade', required: true },
1062
+ { name: 'educationLevel', required: true },
1063
+ ],
1064
+ },
1065
+ {
1066
+ inputs: [
1067
+ {
1068
+ name: 'skillsAndKnowledge',
1069
+ placeholder: 'Навыки и знания. Что умеете делать?',
1070
+ required: true,
1071
+ },
1072
+ {
1073
+ name: 'workExperience',
1074
+ placeholder: 'Опыт работы или стажировки',
1075
+ required: true,
1076
+ },
1077
+ {
1078
+ name: 'motivationForInternship',
1079
+ placeholder: 'Почему хотите пойти на стажировку?',
1080
+ required: true,
1081
+ },
1082
+ ],
1083
+ },
1084
+ {
1085
+ inputs: [
1086
+ {
1087
+ name: 'fileUpload',
1088
+ label: 'Прикрепите ваше резюме',
1089
+ extensions: ['pdf', 'doc', 'docx', 'pptx'],
1090
+ maxSizeMB: 10,
1091
+ },
1092
+ { name: 'fileId' },
1093
+ ],
1094
+ },
1095
+ { inputs: [{ name: 'consentDataProcessing', required: true }] },
1096
+ ]}
1097
+ button={button}
1098
+ link={link}
1099
+ />
1100
+ <PopupManager />
1101
+ <DialogManager />
1102
+ </div>
1103
+ ),
972
1104
  withSnowplow: (
973
1105
  <div className="container grid grid-cols-12">
974
1106
  <ApplicationForm
@@ -11,7 +11,11 @@ import { ResponseTypeDialog } from '../../ui-kit/ResponseTypeDialog/ResponseType
11
11
  import { UniBlock } from '../../UniBlock/UniBlock';
12
12
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
13
13
  import { style } from '../../utils/style';
14
- import { type ApplicationFormContent, type FieldDef } from './ApplicationFormContent';
14
+ import {
15
+ type ApplicationFormContent,
16
+ type EndpointType,
17
+ type FieldDef,
18
+ } from './ApplicationFormContent';
15
19
  import { getFormatData } from './getFormatData';
16
20
  import { getInitialFormState, type FormState } from './getInitialFormState';
17
21
  import {
@@ -72,19 +76,21 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
72
76
  async (formData: FormState, ev: PreventableEventWithTarget) => {
73
77
  const formatData = getFormatData({ ...formData, ...additionalParams });
74
78
 
75
- await executeHandler(endpoint ?? 'default', {
76
- formatData,
77
- ev,
78
- typeForm,
79
- data,
80
- aspects,
81
- router,
82
- responseTypeDialog,
83
- verifyPhoneDialog,
84
- onSuccess,
79
+ await executeHandler(
80
+ {
81
+ formatData,
82
+ ev,
83
+ typeForm,
84
+ data,
85
+ aspects,
86
+ router,
87
+ responseTypeDialog,
88
+ verifyPhoneDialog,
89
+ onSuccess,
90
+ withSnowplow,
91
+ },
85
92
  endpoint,
86
- withSnowplow,
87
- });
93
+ );
88
94
  },
89
95
  [typeForm],
90
96
  );
@@ -118,7 +124,7 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
118
124
  },
119
125
  );
120
126
 
121
- const executeHandler = async (endpoint: string, context: HandlerProps): Promise<void> => {
122
- const handler = handlerMap[endpoint] || handlerMap.default;
123
- await handler(context);
127
+ const executeHandler = async (context: HandlerProps, endpoint?: EndpointType): Promise<void> => {
128
+ const handler = (endpoint && handlerMap[endpoint]) || handlerMap.default;
129
+ await handler({ ...context, endpoint });
124
130
  };
@@ -32,18 +32,32 @@ export type FilledByEsiaProps = {
32
32
  filledByEsia?: boolean;
33
33
  };
34
34
 
35
+ /** @hidden */
36
+ export type FileProps = {
37
+ maxSize?: number;
38
+ extensions?: string[];
39
+ };
40
+
35
41
  export type FieldDef = Required &
36
42
  LabelProps &
37
43
  ConditionFieldProps &
38
44
  FilledByEsiaProps &
39
- PlaceholderProps & {
45
+ PlaceholderProps &
46
+ FileProps & {
40
47
  name?: NameFieldDef;
41
48
  dadata?: boolean;
42
49
  defaultValue?: string;
50
+ customName?: string;
43
51
  };
44
52
 
45
53
  /** @hidden */
46
- export type EndpointType = 'lead' | 'initcorporatelead' | 'sendcorporatelead' | 'callback';
54
+ export type EndpointType =
55
+ | 'lead'
56
+ | 'initcorporatelead'
57
+ | 'sendcorporatelead'
58
+ | 'callback'
59
+ | 'practice'
60
+ | 'internship';
47
61
 
48
62
  /**
49
63
  * @title Секция полей ввода
@@ -0,0 +1,33 @@
1
+ import type { EndpointType } from './ApplicationFormContent';
2
+
3
+ type EndpointInfo = {
4
+ withTypeForm: boolean;
5
+ isNaturalEndpoint: boolean;
6
+ };
7
+
8
+ export const ENDPOINT_MAPPING: Record<EndpointType, EndpointInfo> = {
9
+ lead: {
10
+ withTypeForm: true,
11
+ isNaturalEndpoint: true,
12
+ },
13
+ sendcorporatelead: {
14
+ withTypeForm: true,
15
+ isNaturalEndpoint: false,
16
+ },
17
+ practice: {
18
+ withTypeForm: false,
19
+ isNaturalEndpoint: true,
20
+ },
21
+ internship: {
22
+ withTypeForm: false,
23
+ isNaturalEndpoint: true,
24
+ },
25
+ initcorporatelead: {
26
+ withTypeForm: false,
27
+ isNaturalEndpoint: false,
28
+ },
29
+ callback: {
30
+ withTypeForm: false,
31
+ isNaturalEndpoint: true,
32
+ },
33
+ };
@@ -5,9 +5,11 @@ import { type Aspects } from '../../hooks/useAspects/useAspects';
5
5
  import { type AspectsDef, type SnowplowEventAspect } from '../../model/AspectsProps';
6
6
  import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
7
7
  import { noop } from '../../utils/noop';
8
+ import { type EndpointType } from './ApplicationFormContent';
8
9
 
9
10
  export type HandlerProps = {
10
11
  formatData: LeadRequest;
12
+ endpoint?: EndpointType;
11
13
  data?: AspectsDef[];
12
14
  aspects?: Aspects;
13
15
  ev: PreventableEventWithTarget;
@@ -16,7 +18,6 @@ export type HandlerProps = {
16
18
  verifyPhoneDialog?: any;
17
19
  responseTypeDialog?: any;
18
20
  onSuccess?: () => void;
19
- endpoint?: string;
20
21
  withSnowplow?: boolean;
21
22
  };
22
23
 
@@ -61,8 +62,9 @@ export const handleCallback = async ({
61
62
  typeForm,
62
63
  responseTypeDialog,
63
64
  onSuccess = noop,
65
+ endpoint,
64
66
  }: HandlerProps) => {
65
- const response = await API.sendPhoneCallRequest(formatData);
67
+ const response = await API.sendPhoneCallRequest(formatData, endpoint);
66
68
 
67
69
  onSuccess();
68
70
 
@@ -92,7 +94,7 @@ export const handleDefault = async ({
92
94
  endpoint,
93
95
  withSnowplow,
94
96
  }: HandlerProps) => {
95
- const response = await API.send(formatData, router, endpoint === 'lead');
97
+ const response = await API.send({ body: formatData, router, endpoint });
96
98
  const ok = Boolean(response);
97
99
 
98
100
  responseTypeDialog.open({ ok });
@@ -1,6 +1,7 @@
1
1
  import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
3
3
  import { LeadServiceAPI, type LeadRequest } from '../../api/LeadServiceAPI';
4
+ import { useRouter } from '../../external/useRouter';
4
5
  import { getTimer } from '../../utils/getTimer';
5
6
  const API = LeadServiceAPI();
6
7
 
@@ -18,6 +19,7 @@ export const useVerifyPhoneDialogSubmit = ({
18
19
  reqId,
19
20
  }: useVerifyPhoneDialogSubmitProps) => {
20
21
  const timer = Math.max(getTimer(Date.now()), 0);
22
+ const router = useRouter();
21
23
 
22
24
  const [errorText, setErrorText] = useState('');
23
25
  const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
@@ -34,6 +36,7 @@ export const useVerifyPhoneDialogSubmit = ({
34
36
  code: values.join(''),
35
37
  body: formatData,
36
38
  reqId,
39
+ router,
37
40
  });
38
41
  if (response?.errorDesc) {
39
42
  setErrorText(response?.errorDesc);
@@ -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
+ ));