@redneckz/wildless-cms-uni-blocks 0.14.547 → 0.14.549

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 (391) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +150 -106
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +3 -3
  5. package/bundle/components/ApplicationForm/CustomFieldProps.d.ts +1 -0
  6. package/bundle/components/ApplicationForm/LocalitiesField.d.ts +2 -0
  7. package/bundle/components/ApplicationForm/PartnerCommentsField.d.ts +1 -1
  8. package/bundle/components/ApplicationForm/ProductField.d.ts +2 -0
  9. package/bundle/components/ApplicationForm/SecondaryPhoneField.d.ts +2 -0
  10. package/bundle/components/ApplicationForm/{contants.d.ts → constants.d.ts} +2 -0
  11. package/bundle/components/ApplicationForm/getField.d.ts +0 -4
  12. package/bundle/components/ApplicationForm/getRegionUrl.d.ts +1 -0
  13. package/bundle/components/ApplicationForm/isRenderField.d.ts +6 -0
  14. package/bundle/components/CalculatorDeposit/CalculatorDepositContent.d.ts +11 -2
  15. package/bundle/components/CalculatorDeposit/getDepositCalculatorParams.d.ts +2 -1
  16. package/bundle/components/CalculatorDeposit/isRubles.d.ts +1 -0
  17. package/bundle/components/CalculatorDeposit/utils.d.ts +17 -0
  18. package/bundle/hooks/useForm.d.ts +2 -1
  19. package/bundle/hooks/useRegions.d.ts +2 -1
  20. package/bundle/ui-kit/Calculator/getDefaultParams.d.ts +1 -2
  21. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +3 -3
  22. package/dist/components/ApplicationForm/CustomFieldProps.d.ts +1 -0
  23. package/dist/components/ApplicationForm/FeedbackMethodField.js +2 -2
  24. package/dist/components/ApplicationForm/FeedbackMethodField.js.map +1 -1
  25. package/dist/components/ApplicationForm/FeedbackTypeField.js +3 -3
  26. package/dist/components/ApplicationForm/FeedbackTypeField.js.map +1 -1
  27. package/dist/components/ApplicationForm/LocalitiesField.d.ts +2 -0
  28. package/dist/components/ApplicationForm/LocalitiesField.js +24 -0
  29. package/dist/components/ApplicationForm/LocalitiesField.js.map +1 -0
  30. package/dist/components/ApplicationForm/PartnerCommentsField.d.ts +1 -1
  31. package/dist/components/ApplicationForm/PartnerCommentsField.js +6 -8
  32. package/dist/components/ApplicationForm/PartnerCommentsField.js.map +1 -1
  33. package/dist/components/ApplicationForm/ProductField.d.ts +2 -0
  34. package/dist/components/ApplicationForm/ProductField.js +10 -0
  35. package/dist/components/ApplicationForm/ProductField.js.map +1 -0
  36. package/dist/components/ApplicationForm/RegionField.js +2 -2
  37. package/dist/components/ApplicationForm/RegionField.js.map +1 -1
  38. package/dist/components/ApplicationForm/SecondaryPhoneField.d.ts +2 -0
  39. package/dist/components/ApplicationForm/SecondaryPhoneField.js +14 -0
  40. package/dist/components/ApplicationForm/SecondaryPhoneField.js.map +1 -0
  41. package/dist/components/ApplicationForm/ServiceDirectionField.js +2 -2
  42. package/dist/components/ApplicationForm/ServiceDirectionField.js.map +1 -1
  43. package/dist/components/ApplicationForm/UltraPremiumField.js +2 -2
  44. package/dist/components/ApplicationForm/UltraPremiumField.js.map +1 -1
  45. package/{lib/components/ApplicationForm/contants.d.ts → dist/components/ApplicationForm/constants.d.ts} +2 -0
  46. package/dist/components/ApplicationForm/constants.js +34 -0
  47. package/dist/components/ApplicationForm/constants.js.map +1 -0
  48. package/dist/components/ApplicationForm/getField.d.ts +0 -4
  49. package/dist/components/ApplicationForm/getField.js +13 -11
  50. package/dist/components/ApplicationForm/getField.js.map +1 -1
  51. package/dist/components/ApplicationForm/getInitialFormState.js +6 -6
  52. package/dist/components/ApplicationForm/getInitialFormState.js.map +1 -1
  53. package/dist/components/ApplicationForm/getObjectValidator.js +3 -0
  54. package/dist/components/ApplicationForm/getObjectValidator.js.map +1 -1
  55. package/dist/components/ApplicationForm/getRegionUrl.d.ts +1 -0
  56. package/dist/components/ApplicationForm/getRegionUrl.js +6 -0
  57. package/dist/components/ApplicationForm/getRegionUrl.js.map +1 -0
  58. package/dist/components/ApplicationForm/isRenderField.d.ts +6 -0
  59. package/dist/components/ApplicationForm/isRenderField.js +9 -0
  60. package/dist/components/ApplicationForm/isRenderField.js.map +1 -0
  61. package/dist/components/CalculatorDeposit/CalculatorDeposit.js +25 -47
  62. package/dist/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  63. package/dist/components/CalculatorDeposit/CalculatorDepositContent.d.ts +11 -2
  64. package/dist/components/CalculatorDeposit/getDepositCalculatorParams.d.ts +2 -1
  65. package/dist/components/CalculatorDeposit/getDepositCalculatorParams.js +15 -11
  66. package/dist/components/CalculatorDeposit/getDepositCalculatorParams.js.map +1 -1
  67. package/dist/components/CalculatorDeposit/isRubles.d.ts +1 -0
  68. package/dist/components/CalculatorDeposit/isRubles.js +5 -0
  69. package/dist/components/CalculatorDeposit/isRubles.js.map +1 -0
  70. package/dist/components/CalculatorDeposit/renderDepositParamsForm.js +4 -3
  71. package/dist/components/CalculatorDeposit/renderDepositParamsForm.js.map +1 -1
  72. package/dist/components/CalculatorDeposit/utils.d.ts +17 -0
  73. package/dist/components/CalculatorDeposit/utils.js +32 -0
  74. package/dist/components/CalculatorDeposit/utils.js.map +1 -0
  75. package/dist/hooks/useForm.d.ts +2 -1
  76. package/dist/hooks/useForm.js +22 -12
  77. package/dist/hooks/useForm.js.map +1 -1
  78. package/dist/hooks/useRegions.d.ts +2 -1
  79. package/dist/hooks/useRegions.js +2 -2
  80. package/dist/hooks/useRegions.js.map +1 -1
  81. package/dist/ui-kit/BenefitsList/DefaultBenefitsList.js +1 -7
  82. package/dist/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -1
  83. package/dist/ui-kit/Calculator/CalculatorStyle.js +1 -1
  84. package/dist/ui-kit/Calculator/getDefaultParams.d.ts +1 -2
  85. package/dist/ui-kit/Calculator/getDefaultParams.js +1 -1
  86. package/dist/ui-kit/Calculator/getDefaultParams.js.map +1 -1
  87. package/lib/common.css +1 -1
  88. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
  89. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +3 -3
  90. package/lib/components/ApplicationForm/CustomFieldProps.d.ts +1 -0
  91. package/lib/components/ApplicationForm/FeedbackMethodField.js +1 -1
  92. package/lib/components/ApplicationForm/FeedbackMethodField.js.map +1 -1
  93. package/lib/components/ApplicationForm/FeedbackTypeField.js +1 -1
  94. package/lib/components/ApplicationForm/FeedbackTypeField.js.map +1 -1
  95. package/lib/components/ApplicationForm/LocalitiesField.d.ts +2 -0
  96. package/lib/components/ApplicationForm/LocalitiesField.js +22 -0
  97. package/lib/components/ApplicationForm/LocalitiesField.js.map +1 -0
  98. package/lib/components/ApplicationForm/PartnerCommentsField.d.ts +1 -1
  99. package/lib/components/ApplicationForm/PartnerCommentsField.js +5 -7
  100. package/lib/components/ApplicationForm/PartnerCommentsField.js.map +1 -1
  101. package/lib/components/ApplicationForm/ProductField.d.ts +2 -0
  102. package/lib/components/ApplicationForm/ProductField.js +8 -0
  103. package/lib/components/ApplicationForm/ProductField.js.map +1 -0
  104. package/lib/components/ApplicationForm/RegionField.js +2 -2
  105. package/lib/components/ApplicationForm/RegionField.js.map +1 -1
  106. package/lib/components/ApplicationForm/SecondaryPhoneField.d.ts +2 -0
  107. package/lib/components/ApplicationForm/SecondaryPhoneField.js +12 -0
  108. package/lib/components/ApplicationForm/SecondaryPhoneField.js.map +1 -0
  109. package/lib/components/ApplicationForm/ServiceDirectionField.js +1 -1
  110. package/lib/components/ApplicationForm/ServiceDirectionField.js.map +1 -1
  111. package/lib/components/ApplicationForm/UltraPremiumField.js +1 -1
  112. package/lib/components/ApplicationForm/UltraPremiumField.js.map +1 -1
  113. package/{dist/components/ApplicationForm/contants.d.ts → lib/components/ApplicationForm/constants.d.ts} +2 -0
  114. package/lib/components/ApplicationForm/{contants.js → constants.js} +10 -1
  115. package/lib/components/ApplicationForm/constants.js.map +1 -0
  116. package/lib/components/ApplicationForm/getField.d.ts +0 -4
  117. package/lib/components/ApplicationForm/getField.js +11 -8
  118. package/lib/components/ApplicationForm/getField.js.map +1 -1
  119. package/lib/components/ApplicationForm/getInitialFormState.js +1 -1
  120. package/lib/components/ApplicationForm/getInitialFormState.js.map +1 -1
  121. package/lib/components/ApplicationForm/getObjectValidator.js +3 -0
  122. package/lib/components/ApplicationForm/getObjectValidator.js.map +1 -1
  123. package/lib/components/ApplicationForm/getRegionUrl.d.ts +1 -0
  124. package/lib/components/ApplicationForm/getRegionUrl.js +3 -0
  125. package/lib/components/ApplicationForm/getRegionUrl.js.map +1 -0
  126. package/lib/components/ApplicationForm/isRenderField.d.ts +6 -0
  127. package/lib/components/ApplicationForm/isRenderField.js +6 -0
  128. package/lib/components/ApplicationForm/isRenderField.js.map +1 -0
  129. package/lib/components/CalculatorDeposit/CalculatorDeposit.js +25 -47
  130. package/lib/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  131. package/lib/components/CalculatorDeposit/CalculatorDepositContent.d.ts +11 -2
  132. package/lib/components/CalculatorDeposit/getDepositCalculatorParams.d.ts +2 -1
  133. package/lib/components/CalculatorDeposit/getDepositCalculatorParams.js +15 -11
  134. package/lib/components/CalculatorDeposit/getDepositCalculatorParams.js.map +1 -1
  135. package/lib/components/CalculatorDeposit/isRubles.d.ts +1 -0
  136. package/lib/components/CalculatorDeposit/isRubles.js +2 -0
  137. package/lib/components/CalculatorDeposit/isRubles.js.map +1 -0
  138. package/lib/components/CalculatorDeposit/renderDepositParamsForm.js +4 -3
  139. package/lib/components/CalculatorDeposit/renderDepositParamsForm.js.map +1 -1
  140. package/lib/components/CalculatorDeposit/utils.d.ts +17 -0
  141. package/lib/components/CalculatorDeposit/utils.js +25 -0
  142. package/lib/components/CalculatorDeposit/utils.js.map +1 -0
  143. package/lib/hooks/useForm.d.ts +2 -1
  144. package/lib/hooks/useForm.js +23 -13
  145. package/lib/hooks/useForm.js.map +1 -1
  146. package/lib/hooks/useRegions.d.ts +2 -1
  147. package/lib/hooks/useRegions.js +2 -2
  148. package/lib/hooks/useRegions.js.map +1 -1
  149. package/lib/ui-kit/BenefitsList/DefaultBenefitsList.js +1 -7
  150. package/lib/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -1
  151. package/lib/ui-kit/Calculator/CalculatorStyle.js +1 -1
  152. package/lib/ui-kit/Calculator/getDefaultParams.d.ts +1 -2
  153. package/lib/ui-kit/Calculator/getDefaultParams.js +1 -1
  154. package/lib/ui-kit/Calculator/getDefaultParams.js.map +1 -1
  155. package/mobile/bundle/bundle.umd.js +150 -106
  156. package/mobile/bundle/bundle.umd.min.js +1 -1
  157. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +3 -3
  158. package/mobile/bundle/components/ApplicationForm/CustomFieldProps.d.ts +1 -0
  159. package/mobile/bundle/components/ApplicationForm/LocalitiesField.d.ts +2 -0
  160. package/mobile/bundle/components/ApplicationForm/PartnerCommentsField.d.ts +1 -1
  161. package/mobile/bundle/components/ApplicationForm/ProductField.d.ts +2 -0
  162. package/mobile/bundle/components/ApplicationForm/SecondaryPhoneField.d.ts +2 -0
  163. package/mobile/bundle/components/ApplicationForm/{contants.d.ts → constants.d.ts} +2 -0
  164. package/mobile/bundle/components/ApplicationForm/getField.d.ts +0 -4
  165. package/mobile/bundle/components/ApplicationForm/getRegionUrl.d.ts +1 -0
  166. package/mobile/bundle/components/ApplicationForm/isRenderField.d.ts +6 -0
  167. package/mobile/bundle/components/CalculatorDeposit/CalculatorDepositContent.d.ts +11 -2
  168. package/mobile/bundle/components/CalculatorDeposit/getDepositCalculatorParams.d.ts +2 -1
  169. package/mobile/bundle/components/CalculatorDeposit/isRubles.d.ts +1 -0
  170. package/mobile/bundle/components/CalculatorDeposit/utils.d.ts +17 -0
  171. package/mobile/bundle/hooks/useForm.d.ts +2 -1
  172. package/mobile/bundle/hooks/useRegions.d.ts +2 -1
  173. package/mobile/bundle/ui-kit/Calculator/getDefaultParams.d.ts +1 -2
  174. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +3 -3
  175. package/mobile/dist/components/ApplicationForm/CustomFieldProps.d.ts +1 -0
  176. package/mobile/dist/components/ApplicationForm/FeedbackMethodField.js +2 -2
  177. package/mobile/dist/components/ApplicationForm/FeedbackMethodField.js.map +1 -1
  178. package/mobile/dist/components/ApplicationForm/FeedbackTypeField.js +3 -3
  179. package/mobile/dist/components/ApplicationForm/FeedbackTypeField.js.map +1 -1
  180. package/mobile/dist/components/ApplicationForm/LocalitiesField.d.ts +2 -0
  181. package/mobile/dist/components/ApplicationForm/LocalitiesField.js +24 -0
  182. package/mobile/dist/components/ApplicationForm/LocalitiesField.js.map +1 -0
  183. package/mobile/dist/components/ApplicationForm/PartnerCommentsField.d.ts +1 -1
  184. package/mobile/dist/components/ApplicationForm/PartnerCommentsField.js +6 -8
  185. package/mobile/dist/components/ApplicationForm/PartnerCommentsField.js.map +1 -1
  186. package/mobile/dist/components/ApplicationForm/ProductField.d.ts +2 -0
  187. package/mobile/dist/components/ApplicationForm/ProductField.js +10 -0
  188. package/mobile/dist/components/ApplicationForm/ProductField.js.map +1 -0
  189. package/mobile/dist/components/ApplicationForm/RegionField.js +2 -2
  190. package/mobile/dist/components/ApplicationForm/RegionField.js.map +1 -1
  191. package/mobile/dist/components/ApplicationForm/SecondaryPhoneField.d.ts +2 -0
  192. package/mobile/dist/components/ApplicationForm/SecondaryPhoneField.js +14 -0
  193. package/mobile/dist/components/ApplicationForm/SecondaryPhoneField.js.map +1 -0
  194. package/mobile/dist/components/ApplicationForm/ServiceDirectionField.js +2 -2
  195. package/mobile/dist/components/ApplicationForm/ServiceDirectionField.js.map +1 -1
  196. package/mobile/dist/components/ApplicationForm/UltraPremiumField.js +2 -2
  197. package/mobile/dist/components/ApplicationForm/UltraPremiumField.js.map +1 -1
  198. package/mobile/dist/components/ApplicationForm/constants.d.ts +7 -0
  199. package/mobile/dist/components/ApplicationForm/constants.js +34 -0
  200. package/mobile/dist/components/ApplicationForm/constants.js.map +1 -0
  201. package/mobile/dist/components/ApplicationForm/getField.d.ts +0 -4
  202. package/mobile/dist/components/ApplicationForm/getField.js +13 -11
  203. package/mobile/dist/components/ApplicationForm/getField.js.map +1 -1
  204. package/mobile/dist/components/ApplicationForm/getInitialFormState.js +6 -6
  205. package/mobile/dist/components/ApplicationForm/getInitialFormState.js.map +1 -1
  206. package/mobile/dist/components/ApplicationForm/getObjectValidator.js +3 -0
  207. package/mobile/dist/components/ApplicationForm/getObjectValidator.js.map +1 -1
  208. package/mobile/dist/components/ApplicationForm/getRegionUrl.d.ts +1 -0
  209. package/mobile/dist/components/ApplicationForm/getRegionUrl.js +6 -0
  210. package/mobile/dist/components/ApplicationForm/getRegionUrl.js.map +1 -0
  211. package/mobile/dist/components/ApplicationForm/isRenderField.d.ts +6 -0
  212. package/mobile/dist/components/ApplicationForm/isRenderField.js +9 -0
  213. package/mobile/dist/components/ApplicationForm/isRenderField.js.map +1 -0
  214. package/mobile/dist/components/CalculatorDeposit/CalculatorDeposit.js +25 -47
  215. package/mobile/dist/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  216. package/mobile/dist/components/CalculatorDeposit/CalculatorDepositContent.d.ts +11 -2
  217. package/mobile/dist/components/CalculatorDeposit/getDepositCalculatorParams.d.ts +2 -1
  218. package/mobile/dist/components/CalculatorDeposit/getDepositCalculatorParams.js +15 -11
  219. package/mobile/dist/components/CalculatorDeposit/getDepositCalculatorParams.js.map +1 -1
  220. package/mobile/dist/components/CalculatorDeposit/isRubles.d.ts +1 -0
  221. package/mobile/dist/components/CalculatorDeposit/isRubles.js +5 -0
  222. package/mobile/dist/components/CalculatorDeposit/isRubles.js.map +1 -0
  223. package/mobile/dist/components/CalculatorDeposit/renderDepositParamsForm.js +4 -3
  224. package/mobile/dist/components/CalculatorDeposit/renderDepositParamsForm.js.map +1 -1
  225. package/mobile/dist/components/CalculatorDeposit/utils.d.ts +17 -0
  226. package/mobile/dist/components/CalculatorDeposit/utils.js +32 -0
  227. package/mobile/dist/components/CalculatorDeposit/utils.js.map +1 -0
  228. package/mobile/dist/hooks/useForm.d.ts +2 -1
  229. package/mobile/dist/hooks/useForm.js +22 -12
  230. package/mobile/dist/hooks/useForm.js.map +1 -1
  231. package/mobile/dist/hooks/useRegions.d.ts +2 -1
  232. package/mobile/dist/hooks/useRegions.js +2 -2
  233. package/mobile/dist/hooks/useRegions.js.map +1 -1
  234. package/mobile/dist/ui-kit/BenefitsList/DefaultBenefitsList.js +1 -7
  235. package/mobile/dist/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -1
  236. package/mobile/dist/ui-kit/Calculator/CalculatorStyle.js +1 -1
  237. package/mobile/dist/ui-kit/Calculator/getDefaultParams.d.ts +1 -2
  238. package/mobile/dist/ui-kit/Calculator/getDefaultParams.js +1 -1
  239. package/mobile/dist/ui-kit/Calculator/getDefaultParams.js.map +1 -1
  240. package/mobile/lib/common.css +1 -1
  241. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +3 -3
  242. package/mobile/lib/components/ApplicationForm/CustomFieldProps.d.ts +1 -0
  243. package/mobile/lib/components/ApplicationForm/FeedbackMethodField.js +1 -1
  244. package/mobile/lib/components/ApplicationForm/FeedbackMethodField.js.map +1 -1
  245. package/mobile/lib/components/ApplicationForm/FeedbackTypeField.js +1 -1
  246. package/mobile/lib/components/ApplicationForm/FeedbackTypeField.js.map +1 -1
  247. package/mobile/lib/components/ApplicationForm/LocalitiesField.d.ts +2 -0
  248. package/mobile/lib/components/ApplicationForm/LocalitiesField.js +22 -0
  249. package/mobile/lib/components/ApplicationForm/LocalitiesField.js.map +1 -0
  250. package/mobile/lib/components/ApplicationForm/PartnerCommentsField.d.ts +1 -1
  251. package/mobile/lib/components/ApplicationForm/PartnerCommentsField.js +5 -7
  252. package/mobile/lib/components/ApplicationForm/PartnerCommentsField.js.map +1 -1
  253. package/mobile/lib/components/ApplicationForm/ProductField.d.ts +2 -0
  254. package/mobile/lib/components/ApplicationForm/ProductField.js +8 -0
  255. package/mobile/lib/components/ApplicationForm/ProductField.js.map +1 -0
  256. package/mobile/lib/components/ApplicationForm/RegionField.js +2 -2
  257. package/mobile/lib/components/ApplicationForm/RegionField.js.map +1 -1
  258. package/mobile/lib/components/ApplicationForm/SecondaryPhoneField.d.ts +2 -0
  259. package/mobile/lib/components/ApplicationForm/SecondaryPhoneField.js +12 -0
  260. package/mobile/lib/components/ApplicationForm/SecondaryPhoneField.js.map +1 -0
  261. package/mobile/lib/components/ApplicationForm/ServiceDirectionField.js +1 -1
  262. package/mobile/lib/components/ApplicationForm/ServiceDirectionField.js.map +1 -1
  263. package/mobile/lib/components/ApplicationForm/UltraPremiumField.js +1 -1
  264. package/mobile/lib/components/ApplicationForm/UltraPremiumField.js.map +1 -1
  265. package/mobile/lib/components/ApplicationForm/constants.d.ts +7 -0
  266. package/mobile/lib/components/ApplicationForm/{contants.js → constants.js} +10 -1
  267. package/mobile/lib/components/ApplicationForm/constants.js.map +1 -0
  268. package/mobile/lib/components/ApplicationForm/getField.d.ts +0 -4
  269. package/mobile/lib/components/ApplicationForm/getField.js +11 -8
  270. package/mobile/lib/components/ApplicationForm/getField.js.map +1 -1
  271. package/mobile/lib/components/ApplicationForm/getInitialFormState.js +1 -1
  272. package/mobile/lib/components/ApplicationForm/getInitialFormState.js.map +1 -1
  273. package/mobile/lib/components/ApplicationForm/getObjectValidator.js +3 -0
  274. package/mobile/lib/components/ApplicationForm/getObjectValidator.js.map +1 -1
  275. package/mobile/lib/components/ApplicationForm/getRegionUrl.d.ts +1 -0
  276. package/mobile/lib/components/ApplicationForm/getRegionUrl.js +3 -0
  277. package/mobile/lib/components/ApplicationForm/getRegionUrl.js.map +1 -0
  278. package/mobile/lib/components/ApplicationForm/isRenderField.d.ts +6 -0
  279. package/mobile/lib/components/ApplicationForm/isRenderField.js +6 -0
  280. package/mobile/lib/components/ApplicationForm/isRenderField.js.map +1 -0
  281. package/mobile/lib/components/CalculatorDeposit/CalculatorDeposit.js +25 -47
  282. package/mobile/lib/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  283. package/mobile/lib/components/CalculatorDeposit/CalculatorDepositContent.d.ts +11 -2
  284. package/mobile/lib/components/CalculatorDeposit/getDepositCalculatorParams.d.ts +2 -1
  285. package/mobile/lib/components/CalculatorDeposit/getDepositCalculatorParams.js +15 -11
  286. package/mobile/lib/components/CalculatorDeposit/getDepositCalculatorParams.js.map +1 -1
  287. package/mobile/lib/components/CalculatorDeposit/isRubles.d.ts +1 -0
  288. package/mobile/lib/components/CalculatorDeposit/isRubles.js +2 -0
  289. package/mobile/lib/components/CalculatorDeposit/isRubles.js.map +1 -0
  290. package/mobile/lib/components/CalculatorDeposit/renderDepositParamsForm.js +4 -3
  291. package/mobile/lib/components/CalculatorDeposit/renderDepositParamsForm.js.map +1 -1
  292. package/mobile/lib/components/CalculatorDeposit/utils.d.ts +17 -0
  293. package/mobile/lib/components/CalculatorDeposit/utils.js +25 -0
  294. package/mobile/lib/components/CalculatorDeposit/utils.js.map +1 -0
  295. package/mobile/lib/hooks/useForm.d.ts +2 -1
  296. package/mobile/lib/hooks/useForm.js +23 -13
  297. package/mobile/lib/hooks/useForm.js.map +1 -1
  298. package/mobile/lib/hooks/useRegions.d.ts +2 -1
  299. package/mobile/lib/hooks/useRegions.js +2 -2
  300. package/mobile/lib/hooks/useRegions.js.map +1 -1
  301. package/mobile/lib/ui-kit/BenefitsList/DefaultBenefitsList.js +1 -7
  302. package/mobile/lib/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -1
  303. package/mobile/lib/ui-kit/Calculator/CalculatorStyle.js +1 -1
  304. package/mobile/lib/ui-kit/Calculator/getDefaultParams.d.ts +1 -2
  305. package/mobile/lib/ui-kit/Calculator/getDefaultParams.js +1 -1
  306. package/mobile/lib/ui-kit/Calculator/getDefaultParams.js.map +1 -1
  307. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +79 -0
  308. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +6 -2
  309. package/mobile/src/components/ApplicationForm/CustomFieldProps.ts +1 -0
  310. package/mobile/src/components/ApplicationForm/FeedbackMethodField.tsx +1 -1
  311. package/mobile/src/components/ApplicationForm/FeedbackTypeField.tsx +1 -1
  312. package/mobile/src/components/ApplicationForm/LocalitiesField.tsx +34 -0
  313. package/mobile/src/components/ApplicationForm/PartnerCommentsField.tsx +10 -9
  314. package/mobile/src/components/ApplicationForm/ProductField.tsx +15 -0
  315. package/mobile/src/components/ApplicationForm/RegionField.tsx +2 -2
  316. package/mobile/src/components/ApplicationForm/SecondaryPhoneField.tsx +18 -0
  317. package/mobile/src/components/ApplicationForm/ServiceDirectionField.tsx +1 -1
  318. package/mobile/src/components/ApplicationForm/UltraPremiumField.tsx +1 -1
  319. package/mobile/src/components/ApplicationForm/{contants.tsx → constants.tsx} +11 -0
  320. package/mobile/src/components/ApplicationForm/getField.tsx +16 -23
  321. package/mobile/src/components/ApplicationForm/getInitialFormState.tsx +1 -1
  322. package/mobile/src/components/ApplicationForm/getObjectValidator.tsx +3 -0
  323. package/mobile/src/components/ApplicationForm/getRegionUrl.tsx +4 -0
  324. package/mobile/src/components/ApplicationForm/isRenderField.tsx +15 -0
  325. package/mobile/src/components/CalculatorDeposit/CalculatorDeposit.tsx +47 -71
  326. package/mobile/src/components/CalculatorDeposit/CalculatorDepositContent.ts +10 -1
  327. package/mobile/src/components/CalculatorDeposit/getDepositCalculatorParams.ts +14 -9
  328. package/mobile/src/components/CalculatorDeposit/isRubles.tsx +1 -0
  329. package/mobile/src/components/CalculatorDeposit/renderDepositParamsForm.tsx +5 -2
  330. package/mobile/src/components/CalculatorDeposit/utils.tsx +37 -0
  331. package/mobile/src/hooks/useForm.ts +33 -16
  332. package/mobile/src/hooks/useRegions.ts +3 -2
  333. package/mobile/src/ui-kit/BenefitsList/DefaultBenefitsList.tsx +1 -23
  334. package/mobile/src/ui-kit/Calculator/CalculatorStyle.tsx +1 -1
  335. package/mobile/src/ui-kit/Calculator/getDefaultParams.tsx +3 -3
  336. package/package.json +1 -1
  337. package/src/components/ApplicationForm/ApplicationForm.example.json +79 -0
  338. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +34 -0
  339. package/src/components/ApplicationForm/ApplicationFormContent.ts +6 -2
  340. package/src/components/ApplicationForm/CustomFieldProps.ts +1 -0
  341. package/src/components/ApplicationForm/FeedbackMethodField.tsx +1 -1
  342. package/src/components/ApplicationForm/FeedbackTypeField.tsx +1 -1
  343. package/src/components/ApplicationForm/LocalitiesField.tsx +34 -0
  344. package/src/components/ApplicationForm/PartnerCommentsField.tsx +10 -9
  345. package/src/components/ApplicationForm/ProductField.tsx +15 -0
  346. package/src/components/ApplicationForm/RegionField.tsx +2 -2
  347. package/src/components/ApplicationForm/SecondaryPhoneField.tsx +18 -0
  348. package/src/components/ApplicationForm/ServiceDirectionField.tsx +1 -1
  349. package/src/components/ApplicationForm/UltraPremiumField.tsx +1 -1
  350. package/src/components/ApplicationForm/{contants.tsx → constants.tsx} +11 -0
  351. package/src/components/ApplicationForm/getField.tsx +16 -23
  352. package/src/components/ApplicationForm/getInitialFormState.tsx +1 -1
  353. package/src/components/ApplicationForm/getObjectValidator.tsx +3 -0
  354. package/src/components/ApplicationForm/getRegionUrl.tsx +4 -0
  355. package/src/components/ApplicationForm/isRenderField.tsx +15 -0
  356. package/src/components/CalculatorDeposit/CalculatorDeposit.fixture.tsx +2 -0
  357. package/src/components/CalculatorDeposit/CalculatorDeposit.tsx +47 -71
  358. package/src/components/CalculatorDeposit/CalculatorDepositContent.ts +10 -1
  359. package/src/components/CalculatorDeposit/getDepositCalculatorParams.ts +14 -9
  360. package/src/components/CalculatorDeposit/isRubles.tsx +1 -0
  361. package/src/components/CalculatorDeposit/renderDepositParamsForm.tsx +5 -2
  362. package/src/components/CalculatorDeposit/utils.tsx +37 -0
  363. package/src/hooks/useForm.ts +33 -16
  364. package/src/hooks/useRegions.ts +3 -2
  365. package/src/ui-kit/BenefitsList/DefaultBenefitsList.tsx +1 -23
  366. package/src/ui-kit/Calculator/CalculatorStyle.tsx +1 -1
  367. package/src/ui-kit/Calculator/getDefaultParams.tsx +3 -3
  368. package/bundle/components/CalculatorDeposit/isNotRubles.d.ts +0 -1
  369. package/dist/components/ApplicationForm/contants.js +0 -25
  370. package/dist/components/ApplicationForm/contants.js.map +0 -1
  371. package/dist/components/CalculatorDeposit/isNotRubles.d.ts +0 -1
  372. package/dist/components/CalculatorDeposit/isNotRubles.js +0 -5
  373. package/dist/components/CalculatorDeposit/isNotRubles.js.map +0 -1
  374. package/lib/components/ApplicationForm/contants.js.map +0 -1
  375. package/lib/components/CalculatorDeposit/isNotRubles.d.ts +0 -1
  376. package/lib/components/CalculatorDeposit/isNotRubles.js +0 -2
  377. package/lib/components/CalculatorDeposit/isNotRubles.js.map +0 -1
  378. package/mobile/bundle/components/CalculatorDeposit/isNotRubles.d.ts +0 -1
  379. package/mobile/dist/components/ApplicationForm/contants.d.ts +0 -5
  380. package/mobile/dist/components/ApplicationForm/contants.js +0 -25
  381. package/mobile/dist/components/ApplicationForm/contants.js.map +0 -1
  382. package/mobile/dist/components/CalculatorDeposit/isNotRubles.d.ts +0 -1
  383. package/mobile/dist/components/CalculatorDeposit/isNotRubles.js +0 -5
  384. package/mobile/dist/components/CalculatorDeposit/isNotRubles.js.map +0 -1
  385. package/mobile/lib/components/ApplicationForm/contants.d.ts +0 -5
  386. package/mobile/lib/components/ApplicationForm/contants.js.map +0 -1
  387. package/mobile/lib/components/CalculatorDeposit/isNotRubles.d.ts +0 -1
  388. package/mobile/lib/components/CalculatorDeposit/isNotRubles.js +0 -2
  389. package/mobile/lib/components/CalculatorDeposit/isNotRubles.js.map +0 -1
  390. package/mobile/src/components/CalculatorDeposit/isNotRubles.tsx +0 -1
  391. package/src/components/CalculatorDeposit/isNotRubles.tsx +0 -1
