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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/bundle/api/LeadServiceAPI.d.ts +8 -2
  2. package/bundle/api/getSubmitBody.d.ts +201 -97
  3. package/bundle/api/sendFile.d.ts +16 -0
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +564 -60
  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/retail/inputs.d.ts +0 -1
  14. package/bundle/retail/model/LeadFormState.d.ts +1 -1
  15. package/bundle/retail/model/NameFieldDef.d.ts +1 -1
  16. package/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  17. package/bundle/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  18. package/bundle/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  19. package/bundle/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  20. package/bundle/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  21. package/bundle/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  22. package/bundle/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  23. package/bundle/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  24. package/bundle/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  25. package/bundle/ui-kit/FormField/InputsMap.d.ts +62 -0
  26. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  27. package/bundle/ui-kit/FormField/constants.d.ts +3 -0
  28. package/bundle/ui-kit/FormField/validators.d.ts +1 -0
  29. package/bundle/ui-kit/Input/InputFile.d.ts +2 -0
  30. package/bundle/ui-kit/Input/InputFileControl.d.ts +2 -0
  31. package/bundle/ui-kit/Input/InputProps.d.ts +6 -1
  32. package/bundle/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  33. package/bundle/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  34. package/bundle/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  35. package/bundle/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  36. package/bundle/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  37. package/bundle/ui-kit/Input/constants.d.ts +6 -0
  38. package/bundle/ui-kit/Input/renderFileInput.d.ts +12 -0
  39. package/bundle/ui-kit/Input/renderInfoText.d.ts +1 -0
  40. package/bundle/ui-kit/Input/styles.d.ts +2 -0
  41. package/bundle/ui-kit/Input/useVerifyFile.d.ts +17 -0
  42. package/bundle/ui-kit/PreventableEvent.d.ts +4 -0
  43. package/bundle/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  44. package/bundle/utils/animateStepWithMinDuration.d.ts +8 -0
  45. package/bundle/utils/isDateValid.d.ts +4 -0
  46. package/dist/api/LeadServiceAPI.d.ts +8 -2
  47. package/dist/api/LeadServiceAPI.js +18 -8
  48. package/dist/api/LeadServiceAPI.js.map +1 -1
  49. package/dist/api/getSubmitBody.d.ts +201 -97
  50. package/dist/api/getSubmitBody.js +13 -6
  51. package/dist/api/getSubmitBody.js.map +1 -1
  52. package/dist/api/sendFile.d.ts +16 -0
  53. package/dist/api/sendFile.js +78 -0
  54. package/dist/api/sendFile.js.map +1 -0
  55. package/dist/components/ApplicationForm/ApplicationForm.js +5 -6
  56. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  57. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  58. package/dist/components/ApplicationForm/constants.d.ts +7 -0
  59. package/dist/components/ApplicationForm/constants.js +29 -0
  60. package/dist/components/ApplicationForm/constants.js.map +1 -0
  61. package/dist/components/ApplicationForm/handlers.d.ts +3 -2
  62. package/dist/components/ApplicationForm/handlers.js +3 -3
  63. package/dist/components/ApplicationForm/handlers.js.map +1 -1
  64. package/dist/components/ApplicationLeadForm/applicationFormData.js +0 -1
  65. package/dist/components/ApplicationLeadForm/applicationFormData.js.map +1 -1
  66. package/dist/components/ApplicationLeadForm/consents.js +1 -5
  67. package/dist/components/ApplicationLeadForm/consents.js.map +1 -1
  68. package/dist/components/ApplicationLeadForm/getInitialFormState.js +0 -1
  69. package/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  70. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +1 -2
  71. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  72. package/dist/hooks/useDragAndDrop.d.ts +16 -0
  73. package/dist/hooks/useDragAndDrop.js +29 -0
  74. package/dist/hooks/useDragAndDrop.js.map +1 -0
  75. package/dist/model/FormTypeFieldDef.d.ts +1 -1
  76. package/dist/model/InputTypes.d.ts +1 -1
  77. package/dist/retail/inputs.d.ts +0 -1
  78. package/dist/retail/inputs.js +0 -1
  79. package/dist/retail/inputs.js.map +1 -1
  80. package/dist/retail/model/LeadFormState.d.ts +1 -1
  81. package/dist/retail/model/NameFieldDef.d.ts +1 -1
  82. package/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  83. package/dist/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  84. package/dist/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  85. package/dist/ui-kit/FormField/Fields/AverageGradeField.js +9 -0
  86. package/dist/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  87. package/dist/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  88. package/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  89. package/dist/ui-kit/FormField/Fields/CommentField.js +1 -1
  90. package/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  91. package/dist/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  92. package/dist/ui-kit/FormField/Fields/FileIdField.js +7 -0
  93. package/dist/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  94. package/dist/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  95. package/dist/ui-kit/FormField/Fields/FileUpload.js +14 -0
  96. package/dist/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  97. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  98. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.js +23 -0
  99. package/dist/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  100. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  101. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.js +23 -0
  102. package/dist/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  103. package/dist/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  104. package/dist/ui-kit/FormField/Fields/SelectField.js +7 -0
  105. package/dist/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  106. package/dist/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  107. package/dist/ui-kit/FormField/Fields/TextField.js +7 -0
  108. package/dist/ui-kit/FormField/Fields/TextField.js.map +1 -0
  109. package/dist/ui-kit/FormField/InputsMap.d.ts +62 -0
  110. package/dist/ui-kit/FormField/InputsMap.js +119 -0
  111. package/dist/ui-kit/FormField/InputsMap.js.map +1 -0
  112. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  113. package/dist/ui-kit/FormField/constants.d.ts +3 -0
  114. package/dist/ui-kit/FormField/constants.js +27 -1
  115. package/dist/ui-kit/FormField/constants.js.map +1 -1
  116. package/dist/ui-kit/FormField/getField.js +2 -94
  117. package/dist/ui-kit/FormField/getField.js.map +1 -1
  118. package/dist/ui-kit/FormField/getObjectValidator.js +15 -1
  119. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  120. package/dist/ui-kit/FormField/validators.d.ts +1 -0
  121. package/dist/ui-kit/FormField/validators.js +4 -1
  122. package/dist/ui-kit/FormField/validators.js.map +1 -1
  123. package/dist/ui-kit/Input/Input.js +2 -2
  124. package/dist/ui-kit/Input/Input.js.map +1 -1
  125. package/dist/ui-kit/Input/InputFile.d.ts +2 -0
  126. package/dist/ui-kit/Input/InputFile.js +75 -0
  127. package/dist/ui-kit/Input/InputFile.js.map +1 -0
  128. package/dist/ui-kit/Input/InputFileControl.d.ts +2 -0
  129. package/dist/ui-kit/Input/InputFileControl.js +10 -0
  130. package/dist/ui-kit/Input/InputFileControl.js.map +1 -0
  131. package/dist/ui-kit/Input/InputProps.d.ts +6 -1
  132. package/dist/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  133. package/dist/ui-kit/Input/checks/checkFIleExtension.js +12 -0
  134. package/dist/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  135. package/dist/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  136. package/dist/ui-kit/Input/checks/checkFileMimeType.js +20 -0
  137. package/dist/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  138. package/dist/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  139. package/dist/ui-kit/Input/checks/checkFileSignature.js +25 -0
  140. package/dist/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  141. package/dist/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  142. package/dist/ui-kit/Input/checks/checkFileSize.js +13 -0
  143. package/dist/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  144. package/dist/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  145. package/dist/ui-kit/Input/checks/getFileSignature.js +19 -0
  146. package/dist/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  147. package/dist/ui-kit/Input/constants.d.ts +6 -0
  148. package/dist/ui-kit/Input/constants.js +9 -0
  149. package/dist/ui-kit/Input/constants.js.map +1 -0
  150. package/dist/ui-kit/Input/renderFileInput.d.ts +12 -0
  151. package/dist/ui-kit/Input/renderFileInput.js +33 -0
  152. package/dist/ui-kit/Input/renderFileInput.js.map +1 -0
  153. package/dist/ui-kit/Input/renderInfoText.d.ts +1 -0
  154. package/dist/ui-kit/Input/renderInfoText.js +14 -0
  155. package/dist/ui-kit/Input/renderInfoText.js.map +1 -0
  156. package/dist/ui-kit/Input/styles.d.ts +2 -0
  157. package/dist/ui-kit/Input/styles.js +5 -0
  158. package/dist/ui-kit/Input/styles.js.map +1 -0
  159. package/dist/ui-kit/Input/useVerifyFile.d.ts +17 -0
  160. package/dist/ui-kit/Input/useVerifyFile.js +64 -0
  161. package/dist/ui-kit/Input/useVerifyFile.js.map +1 -0
  162. package/dist/ui-kit/PreventableEvent.d.ts +4 -0
  163. package/dist/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  164. package/dist/ui-kit/ProgressBar/ProgressBar.js +1 -1
  165. package/dist/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  166. package/dist/utils/animateStepWithMinDuration.d.ts +8 -0
  167. package/dist/utils/animateStepWithMinDuration.js +26 -0
  168. package/dist/utils/animateStepWithMinDuration.js.map +1 -0
  169. package/dist/utils/isDateValid.d.ts +4 -0
  170. package/dist/utils/isDateValid.js +24 -0
  171. package/dist/utils/isDateValid.js.map +1 -0
  172. package/lib/api/LeadServiceAPI.d.ts +8 -2
  173. package/lib/api/LeadServiceAPI.js +18 -8
  174. package/lib/api/LeadServiceAPI.js.map +1 -1
  175. package/lib/api/getSubmitBody.d.ts +201 -97
  176. package/lib/api/getSubmitBody.js +13 -6
  177. package/lib/api/getSubmitBody.js.map +1 -1
  178. package/lib/api/sendFile.d.ts +16 -0
  179. package/lib/api/sendFile.js +75 -0
  180. package/lib/api/sendFile.js.map +1 -0
  181. package/lib/common.css +1 -1
  182. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +2 -0
  183. package/lib/components/ApplicationForm/ApplicationForm.js +5 -6
  184. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  185. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  186. package/lib/components/ApplicationForm/constants.d.ts +7 -0
  187. package/lib/components/ApplicationForm/constants.js +27 -0
  188. package/lib/components/ApplicationForm/constants.js.map +1 -0
  189. package/lib/components/ApplicationForm/handlers.d.ts +3 -2
  190. package/lib/components/ApplicationForm/handlers.js +3 -3
  191. package/lib/components/ApplicationForm/handlers.js.map +1 -1
  192. package/lib/components/ApplicationLeadForm/applicationFormData.js +0 -1
  193. package/lib/components/ApplicationLeadForm/applicationFormData.js.map +1 -1
  194. package/lib/components/ApplicationLeadForm/consents.js +1 -5
  195. package/lib/components/ApplicationLeadForm/consents.js.map +1 -1
  196. package/lib/components/ApplicationLeadForm/getInitialFormState.js +0 -1
  197. package/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  198. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +1 -2
  199. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  200. package/lib/hooks/useDragAndDrop.d.ts +16 -0
  201. package/lib/hooks/useDragAndDrop.js +26 -0
  202. package/lib/hooks/useDragAndDrop.js.map +1 -0
  203. package/lib/model/FormTypeFieldDef.d.ts +1 -1
  204. package/lib/model/InputTypes.d.ts +1 -1
  205. package/lib/retail/inputs.d.ts +0 -1
  206. package/lib/retail/inputs.js +0 -1
  207. package/lib/retail/inputs.js.map +1 -1
  208. package/lib/retail/model/LeadFormState.d.ts +1 -1
  209. package/lib/retail/model/NameFieldDef.d.ts +1 -1
  210. package/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  211. package/lib/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  212. package/lib/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  213. package/lib/ui-kit/FormField/Fields/AverageGradeField.js +7 -0
  214. package/lib/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  215. package/lib/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  216. package/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  217. package/lib/ui-kit/FormField/Fields/CommentField.js +1 -1
  218. package/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  219. package/lib/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  220. package/lib/ui-kit/FormField/Fields/FileIdField.js +5 -0
  221. package/lib/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  222. package/lib/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  223. package/lib/ui-kit/FormField/Fields/FileUpload.js +12 -0
  224. package/lib/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  225. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  226. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.js +21 -0
  227. package/lib/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  228. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  229. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.js +21 -0
  230. package/lib/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  231. package/lib/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  232. package/lib/ui-kit/FormField/Fields/SelectField.js +5 -0
  233. package/lib/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  234. package/lib/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  235. package/lib/ui-kit/FormField/Fields/TextField.js +5 -0
  236. package/lib/ui-kit/FormField/Fields/TextField.js.map +1 -0
  237. package/lib/ui-kit/FormField/InputsMap.d.ts +62 -0
  238. package/lib/ui-kit/FormField/InputsMap.js +117 -0
  239. package/lib/ui-kit/FormField/InputsMap.js.map +1 -0
  240. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  241. package/lib/ui-kit/FormField/constants.d.ts +3 -0
  242. package/lib/ui-kit/FormField/constants.js +26 -0
  243. package/lib/ui-kit/FormField/constants.js.map +1 -1
  244. package/lib/ui-kit/FormField/getField.js +1 -93
  245. package/lib/ui-kit/FormField/getField.js.map +1 -1
  246. package/lib/ui-kit/FormField/getObjectValidator.js +16 -2
  247. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  248. package/lib/ui-kit/FormField/validators.d.ts +1 -0
  249. package/lib/ui-kit/FormField/validators.js +2 -0
  250. package/lib/ui-kit/FormField/validators.js.map +1 -1
  251. package/lib/ui-kit/Input/Input.js +1 -1
  252. package/lib/ui-kit/Input/Input.js.map +1 -1
  253. package/lib/ui-kit/Input/InputFile.d.ts +2 -0
  254. package/lib/ui-kit/Input/InputFile.js +73 -0
  255. package/lib/ui-kit/Input/InputFile.js.map +1 -0
  256. package/lib/ui-kit/Input/InputFileControl.d.ts +2 -0
  257. package/lib/ui-kit/Input/InputFileControl.js +8 -0
  258. package/lib/ui-kit/Input/InputFileControl.js.map +1 -0
  259. package/lib/ui-kit/Input/InputProps.d.ts +6 -1
  260. package/lib/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  261. package/lib/ui-kit/Input/checks/checkFIleExtension.js +9 -0
  262. package/lib/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  263. package/lib/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  264. package/lib/ui-kit/Input/checks/checkFileMimeType.js +17 -0
  265. package/lib/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  266. package/lib/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  267. package/lib/ui-kit/Input/checks/checkFileSignature.js +22 -0
  268. package/lib/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  269. package/lib/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  270. package/lib/ui-kit/Input/checks/checkFileSize.js +10 -0
  271. package/lib/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  272. package/lib/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  273. package/lib/ui-kit/Input/checks/getFileSignature.js +16 -0
  274. package/lib/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  275. package/lib/ui-kit/Input/constants.d.ts +6 -0
  276. package/lib/ui-kit/Input/constants.js +7 -0
  277. package/lib/ui-kit/Input/constants.js.map +1 -0
  278. package/lib/ui-kit/Input/renderFileInput.d.ts +12 -0
  279. package/lib/ui-kit/Input/renderFileInput.js +30 -0
  280. package/lib/ui-kit/Input/renderFileInput.js.map +1 -0
  281. package/lib/ui-kit/Input/renderInfoText.d.ts +1 -0
  282. package/lib/ui-kit/Input/renderInfoText.js +11 -0
  283. package/lib/ui-kit/Input/renderInfoText.js.map +1 -0
  284. package/lib/ui-kit/Input/styles.d.ts +2 -0
  285. package/lib/ui-kit/Input/styles.js +3 -0
  286. package/lib/ui-kit/Input/styles.js.map +1 -0
  287. package/lib/ui-kit/Input/useVerifyFile.d.ts +17 -0
  288. package/lib/ui-kit/Input/useVerifyFile.js +61 -0
  289. package/lib/ui-kit/Input/useVerifyFile.js.map +1 -0
  290. package/lib/ui-kit/PreventableEvent.d.ts +4 -0
  291. package/lib/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  292. package/lib/ui-kit/ProgressBar/ProgressBar.js +1 -1
  293. package/lib/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  294. package/lib/utils/animateStepWithMinDuration.d.ts +8 -0
  295. package/lib/utils/animateStepWithMinDuration.js +23 -0
  296. package/lib/utils/animateStepWithMinDuration.js.map +1 -0
  297. package/lib/utils/isDateValid.d.ts +4 -0
  298. package/lib/utils/isDateValid.js +21 -0
  299. package/lib/utils/isDateValid.js.map +1 -0
  300. package/mobile/bundle/api/LeadServiceAPI.d.ts +8 -2
  301. package/mobile/bundle/api/getSubmitBody.d.ts +201 -97
  302. package/mobile/bundle/api/sendFile.d.ts +16 -0
  303. package/mobile/bundle/bundle.umd.js +564 -60
  304. package/mobile/bundle/bundle.umd.min.js +1 -1
  305. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  306. package/mobile/bundle/components/ApplicationForm/constants.d.ts +7 -0
  307. package/mobile/bundle/components/ApplicationForm/handlers.d.ts +3 -2
  308. package/mobile/bundle/hooks/useDragAndDrop.d.ts +16 -0
  309. package/mobile/bundle/model/FormTypeFieldDef.d.ts +1 -1
  310. package/mobile/bundle/model/InputTypes.d.ts +1 -1
  311. package/mobile/bundle/retail/inputs.d.ts +0 -1
  312. package/mobile/bundle/retail/model/LeadFormState.d.ts +1 -1
  313. package/mobile/bundle/retail/model/NameFieldDef.d.ts +1 -1
  314. package/mobile/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  315. package/mobile/bundle/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  316. package/mobile/bundle/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  317. package/mobile/bundle/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  318. package/mobile/bundle/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  319. package/mobile/bundle/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  320. package/mobile/bundle/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  321. package/mobile/bundle/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  322. package/mobile/bundle/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  323. package/mobile/bundle/ui-kit/FormField/InputsMap.d.ts +62 -0
  324. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  325. package/mobile/bundle/ui-kit/FormField/constants.d.ts +3 -0
  326. package/mobile/bundle/ui-kit/FormField/validators.d.ts +1 -0
  327. package/mobile/bundle/ui-kit/Input/InputFile.d.ts +2 -0
  328. package/mobile/bundle/ui-kit/Input/InputFileControl.d.ts +2 -0
  329. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +6 -1
  330. package/mobile/bundle/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  331. package/mobile/bundle/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  332. package/mobile/bundle/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  333. package/mobile/bundle/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  334. package/mobile/bundle/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  335. package/mobile/bundle/ui-kit/Input/constants.d.ts +6 -0
  336. package/mobile/bundle/ui-kit/Input/renderFileInput.d.ts +12 -0
  337. package/mobile/bundle/ui-kit/Input/renderInfoText.d.ts +1 -0
  338. package/mobile/bundle/ui-kit/Input/styles.d.ts +2 -0
  339. package/mobile/bundle/ui-kit/Input/useVerifyFile.d.ts +17 -0
  340. package/mobile/bundle/ui-kit/PreventableEvent.d.ts +4 -0
  341. package/mobile/bundle/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  342. package/mobile/bundle/utils/animateStepWithMinDuration.d.ts +8 -0
  343. package/mobile/bundle/utils/isDateValid.d.ts +4 -0
  344. package/mobile/dist/api/LeadServiceAPI.d.ts +8 -2
  345. package/mobile/dist/api/LeadServiceAPI.js +18 -8
  346. package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
  347. package/mobile/dist/api/getSubmitBody.d.ts +201 -97
  348. package/mobile/dist/api/getSubmitBody.js +13 -6
  349. package/mobile/dist/api/getSubmitBody.js.map +1 -1
  350. package/mobile/dist/api/sendFile.d.ts +16 -0
  351. package/mobile/dist/api/sendFile.js +78 -0
  352. package/mobile/dist/api/sendFile.js.map +1 -0
  353. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +5 -6
  354. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  355. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  356. package/mobile/dist/components/ApplicationForm/constants.d.ts +7 -0
  357. package/mobile/dist/components/ApplicationForm/constants.js +29 -0
  358. package/mobile/dist/components/ApplicationForm/constants.js.map +1 -0
  359. package/mobile/dist/components/ApplicationForm/handlers.d.ts +3 -2
  360. package/mobile/dist/components/ApplicationForm/handlers.js +3 -3
  361. package/mobile/dist/components/ApplicationForm/handlers.js.map +1 -1
  362. package/mobile/dist/components/ApplicationLeadForm/applicationFormData.js +0 -1
  363. package/mobile/dist/components/ApplicationLeadForm/applicationFormData.js.map +1 -1
  364. package/mobile/dist/components/ApplicationLeadForm/consents.js +1 -5
  365. package/mobile/dist/components/ApplicationLeadForm/consents.js.map +1 -1
  366. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js +0 -1
  367. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  368. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +1 -2
  369. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  370. package/mobile/dist/hooks/useDragAndDrop.d.ts +16 -0
  371. package/mobile/dist/hooks/useDragAndDrop.js +29 -0
  372. package/mobile/dist/hooks/useDragAndDrop.js.map +1 -0
  373. package/mobile/dist/model/FormTypeFieldDef.d.ts +1 -1
  374. package/mobile/dist/model/InputTypes.d.ts +1 -1
  375. package/mobile/dist/retail/inputs.d.ts +0 -1
  376. package/mobile/dist/retail/inputs.js +0 -1
  377. package/mobile/dist/retail/inputs.js.map +1 -1
  378. package/mobile/dist/retail/model/LeadFormState.d.ts +1 -1
  379. package/mobile/dist/retail/model/NameFieldDef.d.ts +1 -1
  380. package/mobile/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  381. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  382. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  383. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.js +9 -0
  384. package/mobile/dist/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  385. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  386. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  387. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js +1 -1
  388. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  389. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  390. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.js +7 -0
  391. package/mobile/dist/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  392. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  393. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.js +14 -0
  394. package/mobile/dist/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  395. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  396. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.js +23 -0
  397. package/mobile/dist/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  398. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  399. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.js +23 -0
  400. package/mobile/dist/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  401. package/mobile/dist/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  402. package/mobile/dist/ui-kit/FormField/Fields/SelectField.js +7 -0
  403. package/mobile/dist/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  404. package/mobile/dist/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  405. package/mobile/dist/ui-kit/FormField/Fields/TextField.js +7 -0
  406. package/mobile/dist/ui-kit/FormField/Fields/TextField.js.map +1 -0
  407. package/mobile/dist/ui-kit/FormField/InputsMap.d.ts +62 -0
  408. package/mobile/dist/ui-kit/FormField/InputsMap.js +119 -0
  409. package/mobile/dist/ui-kit/FormField/InputsMap.js.map +1 -0
  410. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  411. package/mobile/dist/ui-kit/FormField/constants.d.ts +3 -0
  412. package/mobile/dist/ui-kit/FormField/constants.js +27 -1
  413. package/mobile/dist/ui-kit/FormField/constants.js.map +1 -1
  414. package/mobile/dist/ui-kit/FormField/getField.js +2 -94
  415. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  416. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +15 -1
  417. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  418. package/mobile/dist/ui-kit/FormField/validators.d.ts +1 -0
  419. package/mobile/dist/ui-kit/FormField/validators.js +4 -1
  420. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  421. package/mobile/dist/ui-kit/Input/Input.js +2 -2
  422. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  423. package/mobile/dist/ui-kit/Input/InputFile.d.ts +2 -0
  424. package/mobile/dist/ui-kit/Input/InputFile.js +75 -0
  425. package/mobile/dist/ui-kit/Input/InputFile.js.map +1 -0
  426. package/mobile/dist/ui-kit/Input/InputFileControl.d.ts +2 -0
  427. package/mobile/dist/ui-kit/Input/InputFileControl.js +10 -0
  428. package/mobile/dist/ui-kit/Input/InputFileControl.js.map +1 -0
  429. package/mobile/dist/ui-kit/Input/InputProps.d.ts +6 -1
  430. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  431. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.js +12 -0
  432. package/mobile/dist/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  433. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  434. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.js +20 -0
  435. package/mobile/dist/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  436. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  437. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.js +25 -0
  438. package/mobile/dist/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  439. package/mobile/dist/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  440. package/mobile/dist/ui-kit/Input/checks/checkFileSize.js +13 -0
  441. package/mobile/dist/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  442. package/mobile/dist/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  443. package/mobile/dist/ui-kit/Input/checks/getFileSignature.js +19 -0
  444. package/mobile/dist/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  445. package/mobile/dist/ui-kit/Input/constants.d.ts +6 -0
  446. package/mobile/dist/ui-kit/Input/constants.js +9 -0
  447. package/mobile/dist/ui-kit/Input/constants.js.map +1 -0
  448. package/mobile/dist/ui-kit/Input/renderFileInput.d.ts +12 -0
  449. package/mobile/dist/ui-kit/Input/renderFileInput.js +33 -0
  450. package/mobile/dist/ui-kit/Input/renderFileInput.js.map +1 -0
  451. package/mobile/dist/ui-kit/Input/renderInfoText.d.ts +1 -0
  452. package/mobile/dist/ui-kit/Input/renderInfoText.js +14 -0
  453. package/mobile/dist/ui-kit/Input/renderInfoText.js.map +1 -0
  454. package/mobile/dist/ui-kit/Input/styles.d.ts +2 -0
  455. package/mobile/dist/ui-kit/Input/styles.js +5 -0
  456. package/mobile/dist/ui-kit/Input/styles.js.map +1 -0
  457. package/mobile/dist/ui-kit/Input/useVerifyFile.d.ts +17 -0
  458. package/mobile/dist/ui-kit/Input/useVerifyFile.js +64 -0
  459. package/mobile/dist/ui-kit/Input/useVerifyFile.js.map +1 -0
  460. package/mobile/dist/ui-kit/PreventableEvent.d.ts +4 -0
  461. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  462. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.js +1 -1
  463. package/mobile/dist/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  464. package/mobile/dist/utils/animateStepWithMinDuration.d.ts +8 -0
  465. package/mobile/dist/utils/animateStepWithMinDuration.js +26 -0
  466. package/mobile/dist/utils/animateStepWithMinDuration.js.map +1 -0
  467. package/mobile/dist/utils/isDateValid.d.ts +4 -0
  468. package/mobile/dist/utils/isDateValid.js +24 -0
  469. package/mobile/dist/utils/isDateValid.js.map +1 -0
  470. package/mobile/lib/api/LeadServiceAPI.d.ts +8 -2
  471. package/mobile/lib/api/LeadServiceAPI.js +18 -8
  472. package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
  473. package/mobile/lib/api/getSubmitBody.d.ts +201 -97
  474. package/mobile/lib/api/getSubmitBody.js +13 -6
  475. package/mobile/lib/api/getSubmitBody.js.map +1 -1
  476. package/mobile/lib/api/sendFile.d.ts +16 -0
  477. package/mobile/lib/api/sendFile.js +75 -0
  478. package/mobile/lib/api/sendFile.js.map +1 -0
  479. package/mobile/lib/common.css +1 -1
  480. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +5 -6
  481. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  482. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -2
  483. package/mobile/lib/components/ApplicationForm/constants.d.ts +7 -0
  484. package/mobile/lib/components/ApplicationForm/constants.js +27 -0
  485. package/mobile/lib/components/ApplicationForm/constants.js.map +1 -0
  486. package/mobile/lib/components/ApplicationForm/handlers.d.ts +3 -2
  487. package/mobile/lib/components/ApplicationForm/handlers.js +3 -3
  488. package/mobile/lib/components/ApplicationForm/handlers.js.map +1 -1
  489. package/mobile/lib/components/ApplicationLeadForm/applicationFormData.js +0 -1
  490. package/mobile/lib/components/ApplicationLeadForm/applicationFormData.js.map +1 -1
  491. package/mobile/lib/components/ApplicationLeadForm/consents.js +1 -5
  492. package/mobile/lib/components/ApplicationLeadForm/consents.js.map +1 -1
  493. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js +0 -1
  494. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  495. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +1 -2
  496. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  497. package/mobile/lib/hooks/useDragAndDrop.d.ts +16 -0
  498. package/mobile/lib/hooks/useDragAndDrop.js +26 -0
  499. package/mobile/lib/hooks/useDragAndDrop.js.map +1 -0
  500. package/mobile/lib/model/FormTypeFieldDef.d.ts +1 -1
  501. package/mobile/lib/model/InputTypes.d.ts +1 -1
  502. package/mobile/lib/retail/inputs.d.ts +0 -1
  503. package/mobile/lib/retail/inputs.js +0 -1
  504. package/mobile/lib/retail/inputs.js.map +1 -1
  505. package/mobile/lib/retail/model/LeadFormState.d.ts +1 -1
  506. package/mobile/lib/retail/model/NameFieldDef.d.ts +1 -1
  507. package/mobile/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -0
  508. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.d.ts +1 -2
  509. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.d.ts +2 -0
  510. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.js +7 -0
  511. package/mobile/lib/ui-kit/FormField/Fields/AverageGradeField.js.map +1 -0
  512. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js +4 -1
  513. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  514. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js +1 -1
  515. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  516. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.d.ts +2 -0
  517. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.js +5 -0
  518. package/mobile/lib/ui-kit/FormField/Fields/FileIdField.js.map +1 -0
  519. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.d.ts +2 -0
  520. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.js +12 -0
  521. package/mobile/lib/ui-kit/FormField/Fields/FileUpload.js.map +1 -0
  522. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.d.ts +2 -0
  523. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.js +21 -0
  524. package/mobile/lib/ui-kit/FormField/Fields/InternshipEndDateField.js.map +1 -0
  525. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.d.ts +2 -0
  526. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.js +21 -0
  527. package/mobile/lib/ui-kit/FormField/Fields/InternshipStartDateField.js.map +1 -0
  528. package/mobile/lib/ui-kit/FormField/Fields/SelectField.d.ts +6 -0
  529. package/mobile/lib/ui-kit/FormField/Fields/SelectField.js +5 -0
  530. package/mobile/lib/ui-kit/FormField/Fields/SelectField.js.map +1 -0
  531. package/mobile/lib/ui-kit/FormField/Fields/TextField.d.ts +2 -0
  532. package/mobile/lib/ui-kit/FormField/Fields/TextField.js +5 -0
  533. package/mobile/lib/ui-kit/FormField/Fields/TextField.js.map +1 -0
  534. package/mobile/lib/ui-kit/FormField/InputsMap.d.ts +62 -0
  535. package/mobile/lib/ui-kit/FormField/InputsMap.js +117 -0
  536. package/mobile/lib/ui-kit/FormField/InputsMap.js.map +1 -0
  537. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
  538. package/mobile/lib/ui-kit/FormField/constants.d.ts +3 -0
  539. package/mobile/lib/ui-kit/FormField/constants.js +26 -0
  540. package/mobile/lib/ui-kit/FormField/constants.js.map +1 -1
  541. package/mobile/lib/ui-kit/FormField/getField.js +1 -93
  542. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  543. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +16 -2
  544. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  545. package/mobile/lib/ui-kit/FormField/validators.d.ts +1 -0
  546. package/mobile/lib/ui-kit/FormField/validators.js +2 -0
  547. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  548. package/mobile/lib/ui-kit/Input/Input.js +1 -1
  549. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  550. package/mobile/lib/ui-kit/Input/InputFile.d.ts +2 -0
  551. package/mobile/lib/ui-kit/Input/InputFile.js +73 -0
  552. package/mobile/lib/ui-kit/Input/InputFile.js.map +1 -0
  553. package/mobile/lib/ui-kit/Input/InputFileControl.d.ts +2 -0
  554. package/mobile/lib/ui-kit/Input/InputFileControl.js +8 -0
  555. package/mobile/lib/ui-kit/Input/InputFileControl.js.map +1 -0
  556. package/mobile/lib/ui-kit/Input/InputProps.d.ts +6 -1
  557. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.d.ts +1 -0
  558. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.js +9 -0
  559. package/mobile/lib/ui-kit/Input/checks/checkFIleExtension.js.map +1 -0
  560. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.d.ts +1 -0
  561. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.js +17 -0
  562. package/mobile/lib/ui-kit/Input/checks/checkFileMimeType.js.map +1 -0
  563. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.d.ts +3 -0
  564. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.js +22 -0
  565. package/mobile/lib/ui-kit/Input/checks/checkFileSignature.js.map +1 -0
  566. package/mobile/lib/ui-kit/Input/checks/checkFileSize.d.ts +1 -0
  567. package/mobile/lib/ui-kit/Input/checks/checkFileSize.js +10 -0
  568. package/mobile/lib/ui-kit/Input/checks/checkFileSize.js.map +1 -0
  569. package/mobile/lib/ui-kit/Input/checks/getFileSignature.d.ts +1 -0
  570. package/mobile/lib/ui-kit/Input/checks/getFileSignature.js +16 -0
  571. package/mobile/lib/ui-kit/Input/checks/getFileSignature.js.map +1 -0
  572. package/mobile/lib/ui-kit/Input/constants.d.ts +6 -0
  573. package/mobile/lib/ui-kit/Input/constants.js +7 -0
  574. package/mobile/lib/ui-kit/Input/constants.js.map +1 -0
  575. package/mobile/lib/ui-kit/Input/renderFileInput.d.ts +12 -0
  576. package/mobile/lib/ui-kit/Input/renderFileInput.js +30 -0
  577. package/mobile/lib/ui-kit/Input/renderFileInput.js.map +1 -0
  578. package/mobile/lib/ui-kit/Input/renderInfoText.d.ts +1 -0
  579. package/mobile/lib/ui-kit/Input/renderInfoText.js +11 -0
  580. package/mobile/lib/ui-kit/Input/renderInfoText.js.map +1 -0
  581. package/mobile/lib/ui-kit/Input/styles.d.ts +2 -0
  582. package/mobile/lib/ui-kit/Input/styles.js +3 -0
  583. package/mobile/lib/ui-kit/Input/styles.js.map +1 -0
  584. package/mobile/lib/ui-kit/Input/useVerifyFile.d.ts +17 -0
  585. package/mobile/lib/ui-kit/Input/useVerifyFile.js +61 -0
  586. package/mobile/lib/ui-kit/Input/useVerifyFile.js.map +1 -0
  587. package/mobile/lib/ui-kit/PreventableEvent.d.ts +4 -0
  588. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.d.ts +1 -0
  589. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.js +1 -1
  590. package/mobile/lib/ui-kit/ProgressBar/ProgressBar.js.map +1 -1
  591. package/mobile/lib/utils/animateStepWithMinDuration.d.ts +8 -0
  592. package/mobile/lib/utils/animateStepWithMinDuration.js +23 -0
  593. package/mobile/lib/utils/animateStepWithMinDuration.js.map +1 -0
  594. package/mobile/lib/utils/isDateValid.d.ts +4 -0
  595. package/mobile/lib/utils/isDateValid.js +21 -0
  596. package/mobile/lib/utils/isDateValid.js.map +1 -0
  597. package/mobile/src/api/LeadServiceAPI.ts +29 -9
  598. package/mobile/src/api/getSubmitBody.ts +28 -7
  599. package/mobile/src/api/sendFile.ts +97 -0
  600. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +192 -0
  601. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +22 -16
  602. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +16 -2
  603. package/mobile/src/components/ApplicationForm/constants.ts +33 -0
  604. package/mobile/src/components/ApplicationForm/handlers.ts +5 -3
  605. package/mobile/src/components/ApplicationLeadForm/applicationFormData.tsx +0 -1
  606. package/mobile/src/components/ApplicationLeadForm/consents.ts +1 -5
  607. package/mobile/src/components/ApplicationLeadForm/getInitialFormState.tsx +0 -1
  608. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +0 -2
  609. package/mobile/src/hooks/useDragAndDrop.ts +48 -0
  610. package/mobile/src/model/FormTypeFieldDef.ts +2 -1
  611. package/mobile/src/model/InputTypes.ts +1 -1
  612. package/mobile/src/retail/inputs.tsx +0 -1
  613. package/mobile/src/retail/model/LeadFormState.ts +1 -1
  614. package/mobile/src/retail/model/NameFieldDef.ts +0 -1
  615. package/mobile/src/ui-kit/FormField/CustomFieldProps.ts +1 -0
  616. package/mobile/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  617. package/mobile/src/ui-kit/FormField/Fields/AverageGradeField.tsx +14 -0
  618. package/mobile/src/ui-kit/FormField/Fields/BirthdayField.tsx +12 -7
  619. package/mobile/src/ui-kit/FormField/Fields/CommentField.tsx +1 -1
  620. package/mobile/src/ui-kit/FormField/Fields/FileIdField.tsx +7 -0
  621. package/mobile/src/ui-kit/FormField/Fields/FileUpload.tsx +22 -0
  622. package/mobile/src/ui-kit/FormField/Fields/InternshipEndDateField.tsx +38 -0
  623. package/mobile/src/ui-kit/FormField/Fields/InternshipStartDateField.tsx +38 -0
  624. package/mobile/src/ui-kit/FormField/Fields/SelectField.tsx +12 -0
  625. package/mobile/src/ui-kit/FormField/Fields/TextField.tsx +7 -0
  626. package/mobile/src/ui-kit/FormField/InputsMap.tsx +133 -0
  627. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +17 -1
  628. package/mobile/src/ui-kit/FormField/constants.tsx +29 -0
  629. package/mobile/src/ui-kit/FormField/getField.tsx +1 -105
  630. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +16 -1
  631. package/mobile/src/ui-kit/FormField/validators.ts +4 -0
  632. package/mobile/src/ui-kit/Input/Input.tsx +1 -2
  633. package/mobile/src/ui-kit/Input/InputFile.tsx +132 -0
  634. package/mobile/src/ui-kit/Input/InputFileControl.tsx +22 -0
  635. package/mobile/src/ui-kit/Input/InputProps.ts +10 -1
  636. package/mobile/src/ui-kit/Input/checks/checkFIleExtension.ts +9 -0
  637. package/mobile/src/ui-kit/Input/checks/checkFileMimeType.ts +20 -0
  638. package/mobile/src/ui-kit/Input/checks/checkFileSignature.ts +30 -0
  639. package/mobile/src/ui-kit/Input/checks/checkFileSize.ts +10 -0
  640. package/mobile/src/ui-kit/Input/checks/getFileSignature.ts +16 -0
  641. package/mobile/src/ui-kit/Input/constants.ts +6 -0
  642. package/mobile/src/ui-kit/Input/renderFileInput.tsx +87 -0
  643. package/mobile/src/ui-kit/Input/renderInfoText.tsx +15 -0
  644. package/mobile/src/ui-kit/Input/styles.ts +2 -0
  645. package/mobile/src/ui-kit/Input/useVerifyFile.ts +100 -0
  646. package/mobile/src/ui-kit/PreventableEvent.ts +5 -0
  647. package/mobile/src/ui-kit/ProgressBar/ProgressBar.tsx +7 -2
  648. package/mobile/src/utils/animateStepWithMinDuration.ts +38 -0
  649. package/mobile/src/utils/isDateValid.ts +33 -0
  650. package/package.json +2 -2
  651. package/src/api/LeadServiceAPI.ts +29 -9
  652. package/src/api/getSubmitBody.ts +28 -7
  653. package/src/api/sendFile.ts +97 -0
  654. package/src/components/ApplicationForm/ApplicationForm.example.json +192 -0
  655. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +132 -0
  656. package/src/components/ApplicationForm/ApplicationForm.tsx +22 -16
  657. package/src/components/ApplicationForm/ApplicationFormContent.ts +16 -2
  658. package/src/components/ApplicationForm/constants.ts +33 -0
  659. package/src/components/ApplicationForm/handlers.ts +5 -3
  660. package/src/components/ApplicationLeadForm/applicationFormData.tsx +0 -1
  661. package/src/components/ApplicationLeadForm/consents.ts +1 -5
  662. package/src/components/ApplicationLeadForm/getInitialFormState.tsx +0 -1
  663. package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +0 -2
  664. package/src/hooks/useDragAndDrop.ts +48 -0
  665. package/src/model/FormTypeFieldDef.ts +2 -1
  666. package/src/model/InputTypes.ts +1 -1
  667. package/src/retail/inputs.tsx +0 -1
  668. package/src/retail/model/LeadFormState.ts +1 -1
  669. package/src/retail/model/NameFieldDef.ts +0 -1
  670. package/src/ui-kit/FormField/CustomFieldProps.ts +1 -0
  671. package/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  672. package/src/ui-kit/FormField/Fields/AverageGradeField.tsx +14 -0
  673. package/src/ui-kit/FormField/Fields/BirthdayField.tsx +12 -7
  674. package/src/ui-kit/FormField/Fields/CommentField.tsx +1 -1
  675. package/src/ui-kit/FormField/Fields/FileIdField.tsx +7 -0
  676. package/src/ui-kit/FormField/Fields/FileUpload.tsx +22 -0
  677. package/src/ui-kit/FormField/Fields/InternshipEndDateField.tsx +38 -0
  678. package/src/ui-kit/FormField/Fields/InternshipStartDateField.tsx +38 -0
  679. package/src/ui-kit/FormField/Fields/SelectField.tsx +12 -0
  680. package/src/ui-kit/FormField/Fields/TextField.tsx +7 -0
  681. package/src/ui-kit/FormField/InputsMap.tsx +133 -0
  682. package/src/ui-kit/FormField/NameFieldDef.ts +17 -1
  683. package/src/ui-kit/FormField/constants.tsx +29 -0
  684. package/src/ui-kit/FormField/getField.tsx +1 -105
  685. package/src/ui-kit/FormField/getObjectValidator.tsx +16 -1
  686. package/src/ui-kit/FormField/validators.ts +4 -0
  687. package/src/ui-kit/Input/Input.tsx +1 -2
  688. package/src/ui-kit/Input/InputFile.tsx +132 -0
  689. package/src/ui-kit/Input/InputFileControl.tsx +22 -0
  690. package/src/ui-kit/Input/InputProps.ts +10 -1
  691. package/src/ui-kit/Input/checks/checkFIleExtension.ts +9 -0
  692. package/src/ui-kit/Input/checks/checkFileMimeType.ts +20 -0
  693. package/src/ui-kit/Input/checks/checkFileSignature.ts +30 -0
  694. package/src/ui-kit/Input/checks/checkFileSize.ts +10 -0
  695. package/src/ui-kit/Input/checks/getFileSignature.ts +16 -0
  696. package/src/ui-kit/Input/constants.ts +6 -0
  697. package/src/ui-kit/Input/renderFileInput.tsx +87 -0
  698. package/src/ui-kit/Input/renderInfoText.tsx +15 -0
  699. package/src/ui-kit/Input/styles.ts +2 -0
  700. package/src/ui-kit/Input/useVerifyFile.ts +100 -0
  701. package/src/ui-kit/PreventableEvent.ts +5 -0
  702. package/src/ui-kit/ProgressBar/ProgressBar.tsx +7 -2
  703. package/src/utils/animateStepWithMinDuration.ts +38 -0
  704. package/src/utils/isDateValid.ts +33 -0
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { SUCCESS_STATUS } from '../../api/sendFile.js';
3
+ import { noop } from '../../utils/noop.js';
4
+ import { style } from '../../utils/style.js';
5
+ import { Icon } from '../Icon/Icon.js';
6
+ import { renderLabel } from './renderLabel.js';
7
+ const ICON_PROPS = {
8
+ name: 'DocIcon',
9
+ iconVersion: 'black',
10
+ width: '24',
11
+ height: '24',
12
+ };
13
+ export const renderFileInput = ({ label, inputRef, id, key, type, name, pattern, disabled, onChange = noop, onFocus, onBlur, extensions, uploadResponse, file, }) => {
14
+ const ariaLabel = label ?? name ?? id;
15
+ return (_jsx("div", { children: uploadResponse?.status === SUCCESS_STATUS ? (renderFileName(file)) : (_jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(Icon, { className: "inline-block", ...ICON_PROPS }), renderLabel(label), _jsx("input", { ref: inputRef, className: style('h-14 hidden'), id: id, type: type, name: name || id, pattern: pattern, disabled: disabled, "aria-label": ariaLabel, onChange: (e) => {
16
+ e?.target?.files && onChange(e?.target?.files[0]);
17
+ }, onFocus: onFocus, onBlur: onBlur, accept: extensionsToAccept(extensions) }, key)] })) }));
18
+ };
19
+ const extensionsToAccept = (extensions = []) => {
20
+ return extensions
21
+ .map((ext) => {
22
+ const str = String(ext).trim();
23
+ return str.startsWith('.') ? str : '.' + str;
24
+ })
25
+ .map((ext) => ext.toLowerCase())
26
+ .filter((ext, index, arr) => arr.indexOf(ext) === index)
27
+ .join(', ');
28
+ };
29
+ const renderFileName = (file) => _jsx("span", { children: file?.name });
30
+ //# sourceMappingURL=renderFileInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFileInput.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/renderFileInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAGvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,GAAgF;IAC9F,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACb,CAAC;AAUF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,EAAE,EACF,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,OAAO,EACP,MAAM,EACN,UAAU,EACV,cAAc,EACd,IAAI,GACW,EAAE,EAAE;IACnB,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC;IAEtC,OAAO,CACL,wBACG,cAAc,EAAE,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,CAC3C,cAAc,CAAC,IAAI,CAAC,CACrB,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,6BAA6B,aAC1C,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,KAAK,UAAU,GAAI,EAChD,WAAW,CAAC,KAAK,CAAC,EACnB,gBACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,EAC/B,EAAE,EAAE,EAAE,EAEN,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,gBACN,SAAS,EACrB,QAAQ,EAAE,CAAC,CAAkC,EAAE,EAAE;wBAC/C,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAXjC,GAAG,CAYR,IACE,CACP,GACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,aAAuB,EAAE,EAAU,EAAE;IAC/D,OAAO,UAAU;SACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IAC/C,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC,yBAAO,IAAI,EAAE,IAAI,GAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const renderInfoText: (extensions?: string[], maxSize?: number) => any;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { Text } from '../Text/Text.js';
3
+ import { ACCEPTED_EXTENSIONS_TEXT, MAX_SIZE_TEXT } from './constants.js';
4
+ export const renderInfoText = (extensions, maxSize) => {
5
+ const extensionsMessage = extensions
6
+ ? `${ACCEPTED_EXTENSIONS_TEXT} - ${extensions.join(', ')}. `
7
+ : '';
8
+ const maxSizeMessage = maxSize ? `${MAX_SIZE_TEXT} - ${maxSize}Мб.` : '';
9
+ return (_jsx(Text, { size: "text-xs", font: "font-light", color: "text-secondary-text", children: extensionsMessage + maxSizeMessage }));
10
+ };
11
+ //# sourceMappingURL=renderInfoText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderInfoText.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/renderInfoText.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAqB,EAAE,OAAgB,EAAE,EAAE;IACxE,MAAM,iBAAiB,GAAG,UAAU;QAClC,CAAC,CAAC,GAAG,wBAAwB,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC5D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,MAAM,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,YAC/D,iBAAiB,GAAG,cAAc,GAC9B,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const defaultStyle = "w-full border rounded-md text-primary-text outline-none p-m";
2
+ export declare const borderStyle = "border-dashed";
@@ -0,0 +1,3 @@
1
+ export const defaultStyle = 'w-full border rounded-md text-primary-text outline-none p-m';
2
+ export const borderStyle = 'border-dashed';
3
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,6DAA6D,CAAC;AAC1F,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type ResponseData } from '../../api/sendFile';
2
+ import { type FileInputProps } from './InputProps';
3
+ interface VerifyFileProps extends FileInputProps {
4
+ onUploadError?: (value: string) => void;
5
+ onFileSelected?: (value: File) => void;
6
+ onUploadResponse?: (value: ResponseData) => void;
7
+ }
8
+ export declare type VerifyFileParams = {
9
+ file: File;
10
+ onFileChanged?: (value: string) => void;
11
+ };
12
+ export declare const useVerifyFile: ({ onUploadError, onFileSelected, extensions, maxSizeMB, onUploadResponse, }: VerifyFileProps) => {
13
+ verifyFile: ({ file, onFileChanged }: VerifyFileParams) => Promise<void>;
14
+ isFileUploading: boolean;
15
+ progress: number;
16
+ };
17
+ export {};
@@ -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';
@@ -42,15 +43,24 @@ type PhoneOnly = {
42
43
  phone?: string;
43
44
  };
