@redneckz/wildless-cms-uni-blocks 0.9.15 → 0.10.0

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 (664) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +385 -234
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ApplicationForm/InputControl.d.ts +10 -0
  5. package/bundle/components/ApplicationForm/{WrapperSelect.d.ts → SelectControl.d.ts} +4 -2
  6. package/bundle/components/ApplicationForm/models.d.ts +5 -0
  7. package/bundle/components/ApplicationForm/normalizeSelected.d.ts +2 -0
  8. package/bundle/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +11 -0
  9. package/{lib/components/ApplicationForm/renderSelects.d.ts → bundle/components/ApplicationForm/renderAcquiringRegion.d.ts} +4 -2
  10. package/bundle/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +11 -0
  11. package/bundle/components/ApplicationForm/renderCreditDataOrganization.d.ts +13 -0
  12. package/bundle/components/ApplicationForm/renderRegion.d.ts +12 -0
  13. package/{dist/components/ApplicationForm/renderBankOffices.d.ts → bundle/components/ApplicationForm/renderRegionDepartment.d.ts} +4 -2
  14. package/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +11 -0
  15. package/bundle/components/ApplicationForm/useForm.d.ts +14 -0
  16. package/bundle/components/ApplicationForm/validate.d.ts +1 -0
  17. package/bundle/components/Carousel/CarouselContent.d.ts +2 -0
  18. package/bundle/components/ExchangeRateOffice/Currencies.d.ts +8 -0
  19. package/bundle/components/ExchangeRateOffice/ExchangeRateOffice.d.ts +5 -0
  20. package/bundle/components/ExchangeRateOffice/ExchangeRateOfficeContent.d.ts +36 -0
  21. package/bundle/components/ExchangeRateOffice/renderCurrencies.d.ts +3 -0
  22. package/bundle/components/ExchangeRateOffice/renderTableHeader.d.ts +2 -0
  23. package/bundle/hooks/useLink.d.ts +5 -1
  24. package/bundle/services/sitemap/SitemapData.d.ts +2 -2
  25. package/bundle/ui-kit/RichText/RichTextProps.d.ts +2 -2
  26. package/bundle/ui-kit/SearchDialog/SearchDialog.d.ts +2 -2
  27. package/bundle/ui-kit/Select/Select.d.ts +2 -0
  28. package/bundle/ui-kit/Sitemap/Sitemap.d.ts +2 -2
  29. package/bundle/utils/adjustHref.d.ts +1 -1
  30. package/dist/components/ApplicationForm/ApplicationForm.js +3 -3
  31. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  32. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js +47 -40
  33. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  34. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +34 -28
  35. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  36. package/dist/components/ApplicationForm/ApplicationFormCredit.js +52 -41
  37. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  38. package/dist/components/ApplicationForm/ApplicationFormDeposit.js +24 -17
  39. package/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  40. package/dist/components/ApplicationForm/ApplicationFormWed.js +38 -25
  41. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  42. package/dist/components/ApplicationForm/InputControl.d.ts +10 -0
  43. package/dist/components/ApplicationForm/InputControl.js +10 -0
  44. package/dist/components/ApplicationForm/InputControl.js.map +1 -0
  45. package/{lib/components/ApplicationForm/WrapperSelect.d.ts → dist/components/ApplicationForm/SelectControl.d.ts} +4 -2
  46. package/dist/components/ApplicationForm/SelectControl.js +14 -0
  47. package/dist/components/ApplicationForm/SelectControl.js.map +1 -0
  48. package/dist/components/ApplicationForm/models.d.ts +5 -0
  49. package/dist/components/ApplicationForm/normalizeSelected.d.ts +2 -0
  50. package/dist/components/ApplicationForm/normalizeSelected.js +5 -0
  51. package/dist/components/ApplicationForm/normalizeSelected.js.map +1 -0
  52. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +11 -0
  53. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.js +8 -0
  54. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -0
  55. package/{bundle/components/ApplicationForm/renderSelects.d.ts → dist/components/ApplicationForm/renderAcquiringRegion.d.ts} +4 -2
  56. package/dist/components/ApplicationForm/renderAcquiringRegion.js +9 -0
  57. package/dist/components/ApplicationForm/renderAcquiringRegion.js.map +1 -0
  58. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +11 -0
  59. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js +8 -0
  60. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -0
  61. package/dist/components/ApplicationForm/renderCreditDataOrganization.d.ts +13 -0
  62. package/dist/components/ApplicationForm/renderCreditDataOrganization.js +8 -0
  63. package/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -0
  64. package/dist/components/ApplicationForm/renderRegion.d.ts +12 -0
  65. package/dist/components/ApplicationForm/renderRegion.js +8 -0
  66. package/dist/components/ApplicationForm/renderRegion.js.map +1 -0
  67. package/{lib/components/ApplicationForm/renderBankOffices.d.ts → dist/components/ApplicationForm/renderRegionDepartment.d.ts} +4 -2
  68. package/dist/components/ApplicationForm/renderRegionDepartment.js +8 -0
  69. package/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -0
  70. package/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +11 -0
  71. package/dist/components/ApplicationForm/renderWedDataOrganization.js +8 -0
  72. package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -0
  73. package/dist/components/ApplicationForm/useForm.d.ts +14 -0
  74. package/dist/components/ApplicationForm/useForm.js +37 -0
  75. package/dist/components/ApplicationForm/useForm.js.map +1 -0
  76. package/dist/components/ApplicationForm/validate.d.ts +1 -0
  77. package/dist/components/ApplicationForm/validate.js +22 -0
  78. package/dist/components/ApplicationForm/validate.js.map +1 -0
  79. package/dist/components/Blocks.js +2 -0
  80. package/dist/components/Blocks.js.map +1 -1
  81. package/dist/components/Bonus/Bonus.js +5 -3
  82. package/dist/components/Bonus/Bonus.js.map +1 -1
  83. package/dist/components/Calculator/useDepositCalculatorParams.js +1 -1
  84. package/dist/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  85. package/dist/components/Carousel/Carousel.js +4 -3
  86. package/dist/components/Carousel/Carousel.js.map +1 -1
  87. package/dist/components/Carousel/CarouselContent.d.ts +2 -0
  88. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -3
  89. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  90. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  91. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  92. package/dist/components/ExchangeRateOffice/Currencies.d.ts +8 -0
  93. package/dist/components/ExchangeRateOffice/Currencies.js +12 -0
  94. package/dist/components/ExchangeRateOffice/Currencies.js.map +1 -0
  95. package/dist/components/ExchangeRateOffice/ExchangeRateOffice.d.ts +5 -0
  96. package/dist/components/ExchangeRateOffice/ExchangeRateOffice.js +16 -0
  97. package/dist/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -0
  98. package/dist/components/ExchangeRateOffice/ExchangeRateOfficeContent.d.ts +36 -0
  99. package/dist/components/ExchangeRateOffice/ExchangeRateOfficeContent.js +2 -0
  100. package/dist/components/ExchangeRateOffice/ExchangeRateOfficeContent.js.map +1 -0
  101. package/dist/components/ExchangeRateOffice/renderCurrencies.d.ts +3 -0
  102. package/dist/components/ExchangeRateOffice/renderCurrencies.js +30 -0
  103. package/dist/components/ExchangeRateOffice/renderCurrencies.js.map +1 -0
  104. package/dist/components/ExchangeRateOffice/renderTableHeader.d.ts +2 -0
  105. package/dist/components/ExchangeRateOffice/renderTableHeader.js +9 -0
  106. package/dist/components/ExchangeRateOffice/renderTableHeader.js.map +1 -0
  107. package/dist/components/Footer/TextInformationLink.js +1 -1
  108. package/dist/components/Footer/TextInformationLink.js.map +1 -1
  109. package/dist/components/RichTextBlock/RichTextBlock.js +2 -2
  110. package/dist/components/RichTextBlock/RichTextBlock.js.map +1 -1
  111. package/dist/components/TariffsTable/EmbeddableCellData.js +1 -3
  112. package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  113. package/dist/hooks/useLink.d.ts +5 -1
  114. package/dist/hooks/useLink.js +3 -2
  115. package/dist/hooks/useLink.js.map +1 -1
  116. package/dist/services/sitemap/SitemapData.d.ts +2 -2
  117. package/dist/ui-kit/Button/getRegularButtonClasses.js +1 -1
  118. package/dist/ui-kit/Button/getRegularButtonClasses.js.map +1 -1
  119. package/dist/ui-kit/Button/renderButtonsSection.js +2 -2
  120. package/dist/ui-kit/Button/renderButtonsSection.js.map +1 -1
  121. package/dist/ui-kit/RichText/RichText.js +3 -2
  122. package/dist/ui-kit/RichText/RichText.js.map +1 -1
  123. package/dist/ui-kit/RichText/RichTextProps.d.ts +2 -2
  124. package/dist/ui-kit/SearchDialog/SearchDialog.d.ts +2 -2
  125. package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  126. package/dist/ui-kit/Select/Select.d.ts +2 -0
  127. package/dist/ui-kit/Select/Select.js +5 -3
  128. package/dist/ui-kit/Select/Select.js.map +1 -1
  129. package/dist/ui-kit/Sitemap/Sitemap.d.ts +2 -2
  130. package/dist/ui-kit/Sitemap/Sitemap.js +3 -4
  131. package/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  132. package/dist/ui-kit/TopItem/TopItem.js +1 -1
  133. package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  134. package/dist/utils/adjustHref.d.ts +1 -1
  135. package/dist/utils/adjustHref.js +4 -3
  136. package/dist/utils/adjustHref.js.map +1 -1
  137. package/lib/common.css +1 -1
  138. package/lib/components/ApplicationForm/ApplicationForm.js +3 -3
  139. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  140. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js +47 -40
  141. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  142. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +34 -28
  143. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  144. package/lib/components/ApplicationForm/ApplicationFormCredit.js +53 -42
  145. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  146. package/lib/components/ApplicationForm/ApplicationFormDeposit.js +24 -17
  147. package/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  148. package/lib/components/ApplicationForm/ApplicationFormWed.js +38 -25
  149. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  150. package/lib/components/ApplicationForm/InputControl.d.ts +10 -0
  151. package/lib/components/ApplicationForm/InputControl.js +8 -0
  152. package/lib/components/ApplicationForm/InputControl.js.map +1 -0
  153. package/{mobile/bundle/components/ApplicationForm/WrapperSelect.d.ts → lib/components/ApplicationForm/SelectControl.d.ts} +4 -2
  154. package/lib/components/ApplicationForm/SelectControl.js +12 -0
  155. package/lib/components/ApplicationForm/SelectControl.js.map +1 -0
  156. package/lib/components/ApplicationForm/models.d.ts +5 -0
  157. package/lib/components/ApplicationForm/normalizeSelected.d.ts +2 -0
  158. package/lib/components/ApplicationForm/normalizeSelected.js +2 -0
  159. package/lib/components/ApplicationForm/normalizeSelected.js.map +1 -0
  160. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +11 -0
  161. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.js +5 -0
  162. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -0
  163. package/{mobile/bundle/components/ApplicationForm/renderSelects.d.ts → lib/components/ApplicationForm/renderAcquiringRegion.d.ts} +4 -2
  164. package/lib/components/ApplicationForm/renderAcquiringRegion.js +6 -0
  165. package/lib/components/ApplicationForm/renderAcquiringRegion.js.map +1 -0
  166. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +11 -0
  167. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js +5 -0
  168. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -0
  169. package/lib/components/ApplicationForm/renderCreditDataOrganization.d.ts +13 -0
  170. package/lib/components/ApplicationForm/renderCreditDataOrganization.js +5 -0
  171. package/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -0
  172. package/lib/components/ApplicationForm/renderRegion.d.ts +12 -0
  173. package/lib/components/ApplicationForm/renderRegion.js +5 -0
  174. package/lib/components/ApplicationForm/renderRegion.js.map +1 -0
  175. package/{bundle/components/ApplicationForm/renderBankOffices.d.ts → lib/components/ApplicationForm/renderRegionDepartment.d.ts} +4 -2
  176. package/lib/components/ApplicationForm/renderRegionDepartment.js +5 -0
  177. package/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -0
  178. package/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +11 -0
  179. package/lib/components/ApplicationForm/renderWedDataOrganization.js +5 -0
  180. package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -0
  181. package/lib/components/ApplicationForm/useForm.d.ts +14 -0
  182. package/lib/components/ApplicationForm/useForm.js +34 -0
  183. package/lib/components/ApplicationForm/useForm.js.map +1 -0
  184. package/lib/components/ApplicationForm/validate.d.ts +1 -0
  185. package/lib/components/ApplicationForm/validate.js +19 -0
  186. package/lib/components/ApplicationForm/validate.js.map +1 -0
  187. package/lib/components/Blocks.js +2 -0
  188. package/lib/components/Blocks.js.map +1 -1
  189. package/lib/components/Bonus/Bonus.js +5 -3
  190. package/lib/components/Bonus/Bonus.js.map +1 -1
  191. package/lib/components/Calculator/useDepositCalculatorParams.js +1 -1
  192. package/lib/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  193. package/lib/components/Carousel/Carousel.js +4 -3
  194. package/lib/components/Carousel/Carousel.js.map +1 -1
  195. package/lib/components/Carousel/CarouselContent.d.ts +2 -0
  196. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -3
  197. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  198. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  199. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  200. package/lib/components/ExchangeRateOffice/Currencies.d.ts +8 -0
  201. package/lib/components/ExchangeRateOffice/Currencies.js +10 -0
  202. package/lib/components/ExchangeRateOffice/Currencies.js.map +1 -0
  203. package/lib/components/ExchangeRateOffice/ExchangeRateOffice.d.ts +5 -0
  204. package/lib/components/ExchangeRateOffice/ExchangeRateOffice.fixture.d.ts +6 -0
  205. package/lib/components/ExchangeRateOffice/ExchangeRateOffice.js +14 -0
  206. package/lib/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -0
  207. package/lib/components/ExchangeRateOffice/ExchangeRateOfficeContent.d.ts +36 -0
  208. package/lib/components/ExchangeRateOffice/ExchangeRateOfficeContent.js +2 -0
  209. package/lib/components/ExchangeRateOffice/ExchangeRateOfficeContent.js.map +1 -0
  210. package/lib/components/ExchangeRateOffice/renderCurrencies.d.ts +3 -0
  211. package/lib/components/ExchangeRateOffice/renderCurrencies.js +27 -0
  212. package/lib/components/ExchangeRateOffice/renderCurrencies.js.map +1 -0
  213. package/lib/components/ExchangeRateOffice/renderTableHeader.d.ts +2 -0
  214. package/lib/components/ExchangeRateOffice/renderTableHeader.js +6 -0
  215. package/lib/components/ExchangeRateOffice/renderTableHeader.js.map +1 -0
  216. package/lib/components/Footer/TextInformationLink.js +1 -1
  217. package/lib/components/Footer/TextInformationLink.js.map +1 -1
  218. package/lib/components/RichTextBlock/RichTextBlock.fixture.d.ts +3 -0
  219. package/lib/components/RichTextBlock/RichTextBlock.js +2 -2
  220. package/lib/components/RichTextBlock/RichTextBlock.js.map +1 -1
  221. package/lib/components/TariffsTable/EmbeddableCellData.js +1 -3
  222. package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  223. package/lib/hooks/useLink.d.ts +5 -1
  224. package/lib/hooks/useLink.js +3 -2
  225. package/lib/hooks/useLink.js.map +1 -1
  226. package/lib/services/sitemap/SitemapData.d.ts +2 -2
  227. package/lib/ui-kit/Button/getRegularButtonClasses.js +1 -1
  228. package/lib/ui-kit/Button/getRegularButtonClasses.js.map +1 -1
  229. package/lib/ui-kit/Button/renderButtonsSection.js +2 -2
  230. package/lib/ui-kit/Button/renderButtonsSection.js.map +1 -1
  231. package/lib/ui-kit/RichText/RichText.js +3 -2
  232. package/lib/ui-kit/RichText/RichText.js.map +1 -1
  233. package/lib/ui-kit/RichText/RichTextProps.d.ts +2 -2
  234. package/lib/ui-kit/SearchDialog/SearchDialog.d.ts +2 -2
  235. package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  236. package/lib/ui-kit/Select/Select.d.ts +2 -0
  237. package/lib/ui-kit/Select/Select.js +5 -3
  238. package/lib/ui-kit/Select/Select.js.map +1 -1
  239. package/lib/ui-kit/Sitemap/Sitemap.d.ts +2 -2
  240. package/lib/ui-kit/Sitemap/Sitemap.js +3 -4
  241. package/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  242. package/lib/ui-kit/TopItem/TopItem.js +1 -1
  243. package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  244. package/lib/utils/adjustHref.d.ts +1 -1
  245. package/lib/utils/adjustHref.js +4 -3
  246. package/lib/utils/adjustHref.js.map +1 -1
  247. package/mobile/bundle/bundle.umd.js +17 -15
  248. package/mobile/bundle/bundle.umd.min.js +1 -1
  249. package/mobile/bundle/components/ApplicationForm/InputControl.d.ts +10 -0
  250. package/{dist/components/ApplicationForm/WrapperSelect.d.ts → mobile/bundle/components/ApplicationForm/SelectControl.d.ts} +4 -2
  251. package/mobile/bundle/components/ApplicationForm/models.d.ts +5 -0
  252. package/mobile/bundle/components/ApplicationForm/normalizeSelected.d.ts +2 -0
  253. package/mobile/bundle/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +11 -0
  254. package/{dist/components/ApplicationForm/renderSelects.d.ts → mobile/bundle/components/ApplicationForm/renderAcquiringRegion.d.ts} +4 -2
  255. package/mobile/bundle/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +11 -0
  256. package/mobile/bundle/components/ApplicationForm/renderCreditDataOrganization.d.ts +13 -0
  257. package/mobile/bundle/components/ApplicationForm/renderRegion.d.ts +12 -0
  258. package/mobile/bundle/components/ApplicationForm/{renderBankOffices.d.ts → renderRegionDepartment.d.ts} +4 -2
  259. package/mobile/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +11 -0
  260. package/mobile/bundle/components/ApplicationForm/useForm.d.ts +14 -0
  261. package/mobile/bundle/components/ApplicationForm/validate.d.ts +1 -0
  262. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +2 -0
  263. package/mobile/bundle/components/ExchangeRateOffice/Currencies.d.ts +8 -0
  264. package/mobile/bundle/components/ExchangeRateOffice/ExchangeRateOffice.d.ts +5 -0
  265. package/mobile/bundle/components/ExchangeRateOffice/ExchangeRateOfficeContent.d.ts +36 -0
  266. package/mobile/bundle/components/ExchangeRateOffice/renderCurrencies.d.ts +3 -0
  267. package/mobile/bundle/components/ExchangeRateOffice/renderTableHeader.d.ts +2 -0
  268. package/mobile/bundle/hooks/useLink.d.ts +5 -1
  269. package/mobile/bundle/services/sitemap/SitemapData.d.ts +2 -2
  270. package/mobile/bundle/ui-kit/RichText/RichTextProps.d.ts +2 -2
  271. package/mobile/bundle/ui-kit/SearchDialog/SearchDialog.d.ts +2 -2
  272. package/mobile/bundle/ui-kit/Select/Select.d.ts +2 -0
  273. package/mobile/bundle/ui-kit/Sitemap/Sitemap.d.ts +2 -2
  274. package/mobile/bundle/utils/adjustHref.d.ts +1 -1
  275. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +3 -3
  276. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  277. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js +47 -40
  278. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  279. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +34 -28
  280. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  281. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +52 -41
  282. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  283. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js +24 -17
  284. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  285. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +38 -25
  286. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  287. package/mobile/dist/components/ApplicationForm/InputControl.d.ts +10 -0
  288. package/mobile/dist/components/ApplicationForm/InputControl.js +10 -0
  289. package/mobile/dist/components/ApplicationForm/InputControl.js.map +1 -0
  290. package/mobile/dist/components/ApplicationForm/SelectControl.d.ts +13 -0
  291. package/mobile/dist/components/ApplicationForm/SelectControl.js +14 -0
  292. package/mobile/dist/components/ApplicationForm/SelectControl.js.map +1 -0
  293. package/mobile/dist/components/ApplicationForm/models.d.ts +5 -0
  294. package/mobile/dist/components/ApplicationForm/normalizeSelected.d.ts +2 -0
  295. package/mobile/dist/components/ApplicationForm/normalizeSelected.js +5 -0
  296. package/mobile/dist/components/ApplicationForm/normalizeSelected.js.map +1 -0
  297. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +11 -0
  298. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.js +8 -0
  299. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -0
  300. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.d.ts +13 -0
  301. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.js +9 -0
  302. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.js.map +1 -0
  303. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +11 -0
  304. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js +8 -0
  305. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -0
  306. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.d.ts +13 -0
  307. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js +8 -0
  308. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -0
  309. package/mobile/dist/components/ApplicationForm/renderRegion.d.ts +12 -0
  310. package/mobile/dist/components/ApplicationForm/renderRegion.js +8 -0
  311. package/mobile/dist/components/ApplicationForm/renderRegion.js.map +1 -0
  312. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.d.ts +15 -0
  313. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js +8 -0
  314. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -0
  315. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +11 -0
  316. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js +8 -0
  317. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -0
  318. package/mobile/dist/components/ApplicationForm/useForm.d.ts +14 -0
  319. package/mobile/dist/components/ApplicationForm/useForm.js +37 -0
  320. package/mobile/dist/components/ApplicationForm/useForm.js.map +1 -0
  321. package/mobile/dist/components/ApplicationForm/validate.d.ts +1 -0
  322. package/mobile/dist/components/ApplicationForm/validate.js +22 -0
  323. package/mobile/dist/components/ApplicationForm/validate.js.map +1 -0
  324. package/mobile/dist/components/Bonus/Bonus.js +5 -3
  325. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  326. package/mobile/dist/components/Calculator/useDepositCalculatorParams.js +1 -1
  327. package/mobile/dist/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  328. package/mobile/dist/components/Carousel/Carousel.js +4 -3
  329. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  330. package/mobile/dist/components/Carousel/CarouselContent.d.ts +2 -0
  331. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -3
  332. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  333. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  334. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  335. package/mobile/dist/components/ExchangeRateOffice/Currencies.d.ts +8 -0
  336. package/mobile/dist/components/ExchangeRateOffice/Currencies.js +12 -0
  337. package/mobile/dist/components/ExchangeRateOffice/Currencies.js.map +1 -0
  338. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.d.ts +5 -0
  339. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.js +16 -0
  340. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -0
  341. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOfficeContent.d.ts +36 -0
  342. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOfficeContent.js +2 -0
  343. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOfficeContent.js.map +1 -0
  344. package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.d.ts +3 -0
  345. package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.js +30 -0
  346. package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.js.map +1 -0
  347. package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.d.ts +2 -0
  348. package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.js +9 -0
  349. package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.js.map +1 -0
  350. package/mobile/dist/components/Footer/TextInformationLink.js +1 -1
  351. package/mobile/dist/components/Footer/TextInformationLink.js.map +1 -1
  352. package/mobile/dist/components/RichTextBlock/RichTextBlock.js +2 -2
  353. package/mobile/dist/components/RichTextBlock/RichTextBlock.js.map +1 -1
  354. package/mobile/dist/hooks/useLink.d.ts +5 -1
  355. package/mobile/dist/hooks/useLink.js +3 -2
  356. package/mobile/dist/hooks/useLink.js.map +1 -1
  357. package/mobile/dist/services/sitemap/SitemapData.d.ts +2 -2
  358. package/mobile/dist/ui-kit/Button/getRegularButtonClasses.js +1 -1
  359. package/mobile/dist/ui-kit/Button/getRegularButtonClasses.js.map +1 -1
  360. package/mobile/dist/ui-kit/Button/renderButtonsSection.js +2 -2
  361. package/mobile/dist/ui-kit/Button/renderButtonsSection.js.map +1 -1
  362. package/mobile/dist/ui-kit/RichText/RichText.js +3 -2
  363. package/mobile/dist/ui-kit/RichText/RichText.js.map +1 -1
  364. package/mobile/dist/ui-kit/RichText/RichTextProps.d.ts +2 -2
  365. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.d.ts +2 -2
  366. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  367. package/mobile/dist/ui-kit/Select/Select.d.ts +2 -0
  368. package/mobile/dist/ui-kit/Select/Select.js +5 -3
  369. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  370. package/mobile/dist/ui-kit/Sitemap/Sitemap.d.ts +2 -2
  371. package/mobile/dist/ui-kit/Sitemap/Sitemap.js +3 -4
  372. package/mobile/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  373. package/mobile/dist/ui-kit/TopItem/TopItem.js +1 -1
  374. package/mobile/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  375. package/mobile/dist/utils/adjustHref.d.ts +1 -1
  376. package/mobile/dist/utils/adjustHref.js +4 -3
  377. package/mobile/dist/utils/adjustHref.js.map +1 -1
  378. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +3 -3
  379. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  380. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js +47 -40
  381. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  382. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +34 -28
  383. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  384. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +53 -42
  385. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  386. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js +24 -17
  387. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  388. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +38 -25
  389. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  390. package/mobile/lib/components/ApplicationForm/InputControl.d.ts +10 -0
  391. package/mobile/lib/components/ApplicationForm/InputControl.js +8 -0
  392. package/mobile/lib/components/ApplicationForm/InputControl.js.map +1 -0
  393. package/mobile/lib/components/ApplicationForm/SelectControl.d.ts +13 -0
  394. package/mobile/lib/components/ApplicationForm/SelectControl.js +12 -0
  395. package/mobile/lib/components/ApplicationForm/SelectControl.js.map +1 -0
  396. package/mobile/lib/components/ApplicationForm/models.d.ts +5 -0
  397. package/mobile/lib/components/ApplicationForm/normalizeSelected.d.ts +2 -0
  398. package/mobile/lib/components/ApplicationForm/normalizeSelected.js +2 -0
  399. package/mobile/lib/components/ApplicationForm/normalizeSelected.js.map +1 -0
  400. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +11 -0
  401. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.js +5 -0
  402. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -0
  403. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.d.ts +13 -0
  404. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.js +6 -0
  405. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.js.map +1 -0
  406. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +11 -0
  407. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js +5 -0
  408. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -0
  409. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.d.ts +13 -0
  410. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js +5 -0
  411. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -0
  412. package/mobile/lib/components/ApplicationForm/renderRegion.d.ts +12 -0
  413. package/mobile/lib/components/ApplicationForm/renderRegion.js +5 -0
  414. package/mobile/lib/components/ApplicationForm/renderRegion.js.map +1 -0
  415. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.d.ts +15 -0
  416. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js +5 -0
  417. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -0
  418. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +11 -0
  419. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js +5 -0
  420. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -0
  421. package/mobile/lib/components/ApplicationForm/useForm.d.ts +14 -0
  422. package/mobile/lib/components/ApplicationForm/useForm.js +34 -0
  423. package/mobile/lib/components/ApplicationForm/useForm.js.map +1 -0
  424. package/mobile/lib/components/ApplicationForm/validate.d.ts +1 -0
  425. package/mobile/lib/components/ApplicationForm/validate.js +19 -0
  426. package/mobile/lib/components/ApplicationForm/validate.js.map +1 -0
  427. package/mobile/lib/components/Bonus/Bonus.js +5 -3
  428. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  429. package/mobile/lib/components/Calculator/useDepositCalculatorParams.js +1 -1
  430. package/mobile/lib/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  431. package/mobile/lib/components/Carousel/Carousel.js +4 -3
  432. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  433. package/mobile/lib/components/Carousel/CarouselContent.d.ts +2 -0
  434. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -3
  435. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  436. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  437. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  438. package/mobile/lib/components/ExchangeRateOffice/Currencies.d.ts +8 -0
  439. package/mobile/lib/components/ExchangeRateOffice/Currencies.js +10 -0
  440. package/mobile/lib/components/ExchangeRateOffice/Currencies.js.map +1 -0
  441. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.d.ts +5 -0
  442. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.js +14 -0
  443. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -0
  444. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOfficeContent.d.ts +36 -0
  445. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOfficeContent.js +2 -0
  446. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOfficeContent.js.map +1 -0
  447. package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.d.ts +3 -0
  448. package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.js +27 -0
  449. package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.js.map +1 -0
  450. package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.d.ts +2 -0
  451. package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.js +6 -0
  452. package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.js.map +1 -0
  453. package/mobile/lib/components/Footer/TextInformationLink.js +1 -1
  454. package/mobile/lib/components/Footer/TextInformationLink.js.map +1 -1
  455. package/mobile/lib/components/RichTextBlock/RichTextBlock.js +2 -2
  456. package/mobile/lib/components/RichTextBlock/RichTextBlock.js.map +1 -1
  457. package/mobile/lib/hooks/useLink.d.ts +5 -1
  458. package/mobile/lib/hooks/useLink.js +3 -2
  459. package/mobile/lib/hooks/useLink.js.map +1 -1
  460. package/mobile/lib/services/sitemap/SitemapData.d.ts +2 -2
  461. package/mobile/lib/ui-kit/Button/getRegularButtonClasses.js +1 -1
  462. package/mobile/lib/ui-kit/Button/getRegularButtonClasses.js.map +1 -1
  463. package/mobile/lib/ui-kit/Button/renderButtonsSection.js +2 -2
  464. package/mobile/lib/ui-kit/Button/renderButtonsSection.js.map +1 -1
  465. package/mobile/lib/ui-kit/RichText/RichText.js +3 -2
  466. package/mobile/lib/ui-kit/RichText/RichText.js.map +1 -1
  467. package/mobile/lib/ui-kit/RichText/RichTextProps.d.ts +2 -2
  468. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.d.ts +2 -2
  469. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  470. package/mobile/lib/ui-kit/Select/Select.d.ts +2 -0
  471. package/mobile/lib/ui-kit/Select/Select.js +5 -3
  472. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  473. package/mobile/lib/ui-kit/Sitemap/Sitemap.d.ts +2 -2
  474. package/mobile/lib/ui-kit/Sitemap/Sitemap.js +3 -4
  475. package/mobile/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  476. package/mobile/lib/ui-kit/TopItem/TopItem.js +1 -1
  477. package/mobile/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  478. package/mobile/lib/utils/adjustHref.d.ts +1 -1
  479. package/mobile/lib/utils/adjustHref.js +4 -3
  480. package/mobile/lib/utils/adjustHref.js.map +1 -1
  481. package/mobile/src/common.css +24 -5
  482. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +2 -1
  483. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +3 -3
  484. package/mobile/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +52 -102
  485. package/mobile/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +38 -109
  486. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +75 -64
  487. package/mobile/src/components/ApplicationForm/ApplicationFormDeposit.tsx +44 -31
  488. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +43 -93
  489. package/mobile/src/components/ApplicationForm/InputControl.tsx +35 -0
  490. package/mobile/src/components/ApplicationForm/SelectControl.tsx +54 -0
  491. package/mobile/src/components/ApplicationForm/models.ts +6 -0
  492. package/mobile/src/components/ApplicationForm/normalizeSelected.ts +4 -0
  493. package/mobile/src/components/ApplicationForm/renderAcquiringDataOrganization.tsx +60 -0
  494. package/{src/components/ApplicationForm/renderSelects.tsx → mobile/src/components/ApplicationForm/renderAcquiringRegion.tsx} +22 -6
  495. package/mobile/src/components/ApplicationForm/renderBusinessCardDataOrganization.tsx +60 -0
  496. package/mobile/src/components/ApplicationForm/renderCreditDataOrganization.tsx +76 -0
  497. package/mobile/src/components/ApplicationForm/renderRegion.tsx +36 -0
  498. package/{src/components/ApplicationForm/renderBankOffices.tsx → mobile/src/components/ApplicationForm/renderRegionDepartment.tsx} +16 -7
  499. package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +68 -0
  500. package/mobile/src/components/ApplicationForm/useForm.ts +65 -0
  501. package/mobile/src/components/ApplicationForm/validate.ts +22 -0
  502. package/mobile/src/components/Bonus/Bonus.tsx +12 -7
  503. package/mobile/src/components/Calculator/useDepositCalculatorParams.ts +1 -1
  504. package/mobile/src/components/Carousel/Carousel.example.json +2 -1
  505. package/mobile/src/components/Carousel/Carousel.tsx +6 -2
  506. package/mobile/src/components/Carousel/CarouselContent.ts +2 -0
  507. package/mobile/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +5 -10
  508. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +2 -2
  509. package/mobile/src/components/ExchangeRateOffice/Currencies.ts +8 -0
  510. package/mobile/src/components/ExchangeRateOffice/ExchangeRateOffice.example.json +32 -0
  511. package/mobile/src/components/ExchangeRateOffice/ExchangeRateOffice.tsx +60 -0
  512. package/mobile/src/components/ExchangeRateOffice/ExchangeRateOffice.ui.json +1 -0
  513. package/mobile/src/components/ExchangeRateOffice/ExchangeRateOfficeContent.ts +36 -0
  514. package/mobile/src/components/ExchangeRateOffice/renderCurrencies.tsx +73 -0
  515. package/mobile/src/components/ExchangeRateOffice/renderTableHeader.tsx +11 -0
  516. package/mobile/src/components/Footer/TextInformationLink.tsx +1 -1
  517. package/mobile/src/components/RichTextBlock/RichTextBlock.tsx +2 -2
  518. package/mobile/src/hooks/useLink.ts +9 -2
  519. package/mobile/src/services/sitemap/SitemapData.ts +2 -2
  520. package/mobile/src/ui-kit/Button/getRegularButtonClasses.ts +1 -1
  521. package/mobile/src/ui-kit/Button/renderButtonsSection.tsx +2 -2
  522. package/mobile/src/ui-kit/RichText/RichText.tsx +5 -2
  523. package/mobile/src/ui-kit/RichText/RichTextProps.ts +2 -2
  524. package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +5 -5
  525. package/mobile/src/ui-kit/Select/Select.tsx +19 -4
  526. package/mobile/src/ui-kit/Sitemap/Sitemap.tsx +6 -7
  527. package/mobile/src/ui-kit/TopItem/TopItem.tsx +1 -1
  528. package/mobile/src/utils/adjustHref.ts +16 -11
  529. package/package.json +2 -2
  530. package/src/common.css +24 -5
  531. package/src/components/ApplicationForm/ApplicationForm.example.json +2 -1
  532. package/src/components/ApplicationForm/ApplicationForm.tsx +3 -3
  533. package/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +52 -102
  534. package/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +38 -109
  535. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +75 -64
  536. package/src/components/ApplicationForm/ApplicationFormDeposit.tsx +44 -31
  537. package/src/components/ApplicationForm/ApplicationFormWed.tsx +43 -93
  538. package/src/components/ApplicationForm/InputControl.tsx +35 -0
  539. package/src/components/ApplicationForm/SelectControl.tsx +54 -0
  540. package/src/components/ApplicationForm/models.ts +6 -0
  541. package/src/components/ApplicationForm/normalizeSelected.ts +4 -0
  542. package/src/components/ApplicationForm/renderAcquiringDataOrganization.tsx +60 -0
  543. package/{mobile/src/components/ApplicationForm/renderSelects.tsx → src/components/ApplicationForm/renderAcquiringRegion.tsx} +22 -6
  544. package/src/components/ApplicationForm/renderBusinessCardDataOrganization.tsx +60 -0
  545. package/src/components/ApplicationForm/renderCreditDataOrganization.tsx +76 -0
  546. package/src/components/ApplicationForm/renderRegion.tsx +36 -0
  547. package/{mobile/src/components/ApplicationForm/renderBankOffices.tsx → src/components/ApplicationForm/renderRegionDepartment.tsx} +16 -7
  548. package/src/components/ApplicationForm/renderWedDataOrganization.tsx +68 -0
  549. package/src/components/ApplicationForm/useForm.ts +65 -0
  550. package/src/components/ApplicationForm/validate.ts +22 -0
  551. package/src/components/Blocks.ts +2 -0
  552. package/src/components/Bonus/Bonus.tsx +12 -7
  553. package/src/components/Calculator/useDepositCalculatorParams.ts +1 -1
  554. package/src/components/Carousel/Carousel.example.json +2 -1
  555. package/src/components/Carousel/Carousel.fixture.tsx +2 -1
  556. package/src/components/Carousel/Carousel.tsx +6 -2
  557. package/src/components/Carousel/CarouselContent.ts +2 -0
  558. package/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +5 -10
  559. package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +4 -2
  560. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +2 -2
  561. package/src/components/ExchangeRateOffice/Currencies.ts +8 -0
  562. package/src/components/ExchangeRateOffice/ExchangeRateOffice.example.json +32 -0
  563. package/src/components/ExchangeRateOffice/ExchangeRateOffice.fixture.tsx +78 -0
  564. package/src/components/ExchangeRateOffice/ExchangeRateOffice.tsx +60 -0
  565. package/src/components/ExchangeRateOffice/ExchangeRateOffice.ui.json +1 -0
  566. package/src/components/ExchangeRateOffice/ExchangeRateOfficeContent.ts +36 -0
  567. package/src/components/ExchangeRateOffice/renderCurrencies.tsx +73 -0
  568. package/src/components/ExchangeRateOffice/renderTableHeader.tsx +11 -0
  569. package/src/components/Footer/TextInformationLink.tsx +1 -1
  570. package/src/components/RichTextBlock/RichTextBlock.fixture.tsx +22 -0
  571. package/src/components/RichTextBlock/RichTextBlock.tsx +2 -2
  572. package/src/components/TariffsTable/EmbeddableCellData.tsx +1 -4
  573. package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +14 -0
  574. package/src/hooks/useLink.ts +9 -2
  575. package/src/services/sitemap/SitemapData.ts +2 -2
  576. package/src/ui-kit/Button/getRegularButtonClasses.ts +1 -1
  577. package/src/ui-kit/Button/renderButtonsSection.tsx +2 -2
  578. package/src/ui-kit/RichText/RichText.tsx +5 -2
  579. package/src/ui-kit/RichText/RichTextProps.ts +2 -2
  580. package/src/ui-kit/SearchDialog/SearchDialog.tsx +5 -5
  581. package/src/ui-kit/Select/Select.tsx +19 -4
  582. package/src/ui-kit/Sitemap/Sitemap.tsx +6 -7
  583. package/src/ui-kit/TopItem/TopItem.tsx +1 -1
  584. package/src/utils/adjustHref.ts +16 -11
  585. package/bundle/components/ApplicationForm/normalizeSelectedRegion.d.ts +0 -2
  586. package/bundle/components/ApplicationForm/renderDataOrganization.d.ts +0 -14
  587. package/bundle/components/ApplicationForm/useFormHandlers.d.ts +0 -9
  588. package/dist/components/ApplicationForm/WrapperSelect.js +0 -13
  589. package/dist/components/ApplicationForm/WrapperSelect.js.map +0 -1
  590. package/dist/components/ApplicationForm/normalizeSelectedRegion.d.ts +0 -2
  591. package/dist/components/ApplicationForm/normalizeSelectedRegion.js +0 -5
  592. package/dist/components/ApplicationForm/normalizeSelectedRegion.js.map +0 -1
  593. package/dist/components/ApplicationForm/renderBankOffices.js +0 -7
  594. package/dist/components/ApplicationForm/renderBankOffices.js.map +0 -1
  595. package/dist/components/ApplicationForm/renderDataOrganization.d.ts +0 -14
  596. package/dist/components/ApplicationForm/renderDataOrganization.js +0 -7
  597. package/dist/components/ApplicationForm/renderDataOrganization.js.map +0 -1
  598. package/dist/components/ApplicationForm/renderSelects.js +0 -8
  599. package/dist/components/ApplicationForm/renderSelects.js.map +0 -1
  600. package/dist/components/ApplicationForm/useFormHandlers.d.ts +0 -9
  601. package/dist/components/ApplicationForm/useFormHandlers.js +0 -11
  602. package/dist/components/ApplicationForm/useFormHandlers.js.map +0 -1
  603. package/lib/components/ApplicationForm/WrapperSelect.js +0 -11
  604. package/lib/components/ApplicationForm/WrapperSelect.js.map +0 -1
  605. package/lib/components/ApplicationForm/normalizeSelectedRegion.d.ts +0 -2
  606. package/lib/components/ApplicationForm/normalizeSelectedRegion.js +0 -2
  607. package/lib/components/ApplicationForm/normalizeSelectedRegion.js.map +0 -1
  608. package/lib/components/ApplicationForm/renderBankOffices.js +0 -4
  609. package/lib/components/ApplicationForm/renderBankOffices.js.map +0 -1
  610. package/lib/components/ApplicationForm/renderDataOrganization.d.ts +0 -14
  611. package/lib/components/ApplicationForm/renderDataOrganization.js +0 -4
  612. package/lib/components/ApplicationForm/renderDataOrganization.js.map +0 -1
  613. package/lib/components/ApplicationForm/renderSelects.js +0 -5
  614. package/lib/components/ApplicationForm/renderSelects.js.map +0 -1
  615. package/lib/components/ApplicationForm/useFormHandlers.d.ts +0 -9
  616. package/lib/components/ApplicationForm/useFormHandlers.js +0 -8
  617. package/lib/components/ApplicationForm/useFormHandlers.js.map +0 -1
  618. package/mobile/bundle/components/ApplicationForm/normalizeSelectedRegion.d.ts +0 -2
  619. package/mobile/bundle/components/ApplicationForm/renderDataOrganization.d.ts +0 -14
  620. package/mobile/bundle/components/ApplicationForm/useFormHandlers.d.ts +0 -9
  621. package/mobile/dist/components/ApplicationForm/WrapperSelect.d.ts +0 -11
  622. package/mobile/dist/components/ApplicationForm/WrapperSelect.js +0 -13
  623. package/mobile/dist/components/ApplicationForm/WrapperSelect.js.map +0 -1
  624. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.d.ts +0 -2
  625. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.js +0 -5
  626. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.js.map +0 -1
  627. package/mobile/dist/components/ApplicationForm/renderBankOffices.d.ts +0 -13
  628. package/mobile/dist/components/ApplicationForm/renderBankOffices.js +0 -7
  629. package/mobile/dist/components/ApplicationForm/renderBankOffices.js.map +0 -1
  630. package/mobile/dist/components/ApplicationForm/renderDataOrganization.d.ts +0 -14
  631. package/mobile/dist/components/ApplicationForm/renderDataOrganization.js +0 -7
  632. package/mobile/dist/components/ApplicationForm/renderDataOrganization.js.map +0 -1
  633. package/mobile/dist/components/ApplicationForm/renderSelects.d.ts +0 -11
  634. package/mobile/dist/components/ApplicationForm/renderSelects.js +0 -8
  635. package/mobile/dist/components/ApplicationForm/renderSelects.js.map +0 -1
  636. package/mobile/dist/components/ApplicationForm/useFormHandlers.d.ts +0 -9
  637. package/mobile/dist/components/ApplicationForm/useFormHandlers.js +0 -11
  638. package/mobile/dist/components/ApplicationForm/useFormHandlers.js.map +0 -1
  639. package/mobile/lib/components/ApplicationForm/WrapperSelect.d.ts +0 -11
  640. package/mobile/lib/components/ApplicationForm/WrapperSelect.js +0 -11
  641. package/mobile/lib/components/ApplicationForm/WrapperSelect.js.map +0 -1
  642. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.d.ts +0 -2
  643. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.js +0 -2
  644. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.js.map +0 -1
  645. package/mobile/lib/components/ApplicationForm/renderBankOffices.d.ts +0 -13
  646. package/mobile/lib/components/ApplicationForm/renderBankOffices.js +0 -4
  647. package/mobile/lib/components/ApplicationForm/renderBankOffices.js.map +0 -1
  648. package/mobile/lib/components/ApplicationForm/renderDataOrganization.d.ts +0 -14
  649. package/mobile/lib/components/ApplicationForm/renderDataOrganization.js +0 -4
  650. package/mobile/lib/components/ApplicationForm/renderDataOrganization.js.map +0 -1
  651. package/mobile/lib/components/ApplicationForm/renderSelects.d.ts +0 -11
  652. package/mobile/lib/components/ApplicationForm/renderSelects.js +0 -5
  653. package/mobile/lib/components/ApplicationForm/renderSelects.js.map +0 -1
  654. package/mobile/lib/components/ApplicationForm/useFormHandlers.d.ts +0 -9
  655. package/mobile/lib/components/ApplicationForm/useFormHandlers.js +0 -8
  656. package/mobile/lib/components/ApplicationForm/useFormHandlers.js.map +0 -1
  657. package/mobile/src/components/ApplicationForm/WrapperSelect.tsx +0 -32
  658. package/mobile/src/components/ApplicationForm/normalizeSelectedRegion.ts +0 -4
  659. package/mobile/src/components/ApplicationForm/renderDataOrganization.tsx +0 -78
  660. package/mobile/src/components/ApplicationForm/useFormHandlers.ts +0 -18
  661. package/src/components/ApplicationForm/WrapperSelect.tsx +0 -32
  662. package/src/components/ApplicationForm/normalizeSelectedRegion.ts +0 -4
  663. package/src/components/ApplicationForm/renderDataOrganization.tsx +0 -78
  664. package/src/components/ApplicationForm/useFormHandlers.ts +0 -18