@@ -649,12 +649,6 @@
649
649
  const imageAlwaysOnRightContainerStyle = (isImage) => style(isImage ? 'row-span-2' : '@xl:row-span-2');
650
650
  const renderUnitContainer = (childrenBlocks) => childrenBlocks?.length ? (jsx("div", { className: "flex items-start justify-end", children: childrenBlocks })) : null;
651
651
 
652
- const sum = (list = []) => list.reduce((a, b) => a + b, 0);
653
-
654
- const avg = (items = []) => (items?.length ? sum(items) / items.length : 0);
655
-
656
- const deviation = (items) => items?.length ? Math.sqrt(Math.abs(avg(items.map((_) => _ ** 2)) - avg(items) ** 2)) : 0;
657
-
658
652
  const renderBenefitIcon = (icon, benefitsVersion = 'normal') => icon?.icon || icon?.src ? (jsx("div", { className: style('sm:w-12 sm:h-12 sm:min-w-12 w-11 h-11 min-w-11 box-border flex items-center justify-center rounded-icon', benefitsVersion === 'normal'
659
653
  ? 'bg-secondary-light text-primary-main'
660
654
  : 'bg-primary-main text-black group-data-secondary:bg-white/30 group-data-secondary:text-black'), children: jsx(Img, { className: "w-6 h-6", image: { ...icon, iconVersion: icon.iconVersion || benefitsVersion } }) })) : null;
