@redneckz/wildless-cms-uni-blocks 0.14.584 → 0.14.586

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 (379) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +114 -20
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +2 -2
  5. package/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -2
  6. package/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +9 -0
  7. package/bundle/hooks/useBranchesByRegions.d.ts +1 -1
  8. package/bundle/ui-kit/FormField/Fields/ArmyIdFlgField.d.ts +2 -0
  9. package/bundle/ui-kit/FormField/Fields/ChildrenField.d.ts +2 -0
  10. package/bundle/ui-kit/FormField/Fields/ConscriptionField.d.ts +2 -0
  11. package/bundle/ui-kit/FormField/Fields/DependentsField.d.ts +2 -0
  12. package/bundle/ui-kit/FormField/Fields/ExpensesField.d.ts +2 -0
  13. package/bundle/ui-kit/FormField/Fields/FamilyMembersField.d.ts +2 -0
  14. package/bundle/ui-kit/FormField/Fields/FamilyStatusField.d.ts +2 -0
  15. package/bundle/ui-kit/FormField/Fields/SnilsField.d.ts +2 -0
  16. package/bundle/ui-kit/FormField/Fields/TotalIncomeField.d.ts +2 -0
  17. package/bundle/ui-kit/FormField/validators.d.ts +2 -0
  18. package/bundle/ui-kit/Input/InputSnilsControl.d.ts +2 -0
  19. package/bundle/ui-kit/SnilsInput/SnilsInput.d.ts +2 -0
  20. package/bundle/ui-kit/SnilsInput/normalizeSnils.d.ts +1 -0
  21. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +2 -2
  22. package/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -2
  23. package/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +9 -0
  24. package/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  25. package/dist/hooks/useBranchesByRegions.d.ts +1 -1
  26. package/dist/hooks/useBranchesByRegions.js +3 -2
  27. package/dist/hooks/useBranchesByRegions.js.map +1 -1
  28. package/dist/ui-kit/FormField/Fields/AddressBranchField.js +1 -1
  29. package/dist/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  30. package/dist/ui-kit/FormField/Fields/AmountWorkersField.js +1 -1
  31. package/dist/ui-kit/FormField/Fields/AmountWorkersField.js.map +1 -1
  32. package/dist/ui-kit/FormField/Fields/ArmyIdFlgField.d.ts +2 -0
  33. package/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js +9 -0
  34. package/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -0
  35. package/dist/ui-kit/FormField/Fields/ChildrenField.d.ts +2 -0
  36. package/dist/ui-kit/FormField/Fields/ChildrenField.js +9 -0
  37. package/dist/ui-kit/FormField/Fields/ChildrenField.js.map +1 -0
  38. package/dist/ui-kit/FormField/Fields/ConscriptionField.d.ts +2 -0
  39. package/dist/ui-kit/FormField/Fields/ConscriptionField.js +11 -0
  40. package/dist/ui-kit/FormField/Fields/ConscriptionField.js.map +1 -0
  41. package/dist/ui-kit/FormField/Fields/DependentsField.d.ts +2 -0
  42. package/dist/ui-kit/FormField/Fields/DependentsField.js +9 -0
  43. package/dist/ui-kit/FormField/Fields/DependentsField.js.map +1 -0
  44. package/dist/ui-kit/FormField/Fields/EducationField.js +1 -1
  45. package/dist/ui-kit/FormField/Fields/EducationField.js.map +1 -1
  46. package/dist/ui-kit/FormField/Fields/EmployerActivitiesField.js +1 -1
  47. package/dist/ui-kit/FormField/Fields/EmployerActivitiesField.js.map +1 -1
  48. package/dist/ui-kit/FormField/Fields/EmployerOrganizationField.js +1 -1
  49. package/dist/ui-kit/FormField/Fields/EmployerOrganizationField.js.map +1 -1
  50. package/dist/ui-kit/FormField/Fields/EmploymentField.js +1 -1
  51. package/dist/ui-kit/FormField/Fields/EmploymentField.js.map +1 -1
  52. package/dist/ui-kit/FormField/Fields/ExpensesField.d.ts +2 -0
  53. package/dist/ui-kit/FormField/Fields/ExpensesField.js +9 -0
  54. package/dist/ui-kit/FormField/Fields/ExpensesField.js.map +1 -0
  55. package/dist/ui-kit/FormField/Fields/FamilyMembersField.d.ts +2 -0
  56. package/dist/ui-kit/FormField/Fields/FamilyMembersField.js +9 -0
  57. package/dist/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -0
  58. package/dist/ui-kit/FormField/Fields/FamilyStatusField.d.ts +2 -0
  59. package/dist/ui-kit/FormField/Fields/FamilyStatusField.js +11 -0
  60. package/dist/ui-kit/FormField/Fields/FamilyStatusField.js.map +1 -0
  61. package/dist/ui-kit/FormField/Fields/HousingField.js +1 -1
  62. package/dist/ui-kit/FormField/Fields/HousingField.js.map +1 -1
  63. package/dist/ui-kit/FormField/Fields/OrganizationField.js +1 -1
  64. package/dist/ui-kit/FormField/Fields/OrganizationField.js.map +1 -1
  65. package/dist/ui-kit/FormField/Fields/PositionOrganizationField.js +1 -1
  66. package/dist/ui-kit/FormField/Fields/PositionOrganizationField.js.map +1 -1
  67. package/dist/ui-kit/FormField/Fields/RegionPremiumField.js +1 -1
  68. package/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  69. package/dist/ui-kit/FormField/Fields/SnilsField.d.ts +2 -0
  70. package/dist/ui-kit/FormField/Fields/SnilsField.js +9 -0
  71. package/dist/ui-kit/FormField/Fields/SnilsField.js.map +1 -0
  72. package/dist/ui-kit/FormField/Fields/TotalIncomeField.d.ts +2 -0
  73. package/dist/ui-kit/FormField/Fields/TotalIncomeField.js +9 -0
  74. package/dist/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -0
  75. package/dist/ui-kit/FormField/getField.js +18 -0
  76. package/dist/ui-kit/FormField/getField.js.map +1 -1
  77. package/dist/ui-kit/FormField/getObjectValidator.js +9 -0
  78. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  79. package/dist/ui-kit/FormField/validators.d.ts +2 -0
  80. package/dist/ui-kit/FormField/validators.js +21 -1
  81. package/dist/ui-kit/FormField/validators.js.map +1 -1
  82. package/dist/ui-kit/Input/InputSnilsControl.d.ts +2 -0
  83. package/dist/ui-kit/Input/InputSnilsControl.js +9 -0
  84. package/dist/ui-kit/Input/InputSnilsControl.js.map +1 -0
  85. package/dist/ui-kit/SnilsInput/SnilsInput.d.ts +2 -0
  86. package/dist/ui-kit/SnilsInput/SnilsInput.js +17 -0
  87. package/dist/ui-kit/SnilsInput/SnilsInput.js.map +1 -0
  88. package/dist/ui-kit/SnilsInput/normalizeSnils.d.ts +1 -0
  89. package/dist/ui-kit/SnilsInput/normalizeSnils.js +23 -0
  90. package/dist/ui-kit/SnilsInput/normalizeSnils.js.map +1 -0
  91. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +2 -2
  92. package/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -2
  93. package/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +9 -0
  94. package/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  95. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  96. package/lib/hooks/useBranchesByRegions.d.ts +1 -1
  97. package/lib/hooks/useBranchesByRegions.js +3 -2
  98. package/lib/hooks/useBranchesByRegions.js.map +1 -1
  99. package/lib/ui-kit/FormField/Fields/AddressBranchField.js +1 -1
  100. package/lib/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  101. package/lib/ui-kit/FormField/Fields/AmountWorkersField.js +1 -1
  102. package/lib/ui-kit/FormField/Fields/AmountWorkersField.js.map +1 -1
  103. package/lib/ui-kit/FormField/Fields/ArmyIdFlgField.d.ts +2 -0
  104. package/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js +7 -0
  105. package/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -0
  106. package/lib/ui-kit/FormField/Fields/ChildrenField.d.ts +2 -0
  107. package/lib/ui-kit/FormField/Fields/ChildrenField.js +7 -0
  108. package/lib/ui-kit/FormField/Fields/ChildrenField.js.map +1 -0
  109. package/lib/ui-kit/FormField/Fields/ConscriptionField.d.ts +2 -0
  110. package/lib/ui-kit/FormField/Fields/ConscriptionField.js +9 -0
  111. package/lib/ui-kit/FormField/Fields/ConscriptionField.js.map +1 -0
  112. package/lib/ui-kit/FormField/Fields/DependentsField.d.ts +2 -0
  113. package/lib/ui-kit/FormField/Fields/DependentsField.js +7 -0
  114. package/lib/ui-kit/FormField/Fields/DependentsField.js.map +1 -0
  115. package/lib/ui-kit/FormField/Fields/EducationField.js +1 -1
  116. package/lib/ui-kit/FormField/Fields/EducationField.js.map +1 -1
  117. package/lib/ui-kit/FormField/Fields/EmployerActivitiesField.js +1 -1
  118. package/lib/ui-kit/FormField/Fields/EmployerActivitiesField.js.map +1 -1
  119. package/lib/ui-kit/FormField/Fields/EmployerOrganizationField.js +1 -1
  120. package/lib/ui-kit/FormField/Fields/EmployerOrganizationField.js.map +1 -1
  121. package/lib/ui-kit/FormField/Fields/EmploymentField.js +1 -1
  122. package/lib/ui-kit/FormField/Fields/EmploymentField.js.map +1 -1
  123. package/lib/ui-kit/FormField/Fields/ExpensesField.d.ts +2 -0
  124. package/lib/ui-kit/FormField/Fields/ExpensesField.js +7 -0
  125. package/lib/ui-kit/FormField/Fields/ExpensesField.js.map +1 -0
  126. package/lib/ui-kit/FormField/Fields/FamilyMembersField.d.ts +2 -0
  127. package/lib/ui-kit/FormField/Fields/FamilyMembersField.js +7 -0
  128. package/lib/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -0
  129. package/lib/ui-kit/FormField/Fields/FamilyStatusField.d.ts +2 -0
  130. package/lib/ui-kit/FormField/Fields/FamilyStatusField.js +9 -0
  131. package/lib/ui-kit/FormField/Fields/FamilyStatusField.js.map +1 -0
  132. package/lib/ui-kit/FormField/Fields/HousingField.js +1 -1
  133. package/lib/ui-kit/FormField/Fields/HousingField.js.map +1 -1
  134. package/lib/ui-kit/FormField/Fields/OrganizationField.js +1 -1
  135. package/lib/ui-kit/FormField/Fields/OrganizationField.js.map +1 -1
  136. package/lib/ui-kit/FormField/Fields/PositionOrganizationField.js +1 -1
  137. package/lib/ui-kit/FormField/Fields/PositionOrganizationField.js.map +1 -1
  138. package/lib/ui-kit/FormField/Fields/RegionPremiumField.js +1 -1
  139. package/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  140. package/lib/ui-kit/FormField/Fields/SnilsField.d.ts +2 -0
  141. package/lib/ui-kit/FormField/Fields/SnilsField.js +7 -0
  142. package/lib/ui-kit/FormField/Fields/SnilsField.js.map +1 -0
  143. package/lib/ui-kit/FormField/Fields/TotalIncomeField.d.ts +2 -0
  144. package/lib/ui-kit/FormField/Fields/TotalIncomeField.js +7 -0
  145. package/lib/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -0
  146. package/lib/ui-kit/FormField/getField.js +18 -0
  147. package/lib/ui-kit/FormField/getField.js.map +1 -1
  148. package/lib/ui-kit/FormField/getObjectValidator.js +10 -1
  149. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  150. package/lib/ui-kit/FormField/validators.d.ts +2 -0
  151. package/lib/ui-kit/FormField/validators.js +19 -0
  152. package/lib/ui-kit/FormField/validators.js.map +1 -1
  153. package/lib/ui-kit/Input/InputSnilsControl.d.ts +2 -0
  154. package/lib/ui-kit/Input/InputSnilsControl.js +7 -0
  155. package/lib/ui-kit/Input/InputSnilsControl.js.map +1 -0
  156. package/lib/ui-kit/SnilsInput/SnilsInput.d.ts +2 -0
  157. package/lib/ui-kit/SnilsInput/SnilsInput.js +15 -0
  158. package/lib/ui-kit/SnilsInput/SnilsInput.js.map +1 -0
  159. package/lib/ui-kit/SnilsInput/normalizeSnils.d.ts +1 -0
  160. package/lib/ui-kit/SnilsInput/normalizeSnils.js +20 -0
  161. package/lib/ui-kit/SnilsInput/normalizeSnils.js.map +1 -0
  162. package/mobile/bundle/bundle.umd.js +114 -20
  163. package/mobile/bundle/bundle.umd.min.js +1 -1
  164. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +2 -2
  165. package/mobile/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -2
  166. package/mobile/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +9 -0
  167. package/mobile/bundle/hooks/useBranchesByRegions.d.ts +1 -1
  168. package/mobile/bundle/ui-kit/FormField/Fields/ArmyIdFlgField.d.ts +2 -0
  169. package/mobile/bundle/ui-kit/FormField/Fields/ChildrenField.d.ts +2 -0
  170. package/mobile/bundle/ui-kit/FormField/Fields/ConscriptionField.d.ts +2 -0
  171. package/mobile/bundle/ui-kit/FormField/Fields/DependentsField.d.ts +2 -0
  172. package/mobile/bundle/ui-kit/FormField/Fields/ExpensesField.d.ts +2 -0
  173. package/mobile/bundle/ui-kit/FormField/Fields/FamilyMembersField.d.ts +2 -0
  174. package/mobile/bundle/ui-kit/FormField/Fields/FamilyStatusField.d.ts +2 -0
  175. package/mobile/bundle/ui-kit/FormField/Fields/SnilsField.d.ts +2 -0
  176. package/mobile/bundle/ui-kit/FormField/Fields/TotalIncomeField.d.ts +2 -0
  177. package/mobile/bundle/ui-kit/FormField/validators.d.ts +2 -0
  178. package/mobile/bundle/ui-kit/Input/InputSnilsControl.d.ts +2 -0
  179. package/mobile/bundle/ui-kit/SnilsInput/SnilsInput.d.ts +2 -0
  180. package/mobile/bundle/ui-kit/SnilsInput/normalizeSnils.d.ts +1 -0
  181. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +2 -2
  182. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -2
  183. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +9 -0
  184. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  185. package/mobile/dist/hooks/useBranchesByRegions.d.ts +1 -1
  186. package/mobile/dist/hooks/useBranchesByRegions.js +3 -2
  187. package/mobile/dist/hooks/useBranchesByRegions.js.map +1 -1
  188. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.js +1 -1
  189. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  190. package/mobile/dist/ui-kit/FormField/Fields/AmountWorkersField.js +1 -1
  191. package/mobile/dist/ui-kit/FormField/Fields/AmountWorkersField.js.map +1 -1
  192. package/mobile/dist/ui-kit/FormField/Fields/ArmyIdFlgField.d.ts +2 -0
  193. package/mobile/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js +9 -0
  194. package/mobile/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -0
  195. package/mobile/dist/ui-kit/FormField/Fields/ChildrenField.d.ts +2 -0
  196. package/mobile/dist/ui-kit/FormField/Fields/ChildrenField.js +9 -0
  197. package/mobile/dist/ui-kit/FormField/Fields/ChildrenField.js.map +1 -0
  198. package/mobile/dist/ui-kit/FormField/Fields/ConscriptionField.d.ts +2 -0
  199. package/mobile/dist/ui-kit/FormField/Fields/ConscriptionField.js +11 -0
  200. package/mobile/dist/ui-kit/FormField/Fields/ConscriptionField.js.map +1 -0
  201. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.d.ts +2 -0
  202. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.js +9 -0
  203. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.js.map +1 -0
  204. package/mobile/dist/ui-kit/FormField/Fields/EducationField.js +1 -1
  205. package/mobile/dist/ui-kit/FormField/Fields/EducationField.js.map +1 -1
  206. package/mobile/dist/ui-kit/FormField/Fields/EmployerActivitiesField.js +1 -1
  207. package/mobile/dist/ui-kit/FormField/Fields/EmployerActivitiesField.js.map +1 -1
  208. package/mobile/dist/ui-kit/FormField/Fields/EmployerOrganizationField.js +1 -1
  209. package/mobile/dist/ui-kit/FormField/Fields/EmployerOrganizationField.js.map +1 -1
  210. package/mobile/dist/ui-kit/FormField/Fields/EmploymentField.js +1 -1
  211. package/mobile/dist/ui-kit/FormField/Fields/EmploymentField.js.map +1 -1
  212. package/mobile/dist/ui-kit/FormField/Fields/ExpensesField.d.ts +2 -0
  213. package/mobile/dist/ui-kit/FormField/Fields/ExpensesField.js +9 -0
  214. package/mobile/dist/ui-kit/FormField/Fields/ExpensesField.js.map +1 -0
  215. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.d.ts +2 -0
  216. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.js +9 -0
  217. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -0
  218. package/mobile/dist/ui-kit/FormField/Fields/FamilyStatusField.d.ts +2 -0
  219. package/mobile/dist/ui-kit/FormField/Fields/FamilyStatusField.js +11 -0
  220. package/mobile/dist/ui-kit/FormField/Fields/FamilyStatusField.js.map +1 -0
  221. package/mobile/dist/ui-kit/FormField/Fields/HousingField.js +1 -1
  222. package/mobile/dist/ui-kit/FormField/Fields/HousingField.js.map +1 -1
  223. package/mobile/dist/ui-kit/FormField/Fields/OrganizationField.js +1 -1
  224. package/mobile/dist/ui-kit/FormField/Fields/OrganizationField.js.map +1 -1
  225. package/mobile/dist/ui-kit/FormField/Fields/PositionOrganizationField.js +1 -1
  226. package/mobile/dist/ui-kit/FormField/Fields/PositionOrganizationField.js.map +1 -1
  227. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js +1 -1
  228. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  229. package/mobile/dist/ui-kit/FormField/Fields/SnilsField.d.ts +2 -0
  230. package/mobile/dist/ui-kit/FormField/Fields/SnilsField.js +9 -0
  231. package/mobile/dist/ui-kit/FormField/Fields/SnilsField.js.map +1 -0
  232. package/mobile/dist/ui-kit/FormField/Fields/TotalIncomeField.d.ts +2 -0
  233. package/mobile/dist/ui-kit/FormField/Fields/TotalIncomeField.js +9 -0
  234. package/mobile/dist/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -0
  235. package/mobile/dist/ui-kit/FormField/getField.js +18 -0
  236. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  237. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +9 -0
  238. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  239. package/mobile/dist/ui-kit/FormField/validators.d.ts +2 -0
  240. package/mobile/dist/ui-kit/FormField/validators.js +21 -1
  241. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  242. package/mobile/dist/ui-kit/Input/InputSnilsControl.d.ts +2 -0
  243. package/mobile/dist/ui-kit/Input/InputSnilsControl.js +9 -0
  244. package/mobile/dist/ui-kit/Input/InputSnilsControl.js.map +1 -0
  245. package/mobile/dist/ui-kit/SnilsInput/SnilsInput.d.ts +2 -0
  246. package/mobile/dist/ui-kit/SnilsInput/SnilsInput.js +17 -0
  247. package/mobile/dist/ui-kit/SnilsInput/SnilsInput.js.map +1 -0
  248. package/mobile/dist/ui-kit/SnilsInput/normalizeSnils.d.ts +1 -0
  249. package/mobile/dist/ui-kit/SnilsInput/normalizeSnils.js +23 -0
  250. package/mobile/dist/ui-kit/SnilsInput/normalizeSnils.js.map +1 -0
  251. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +2 -2
  252. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +2 -2
  253. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +9 -0
  254. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  255. package/mobile/lib/hooks/useBranchesByRegions.d.ts +1 -1
  256. package/mobile/lib/hooks/useBranchesByRegions.js +3 -2
  257. package/mobile/lib/hooks/useBranchesByRegions.js.map +1 -1
  258. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.js +1 -1
  259. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  260. package/mobile/lib/ui-kit/FormField/Fields/AmountWorkersField.js +1 -1
  261. package/mobile/lib/ui-kit/FormField/Fields/AmountWorkersField.js.map +1 -1
  262. package/mobile/lib/ui-kit/FormField/Fields/ArmyIdFlgField.d.ts +2 -0
  263. package/mobile/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js +7 -0
  264. package/mobile/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -0
  265. package/mobile/lib/ui-kit/FormField/Fields/ChildrenField.d.ts +2 -0
  266. package/mobile/lib/ui-kit/FormField/Fields/ChildrenField.js +7 -0
  267. package/mobile/lib/ui-kit/FormField/Fields/ChildrenField.js.map +1 -0
  268. package/mobile/lib/ui-kit/FormField/Fields/ConscriptionField.d.ts +2 -0
  269. package/mobile/lib/ui-kit/FormField/Fields/ConscriptionField.js +9 -0
  270. package/mobile/lib/ui-kit/FormField/Fields/ConscriptionField.js.map +1 -0
  271. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.d.ts +2 -0
  272. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.js +7 -0
  273. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.js.map +1 -0
  274. package/mobile/lib/ui-kit/FormField/Fields/EducationField.js +1 -1
  275. package/mobile/lib/ui-kit/FormField/Fields/EducationField.js.map +1 -1
  276. package/mobile/lib/ui-kit/FormField/Fields/EmployerActivitiesField.js +1 -1
  277. package/mobile/lib/ui-kit/FormField/Fields/EmployerActivitiesField.js.map +1 -1
  278. package/mobile/lib/ui-kit/FormField/Fields/EmployerOrganizationField.js +1 -1
  279. package/mobile/lib/ui-kit/FormField/Fields/EmployerOrganizationField.js.map +1 -1
  280. package/mobile/lib/ui-kit/FormField/Fields/EmploymentField.js +1 -1
  281. package/mobile/lib/ui-kit/FormField/Fields/EmploymentField.js.map +1 -1
  282. package/mobile/lib/ui-kit/FormField/Fields/ExpensesField.d.ts +2 -0
  283. package/mobile/lib/ui-kit/FormField/Fields/ExpensesField.js +7 -0
  284. package/mobile/lib/ui-kit/FormField/Fields/ExpensesField.js.map +1 -0
  285. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.d.ts +2 -0
  286. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.js +7 -0
  287. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -0
  288. package/mobile/lib/ui-kit/FormField/Fields/FamilyStatusField.d.ts +2 -0
  289. package/mobile/lib/ui-kit/FormField/Fields/FamilyStatusField.js +9 -0
  290. package/mobile/lib/ui-kit/FormField/Fields/FamilyStatusField.js.map +1 -0
  291. package/mobile/lib/ui-kit/FormField/Fields/HousingField.js +1 -1
  292. package/mobile/lib/ui-kit/FormField/Fields/HousingField.js.map +1 -1
  293. package/mobile/lib/ui-kit/FormField/Fields/OrganizationField.js +1 -1
  294. package/mobile/lib/ui-kit/FormField/Fields/OrganizationField.js.map +1 -1
  295. package/mobile/lib/ui-kit/FormField/Fields/PositionOrganizationField.js +1 -1
  296. package/mobile/lib/ui-kit/FormField/Fields/PositionOrganizationField.js.map +1 -1
  297. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js +1 -1
  298. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  299. package/mobile/lib/ui-kit/FormField/Fields/SnilsField.d.ts +2 -0
  300. package/mobile/lib/ui-kit/FormField/Fields/SnilsField.js +7 -0
  301. package/mobile/lib/ui-kit/FormField/Fields/SnilsField.js.map +1 -0
  302. package/mobile/lib/ui-kit/FormField/Fields/TotalIncomeField.d.ts +2 -0
  303. package/mobile/lib/ui-kit/FormField/Fields/TotalIncomeField.js +7 -0
  304. package/mobile/lib/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -0
  305. package/mobile/lib/ui-kit/FormField/getField.js +18 -0
  306. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  307. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +10 -1
  308. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  309. package/mobile/lib/ui-kit/FormField/validators.d.ts +2 -0
  310. package/mobile/lib/ui-kit/FormField/validators.js +19 -0
  311. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  312. package/mobile/lib/ui-kit/Input/InputSnilsControl.d.ts +2 -0
  313. package/mobile/lib/ui-kit/Input/InputSnilsControl.js +7 -0
  314. package/mobile/lib/ui-kit/Input/InputSnilsControl.js.map +1 -0
  315. package/mobile/lib/ui-kit/SnilsInput/SnilsInput.d.ts +2 -0
  316. package/mobile/lib/ui-kit/SnilsInput/SnilsInput.js +15 -0
  317. package/mobile/lib/ui-kit/SnilsInput/SnilsInput.js.map +1 -0
  318. package/mobile/lib/ui-kit/SnilsInput/normalizeSnils.d.ts +1 -0
  319. package/mobile/lib/ui-kit/SnilsInput/normalizeSnils.js +20 -0
  320. package/mobile/lib/ui-kit/SnilsInput/normalizeSnils.js.map +1 -0
  321. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +11 -2
  322. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +11 -2
  323. package/mobile/src/components/ApplicationLeadForm/getInitialFormState.tsx +9 -0
  324. package/mobile/src/hooks/useBranchesByRegions.ts +6 -2
  325. package/mobile/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  326. package/mobile/src/ui-kit/FormField/Fields/AmountWorkersField.tsx +1 -1
  327. package/mobile/src/ui-kit/FormField/Fields/ArmyIdFlgField.tsx +12 -0
  328. package/mobile/src/ui-kit/FormField/Fields/ChildrenField.tsx +15 -0
  329. package/mobile/src/ui-kit/FormField/Fields/ConscriptionField.tsx +18 -0
  330. package/mobile/src/ui-kit/FormField/Fields/DependentsField.tsx +15 -0
  331. package/mobile/src/ui-kit/FormField/Fields/EducationField.tsx +1 -1
  332. package/mobile/src/ui-kit/FormField/Fields/EmployerActivitiesField.tsx +1 -1
  333. package/mobile/src/ui-kit/FormField/Fields/EmployerOrganizationField.tsx +1 -1
  334. package/mobile/src/ui-kit/FormField/Fields/EmploymentField.tsx +1 -1
  335. package/mobile/src/ui-kit/FormField/Fields/ExpensesField.tsx +15 -0
  336. package/mobile/src/ui-kit/FormField/Fields/FamilyMembersField.tsx +15 -0
  337. package/mobile/src/ui-kit/FormField/Fields/FamilyStatusField.tsx +18 -0
  338. package/mobile/src/ui-kit/FormField/Fields/HousingField.tsx +1 -1
  339. package/mobile/src/ui-kit/FormField/Fields/OrganizationField.tsx +1 -1
  340. package/mobile/src/ui-kit/FormField/Fields/PositionOrganizationField.tsx +1 -1
  341. package/mobile/src/ui-kit/FormField/Fields/RegionPremiumField.tsx +1 -1
  342. package/mobile/src/ui-kit/FormField/Fields/SnilsField.tsx +13 -0
  343. package/mobile/src/ui-kit/FormField/Fields/TotalIncomeField.tsx +15 -0
  344. package/mobile/src/ui-kit/FormField/getField.tsx +19 -0
  345. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +11 -0
  346. package/mobile/src/ui-kit/FormField/validators.ts +25 -0
  347. package/mobile/src/ui-kit/Input/InputSnilsControl.tsx +22 -0
  348. package/mobile/src/ui-kit/SnilsInput/SnilsInput.tsx +28 -0
  349. package/mobile/src/ui-kit/SnilsInput/normalizeSnils.ts +29 -0
  350. package/package.json +2 -2
  351. package/src/components/ApplicationForm/ApplicationFormContent.ts +11 -2
  352. package/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +11 -2
  353. package/src/components/ApplicationLeadForm/getInitialFormState.tsx +9 -0
  354. package/src/hooks/useBranchesByRegions.ts +6 -2
  355. package/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -1
  356. package/src/ui-kit/FormField/Fields/AmountWorkersField.tsx +1 -1
  357. package/src/ui-kit/FormField/Fields/ArmyIdFlgField.tsx +12 -0
  358. package/src/ui-kit/FormField/Fields/ChildrenField.tsx +15 -0
  359. package/src/ui-kit/FormField/Fields/ConscriptionField.tsx +18 -0
  360. package/src/ui-kit/FormField/Fields/DependentsField.tsx +15 -0
  361. package/src/ui-kit/FormField/Fields/EducationField.tsx +1 -1
  362. package/src/ui-kit/FormField/Fields/EmployerActivitiesField.tsx +1 -1
  363. package/src/ui-kit/FormField/Fields/EmployerOrganizationField.tsx +1 -1
  364. package/src/ui-kit/FormField/Fields/EmploymentField.tsx +1 -1
  365. package/src/ui-kit/FormField/Fields/ExpensesField.tsx +15 -0
  366. package/src/ui-kit/FormField/Fields/FamilyMembersField.tsx +15 -0
  367. package/src/ui-kit/FormField/Fields/FamilyStatusField.tsx +18 -0
  368. package/src/ui-kit/FormField/Fields/HousingField.tsx +1 -1
  369. package/src/ui-kit/FormField/Fields/OrganizationField.tsx +1 -1
  370. package/src/ui-kit/FormField/Fields/PositionOrganizationField.tsx +1 -1
  371. package/src/ui-kit/FormField/Fields/RegionPremiumField.tsx +1 -1
  372. package/src/ui-kit/FormField/Fields/SnilsField.tsx +13 -0
  373. package/src/ui-kit/FormField/Fields/TotalIncomeField.tsx +15 -0
  374. package/src/ui-kit/FormField/getField.tsx +19 -0
  375. package/src/ui-kit/FormField/getObjectValidator.tsx +11 -0
  376. package/src/ui-kit/FormField/validators.ts +25 -0
  377. package/src/ui-kit/Input/InputSnilsControl.tsx +22 -0
  378. package/src/ui-kit/SnilsInput/SnilsInput.tsx +28 -0
  379. package/src/ui-kit/SnilsInput/normalizeSnils.ts +29 -0