@@ -358,25 +358,6 @@
358
358
  };
359
359
  const Heading = JSX(({ className = '', headingType = 'h3', as: Tag = 'h3', title, children }) => (jsx(Tag, { className: `font-sans m-0 ${styles$4[headingType]} ${className}`, children: title || children })));
360
360
 
361
- const Input = JSX(({ className = '', inputClassName = '', id, name, type = 'text', label, value = '', valid = true, children, onChange, onBlur, ...inputProps }) => {
362
- const handleChange = useCallback((e) => {
363
- const validInputValue = e.target.validity.valid ? e.target.value : value;
364
- onChange(validInputValue);
365
- }, [onChange]);
366
- const handleBlur = useCallback((e) => {
367
- if (!onBlur) {
368
- return;
369
- }
370
- const validInputValue = e.target.validity.valid ? e.target.value : value;
371
- onBlur(validInputValue);
372
- }, [onBlur]);
373
- const paddingStyle = children ? 'pr-8' : '';
374
- const validStyle = valid
375
- ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
376
- : 'border-error';
377
- return (jsxs("div", { className: `relative ${className}`, children: [label ? jsx("label", { className: "block text-m-light mb-2", children: label }) : null, jsx("input", { className: `w-full border rounded-md text-primary-text outline-none p-4 ${paddingStyle} ${validStyle} ${inputClassName}`, id: id, name: name || id, type: type, value: value, onChange: handleChange, onBlur: handleBlur, ...inputProps }), children] }));
378
- });
379
-
380
361
  const consistentDataMap = new Map();