@@ -686,12 +680,7 @@
686
680
 
687
681
  const BenefitItem = JSX(({ className, benefitsVersion, ..._ }) => (jsxs("div", { className: style('flex gap-m min-w-56 items-center', className), role: "listitem", children: ['icon' in _ ? renderBenefitIcon(_.icon, benefitsVersion) : null, jsx("div", { children: renderBenefitText(_) })] })));
688
682
 
689
- const MAX_BENEFITS_LEN_DEVIATION = 16;
690
- const benefitLength = (_) => Math.max(_?.label?.length || 0, _?.description?.length || 0, _?.__html?.length || 0);
691
- const isDistortedBenefits = (benefits) => deviation(benefits.map(benefitLength)) > MAX_BENEFITS_LEN_DEVIATION;
692
- const hasIcon = (_) => _ && 'icon' in _ && _.icon && (_.icon.icon || _.icon.src);
693
- const isTextualBenefits = (benefits) => !benefits.some(hasIcon);
694
- const DefaultBenefitsList = JSX(({ className, benefitsVersion = 'normal', benefits }) => benefits?.length ? (jsx("div", { className: style('flex gap-x-m gap-y-s', isDistortedBenefits(benefits) || isTextualBenefits(benefits) ? 'flex-col' : 'flex-wrap', className), role: "list", children: benefits.map((_, i) => (jsx(BenefitItem, { benefitsVersion: benefitsVersion, ..._ }, String(i)))) })) : null);
683
+ const DefaultBenefitsList = JSX(({ className, benefitsVersion = 'normal', benefits }) => benefits?.length ? (jsx("div", { className: style('flex gap-x-m gap-y-s flex-col', className), role: "list", children: benefits.map((_, i) => (jsx(BenefitItem, { benefitsVersion: benefitsVersion, ..._ }, String(i)))) })) : null);
695
684
 