@@ -9,7 +9,7 @@ export const EducationField = JSX<CustomFieldProps>(({ field, input }) => {
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={education || []}
12
+ source={education}
13
13
  label="Образование"
14
14
  fieldName="education"
15
15
  input={input}
@@ -9,7 +9,7 @@ export const EmployerActivitiesField = JSX<CustomFieldProps>(({ field, input })
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={employerActivities || []}
12
+ source={employerActivities}
13
13
  label="Вид деятельности организации-работодателя"
14
14
  fieldName="employerActivities"
15
15
  input={input}
@@ -9,7 +9,7 @@ export const EmployerOrganizationField = JSX<CustomFieldProps>(({ field, input }
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={employerOrganization || []}
12
+ source={employerOrganization}
13
13
  label="Вид организации работодателя"
14
14
  fieldName="employerOrganization"
15
15
  input={input}
@@ -9,7 +9,7 @@ export const EmploymentField = JSX<CustomFieldProps>(({ field, input }) => {
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={employment || []}
12
+ source={employment}
13
13
  label="Информация о трудоустройстве"
14
14
  fieldName="employment"
15
15
  input={input}
@@ -0,0 +1,15 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { InputControl } from '../../Input/InputControl';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+ import { validatorObj } from '../getObjectValidator';
5
+ import { getValidation } from '../getValidation';
6
+
7
+ export const ExpensesField = JSX<CustomFieldProps>(({ field, input }) => (
8
+ <InputControl
9
+ label="Обязательные расходы в месяц"
10
+ placeholder="Введите значение"
11
+ type="number"
12
+ {...getValidation(field('expenses'), validatorObj.expenses, input?.required)}
13
+ {...input}
14
+ />
15
+ ));
@@ -0,0 +1,15 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { InputControl } from '../../Input/InputControl';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+ import { validatorObj } from '../getObjectValidator';
5
+ import { getValidation } from '../getValidation';
6
+
7
+ export const FamilyMembersField = JSX<CustomFieldProps>(({ field, input }) => (
8
+ <InputControl
9
+ label="Количество членов семьи"
10
+ placeholder="Введите значение"
11
+ type="number"
12
+ {...getValidation(field('familyMembers'), validatorObj.familyMembers, input?.required)}
13
+ {...input}
14
+ />
15
+ ));
@@ -0,0 +1,18 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useLeadFormData } from '../../../hooks/useLeadFormData';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+ import { SelectField } from '../SelectField';
5
+
6
+ export const FamilyStatusField = JSX<CustomFieldProps>(({ field, input }) => {
7
+ const { data: familyStatus } = useLeadFormData('MARITAL_STATUS');
8
+
9
+ return (
10
+ <SelectField
11
+ field={field}
12
+ source={familyStatus}
13
+ label="Семейное положение"
14
+ fieldName="familyStatus"
15
+ input={input}
16
+ />
17
+ );
18
+ });
@@ -9,7 +9,7 @@ export const HousingField = JSX<CustomFieldProps>(({ field, input }) => {
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={housing || []}
12
+ source={housing}
13
13
  label="Тип жилья"
14
14
  fieldName="housing"
15
15
  input={input}
@@ -9,7 +9,7 @@ export const OrganizationField = JSX<CustomFieldProps>(({ field, input }) => {
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={organization || []}
12
+ source={organization}
13
13
  label="Тип организации"
14
14
  fieldName="organization"
15
15
  input={input}
@@ -9,7 +9,7 @@ export const PositionOrganizationField = JSX<CustomFieldProps>(({ field, input }
9
9
  return (
10
10
  <SelectField
11
11
  field={field}
12
- source={positionOrganization || []}
12
+ source={positionOrganization}
13
13
  label="Должность в организации"
14
14
  fieldName="positionOrganization"
15
15
  input={input}
@@ -8,7 +8,7 @@ import { validatorObj } from '../getObjectValidator';
8
8
  import { getValidation } from '../getValidation';
9
9
 
10
10
  export const RegionPremiumField = JSX<CustomFieldProps>(({ field, input }) => {
11
- const branchByRegions = useBranchesByRegions();
11
+ const branchByRegions = useBranchesByRegions(true);
12
12
  const regions = useMemo(
13
13
  () =>
14
14
  branchByRegions?.map(({ region }) => ({
@@ -0,0 +1,13 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { InputSnilsControl } from '../../Input/InputSnilsControl';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+ import { validatorObj } from '../getObjectValidator';
5
+ import { getValidation } from '../getValidation';
6
+
7
+ export const SnilsField = JSX<CustomFieldProps>(({ field, input }) => (
8
+ <InputSnilsControl
9
+ label="СНИЛС"
10
+ {...getValidation(field('snils'), validatorObj.snils, input?.required)}
11
+ {...input}
12
+ />
13
+ ));
@@ -0,0 +1,15 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { InputControl } from '../../Input/InputControl';
3
+ import { type CustomFieldProps } from '../CustomFieldProps';
4
+ import { validatorObj } from '../getObjectValidator';
5
+ import { getValidation } from '../getValidation';
6
+
7
+ export const TotalIncomeField = JSX<CustomFieldProps>(({ field, input }) => (
8
+ <InputControl
9
+ label="Совокупный официальный доход в месяц после вычета налогов (зарплата, премии)"
10
+ placeholder="Введите значение"
11
+ type="number"
12
+ {...getValidation(field('totalIncome'), validatorObj.totalIncome, input?.required)}
13
+ {...input}
14
+ />
15
+ ));
@@ -1,3 +1,4 @@
1
+ /* eslint-disable max-lines */
1
2
  import { type FieldDef } from '../../components/ApplicationForm/ApplicationFormContent';
2
3
  import { getRegionUrl } from '../../components/ApplicationForm/getRegionUrl';
3
4
  import { type FormFieldRegisterer } from '../../hooks/useForm';
@@ -8,24 +9,31 @@ import { AddressBranchField } from './Fields/AddressBranchField';
8
9
  import { AmountField } from './Fields/AmountField';
9
10
  import { AmountWorkersField } from './Fields/AmountWorkersField';
10
11
  import { AnnualRevenueField } from './Fields/AnnualRevenueField';
12
+ import { ArmyIdFlgField } from './Fields/ArmyIdFlgField';
11
13
  import { BankEmpoleeField } from './Fields/BankEmpoleeField';
12
14
  import { BeginDateField } from './Fields/BeginDateField';
13
15
  import { BirthdayField } from './Fields/BirthdayField';
16
+ import { ChildrenField } from './Fields/ChildrenField';
14
17
  import { CollectionCountField } from './Fields/CollectionCountField';
15
18
  import { CommentField } from './Fields/CommentField';
19
+ import { ConscriptionField } from './Fields/ConscriptionField';
16
20
  import { ConsentAssignmentField } from './Fields/ConsentAssignmentField';
17
21
  import { ConsentCollectionField } from './Fields/ConsentCollectionField';
18
22
  import { ConsentInformField } from './Fields/ConsentInformField';
19
23
  import { ConsentPhotoFlg } from './Fields/ConsentPhotoField';
20
24
  import { ConsentProviderField } from './Fields/ConsentProviderField';
21
25
  import { ConsentToReceiveMaterialsField } from './Fields/ConsentToReceiveMaterialsField';
26
+ import { DependentsField } from './Fields/DependentsField';
22
27
  import { DesiredMeetingDateField } from './Fields/DesiredMeetingDateField';
23
28
  import { EducationField } from './Fields/EducationField';
24
29
  import { EmailField } from './Fields/EmailField';
25
30
  import { EmployerActivitiesField } from './Fields/EmployerActivitiesField';
26
31
  import { EmployerOrganizationField } from './Fields/EmployerOrganizationField';
27
32
  import { EmploymentField } from './Fields/EmploymentField';
33
+ import { ExpensesField } from './Fields/ExpensesField';
28
34
  import { Experience5YearsField } from './Fields/Experience5YearsField';
35
+ import { FamilyMembersField } from './Fields/FamilyMembersField';
36
+ import { FamilyStatusField } from './Fields/FamilyStatusField';
29
37
  import { FeedbackMethodField } from './Fields/FeedbackMethodField';
30
38
  import { FullAddressField } from './Fields/FullAddressField';
31
39
  import { FullNameField } from './Fields/FullNameField';
@@ -52,8 +60,10 @@ import { RegionField } from './Fields/RegionField';
52
60
  import { RegionPremiumField } from './Fields/RegionPremiumField';
53
61
  import { SecondaryPhoneField } from './Fields/SecondaryPhoneField';
54
62
  import { ServiceDirectionField } from './Fields/ServiceDirectionField';
63
+ import { SnilsField } from './Fields/SnilsField';
55
64
  import { SurnameField } from './Fields/SurnameField';
56
65
  import { TermField } from './Fields/TermField';
66
+ import { TotalIncomeField } from './Fields/TotalIncomeField';
57
67
  import { UltraPremiumField } from './Fields/UltraPremiumField';
58
68
  import { VedField } from './Fields/VedField';
59
69
  import { isRenderField } from './isRenderField';
@@ -130,6 +140,15 @@ export const getField =
130
140
  employerActivities: <EmployerActivitiesField field={field} input={input} />,
131
141
  employerOrganization: <EmployerOrganizationField field={field} input={input} />,
132
142
  positionOrganization: <PositionOrganizationField field={field} input={input} />,
143
+ familyStatus: <FamilyStatusField field={field} input={input} />,
144
+ children: <ChildrenField field={field} input={input} />,
145
+ familyMembers: <FamilyMembersField field={field} input={input} />,
146
+ dependents: <DependentsField field={field} input={input} />,
147
+ totalIncome: <TotalIncomeField field={field} input={input} />,
148
+ expenses: <ExpensesField field={field} input={input} />,
149
+ snils: <SnilsField field={field} input={input} />,
150
+ conscription: <ConscriptionField field={field} input={input} />,
151
+ armyIdFlg: <ArmyIdFlgField field={field} input={input} />,
133
152
  };
134
153
 
135
154
  return isRenderField({ input, field }) ? (
@@ -6,8 +6,10 @@ import {
6
6
  defaultSelectValidator,
7
7
  defaultValidator,
8
8
  innValidator,
9
+ lengthStringValidator,
9
10
  nameValidator,
10
11
  phoneValidator,
12
+ snilsValidator,
11
13
  } from './validators';
12
14
 
13
15
  export const validatorObj: Record<string, Validator> = {
@@ -58,6 +60,15 @@ export const validatorObj: Record<string, Validator> = {
58
60
  consentAssignmentClaimsFlg: agreementValidator,
59
61
  consentCollectionFlg: agreementValidator,
60
62
  consentInformFlg: agreementValidator,
63
+ familyStatus: defaultValidator,
64
+ children: lengthStringValidator(2),
65
+ familyMembers: lengthStringValidator(2),
66
+ dependents: lengthStringValidator(2),
67
+ totalIncome: lengthStringValidator(19),
68
+ expenses: lengthStringValidator(10),
69
+ snils: snilsValidator,
70
+ conscription: defaultValidator,
71
+ armyIdFlg: agreementValidator,
61
72
  };
62
73
 
63
74
  export const getObjectValidator = (inputs: FieldDef[]): Record<string, Validator> => {
@@ -10,6 +10,9 @@ export const defaultSelectValidator = validator((_) => _?.key && _?.key !== '')(
10
10
 
11
11
  export const nameValidator = validator((_) => typeof _ === 'string' && _.length > 1)(ERROR_MESSAGE);
12
12
 
13
+ export const lengthStringValidator = (maxLength: number) =>
14
+ validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= maxLength)(ERROR_MESSAGE);
15
+
13
16
  export const innValidator = validator(
14
17
  (_) => typeof _ === 'string' && (_.length === 10 || _.length === 12),
15
18
  )(ERROR_MESSAGE);
@@ -21,3 +24,25 @@ export const phoneValidator = pattern(
21
24
  export const agreementValidator = validator((_) => typeof _ === 'boolean' && _)(
22
25
  'Согласие обязательно',
23
26
  );
27
+
28
+ const snilsValidate = (snils: string) => {
29
+ const snl = String(snils).replace(/[^0-9]+/g, '');
30
+ if (snl.length === 11) {
31
+ let checksum = 0;
32
+ for (let i = 0; i < 9; i++) {
33
+ checksum += parseInt(snl.charAt(i)) * (9 - i);
34
+ }
35
+ if (checksum > 101) {
36
+ checksum = checksum % 101;
37
+ }
38
+ if (checksum === 100 || checksum === 101) {
39
+ checksum = 0;
40
+ }
41
+
42
+ return checksum === parseInt(snl.substr(9));
43
+ }
44
+
45
+ return false;
46
+ };
47
+
48
+ export const snilsValidator = validator(snilsValidate)(ERROR_MESSAGE);
@@ -0,0 +1,22 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { style } from '../../utils/style';
3
+ import { SnilsInput } from '../SnilsInput/SnilsInput';
4
+ import { type InputProps } from './InputProps';
5
+ import { renderErrorText } from './renderErrorText';
6
+
7
+ export const InputSnilsControl = JSX<InputProps>(
8
+ ({ className, label, value, error, onChange, onBlur, ...rest }) => (
9
+ <div className={style('shrink-0 w-full', className)}>
10
+ <SnilsInput
11
+ aria-label={label}
12
+ label={rest?.errors ? `${label}*` : label}
13
+ valid={Boolean(!error)}
14
+ value={value}
15
+ onChange={onChange}
16
+ onBlur={onBlur}
17
+ placeholder="___-___-___ __"
18
+ />
19
+ {renderErrorText(error)}
20
+ </div>
21
+ ),
22
+ );
@@ -0,0 +1,28 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { Input } from '../Input/Input';
4
+ import { type InputProps } from '../Input/InputProps';
5
+ import { normalizeSnils } from './normalizeSnils';
6
+
7
+ export const SnilsInput = JSX<InputProps>(({ children, onChange, ...inputProps }) => {
8
+ const handleChange = useCallback(
9
+ (v: string) => onChange && onChange(normalizeSnils(v)),
10
+ [onChange],
11
+ );
12
+ const handleBlur = useCallback((v: string) => {
13
+ if (v === '___-___-___ __') {
14
+ onChange && onChange('');
15
+ }
16
+ }, []);
17
+
18
+ return (
19
+ <Input
20
+ {...inputProps}
21
+ onChange={handleChange}
22
+ onFocus={(ev) => handleChange((ev?.target as HTMLInputElement)?.value || '')}
23
+ onBlur={(ev) => handleBlur((ev?.target as HTMLInputElement)?.value || '')}
24
+ >
25
+ {children}
26
+ </Input>
27
+ );
28
+ });
@@ -0,0 +1,29 @@
1
+ const isPlaceholder = (_: string) => _ === '_';
2
+ const isDigit = (_: string) => /\d/.test(_);
3
+ const isWildcard = (_: string) => isPlaceholder(_) || isDigit(_);
4
+
5
+ const snilsPattern = [...'___-___-___ __'];
6
+
7
+ const firstPlaceholderIndex = snilsPattern.findIndex(isPlaceholder);
8
+ const snilsWildcardIndicies = snilsPattern.map((_, i) =>
9
+ isWildcard(_) ? snilsPattern.slice(0, i).filter(isWildcard).length : -1,
10
+ );
11
+
12
+ export function normalizeSnils(snils: string): string {
13
+ const snilsNumbers = snils.replace(/\D/g, '');
14
+ const applyPlaceholder = (_: string, i: number) =>
15
+ isDigit(_) ? _ : snilsNumbers.charAt(snilsWildcardIndicies[i]) || _;
16
+
17
+ const result = snilsPattern.map(applyPlaceholder);
18
+ const resultLength = snilsWildcardIndicies.indexOf(snilsNumbers.length - 1) + 1;
19
+
20
+ const isCursorStart = snilsNumbers.length === 0;
21
+
22
+ if (!isCursorStart) {
23
+ return (
24
+ resultLength ? result.slice(0, Math.max(firstPlaceholderIndex, resultLength)) : result
25
+ ).join('');
26
+ } else {
27
+ return '';
28
+ }
29
+ }