44
45
 
46
+ export type sendProps = {
47
+ body: LeadRequest;
48
+ router: Router;
49
+ endpoint?: EndpointType;
50
+ };
51
+
45
52
  type SubmitBody = PhoneOnly | LeadRequest | CheckCodeProps | VerifiedLeadRequest;
46
53
 
47
54
  export function LeadServiceAPI() {
48
- async function send(body: LeadRequest, router: Router, isIndividualType = false) {
49
- const { serviceDirection } = body;
55
+ async function send({ body, router, endpoint }: sendProps) {
56
+ const calculatedEndpoint = endpoint && getEndpoint(endpoint, body);
57
+ const url = `${API_BASE_URI}/${calculatedEndpoint}`;
50
58
 
51
- const isNaturalPerson = isIndividualType && serviceDirection !== 'Юридическое лицо / ИП';
52
- const url = `${API_BASE_URI}${isNaturalPerson ? '/lead' : '/sendcorporatelead'}`;
53
- const submitBody = getSubmitBody(body, isNaturalPerson, router);
59
+ const submitBody = getSubmitBody({
60
+ body,
61
+ endpoint,
62
+ router,
63
+ });
54
64
 
55
65
  try {
56
66
  const response = await LeadServiceFetch(url, submitBody);
@@ -88,8 +98,8 @@ export function LeadServiceAPI() {
88
98
  async function checkCode({ reqId, code, body }: CheckCodeProps): Promise<CheckCodeResponse> {
89
99
  const submitBody = {
90
100
  requestId: reqId,
91
- confimationCode: code,
92
- leadRequest: getSubmitBody(body, false),
101
+ confimationCode: code, // не исправлять опечатку!
102
+ leadRequest: getSubmitBody({ body }),
93
103
  };
94
104
  try {
95
105
  const response = await LeadServiceFetch(`${API_BASE_URI}/confirmCorporateLead`, submitBody);
@@ -100,9 +110,9 @@ export function LeadServiceAPI() {
100
110
  }
101
111
  }
102
112
 
103
- async function sendPhoneCallRequest(body: LeadRequest, isNaturalPerson = false) {
113
+ async function sendPhoneCallRequest(body: LeadRequest, endpoint?: EndpointType) {
104
114
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
- const submitBody = getSubmitBody(body, isNaturalPerson);
115
+ const submitBody = getSubmitBody({ body, endpoint });
106
116
 
107
117
  const formatSubmitBody = getFormatCallbackSubmitBody(submitBody);
108
118
 
@@ -145,3 +155,13 @@ const getFormatCallbackSubmitBody = (submitBody: Partial<LeadRequest>): SubmitBo
145
155
  clientTimezone: getUserTimezoneOffset(),
146
156
  };
147
157
  };
158
+
159
+ const getEndpoint = (endpoint: EndpointType, body: LeadRequest) => {
160
+ const { serviceDirection } = body;
161
+
162
+ if (endpoint === 'lead' && serviceDirection !== 'Юридическое лицо / ИП') {
163
+ return 'lead';
164
+ }
165
+
166
+ return endpoint;
167
+ };
@@ -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
+ });