696
685
  const TabularBenefitsList = JSX(({ className, benefits }) => benefits?.length ? (jsx("div", { className: style('grid grid-cols-[max-content_1fr] auto-rows-auto items-baseline gap-x-m gap-y-xs', className), role: "list", children: benefits.flatMap(renderBenefitText) })) : null);
697
686
 
@@ -1056,26 +1045,35 @@
1056
1045
 
1057
1046
  const identity = (_) => _;
1058
1047
 
1059
- const useForm = (initialState, { resetOnSubmit, onSubmit, } = {}) => {
1060
- const [formState, setFormState] = useState(initialState);
1048
+ // eslint-disable-next-line max-lines-per-function
1049
+ const useForm = (initialState, { resetOnSubmit, onSubmit, normalize, } = {}) => {
1050
+ const [formState, setFormStateUnsafe] = useState(initialState);
1051
+ const setFormState = useCallback(normalize
1052
+ ? (_) => setFormStateUnsafe(_ instanceof Function
1053
+ ? (prev) => {
1054
+ const _normalize = normalize(_(prev));
1055
+ return shellowCompare(prev, _normalize) ? prev : _normalize;
1056
+ }
1057
+ : normalize(_))
1058
+ : setFormStateUnsafe, [normalize]);
1059
+ useEffect(() => {
1060
+ if (normalize) {
1061
+ setFormStateUnsafe(normalize);
1062
+ }
1063
+ }, [normalize]);
1061
1064
  const [isDirtyForm, setDirtyForm] = useState(false);
1062
1065
  const [dirtyFieldsMap, setDirtyFieldsMap] = useState({});
1063
- const handlersMap = useRef({});
1064
1066
  const field = useCallback((fieldName, options) => {
1065
1067
  const { parse = identity, format = identity } = options || {};
1066
- if (!handlersMap.current) {
1067
- handlersMap.current = {};
1068
- }
1069
- handlersMap.current[fieldName] ||= (value) => {
1070
- setFormState((prev) => ({ ...prev, [fieldName]: parse(value) }));
1071
- setDirtyFieldsMap((prev) => ({ ...prev, [fieldName]: true }));
1072
- };
1073
1068
  return {
1074
1069
  value: format(formState[fieldName]),
1075
1070
  isDirty: isDirtyForm || dirtyFieldsMap[fieldName],
1076
- onChange: handlersMap.current[fieldName],
1071
+ onChange: (value) => {
1072
+ setFormState((prev) => ({ ...prev, [fieldName]: parse(value) }));
1073
+ setDirtyFieldsMap((prev) => ({ ...prev, [fieldName]: true }));
1074
+ },
1077
1075
  };
1078
- }, [formState, isDirtyForm, dirtyFieldsMap]);
1076
+ }, [setFormState, isDirtyForm, dirtyFieldsMap]);
1079
1077
  const update = useCallback((_) => {
1080
1078
  setFormState(_);
1081
1079
  setDirtyFieldsMap(_);
@@ -1101,6 +1099,7 @@
1101
1099
  },
1102
1100
  ];