381
362
  function useAsyncData(key, fetcher, { fallback } = {}) {
382
363
  const args = useMemo(() => keyToArgs(key), [key]);
@@ -463,24 +444,6 @@
463
444
  return data || [];
464
445
  }
465
446
 
466
- const ACQUIRING_TYPES = [
467
- {
468
- name: 'Торговый эквайринг',
469
- },
470
- {
471
- name: 'Мобильный эквайринг',
472
- },
473
- {
474
- name: 'Интернет-эквайринг',
475
- },
476
- {
477
- name: 'QR-эквайринг (СБП)',
478
- },
479
- {
480
- name: 'Все виды эквайринга',
481
- },
482
- ];
483
-
484
447
  const useDialog = (id = '') => ({
485
448
  open: (message) => defaultEventBus.fire('dialog', { type: 'open', id, message }),
486
449
  close: () => defaultEventBus.fire('dialog', { type: 'close' }),
@@ -503,13 +466,14 @@
503
466
  joinPath: joinPath
504
467
  });
505
468
 
506
- const adjustHref = (router) => (href) => {
507
- if (!href || isURL(href) || (projectSettings.CDN && href.startsWith(projectSettings.CDN))) {
469
+ const adjustHref = (router) => (href, basePath = projectSettings.BASE_PATH) => {
470
+ if (!href || isURL(href) || hasPrefix(href, projectSettings.CDN)) {
508
471
  return href;
509
472
  }
510
473
  const isRelativeToBase = href.startsWith('/');
511
- return joinPath(projectSettings.BASE_PATH, isRelativeToBase ? '/' : dirname(router.pathname), href);
474
+ return joinPath(hasPrefix(href, basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
512
475
  };
476
+ const hasPrefix = (href, prefix) => prefix && href && href.startsWith(prefix);
513
477
 
514
478
  /* eslint-disable @typescript-eslint/ban-types */
515
479
  const handlerDecorator = (handler, targetContent) => {
@@ -538,12 +502,13 @@
538
502
  useRouter._impl = impl;
539
503
  };
540
504
 
541
- function useLink(isRemote = false) {
505
+ function useLink(params = {}) {
506
+ const { isRemote, basePath } = params;
542
507
  const router = useRouter();
543
508
  const { close } = useDialog();
544
509
  return (props) => ({
545
510
  ...props,
546
- href: isRemote ? props.href : adjustHref(router)(props.href),
511
+ href: isRemote ? props.href : adjustHref(router)(props.href, basePath),
547
512
  'aria-label': props.text,
548
513
  onClick: handlerDecorator(handleHref(props), props),
549
514
  });
@@ -620,7 +585,7 @@
620
585
 
621
586
  const getRegularButtonClasses = ({ className, rounded, version, }) => [
622
587
  buttonStyle,
623
- 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border',
588
+ 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border h-fit',
624
589
  version ? buttonStyleMap[version] : '',
625
590
  rounded ? 'rounded-full' : 'rounded-md',
626
591
  className,
@@ -641,7 +606,67 @@
641
606
 
642
607
  const Footnote = JSX(({ link }) => (jsxs(Paragraph, { size: "text-s-light", color: "text-secondary-text", children: [jsx(Text, { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441 " }), link ? (jsx(Button, { href: link.href, ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", target: link.target, className: "text-primary-main", children: jsx(Text, { children: link.text }) })) : null] })));
643
608
 
644
- const normalizeSelectedRegion$1 = (selectedRegion, regions) => !selectedRegion && regions?.length && regions[0]?.code ? regions[0].code : selectedRegion;
609
+ const Input = JSX(({ className = '', inputClassName = '', id, name, type = 'text', label, value = '', valid = true, children, onChange, onBlur, ...inputProps }) => {
610
+ const handleChange = useCallback((e) => {
611
+ const validInputValue = e.target.validity.valid ? e.target.value : value;
612
+ onChange(validInputValue);
613
+ }, [onChange]);
614
+ const handleBlur = useCallback((e) => {
615
+ if (!onBlur) {
616
+ return;
617
+ }
618
+ const validInputValue = e.target.validity.valid ? e.target.value : value;
619
+ onBlur(validInputValue);
620
+ }, [onBlur]);
621
+ const paddingStyle = children ? 'pr-8' : '';
622
+ const validStyle = valid
623
+ ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
624
+ : 'border-error';
625
+ return (jsxs("div", { className: `relative ${className}`, children: [label ? jsx("label", { className: "block text-m-light mb-2", children: label }) : null, jsx("input", { className: `w-full border rounded-md text-primary-text outline-none p-4 ${paddingStyle} ${validStyle} ${inputClassName}`, id: id, name: name || id, type: type, value: value, onChange: handleChange, onBlur: handleBlur, ...inputProps }), children] }));
626
+ });
627
+
628
+ const InputControl = JSX(({ className, label, value, error, onChange, onBlur }) => {
629
+ return (jsxs("div", { className: className, children: [jsx(Input, { type: "text", "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur }), jsx("div", { className: "h-2", children: jsx(Text, { size: "text-xs-light", color: "text-error", children: error ? error : null }) })] }));
630
+ });
631
+
632
+ const ERROR_EMPTY = 'Некорректно заполненное поле';
633
+ const validate = (key, value) => {
634
+ switch (key) {
635
+ case 'name':
636
+ return isName(value);
637
+ case 'inn':
638
+ return isTin(value);
639
+ case 'mail':
640
+ return isEmpty(value);
641
+ case 'phone':
642
+ return isEmpty(value);
643
+ default:
644
+ return isEmpty(value);
645
+ }
646
+ };
647
+ const isEmpty = (value) => (value ? '' : ERROR_EMPTY);
648
+ const isName = (value) => (value.length > 1 ? '' : ERROR_EMPTY);
649
+ const isTin = (value) => (value.length === 10 || value.length === 12 ? '' : ERROR_EMPTY);
650
+
651
+ const renderAcquiringDataOrganization = ({ fullName, inn, name, phone, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-5", children: [jsxs("div", { className: "w-1/2", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", error: errors['fullName'], value: fullName, onChange: (value) => handleChange({ fullName: value }), onBlur: (value) => handleChangeErrors({ fullName: validate('fullName', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", error: errors['name'], value: name, onChange: (value) => handleChange({ name: value }), onBlur: (value) => handleChangeErrors({ name: validate('name', value) }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0418\u041D\u041D", error: errors['inn'], value: inn, onChange: (value) => handleChange({ inn: value }), onBlur: (value) => handleChangeErrors({ inn: validate('inn', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", error: errors['phone'], value: phone, onChange: (value) => handleChange({ phone: value }), onBlur: (value) => handleChangeErrors({ phone: validate('phone', value) }) })] })] }));
652
+
653
+ const ACQUIRING_TYPES = [
654
+ {
655
+ name: 'Торговый эквайринг',
656
+ },
657
+ {
658
+ name: 'Мобильный эквайринг',
659
+ },
660
+ {
661
+ name: 'Интернет-эквайринг',
662
+ },
663
+ {
664
+ name: 'QR-эквайринг (СБП)',
665
+ },
666
+ {
667
+ name: 'Все виды эквайринга',
668
+ },
669
+ ];
645
670
 
646
671
  function useOutsideClick(onClick) {
647
672
  const targetRef = useRef(null);
@@ -682,7 +707,7 @@
682
707
  const getSvgSize = (width) => (width ? '' : 'w-full h-full');
683
708
  const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
684
709
 
685
- const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
710
+ const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '', valid = true, onValidate, }) => {
686
711
  const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
687
712
  const [isOpen, setIsOpen] = useState(false);
688
713
  const handleClickOutside = useCallback(() => setIsOpen(false), []);
@@ -691,13 +716,14 @@
691
716
  setSelectedItem(option);
692
717
  setIsOpen(false);
693
718
  onChange(option);
719
+ onValidate && onValidate(option.text);
694
720
  };
695
721
  const isSelected = (option) => Boolean(option.key === selectedItem.key);
696
722
  useEffect(() => {
697
723
  setSelectedItem(value || { key: '', text: '' });
698
724
  }, [value]);
699
725
  return (jsxs("div", { className: `${className}`, ref: wrapperRef, children: [label ? (jsx("div", { className: "mb-2", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null, jsxs("div", { className: `relative ${isOpen ? 'z-20' : 'z-10'}`, children: [jsxs("div", { className: `text-l flex justify-between items-center mb-0.5 text-primary-text cursor-pointer
700
- ${getBorderStyle(isBorder)}`, onClick: () => setIsOpen(!isOpen), children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: selectedItem?.text || placeholder }), jsx(Icon, { name: "ArrowUpIcon", width: "16", height: "16", className: `absolute right-3 ${isOpen ? '' : 'rotate-180'}` })] }), options?.length ? (jsx("div", { className: `h-0 ${renderOptionsStyle(isOpen)}`, children: jsx("div", { className: `bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]`, children: options.map(renderOption(choiceOption, isOpen, isSelected)) }) })) : null] })] }));
726
+ ${getBorderStyle(isBorder, valid)}`, onClick: () => setIsOpen(!isOpen), children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: selectedItem?.text || placeholder }), jsx(Icon, { name: "ArrowUpIcon", width: "16", height: "16", className: `absolute right-3 ${isOpen ? '' : 'rotate-180'}` })] }), options?.length ? (jsx("div", { className: `h-0 ${renderOptionsStyle(isOpen)}`, children: jsx("div", { className: `bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]`, children: options.map(renderOption(choiceOption, isOpen, isSelected)) }) })) : null] })] }));
701
727
  });
702
728
  const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
703
729
  const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
@@ -705,17 +731,18 @@
705
731
  choiceOption(option);
706
732
  }, className: "flex px-4 py-3 cursor-pointer hover:bg-main-divider pr-11 relative", children: [jsx("span", { className: "min-h-6", children: option.text }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: ['absolute right-4 pt-0.5', isSelected(option) && isOpen ? '' : 'hidden'].join(' ') })] }, String(i)));
707
733
  };
708
- const getBorderStyle = (isBorder) => isBorder ? 'border border-gray rounded-md hover:border-primary-hover' : '';
734
+ const getBorderStyle = (isBorder, valid) => `
735
+ ${isBorder ? 'border rounded-md hover:border-primary-hover' : ''} ${valid ? ' border-gray' : 'border-error'} `;
709
736
 
710
- const WrapperSelect$1 = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
737
+ const SelectControl = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label, error, onValidate, }) => {
711
738
  const dataFormat = data
712
739
  .filter(Boolean)
713
740
  .map((_) => ({ key: _?.[fieldValue || fieldLabel], text: _?.[fieldLabel] }));
714
741
  const selectedObj = dataFormat.find((_) => _.key === selected);
715
- return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
742
+ return (jsxs("div", { children: [jsx(Select, { options: dataFormat, label: label, valid: Boolean(!error), placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj, onValidate: onValidate }), jsx("div", { className: "h-2", children: jsx(Text, { size: "text-xs-light", color: "text-error", children: error ? error : null }) })] }));
716
743
  });
717
744
 
718
- const renderSelects = ({ acquiringType, regions, region, handleChange }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: ACQUIRING_TYPES, fieldValue: "name", fieldLabel: "name", selected: acquiringType, setSelected: (value) => handleChange({ acquiringType: value }), label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433" }) }), jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: regions, fieldValue: "code", fieldLabel: "name", selected: region, setSelected: (value) => handleChange({ region: value }), label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441" }) })] }));
745
+ const renderAcquiringRegion = ({ acquiringType, regions, region, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(SelectControl, { data: ACQUIRING_TYPES, fieldValue: "name", fieldLabel: "name", error: errors['acquiringType'], selected: acquiringType, setSelected: (value) => handleChange({ acquiringType: value }), onValidate: (value) => handleChangeErrors({ acquiringType: validate('acquiringType', value) }), label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433" }) }), jsx("div", { className: "w-1/2", children: jsx(SelectControl, { data: regions, fieldValue: "code", fieldLabel: "name", error: errors['region'], selected: region, setSelected: (value) => handleChange({ region: value }), onValidate: (value) => handleChangeErrors({ region: validate('region', value) }), label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441" }) })] }));
719
746
 
720
747
  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-4", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: `relative flex-shrink-0 duration-300 w-9 h-5 mr-3 rounded-2xl ${value ? 'bg-primary-main' : 'bg-main-divider'}`, children: jsx("div", { className: `absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full ${value ? 'left-[50%]' : 'left-[5%]'}` }) }), jsx("div", { children: jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: text }) })] })));
721
748
 
@@ -729,99 +756,146 @@
729
756
  return (jsx("button", { type: "submit", className: `p-4 ${buttonStyle} ${className}`, children: button?.text ? button.text : 'Отправить заявку' }));
730
757
  };
731
758
 
732
- const useFormHandlers = ({ setFormState }) => {
759
+ const useForm$1 = ({ initialFormState, errorsInitialState, handleSubmit, }) => {
760
+ const [formState, setFormState] = useState(initialFormState);
761
+ const [errors, setErrors] = useState(errorsInitialState || {});
733
762
  const handleChange = useCallback((state) => setFormState((oldState) => ({ ...oldState, ...state })), []);
763
+ const handleChangeErrors = useCallback((state) => setErrors((oldState) => ({ ...oldState, ...state })), []);
764
+ const sendForm = useCallback(async (sendData) => {
765
+ const errorsTemp = [];
766
+ const validateData = Object.keys(formState)
767
+ .filter((_) => Object.keys(errors).includes(_))
768
+ .reduce((obj, key) => {
769
+ obj[key] = formState[key];
770
+ return obj;
771
+ }, {});
772
+ for (const [key, value] of Object.entries(validateData)) {
773
+ const error = validate(key, value);
774
+ errorsTemp.push(error);
775
+ handleChangeErrors({ [key]: error });
776
+ }
777
+ if (errorsTemp.some((_) => _.length !== 0)) {
778
+ return;
779
+ }
780
+ handleSubmit && (await handleSubmit(sendData));
781
+ }, [formState]);
734
782
  return {
783
+ formState,
735
784
  handleChange,
785
+ errors,
786
+ handleChangeErrors,
787
+ sendForm,
736
788
  };
737
789
  };
738
790
 
791
+ const initialFormState$4 = {
792
+ acquiringType: 'Торговый эквайринг',
793
+ region: '',
794
+ fullName: '',
795
+ inn: '',
796
+ name: '',
797
+ phone: '',
798
+ onlineСheckout: false,
799
+ posTerminal: false,
800
+ };
801
+ const errorsInitialState$2 = {
802
+ acquiringType: '',
803
+ region: '',
804
+ fullName: '',
805
+ inn: '',
806
+ name: '',
807
+ phone: '',
808
+ };
739
809
  const ApplicationFormAcquiring = JSX((props) => {
740
810
  const { button, link, handleSubmit } = props;
741
- const [formState, setFormState] = useState({
742
- acquiringType: '',
743
- region: '',
744
- fullName: '',
745
- inn: '',
746
- name: '',
747
- phone: '',
748
- onlineСheckout: false,
749
- posTerminal: false,
811
+ const { formState, errors, handleChange, handleChangeErrors, sendForm } = useForm$1({
812
+ initialFormState: initialFormState$4,
813
+ errorsInitialState: errorsInitialState$2,
814
+ handleSubmit,
750
815
  });
751
816
  const { acquiringType, region, fullName, inn, name, phone, onlineСheckout, posTerminal } = formState;
752
817
  const regions = useGetRegions();
753
- const { handleChange } = useFormHandlers({
754
- setFormState,
755
- });
756
- const selectedRegion = normalizeSelectedRegion$1(region, regions);
757
- useEffect(() => {
758
- setFormState((oldState) => ({
759
- ...oldState,
760
- acquiringType: ACQUIRING_TYPES?.length && ACQUIRING_TYPES[0]?.name ? ACQUIRING_TYPES[0].name : '',
761
- }));
762
- }, []);
763
- const onSubmit = async (e) => {
818
+ const onSubmit = (e) => {
764
819
  e.preventDefault();
765
- const partnerComments = `Вид эквайринга=${acquiringType}/Онлайн касса=${onlineСheckout}/POS-терминал=${posTerminal}`;
766
- handleSubmit &&
767
- (await handleSubmit({
768
- typeForm: 'acqr',
769
- region: regions.find((_) => _.code === selectedRegion)?.name || '',
770
- partnerComments,
820
+ sendForm({
821
+ typeForm: 'acqr',
822
+ region: regions.find((_) => _.code === region)?.name || '',
823
+ partnerComments: `Вид эквайринга=${acquiringType}/Онлайн касса=${onlineСheckout}/POS-терминал=${posTerminal}`,
824
+ fullName,
825
+ inn,
826
+ name,
827
+ phone,
828
+ });
829
+ };
830
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430 \u0438 \u0440\u0435\u0433\u0438\u043E\u043D", className: "text-center mb-4" }), renderAcquiringRegion({
831
+ acquiringType,
832
+ regions,
833
+ region,
834
+ handleChange,
835
+ errors,
836
+ handleChangeErrors,
837
+ }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderAcquiringDataOrganization({
771
838
  fullName,
772
839
  inn,
773
840
  name,
774
841
  phone,
775
- }));
776
- };
777
- return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430 \u0438 \u0440\u0435\u0433\u0438\u043E\u043D", className: "text-center mb-4" }), renderSelects({
778
- acquiringType,
779
- regions,
780
- region: selectedRegion,
781
842
  handleChange,
782
- }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderDataOrganization$4({ fullName, inn, name, phone, handleChange }), renderSlideCheckboxes({
843
+ errors,
844
+ handleChangeErrors,
845
+ }), renderSlideCheckboxes({
783
846
  onlineСheckout,
784
847
  posTerminal,
785
848
  handleChange,
786
849
  }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
787
850
  });
788
- const renderDataOrganization$4 = ({ fullName, inn, name, phone, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-5", children: [jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }), jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", value: name, onChange: (value) => handleChange({ name: value }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", label: "\u0418\u041D\u041D", "aria-label": "\u0418\u041D\u041D", value: inn, onChange: (value) => handleChange({ inn: value }) }), jsx(Input, { className: "shrink-0 text-l w-full", type: "text", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) })] })] }));
789
851
 
852
+ const renderBusinessCardDataOrganization = ({ name, phone, mail, inn, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { className: "flex justify-between gap-5", children: [jsxs("div", { className: "w-1/2", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", error: errors['name'], value: name, onChange: (value) => handleChange({ name: value }), onBlur: (value) => handleChangeErrors({ name: validate('name', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0418\u041D\u041D", error: errors['inn'], value: inn, onChange: (value) => handleChange({ inn: value }), onBlur: (value) => handleChangeErrors({ inn: validate('inn', value) }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", error: errors['phone'], value: phone, onChange: (value) => handleChange({ phone: value }), onBlur: (value) => handleChangeErrors({ phone: validate('phone', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", error: errors['mail'], value: mail, onChange: (value) => handleChange({ mail: value }), onBlur: (value) => handleChangeErrors({ mail: validate('mail', value) }) })] })] }));
853
+
854
+ const renderRegion$1 = ({ regions, region, handleChange, errors, handleChangeErrors, }) => (jsx("div", { className: "flex justify-between gap-5 mb-5", children: jsx("div", { className: "w-full", children: jsx(SelectControl, { data: regions, fieldValue: "code", fieldLabel: "name", error: errors['region'], selected: region, setSelected: (value) => handleChange({ region: value }), onValidate: (value) => handleChangeErrors({ region: validate('region', value) }), label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D" }) }) }));
855
+
856
+ const initialFormState$3 = {
857
+ region: '',
858
+ name: '',
859
+ phone: '',
860
+ inn: '',
861
+ mail: '',
862
+ };
790
863
  const ApplicationFormBusinessCard = JSX((props) => {
791
864
  const { button, link, handleSubmit } = props;
792
- const [formState, setFormState] = useState({
793
- region: '',
794
- name: '',
795
- phone: '',
796
- inn: '',
797
- mail: '',
865
+ const { formState, errors, handleChange, handleChangeErrors, sendForm } = useForm$1({
866
+ initialFormState: initialFormState$3,
867
+ errorsInitialState: initialFormState$3,
868
+ handleSubmit,
798
869
  });
799
870
  const { region, name, phone, inn, mail } = formState;
800
871
  const regions = useGetRegions();
801
- const { handleChange } = useFormHandlers({
802
- setFormState,
803
- });
804
- const selectedRegion = normalizeSelectedRegion$1(region, regions);
805
- const onSubmit = async (e) => {
872
+ const onSubmit = (e) => {
806
873
  e.preventDefault();
807
- handleSubmit &&
808
- (await handleSubmit({
809
- typeForm: 'bcrd',
810
- region: regions.find((_) => _.code === selectedRegion)?.name || '',
874
+ sendForm({
875
+ typeForm: 'bcrd',
876
+ region: regions.find((_) => _.code === region)?.name || '',
877
+ name,
878
+ phone,
879
+ inn,
880
+ mail,
881
+ });
882
+ };
883
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [renderRegion$1({
884
+ regions,
885
+ region,
886
+ handleChange,
887
+ errors,
888
+ handleChangeErrors,
889
+ }), renderBusinessCardDataOrganization({
811
890
  name,
812
891
  phone,
813
892
  inn,
814
893
  mail,
815
- }));
816
- };
817
- return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [renderRegion$1({
818
- regions,
819
- region: selectedRegion,
820
894
  handleChange,
821
- }), renderDataOrganization$3({ name, phone, inn, mail, handleChange }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
895
+ errors,
896
+ handleChangeErrors,
897
+ }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
822
898
  });
823
- const renderDataOrganization$3 = ({ name, phone, mail, inn, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5", children: [jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", value: name, onChange: (value) => handleChange({ name: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0418\u041D\u041D", label: "\u0418\u041D\u041D", value: inn, onChange: (value) => handleChange({ inn: value }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) }), jsx(Input, { className: "shrink-0 text-l w-full ", type: "text", "aria-label": "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) })] })] }));
824
- const renderRegion$1 = ({ regions, region, handleChange }) => (jsx("div", { className: "flex justify-between gap-5 mb-5", children: jsx("div", { className: "w-full", children: jsx(WrapperSelect$1, { data: regions, fieldValue: "code", fieldLabel: "name", selected: region, setSelected: (value) => handleChange({ region: value }), label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D" }) }) }));
825
899
 
826
900
  const BRANCHES_URL = '/api/v1/branches';
827
901
  const EMPTY_VALUE$1 = [];
@@ -841,7 +915,7 @@
841
915
  const MAX_CREDIT_TERM = 60;
842
916
  const ITEMS_CREDIT_TERM = ['От 1 года', 'До 5 лет'];
843
917
 
844
- const renderBankOffices = ({ regions, region, branches, department, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: regions, fieldValue: "code", fieldLabel: "name", selected: region, setSelected: (value) => handleChange({ region: value }), label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: department, setSelected: (value) => handleChange({ department: value }), label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441" }) })] }));
918
+ const renderCreditDataOrganization = ({ fullName, inn, name, phone, mail, annualRevenue, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsxs("div", { className: "w-1/2", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0418\u041D\u041D", error: errors['inn'], value: inn, onChange: (value) => handleChange({ inn: value }), onBlur: (value) => handleChangeErrors({ inn: validate('inn', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", error: errors['phone'], value: phone, onChange: (value) => handleChange({ phone: value }), onBlur: (value) => handleChangeErrors({ phone: validate('phone', value) }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", error: errors['annualRevenue'], value: annualRevenue, onChange: (value) => handleChange({ annualRevenue: value }), onBlur: (value) => handleChangeErrors({ annualRevenue: validate('annualRevenue', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", error: errors['name'], value: name, onChange: (value) => handleChange({ name: value }), onBlur: (value) => handleChangeErrors({ name: validate('name', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) })] })] }));
845
919
 
846
920
  const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', {}).format(number);
847
921
 
@@ -885,81 +959,101 @@
885
959
  items: ITEMS_CREDIT_TERM,
886
960
  })] }));
887
961
 
888
- const renderDataOrganization$2 = ({ fullName, inn, name, phone, mail, annualRevenue, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0418\u041D\u041D", label: "\u0418\u041D\u041D", value: inn, onChange: (value) => handleChange({ inn: value }) }), jsx(Input, { className: "shrink-0 text-l w-full ", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", value: annualRevenue, onChange: (value) => handleChange({ annualRevenue: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", value: name, onChange: (value) => handleChange({ name: value }) }), jsx(Input, { className: "shrink-0 text-l w-full ", type: "text", "aria-label": "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) })] })] }));
889
-
890
- const ApplicationFormCredit = JSX((props) => {
891
- const { button, link, handleSubmit } = props;
892
- const [formState, setFormState] = useState({
893
- amount: MIN_CREDIT_AMOUNT,
894
- term: MIN_CREDIT_TERM,
895
- fullName: '',
896
- inn: '',
897
- name: '',
898
- phone: '',
899
- mail: '',
900
- region: '',
901
- department: '',
902
- annualRevenue: '',
903
- });
904
- const { amount, term, fullName, inn, name, phone, mail, region, department, annualRevenue } = formState;
962
+ const renderRegionDepartment = ({ regions, region, branches, department, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(SelectControl, { data: regions, fieldValue: "code", fieldLabel: "name", error: errors['region'], selected: region, setSelected: (value) => handleChange({ region: value, department: '' }), onValidate: (value) => handleChangeErrors({ region: validate('region', value) }), label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "w-1/2", children: jsx(SelectControl, { data: branches, fieldValue: "branchCode", fieldLabel: "address", error: errors['department'], selected: department, setSelected: (value) => handleChange({ department: value }), onValidate: (value) => handleChangeErrors({ department: validate('department', value) }), label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441" }) })] }));
963
+
964
+ const initialFormState$2 = {
965
+ amount: MIN_CREDIT_AMOUNT,
966
+ term: 12,
967
+ fullName: '',
968
+ inn: '',
969
+ name: '',
970
+ phone: '',
971
+ mail: '',
972
+ region: '',
973
+ department: '',
974
+ annualRevenue: '',
975
+ };
976
+ const errorsInitialState$1 = {
977
+ annualRevenue: '',
978
+ inn: '',
979
+ name: '',
980
+ phone: '',
981
+ region: '',
982
+ department: '',
983
+ };
984
+ const ApplicationFormCredit = JSX(({ button, link, handleSubmit }) => {
905
985
  const regions = useGetRegions();
906
- const { handleChange } = useFormHandlers({
907
- setFormState,
986
+ const { formState, errors, handleChange, handleChangeErrors, sendForm } = useForm$1({
987
+ initialFormState: initialFormState$2,
988
+ errorsInitialState: errorsInitialState$1,
989
+ handleSubmit,
908
990
  });
909
- const selectedRegion = normalizeSelectedRegion$1(region, regions);
910
- const branches = useBranches(selectedRegion).filter((branch) => branch.address);
911
- useEffect(() => {
912
- handleChange({
913
- department: '',
914
- });
915
- }, [formState.region, handleChange]);
916
- const onSubmit = async (e) => {
991
+ const { amount, term, fullName, inn, name, phone, mail, region, department, annualRevenue } = formState;
992
+ const branches = useBranches(region).filter((branch) => branch.address);
993
+ const onSubmit = (e) => {
917
994
  e.preventDefault();
918
- const partnerComments = `Сумма=${amount}/Срок=${term}/Выручка=${annualRevenue}`;
919
- handleSubmit &&
920
- (await handleSubmit({
921
- typeForm: 'cred',
995
+ sendForm({
996
+ typeForm: 'cred',
997
+ fullName,
998
+ inn,
999
+ name,
1000
+ phone,
1001
+ mail,
1002
+ region: regions.find((_) => _.code === region)?.name || '',
1003
+ department: branches.find((_) => _.branchCode === department)?.address || '',
1004
+ partnerComments: `Сумма=${amount}/Срок=${term}/Выручка=${annualRevenue}`,
1005
+ });
1006
+ };
1007
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043A\u0440\u0435\u0434\u0438\u0442\u0430", className: "text-center mb-4" }), renderCreditParameters({ amount, term, handleChange }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderCreditDataOrganization({
922
1008
  fullName,
923
1009
  inn,
924
1010
  name,
925
1011
  phone,
926
1012
  mail,
927
- region: regions.find((_) => _.code === selectedRegion)?.name || '',
928
- department: branches.find((_) => _.branchCode === department)?.address || '',
929
- partnerComments,
930
- }));
931
- };
932
- return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043A\u0440\u0435\u0434\u0438\u0442\u0430", className: "text-center mb-4" }), renderCreditParameters({ amount, term, handleChange }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderDataOrganization$2({ fullName, inn, name, phone, mail, annualRevenue, handleChange }), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0411\u0430\u043D\u043A\u0430", className: "text-center mb-4" }), renderBankOffices({
1013
+ annualRevenue,
1014
+ handleChange,
1015
+ errors,
1016
+ handleChangeErrors,
1017
+ }), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "text-center mb-4" }), renderRegionDepartment({
933
1018
  regions,
934
- region: selectedRegion,
1019
+ region,
935
1020
  branches,
936
1021
  department,
937
1022
  handleChange,
1023
+ errors,
1024
+ handleChangeErrors,
938
1025
  }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
939
1026
  });
940
1027
 
1028
+ const initialFormState$1 = {
1029
+ name: '',
1030
+ phone: '',
1031
+ };
941
1032
  const ApplicationFormDeposit = JSX((props) => {
942
1033
  const { button, link, handleSubmit } = props;
943
- const [formState, setFormState] = useState({
944
- name: '',
945
- phone: '',
1034
+ const { formState, errors, handleChange, handleChangeErrors, sendForm } = useForm$1({
1035
+ initialFormState: initialFormState$1,
1036
+ errorsInitialState: initialFormState$1,
1037
+ handleSubmit,
946
1038
  });
947
1039
  const { name, phone } = formState;
948
- const { handleChange } = useFormHandlers({
949
- setFormState,
950
- });
951
- const onSubmit = async (e) => {
1040
+ const onSubmit = (e) => {
952
1041
  e.preventDefault();
953
- handleSubmit &&
954
- (await handleSubmit({
955
- typeForm: 'dpst',
1042
+ sendForm({
1043
+ typeForm: 'dpst',
1044
+ name,
1045
+ phone,
1046
+ });
1047
+ };
1048
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0443 \u0438 \u043C\u044B \u043E\u0442\u0432\u0435\u0442\u0438\u043C \u043D\u0430 \u043B\u044E\u0431\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430\u043C", className: "text-center mb-4" }), renderDataOrganization({
956
1049
  name,
957
1050
  phone,
958
- }));
959
- };
960
- return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0443 \u0438 \u043C\u044B \u043E\u0442\u0432\u0435\u0442\u0438\u043C \u043D\u0430 \u043B\u044E\u0431\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430\u043C", className: "text-center mb-4" }), renderDataOrganization$1({ name: formState.name, phone: formState.phone, handleChange }), jsxs("div", { className: "flex justify-between items-center max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
1051
+ handleChange,
1052
+ errors,
1053
+ handleChangeErrors,
1054
+ }), jsxs("div", { className: "flex justify-between items-center max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
961
1055
  });
962
- const renderDataOrganization$1 = ({ name, phone, handleChange }) => (jsxs("div", { className: "max-w-[560px] m-auto", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0418\u043C\u044F", label: "\u0418\u043C\u044F", value: name, onChange: (value) => handleChange({ name: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) })] }));
1056
+ const renderDataOrganization = ({ name, phone, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { className: "max-w-[560px] m-auto", children: [jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0418\u043C\u044F", error: errors['name'], value: name, onChange: (value) => handleChange({ name: value }), onBlur: (value) => handleChangeErrors({ name: validate('name', value) }) }), jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", error: errors['phone'], value: phone, onChange: (value) => handleChange({ phone: value }), onBlur: (value) => handleChangeErrors({ phone: validate('phone', value) }) })] }));
963
1057
 
964
1058
  const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
965
1059
  const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', isMobile = false, pathPrefix }) => {
@@ -1016,36 +1110,53 @@
1016
1110
 
1017
1111
  const renderQuestionsInterested = ({ currencyControl, documentaryOperations, conversionOperations, text, handleChange, }) => (jsxs("div", { className: "mb-6", children: [jsxs("div", { className: "flex items-center mb-4 gap-6", children: [jsx(Checkbox, { text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C", checked: currencyControl, onChange: (value) => handleChange({ currencyControl: value }) }), jsx(Checkbox, { text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", checked: documentaryOperations, onChange: (value) => handleChange({ documentaryOperations: value }) }), jsx(Checkbox, { text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", checked: conversionOperations, onChange: (value) => handleChange({ conversionOperations: value }) })] }), jsx("textarea", { 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, \u043C\u0435\u0441\u0442\u043E \u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0431\u0438\u0437\u043D\u0435\u0441\u0430 \u0438 \u0443\u0434\u043E\u0431\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u043D\u043E\u0433\u043E \u0437\u0432\u043E\u043D\u043A\u0430", className: "block w-full resize-y min-h-24 p-4 outline-none border rounded-md border-main-stroke hover:border-primary-hover active:focus:border-primary-text", value: text, onChange: (e) => handleChange({ text: e.target.value }) })] }));
1018
1112
 
1113
+ const renderWedDataOrganization = ({ fullName, name, phone, mail, handleChange, errors, handleChangeErrors, }) => (jsxs("div", { children: [jsxs("div", { className: "flex justify-between gap-5", children: [jsx("div", { className: "w-1/2", children: jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", error: errors['fullName'], value: fullName, onChange: (value) => handleChange({ fullName: value }), onBlur: (value) => handleChangeErrors({ fullName: validate('fullName', value) }) }) }), jsx("div", { className: "w-1/2", children: jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0424\u0418\u041E", error: errors['name'], value: name, onChange: (value) => handleChange({ name: value }), onBlur: (value) => handleChangeErrors({ name: validate('name', value) }) }) })] }), jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", error: errors['phone'], value: phone, onChange: (value) => handleChange({ phone: value }), onBlur: (value) => handleChangeErrors({ phone: validate('phone', value) }) }) }), jsx("div", { className: "w-1/2", children: jsx(InputControl, { className: "shrink-0 text-l w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", error: errors['mail'], value: mail, onChange: (value) => handleChange({ mail: value }), onBlur: (value) => handleChangeErrors({ mail: validate('mail', value) }) }) })] })] }));
1114
+
1115
+ const initialFormState = {
1116
+ fullName: '',
1117
+ name: '',
1118
+ phone: '',
1119
+ mail: '',
1120
+ currencyControl: false,
1121
+ documentaryOperations: false,
1122
+ conversionOperations: false,
1123
+ text: '',
1124
+ };
1125
+ const errorsInitialState = {
1126
+ fullName: '',
1127
+ name: '',
1128
+ phone: '',
1129
+ mail: '',
1130
+ text: '',
1131
+ };
1019
1132
  const ApplicationFormWed = JSX((props) => {
1020
1133
  const { button, link, handleSubmit } = props;
1021
- const [formState, setFormState] = useState({
1022
- fullName: '',
1023
- name: '',
1024
- phone: '',
1025
- mail: '',
1026
- currencyControl: false,
1027
- documentaryOperations: false,
1028
- conversionOperations: false,
1029
- text: '',
1134
+ const { formState, errors, handleChange, handleChangeErrors, sendForm } = useForm$1({
1135
+ initialFormState,
1136
+ errorsInitialState,
1137
+ handleSubmit,
1030
1138
  });
1031
1139
  const { fullName, name, phone, mail, currencyControl, documentaryOperations, conversionOperations, text, } = formState;
1032
- const { handleChange } = useFormHandlers({
1033
- setFormState,
1034
- });
1035
- const onSubmit = async (e) => {
1140
+ const onSubmit = (e) => {
1036
1141
  e.preventDefault();
1037
- const partnerComments = `Валютный контроль=${currencyControl}/Документарные операции=${documentaryOperations}/Конверсионные операции=${conversionOperations}/Доп инф=${text}`;
1038
- handleSubmit &&
1039
- (await handleSubmit({
1040
- typeForm: 'kved',
1142
+ sendForm({
1143
+ typeForm: 'kved',
1144
+ fullName,
1145
+ name,
1146
+ phone,
1147
+ mail,
1148
+ partnerComments: `Валютный контроль=${currencyControl}/Документарные операции=${documentaryOperations}/Конверсионные операции=${conversionOperations}/Доп инф=${text}`,
1149
+ });
1150
+ };
1151
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderWedDataOrganization({
1041
1152
  fullName,
1042
1153
  name,
1043
1154
  phone,
1044
1155
  mail,
1045
- partnerComments,
1046
- }));
1047
- };
1048
- return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderDataOrganization({ fullName, name, phone, mail, handleChange }), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "text-center mb-4" }), renderQuestionsInterested({
1156
+ handleChange,
1157
+ errors,
1158
+ handleChangeErrors,
1159
+ }), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "text-center mb-4" }), renderQuestionsInterested({
1049
1160
  currencyControl,
1050
1161
  documentaryOperations,
1051
1162
  conversionOperations,
@@ -1053,7 +1164,6 @@
1053
1164
  handleChange,
1054
1165
  }), jsxs("div", { className: "flex items-center pb-9 mb-9 border-b border-main-divider", children: [renderSubmitButton(button, 'mr-5'), jsx(Footnote, { link: link })] }), jsx(Heading, { headingType: "h6", title: "\u0418\u043B\u0438 \u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0443\u0434\u043E\u0431\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C", className: "text-center mb-4" }), renderContacts()] }));
1055
1166
  });
1056
- const renderDataOrganization = ({ fullName, name, phone, mail, handleChange, }) => (jsxs("div", { children: [jsxs("div", { className: "flex justify-between gap-5 mb-5", children: [jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }) }), jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u0424\u0418\u041E", label: "\u0424\u0418\u041E", value: name, onChange: (value) => handleChange({ name: value }) }) })] }), jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) }) }), jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) }) })] })] }));
1057
1167
 
1058
1168
  const ResponseNotification = JSX(({ responceType }) => {
1059
1169
  const responceOK = responceType === 'OK';
@@ -1073,9 +1183,9 @@
1073
1183
  const { className = '', title, typeForm = 'credit', button, link, ...rest } = props;
1074
1184
  const [responceType, setResponseType] = useState('');
1075
1185
  const handleSubmit = useCallback(async (data) => {
1076
- const status = await API.send(data);
1077
- setResponseType(status ? 'OK' : 'Fail');
1078
- return 'OK';
1186
+ const status = (await API.send(data)) ? 'OK' : 'Fail';
1187
+ setResponseType(status);
1188
+ return status;
1079
1189
  }, []);
1080
1190
  return (jsx(BlockWrapper, { className: `font-sans bg-white p-[50px] pb-9 ${className}`, ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [title ? jsx(Heading, { headingType: "h3", title: title, className: "text-center mb-8" }) : null, COMPONENTS_MAP[typeForm]({ button, link, handleSubmit }), responceType ? jsx(ResponseNotification, { responceType: responceType }) : null] }) }));
1081
1191
  });
@@ -1097,11 +1207,11 @@
1097
1207
  return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
1098
1208
  };
1099
1209
 
1100
- const renderButtonsSection = (buttons, { className = '', buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-2' : 'gap-4', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
1210
+ const renderButtonsSection = (buttons, { className = '', buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-2' : 'gap-4', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
1101
1211
  const renderButton = (buttonClassName = '') => (button, index) => {
1102
1212
  const { text, icon, iconRight, version, ...rest } = button || {};
1103
1213
  const iconVersion = version === 'secondary' ? 'color' : 'white';
1104
- return text ? (jsx(Button, { className: buttonClassName, appendLeft: renderButtonIcon({ ...icon, iconVersion }), appendRight: renderButtonIcon({ ...iconRight, iconVersion }), version: version, text: text, ...rest }, index ? String(index) : '')) : null;
1214
+ return text || icon?.icon ? (jsx(Button, { className: buttonClassName, appendLeft: renderButtonIcon({ ...icon, iconVersion }), appendRight: renderButtonIcon({ ...iconRight, iconVersion }), version: version, text: text, ...rest }, index ? String(index) : '')) : null;
1105
1215
  };
1106
1216
  const DEFAULT_ICON_W = 24;
1107
1217
  const renderButtonIcon = (icon) => icon?.icon || icon?.src ? (jsx(ImgInner, { image: icon, width: String(icon?.size?.width || DEFAULT_ICON_W), height: String(DEFAULT_ICON_W), asSVG: true })) : null;
@@ -1159,9 +1269,9 @@
1159
1269
  const Bonus = JSX((props) => {
1160
1270
  const { className = '', title, description, bonusItems, ...rest } = props;
1161
1271
  return (jsx(BlockWrapper, { className: `p-12 pb-9 ${className}`, ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "M" }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems?.length
1162
- ? bonusItems.map((_, i) => (jsx("div", { className: "flex-grow w-[49%] border border-gray p-9 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0", children: jsxs("div", { className: "flex justify-between w-full", children: [jsxs("div", { className: "flex flex-col justify-between mr-4", children: [jsxs("div", { children: [jsx("div", { className: "text-h4", children: _.title }), jsx("div", { className: "text-xl-light mt-2 max-w-[488px]", children: _.description })] }), renderButtonsSection(_?.buttons)] }), _.bonusItemContent?.bonusType
1163
- ? renderBonusItemContent(_.bonusItemContent)
1164
- : null] }) }, String(i))))
1272
+ ? bonusItems.map((_, i) => (jsxs("div", { className: "flex-grow w-[49%] border border-gray p-9 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0", children: [_?.title ? jsx(Text, { size: "text-h4", children: _.title }) : null, _?.description ? (jsx("div", { className: "mt-2", children: jsx(Paragraph, { size: "text-xl", font: "font-light", children: _.description }) })) : null, jsxs("div", { className: "flex justify-between items-end mt-3", children: [renderButtonsSection(_?.buttons), _.bonusItemContent?.bonusType
1273
+ ? renderBonusItemContent(_.bonusItemContent)
1274
+ : null] })] }, String(i))))
1165
1275
  : null })] }) }));
1166
1276
  });
1167
1277
  const renderBonusItemContent = (bonusItemContent) => (jsx("div", { children: bonusItemContent.bonusType === 'count'
@@ -1761,7 +1871,7 @@
1761
1871
  }
1762
1872
  };
1763
1873
  const checkRowByParam = ({ row, userInputParams, paramKey, isExclude }) => isExclude || userInputParams[paramKey] === row[paramKey];
1764
- const getMiddleMonth = (minMonths, maxMonths) => Math.round((maxMonths - minMonths) / 2);
1874
+ const getMiddleMonth = (minMonths, maxMonths) => minMonths + Math.round((maxMonths - minMonths) / 2);
1765
1875
 
1766
1876
  const DepositCalculatorForm = JSX(({ className = '', sourceBookDir, buttons, footnote, paramsViewSettings }) => {
1767
1877
  const [moneyValue, setMoneyValue] = useState(DEPOSIT_DEFAULT_SUM);
@@ -2029,6 +2139,28 @@
2029
2139
  .filter(([_]) => _ && _.intersectionRatio >= 0.9)
2030
2140
  .map(([, i]) => i);
2031
2141
 
2142
+ const containerStyles = {
2143
+ 'horizontal-list': 'mx-auto mt-5 w-fit',
2144
+ 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2145
+ };
2146
+ const activeDotStyles = {
2147
+ 'horizontal-list': 'w-6',
2148
+ 'vertical-list': 'h-6',
2149
+ };
2150
+ const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2151
+ const inactiveDotStyle = 'w-2 h-2 opacity-30';
2152
+ const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2153
+ const handleClick = (idx) => {
2154
+ if (idx !== activeIndex && containerRef?.current) {
2155
+ containerRef.current.children[idx]?.scrollIntoView({
2156
+ behavior: 'smooth',
2157
+ block: 'nearest',
2158
+ });
2159
+ }
2160
+ };
2161
+ return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
2162
+ });
2163
+
2032
2164
  const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
2033
2165
 
2034
2166
  const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
@@ -2119,30 +2251,8 @@
2119
2251
  });
2120
2252
  const renderBlur = (isBlur, scroll) => (scroll.canScrollLeft || scroll.canScrollRight) && isBlur ? (jsxs("div", { children: [jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') }), jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })] })) : null;
2121
2253
 
2122
- const containerStyles = {
2123
- 'horizontal-list': 'mx-auto mt-5 w-fit',
2124
- 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2125
- };
2126
- const activeDotStyles = {
2127
- 'horizontal-list': 'w-6',
2128
- 'vertical-list': 'h-6',
2129
- };
2130
- const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2131
- const inactiveDotStyle = 'w-2 h-2 opacity-30';
2132
- const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2133
- const handleClick = (idx) => {
2134
- if (idx !== activeIndex && containerRef?.current) {
2135
- containerRef.current.children[idx]?.scrollIntoView({
2136
- behavior: 'smooth',
2137
- block: 'nearest',
2138
- });
2139
- }
2140
- };
2141
- return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
2142
- });
2143
-
2144
2254
  const ITEMS_GAP = 4;
2145
- const Carousel = JSX(({ className = '', itemCount, visibleItemCount, isBlur = true, isCyclic = false, arrowsPadded = true, isPadding = true, showDots = false, ...rest }) => {
2255
+ const Carousel = JSX(({ className = '', itemCount, visibleItemCount, isBlur = true, isCyclic = false, arrowsPadded = true, isPadding = true, showDots = false, isAlignCenter = false, ...rest }) => {
2146
2256
  const { blocks: childBlocks = [] } = rest.block || {};
2147
2257
  const count = itemCount || childBlocks?.length;
2148
2258
  const [activeIndex, setActiveIndex] = useState(Math.floor((visibleItemCount || 0) / 2));
@@ -2154,7 +2264,7 @@
2154
2264
  });
2155
2265
  const [dotsActiveIndex] = scroll.visibleIndicesRange;
2156
2266
  const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
2157
- return (jsx(BlockWrapper, { className: style(getPaddingStyle(isPadding), 'group-data-secondary:bg-primary-main group-data-secondary:text-white', className), ...rest, children: jsxs("div", { className: "relative max-w-full", children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: ITEMS_GAP, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
2267
+ return (jsx(BlockWrapper, { className: style(getPaddingStyle(isPadding), 'group-data-secondary:bg-primary-main group-data-secondary:text-white', className), ...rest, children: jsxs("div", { className: style(getAlignStyle(isAlignCenter), 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: ITEMS_GAP, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
2158
2268
  ...rest,
2159
2269
  renderProps: isBankHistoryCarousel
2160
2270
  ? (block, options) => renderBlock(block, options, {
@@ -2178,6 +2288,7 @@
2178
2288
  'CarouselEventCard',
2179
2289
  ];
2180
2290
  const getPaddingStyle = (isPadding) => (isPadding ? 'p-12' : '');
2291
+ const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
2181
2292
  const renderDots = (containerRef, dotsActiveIndex, itemCount) => (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: itemCount, listType: 'horizontal-list' }));
2182
2293
 
2183
2294
  const CarouselBankHistoryCard = JSX(({ title, description, blocksLength = 0, activeIndex, options }) => {
@@ -2387,13 +2498,11 @@
2387
2498
  const renderIconBlock$1 = (icon) => (jsxs("div", { className: "absolute bottom-0 right-0", children: [icon?.icon ? jsx(ImgInner, { image: getIconWithVersion(icon), asSVG: true }) : null, icon?.src ? jsx(ImgInner, { image: icon }) : null] }));
2388
2499
 
2389
2500
  const RichText = JSX((props) => {
2390
- const { __html = '' } = props;
2391
- return jsx("div", { className: "md-container", dangerouslySetInnerHTML: { __html } });
2501
+ const { __html = '', richVersion = '' } = props;
2502
+ return (jsx("div", { className: style(richVersion, 'md-container'), dangerouslySetInnerHTML: { __html } }));
2392
2503
  });
2393
2504
 
2394
- const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => {
2395
- return (jsx(BlockWrapper, { className: style('p-9 border border-gray min-w-96', richVersion, className), ...rest, children: jsx(RichText, { __html: __html }) }));
2396
- });
2505
+ const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: style('p-9 border border-gray min-w-96', className), ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
2397
2506
 
2398
2507
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2399
2508
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
@@ -2422,10 +2531,10 @@
2422
2531
  const cellsNode = cardCells.map(renderCardInfo);
2423
2532
  const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
2424
2533
  const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
2425
- return (jsxs(BlockWrapper, { className: style('relative border border-gray min-w-[322px] p-8 flex flex-col', getHitStyle(isHighlighting), className), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock(icon), title ? jsx(Heading, { className: "text-center pt-2", headingType: "h5", title: title }) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
2534
+ return (jsxs(BlockWrapper, { className: style('relative border border-gray p-8 flex flex-col', getHitStyle(isHighlighting), className), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock(icon), title ? jsx(Heading, { className: "text-center pt-2", headingType: "h5", title: title }) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
2426
2535
  });
2427
2536
  const renderIconBlock = (icon) => (jsxs("div", { className: "w-[267px] min-w-[267px] self-center", children: [icon?.src ? jsx(ImgInner, { image: icon }) : null, icon?.icon ? jsx(ImgInner, { image: getIconWithVersion(icon), asSVG: true }) : null] }));
2428
- const getHitStyle = (isHighlighting) => isHighlighting ? 'mt-9 pt-[70px]' : 'mt-[70px] pt-7';
2537
+ const getHitStyle = (isHighlighting) => isHighlighting ? 'mt-8 pt-20' : 'mt-20 pt-8';
2429
2538
  const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-5 flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16", asSVG: true })] }));
2430
2539
  const renderCardInfo = (cell, i) => (jsxs("div", { className: "py-5 border-b border-main-divider", children: [cell?.title ? (jsx("div", { className: "text-secondary-text text-m-light opacity-80", children: cell.title })) : null, cell?.description ? (jsx("div", { className: "text-primary-text text-h6 mt-1", children: cell.description })) : null] }, String(i)));
2431
2540
  const renderHitIcon = () => (jsxs("div", { className: "absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22", asSVG: true }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: "\u0425\u0418\u0422" })] }));
@@ -2515,6 +2624,49 @@
2515
2624
  const getErrorBlockStyle = (text) => (text ? 'py-20 pt-3 pb-1' : 'mb-16 pb-2 mt-24 pt-3');
2516
2625
  const ErrorBlock = JSX(({ className = '', title, subtitle, error, button, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-center items-center', getErrorBlockStyle(button?.text), className), version: "transparent", ...rest, children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...button, children: button.text })) : null] })));
2517
2626
 
2627
+ var Currencies;
2628
+ (function (Currencies) {
2629
+ Currencies["EUR"] = "EUR";
2630
+ Currencies["USD"] = "USD";
2631
+ Currencies["GBP"] = "GBP";
2632
+ Currencies["AUD"] = "AUD";
2633
+ Currencies["CNY"] = "CNY";
2634
+ Currencies["RUB"] = "RUB";
2635
+ })(Currencies || (Currencies = {}));
2636
+
2637
+ const CURRENCY_ICONS_MAP$1 = {
2638
+ USD: 'DollarIcon',
2639
+ EUR: 'EuroIcon',
2640
+ GBP: 'DollarIcon',
2641
+ AUD: 'DollarIcon',
2642
+ CNY: 'DollarIcon',
2643
+ RUB: 'RoundRubleIcon',
2644
+ };
2645
+ const renderCurrencyRow$1 = ({ title, buyPrice, buyDifference, sellPrice, sellDifference, buyOfficeName, sellOfficeName, }) => {
2646
+ return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [title ? (jsx(ImgInner, { image: { icon: CURRENCY_ICONS_MAP$1[title] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-2", children: title })] }) }), renderCurrency(buyPrice, buyDifference), renderCurrency(sellPrice, sellDifference), renderOffice(buyPrice, buyOfficeName), renderOffice(sellPrice, sellOfficeName)] }, title));
2647
+ };
2648
+ const formatCurrency$1 = (value) => (value ? currencyNumberFormat$1.format(value) : '');
2649
+ const renderCurrency = (price, difference) => {
2650
+ return (jsxs("td", { className: "pt-4 pl-11", children: [jsx("div", { children: formatCurrency$1(price) }), jsx("div", { className: style('font-normal text-sm text-secondary-text', (difference || 0) >= 0 ? 'text-green' : 'text-red'), children: formatCurrency$1(difference) })] }));
2651
+ };
2652
+ const renderOffice = (price, officeName = '') => {
2653
+ return (jsxs("td", { className: "pt-4 pl-11", children: [jsx("div", { children: formatCurrency$1(price) }), jsx("div", { className: "font-normal text-sm text-green", children: officeName })] }));
2654
+ };
2655
+ const currencyNumberFormat$1 = new Intl.NumberFormat('ru', {
2656
+ style: 'currency',
2657
+ currency: Currencies.RUB,
2658
+ });
2659
+
2660
+ const renderTableHeader = (title) => {
2661
+ return (jsx("th", { className: "pl-11", children: jsx(Text, { size: "text-m-light", align: "text-left", color: "text-secondary-text", children: title }) }));
2662
+ };
2663
+
2664
+ const ExchangeRateOffice = JSX(({ className = '', currencies = [], actuality = '', officeName = '', ...rest }) => {
2665
+ const fourRates = topNRates(currencies, 4);
2666
+ return (jsxs(BlockWrapper, { className: style('font-sans text-primary-text py-10 bg-white', className), ...rest, children: [jsxs("div", { className: "flex flex-row flex-grow-0 justify-between mx-10 mb-8", children: [jsx(Heading, { headingType: "h4", title: 'Курс обмена валют в ' + officeName, className: "whitespace-pre-wrap text-h4 mb-5" }), jsx("div", { className: "pl-11", children: jsx(Text, { size: "text-m-light", align: "text-left", color: "text-secondary-text", children: actuality }) })] }), jsx("div", { className: "flex flex-row ml-8 mr-14 pt-4 text-left", children: fourRates.length > 0 ? (jsxs("table", { className: style('h-fit w-fit', className), children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { children: jsx(Text, { size: "text-m-light", align: "text-left", color: "text-secondary-text", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }) }), renderTableHeader('Купить'), renderTableHeader('Продать'), renderTableHeader('Лучшая покупка'), renderTableHeader('Лучшая продажа')] }) }), jsx("tbody", { children: fourRates.map((item) => renderCurrencyRow$1(item)) })] })) : null })] }));
2667
+ });
2668
+ const topNRates = (rates, n) => rates.sort((a, b) => Number(a.id) - Number(b.id)).slice(0, n);
2669
+
2518
2670
  var Currency;
2519
2671
  (function (Currency) {
2520
2672
  Currency["RUB"] = "RUB";
@@ -3040,7 +3192,7 @@
3040
3192
  }
3041
3193
 
3042
3194
  const Sitemap = JSX(({ className, topItems }) => {
3043
- const link = useLink(true);
3195
+ const link = useLink({ isRemote: true });
3044
3196
  return (jsx("div", { className: style('flex items-start justify-between', className), children: topItems?.map(link).map(renderColumn) }));
3045
3197
  });
3046
3198
  const renderColumn = (menuItem, index) => {
@@ -3049,9 +3201,9 @@
3049
3201
  };
3050
3202
  const ColumnItem = JSX(({ text, index, basePath, ...rest }) => {
3051
3203
  const isAnotherPortal = projectSettings.BASE_PATH && basePath ? !projectSettings.BASE_PATH.startsWith(basePath) : false;
3052
- const link = useLink(isAnotherPortal);
3204
+ const link = useLink({ isRemote: isAnotherPortal });
3053
3205
  const { href, target, onClick } = link(rest);
3054
- return (jsx("a", { className: style('text-l-light text-secondary-text hover:text-primary-main no-underline', 'overflow-x-hidden overflow-ellipsis whitespace-nowrap'), href: isAnotherPortal ? joinPath(basePath, href) : href, target: target || '_self', onClick: onClick, children: text || `Раздел ${index}` }));
3206
+ return (jsx("a", { className: style('text-l-light text-secondary-text hover:text-primary-main no-underline', 'overflow-x-hidden overflow-ellipsis whitespace-nowrap'), href: href, target: target || '_self', onClick: onClick, children: text || `Раздел ${index}` }));
3055
3207
  });
3056
3208
 
3057
3209
  const SearchInput = JSX(({ className, isMobile, value, autoFocus, onChange, onFocus }) => {
@@ -3135,7 +3287,7 @@
3135
3287
  });
3136
3288
 
3137
3289
  const TextInformationLink = JSX(({ className = '', index, ...rest }) => {
3138
- const link = useLink();
3290
+ const link = useLink({ isRemote: true });
3139
3291
  const { href, target, text, onClick } = link(rest);
3140
3292
  return (jsx("a", { className: `text-xs-light text-secondary-text visited:text-secondary-text hover:text-primary-main inline-block no-underline max-w-[292px] ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` }));
3141
3293
  });
@@ -3272,7 +3424,7 @@
3272
3424
  });
3273
3425
 
3274
3426
  const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
3275
- const link = useLink(true);
3427
+ const link = useLink({ isRemote: true });
3276
3428
  const { href, target, text, onClick } = link(rest);
3277
3429
  return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
3278
3430
  });
@@ -4196,8 +4348,8 @@
4196
4348
  }
4197
4349
 
4198
4350
  const RichTextBlock = JSX((props) => {
4199
- const { __html, ...rest } = props;
4200
- return (jsx(BlockWrapper, { ...rest, children: jsx(RichText, { __html: __html }) }));
4351
+ const { __html, richVersion, ...rest } = props;
4352
+ return (jsx(BlockWrapper, { ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) }));
4201
4353
  });
4202
4354
 
4203
4355
  const RollupItem = JSX(({ className = '', label = 'Развернуть', isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => (jsx(BlockWrapper, { className: `w-full border-0 border-b border-solid border-main-divider last:border-b-0 ${className}`, tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: `grid grid-cols-12 gap-5 [&>*]:p-0`, isUnfolded: isUnfolded, children: renderChildren(rest) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({ version, label, isUnfolded, onToggle }) }) })));
@@ -4583,9 +4735,7 @@
4583
4735
  return (jsxs(Button, { version: "primary", onClick: onClick, className: "w-full flex items-center justify-center rounded-none py-5", children: [jsx("div", { className: "text-h4", children: isOpen ? 'Скрыть' : 'Показать ставки по вкладу' }), jsx(Icon, { name: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon', className: "ml-3", iconVersion: "white", width: "20", height: "20", asSVG: true })] }));
4584
4736
  });
4585
4737
 
4586
- const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
4587
- buttonClassName: 'w-12 h-12',
4588
- });
4738
+ const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons);
4589
4739
  const renderLabelDescriptionCellData = ({ label, description }) => {
4590
4740
  const labelClassName = `text-h6 m-0 ${description ? 'mb-1' : ''}`;
4591
4741
  return (jsxs("div", { children: [label ? jsx("div", { className: labelClassName, children: label }) : null, description ? jsx("div", { className: "text-secondary-text text-l-light", children: description }) : null] }));
@@ -4853,6 +5003,7 @@
4853
5003
  Tile,
4854
5004
  VerticalLayout,
4855
5005
  Video,
5006
+ ExchangeRateOffice,
4856
5007
  };
4857
5008
 
4858
5009
  const debounce = (fn, delay = 600) => {
@@ -4983,7 +5134,7 @@
4983
5134
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
4984
5135
  }
4985
5136
 
4986
- const packageVersion = "0.9.15";
5137
+ const packageVersion = "0.10.0";
4987
5138
 
4988
5139
  exports.Blocks = Blocks;
4989
5140
  exports.ContentPage = ContentPage;