1103
1101
  };
1102
+ const shellowCompare = (a, b) => Object.keys({ ...a, ...b }).every((key) => a[key] === b[key]);
1104
1103
 
1105
1104
  const ApplicationFormLayout = JSX((props) => {
1106
1105
  const { className, title, children, ...rest } = props;
@@ -1552,6 +1551,9 @@
1552
1551
  feedbackMethod: defaultSelectValidator,
1553
1552
  serviceType: defaultSelectValidator,
1554
1553
  serviceDirection: defaultSelectValidator,
1554
+ meetingDay: defaultValidator,
1555
+ product: defaultValidator,
1556
+ localities: defaultValidator,
1555
1557
  consentDataProcessing: agreementValidator,
1556
1558
  annualRevenue: defaultValidator,
1557
1559
  };
@@ -1781,6 +1783,15 @@
1781
1783
  { key: 'phone', text: 'Телефонный звонок' },
1782
1784
  { key: 'email', text: 'Электронное сообщение' },
1783
1785
  ];
1786
+ const PRODUCT_TYPE = [
1787
+ { key: 'Карта дебетовая', text: 'Карта дебетовая' },
1788
+ { key: 'Карта кредитная', text: 'Карта кредитная' },
1789
+ { key: 'Потребительский кредит', text: 'Потребительский кредит' },
1790
+ { key: 'Ипотечный кредит', text: 'Ипотечный кредит' },
1791
+ { key: 'Вклад', text: 'Вклад' },
1792
+ { key: 'Накопительный счет', text: 'Накопительный счет' },
1793
+ ];
1794
+ const OUT_SERVICE_URL = '/api/v1/outservice/outserviceregions';
1784
1795
 
1785
1796
  const FeedbackMethodField = JSX(({ field }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...withValidator(field('feedbackMethod'), validatorObj.feedbackMethod) })));
1786
1797
 
@@ -1794,29 +1805,51 @@
1794
1805
  return (jsx(SelectControl, { label: "\u0422\u0435\u043C\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043C\u0443", options: FEEDBACK_TYPES, ...withValidator(feedbackType, validatorObj.feedbackType) }));
1795
1806
  });
1796
1807
 
1808
+ const getRegionUrl = (typeForm) => typeForm === 'OUTSERVICE' ? OUT_SERVICE_URL : undefined;
1809
+
1797
1810
  const IsClientField = JSX(({ field }) => (jsx(CheckboxWithError, { ...field('isClient'), text: '\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C \u0431\u0430\u043D\u043A\u0430 \u0410\u041E "\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A"' })));
1798
1811
 
1812
+ function isRenderField({ input, field, }) {
1813
+ const { condition } = input;
1814
+ const { value } = field(condition?.name || '');
1815
+ return !condition || condition?.values?.find((_) => _ === (value?.key ?? value));
1816
+ }
1817
+
1818
+ const REGIONS_URL = '/api/v1/regions';
1819
+ function useRegions(url = REGIONS_URL) {
1820
+ const { data } = useAsyncData(url, fetchJSONUnsafe);
1821
+ return Array.isArray(data) ? data : [];
1822
+ }
1823
+
1824
+ const LocalitiesField = JSX(({ field, input }) => {
1825
+ const fieldRegion = field('region');
1826
+ const regionKey = fieldRegion?.value?.key;
1827
+ const localities = useRegions(OUT_SERVICE_URL)
1828
+ ?.find((_) => _.code === regionKey)
1829
+ ?.localities?.map((_) => ({ key: _, text: _ }));
1830
+ useEffect(() => {
1831
+ if (regionKey !== '') {
1832
+ field?.('localities')?.onChange?.('');
1833
+ }
1834
+ }, [regionKey]);
1835
+ return (jsx(SelectControl, { label: "\u041D\u0430\u0441\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u0443\u043D\u043A\u0442", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", options: localities, ...getValidation(field('localities'), validatorObj.localities, input?.required), isSearch: true }));
1836
+ });
1837
+
1799
1838
  const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-s", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-s rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-1/2' : 'left-[5%]') }) }), text ? (jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })) : null] })));
1800
1839
 
1801
1840
  const OnlineCheckoutField = JSX(({ field }) => isAcquiringTrade(field('acquiringType')?.value?.key) ? (jsx(SlideCheckbox, { type: "radio", text: "\u0425\u043E\u0447\u0443 \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field('onlineCheckout') })) : null);
1802
1841
 
1803
- const SecondaryPhoneField = JSX(({ field }) => {
1804
- const fieldPhone = field('secondaryPhone');
1805
- return (jsx(InputPhoneControl, { label: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0442\u0435\u043B\u0435\u0444\u043E\u043D", ...(!fieldPhone.value || fieldPhone.value === '+7 ('
1806
- ? fieldPhone
1807
- : withValidator(fieldPhone, validatorObj.secondaryPhone)) }));
1842
+ const PartnerCommentsField = JSX(({ field, input }) => {
1843
+ const { required, ...rest } = input;
1844
+ return (jsx(InputControl, { ...getValidation(field('partnerComments'), validatorObj.partnerComments, required), placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441", isTextarea: true, ...rest }));
1808
1845
  });
1809
1846
 
1810
1847
  const PosTerminalField = JSX(({ field }) => isAcquiringTrade(field('acquiringType')?.value?.key) ? (jsx(SlideCheckbox, { type: "radio", text: "\u0425\u043E\u0447\u0443 POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })) : null);
1811
1848
 
1812
- const REGIONS_URL = '/api/v1/regions';
1813
- function useRegions() {
1814
- const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
1815
- return Array.isArray(data) ? data : [];
1816
- }
1849
+ const ProductField = JSX(({ field }) => (jsx(SelectControl, { placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u0443\u043A\u0442", label: "\u041F\u0440\u043E\u0434\u0443\u043A\u0442", options: PRODUCT_TYPE, ...withValidator(field('product'), validatorObj.product) })));
1817
1850
 
1818
- const RegionField = JSX(({ field, input }) => {
1819
- const regions = useRegions();
1851
+ const RegionField = JSX(({ field, input, url }) => {
1852
+ const regions = useRegions(url);
1820
1853
  return (jsx(SelectControl, { label: "\u0424\u0438\u043B\u0438\u0430\u043B", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B", isSearch: true, options: useMemo(() => regions?.map(({ code = '', name = '' }) => ({ key: code, text: name })), [regions]), ...getValidation(field('region'), validatorObj.region, input?.required) }));
1821
1854
  });
1822
1855
 
@@ -1829,6 +1862,13 @@
1829
1862
  return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...getValidation(field('region'), validatorObj.region, input?.required) }));
1830
1863
  });
1831
1864
 
1865
+ const SecondaryPhoneField = JSX(({ field }) => {
1866
+ const fieldPhone = field('secondaryPhone');
1867
+ return (jsx(InputPhoneControl, { label: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0442\u0435\u043B\u0435\u0444\u043E\u043D", ...(!fieldPhone.value || fieldPhone.value === '+7 ('
1868
+ ? fieldPhone
1869
+ : withValidator(fieldPhone, validatorObj.secondaryPhone)) }));
1870
+ });
1871
+
1832
1872
  const ServiceDirectionField = JSX(({ field }) => (jsx(SelectControl, { label: "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", options: SERVICE_DIRECTIONS, ...withValidator(field('serviceDirection'), validatorObj.serviceDirection) })));
1833
1873
 
1834
1874
  const MIN_CREDIT_TERM = 1;
@@ -1871,12 +1911,15 @@
1871
1911
  fullName: (jsx(InputControl, { label: "\u0424\u0418\u041E", ...getValidation(field('fullName'), validatorObj.fullName, required), ...rest })),
1872
1912
  inn: (jsx(InputControl, { label: "\u0418\u041D\u041D", type: "number", ...getValidation(field('inn'), validatorObj.inn, required) })),
1873
1913
  comment: jsx(CommentField, { field: field, input: input }),
1874
- region: isPremium ? (jsx(RegionPremiumField, { field: field })) : (jsx(RegionField, { field: field, input: input })),
1914
+ region: isPremium ? (jsx(RegionPremiumField, { field: field })) : (jsx(RegionField, { field: field, input: input, url: getRegionUrl(typeForm) })),
1875
1915
  addressBranch: jsx(AddressBranchField, { field: field, input: input, isPremium: isPremium }),
1876
1916
  birthday: (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...getValidation(field('birthday'), validatorObj.birthday, required) })),
1917
+ desiredMeetingDate: (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...getValidation(field('desiredMeetingDate'), validatorObj.meetingDay, required) })),
1918
+ product: jsx(ProductField, { field: field }),
1919
+ localities: jsx(LocalitiesField, { field: field, input: input }),
1877
1920
  isClient: jsx(IsClientField, { field: field }),
1878
1921
  consentToReceiveMaterials: (jsx(CheckboxWithError, { ...field('consentToReceiveMaterials'), text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0435\u043D \u043D\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0438 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435" })),
1879
- partnerComments: (jsx(InputControl, { ...getValidation(field('partnerComments'), validatorObj.partnerComments, required), placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441", isTextarea: true, ...rest })),
1922
+ partnerComments: jsx(PartnerCommentsField, { field: field, input: input }),
1880
1923
  collectionCount: (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u043D\u043A\u0430\u0441\u0441\u0430\u0446\u0438\u0438", type: "number", ...getValidation(field('collectionCount'), validatorObj.collectionCount, required) })),
1881
1924
  acquiringType: jsx(AcquiringField, { field: field, input: input }),
1882
1925
  onlineCheckout: jsx(OnlineCheckoutField, { field: field }),
@@ -1895,11 +1938,6 @@
1895
1938
  };
1896
1939
  return isRenderField({ input, field }) ? (jsx("div", { children: InputsMap[input?.name] }, String(i))) : null;
1897
1940
  };
1898
- function isRenderField({ input, field, }) {
1899
- const { condition } = input;
1900
- const { value } = field(condition?.name || '');
1901
- return !condition || condition?.values?.find((_) => _ === (value?.key ?? value));
1902
- }
1903
1941
 
1904
1942
  const getPartnerComments = (data) => {
1905
1943
  const { acquiringType, onlineCheckout = false, posTerminal = false, term, amount, annualRevenue, } = data;
@@ -2555,7 +2593,7 @@
2555
2593
  const CalculatorStyle = {
2556
2594
  wrapper: 'flex flex-col justify-between @4xl:flex-row gap-x-4xl gap-y-7 @xl:gap-y-4xl',
2557
2595
  input: 'flex flex-col lg:max-w-80 lg:w-1/2 gap-2xl',
2558
- result: 'flex flex-col gap-y-xl min-w-60',
2596
+ result: 'flex flex-col gap-y-xl min-w-52',
2559
2597
  };
2560
2598
 
2561
2599
  const FormatValue = JSX(({ value, fractionDigits, fixed, prefix, postfix }) => (jsx(Text, { size: "text-h3", children: typeof value === 'number'
@@ -2833,7 +2871,7 @@
2833
2871
  const renderBusinessDepositParamsForm = (calculatorParams, field) => (jsxs("div", { className: "space-y-s", children: [jsx(Text, { color: "text-secondary-text", font: "font-light", children: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B" }), jsxs("div", { className: "flex flex-col gap-y-lg sm:gap-y-s", children: [jsx(Checkbox, { text: "\u041F\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435", disabled: calculatorParams.isDisabledOperatingDeposit, ...field('isReplenished'), value: calculatorParams.isReplenished }), jsx(Checkbox, { disabled: calculatorParams.isDisabledOperatingDeposit, text: "\u0427\u0430\u0441\u0442\u0438\u0447\u043D\u043E\u0435 \u0441\u043D\u044F\u0442\u0438\u0435", ...field('isPartialWithdrawal'), value: calculatorParams.isPartialWithdrawal })] })] }));
2834
2872
 
2835
2873
  const getDefaultParamsMin = (rateRows) => getDefaultParams([(i, acc) => i < acc, (i, prev) => i?.maxSum > prev?.maxSum], rateRows);
2836
- const getDefaultParamsMax = (rateRows) => getDefaultParams([(i, acc) => i > acc, (i, prev) => i?.minSum < prev?.minSum], rateRows);
2874
+ const getDefaultParamsMax = (rateRows = [], isNewClient = false) => getDefaultParams([(i, acc) => i > acc, (i, prev) => i?.minSum < prev?.minSum], rateRows?.filter((_) => isNewClient === Boolean(_?.isNewClient)));
2837
2875
  const getDefaultParams = (comparators, rateRows) => {
2838
2876
  if (!rateRows?.length) {
2839
2877
  return undefined;
@@ -3047,8 +3085,6 @@
3047
3085
  });
3048
3086
  const renderCreditParamsForm$1 = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-2xl", children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: `Получаю зарплату на счёт\nв Россельхозбанке`, ...field('isSalaryClient'), value: params.isSalaryClient, className: "whitespace-pre-line sm:whitespace-normal" })) : null, params.isShowStateEmployee ? (jsx(Checkbox, { text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('isStateEmployee'), value: params.isStateEmployee })) : null, params.isShowPensionClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", ...field('isPensionClient'), value: params.isPensionClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null] }));
3049
3087
 
3050
- const isNotRubles = (currency = 'rub') => currency !== 'rub';
3051
-
3052
3088
  const arrayByRange = (start, stop, step = 1) => Array.from({ length: Math.abs(stop - start) / step + 1 }, (value, index) => stop >= start ? start + index * step : start - index * step);
3053
3089
 
3054
3090
  const mergeIntervals = (intervals) => {
@@ -3087,32 +3123,36 @@
3087
3123
  const isExcludeRemoteRegistration = !paramsViewSettings?.isShowRemoteRegistration;
3088
3124
  const isExcludeReplenish = !paramsViewSettings?.isShowReplenish;
3089
3125
  const isExcludeWithdrawn = !paramsViewSettings?.isShowWithdrawn;
3090
- const depositCalculatorSourceBookParams = rows?.find((row) => checkRowByParam({
3091
- row,
3092
- userInputParams,
3093
- paramKey: 'isReplenish',
3094
- isExclude: isExcludeReplenish,
3095
- }) &&
3126
+ const isExcludeNewClient = !paramsViewSettings?.isShowNewClient;
3127
+ const depositCalculatorSourceBookParams = rows?.find((row) => [
3128
+ checkRowByParam({
3129
+ row,
3130
+ userInputParams,
3131
+ paramKey: 'isReplenish',
3132
+ isExclude: isExcludeReplenish,
3133
+ }),
3096
3134
  checkRowByParam({
3097
3135
  row,
3098
3136
  userInputParams,
3099
3137
  paramKey: 'isWithdrawn',
3100
3138
  isExclude: isExcludeWithdrawn,
3101
- }) &&
3139
+ }),
3102
3140
  checkRowByParam({
3103
3141
  row,
3104
3142
  userInputParams,
3105
3143
  paramKey: 'isMonthlyInterestPayment',
3106
3144
  isExclude: isExcludeMonthlyInterestPayment,
3107
- }) &&
3145
+ }),
3108
3146
  checkRowByParam({
3109
3147
  row,
3110
3148
  userInputParams,
3111
3149
  paramKey: 'isRemoteRegistration',
3112
3150
  isExclude: isExcludeRemoteRegistration,
3113
- }) &&
3114
- checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], row) &&
3115
- checkRangeByKeys(monthsValue || defaultMonth, ['minMonths', 'maxMonths'], row)) || DEFAULT_DEPOSIT_CALCULATOR_PARAMS;
3151
+ }),
3152
+ isExcludeNewClient || userInputParams?.['isNewClient'] === row?.['isNewClient'],
3153
+ checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], row),
3154
+ checkRangeByKeys(monthsValue || defaultMonth, ['minMonths', 'maxMonths'], row),
3155
+ ].every(Boolean)) || DEFAULT_DEPOSIT_CALCULATOR_PARAMS;
3116
3156
  const { rate } = depositCalculatorSourceBookParams;
3117
3157
  const income = getDepositIncome(rate, userInputParams);
3118
3158
  const finalSum = moneyValue + income;
@@ -3143,6 +3183,8 @@
3143
3183
  const checkRowByParam = ({ row, userInputParams, paramKey, isExclude }) => isExclude || userInputParams[paramKey] === row[paramKey];
3144
3184
  const getMiddleMonth = (minMonths, maxMonths) => minMonths + Math.round((maxMonths - minMonths) / 2);
3145
3185
 
3186
+ const isRubles = (currency = 'rub') => currency === 'rub';
3187
+
3146
3188
  const renderRegistrationType = (props) => renderBinaryRadioButtonGroup({
3147
3189
  ...props,
3148
3190
  items: [
@@ -3177,7 +3219,7 @@
3177
3219
  ],
3178
3220
  disabled: isCurrency,
3179
3221
  })
3180
- : null] }), separatorStyles(params.isShowReplenish || params.isShowWithdrawn), jsxs("div", { className: "flex gap-lg", children: [params.isShowMonthlyInterestPayment
3222
+ : null] }), renderSeparator(params.isShowReplenish || params.isShowWithdrawn), jsxs("div", { className: "flex gap-lg", children: [params.isShowMonthlyInterestPayment
3181
3223
  ? renderPayout({
3182
3224
  title: 'Выплата процентов',
3183
3225
  ...field('isMonthlyInterestPayment'),
@@ -3191,9 +3233,31 @@
3191
3233
  value: params.isRemoteRegistration,
3192
3234
  orientation: 'vertical',
3193
3235
  })
3194
- : null] })] }));
3236
+ : null] }), renderSeparator(params.isShowNewClient), params.isShowNewClient ? jsx(Checkbox, { text: "\u041D\u043E\u0432\u044B\u0439 \u0432\u043A\u043B\u0430\u0434\u0447\u0438\u043A", ...field('isNewClient') }) : null] }));
3237
+ };
3238
+ const renderSeparator = (isShow = false) => isShow ? jsx("div", { className: "border-b border-main-divider w-full" }) : null;
3239
+
3240
+ const normalizeMonthValue = (_, rows) => {
3241
+ const { minMonths, maxMonths } = getRangeByKeys(['minMonths', 'maxMonths'], getRows(rows, _?.currency));
3242
+ const monthsValue = _.monthsValue || Math.round((minMonths + maxMonths) / 2);
3243
+ return { monthsValue: clamp(monthsValue, minMonths, maxMonths) };
3244
+ };
3245
+ const normalizeMoneyValue = (_, rows) => {
3246
+ const { minSum, maxSum } = getRangeByKeys(['minSum', 'maxSum'], getRows(rows, _?.currency));
3247
+ const moneyValue = _.moneyValue || minSum;
3248
+ return { moneyValue: clamp(moneyValue, minSum, maxSum) };
3249
+ };
3250
+ const normalizeCurrency = (_, rows) => ({
3251
+ currency: _?.currency ?? rows?.map((row) => row.currency)?.[0],
3252
+ });
3253
+ const normalizeReplenishWithdrawn = (_) => {
3254
+ const _isRubles = isRubles(_?.currency?.key);
3255
+ return { isReplenish: _isRubles && _?.isReplenish, isWithdrawn: _isRubles && _?.isWithdrawn };
3256
+ };
3257
+ const getRows = (rows, currencyValue) => {
3258
+ const { rates } = rows?.find((_) => _?.currency.key === currencyValue?.key) ?? {};
3259
+ return rates ?? rows?.[0]?.rates;
3195
3260
  };
3196
- const separatorStyles = (isShow = false) => isShow ? jsx("div", { className: "border-b border-main-divider w-full" }) : null;
3197
3261
 
3198
3262
  const MAP = {
3199
3263
  isMonthlyInterestPayment: 'isMonthlyInterestPayment',
@@ -3207,67 +3271,49 @@
3207
3271
  key: 'rub',
3208
3272
  };
3209
3273
  const DEPOSIT_DEFAULT_SUM = 20000;
3274
+ const DEPOSIT_DEFAULT_MONTHS = 1;
3210
3275
  const CalculatorDeposit = UniBlock(({ className, title, calcSource, buttons = [], footnote = '', paramsViewSettings, defaultParams, ...rest }) => {
3211
3276
  const { rows } = calcSource ?? {};
3212
3277
  const currencyOptions = rows?.map((_) => _.currency) ?? [DEFAULT_CURRENCY];
3278
+ const normalize = useCallback((_) => !rows
3279
+ ? _
3280
+ : {
3281
+ ..._,
3282
+ ...normalizeReplenishWithdrawn(_),
3283
+ ...normalizeMoneyValue(_, rows),
3284
+ ...normalizeMonthValue(_, rows),
3285
+ ...normalizeCurrency(_, rows),
3286
+ }, [rows]);
3213
3287
  const [userInputParams, { field }] = useForm({
3214
3288
  moneyValue: getMoneyDefaultValue(defaultParams, DEPOSIT_DEFAULT_SUM),
3215
- monthsValue: getMonthsDefaultValue(defaultParams),
3289
+ monthsValue: getMonthsDefaultValue(defaultParams, DEPOSIT_DEFAULT_MONTHS),
3216
3290
  isMonthlyInterestPayment: Boolean(defaultParams?.isMonthlyInterestPayment),
3217
3291
  isRemoteRegistration: Boolean(defaultParams?.isRemoteRegistration),
3218
3292
  isReplenish: Boolean(defaultParams?.isReplenish),
3219
3293
  isWithdrawn: Boolean(defaultParams?.isWithdrawn),
3294
+ isNewClient: Boolean(defaultParams?.isNewClient),
3220
3295
  currency: DEFAULT_CURRENCY,
3221
- });
3222
- const currencyValue = field?.('currency')?.value;
3223
- const { onChange: setMonthsValue } = field('monthsValue');
3224
- const { onChange: setMoneyValue } = field('moneyValue');
3296
+ }, { normalize });
3297
+ const currencyValue = field?.('currency')?.value ?? DEFAULT_CURRENCY;
3298
+ const isNewClient = field?.('isNewClient')?.value;
3225
3299
  const row = getRows(rows, currencyValue);
3226
- const [defParams, setDefParams] = useState(getDefaultParamsMax(rows?.[0]?.rates));
3227
- const calcParams = getDepositCalculatorParams(userInputParams, getRows(rows, currencyValue), paramsViewSettings);
3228
- useEffect(() => {
3229
- if (currencyOptions?.[0]) {
3230
- field?.('currency')?.onChange?.(currencyOptions?.[0]);
3231
- }
3232
- }, [calcSource]);
3300
+ const calcParams = getDepositCalculatorParams(userInputParams, row, paramsViewSettings);
3301
+ const { rate, income, finalSum, type = '' } = calcParams;
3233
3302
  const handleDefaultParamsCals = () => {
3234
3303
  setDefaultParamsCalc({
3235
3304
  field,
3236
- defParams: defParams,
3305
+ defParams: getDefaultParamsMax(row, isNewClient),
3237
3306
  calcParams,
3238
3307
  monthsValue: 'minMonths',
3239
3308
  map: MAP,
3240
3309
  });
3241
3310
  };
3242
- const { defaultMonth, rate, income, finalSum, type = '' } = calcParams;
3243
- useEffect(() => {
3244
- setDefParams(getDefaultParamsMax(row));
3245
- }, [currencyValue, rows]);
3246
- useEffect(() => {
3247
- !userInputParams.monthsValue && setMonthsValue && setMonthsValue(defaultMonth);
3248
- }, [defaultMonth]);
3249
- useEffect(() => {
3250
- setMoneyValue &&
3251
- setMoneyValue(clamp(userInputParams.moneyValue, calcParams.minSum, calcParams.maxSum));
3252
- }, [calcParams.minSum, calcParams.maxSum, row]);
3253
3311
  useEffect(() => {
3254
- if (!isDefaultParams(defaultParams) && defParams) {
3312
+ if (!isDefaultParams(defaultParams) && row) {
3255
3313
  handleDefaultParamsCals();
3256
3314
  }
3257
- }, [defParams, defaultParams]);
3258
- useEffect(() => {
3259
- setMoneyValue?.(clamp(userInputParams.moneyValue, calcParams.minSum, calcParams.maxSum));
3260
- if (isNotRubles(currencyValue?.key)) {
3261
- field?.('isReplenish')?.onChange?.(false);
3262
- field?.('isWithdrawn')?.onChange?.(false);
3263
- }
3264
- }, [currencyValue]);
3265
- useEffect(() => {
3266
- if (!isDefaultParams(defaultParams) && defParams) {
3267
- handleDefaultParamsCals();
3268
- }
3269
- }, [defaultParams, row, defParams]);
3270
- const isMaxRate = rate === defParams?.rate;
3315
+ }, [defaultParams, rows]);
3316
+ const isMaxRate = rate === getDefaultParamsMax(row, isNewClient)?.rate;
3271
3317
  return (jsx(CalculatorLayout, { className: className, title: title, ...rest, children: jsxs("section", { className: style(CalculatorStyle.wrapper, className), children: [jsxs("div", { className: CalculatorStyle.input, children: [jsxs("div", { className: "flex gap-m", children: [renderWantedSumInput({
3272
3318
  className: 'w-full',
3273
3319
  title: `Сумма, ${currencyValue?.text}`,
@@ -3296,17 +3342,13 @@
3296
3342
  isCapitalization: field('isMonthlyInterestPayment').value,
3297
3343
  })] }) }));
3298
3344
  });
3299
- const getStep = (key = '') => (isNotRubles(key) ? 100 : 1000);
3345
+ const getStep = (key = '') => (isRubles(key) ? 1000 : 100);
3300
3346
  const getTariffButton = (buttons = [], btnType = '') => {
3301
3347
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3302
3348
  const { type, ...button } = buttons.find((_) => _.type === btnType) ?? {};
3303
3349
  return button;
3304
3350
  };
3305
3351
  const renderMaxRateButton = (handleDefaultParamsCals, isMaxRate = false) => isMaxRate ? null : (jsx(Button, { type: "button", version: "secondary", onClick: handleDefaultParamsCals, children: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443\u044E \u0441\u0442\u0430\u0432\u043A\u0443" }));
3306
- const getRows = (rows, currencyValue) => {
3307
- const { rates } = rows?.find((_) => _?.currency.key === currencyValue?.key) ?? {};
3308
- return rates ?? rows?.[0]?.rates;
3309
- };
3310
3352
 
3311
3353
  const checkRefinancingSourceBookRowCommonParams = (props) => checkRowParam({
3312
3354
  ...props,
@@ -4226,6 +4268,8 @@
4226
4268
  return acc;
4227
4269
  };
4228
4270
 
4271
+ const sum = (list = []) => list.reduce((a, b) => a + b, 0);
4272
+
4229
4273
  const MIN_TERM_LEN = 3;
4230
4274
  const tokenize = (text) => text
4231
4275
  .toLowerCase()
@@ -6509,7 +6553,7 @@
6509
6553
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
6510
6554
  });
6511
6555
 
6512
- const packageVersion = "0.14.546";
6556
+ const packageVersion = "0.14.548";
6513
6557
 
6514
6558
  exports.Blocks = Blocks;
6515
6559
  exports.ContentPage = ContentPage;