@redneckz/wildless-cms-uni-blocks 0.12.10 → 0.12.12

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 (1863) hide show
  1. package/bin/migration-scripts/0.12.9.js +30 -0
  2. package/bundle/BlockRenderer/renderBlock.d.ts +2 -4
  3. package/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
  4. package/bundle/BlockRenderer/renderChildren.d.ts +5 -4
  5. package/bundle/blocks.schema.json +1 -1
  6. package/bundle/bundle.umd.js +558 -471
  7. package/bundle/bundle.umd.min.js +1 -1
  8. package/bundle/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
  9. package/bundle/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +1 -0
  10. package/bundle/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  11. package/bundle/components/Calculator/CalculatorContent.d.ts +20 -1
  12. package/bundle/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
  13. package/bundle/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
  14. package/bundle/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
  15. package/bundle/components/Calculator/constants.d.ts +12 -0
  16. package/bundle/components/Calculator/getMonthlyPayment.d.ts +8 -2
  17. package/bundle/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
  18. package/bundle/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
  19. package/bundle/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
  20. package/bundle/components/Carousel/CarouselContent.d.ts +3 -9
  21. package/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  22. package/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
  23. package/bundle/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  24. package/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
  25. package/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
  26. package/bundle/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
  27. package/bundle/components/CarouselProductCard/alignTextStyle.mobile.d.ts +1 -0
  28. package/bundle/components/Footer/Footer.d.ts +1 -4
  29. package/bundle/components/Footer/Footer.mobile.d.ts +1 -4
  30. package/bundle/components/Footer/FooterProps.d.ts +6 -0
  31. package/bundle/components/Header/Header.d.ts +1 -4
  32. package/bundle/components/Header/Header.mobile.d.ts +2 -5
  33. package/bundle/components/Header/HeaderContent.d.ts +0 -2
  34. package/bundle/components/Header/HeaderProps.d.ts +8 -0
  35. package/bundle/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  36. package/bundle/components/LinkDocs/LinkDocsContent.d.ts +0 -2
  37. package/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  38. package/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  39. package/bundle/hooks/useCarouselControls.d.ts +1 -1
  40. package/bundle/model/Attachment.d.ts +2 -0
  41. package/bundle/model/JSXBlock.d.ts +1 -1
  42. package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  43. package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  44. package/bundle/utils/formatBytes.d.ts +1 -0
  45. package/dist/BlockRenderer/renderBlock.d.ts +2 -4
  46. package/dist/BlockRenderer/renderBlock.js +1 -2
  47. package/dist/BlockRenderer/renderBlock.js.map +1 -1
  48. package/dist/BlockRenderer/renderBlockList.d.ts +5 -2
  49. package/dist/BlockRenderer/renderBlockList.js +12 -7
  50. package/dist/BlockRenderer/renderBlockList.js.map +1 -1
  51. package/dist/BlockRenderer/renderChildren.d.ts +5 -4
  52. package/dist/BlockRenderer/renderChildren.js +2 -2
  53. package/dist/BlockRenderer/renderChildren.js.map +1 -1
  54. package/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  55. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  56. package/dist/components/ApplicationForm/ApplicationFormWed.js +1 -1
  57. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  58. package/dist/components/ApplicationForm/ResponseNotification.js +1 -1
  59. package/dist/components/ApplicationForm/ResponseNotification.js.map +1 -1
  60. package/dist/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  61. package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  62. package/dist/components/BenefitsBlock/BenefitsBlock.js +4 -4
  63. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  64. package/dist/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
  65. package/dist/components/BenefitsBlock/benefitImageStyles.js +4 -0
  66. package/dist/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
  67. package/dist/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +1 -0
  68. package/dist/components/BenefitsBlock/benefitImageStyles.mobile.js +4 -0
  69. package/dist/components/BenefitsBlock/benefitImageStyles.mobile.js.map +1 -0
  70. package/dist/components/Blocks.mobile.js +6 -0
  71. package/dist/components/Blocks.mobile.js.map +1 -1
  72. package/dist/components/Bonus/Bonus.js +2 -2
  73. package/dist/components/Bonus/Bonus.js.map +1 -1
  74. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
  75. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  76. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  77. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  78. package/dist/components/BusinessBlock/BusinessBlock.js +1 -1
  79. package/dist/components/BusinessBlock/BusinessBlock.js.map +1 -1
  80. package/dist/components/BusinessBlock/BusinessCard.js +2 -2
  81. package/dist/components/BusinessBlock/BusinessCard.js.map +1 -1
  82. package/dist/components/Calculator/BonusCalculatorForm.js +2 -2
  83. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  84. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
  85. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  86. package/dist/components/Calculator/Calculator.js +5 -5
  87. package/dist/components/Calculator/Calculator.js.map +1 -1
  88. package/dist/components/Calculator/CalculatorContent.d.ts +20 -1
  89. package/dist/components/Calculator/CreditCalculatorForm.js +2 -2
  90. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  91. package/dist/components/Calculator/DepositCalculatorForm.js +3 -3
  92. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  93. package/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
  94. package/dist/components/Calculator/EmbeddableCalcBlocks.js +2 -0
  95. package/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  96. package/dist/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
  97. package/dist/components/Calculator/RefinancingCalculatorForm.js +63 -0
  98. package/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
  99. package/dist/components/Calculator/UnknownRate.js +1 -1
  100. package/dist/components/Calculator/UnknownRate.js.map +1 -1
  101. package/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
  102. package/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +23 -0
  103. package/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
  104. package/dist/components/Calculator/constants.d.ts +12 -0
  105. package/dist/components/Calculator/constants.js +25 -1
  106. package/dist/components/Calculator/constants.js.map +1 -1
  107. package/dist/components/Calculator/getMonthlyPayment.d.ts +8 -2
  108. package/dist/components/Calculator/getMonthlyPayment.js +7 -2
  109. package/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
  110. package/dist/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
  111. package/dist/components/Calculator/getRefinancingCalculatorLimitParams.js +10 -0
  112. package/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
  113. package/dist/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
  114. package/dist/components/Calculator/getRefinancingCalculatorRateParams.js +16 -0
  115. package/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
  116. package/dist/components/Calculator/rangeHelpers.js +7 -3
  117. package/dist/components/Calculator/rangeHelpers.js.map +1 -1
  118. package/dist/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
  119. package/dist/components/Calculator/useRefinancingCalculatorParams.js +57 -0
  120. package/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
  121. package/dist/components/CardTransfer/CardTransfer.js +1 -1
  122. package/dist/components/CardTransfer/CardTransfer.js.map +1 -1
  123. package/dist/components/Carousel/Carousel.js +18 -33
  124. package/dist/components/Carousel/Carousel.js.map +1 -1
  125. package/dist/components/Carousel/CarouselContent.d.ts +3 -9
  126. package/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  127. package/dist/components/Carousel/CarouselScrollButtons.js +4 -4
  128. package/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
  129. package/dist/components/Carousel/renderControlButtons.d.ts +2 -3
  130. package/dist/components/Carousel/renderControlButtons.js +3 -3
  131. package/dist/components/Carousel/renderControlButtons.js.map +1 -1
  132. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  133. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
  134. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  135. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
  136. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
  137. package/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
  138. package/dist/components/CarouselCard/CarouselCard.js +6 -5
  139. package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  140. package/dist/components/CarouselCard/constants.js +2 -2
  141. package/dist/components/CarouselCard/constants.js.map +1 -1
  142. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
  143. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  144. package/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
  145. package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  146. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  147. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  148. package/dist/components/CarouselLinks/CarouselLinks.js +2 -2
  149. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  150. package/dist/components/CarouselProductCard/CarouselProductCard.js +13 -12
  151. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  152. package/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
  153. package/dist/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
  154. package/dist/components/CarouselProductCard/alignTextStyle.js +4 -0
  155. package/dist/components/CarouselProductCard/alignTextStyle.js.map +1 -0
  156. package/dist/components/CarouselProductCard/alignTextStyle.mobile.d.ts +1 -0
  157. package/dist/components/CarouselProductCard/alignTextStyle.mobile.js +4 -0
  158. package/dist/components/CarouselProductCard/alignTextStyle.mobile.js.map +1 -0
  159. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  160. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  161. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +3 -4
  162. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  163. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
  164. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  165. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  166. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  167. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  168. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  169. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js +1 -1
  170. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -1
  171. package/dist/components/ComparisonTable/ComparisonTable.js +2 -2
  172. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  173. package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  174. package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  175. package/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
  176. package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  177. package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  178. package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  179. package/dist/components/ComparisonTable/HeaderCell.js +1 -1
  180. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  181. package/dist/components/ComparisonTable/HeaderCell.mobile.js +2 -2
  182. package/dist/components/ComparisonTable/HeaderCell.mobile.js.map +1 -1
  183. package/dist/components/ComparisonTable/TableCell.js +1 -1
  184. package/dist/components/ComparisonTable/TableCell.js.map +1 -1
  185. package/dist/components/ComparisonTable/TableColumn.js +2 -2
  186. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  187. package/dist/components/ContactsBlock/ContactsBlock.js +2 -2
  188. package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  189. package/dist/components/ContentPage/ContentPage.js +17 -10
  190. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  191. package/dist/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
  192. package/dist/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
  193. package/dist/components/ExchangeRateOffice/renderCurrencies.js +3 -3
  194. package/dist/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
  195. package/dist/components/ExchangeRateOffice/renderTableHeader.js +1 -1
  196. package/dist/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
  197. package/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
  198. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  199. package/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
  200. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  201. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  202. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  203. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  204. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  205. package/dist/components/Footer/Contacts.js +4 -3
  206. package/dist/components/Footer/Contacts.js.map +1 -1
  207. package/dist/components/Footer/Footer.d.ts +1 -4
  208. package/dist/components/Footer/Footer.js +3 -5
  209. package/dist/components/Footer/Footer.js.map +1 -1
  210. package/dist/components/Footer/Footer.mobile.d.ts +1 -4
  211. package/dist/components/Footer/Footer.mobile.js +3 -5
  212. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  213. package/dist/components/Footer/FooterProps.d.ts +6 -0
  214. package/dist/components/Footer/FooterProps.js +2 -0
  215. package/dist/components/Footer/FooterProps.js.map +1 -0
  216. package/dist/components/GracePeriod/GracePeriod.js +2 -2
  217. package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  218. package/dist/components/Header/Header.d.ts +1 -4
  219. package/dist/components/Header/Header.js +3 -9
  220. package/dist/components/Header/Header.js.map +1 -1
  221. package/dist/components/Header/Header.mobile.d.ts +2 -5
  222. package/dist/components/Header/Header.mobile.js +3 -6
  223. package/dist/components/Header/Header.mobile.js.map +1 -1
  224. package/dist/components/Header/HeaderContent.d.ts +0 -2
  225. package/dist/components/Header/HeaderProps.d.ts +8 -0
  226. package/dist/components/Header/HeaderProps.js +2 -0
  227. package/dist/components/Header/HeaderProps.js.map +1 -0
  228. package/dist/components/Header/HeaderSubMenu.js +1 -1
  229. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  230. package/dist/components/Header/HeaderTop.js +1 -1
  231. package/dist/components/Header/HeaderTop.js.map +1 -1
  232. package/dist/components/Headline/Headline.js +1 -1
  233. package/dist/components/Headline/Headline.js.map +1 -1
  234. package/dist/components/Headline/headlineVersionStyles.js +4 -4
  235. package/dist/components/Headline/headlineVersionStyles.js.map +1 -1
  236. package/dist/components/HorizontalLayout/HorizontalLayout.js +1 -1
  237. package/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  238. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  239. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js +8 -0
  240. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
  241. package/dist/components/HorizontalLayout/gapStyles.js +6 -6
  242. package/dist/components/HorizontalLayout/gapStyles.js.map +1 -1
  243. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
  244. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  245. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  246. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  247. package/dist/components/InvestmentInfo/InvestmentInfo.js +12 -14
  248. package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  249. package/dist/components/LinkDocs/LinkDocs.js +6 -2
  250. package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  251. package/dist/components/LinkDocs/LinkDocsContent.d.ts +0 -2
  252. package/dist/components/MobileAppTile/MobileAppTile.js +2 -2
  253. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  254. package/dist/components/MobileAppTile/renderDescription.js +1 -1
  255. package/dist/components/MobileAppTile/renderList.js +1 -1
  256. package/dist/components/MobileAppTile/renderList.js.map +1 -1
  257. package/dist/components/OfficeMap/OfficeMap.js +1 -1
  258. package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  259. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  260. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  261. package/dist/components/PictureText/PictureText.js +1 -1
  262. package/dist/components/PictureText/PictureText.js.map +1 -1
  263. package/dist/components/PictureText/renderInsuranceSumMonth.js +1 -1
  264. package/dist/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
  265. package/dist/components/Placeholder/Placeholder.js +2 -2
  266. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  267. package/dist/components/ProductBlock/ProductBlock.js +1 -1
  268. package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  269. package/dist/components/ProductGallery/ProductGallery.js +1 -1
  270. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  271. package/dist/components/ProductTile/ProductTile.js +1 -1
  272. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  273. package/dist/components/PromoTile/PromoTile.js +1 -1
  274. package/dist/components/PromoTile/PromoTile.js.map +1 -1
  275. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  276. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  277. package/dist/components/RollupItem/RollupItem.js +5 -2
  278. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  279. package/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  280. package/dist/components/SafeDepositRental/RadioButtons.js +13 -0
  281. package/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
  282. package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  283. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  284. package/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
  285. package/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  286. package/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  287. package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  288. package/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
  289. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  290. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  291. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  292. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  293. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  294. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  295. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  296. package/dist/components/StepsBlock/StepsBlock.js +5 -5
  297. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  298. package/dist/components/StepsBlock/StepsBlock.mobile.js +3 -3
  299. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  300. package/dist/components/StepsBlock/renderStep.js +2 -2
  301. package/dist/components/StepsBlock/renderStep.js.map +1 -1
  302. package/dist/components/Tabs/ScrollableTabs.js +0 -1
  303. package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  304. package/dist/components/Tabs/renderGroupTab.js +1 -1
  305. package/dist/components/Tabs/renderGroupTab.js.map +1 -1
  306. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +1 -1
  307. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  308. package/dist/components/TariffsTable/TableTileHeader.js +1 -1
  309. package/dist/components/TariffsTable/TableTileHeader.js.map +1 -1
  310. package/dist/components/TariffsTable/TariffsTable.js +4 -10
  311. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  312. package/dist/components/TariffsTable/TariffsTable.mobile.js +1 -1
  313. package/dist/components/TariffsTable/TariffsTable.mobile.js.map +1 -1
  314. package/dist/components/TariffsTable/TariffsTableRenderCell.js +1 -1
  315. package/dist/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  316. package/dist/components/TariffsTable/TariffsTableRow.js +1 -1
  317. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  318. package/dist/components/TariffsTable/TariffsTableTileCell.js +1 -1
  319. package/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
  320. package/dist/components/Tile/Tile.js +1 -1
  321. package/dist/components/Tile/Tile.js.map +1 -1
  322. package/dist/components/VerticalLayout/VerticalLayout.js +4 -14
  323. package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  324. package/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  325. package/dist/content-page-repository/transformDocument.js +3 -0
  326. package/dist/content-page-repository/transformDocument.js.map +1 -1
  327. package/dist/hooks/useCarouselControls.d.ts +1 -1
  328. package/dist/hooks/useCarouselControls.js +5 -6
  329. package/dist/hooks/useCarouselControls.js.map +1 -1
  330. package/dist/model/Attachment.d.ts +2 -0
  331. package/dist/model/JSXBlock.d.ts +1 -1
  332. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
  333. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  334. package/dist/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
  335. package/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  336. package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  337. package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  338. package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  339. package/dist/ui-kit/BenefitItem/BenefitItem.js +1 -1
  340. package/dist/ui-kit/BlockWrapper.js +2 -2
  341. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  342. package/dist/ui-kit/Button/ButtonInner.js +1 -1
  343. package/dist/ui-kit/Button/renderButtonsSection.js +1 -1
  344. package/dist/ui-kit/Dialog/Dialog.js +1 -1
  345. package/dist/ui-kit/Dialog/Dialog.js.map +1 -1
  346. package/dist/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
  347. package/dist/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  348. package/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
  349. package/dist/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  350. package/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  351. package/dist/ui-kit/Input/Input.js +1 -1
  352. package/dist/ui-kit/Input/Input.js.map +1 -1
  353. package/dist/ui-kit/InputRange/InputRange.js +1 -1
  354. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  355. package/dist/ui-kit/LinkButton/LinkButton.js +3 -3
  356. package/dist/ui-kit/LinkList/LinkList.js +2 -2
  357. package/dist/ui-kit/LinkList/LinkList.js.map +1 -1
  358. package/dist/ui-kit/List/List.js +4 -4
  359. package/dist/ui-kit/List/List.js.map +1 -1
  360. package/dist/ui-kit/List/ListItem.js +3 -3
  361. package/dist/ui-kit/List/ListItem.js.map +1 -1
  362. package/dist/ui-kit/LocationDialog/LocationDialog.js +4 -4
  363. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  364. package/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
  365. package/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  366. package/dist/ui-kit/Logo/renderTitle.js +1 -1
  367. package/dist/ui-kit/Logo/renderTitle.js.map +1 -1
  368. package/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  369. package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  370. package/dist/ui-kit/SearchDialog/SearchInput.js +1 -1
  371. package/dist/ui-kit/Select/Select.js +1 -1
  372. package/dist/ui-kit/Select/Select.js.map +1 -1
  373. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  374. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  375. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  376. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  377. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  378. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  379. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  380. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  381. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  382. package/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  383. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  384. package/dist/ui-kit/YandexMap/renderSearchField.js +1 -1
  385. package/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -1
  386. package/dist/utils/formatBytes.d.ts +1 -0
  387. package/dist/utils/formatBytes.js +13 -0
  388. package/dist/utils/formatBytes.js.map +1 -0
  389. package/lib/BlockRenderer/renderBlock.d.ts +2 -4
  390. package/lib/BlockRenderer/renderBlock.js +1 -2
  391. package/lib/BlockRenderer/renderBlock.js.map +1 -1
  392. package/lib/BlockRenderer/renderBlockList.d.ts +5 -2
  393. package/lib/BlockRenderer/renderBlockList.js +12 -7
  394. package/lib/BlockRenderer/renderBlockList.js.map +1 -1
  395. package/lib/BlockRenderer/renderChildren.d.ts +5 -4
  396. package/lib/BlockRenderer/renderChildren.js +2 -2
  397. package/lib/BlockRenderer/renderChildren.js.map +1 -1
  398. package/lib/common.css +1 -1
  399. package/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  400. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  401. package/lib/components/ApplicationForm/ApplicationFormWed.js +1 -1
  402. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  403. package/lib/components/ApplicationForm/ResponseNotification.js +1 -1
  404. package/lib/components/ApplicationForm/ResponseNotification.js.map +1 -1
  405. package/lib/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  406. package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  407. package/lib/components/BenefitsBlock/BenefitsBlock.js +4 -4
  408. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  409. package/lib/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
  410. package/lib/components/BenefitsBlock/benefitImageStyles.js +2 -0
  411. package/lib/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
  412. package/lib/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +1 -0
  413. package/lib/components/BenefitsBlock/benefitImageStyles.mobile.js +2 -0
  414. package/lib/components/BenefitsBlock/benefitImageStyles.mobile.js.map +1 -0
  415. package/lib/components/Blocks.mobile.js +6 -0
  416. package/lib/components/Blocks.mobile.js.map +1 -1
  417. package/lib/components/Bonus/Bonus.js +2 -2
  418. package/lib/components/Bonus/Bonus.js.map +1 -1
  419. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
  420. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  421. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  422. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  423. package/lib/components/BusinessBlock/BusinessBlock.js +1 -1
  424. package/lib/components/BusinessBlock/BusinessBlock.js.map +1 -1
  425. package/lib/components/BusinessBlock/BusinessCard.js +2 -2
  426. package/lib/components/BusinessBlock/BusinessCard.js.map +1 -1
  427. package/lib/components/Calculator/BonusCalculatorForm.js +2 -2
  428. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  429. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
  430. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  431. package/lib/components/Calculator/Calculator.fixture.d.ts +1 -0
  432. package/lib/components/Calculator/Calculator.js +5 -5
  433. package/lib/components/Calculator/Calculator.js.map +1 -1
  434. package/lib/components/Calculator/CalculatorContent.d.ts +20 -1
  435. package/lib/components/Calculator/CreditCalculatorForm.js +2 -2
  436. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  437. package/lib/components/Calculator/DepositCalculatorForm.js +3 -3
  438. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  439. package/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
  440. package/lib/components/Calculator/EmbeddableCalcBlocks.js +2 -0
  441. package/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  442. package/lib/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
  443. package/lib/components/Calculator/RefinancingCalculatorForm.js +61 -0
  444. package/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
  445. package/lib/components/Calculator/UnknownRate.js +1 -1
  446. package/lib/components/Calculator/UnknownRate.js.map +1 -1
  447. package/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
  448. package/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +20 -0
  449. package/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
  450. package/lib/components/Calculator/constants.d.ts +12 -0
  451. package/lib/components/Calculator/constants.js +24 -0
  452. package/lib/components/Calculator/constants.js.map +1 -1
  453. package/lib/components/Calculator/getMonthlyPayment.d.ts +8 -2
  454. package/lib/components/Calculator/getMonthlyPayment.js +7 -2
  455. package/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
  456. package/lib/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
  457. package/lib/components/Calculator/getRefinancingCalculatorLimitParams.js +7 -0
  458. package/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
  459. package/lib/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
  460. package/lib/components/Calculator/getRefinancingCalculatorRateParams.js +13 -0
  461. package/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
  462. package/lib/components/Calculator/rangeHelpers.js +7 -3
  463. package/lib/components/Calculator/rangeHelpers.js.map +1 -1
  464. package/lib/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
  465. package/lib/components/Calculator/useRefinancingCalculatorParams.js +54 -0
  466. package/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
  467. package/lib/components/CardTransfer/CardTransfer.js +1 -1
  468. package/lib/components/CardTransfer/CardTransfer.js.map +1 -1
  469. package/lib/components/Carousel/Carousel.js +18 -33
  470. package/lib/components/Carousel/Carousel.js.map +1 -1
  471. package/lib/components/Carousel/CarouselContent.d.ts +3 -9
  472. package/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  473. package/lib/components/Carousel/CarouselScrollButtons.js +4 -4
  474. package/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
  475. package/lib/components/Carousel/renderControlButtons.d.ts +3 -3
  476. package/lib/components/Carousel/renderControlButtons.js +3 -3
  477. package/lib/components/Carousel/renderControlButtons.js.map +1 -1
  478. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  479. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
  480. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  481. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
  482. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
  483. package/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
  484. package/lib/components/CarouselCard/CarouselCard.js +6 -5
  485. package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  486. package/lib/components/CarouselCard/constants.js +2 -2
  487. package/lib/components/CarouselCard/constants.js.map +1 -1
  488. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
  489. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  490. package/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
  491. package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  492. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  493. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  494. package/lib/components/CarouselLinks/CarouselLinks.js +2 -2
  495. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  496. package/lib/components/CarouselProductCard/CarouselProductCard.js +13 -12
  497. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  498. package/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
  499. package/lib/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
  500. package/lib/components/CarouselProductCard/alignTextStyle.js +2 -0
  501. package/lib/components/CarouselProductCard/alignTextStyle.js.map +1 -0
  502. package/lib/components/CarouselProductCard/alignTextStyle.mobile.d.ts +1 -0
  503. package/lib/components/CarouselProductCard/alignTextStyle.mobile.js +2 -0
  504. package/lib/components/CarouselProductCard/alignTextStyle.mobile.js.map +1 -0
  505. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  506. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  507. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -5
  508. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  509. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
  510. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  511. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  512. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  513. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  514. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  515. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js +1 -1
  516. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -1
  517. package/lib/components/ComparisonTable/ComparisonTable.js +2 -2
  518. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  519. package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  520. package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  521. package/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
  522. package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  523. package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  524. package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  525. package/lib/components/ComparisonTable/HeaderCell.js +1 -1
  526. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  527. package/lib/components/ComparisonTable/HeaderCell.mobile.js +2 -2
  528. package/lib/components/ComparisonTable/HeaderCell.mobile.js.map +1 -1
  529. package/lib/components/ComparisonTable/TableCell.js +1 -1
  530. package/lib/components/ComparisonTable/TableCell.js.map +1 -1
  531. package/lib/components/ComparisonTable/TableColumn.js +2 -2
  532. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  533. package/lib/components/ContactsBlock/ContactsBlock.js +2 -2
  534. package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  535. package/lib/components/ContentPage/ContentPage.js +17 -10
  536. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  537. package/lib/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
  538. package/lib/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
  539. package/lib/components/ExchangeRateOffice/renderCurrencies.js +3 -3
  540. package/lib/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
  541. package/lib/components/ExchangeRateOffice/renderTableHeader.js +1 -1
  542. package/lib/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
  543. package/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
  544. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  545. package/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
  546. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  547. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  548. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  549. package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.d.ts +6 -0
  550. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  551. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  552. package/lib/components/Footer/Contacts.js +4 -3
  553. package/lib/components/Footer/Contacts.js.map +1 -1
  554. package/lib/components/Footer/Footer.d.ts +1 -4
  555. package/lib/components/Footer/Footer.js +3 -5
  556. package/lib/components/Footer/Footer.js.map +1 -1
  557. package/lib/components/Footer/Footer.mobile.d.ts +1 -4
  558. package/lib/components/Footer/Footer.mobile.js +3 -5
  559. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  560. package/lib/components/Footer/FooterProps.d.ts +6 -0
  561. package/lib/components/Footer/FooterProps.js +2 -0
  562. package/lib/components/Footer/FooterProps.js.map +1 -0
  563. package/lib/components/GracePeriod/GracePeriod.js +2 -2
  564. package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  565. package/lib/components/Header/Header.d.ts +1 -4
  566. package/lib/components/Header/Header.fixture.d.ts +0 -1
  567. package/lib/components/Header/Header.js +3 -9
  568. package/lib/components/Header/Header.js.map +1 -1
  569. package/lib/components/Header/Header.mobile.d.ts +2 -5
  570. package/lib/components/Header/Header.mobile.js +3 -6
  571. package/lib/components/Header/Header.mobile.js.map +1 -1
  572. package/lib/components/Header/HeaderContent.d.ts +0 -2
  573. package/lib/components/Header/HeaderProps.d.ts +8 -0
  574. package/lib/components/Header/HeaderProps.js +2 -0
  575. package/lib/components/Header/HeaderProps.js.map +1 -0
  576. package/lib/components/Header/HeaderSubMenu.js +1 -1
  577. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  578. package/lib/components/Header/HeaderTop.js +1 -1
  579. package/lib/components/Header/HeaderTop.js.map +1 -1
  580. package/lib/components/Headline/Headline.js +1 -1
  581. package/lib/components/Headline/Headline.js.map +1 -1
  582. package/lib/components/Headline/headlineVersionStyles.js +4 -4
  583. package/lib/components/Headline/headlineVersionStyles.js.map +1 -1
  584. package/lib/components/HorizontalLayout/HorizontalLayout.fixture.mobile.d.ts +8 -0
  585. package/lib/components/HorizontalLayout/HorizontalLayout.js +1 -1
  586. package/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  587. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  588. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js +6 -0
  589. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
  590. package/lib/components/HorizontalLayout/gapStyles.js +6 -6
  591. package/lib/components/HorizontalLayout/gapStyles.js.map +1 -1
  592. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
  593. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  594. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  595. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  596. package/lib/components/InvestmentInfo/InvestmentInfo.js +12 -14
  597. package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  598. package/lib/components/LinkDocs/LinkDocs.js +6 -2
  599. package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  600. package/lib/components/LinkDocs/LinkDocsContent.d.ts +0 -2
  601. package/lib/components/MobileAppTile/MobileAppTile.js +2 -2
  602. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  603. package/lib/components/MobileAppTile/renderDescription.js +1 -1
  604. package/lib/components/MobileAppTile/renderList.js +1 -1
  605. package/lib/components/MobileAppTile/renderList.js.map +1 -1
  606. package/lib/components/OfficeMap/OfficeMap.js +1 -1
  607. package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  608. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  609. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  610. package/lib/components/PictureText/PictureText.js +1 -1
  611. package/lib/components/PictureText/PictureText.js.map +1 -1
  612. package/lib/components/PictureText/renderInsuranceSumMonth.js +1 -1
  613. package/lib/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
  614. package/lib/components/Placeholder/Placeholder.js +2 -2
  615. package/lib/components/Placeholder/Placeholder.js.map +1 -1
  616. package/lib/components/ProductBlock/ProductBlock.js +1 -1
  617. package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  618. package/lib/components/ProductGallery/ProductGallery.js +1 -1
  619. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  620. package/lib/components/ProductTile/ProductTile.fixture.mobile.d.ts +16 -0
  621. package/lib/components/ProductTile/ProductTile.js +1 -1
  622. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  623. package/lib/components/PromoTile/PromoTile.js +1 -1
  624. package/lib/components/PromoTile/PromoTile.js.map +1 -1
  625. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  626. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  627. package/lib/components/RollupItem/RollupItem.js +5 -2
  628. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  629. package/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  630. package/lib/components/SafeDepositRental/RadioButtons.js +11 -0
  631. package/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
  632. package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  633. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  634. package/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
  635. package/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  636. package/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  637. package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  638. package/lib/components/SafeDepositRental/SafeDepositRental.fixture.mobile.d.ts +6 -0
  639. package/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
  640. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  641. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  642. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  643. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  644. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  645. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  646. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  647. package/lib/components/StepsBlock/StepsBlock.js +5 -5
  648. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  649. package/lib/components/StepsBlock/StepsBlock.mobile.js +3 -3
  650. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  651. package/lib/components/StepsBlock/renderStep.js +2 -2
  652. package/lib/components/StepsBlock/renderStep.js.map +1 -1
  653. package/lib/components/Tabs/ScrollableTabs.js +0 -1
  654. package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  655. package/lib/components/Tabs/renderGroupTab.js +1 -1
  656. package/lib/components/Tabs/renderGroupTab.js.map +1 -1
  657. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +1 -1
  658. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  659. package/lib/components/TariffsTable/TableTileHeader.js +1 -1
  660. package/lib/components/TariffsTable/TableTileHeader.js.map +1 -1
  661. package/lib/components/TariffsTable/TariffsTable.js +4 -10
  662. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  663. package/lib/components/TariffsTable/TariffsTable.mobile.js +1 -1
  664. package/lib/components/TariffsTable/TariffsTable.mobile.js.map +1 -1
  665. package/lib/components/TariffsTable/TariffsTableRenderCell.js +1 -1
  666. package/lib/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  667. package/lib/components/TariffsTable/TariffsTableRow.js +1 -1
  668. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  669. package/lib/components/TariffsTable/TariffsTableTileCell.js +1 -1
  670. package/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
  671. package/lib/components/Tile/Tile.js +1 -1
  672. package/lib/components/Tile/Tile.js.map +1 -1
  673. package/lib/components/VerticalLayout/VerticalLayout.fixture.d.ts +3 -3
  674. package/lib/components/VerticalLayout/VerticalLayout.js +4 -14
  675. package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  676. package/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  677. package/lib/content-page-repository/transformDocument.js +3 -0
  678. package/lib/content-page-repository/transformDocument.js.map +1 -1
  679. package/lib/hooks/useCarouselControls.d.ts +1 -1
  680. package/lib/hooks/useCarouselControls.js +5 -6
  681. package/lib/hooks/useCarouselControls.js.map +1 -1
  682. package/lib/model/Attachment.d.ts +2 -0
  683. package/lib/model/JSXBlock.d.ts +1 -1
  684. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
  685. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  686. package/lib/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
  687. package/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  688. package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  689. package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  690. package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  691. package/lib/ui-kit/BenefitItem/BenefitItem.js +1 -1
  692. package/lib/ui-kit/BlockWrapper.js +2 -2
  693. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  694. package/lib/ui-kit/Button/ButtonInner.js +1 -1
  695. package/lib/ui-kit/Button/renderButtonsSection.js +1 -1
  696. package/lib/ui-kit/Dialog/Dialog.js +1 -1
  697. package/lib/ui-kit/Dialog/Dialog.js.map +1 -1
  698. package/lib/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
  699. package/lib/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  700. package/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
  701. package/lib/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  702. package/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  703. package/lib/ui-kit/Input/Input.js +1 -1
  704. package/lib/ui-kit/Input/Input.js.map +1 -1
  705. package/lib/ui-kit/InputRange/InputRange.js +1 -1
  706. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  707. package/lib/ui-kit/LinkButton/LinkButton.js +3 -3
  708. package/lib/ui-kit/LinkList/LinkList.js +2 -2
  709. package/lib/ui-kit/LinkList/LinkList.js.map +1 -1
  710. package/lib/ui-kit/List/List.js +4 -4
  711. package/lib/ui-kit/List/List.js.map +1 -1
  712. package/lib/ui-kit/List/ListItem.js +3 -3
  713. package/lib/ui-kit/List/ListItem.js.map +1 -1
  714. package/lib/ui-kit/LocationDialog/LocationDialog.js +4 -4
  715. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  716. package/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
  717. package/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  718. package/lib/ui-kit/Logo/renderTitle.js +1 -1
  719. package/lib/ui-kit/Logo/renderTitle.js.map +1 -1
  720. package/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  721. package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  722. package/lib/ui-kit/SearchDialog/SearchInput.js +1 -1
  723. package/lib/ui-kit/Select/Select.js +1 -1
  724. package/lib/ui-kit/Select/Select.js.map +1 -1
  725. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  726. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  727. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  728. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  729. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  730. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  731. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  732. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  733. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  734. package/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  735. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  736. package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +0 -1
  737. package/lib/ui-kit/YandexMap/renderSearchField.d.ts +0 -1
  738. package/lib/ui-kit/YandexMap/renderSearchField.js +1 -1
  739. package/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -1
  740. package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +0 -1
  741. package/lib/utils/formatBytes.d.ts +1 -0
  742. package/lib/utils/formatBytes.js +10 -0
  743. package/lib/utils/formatBytes.js.map +1 -0
  744. package/mobile/bundle/BlockRenderer/renderBlock.d.ts +2 -4
  745. package/mobile/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
  746. package/mobile/bundle/BlockRenderer/renderChildren.d.ts +5 -4
  747. package/mobile/bundle/bundle.umd.js +1101 -243
  748. package/mobile/bundle/bundle.umd.min.js +1 -1
  749. package/mobile/bundle/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
  750. package/mobile/bundle/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  751. package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +20 -1
  752. package/mobile/bundle/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
  753. package/mobile/bundle/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
  754. package/mobile/bundle/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
  755. package/mobile/bundle/components/Calculator/constants.d.ts +12 -0
  756. package/mobile/bundle/components/Calculator/getMonthlyPayment.d.ts +8 -2
  757. package/mobile/bundle/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
  758. package/mobile/bundle/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
  759. package/mobile/bundle/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
  760. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +3 -9
  761. package/mobile/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  762. package/mobile/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
  763. package/mobile/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
  764. package/mobile/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
  765. package/mobile/bundle/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
  766. package/mobile/bundle/components/Footer/Footer.d.ts +1 -4
  767. package/mobile/bundle/components/Footer/FooterProps.d.ts +6 -0
  768. package/mobile/bundle/components/Header/Header.d.ts +2 -5
  769. package/mobile/bundle/components/Header/HeaderContent.d.ts +0 -2
  770. package/mobile/bundle/components/Header/HeaderProps.d.ts +8 -0
  771. package/mobile/bundle/components/LinkDocs/LinkDocsContent.d.ts +0 -2
  772. package/mobile/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  773. package/mobile/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  774. package/mobile/bundle/hooks/useCarouselControls.d.ts +1 -1
  775. package/mobile/bundle/model/Attachment.d.ts +2 -0
  776. package/mobile/bundle/model/JSXBlock.d.ts +1 -1
  777. package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  778. package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  779. package/mobile/bundle/utils/formatBytes.d.ts +1 -0
  780. package/mobile/dist/BlockRenderer/renderBlock.d.ts +2 -4
  781. package/mobile/dist/BlockRenderer/renderBlock.js +1 -2
  782. package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
  783. package/mobile/dist/BlockRenderer/renderBlockList.d.ts +5 -2
  784. package/mobile/dist/BlockRenderer/renderBlockList.js +12 -7
  785. package/mobile/dist/BlockRenderer/renderBlockList.js.map +1 -1
  786. package/mobile/dist/BlockRenderer/renderChildren.d.ts +5 -4
  787. package/mobile/dist/BlockRenderer/renderChildren.js +2 -2
  788. package/mobile/dist/BlockRenderer/renderChildren.js.map +1 -1
  789. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  790. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  791. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +1 -1
  792. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  793. package/mobile/dist/components/ApplicationForm/ResponseNotification.js +1 -1
  794. package/mobile/dist/components/ApplicationForm/ResponseNotification.js.map +1 -1
  795. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  796. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  797. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +4 -4
  798. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  799. package/mobile/dist/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
  800. package/mobile/dist/components/BenefitsBlock/benefitImageStyles.js +4 -0
  801. package/mobile/dist/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
  802. package/mobile/dist/components/Blocks.js +6 -0
  803. package/mobile/dist/components/Blocks.js.map +1 -1
  804. package/mobile/dist/components/Bonus/Bonus.js +2 -2
  805. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  806. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
  807. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  808. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  809. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  810. package/mobile/dist/components/BusinessBlock/BusinessBlock.js +1 -1
  811. package/mobile/dist/components/BusinessBlock/BusinessBlock.js.map +1 -1
  812. package/mobile/dist/components/BusinessBlock/BusinessCard.js +2 -2
  813. package/mobile/dist/components/BusinessBlock/BusinessCard.js.map +1 -1
  814. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +2 -2
  815. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  816. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
  817. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  818. package/mobile/dist/components/Calculator/Calculator.js +5 -5
  819. package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
  820. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +20 -1
  821. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +2 -2
  822. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  823. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +3 -3
  824. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  825. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
  826. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js +2 -0
  827. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  828. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
  829. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js +63 -0
  830. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
  831. package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
  832. package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
  833. package/mobile/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
  834. package/mobile/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +23 -0
  835. package/mobile/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
  836. package/mobile/dist/components/Calculator/constants.d.ts +12 -0
  837. package/mobile/dist/components/Calculator/constants.js +25 -1
  838. package/mobile/dist/components/Calculator/constants.js.map +1 -1
  839. package/mobile/dist/components/Calculator/getMonthlyPayment.d.ts +8 -2
  840. package/mobile/dist/components/Calculator/getMonthlyPayment.js +7 -2
  841. package/mobile/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
  842. package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
  843. package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.js +10 -0
  844. package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
  845. package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
  846. package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js +16 -0
  847. package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
  848. package/mobile/dist/components/Calculator/rangeHelpers.js +7 -3
  849. package/mobile/dist/components/Calculator/rangeHelpers.js.map +1 -1
  850. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
  851. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js +57 -0
  852. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
  853. package/mobile/dist/components/CardTransfer/CardTransfer.js +1 -1
  854. package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -1
  855. package/mobile/dist/components/Carousel/Carousel.js +18 -33
  856. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  857. package/mobile/dist/components/Carousel/CarouselContent.d.ts +3 -9
  858. package/mobile/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  859. package/mobile/dist/components/Carousel/CarouselScrollButtons.js +4 -4
  860. package/mobile/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
  861. package/mobile/dist/components/Carousel/renderControlButtons.d.ts +2 -3
  862. package/mobile/dist/components/Carousel/renderControlButtons.js +3 -3
  863. package/mobile/dist/components/Carousel/renderControlButtons.js.map +1 -1
  864. package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
  865. package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  866. package/mobile/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
  867. package/mobile/dist/components/CarouselCard/CarouselCard.js +6 -5
  868. package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  869. package/mobile/dist/components/CarouselCard/constants.js +2 -2
  870. package/mobile/dist/components/CarouselCard/constants.js.map +1 -1
  871. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
  872. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  873. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
  874. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  875. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  876. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  877. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +2 -2
  878. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  879. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +13 -12
  880. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  881. package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
  882. package/mobile/dist/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
  883. package/mobile/dist/components/CarouselProductCard/alignTextStyle.js +4 -0
  884. package/mobile/dist/components/CarouselProductCard/alignTextStyle.js.map +1 -0
  885. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  886. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  887. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
  888. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  889. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  890. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  891. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  892. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  893. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
  894. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
  895. package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  896. package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  897. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
  898. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  899. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  900. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  901. package/mobile/dist/components/ComparisonTable/HeaderCell.js +2 -2
  902. package/mobile/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  903. package/mobile/dist/components/ComparisonTable/TableColumn.js +2 -2
  904. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  905. package/mobile/dist/components/ContactsBlock/ContactsBlock.js +2 -2
  906. package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  907. package/mobile/dist/components/ContentPage/ContentPage.js +17 -10
  908. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  909. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
  910. package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
  911. package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.js +3 -3
  912. package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
  913. package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.js +1 -1
  914. package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
  915. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
  916. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  917. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
  918. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  919. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  920. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  921. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  922. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  923. package/mobile/dist/components/Footer/Contacts.js +4 -3
  924. package/mobile/dist/components/Footer/Contacts.js.map +1 -1
  925. package/mobile/dist/components/Footer/Footer.d.ts +1 -4
  926. package/mobile/dist/components/Footer/Footer.js +3 -5
  927. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  928. package/mobile/dist/components/Footer/FooterProps.d.ts +6 -0
  929. package/mobile/dist/components/Footer/FooterProps.js +2 -0
  930. package/mobile/dist/components/Footer/FooterProps.js.map +1 -0
  931. package/mobile/dist/components/GracePeriod/GracePeriod.js +2 -2
  932. package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  933. package/mobile/dist/components/Header/Header.d.ts +2 -5
  934. package/mobile/dist/components/Header/Header.js +3 -6
  935. package/mobile/dist/components/Header/Header.js.map +1 -1
  936. package/mobile/dist/components/Header/HeaderContent.d.ts +0 -2
  937. package/mobile/dist/components/Header/HeaderProps.d.ts +8 -0
  938. package/mobile/dist/components/Header/HeaderProps.js +2 -0
  939. package/mobile/dist/components/Header/HeaderProps.js.map +1 -0
  940. package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
  941. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  942. package/mobile/dist/components/Header/HeaderTop.js +1 -1
  943. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  944. package/mobile/dist/components/Headline/Headline.js +1 -1
  945. package/mobile/dist/components/Headline/Headline.js.map +1 -1
  946. package/mobile/dist/components/Headline/headlineVersionStyles.js +4 -4
  947. package/mobile/dist/components/Headline/headlineVersionStyles.js.map +1 -1
  948. package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js +3 -8
  949. package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  950. package/mobile/dist/components/HorizontalLayout/gapStyles.js +6 -6
  951. package/mobile/dist/components/HorizontalLayout/gapStyles.js.map +1 -1
  952. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
  953. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  954. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  955. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  956. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +12 -14
  957. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  958. package/mobile/dist/components/LinkDocs/LinkDocs.js +6 -2
  959. package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  960. package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +0 -2
  961. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +2 -2
  962. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  963. package/mobile/dist/components/MobileAppTile/renderDescription.js +1 -1
  964. package/mobile/dist/components/MobileAppTile/renderList.js +1 -1
  965. package/mobile/dist/components/MobileAppTile/renderList.js.map +1 -1
  966. package/mobile/dist/components/OfficeMap/OfficeMap.js +1 -1
  967. package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  968. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  969. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  970. package/mobile/dist/components/PictureText/PictureText.js +1 -1
  971. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  972. package/mobile/dist/components/PictureText/renderInsuranceSumMonth.js +1 -1
  973. package/mobile/dist/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
  974. package/mobile/dist/components/Placeholder/Placeholder.js +2 -2
  975. package/mobile/dist/components/Placeholder/Placeholder.js.map +1 -1
  976. package/mobile/dist/components/ProductBlock/ProductBlock.js +1 -1
  977. package/mobile/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  978. package/mobile/dist/components/ProductTile/ProductTile.js +1 -1
  979. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  980. package/mobile/dist/components/PromoTile/PromoTile.js +1 -1
  981. package/mobile/dist/components/PromoTile/PromoTile.js.map +1 -1
  982. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  983. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  984. package/mobile/dist/components/RollupItem/RollupItem.js +5 -2
  985. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  986. package/mobile/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  987. package/mobile/dist/components/SafeDepositRental/RadioButtons.js +13 -0
  988. package/mobile/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
  989. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  990. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  991. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
  992. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  993. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  994. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  995. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
  996. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  997. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  998. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  999. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  1000. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  1001. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  1002. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  1003. package/mobile/dist/components/StepsBlock/StepsBlock.js +3 -3
  1004. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  1005. package/mobile/dist/components/StepsBlock/renderStep.js +2 -2
  1006. package/mobile/dist/components/StepsBlock/renderStep.js.map +1 -1
  1007. package/mobile/dist/components/Tabs/ScrollableTabs.js +0 -1
  1008. package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  1009. package/mobile/dist/components/Tabs/renderGroupTab.js +1 -1
  1010. package/mobile/dist/components/Tabs/renderGroupTab.js.map +1 -1
  1011. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +1 -1
  1012. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  1013. package/mobile/dist/components/TariffsTable/TableTileHeader.js +1 -1
  1014. package/mobile/dist/components/TariffsTable/TableTileHeader.js.map +1 -1
  1015. package/mobile/dist/components/TariffsTable/TariffsTable.js +1 -1
  1016. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  1017. package/mobile/dist/components/TariffsTable/TariffsTableRenderCell.js +1 -1
  1018. package/mobile/dist/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  1019. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +1 -1
  1020. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  1021. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js +1 -1
  1022. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
  1023. package/mobile/dist/components/Tile/Tile.js +1 -1
  1024. package/mobile/dist/components/Tile/Tile.js.map +1 -1
  1025. package/mobile/dist/components/VerticalLayout/VerticalLayout.js +4 -14
  1026. package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  1027. package/mobile/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  1028. package/mobile/dist/content-page-repository/transformDocument.js +3 -0
  1029. package/mobile/dist/content-page-repository/transformDocument.js.map +1 -1
  1030. package/mobile/dist/hooks/useCarouselControls.d.ts +1 -1
  1031. package/mobile/dist/hooks/useCarouselControls.js +5 -6
  1032. package/mobile/dist/hooks/useCarouselControls.js.map +1 -1
  1033. package/mobile/dist/model/Attachment.d.ts +2 -0
  1034. package/mobile/dist/model/JSXBlock.d.ts +1 -1
  1035. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
  1036. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  1037. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
  1038. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  1039. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  1040. package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  1041. package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  1042. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +1 -1
  1043. package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
  1044. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  1045. package/mobile/dist/ui-kit/Button/ButtonInner.js +1 -1
  1046. package/mobile/dist/ui-kit/Button/renderButtonsSection.js +1 -1
  1047. package/mobile/dist/ui-kit/Dialog/Dialog.js +1 -1
  1048. package/mobile/dist/ui-kit/Dialog/Dialog.js.map +1 -1
  1049. package/mobile/dist/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
  1050. package/mobile/dist/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  1051. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
  1052. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  1053. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  1054. package/mobile/dist/ui-kit/Input/Input.js +1 -1
  1055. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  1056. package/mobile/dist/ui-kit/InputRange/InputRange.js +1 -1
  1057. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  1058. package/mobile/dist/ui-kit/LinkButton/LinkButton.js +3 -3
  1059. package/mobile/dist/ui-kit/LinkList/LinkList.js +2 -2
  1060. package/mobile/dist/ui-kit/LinkList/LinkList.js.map +1 -1
  1061. package/mobile/dist/ui-kit/List/List.js +4 -4
  1062. package/mobile/dist/ui-kit/List/List.js.map +1 -1
  1063. package/mobile/dist/ui-kit/List/ListItem.js +3 -3
  1064. package/mobile/dist/ui-kit/List/ListItem.js.map +1 -1
  1065. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +4 -4
  1066. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  1067. package/mobile/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
  1068. package/mobile/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  1069. package/mobile/dist/ui-kit/Logo/renderTitle.js +1 -1
  1070. package/mobile/dist/ui-kit/Logo/renderTitle.js.map +1 -1
  1071. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  1072. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  1073. package/mobile/dist/ui-kit/SearchDialog/SearchInput.js +1 -1
  1074. package/mobile/dist/ui-kit/Select/Select.js +1 -1
  1075. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  1076. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  1077. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  1078. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  1079. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  1080. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  1081. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  1082. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  1083. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  1084. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  1085. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  1086. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  1087. package/mobile/dist/ui-kit/YandexMap/renderSearchField.js +1 -1
  1088. package/mobile/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -1
  1089. package/mobile/dist/utils/formatBytes.d.ts +1 -0
  1090. package/mobile/dist/utils/formatBytes.js +13 -0
  1091. package/mobile/dist/utils/formatBytes.js.map +1 -0
  1092. package/mobile/fonts/mohave/Mohave-Regular.otf +0 -0
  1093. package/mobile/fonts/mohave/Mohave-Regular.ttf +0 -0
  1094. package/mobile/fonts/mohave/mohave.css +7 -0
  1095. package/mobile/fonts/ubuntu/ubuntu.css +67 -0
  1096. package/mobile/fonts/ubuntu/ubuntu.eot +0 -0
  1097. package/mobile/fonts/ubuntu/ubuntu.ttf +0 -0
  1098. package/mobile/fonts/ubuntu/ubuntu.woff +0 -0
  1099. package/mobile/fonts/ubuntu/ubuntu.woff2 +0 -0
  1100. package/mobile/fonts/ubuntu/ubuntubold.ttf +0 -0
  1101. package/mobile/fonts/ubuntu/ubuntubold.woff +0 -0
  1102. package/mobile/fonts/ubuntu/ubuntubold.woff2 +0 -0
  1103. package/mobile/fonts/ubuntu/ubuntubolditalic.ttf +0 -0
  1104. package/mobile/fonts/ubuntu/ubuntubolditalic.woff +0 -0
  1105. package/mobile/fonts/ubuntu/ubuntubolditalic.woff2 +0 -0
  1106. package/mobile/fonts/ubuntu/ubuntuitalic.ttf +0 -0
  1107. package/mobile/fonts/ubuntu/ubuntuitalic.woff +0 -0
  1108. package/mobile/fonts/ubuntu/ubuntuitalic.woff2 +0 -0
  1109. package/mobile/fonts/ubuntu/ubuntulight.ttf +0 -0
  1110. package/mobile/fonts/ubuntu/ubuntulight.woff +0 -0
  1111. package/mobile/fonts/ubuntu/ubuntulight.woff2 +0 -0
  1112. package/mobile/fonts/ubuntu/ubuntulightitalic.ttf +0 -0
  1113. package/mobile/fonts/ubuntu/ubuntulightitalic.woff +0 -0
  1114. package/mobile/fonts/ubuntu/ubuntulightitalic.woff2 +0 -0
  1115. package/mobile/fonts/ubuntu/ubuntumedium.ttf +0 -0
  1116. package/mobile/fonts/ubuntu/ubuntumedium.woff +0 -0
  1117. package/mobile/fonts/ubuntu/ubuntumedium.woff2 +0 -0
  1118. package/mobile/fonts/ubuntu/ubuntumediumitalic.ttf +0 -0
  1119. package/mobile/fonts/ubuntu/ubuntumediumitalic.woff +0 -0
  1120. package/mobile/fonts/ubuntu/ubuntumediumitalic.woff2 +0 -0
  1121. package/mobile/lib/BlockRenderer/renderBlock.d.ts +2 -4
  1122. package/mobile/lib/BlockRenderer/renderBlock.js +1 -2
  1123. package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
  1124. package/mobile/lib/BlockRenderer/renderBlockList.d.ts +5 -2
  1125. package/mobile/lib/BlockRenderer/renderBlockList.js +12 -7
  1126. package/mobile/lib/BlockRenderer/renderBlockList.js.map +1 -1
  1127. package/mobile/lib/BlockRenderer/renderChildren.d.ts +5 -4
  1128. package/mobile/lib/BlockRenderer/renderChildren.js +2 -2
  1129. package/mobile/lib/BlockRenderer/renderChildren.js.map +1 -1
  1130. package/mobile/lib/common.css +1 -1
  1131. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  1132. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  1133. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +1 -1
  1134. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  1135. package/mobile/lib/components/ApplicationForm/ResponseNotification.js +1 -1
  1136. package/mobile/lib/components/ApplicationForm/ResponseNotification.js.map +1 -1
  1137. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  1138. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  1139. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +4 -4
  1140. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  1141. package/mobile/lib/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
  1142. package/mobile/lib/components/BenefitsBlock/benefitImageStyles.js +2 -0
  1143. package/mobile/lib/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
  1144. package/mobile/lib/components/Blocks.js +6 -0
  1145. package/mobile/lib/components/Blocks.js.map +1 -1
  1146. package/mobile/lib/components/Bonus/Bonus.js +2 -2
  1147. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  1148. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
  1149. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  1150. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  1151. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  1152. package/mobile/lib/components/BusinessBlock/BusinessBlock.js +1 -1
  1153. package/mobile/lib/components/BusinessBlock/BusinessBlock.js.map +1 -1
  1154. package/mobile/lib/components/BusinessBlock/BusinessCard.js +2 -2
  1155. package/mobile/lib/components/BusinessBlock/BusinessCard.js.map +1 -1
  1156. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +2 -2
  1157. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  1158. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
  1159. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  1160. package/mobile/lib/components/Calculator/Calculator.js +5 -5
  1161. package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
  1162. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +20 -1
  1163. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +2 -2
  1164. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  1165. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +3 -3
  1166. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  1167. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
  1168. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js +2 -0
  1169. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  1170. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
  1171. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js +61 -0
  1172. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
  1173. package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
  1174. package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
  1175. package/mobile/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
  1176. package/mobile/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +20 -0
  1177. package/mobile/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
  1178. package/mobile/lib/components/Calculator/constants.d.ts +12 -0
  1179. package/mobile/lib/components/Calculator/constants.js +24 -0
  1180. package/mobile/lib/components/Calculator/constants.js.map +1 -1
  1181. package/mobile/lib/components/Calculator/getMonthlyPayment.d.ts +8 -2
  1182. package/mobile/lib/components/Calculator/getMonthlyPayment.js +7 -2
  1183. package/mobile/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
  1184. package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
  1185. package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.js +7 -0
  1186. package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
  1187. package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
  1188. package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js +13 -0
  1189. package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
  1190. package/mobile/lib/components/Calculator/rangeHelpers.js +7 -3
  1191. package/mobile/lib/components/Calculator/rangeHelpers.js.map +1 -1
  1192. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
  1193. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js +54 -0
  1194. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
  1195. package/mobile/lib/components/CardTransfer/CardTransfer.js +1 -1
  1196. package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -1
  1197. package/mobile/lib/components/Carousel/Carousel.js +18 -33
  1198. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  1199. package/mobile/lib/components/Carousel/CarouselContent.d.ts +3 -9
  1200. package/mobile/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  1201. package/mobile/lib/components/Carousel/CarouselScrollButtons.js +4 -4
  1202. package/mobile/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
  1203. package/mobile/lib/components/Carousel/renderControlButtons.d.ts +2 -3
  1204. package/mobile/lib/components/Carousel/renderControlButtons.js +3 -3
  1205. package/mobile/lib/components/Carousel/renderControlButtons.js.map +1 -1
  1206. package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
  1207. package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  1208. package/mobile/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
  1209. package/mobile/lib/components/CarouselCard/CarouselCard.js +6 -5
  1210. package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  1211. package/mobile/lib/components/CarouselCard/constants.js +2 -2
  1212. package/mobile/lib/components/CarouselCard/constants.js.map +1 -1
  1213. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
  1214. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  1215. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
  1216. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  1217. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  1218. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  1219. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +2 -2
  1220. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  1221. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +13 -12
  1222. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  1223. package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
  1224. package/mobile/lib/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
  1225. package/mobile/lib/components/CarouselProductCard/alignTextStyle.js +2 -0
  1226. package/mobile/lib/components/CarouselProductCard/alignTextStyle.js.map +1 -0
  1227. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  1228. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  1229. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
  1230. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  1231. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  1232. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  1233. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  1234. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  1235. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
  1236. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
  1237. package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  1238. package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  1239. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
  1240. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  1241. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  1242. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  1243. package/mobile/lib/components/ComparisonTable/HeaderCell.js +2 -2
  1244. package/mobile/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  1245. package/mobile/lib/components/ComparisonTable/TableColumn.js +2 -2
  1246. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  1247. package/mobile/lib/components/ContactsBlock/ContactsBlock.js +2 -2
  1248. package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  1249. package/mobile/lib/components/ContentPage/ContentPage.js +17 -10
  1250. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  1251. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
  1252. package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
  1253. package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.js +3 -3
  1254. package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
  1255. package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.js +1 -1
  1256. package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
  1257. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
  1258. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  1259. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
  1260. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  1261. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  1262. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  1263. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  1264. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  1265. package/mobile/lib/components/Footer/Contacts.js +4 -3
  1266. package/mobile/lib/components/Footer/Contacts.js.map +1 -1
  1267. package/mobile/lib/components/Footer/Footer.d.ts +1 -4
  1268. package/mobile/lib/components/Footer/Footer.js +3 -5
  1269. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  1270. package/mobile/lib/components/Footer/FooterProps.d.ts +6 -0
  1271. package/mobile/lib/components/Footer/FooterProps.js +2 -0
  1272. package/mobile/lib/components/Footer/FooterProps.js.map +1 -0
  1273. package/mobile/lib/components/GracePeriod/GracePeriod.js +2 -2
  1274. package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  1275. package/mobile/lib/components/Header/Header.d.ts +2 -5
  1276. package/mobile/lib/components/Header/Header.js +3 -6
  1277. package/mobile/lib/components/Header/Header.js.map +1 -1
  1278. package/mobile/lib/components/Header/HeaderContent.d.ts +0 -2
  1279. package/mobile/lib/components/Header/HeaderProps.d.ts +8 -0
  1280. package/mobile/lib/components/Header/HeaderProps.js +2 -0
  1281. package/mobile/lib/components/Header/HeaderProps.js.map +1 -0
  1282. package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
  1283. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  1284. package/mobile/lib/components/Header/HeaderTop.js +1 -1
  1285. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  1286. package/mobile/lib/components/Headline/Headline.js +1 -1
  1287. package/mobile/lib/components/Headline/Headline.js.map +1 -1
  1288. package/mobile/lib/components/Headline/headlineVersionStyles.js +4 -4
  1289. package/mobile/lib/components/Headline/headlineVersionStyles.js.map +1 -1
  1290. package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js +3 -8
  1291. package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  1292. package/mobile/lib/components/HorizontalLayout/gapStyles.js +6 -6
  1293. package/mobile/lib/components/HorizontalLayout/gapStyles.js.map +1 -1
  1294. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
  1295. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  1296. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  1297. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  1298. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +12 -14
  1299. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  1300. package/mobile/lib/components/LinkDocs/LinkDocs.js +6 -2
  1301. package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  1302. package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +0 -2
  1303. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +2 -2
  1304. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  1305. package/mobile/lib/components/MobileAppTile/renderDescription.js +1 -1
  1306. package/mobile/lib/components/MobileAppTile/renderList.js +1 -1
  1307. package/mobile/lib/components/MobileAppTile/renderList.js.map +1 -1
  1308. package/mobile/lib/components/OfficeMap/OfficeMap.js +1 -1
  1309. package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  1310. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  1311. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  1312. package/mobile/lib/components/PictureText/PictureText.js +1 -1
  1313. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  1314. package/mobile/lib/components/PictureText/renderInsuranceSumMonth.js +1 -1
  1315. package/mobile/lib/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
  1316. package/mobile/lib/components/Placeholder/Placeholder.js +2 -2
  1317. package/mobile/lib/components/Placeholder/Placeholder.js.map +1 -1
  1318. package/mobile/lib/components/ProductBlock/ProductBlock.js +1 -1
  1319. package/mobile/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  1320. package/mobile/lib/components/ProductTile/ProductTile.js +1 -1
  1321. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  1322. package/mobile/lib/components/PromoTile/PromoTile.js +1 -1
  1323. package/mobile/lib/components/PromoTile/PromoTile.js.map +1 -1
  1324. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  1325. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  1326. package/mobile/lib/components/RollupItem/RollupItem.js +5 -2
  1327. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  1328. package/mobile/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  1329. package/mobile/lib/components/SafeDepositRental/RadioButtons.js +11 -0
  1330. package/mobile/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
  1331. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  1332. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  1333. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
  1334. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  1335. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  1336. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  1337. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
  1338. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  1339. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  1340. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  1341. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  1342. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  1343. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  1344. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  1345. package/mobile/lib/components/StepsBlock/StepsBlock.js +3 -3
  1346. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  1347. package/mobile/lib/components/StepsBlock/renderStep.js +2 -2
  1348. package/mobile/lib/components/StepsBlock/renderStep.js.map +1 -1
  1349. package/mobile/lib/components/Tabs/ScrollableTabs.js +0 -1
  1350. package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  1351. package/mobile/lib/components/Tabs/renderGroupTab.js +1 -1
  1352. package/mobile/lib/components/Tabs/renderGroupTab.js.map +1 -1
  1353. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +1 -1
  1354. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  1355. package/mobile/lib/components/TariffsTable/TableTileHeader.js +1 -1
  1356. package/mobile/lib/components/TariffsTable/TableTileHeader.js.map +1 -1
  1357. package/mobile/lib/components/TariffsTable/TariffsTable.js +1 -1
  1358. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  1359. package/mobile/lib/components/TariffsTable/TariffsTableRenderCell.js +1 -1
  1360. package/mobile/lib/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  1361. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +1 -1
  1362. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  1363. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js +1 -1
  1364. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
  1365. package/mobile/lib/components/Tile/Tile.js +1 -1
  1366. package/mobile/lib/components/Tile/Tile.js.map +1 -1
  1367. package/mobile/lib/components/VerticalLayout/VerticalLayout.js +4 -14
  1368. package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  1369. package/mobile/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  1370. package/mobile/lib/content-page-repository/transformDocument.js +3 -0
  1371. package/mobile/lib/content-page-repository/transformDocument.js.map +1 -1
  1372. package/mobile/lib/hooks/useCarouselControls.d.ts +1 -1
  1373. package/mobile/lib/hooks/useCarouselControls.js +5 -6
  1374. package/mobile/lib/hooks/useCarouselControls.js.map +1 -1
  1375. package/mobile/lib/model/Attachment.d.ts +2 -0
  1376. package/mobile/lib/model/JSXBlock.d.ts +1 -1
  1377. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
  1378. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  1379. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
  1380. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  1381. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  1382. package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  1383. package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  1384. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +1 -1
  1385. package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
  1386. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  1387. package/mobile/lib/ui-kit/Button/ButtonInner.js +1 -1
  1388. package/mobile/lib/ui-kit/Button/renderButtonsSection.js +1 -1
  1389. package/mobile/lib/ui-kit/Dialog/Dialog.js +1 -1
  1390. package/mobile/lib/ui-kit/Dialog/Dialog.js.map +1 -1
  1391. package/mobile/lib/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
  1392. package/mobile/lib/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  1393. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
  1394. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  1395. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  1396. package/mobile/lib/ui-kit/Input/Input.js +1 -1
  1397. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  1398. package/mobile/lib/ui-kit/InputRange/InputRange.js +1 -1
  1399. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  1400. package/mobile/lib/ui-kit/LinkButton/LinkButton.js +3 -3
  1401. package/mobile/lib/ui-kit/LinkList/LinkList.js +2 -2
  1402. package/mobile/lib/ui-kit/LinkList/LinkList.js.map +1 -1
  1403. package/mobile/lib/ui-kit/List/List.js +4 -4
  1404. package/mobile/lib/ui-kit/List/List.js.map +1 -1
  1405. package/mobile/lib/ui-kit/List/ListItem.js +3 -3
  1406. package/mobile/lib/ui-kit/List/ListItem.js.map +1 -1
  1407. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +4 -4
  1408. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  1409. package/mobile/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
  1410. package/mobile/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  1411. package/mobile/lib/ui-kit/Logo/renderTitle.js +1 -1
  1412. package/mobile/lib/ui-kit/Logo/renderTitle.js.map +1 -1
  1413. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  1414. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  1415. package/mobile/lib/ui-kit/SearchDialog/SearchInput.js +1 -1
  1416. package/mobile/lib/ui-kit/Select/Select.js +1 -1
  1417. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  1418. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  1419. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  1420. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  1421. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  1422. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  1423. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  1424. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  1425. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  1426. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  1427. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  1428. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  1429. package/mobile/lib/ui-kit/YandexMap/renderSearchField.js +1 -1
  1430. package/mobile/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -1
  1431. package/mobile/lib/utils/formatBytes.d.ts +1 -0
  1432. package/mobile/lib/utils/formatBytes.js +10 -0
  1433. package/mobile/lib/utils/formatBytes.js.map +1 -0
  1434. package/mobile/src/BlockRenderer/renderBlock.tsx +3 -6
  1435. package/mobile/src/BlockRenderer/renderBlockList.tsx +29 -12
  1436. package/mobile/src/BlockRenderer/renderChildren.ts +7 -6
  1437. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
  1438. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +4 -4
  1439. package/mobile/src/components/ApplicationForm/ResponseNotification.tsx +3 -3
  1440. package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +6 -6
  1441. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +5 -5
  1442. package/mobile/src/components/BenefitsBlock/benefitImageStyles.tsx +1 -0
  1443. package/mobile/src/components/Blocks.ts +6 -0
  1444. package/mobile/src/components/Bonus/Bonus.tsx +3 -3
  1445. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +2 -3
  1446. package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefits.tsx +2 -1
  1447. package/mobile/src/components/BusinessBlock/BusinessBlock.tsx +2 -2
  1448. package/mobile/src/components/BusinessBlock/BusinessCard.tsx +9 -7
  1449. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +2 -2
  1450. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +2 -2
  1451. package/mobile/src/components/Calculator/Calculator.tsx +7 -7
  1452. package/mobile/src/components/Calculator/CalculatorContent.ts +25 -1
  1453. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +4 -4
  1454. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +5 -5
  1455. package/mobile/src/components/Calculator/EmbeddableCalcBlocks.tsx +4 -1
  1456. package/mobile/src/components/Calculator/RefinancingCalculatorForm.tsx +147 -0
  1457. package/mobile/src/components/Calculator/UnknownRate.tsx +2 -2
  1458. package/mobile/src/components/Calculator/checkRefinancingSourceBookRowCommonParams.ts +45 -0
  1459. package/mobile/src/components/Calculator/constants.ts +26 -0
  1460. package/mobile/src/components/Calculator/getMonthlyPayment.ts +14 -4
  1461. package/mobile/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +25 -0
  1462. package/mobile/src/components/Calculator/getRefinancingCalculatorRateParams.ts +40 -0
  1463. package/mobile/src/components/Calculator/rangeHelpers.ts +7 -3
  1464. package/mobile/src/components/Calculator/useRefinancingCalculatorParams.ts +136 -0
  1465. package/mobile/src/components/CardTransfer/CardTransfer.tsx +1 -1
  1466. package/mobile/src/components/Carousel/Carousel.tsx +47 -45
  1467. package/mobile/src/components/Carousel/CarouselContent.ts +3 -9
  1468. package/mobile/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
  1469. package/mobile/src/components/Carousel/renderControlButtons.tsx +2 -4
  1470. package/mobile/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +1 -2
  1471. package/mobile/src/components/CarouselCard/CarouselCard.tsx +15 -21
  1472. package/mobile/src/components/CarouselCard/constants.ts +2 -2
  1473. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +14 -20
  1474. package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
  1475. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +3 -11
  1476. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +3 -8
  1477. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +42 -43
  1478. package/mobile/src/components/CarouselProductCard/CarouselProductCardContent.ts +6 -4
  1479. package/mobile/src/components/CarouselProductCard/alignTextStyle.tsx +1 -0
  1480. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +16 -23
  1481. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +3 -8
  1482. package/mobile/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
  1483. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
  1484. package/mobile/src/components/CarouselTariffsCard/getPaddingStyle.tsx +1 -1
  1485. package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
  1486. package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
  1487. package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
  1488. package/mobile/src/components/ComparisonTable/HeaderCell.tsx +4 -9
  1489. package/mobile/src/components/ComparisonTable/TableColumn.tsx +2 -2
  1490. package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +5 -5
  1491. package/mobile/src/components/ContentPage/ContentPage.tsx +69 -51
  1492. package/mobile/src/components/ExchangeRateOffice/ExchangeRateOffice.tsx +5 -5
  1493. package/mobile/src/components/ExchangeRateOffice/renderCurrencies.tsx +3 -3
  1494. package/mobile/src/components/ExchangeRateOffice/renderTableHeader.tsx +1 -1
  1495. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +26 -10
  1496. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +9 -6
  1497. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  1498. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  1499. package/mobile/src/components/Footer/Contacts.tsx +7 -6
  1500. package/mobile/src/components/Footer/Footer.tsx +8 -12
  1501. package/mobile/src/components/Footer/FooterProps.ts +7 -0
  1502. package/mobile/src/components/GracePeriod/GracePeriod.tsx +11 -5
  1503. package/mobile/src/components/Header/Header.tsx +5 -16
  1504. package/mobile/src/components/Header/HeaderContent.ts +0 -2
  1505. package/mobile/src/components/Header/HeaderProps.ts +9 -0
  1506. package/mobile/src/components/Header/HeaderSubMenu.tsx +3 -3
  1507. package/mobile/src/components/Header/HeaderTop.tsx +1 -1
  1508. package/mobile/src/components/Header/sitemap.wcms-resource.json +144 -0
  1509. package/mobile/src/components/Headline/Headline.tsx +1 -1
  1510. package/mobile/src/components/Headline/headlineVersionStyles.ts +4 -4
  1511. package/mobile/src/components/HorizontalLayout/HorizontalLayout.tsx +3 -25
  1512. package/mobile/src/components/HorizontalLayout/gapStyles.ts +6 -6
  1513. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +4 -4
  1514. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -3
  1515. package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +15 -24
  1516. package/mobile/src/components/LinkDocs/LinkDocs.tsx +11 -3
  1517. package/mobile/src/components/LinkDocs/LinkDocs.ui.json +3 -0
  1518. package/mobile/src/components/LinkDocs/LinkDocsContent.ts +0 -2
  1519. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +3 -3
  1520. package/mobile/src/components/MobileAppTile/renderDescription.tsx +1 -1
  1521. package/mobile/src/components/MobileAppTile/renderList.tsx +1 -1
  1522. package/mobile/src/components/OfficeMap/OfficeMap.tsx +6 -6
  1523. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
  1524. package/mobile/src/components/PictureText/PictureText.tsx +1 -1
  1525. package/mobile/src/components/PictureText/renderInsuranceSumMonth.tsx +1 -1
  1526. package/mobile/src/components/Placeholder/Placeholder.tsx +2 -2
  1527. package/mobile/src/components/ProductBlock/ProductBlock.tsx +2 -2
  1528. package/mobile/src/components/ProductTile/ProductTile.tsx +1 -1
  1529. package/mobile/src/components/PromoTile/PromoTile.tsx +1 -1
  1530. package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
  1531. package/mobile/src/components/RollupItem/RollupItem.tsx +7 -4
  1532. package/mobile/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +8 -3
  1533. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
  1534. package/mobile/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
  1535. package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
  1536. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  1537. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
  1538. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1539. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
  1540. package/mobile/src/components/StepsBlock/StepsBlock.tsx +5 -5
  1541. package/mobile/src/components/StepsBlock/renderStep.tsx +7 -7
  1542. package/mobile/src/components/Tabs/ScrollableTabs.tsx +0 -1
  1543. package/mobile/src/components/Tabs/renderGroupTab.tsx +1 -1
  1544. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +1 -1
  1545. package/mobile/src/components/TariffsTable/TableTileHeader.tsx +1 -1
  1546. package/mobile/src/components/TariffsTable/TariffsTable.tsx +1 -2
  1547. package/mobile/src/components/TariffsTable/TariffsTableRenderCell.tsx +1 -1
  1548. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +2 -2
  1549. package/mobile/src/components/TariffsTable/TariffsTableTileCell.tsx +1 -1
  1550. package/mobile/src/components/Tile/Tile.tsx +1 -1
  1551. package/mobile/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
  1552. package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
  1553. package/mobile/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
  1554. package/mobile/src/content-page-repository/transformDocument.ts +3 -0
  1555. package/mobile/src/hooks/useCarouselControls.ts +8 -7
  1556. package/mobile/src/model/Attachment.ts +2 -0
  1557. package/mobile/src/model/JSXBlock.ts +1 -1
  1558. package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +1 -1
  1559. package/mobile/src/ui-kit/BaseProductTile/BaseProductTile.tsx +1 -1
  1560. package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
  1561. package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +7 -5
  1562. package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +1 -1
  1563. package/mobile/src/ui-kit/BlockWrapper.tsx +2 -2
  1564. package/mobile/src/ui-kit/Button/ButtonInner.tsx +1 -1
  1565. package/mobile/src/ui-kit/Button/renderButtonsSection.tsx +1 -1
  1566. package/mobile/src/ui-kit/Dialog/Dialog.tsx +3 -3
  1567. package/mobile/src/ui-kit/InnerTable/InnerTableBodyItem.tsx +4 -6
  1568. package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +1 -1
  1569. package/mobile/src/ui-kit/InnerTable/InnerTableHeader.tsx +4 -4
  1570. package/mobile/src/ui-kit/Input/Input.tsx +1 -1
  1571. package/mobile/src/ui-kit/InputRange/InputRange.tsx +1 -1
  1572. package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +3 -3
  1573. package/mobile/src/ui-kit/LinkList/LinkList.tsx +2 -2
  1574. package/mobile/src/ui-kit/List/List.tsx +4 -4
  1575. package/mobile/src/ui-kit/List/ListItem.tsx +3 -3
  1576. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +6 -7
  1577. package/mobile/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
  1578. package/mobile/src/ui-kit/Logo/renderTitle.tsx +1 -1
  1579. package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
  1580. package/mobile/src/ui-kit/SearchDialog/SearchInput.tsx +1 -1
  1581. package/mobile/src/ui-kit/Select/Select.tsx +1 -1
  1582. package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
  1583. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
  1584. package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
  1585. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
  1586. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  1587. package/mobile/src/ui-kit/YandexMap/renderSearchField.tsx +2 -1
  1588. package/mobile/src/utils/formatBytes.ts +12 -0
  1589. package/package.json +4 -2
  1590. package/src/BlockRenderer/renderBlock.tsx +3 -6
  1591. package/src/BlockRenderer/renderBlockList.tsx +29 -12
  1592. package/src/BlockRenderer/renderChildren.ts +7 -6
  1593. package/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
  1594. package/src/components/ApplicationForm/ApplicationFormWed.tsx +4 -4
  1595. package/src/components/ApplicationForm/ResponseNotification.tsx +3 -3
  1596. package/src/components/ApplicationForm/renderWedDataOrganization.tsx +6 -6
  1597. package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +0 -1
  1598. package/src/components/BenefitsBlock/BenefitsBlock.tsx +5 -5
  1599. package/src/components/BenefitsBlock/benefitImageStyles.mobile.tsx +1 -0
  1600. package/src/components/BenefitsBlock/benefitImageStyles.tsx +1 -0
  1601. package/src/components/Blocks.mobile.ts +6 -0
  1602. package/src/components/Bonus/Bonus.tsx +3 -3
  1603. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +2 -3
  1604. package/src/components/BonusBenefitsBlock/renderBonusBenefits.mobile.tsx +2 -1
  1605. package/src/components/BusinessBlock/BusinessBlock.tsx +2 -2
  1606. package/src/components/BusinessBlock/BusinessCard.tsx +9 -7
  1607. package/src/components/Calculator/BonusCalculatorForm.tsx +2 -2
  1608. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +2 -2
  1609. package/src/components/Calculator/Calculator.fixture.tsx +40 -0
  1610. package/src/components/Calculator/Calculator.tsx +7 -7
  1611. package/src/components/Calculator/CalculatorContent.ts +25 -1
  1612. package/src/components/Calculator/CreditCalculatorForm.tsx +4 -4
  1613. package/src/components/Calculator/DepositCalculatorForm.tsx +5 -5
  1614. package/src/components/Calculator/EmbeddableCalcBlocks.tsx +4 -1
  1615. package/src/components/Calculator/RefinancingCalculatorForm.tsx +147 -0
  1616. package/src/components/Calculator/UnknownRate.tsx +2 -2
  1617. package/src/components/Calculator/checkRefinancingSourceBookRowCommonParams.ts +45 -0
  1618. package/src/components/Calculator/constants.ts +26 -0
  1619. package/src/components/Calculator/getMonthlyPayment.ts +14 -4
  1620. package/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +25 -0
  1621. package/src/components/Calculator/getRefinancingCalculatorRateParams.ts +40 -0
  1622. package/src/components/Calculator/rangeHelpers.ts +7 -3
  1623. package/src/components/Calculator/useRefinancingCalculatorParams.ts +136 -0
  1624. package/src/components/CardTransfer/CardTransfer.tsx +1 -1
  1625. package/src/components/Carousel/Carousel.fixture.mobile.tsx +8 -53
  1626. package/src/components/Carousel/Carousel.fixture.tsx +4 -26
  1627. package/src/components/Carousel/Carousel.tsx +47 -45
  1628. package/src/components/Carousel/CarouselContent.ts +3 -9
  1629. package/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
  1630. package/src/components/Carousel/renderControlButtons.tsx +2 -4
  1631. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.fixture.tsx +2 -7
  1632. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.tsx +1 -2
  1633. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +34 -67
  1634. package/src/components/CarouselCard/CarouselCard.fixture.mobile.tsx +1 -1
  1635. package/src/components/CarouselCard/CarouselCard.fixture.tsx +1 -1
  1636. package/src/components/CarouselCard/CarouselCard.tsx +15 -21
  1637. package/src/components/CarouselCard/constants.ts +2 -2
  1638. package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +14 -20
  1639. package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +5 -3
  1640. package/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
  1641. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +3 -11
  1642. package/src/components/CarouselLinks/CarouselLinks.tsx +3 -8
  1643. package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +7 -4
  1644. package/src/components/CarouselProductCard/CarouselProductCard.tsx +42 -43
  1645. package/src/components/CarouselProductCard/CarouselProductCardContent.ts +6 -4
  1646. package/src/components/CarouselProductCard/alignTextStyle.mobile.tsx +1 -0
  1647. package/src/components/CarouselProductCard/alignTextStyle.tsx +1 -0
  1648. package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +16 -23
  1649. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +3 -8
  1650. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +24 -30
  1651. package/src/components/CarouselRichTextCard/CarouselRichTextCard.fixture.tsx +1 -1
  1652. package/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
  1653. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
  1654. package/src/components/CarouselTariffsCard/getPaddingStyle.mobile.tsx +1 -1
  1655. package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +2 -2
  1656. package/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
  1657. package/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
  1658. package/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
  1659. package/src/components/ComparisonTable/HeaderCell.mobile.tsx +4 -9
  1660. package/src/components/ComparisonTable/HeaderCell.tsx +5 -10
  1661. package/src/components/ComparisonTable/TableCell.tsx +1 -1
  1662. package/src/components/ComparisonTable/TableColumn.tsx +2 -2
  1663. package/src/components/ContactsBlock/ContactsBlock.tsx +5 -5
  1664. package/src/components/ContentPage/ContentPage.tsx +69 -51
  1665. package/src/components/ExchangeRateOffice/ExchangeRateOffice.tsx +5 -5
  1666. package/src/components/ExchangeRateOffice/renderCurrencies.tsx +3 -3
  1667. package/src/components/ExchangeRateOffice/renderTableHeader.tsx +1 -1
  1668. package/src/components/ExchangeRateTile/CurrencyTable.tsx +26 -10
  1669. package/src/components/ExchangeRateTile/CurrentLocation.tsx +9 -6
  1670. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  1671. package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.tsx +19 -0
  1672. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  1673. package/src/components/Footer/Contacts.tsx +7 -6
  1674. package/src/components/Footer/Footer.fixture.mobile.tsx +3 -1
  1675. package/src/components/Footer/Footer.fixture.tsx +4 -17
  1676. package/src/components/Footer/Footer.mobile.tsx +8 -12
  1677. package/src/components/Footer/Footer.tsx +13 -17
  1678. package/src/components/Footer/FooterProps.ts +7 -0
  1679. package/src/components/GracePeriod/GracePeriod.tsx +11 -5
  1680. package/src/components/Header/Header.fixture.mobile.tsx +5 -2
  1681. package/src/components/Header/Header.fixture.tsx +4 -3
  1682. package/src/components/Header/Header.mobile.tsx +5 -16
  1683. package/src/components/Header/Header.tsx +11 -32
  1684. package/src/components/Header/HeaderContent.ts +0 -2
  1685. package/src/components/Header/HeaderProps.ts +9 -0
  1686. package/src/components/Header/HeaderSubMenu.tsx +3 -3
  1687. package/src/components/Header/HeaderTop.tsx +1 -1
  1688. package/src/components/Header/sitemap.wcms-resource.json +144 -0
  1689. package/src/components/Headline/Headline.tsx +1 -1
  1690. package/src/components/Headline/headlineVersionStyles.ts +4 -4
  1691. package/src/components/HorizontalLayout/HorizontalLayout.fixture.mobile.tsx +72 -0
  1692. package/src/components/HorizontalLayout/HorizontalLayout.mobile.tsx +12 -0
  1693. package/src/components/HorizontalLayout/HorizontalLayout.tsx +1 -1
  1694. package/src/components/HorizontalLayout/gapStyles.ts +6 -6
  1695. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +4 -4
  1696. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -3
  1697. package/src/components/InvestmentInfo/InvestmentInfo.tsx +15 -24
  1698. package/src/components/LinkDocs/LinkDocs.tsx +11 -3
  1699. package/src/components/LinkDocs/LinkDocs.ui.json +3 -0
  1700. package/src/components/LinkDocs/LinkDocsContent.ts +0 -2
  1701. package/src/components/MobileAppTile/MobileAppTile.tsx +3 -3
  1702. package/src/components/MobileAppTile/renderDescription.tsx +1 -1
  1703. package/src/components/MobileAppTile/renderList.tsx +1 -1
  1704. package/src/components/OfficeMap/OfficeMap.tsx +6 -6
  1705. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
  1706. package/src/components/PictureText/PictureText.tsx +1 -1
  1707. package/src/components/PictureText/renderInsuranceSumMonth.tsx +1 -1
  1708. package/src/components/Placeholder/Placeholder.tsx +2 -2
  1709. package/src/components/ProductBlock/ProductBlock.tsx +2 -2
  1710. package/src/components/ProductGallery/ProductGallery.tsx +2 -2
  1711. package/src/components/ProductTile/ProductTile.fixture.mobile.tsx +214 -0
  1712. package/src/components/ProductTile/ProductTile.tsx +1 -1
  1713. package/src/components/PromoTile/PromoTile.tsx +1 -1
  1714. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +1 -1
  1715. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +1 -1
  1716. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
  1717. package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +15 -19
  1718. package/src/components/RollupItem/RollupItem.tsx +7 -4
  1719. package/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +8 -3
  1720. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
  1721. package/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
  1722. package/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
  1723. package/src/components/SafeDepositRental/SafeDepositRental.fixture.mobile.tsx +15 -0
  1724. package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  1725. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
  1726. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1727. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
  1728. package/src/components/StepsBlock/StepsBlock.mobile.tsx +5 -5
  1729. package/src/components/StepsBlock/StepsBlock.tsx +20 -20
  1730. package/src/components/StepsBlock/renderStep.tsx +7 -7
  1731. package/src/components/Tabs/ScrollableTabs.tsx +0 -1
  1732. package/src/components/Tabs/renderGroupTab.tsx +1 -1
  1733. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +1 -1
  1734. package/src/components/TariffsTable/TableTileHeader.tsx +1 -1
  1735. package/src/components/TariffsTable/TariffsTable.mobile.tsx +1 -2
  1736. package/src/components/TariffsTable/TariffsTable.tsx +6 -21
  1737. package/src/components/TariffsTable/TariffsTableRenderCell.tsx +1 -1
  1738. package/src/components/TariffsTable/TariffsTableRow.tsx +2 -2
  1739. package/src/components/TariffsTable/TariffsTableTileCell.tsx +1 -1
  1740. package/src/components/Tile/Tile.tsx +1 -1
  1741. package/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
  1742. package/src/components/VerticalLayout/VerticalLayout.fixture.mobile.tsx +0 -3
  1743. package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +3 -10
  1744. package/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
  1745. package/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
  1746. package/src/content-page-repository/transformDocument.ts +3 -0
  1747. package/src/hooks/useCarouselControls.ts +8 -7
  1748. package/src/model/Attachment.ts +2 -0
  1749. package/src/model/JSXBlock.ts +1 -1
  1750. package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +1 -1
  1751. package/src/ui-kit/BaseProductTile/BaseProductTile.tsx +1 -1
  1752. package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
  1753. package/src/ui-kit/BaseTile/BaseTile.tsx +7 -5
  1754. package/src/ui-kit/BenefitItem/BenefitItem.tsx +1 -1
  1755. package/src/ui-kit/BlockWrapper.tsx +2 -2
  1756. package/src/ui-kit/Button/ButtonInner.tsx +1 -1
  1757. package/src/ui-kit/Button/renderButtonsSection.tsx +1 -1
  1758. package/src/ui-kit/Dialog/Dialog.tsx +3 -3
  1759. package/src/ui-kit/InnerTable/InnerTableBodyItem.tsx +4 -6
  1760. package/src/ui-kit/InnerTable/InnerTableButton.tsx +1 -1
  1761. package/src/ui-kit/InnerTable/InnerTableHeader.tsx +4 -4
  1762. package/src/ui-kit/Input/Input.tsx +1 -1
  1763. package/src/ui-kit/InputRange/InputRange.tsx +1 -1
  1764. package/src/ui-kit/LinkButton/LinkButton.tsx +3 -3
  1765. package/src/ui-kit/LinkList/LinkList.tsx +2 -2
  1766. package/src/ui-kit/List/List.fixture.tsx +4 -4
  1767. package/src/ui-kit/List/List.tsx +4 -4
  1768. package/src/ui-kit/List/ListItem.tsx +3 -3
  1769. package/src/ui-kit/LocationDialog/LocationDialog.tsx +6 -7
  1770. package/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
  1771. package/src/ui-kit/Logo/renderTitle.tsx +1 -1
  1772. package/src/ui-kit/NumberInput/NumberInput.fixture.tsx +1 -1
  1773. package/src/ui-kit/RichText/RichText.fixture.tsx +1 -1
  1774. package/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
  1775. package/src/ui-kit/SearchDialog/SearchInput.tsx +1 -1
  1776. package/src/ui-kit/Select/Select.tsx +1 -1
  1777. package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
  1778. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
  1779. package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
  1780. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
  1781. package/src/ui-kit/Tags/Tags.fixture.tsx +1 -1
  1782. package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  1783. package/src/ui-kit/YandexMap/renderSearchField.tsx +2 -1
  1784. package/src/utils/formatBytes.ts +12 -0
  1785. package/tailwind.config.cjs +13 -16
  1786. package/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1787. package/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
  1788. package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1789. package/bundle/components/Header/HeaderBurger.d.ts +0 -9
  1790. package/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1791. package/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1792. package/dist/components/Calculator/renderProposalMortgage.js +0 -10
  1793. package/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
  1794. package/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
  1795. package/dist/components/CarouselCard/getCardWidth.js +0 -18
  1796. package/dist/components/CarouselCard/getCardWidth.js.map +0 -1
  1797. package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1798. package/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
  1799. package/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1800. package/dist/components/Header/HeaderBurger.d.ts +0 -9
  1801. package/dist/components/Header/HeaderBurger.js +0 -17
  1802. package/dist/components/Header/HeaderBurger.js.map +0 -1
  1803. package/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1804. package/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
  1805. package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1806. package/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1807. package/lib/components/Calculator/renderProposalMortgage.js +0 -7
  1808. package/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
  1809. package/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
  1810. package/lib/components/CarouselCard/getCardWidth.js +0 -15
  1811. package/lib/components/CarouselCard/getCardWidth.js.map +0 -1
  1812. package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1813. package/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
  1814. package/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1815. package/lib/components/Header/HeaderBurger.d.ts +0 -9
  1816. package/lib/components/Header/HeaderBurger.js +0 -15
  1817. package/lib/components/Header/HeaderBurger.js.map +0 -1
  1818. package/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1819. package/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
  1820. package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1821. package/mobile/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1822. package/mobile/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
  1823. package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1824. package/mobile/bundle/components/Header/HeaderBurger.d.ts +0 -9
  1825. package/mobile/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1826. package/mobile/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1827. package/mobile/dist/components/Calculator/renderProposalMortgage.js +0 -10
  1828. package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
  1829. package/mobile/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
  1830. package/mobile/dist/components/CarouselCard/getCardWidth.js +0 -18
  1831. package/mobile/dist/components/CarouselCard/getCardWidth.js.map +0 -1
  1832. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1833. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
  1834. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1835. package/mobile/dist/components/Header/HeaderBurger.d.ts +0 -9
  1836. package/mobile/dist/components/Header/HeaderBurger.js +0 -17
  1837. package/mobile/dist/components/Header/HeaderBurger.js.map +0 -1
  1838. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1839. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
  1840. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1841. package/mobile/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1842. package/mobile/lib/components/Calculator/renderProposalMortgage.js +0 -7
  1843. package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
  1844. package/mobile/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
  1845. package/mobile/lib/components/CarouselCard/getCardWidth.js +0 -15
  1846. package/mobile/lib/components/CarouselCard/getCardWidth.js.map +0 -1
  1847. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1848. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
  1849. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1850. package/mobile/lib/components/Header/HeaderBurger.d.ts +0 -9
  1851. package/mobile/lib/components/Header/HeaderBurger.js +0 -15
  1852. package/mobile/lib/components/Header/HeaderBurger.js.map +0 -1
  1853. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1854. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
  1855. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1856. package/mobile/src/components/Calculator/renderProposalMortgage.tsx +0 -22
  1857. package/mobile/src/components/CarouselCard/getCardWidth.tsx +0 -16
  1858. package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
  1859. package/mobile/src/components/Header/HeaderBurger.tsx +0 -54
  1860. package/src/components/Calculator/renderProposalMortgage.tsx +0 -22
  1861. package/src/components/CarouselCard/getCardWidth.tsx +0 -16
  1862. package/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
  1863. package/src/components/Header/HeaderBurger.tsx +0 -54
@@ -337,7 +337,7 @@
337
337
  transparent: 'bg-transparent text-primary-text',
338
338
  '': '',
339
339
  };
340
- const BlockWrapper = JSX(({ className, version = 'primary', isTheme = true, defaultPadding = 'p-m', padding, block, tag = 'section', role, children, }) => {
340
+ const BlockWrapper = JSX(({ className, version = 'primary', isTheme = true, defaultPadding = 'p-xl', padding, block, tag = 'section', role, children, }) => {
341
341
  const Tag = tag;
342
342
  const ref = useBlockIntersectionObserver(block);
343
343
  const [isHidden, setHidden] = useState(false);
@@ -345,7 +345,7 @@
345
345
  setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
346
346
  }), [block]);
347
347
  const isGroup = version && isTheme;
348
- return (jsx(Tag, { className: style('font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
348
+ return (jsx(Tag, { className: style('@container font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
349
349
  });
350
350
 
351
351
  const headingTag = (tag) => tag;
@@ -622,7 +622,7 @@
622
622
 
623
623
  const ButtonInner = JSX((props) => {
624
624
  const { text, aboveText, appendLeft, appendRight, version = 'primary' } = props;
625
- return (jsxs("div", { className: style(getButtonStyle(props), 'flex gap-2'), children: [appendLeft ? jsx("div", { className: iconStyleMap[version], children: appendLeft }) : null, isWithText(props) ? (jsxs("div", { children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-0.5' : 'text-l'}`, children: text })] })) : null, appendRight ? jsx("div", { className: iconStyleMap[version], children: appendRight }) : null] }));
625
+ return (jsxs("div", { className: style(getButtonStyle(props), 'flex gap-2'), children: [appendLeft ? jsx("div", { className: iconStyleMap[version], children: appendLeft }) : null, isWithText(props) ? (jsxs("div", { children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-3xs' : 'text-l'}`, children: text })] })) : null, appendRight ? jsx("div", { className: iconStyleMap[version], children: appendRight }) : null] }));
626
626
  });
627
627
  const getButtonStyle = (props) => {
628
628
  const { version, aboveText, rounded } = props;
@@ -687,7 +687,7 @@
687
687
  const validStyle = valid
688
688
  ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
689
689
  : 'border-error';
690
- return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-2", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-4', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
690
+ return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-4', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
691
691
  });
692
692
 
693
693
  const InputControl = JSX(({ className, label, value = '', error, onChange, onBlur }) => (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: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
@@ -798,7 +798,7 @@
798
798
  onChange && onChange(option);
799
799
  }, [onChange]);
800
800
  const isSelected = (option) => option.key === value?.key;
801
- 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: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), 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(handleChange, isOpen, isSelected)) }) })) : null] })] }));
801
+ return (jsxs("div", { className: className, ref: wrapperRef, children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null, jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), 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(handleChange, isOpen, isSelected)) }) })) : null] })] }));
802
802
  });
803
803
  const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (jsxs("div", { onClick: () => {
804
804
  handleChange(option);
@@ -810,7 +810,7 @@
810
810
 
811
811
  const renderAcquiringRegion = ({ regions, field }) => (jsxs("div", { className: "mb-4 pb-1 border-b border-b-main-divider sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { 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", options: ACQUIRING_TYPES.map(({ name: key = '' }) => ({ key, text: key })), ...withValidator(field('acquiringType'), defaultValidator) }) }), jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) })] }));
812
812
 
813
- 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-3", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('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: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-[50%]' : 'left-[5%]') }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] })));
813
+ const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-s", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-s rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-1/2' : 'left-[5%]') }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] })));
814
814
 
815
815
  const renderSlideCheckboxes = (field) => (jsxs("div", { className: "sm:mb-5", children: [jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field('onlineCheckout') }), jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })] }));
816
816
 
@@ -971,7 +971,7 @@
971
971
  const handleChange = useCallback((e) => {
972
972
  onChange && onChange(parseDecimal(e.target?.value));
973
973
  }, [onChange]);
974
- return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('m-0 mt-2 font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'p-0 pl-4 box-border', 'text-primary-text hover:border-primary-hover focus:border-primary-text', DISABLED_INPUT_CLASSES), disabled: disabled, onInput: handleChange, ...normalizedProps }), renderRangeWithTicks({ list, min, max, step, disabled, value, onChange })] }), renderRangeCaption(items)] }));
974
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('m-0 mt-xs font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'p-0 pl-4 box-border', 'text-primary-text hover:border-primary-hover focus:border-primary-text', DISABLED_INPUT_CLASSES), disabled: disabled, onInput: handleChange, ...normalizedProps }), renderRangeWithTicks({ list, min, max, step, disabled, value, onChange })] }), renderRangeCaption(items)] }));
975
975
  });
976
976
  const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
977
977
  const renderRangeCaption = (items) => (jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item }, String(i)))) }));
@@ -1104,7 +1104,7 @@
1104
1104
  return (jsxs("div", { className: "mb-3 sm:mb-6", children: [jsxs("div", { className: "mb-4 sm:flex sm:items-center sm:gap-6", children: [jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C", ...field('currencyControl') }), jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('documentaryOperations') }), jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('conversionOperations') })] }), 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: textField.value, onInput: ((e) => textField.onChange && textField.onChange(e.target?.value || '')) })] }));
1105
1105
  };
1106
1106
 
1107
- const renderWedDataOrganization = (field) => (jsxs("div", { children: [jsxs("div", { className: "sm:flex sm:justify-between sm:gap-5", children: [jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 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", ...withValidator(field('fullName'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0424\u0418\u041E", ...withValidator(field('name'), nameValidator) }) })] }), jsxs("div", { className: "sm:flex sm:justify-between sm:gap-5 sm:mb-7", children: [jsx("div", { className: "sm:w-1/2", children: jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) }) })] })] }));
1107
+ const renderWedDataOrganization = (field) => (jsxs("div", { children: [jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg", children: [jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u0424\u0418\u041E", ...withValidator(field('name'), nameValidator) }) })] }), jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg sm:mb-2xl", children: [jsx("div", { className: "sm:w-1/2", children: jsx(PhoneInputControl, { className: "shrink-0 w-full mb-s", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) }) })] })] }));
1108
1108
 
1109
1109
  const initialFormState = {
1110
1110
  fullName: '',
@@ -1137,13 +1137,13 @@
1137
1137
  });
1138
1138
  }, [onSubmit]);
1139
1139
  const [, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
1140
- return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-4" }), renderWedDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "sm:text-center mb-4" }), renderQuestionsInterested(field), jsxs("div", { className: "flex flex-col border-b border-main-divider mb-5 pb-5 sm:items-center sm:flex-row sm:mb-9 sm:pb-9", children: [renderSubmitButton(button, 'mb-4 sm:mr-5 sm:mb-0'), 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: "sm:text-center mb-4" }), renderContacts()] }));
1140
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-m" }), renderWedDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "sm:text-center mb-m" }), renderQuestionsInterested(field), jsxs("div", { className: "flex flex-col border-b border-main-divider mb-5 pb-5 sm:items-center sm:flex-row sm:mb-9 sm:pb-9", children: [renderSubmitButton(button, 'mb-m sm:mr-lg sm:mb-0'), 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: "sm:text-center mb-m" }), renderContacts()] }));
1141
1141
  });
1142
1142
 
1143
1143
  const ResponseNotification = JSX(({ responseType }) => {
1144
1144
  const responseOK = responseType === 'OK';
1145
1145
  const backgroundColor = responseOK ? 'bg-ok' : 'bg-fail';
1146
- return (jsxs("div", { className: `flex items-center mt-5 p-5 rounded-md ${backgroundColor}`, children: [responseOK ? (jsx(Img, { image: { icon: 'ResponceOKIcon' }, width: "42", height: "42", className: "mr-4" })) : (jsx(Img, { image: { icon: 'ResponceFailIcon' }, width: "37", height: "34", className: "mr-4" })), jsxs("div", { children: [jsx(Heading, { headingType: "h6", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', className: "mb-1" }), jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: responseOK ? 'Совсем скоро мы с вами свяжемся' : 'Пожалуйста, повторите позднее' })] })] }));
1146
+ return (jsxs("div", { className: `flex items-center mt-lg p-lg rounded-md space-x-m ${backgroundColor}`, children: [responseOK ? (jsx(Img, { image: { icon: 'ResponceOKIcon' }, width: "42", height: "42" })) : (jsx(Img, { image: { icon: 'ResponceFailIcon' }, width: "37", height: "34" })), jsxs("div", { children: [jsx(Heading, { headingType: "h6", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', className: "mb-1" }), jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: responseOK ? 'Совсем скоро мы с вами свяжемся' : 'Пожалуйста, повторите позднее' })] })] }));
1147
1147
  });
1148
1148
 
1149
1149
  const COMPONENTS_MAP = {
@@ -1162,7 +1162,7 @@
1162
1162
  setResponseType(status);
1163
1163
  return status;
1164
1164
  }, []);
1165
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [title ? (jsx(Heading, { headingType: "h3", title: title, className: "mb-4 sm:mb-8 sm:text-center" })) : null, COMPONENTS_MAP[typeForm]({ button, link, onSubmit: handleSubmit }), responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
1165
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [title ? (jsx(Heading, { headingType: "h3", title: title, className: "mb-4 sm:mb-8 sm:text-center" })) : null, COMPONENTS_MAP[typeForm]({ button, link, onSubmit: handleSubmit }), responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
1166
1166
  });
1167
1167
 
1168
1168
  const iconBgStyles = {
@@ -1181,21 +1181,21 @@
1181
1181
 
1182
1182
  const defaultIconSize = 44;
1183
1183
 
1184
- const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: "text-center", title: title }) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full sm:justify-center mt-m gap-xl", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
1185
- const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-s items-center md:basis-1/2 md:max-w-[400px]", role: "listitem", children: [benefit?.icon?.icon ? (jsx(RoundedIcon, { className: "shrink-0", defaultIconSize: defaultIconSize, iconBgVersion: benefit?.iconBgVersion || '', ...benefit?.icon })) : null, benefit?.icon?.src ? jsx(Img, { className: "shrink-0", image: benefit.icon }) : null, benefit?.label ? (jsxs("div", { className: "sm:h-full", children: [jsx(Heading, { headingType: "h6", children: benefit.label }), renderDescription$4(benefit.description)] })) : null] }, String(i)));
1186
- const renderDescription$4 = (description) => {
1184
+ const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: "text-center", title: title }) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full sm:justify-center mt-xl gap-5xl", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
1185
+ const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-m items-center md:basis-1/2 md:max-w-[400px]", role: "listitem", children: [benefit?.icon?.icon ? (jsx(RoundedIcon, { className: "shrink-0", defaultIconSize: defaultIconSize, iconBgVersion: benefit?.iconBgVersion || '', ...benefit?.icon })) : null, benefit?.icon?.src ? jsx(Img, { className: "shrink-0", image: benefit.icon }) : null, benefit?.label ? (jsxs("div", { className: "sm:h-full", children: [jsx(Heading, { headingType: "h6", children: benefit.label }), renderDescription$3(benefit.description)] })) : null] }, String(i)));
1186
+ const renderDescription$3 = (description) => {
1187
1187
  const benefitType = description?.benefitType || null;
1188
- return description && benefitType ? (jsx("div", { className: "mt-2 text-l font-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
1188
+ return description && benefitType ? (jsx("div", { className: "mt-xs text-l font-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
1189
1189
  ? renderListBenefit(description)
1190
1190
  : renderTextBenefit(description) })) : null;
1191
1191
  };
1192
1192
  const renderTextBenefit = (description) => description?.name || null;
1193
1193
  const renderListBenefit = (description) => {
1194
- const listStyleType = description?.bullets ? 'list-disc pl-6' : '';
1194
+ const listStyleType = description?.bullets ? 'list-disc pl-3xl' : '';
1195
1195
  return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
1196
1196
  };
1197
1197
 
1198
- const renderButtonsSection = (buttons, { className, buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-xs justify-items-stretch' : 'flex-wrap gap-s', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
1198
+ const renderButtonsSection = (buttons, { className, buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-xs justify-items-stretch' : 'flex-wrap gap-m', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
1199
1199
  const renderButton = (buttonClassName = '') => (button, index) => {
1200
1200
  const { text, icon, iconRight, version, ...rest } = button || {};
1201
1201
  const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
@@ -1210,25 +1210,25 @@
1210
1210
  title: { headingType: 'h0', as: 'h1' },
1211
1211
  descriptionSize: 'text-h5',
1212
1212
  descriptionWeight: 'font-normal',
1213
- descriptionStyle: 'mt-m',
1213
+ descriptionStyle: 'mt-xl',
1214
1214
  },
1215
1215
  XL: {
1216
1216
  title: { headingType: 'h1', as: 'h1' },
1217
1217
  descriptionSize: 'text-xl',
1218
1218
  descriptionWeight: 'font-light',
1219
- descriptionStyle: 'mt-s',
1219
+ descriptionStyle: 'mt-m',
1220
1220
  },
1221
1221
  L: {
1222
1222
  title: { headingType: 'h2', as: 'h2' },
1223
1223
  descriptionSize: 'text-xl',
1224
1224
  descriptionWeight: 'font-light',
1225
- descriptionStyle: 'mt-s',
1225
+ descriptionStyle: 'mt-m',
1226
1226
  },
1227
1227
  M: {
1228
1228
  title: { headingType: 'h3', as: 'h2' },
1229
1229
  descriptionSize: 'text-xl',
1230
1230
  descriptionWeight: 'font-light',
1231
- descriptionStyle: 'mt-text',
1231
+ descriptionStyle: 'mt-s',
1232
1232
  },
1233
1233
  S: {
1234
1234
  title: { headingType: 'h4', as: 'h2' },
@@ -1258,13 +1258,13 @@
1258
1258
  const Headline = JSX(({ className, version = '', headlineVersion = 'XL', title, description, align = 'text-center', as, isPadding = true, isTheme = false, ...rest }) => {
1259
1259
  const versionStyle = headlineVersionStyles[headlineVersion];
1260
1260
  const descriptionStyle = { marginTop: versionStyle.descriptionStyle };
1261
- return (jsxs(BlockWrapper, { className: className, defaultPadding: isPadding ? 'p-default' : '', version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, font: versionStyle.descriptionWeight, align: align, ...descriptionStyle, children: description })) : null] }));
1261
+ return (jsxs(BlockWrapper, { className: className, defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, font: versionStyle.descriptionWeight, align: align, ...descriptionStyle, children: description })) : null] }));
1262
1262
  });
1263
1263
 
1264
1264
  const Bonus = JSX((props) => {
1265
1265
  const { className = '', title, description, bonusItems, ...rest } = props;
1266
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-default", ...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
1267
- ? 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
1266
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems?.length
1267
+ ? 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-xs", 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
1268
1268
  ? renderBonusItemContent(_.bonusItemContent)
1269
1269
  : null] })] }, String(i))))
1270
1270
  : null })] }) }));
@@ -1304,29 +1304,31 @@
1304
1304
  }
1305
1305
  };
1306
1306
 
1307
- const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: style('p-default', className), defaultPadding: "p-default", ...rest, children: [jsx(Headline, { className: "mb-4 sm:mb-8", isPadding: false, title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
1307
+ const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4 sm:mb-3xl", isPadding: false, title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
1308
1308
  ? renderBonusBenefits(bonusBenefits, columnsCount, cardTextAlign)
1309
1309
  : null] })));
1310
1310
 
1311
1311
  const BusinessCard = JSX((props) => {
1312
1312
  const { title, image, cardItems, button } = props;
1313
- return (jsxs("div", { className: "border-gray border p-9 w-1/2", children: [image ? (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(Img, { className: "mb-5", image: image }) : null, image?.icon ? jsx(Img, { image: image }) : null] })) : null, title ? jsx(Heading, { headingType: "h4", title: title, className: "mb-6" }) : null, cardItems?.length ? jsx("ul", { children: cardItems.map((_, i) => renderItem(_, String(i))) }) : null, renderButtonsSection([button], { buttonClassName: 'mt-6' })] }));
1313
+ return (jsxs("div", { className: "border-gray border p-4xl w-1/2 space-y-lg", children: [image ? (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(Img, { image: image }) : null, image?.icon ? jsx(Img, { image: image }) : null] })) : null, title ? jsx(Heading, { headingType: "h4", title: title }) : null, cardItems?.length ? (jsx("ul", { className: "space-y-s", children: cardItems.map((_, i) => renderItem(_, String(i))) })) : null, renderButtonsSection([button])] }));
1314
1314
  });
1315
1315
  const renderItem = (item, key) => {
1316
1316
  const { icon, text } = item;
1317
- return (jsxs("li", { className: "flex items-center gap-3.5 mb-3 last:mb-0", children: [icon?.icon ? (jsx(Img, { image: icon, className: "w-12 h-12 min-w-12 p-3 rounded-icon bg-main-divider" })) : null, icon?.src ? jsx(Img, { image: icon }) : null, jsx(Text, { size: "text-xl", font: "font-light", children: text })] }, key));
1317
+ return (jsxs("li", { className: "flex items-center gap-s last:mb-0", children: [icon?.icon ? (jsx(Img, { image: icon, className: "w-12 h-12 min-w-12 p-s rounded-icon bg-main-divider" })) : null, icon?.src ? jsx(Img, { image: icon }) : null, jsx(Text, { size: "text-xl", font: "font-light", children: text })] }, key));
1318
1318
  };
1319
1319
 
1320
- const BusinessBlock = JSX(({ className, title, cards, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [jsx(Heading, { headingType: "h3", title: title, className: "text-center mb-8" }), jsx("div", { className: "flex gap-5", children: cards?.length ? cards.map((_, i) => jsx(BusinessCard, { ..._ }, String(i))) : null })] })));
1320
+ const BusinessBlock = JSX(({ className, title, cards, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl space-y-3xl", ...rest, children: [jsx(Heading, { headingType: "h3", title: title, className: "text-center" }), jsx("div", { className: "flex gap-5", children: cards?.length ? cards.map((_, i) => jsx(BusinessCard, { ..._ }, String(i))) : null })] })));
1321
1321
 
1322
1322
  const ButtonsBlock = JSX(({ buttons, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), defaultPadding: "p-0", ...rest, children: renderButtonsSection(buttons) })));
1323
1323
 
1324
- const useCarouselControls = (props) => {
1324
+ const useCarouselControls = (props, initialIndex = 0) => {
1325
1325
  const { itemCount, visibleItemCount } = props;
1326
- const [activeIndex, setActiveIndex] = useState(0);
1326
+ const [activeIndex, setActiveIndex] = useState(initialIndex);
1327
1327
  const inc = useCallback(() => setActiveIndex((_) => Math.min(_ + 1, itemCount - 1)), [itemCount]);
1328
1328
  const dec = useCallback(() => setActiveIndex((_) => Math.max(_ - 1, 0)), [itemCount]);
1329
- const canInc = isScrollable(props) && activeIndex < itemCount - (visibleItemCount || 1);
1329
+ const canInc = visibleItemCount
1330
+ ? itemCount > visibleItemCount && activeIndex < itemCount - visibleItemCount
1331
+ : activeIndex < itemCount - 1;
1330
1332
  const canDec = activeIndex > 0;
1331
1333
  const isScrollAvailable = canDec || canInc;
1332
1334
  return [
@@ -1340,9 +1342,6 @@
1340
1342
  },
1341
1343
  ];
1342
1344
  };
1343
- function isScrollable({ itemCount, visibleItemCount }) {
1344
- return Boolean(visibleItemCount && itemCount > visibleItemCount);
1345
- }
1346
1345
 
1347
1346
  const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `group/btn shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
1348
1347
  ? 'bg-secondary-light text-secondary-text'
@@ -1360,8 +1359,17 @@
1360
1359
  const DEFAULT_MIN_SUM$1 = 10000;
1361
1360
  const DEFAULT_MAX_SUM$1 = 5000000;
1362
1361
  const CREDIT_DEFAULT_SUM = 200000;
1362
+ const REFINANCING_DEFAULT_SUM = 700000;
1363
+ const REFINANCING_DEFAULT_MAX_SUM = 3000000;
1364
+ const REFINANCING_OLD_MIN_SUM = 0;
1365
+ const REFINANCING_OLD_DEFAULT_SUM = 0;
1366
+ const REFINANCING_OLD_MAX_SUM = 2500000;
1367
+ const REFINANCING_EXTRA_MIN_SUM = 0;
1368
+ const REFINANCING_EXTRA_MAX_SUM = 500000;
1363
1369
  const DEPOSIT_DEFAULT_SUM = 20000;
1364
1370
  const DEFAULT_MIN_MONTHS$1 = 13;
1371
+ const DEFAULT_REFINANCING_MIN_MONTHS = 13;
1372
+ const DEFAULT_REFINANCING_MONTHS = 48;
1365
1373
  const DEFAULT_MAX_MONTHS$1 = 60;
1366
1374
  const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS$1 - DEFAULT_MIN_MONTHS$1) / 2);
1367
1375
  const BUSINESS_DEFAULT_SUM = 100000;
@@ -1384,6 +1392,20 @@
1384
1392
  isStateEmployee: false,
1385
1393
  isInsurance: true,
1386
1394
  };
1395
+ const DEFAULT_REFINANCING_CALCULATOR_PARAMS = {
1396
+ minSum: DEFAULT_MIN_SUM$1,
1397
+ maxSum: REFINANCING_DEFAULT_MAX_SUM,
1398
+ minSumOld: REFINANCING_OLD_MIN_SUM,
1399
+ maxSumOld: REFINANCING_OLD_MAX_SUM,
1400
+ minSumExtra: REFINANCING_EXTRA_MIN_SUM,
1401
+ maxSumExtra: REFINANCING_EXTRA_MAX_SUM,
1402
+ minMonths: DEFAULT_REFINANCING_MIN_MONTHS,
1403
+ maxMonths: DEFAULT_MAX_MONTHS$1,
1404
+ rate: 7.5,
1405
+ isExtraMoney: false,
1406
+ isSalaryClient: false,
1407
+ isInsurance: true,
1408
+ };
1387
1409
  const DEFAULT_TRAVEL_MIN_SUM = 6000;
1388
1410
  const DEFAULT_REST_MIN_SUM = 6000;
1389
1411
  const DEFAULT_BONUS_CALCULATOR_PARAMS = {
@@ -1423,6 +1445,7 @@
1423
1445
  const BONUS_CALC_DEFAULT_DIR = 'bonus-calculator-data';
1424
1446
  const DEPOSIT_CALC_DEFAULT_DIR = 'deposit-calculator-data';
1425
1447
  const BUSINESS_DEPOSIT_CALC_DEFAULT_DIR = 'business-calculator-data';
1448
+ const REFINANCING_CALC_DEFAULT_DIR = 'refinancing-calculator-data';
1426
1449
 
1427
1450
  const Rate = JSX(({ rate, title = 'Ставка', unit, depositeName, isShowDepositeName, rateBlockClassName, fractionDigits = 2, }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsxs("div", { className: "relative", children: [jsxs("div", { className: "flex justify-start gradient-color-text", children: [jsx("span", { className: style('font-mohave text-title-huge pr-6 -mt-4', rateBlockClassName), children: String(rate.toFixed(fractionDigits)).replace('.', ',') }), unit ? jsx("span", { className: "text-7xl", children: unit }) : null] }), depositeName && isShowDepositeName ? (jsx("div", { className: "absolute bottom-7 w-full text-center whitespace-nowrap", children: depositeName })) : null] })] })));
1428
1451
 
@@ -1473,7 +1496,7 @@
1473
1496
  restExpenseValue: DEFAULT_REST_MIN_SUM,
1474
1497
  });
1475
1498
  const { minSumTravel, maxSumTravel, minSumOther, maxSumOther, monthBonus, yearBonus } = useBonusCalculatorParams(userInputParams, sourceBookDir);
1476
- return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput({
1499
+ return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1477
1500
  title: 'Сумма покупок в категории путешествия, ₽',
1478
1501
  min: minSumTravel,
1479
1502
  max: maxSumTravel,
@@ -1488,7 +1511,7 @@
1488
1511
  step: 500,
1489
1512
  isShowItems: false,
1490
1513
  ...field('restExpenseValue'),
1491
- })] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]", fractionDigits: 0 })) : null }), jsxs("div", { className: "w-full max-w-[350px]", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
1514
+ })] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]", fractionDigits: 0 })) : null }), jsxs("div", { className: "w-96", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
1492
1515
  });
1493
1516
 
1494
1517
  const STEP_DAYS = 1;
@@ -1511,12 +1534,15 @@
1511
1534
  ],
1512
1535
  });
1513
1536
 
1514
- const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-1 pt-1 pl-5 pb-1.5", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-[250px] mt-3.5", children: jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] }) })] })));
1537
+ const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-2xs pt-2xs pl-lg pb-xs", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-64 mt-m", children: jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] }) })] })));
1515
1538
 
1516
1539
  const defaultDiscriminator = (_) => _;
1517
1540
  const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
1518
1541
  const max = maxBy();
1519
1542
 
1543
+ const minBy = (discriminator = defaultDiscriminator) => maxBy((_) => -discriminator(_));
1544
+ const min = minBy();
1545
+
1520
1546
  const mergeIntervals = (intervals) => {
1521
1547
  const result = [...intervals];
1522
1548
  result.sort(([a], [c]) => a - c);
@@ -1534,9 +1560,6 @@
1534
1560
  return result;
1535
1561
  };
1536
1562
 
1537
- const minBy = (discriminator = defaultDiscriminator) => maxBy((_) => -discriminator(_));
1538
- const min = minBy();
1539
-
1540
1563
  const getLimitRangeByKeys = ([minKey, maxKey], limitParams, rateRows = []) => limitParams && limitParams[minKey] && limitParams[maxKey]
1541
1564
  ? {
1542
1565
  [minKey]: limitParams[minKey],
@@ -1544,8 +1567,12 @@
1544
1567
  }
1545
1568
  : getRangeByKeys([minKey, maxKey], rateRows);
1546
1569
  const getRangeByKeys = ([minKey, maxKey], rows = []) => ({
1547
- [minKey]: rows.length ? min(rows.filter((row) => row[minKey]).map((row) => row[minKey])) : 0,
1548
- [maxKey]: rows.length ? max(rows.filter((row) => row[maxKey]).map((row) => row[maxKey])) : 0,
1570
+ [minKey]: rows.length
1571
+ ? min(rows.filter((row) => typeof row[minKey] === 'number').map((row) => row[minKey]))
1572
+ : 0,
1573
+ [maxKey]: rows.length
1574
+ ? max(rows.filter((row) => typeof row[minKey] === 'number').map((row) => row[maxKey]))
1575
+ : 0,
1549
1576
  });
1550
1577
  const checkRangeByKeys = (value, [minKey, maxKey], sourceBookRow) => value >= sourceBookRow[minKey] && value <= sourceBookRow[maxKey];
1551
1578
 
@@ -1610,7 +1637,7 @@
1610
1637
  });
1611
1638
  const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
1612
1639
  const { income, finalSum, rate, depositeName, isShowUnknownRate } = calculatorParams;
1613
- return (jsxs("section", { className: className, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "w-[486px]", children: [renderWantedSumInput({
1640
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1614
1641
  title: 'Сумма вклада, ₽',
1615
1642
  min: calculatorParams.minSum,
1616
1643
  max: calculatorParams.maxSum,
@@ -1626,7 +1653,7 @@
1626
1653
  title: 'Выплата процентов',
1627
1654
  orientation: 'vertical',
1628
1655
  ...field('isMonthlyInterestPayment'),
1629
- })] })] }), isShowUnknownRate ? (jsx(UnknownRate, {})) : (jsx(Rate, { rate: rate, depositeName: depositeName, isShowDepositeName: isShowDepositeName, rateBlockClassName: "tracking-[-25px]", unit: "%" })), jsxs("div", { className: "w-full max-w-[350px]", children: [jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" }), jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), jsx("div", { className: "mt-7", children: renderFootnote(footnote) })] })] }), jsx("div", { className: "mt-5", children: renderFootnote(bottomFootnote) })] }));
1656
+ })] })] }), isShowUnknownRate ? (jsx(UnknownRate, {})) : (jsx(Rate, { rate: rate, depositeName: depositeName, isShowDepositeName: isShowDepositeName, rateBlockClassName: "tracking-[-25px]", unit: "%" })), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" }), jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), jsx("div", { className: "mt-7", children: renderFootnote(footnote) })] })] }), jsx("div", { className: "mt-5", children: renderFootnote(bottomFootnote) })] }));
1630
1657
  });
1631
1658
  const renderBusinessDepositParamsForm = (calculatorParams, field) => (jsxs("div", { children: [jsx(Checkbox, { text: "\u041F\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435", disabled: calculatorParams.isDisabledOperatingDeposit, ...field('isReplenished'), value: calculatorParams.isReplenished }), jsx(Checkbox, { className: "mt-3", disabled: calculatorParams.isDisabledOperatingDeposit, text: "\u0427\u0430\u0441\u0442\u0438\u0447\u043D\u043E\u0435 \u0441\u043D\u044F\u0442\u0438\u0435", ...field('isPartialWithdrawal'), value: calculatorParams.isPartialWithdrawal }), jsx(Checkbox, { className: "mt-3", text: "\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u043C\u0430\u043B\u044B\u043C \u043F\u0440\u0435\u0434\u043F\u0440\u0438\u044F\u0442\u0438\u0435\u043C", ...field('isSmallBusiness'), value: calculatorParams.isSmallBusiness })] }));
1632
1659
 
@@ -1642,27 +1669,27 @@
1642
1669
  ],
1643
1670
  });
1644
1671
 
1645
- const checkCreditSourceBookRowCommonParams = (props) => checkRowParam({
1672
+ const checkCreditSourceBookRowCommonParams = (props) => checkRowParam$1({
1646
1673
  ...props,
1647
1674
  fieldKey: 'isSalaryClient',
1648
1675
  viewSettingFieldKey: 'isShowSalaryClient',
1649
1676
  }) &&
1650
- checkRowParam({
1677
+ checkRowParam$1({
1651
1678
  ...props,
1652
1679
  fieldKey: 'isStateEmployee',
1653
1680
  viewSettingFieldKey: 'isShowStateEmployee',
1654
1681
  }) &&
1655
- checkRowParam({
1682
+ checkRowParam$1({
1656
1683
  ...props,
1657
1684
  fieldKey: 'isPensionClient',
1658
1685
  viewSettingFieldKey: 'isShowPensionClient',
1659
1686
  }) &&
1660
- checkRowParam({
1687
+ checkRowParam$1({
1661
1688
  ...props,
1662
1689
  fieldKey: 'isInsurance',
1663
1690
  viewSettingFieldKey: 'isShowInsurance',
1664
1691
  });
1665
- const checkRowParam = ({ row, userInputParams, paramsViewSettings, fieldKey, viewSettingFieldKey, }) => {
1692
+ const checkRowParam$1 = ({ row, userInputParams, paramsViewSettings, fieldKey, viewSettingFieldKey, }) => {
1666
1693
  const isExclude = paramsViewSettings ? !paramsViewSettings[viewSettingFieldKey] : false;
1667
1694
  return isExclude || userInputParams[fieldKey] === row[fieldKey];
1668
1695
  };
@@ -1686,13 +1713,18 @@
1686
1713
  * https://finuslugi.ru/potrebitelskie_kredity/stat_annuitetnye_i_differentsirovannye_platezhi
1687
1714
  */
1688
1715
  const getMonthlyPayment = (rate, params) => {
1689
- const { isAnnuity, moneyValue, monthsValue } = params;
1716
+ const { isAnnuity, moneyValue, monthsValue, moneyExtra } = params;
1690
1717
  if (rate === 0) {
1691
1718
  return 0;
1692
1719
  }
1693
1720
  else if (isAnnuity) {
1694
1721
  const i = rate / MONTHLY_INTEREST_RATE; // Используется значение ставки в процентах
1695
- return moneyValue * (i + i / (Math.pow(1 + i, monthsValue) - 1));
1722
+ if (moneyExtra) {
1723
+ return (moneyValue + moneyExtra) * (i + i / (Math.pow(1 + i, monthsValue) - 1));
1724
+ }
1725
+ else {
1726
+ return moneyValue * (i + i / (Math.pow(1 + i, monthsValue) - 1));
1727
+ }
1696
1728
  }
1697
1729
  else {
1698
1730
  return Math.round(moneyValue / monthsValue) + moneyValue * (rate / (MONTHS_IN_YEAR * 100)); // Используется значение ставки (rate) в процентах, делённое на сто.
@@ -1746,7 +1778,7 @@
1746
1778
  monthsValue: DEFAULT_MONTHS,
1747
1779
  });
1748
1780
  const calculatorParams = useCreditCalculatorParams(userInputParams, sourceBookDir, paramsViewSettings);
1749
- return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput({
1781
+ return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1750
1782
  title: 'Сумма кредита, ₽',
1751
1783
  step: 500,
1752
1784
  min: calculatorParams.minSum,
@@ -1759,9 +1791,9 @@
1759
1791
  max: calculatorParams.maxMonths,
1760
1792
  ...field('monthsValue'),
1761
1793
  value: calculatorParams.monthsValue,
1762
- }), jsx("div", { className: "mt-7", children: renderCreditParamsForm({ ...calculatorParams, ...paramsViewSettings }, field) })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [jsx(CalculatorValueBlock, { title: 'Ежемесячный платеж', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), renderPaymentType({ orientation: 'vertical', ...field('isAnnuity') }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
1794
+ }), jsx("div", { className: "mt-2xl", children: renderCreditParamsForm$1({ ...calculatorParams, ...paramsViewSettings }, field) })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: 'Ежемесячный платеж', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), renderPaymentType({ orientation: 'vertical', ...field('isAnnuity') }), renderButtonsSection(buttons, { className: 'mt-2xl', isVertical: true }), renderFootnote(footnote)] })] }));
1763
1795
  });
1764
- const renderCreditParamsForm = (params, field) => (jsxs("div", { children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", ...field('isSalaryClient'), value: params.isSalaryClient })) : null, params.isShowStateEmployee ? (jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('isStateEmployee'), value: params.isStateEmployee })) : null, params.isShowPensionClient ? (jsx(Checkbox, { className: "mt-3", text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", ...field('isPensionClient'), value: params.isPensionClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null] }));
1796
+ const renderCreditParamsForm$1 = (params, field) => (jsxs("div", { children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", ...field('isSalaryClient'), value: params.isSalaryClient })) : null, params.isShowStateEmployee ? (jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('isStateEmployee'), value: params.isStateEmployee })) : null, params.isShowPensionClient ? (jsx(Checkbox, { className: "mt-3", text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", ...field('isPensionClient'), value: params.isPensionClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null] }));
1765
1797
 
1766
1798
  const renderRegistrationType = (props) => renderBinaryRadioButtonGroup({
1767
1799
  ...props,
@@ -1838,7 +1870,7 @@
1838
1870
  useEffect(() => {
1839
1871
  setMonthsValue && setMonthsValue(defaultMonth);
1840
1872
  }, [defaultMonth]);
1841
- return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput({
1873
+ return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1842
1874
  title: 'Сумма вклада, ₽',
1843
1875
  min: calculatorParams.minSum,
1844
1876
  max: calculatorParams.maxSum,
@@ -1851,9 +1883,9 @@
1851
1883
  availableMonths: calculatorParams.availableMonths,
1852
1884
  ...field('monthsValue'),
1853
1885
  value: calculatorParams.monthsValue,
1854
- }), jsx("div", { className: "mt-7", children: renderDepositParamsForm({ ...calculatorParams, ...paramsViewSettings }, field) })] }), jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" }), jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
1886
+ }), jsx("div", { className: "mt-2xl", children: renderDepositParamsForm({ ...calculatorParams, ...paramsViewSettings }, field) })] }), jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" }), jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" }), renderButtonsSection(buttons, { className: 'mt-2xl', isVertical: true }), renderFootnote(footnote)] })] }));
1855
1887
  });
1856
- const renderDepositParamsForm = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-7", children: [params.isShowMonthlyInterestPayment
1888
+ const renderDepositParamsForm = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-2xl", children: [params.isShowMonthlyInterestPayment
1857
1889
  ? renderInterestPayment({
1858
1890
  title: 'Выплата процентов',
1859
1891
  ...field('isMonthlyInterestPayment'),
@@ -1867,11 +1899,140 @@
1867
1899
  })
1868
1900
  : null] }));
1869
1901
 
1902
+ const checkRefinancingSourceBookRowCommonParams = (props) => checkRowParam({
1903
+ ...props,
1904
+ fieldKey: 'isSalaryClient',
1905
+ viewSettingFieldKey: 'isShowSalaryClient',
1906
+ }) &&
1907
+ checkRowParam({
1908
+ ...props,
1909
+ fieldKey: 'isInsurance',
1910
+ viewSettingFieldKey: 'isShowInsurance',
1911
+ }) &&
1912
+ checkRowParam({
1913
+ ...props,
1914
+ fieldKey: 'isExtraMoney',
1915
+ viewSettingFieldKey: 'isShowExtraMoney',
1916
+ });
1917
+ const checkRowParam = ({ row, userInputParams, paramsViewSettings, fieldKey, viewSettingFieldKey, }) => {
1918
+ const isExclude = paramsViewSettings ? !paramsViewSettings[viewSettingFieldKey] : false;
1919
+ return isExclude || userInputParams[fieldKey] === row[fieldKey];
1920
+ };
1921
+
1922
+ const getRefinancingCalculatorLimitParams = ({ limitRows, userInputParams, paramsViewSettings, }) => limitRows?.find((row) => checkRefinancingSourceBookRowCommonParams({
1923
+ row,
1924
+ userInputParams,
1925
+ paramsViewSettings,
1926
+ }));
1927
+
1928
+ const getRefinancingCalculatorRateParams = ({ rateRows = [], userInputParams, paramsViewSettings, moneyValue, monthsValue, oldMonthlyPayment, moneyExtra, }) => rateRows?.find((row) => checkRefinancingSourceBookRowCommonParams({
1929
+ row,
1930
+ userInputParams,
1931
+ paramsViewSettings,
1932
+ }) &&
1933
+ checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], row) &&
1934
+ checkRangeByKeys(oldMonthlyPayment, ['minSumOld', 'maxSumOld'], row) &&
1935
+ checkRangeByKeys(moneyExtra, ['minSumExtra', 'maxSumExtra'], row) &&
1936
+ checkRangeByKeys(monthsValue, ['minMonths', 'maxMonths'], row)) || DEFAULT_REFINANCING_CALCULATOR_PARAMS;
1937
+
1938
+ const useRefinancingCalculatorParams = (userInputParams, sourceBookDir, paramsViewSettings) => {
1939
+ let { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
1940
+ const data = useCalculatorParams(sourceBookDir || REFINANCING_CALC_DEFAULT_DIR);
1941
+ const rateRows = data?.rateRows || [DEFAULT_REFINANCING_CALCULATOR_PARAMS];
1942
+ const limitRows = data?.limitRows || [];
1943
+ const sourceBookLimitParams = getRefinancingCalculatorLimitParams({
1944
+ limitRows,
1945
+ userInputParams,
1946
+ paramsViewSettings,
1947
+ });
1948
+ const { minSum, maxSum } = getLimitRangeByKeys(['minSum', 'maxSum'], sourceBookLimitParams, rateRows);
1949
+ const { minSumOld, maxSumOld } = getLimitRangeByKeys(['minSumOld', 'maxSumOld'], sourceBookLimitParams, rateRows);
1950
+ const { minSumExtra, maxSumExtra } = getLimitRangeByKeys(['minSumExtra', 'maxSumExtra'], sourceBookLimitParams, rateRows);
1951
+ const { minMonths, maxMonths } = getLimitRangeByKeys(['minMonths', 'maxMonths'], sourceBookLimitParams, rateRows);
1952
+ moneyValue = clamp(moneyValue, minSum, maxSum);
1953
+ oldMonthlyPayment = clamp(oldMonthlyPayment, minSumOld, maxSumOld);
1954
+ moneyExtra = clamp(moneyExtra, minSumExtra, maxSumExtra);
1955
+ monthsValue = clamp(monthsValue, minMonths, maxMonths);
1956
+ const refinancingCalculatorSourceBookRateParams = getRefinancingCalculatorRateParams({
1957
+ rateRows,
1958
+ userInputParams,
1959
+ paramsViewSettings,
1960
+ moneyValue,
1961
+ monthsValue,
1962
+ oldMonthlyPayment,
1963
+ moneyExtra,
1964
+ });
1965
+ const { rate } = refinancingCalculatorSourceBookRateParams;
1966
+ const monthlyPayment = getMonthlyPayment(rate, userInputParams);
1967
+ const benefit = userInputParams.oldMonthlyPayment - monthlyPayment;
1968
+ return useMemo(() => ({
1969
+ ...refinancingCalculatorSourceBookRateParams,
1970
+ ...userInputParams,
1971
+ minSum,
1972
+ maxSum,
1973
+ minMonths,
1974
+ maxMonths,
1975
+ moneyValue,
1976
+ monthsValue,
1977
+ oldMonthlyPayment,
1978
+ moneyExtra,
1979
+ monthlyPayment,
1980
+ benefit,
1981
+ }), [userInputParams, data]);
1982
+ };
1983
+
1984
+ const RefinancingCalculatorForm = JSX(({ className, sourceBookDir, buttons, footnote, paramsViewSettings }) => {
1985
+ const [userInputParams, { field }] = useForm({
1986
+ isAnnuity: true,
1987
+ isInsurance: true,
1988
+ isSalaryClient: false,
1989
+ isExtraMoney: false,
1990
+ moneyValue: REFINANCING_DEFAULT_SUM,
1991
+ oldMonthlyPayment: REFINANCING_OLD_DEFAULT_SUM,
1992
+ monthsValue: DEFAULT_REFINANCING_MONTHS,
1993
+ moneyExtra: REFINANCING_OLD_DEFAULT_SUM,
1994
+ });
1995
+ const calculatorParams = useRefinancingCalculatorParams(userInputParams, sourceBookDir, paramsViewSettings);
1996
+ return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1997
+ title: 'Остаток долга в других банках, ₽ ',
1998
+ step: 500,
1999
+ min: calculatorParams.minSum,
2000
+ max: calculatorParams.maxSum,
2001
+ ...field('moneyValue'),
2002
+ value: calculatorParams.moneyValue,
2003
+ }), renderWantedSumInput({
2004
+ title: 'Ежемесячный платеж в других банках, ₽',
2005
+ isShowItems: false,
2006
+ step: 500,
2007
+ min: calculatorParams.minSumOld,
2008
+ max: calculatorParams.maxSumOld,
2009
+ ...field('oldMonthlyPayment'),
2010
+ value: calculatorParams.oldMonthlyPayment,
2011
+ }), renderMonthsInput({
2012
+ title: 'Новый срок кредита, месяцев',
2013
+ min: calculatorParams.minMonths,
2014
+ max: calculatorParams.maxMonths,
2015
+ ...field('monthsValue'),
2016
+ value: calculatorParams.monthsValue,
2017
+ }), jsx("div", { className: style('mt-7', calculatorParams.isExtraMoney ? 'mb-3' : ''), children: renderCreditParamsForm({ ...calculatorParams, ...paramsViewSettings }, field) }), calculatorParams.isExtraMoney
2018
+ ? renderWantedSumInput({
2019
+ title: 'Дополнительная сумма, ₽ ',
2020
+ step: 500,
2021
+ min: calculatorParams.minSumExtra,
2022
+ max: calculatorParams.maxSumExtra,
2023
+ ...field('moneyExtra'),
2024
+ value: calculatorParams.moneyExtra,
2025
+ })
2026
+ : null] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.rate, fractionDigits: 1, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: 'Ежемесячный платеж', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), calculatorParams.benefit > 0 ? (jsx(CalculatorValueBlock, { title: 'Выгода в месяц', value: calculatorParams.benefit, postfix: "\u20BD" })) : null, renderPaymentType({ orientation: 'vertical', ...field('isAnnuity') }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
2027
+ });
2028
+ const renderCreditParamsForm = (params, field) => (jsxs("div", { children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", ...field('isSalaryClient'), value: params.isSalaryClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null, params.isShowExtraMoney ? (jsx(Checkbox, { className: "mt-3", text: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u0443\u044E \u0441\u0443\u043C\u043C\u0443", ...field('isExtraMoney'), value: params.isExtraMoney })) : null] }));
2029
+
1870
2030
  const EmbeddableCalcBlocks = {
1871
2031
  CreditCalculatorForm,
1872
2032
  DepositCalculatorForm,
1873
2033
  BusinessDepositCalculatorForm,
1874
2034
  BonusCalculatorForm,
2035
+ RefinancingCalculatorForm,
1875
2036
  };
1876
2037
 
1877
2038
  const renderCalculatorBlock = (block, i) => {
@@ -1903,23 +2064,23 @@
1903
2064
  });
1904
2065
  function renderNavButton$3({ tab, i, isActive, onClick }) {
1905
2066
  const btnClassName = isActive
1906
- ? 'h-[88px] w-[387px] min-w-[387px] p-5 border-none bg-primary-main text-white'
1907
- : `h-[77px] w-[328px] min-w-[328px] px-5 py-4 ease-in duration-300 bg-white text-primary-text`;
1908
- const btnTitleClassName = isActive ? 'text-xl mb-1.5' : `text-l mb-[3px]`;
2067
+ ? 'h-20 w-96 p-xl border-none bg-primary-main text-white'
2068
+ : `h-20 w-96 px-lg ease-in duration-300 bg-white text-primary-text`;
2069
+ const btnTitleClassName = isActive ? 'text-xl mb-xs' : `text-l mb-2xs`;
1909
2070
  const btnDescClassName = isActive
1910
2071
  ? 'text-l font-light text-white'
1911
2072
  : `text-m font-light text-secondary-text`;
1912
2073
  const iconClassName = isActive ? '' : `text-primary-main`;
1913
2074
  const iconVersion = tab?.icon?.iconVersion;
1914
2075
  const activeIconStyle = isActive ? 'white' : 'normal';
1915
- return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: style('box-border relative border border-gray cursor-pointer text-left border-b-0 flex hover:h-[88px]', btnClassName), children: [jsx(Img, { className: `h-6 w-6 min-w-6 min-h-6 mr-4 ${iconClassName}`, image: {
2076
+ return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: style('box-border relative border border-gray cursor-pointer text-left border-b-0 flex hover:h-20 space-x-m', btnClassName), children: [jsx(Img, { className: style('h-6 w-6 min-w-6 min-h-6', iconClassName), image: {
1916
2077
  ...tab?.icon,
1917
2078
  iconVersion: iconVersion ?? activeIconStyle,
1918
2079
  }, width: "24", height: "24" }), jsxs("div", { className: "border-0", children: [jsx("div", { className: btnTitleClassName, children: tab?.title }), jsx("div", { className: btnDescClassName, children: tab.description })] })] }, String(i)));
1919
2080
  }
1920
2081
  function renderTabs$1({ activeIndex, tabsNav, slideIndexShift, onClick }) {
1921
2082
  const CARD_SHIFT = 388;
1922
- return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${activeIndex * CARD_SHIFT}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-9 box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$3({
2083
+ return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${activeIndex * CARD_SHIFT}px)` }, className: "flex flex-col justify-end items-center h-32 pt-4xl box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-xs", children: tabsNav.map((tab, i) => renderNavButton$3({
1923
2084
  tab,
1924
2085
  i,
1925
2086
  isActive: Boolean(i === slideIndexShift),
@@ -1957,7 +2118,7 @@
1957
2118
  ? getDisabledButtonClasses({ version: button?.version })
1958
2119
  : getRegularButtonClasses({ className: 'text-white', version: button?.version });
1959
2120
  const link = useLink();
1960
- return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-default", ...rest, children: [title ? (jsx(Heading, { className: "pb-5 xl:pb-9 self-start xl:self-center", headingType: "h2", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", action: FORM_URL, children: [jsx(CurrencyInput, { name: AMOUNT_KEY, valid: !isDisabled, placeholder: placeholder, label: label, ...field(AMOUNT_KEY, { parse: Number, format: String }) }), button?.text ? (jsx("button", { type: "submit", className: style('w-full p-4 mt-5 xl:mt-6', buttonStyle), disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
2121
+ return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (jsx(Heading, { className: "pb-5 xl:pb-9 self-start xl:self-center", headingType: "h2", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", action: FORM_URL, children: [jsx(CurrencyInput, { name: AMOUNT_KEY, valid: !isDisabled, placeholder: placeholder, label: label, ...field(AMOUNT_KEY, { parse: Number, format: String }) }), button?.text ? (jsx("button", { type: "submit", className: style('w-full p-4 mt-5 xl:mt-6', buttonStyle), disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
1961
2122
  });
1962
2123
 
1963
2124
  const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
@@ -1972,8 +2133,7 @@
1972
2133
  }
1973
2134
  const BlockComponent = type && blocksRegistry[type];
1974
2135
  return blockDecorator({
1975
- blockClassName: style('scroll-mt-12', // TODO scroll-mt-12 ? here?
1976
- className, block.style || defaultStyle),
2136
+ blockClassName: style(block.style?.length ? block.style : defaultStyle, className),
1977
2137
  block,
1978
2138
  ancestors,
1979
2139
  // Adjusted by decorator block and blockClassName
@@ -1987,20 +2147,25 @@
1987
2147
  const DEFAULT_SLOT_NAME = null;
1988
2148
 
1989
2149
  const EMPTY_ANCESTORS = [];
1990
- const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, renderProps = renderBlock$1, ...options }) => (blocks || []).map((_, j) => renderProps(_, {
1991
- ...options,
1992
- key: `${key ? key : _.type}-${j}`,
1993
- ancestors: options.parent
1994
- ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
1995
- : ancestors,
1996
- }));
2150
+ const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, extraProps, renderProps = renderBlock$1, ...options }) => {
2151
+ const renderChildBlock = extraProps
2152
+ ? (childBlock, childOptions) => renderBlock$1(childBlock, childOptions, extraProps)
2153
+ : renderProps;
2154
+ return (blocks || []).map((_, i) => renderChildBlock(_, {
2155
+ ...options,
2156
+ key: `${key ? key : _.type}-${i}`,
2157
+ ancestors: options.parent
2158
+ ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
2159
+ : ancestors,
2160
+ }, i));
2161
+ };
1997
2162
 
1998
- function renderChildren({ children, block, options, renderProps, }) {
2163
+ function renderChildren({ block, options, children, extraProps, renderProps, }) {
1999
2164
  if (children) {
2000
2165
  return children;
2001
2166
  }
2002
2167
  return block && options
2003
- ? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
2168
+ ? renderBlocksList(block.blocks, { ...options, parent: block, extraProps, renderProps })
2004
2169
  : null;
2005
2170
  }
2006
2171
 
@@ -2031,7 +2196,7 @@
2031
2196
  return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
2032
2197
  });
2033
2198
 
2034
- const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
2199
+ const childStyleMap = ['min-w-full', 'min-w-1/2', 'min-w-1/3', 'min-w-1/4'];
2035
2200
  const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', minHeight, children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
2036
2201
  const observerOptions = {
2037
2202
  sensitivity: 1,
@@ -2067,6 +2232,28 @@
2067
2232
  .filter(([_]) => _ && _.intersectionRatio >= 0.9)
2068
2233
  .map(([, i]) => i);
2069
2234
 
2235
+ const containerStyles = {
2236
+ 'horizontal-list': 'mx-auto mt-5 w-fit',
2237
+ 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2238
+ };
2239
+ const activeDotStyles = {
2240
+ 'horizontal-list': 'w-6',
2241
+ 'vertical-list': 'h-6',
2242
+ };
2243
+ const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2244
+ const inactiveDotStyle = 'w-2 h-2 opacity-30';
2245
+ const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2246
+ const handleClick = (idx) => {
2247
+ if (idx !== activeIndex && containerRef?.current) {
2248
+ containerRef.current.children[idx]?.scrollIntoView({
2249
+ behavior: 'smooth',
2250
+ block: 'nearest',
2251
+ });
2252
+ }
2253
+ };
2254
+ 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;
2255
+ });
2256
+
2070
2257
  const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
2071
2258
 
2072
2259
  const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
@@ -2082,7 +2269,7 @@
2082
2269
  container.scrollTo({ left: 0, behavior: 'smooth' });
2083
2270
  };
2084
2271
 
2085
- const useSwipeListScroll = ({ itemCount, isCyclic, onVisibleIndicesChange, }) => {
2272
+ const useSwipeListScroll = ({ itemCount, onVisibleIndicesChange, }) => {
2086
2273
  const containerRef = useRef(null);
2087
2274
  const [visibleIndices, setVisibleIndices] = useState([]);
2088
2275
  const handleVisibleIndicesChange = useCallback((indices) => {
@@ -2098,42 +2285,40 @@
2098
2285
  if (!containerRef.current) {
2099
2286
  return;
2100
2287
  }
2101
- if (isCyclic && !canScrollLeft) {
2102
- scrollToEnd(containerRef.current);
2288
+ if (canScrollLeft) {
2289
+ scrollBy(containerRef.current)(itemCount, -1);
2103
2290
  }
2104
2291
  else {
2105
- scrollBy(containerRef.current)(itemCount, -1);
2292
+ scrollToEnd(containerRef.current);
2106
2293
  }
2107
- }, [isCyclic, itemCount, canScrollLeft]);
2294
+ }, [itemCount, canScrollLeft]);
2108
2295
  const scrollRight = useCallback(() => {
2109
2296
  if (!containerRef.current) {
2110
2297
  return;
2111
2298
  }
2112
- if (isCyclic && !canScrollRight) {
2113
- scrollToStart(containerRef.current);
2299
+ if (canScrollRight) {
2300
+ scrollBy(containerRef.current)(itemCount, 1);
2114
2301
  }
2115
2302
  else {
2116
- scrollBy(containerRef.current)(itemCount, 1);
2303
+ scrollToStart(containerRef.current);
2117
2304
  }
2118
- }, [itemCount, isCyclic, canScrollRight]);
2305
+ }, [itemCount, canScrollRight]);
2119
2306
  return [
2120
2307
  containerRef,
2121
2308
  {
2122
2309
  scrollLeft,
2123
2310
  scrollRight,
2124
- canScrollLeft: isCyclic || canScrollLeft,
2125
- canScrollRight: isCyclic || canScrollRight,
2311
+ canScrollLeft,
2312
+ canScrollRight,
2126
2313
  visibleIndicesRange: [minIndex, maxIndex],
2127
2314
  handleVisibleIndicesChange,
2128
2315
  },
2129
2316
  ];
2130
2317
  };
2131
2318
 
2132
- const ITEMS_GAP = 16;
2133
-
2134
2319
  const scrollButtonStyle$1 = 'absolute top-[calc(50%-24px)] z-40';
2135
- const blurBaseStyle = 'absolute top-0 bottom-0 z-40 w-[84px] pointer-events-none';
2136
- const CarouselScrollButtons = JSX(({ scroll, arrowsPadded, isBlur, onScrollLeft, onScrollRight, hasEdgeBlocks, activeIndex, itemCount, }) => {
2320
+ const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
2321
+ const CarouselScrollButtons = JSX(({ scroll, activeIndex, itemCount, arrowsPadded, hasEdgeBlocks, onScrollLeft, onScrollRight, }) => {
2137
2322
  const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
2138
2323
  const canMoveLeft = hasEdgeBlocks ? activeIndex > 0 : canScrollLeft;
2139
2324
  const canMoveRight = hasEdgeBlocks ? activeIndex < itemCount - 1 : canScrollRight;
@@ -2155,74 +2340,33 @@
2155
2340
  onScrollRight();
2156
2341
  }
2157
2342
  }, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
2158
- return (jsxs("div", { children: [renderBlur(isBlur, scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
2159
- });
2160
- const renderBlur = (isBlur, scroll) => isBlur ? (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] })) : null;
2161
-
2162
- const containerStyles = {
2163
- 'horizontal-list': 'mx-auto mt-5 w-fit',
2164
- 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2165
- };
2166
- const activeDotStyles = {
2167
- 'horizontal-list': 'w-6',
2168
- 'vertical-list': 'h-6',
2169
- };
2170
- const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2171
- const inactiveDotStyle = 'w-2 h-2 opacity-30';
2172
- const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2173
- const handleClick = (idx) => {
2174
- if (idx !== activeIndex && containerRef?.current) {
2175
- containerRef.current.children[idx]?.scrollIntoView({
2176
- behavior: 'smooth',
2177
- block: 'nearest',
2178
- });
2179
- }
2180
- };
2181
- 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;
2343
+ return (jsxs("div", { children: [renderBlur(scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'left-1 @lg:left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'right-1 @lg:right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
2182
2344
  });
2345
+ const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] }));
2183
2346
 
2184
- const renderControlButtons = ({ showArrows, showDots, scrollButtonsProps, dotsProps, }) => {
2185
- return [
2186
- showArrows ? jsx(CarouselScrollButtons, { ...scrollButtonsProps }, "0") : null,
2187
- showDots ? jsx(SwipeListControlDots, { ...dotsProps, listType: "horizontal-list" }, "1") : null,
2188
- ];
2189
- };
2347
+ const ITEMS_GAP = 16;
2190
2348
 
2191
- const Carousel = JSX(({ className = '', itemCount, visibleItemCount = 0, isBlur = true, isCyclic = false, arrowsPadded = true, isPadding = true, showDots = false, isAlignCenter = false, showArrows = true, isGap = true, ...rest }) => {
2349
+ const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, ...rest }) => {
2192
2350
  const { blocks: childBlocks = [] } = rest.block || {};
2193
2351
  const count = itemCount || childBlocks?.length;
2194
- const [activeIndex, setActiveIndex] = useState(Math.floor(visibleItemCount / 2));
2195
- const increaseActiveIndex = useCallback(() => setActiveIndex((_) => _ + 1), []);
2196
- const decreaseActiveIndex = useCallback(() => setActiveIndex((_) => _ - 1), []);
2197
- const [containerRef, scroll] = useSwipeListScroll({
2352
+ const [activeIndex, { inc: increaseActiveIndex, dec: decreaseActiveIndex }] = useCarouselControls({
2198
2353
  itemCount: count,
2199
- isCyclic,
2200
- });
2354
+ visibleItemCount,
2355
+ }, Math.floor(visibleItemCount / 2));
2356
+ const [containerRef, scroll] = useSwipeListScroll({ itemCount: count });
2201
2357
  const [dotsActiveIndex] = scroll.visibleIndicesRange;
2358
+ // TODO Remove
2202
2359
  const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
2203
- return (jsx(BlockWrapper, { className: className, defaultPadding: getPaddingStyle$1(isPadding), ...rest, children: jsxs("div", { className: style(getAlignStyle(isAlignCenter), 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
2360
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: style(isAlignCenter ? 'flex justify-center' : '', 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
2204
2361
  ...rest,
2205
- renderProps: isBankHistoryCarousel
2206
- ? (block, options) => renderBlock$1(block, options, {
2207
- blocksLength: childBlocks?.length,
2208
- activeIndex: activeIndex,
2209
- })
2210
- : renderBlock$1,
2211
- }) }), renderControlButtons({
2212
- showArrows,
2213
- showDots,
2214
- scrollButtonsProps: {
2215
- scroll,
2216
- arrowsPadded,
2217
- isBlur,
2218
- onScrollLeft: decreaseActiveIndex,
2219
- onScrollRight: increaseActiveIndex,
2220
- hasEdgeBlocks: isBankHistoryCarousel,
2221
- activeIndex,
2222
- itemCount: count,
2223
- },
2224
- dotsProps: { containerRef, activeIndex: dotsActiveIndex, dotCount: count },
2225
- })] }) }));
2362
+ renderProps: (block, options, blockIndex) => renderBlock$1(block, options, {
2363
+ className: style('h-full min-w-80 sm:min-w-96', noCardBorder
2364
+ ? ''
2365
+ : 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'),
2366
+ blockIndex,
2367
+ isActive: activeIndex === blockIndex,
2368
+ }),
2369
+ }) }), jsx(CarouselScrollButtons, { scroll: scroll, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: count, listType: "horizontal-list" })) : null] }) }));
2226
2370
  });
2227
2371
  Carousel.childrenTypes = [
2228
2372
  'CarouselCard',
@@ -2237,75 +2381,21 @@
2237
2381
  'CarouselInvestmentCard',
2238
2382
  'CarouselEventCard',
2239
2383
  ];
2240
- const getPaddingStyle$1 = (isPadding) => (isPadding ? 'p-default' : '');
2241
- const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
2242
-
2243
- const CarouselBankHistoryCard = JSX(({ title, description, blocksLength = 0, activeIndex, options }) => {
2244
- const orderNumber = Number(options?.key?.split('-').slice(-1)[0]) || 0;
2245
- const isActive = orderNumber === activeIndex;
2246
- return (jsx(BlockWrapper, { className: "flex h-[485px]", defaultPadding: "p-0", children: isActive ? (jsx("div", { className: "relative flex items-center w-full", children: jsx(Headline, { headlineVersion: "M", title: title, description: description, align: "text-left", className: style('absolute z-10 h-[385px] w-[440px] p-8 text-white shadow-dark-blue', getActiveBlockPosition(orderNumber, blocksLength), getBackgroundColor(orderNumber)) }) })) : (jsx("div", { className: "flex w-full items-center justify-center", children: jsx("div", { className: style('flex justify-center items-center h-[300px] w-[340px] font-mohave text-title-large tracking-[-0.03em]', getBackgroundColor(orderNumber)), children: jsx("span", { className: getTextColor(orderNumber), children: title }) }) })) }));
2247
- });
2248
- const getBackgroundColor = (orderNumber) => {
2249
- const division = orderNumber % 3;
2250
- switch (division) {
2251
- case 0:
2252
- return 'bg-primary-main';
2253
- case 1:
2254
- return 'bg-green-light';
2255
- case 2:
2256
- return 'bg-yellow-light';
2257
- default:
2258
- return 'bg-primary-main';
2259
- }
2260
- };
2261
- const getTextColor = (orderNumber) => {
2262
- const division = orderNumber % 3;
2263
- switch (division) {
2264
- case 1:
2265
- return 'gradient-color-text-on-yellow';
2266
- case 2:
2267
- return 'gradient-color-text-on-yellow';
2268
- default:
2269
- return 'gradient-color-text-on-green';
2270
- }
2271
- };
2272
- const getActiveBlockPosition = (orderNumber, blocksLength) => {
2273
- if (orderNumber === 0) {
2274
- return 'left-9';
2275
- }
2276
- else if (orderNumber === blocksLength - 1) {
2277
- return 'right-9';
2278
- }
2279
- else {
2280
- return '-left-[25px]';
2281
- }
2282
- };
2283
-
2284
- const getColSpan = (className) => {
2285
- const colSpanPrefix = 'col-span-';
2286
- const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
2287
- return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
2288
- };
2289
2384
 
2290
- const CARD_WIDTH_MAP = {
2291
- normal: 'min-w-[970px]',
2292
- small: 'min-w-[355px]',
2293
- };
2294
- function getCardWidth(className = '', carouselVersion = 'normal') {
2295
- const colSpan = getColSpan(className);
2296
- if (colSpan <= 4) {
2297
- return 'w-[375px]';
2298
- }
2299
- else {
2300
- return CARD_WIDTH_MAP[carouselVersion];
2301
- }
2302
- }
2385
+ const CarouselBankHistoryCard = JSX(({ className, title, description, blockIndex = 0, isActive, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex h-[485px]', isActive ? 'w-[440px] z-10' : 'w-[340px]', className), defaultPadding: "p-0", ...rest, children: jsx("div", { className: style('basis-full self-center', getBackColor(blockIndex)), children: isActive ? (jsx(Headline, { headlineVersion: "M", title: title, description: description, padding: "p-3xl", align: "text-left", className: "h-96 text-white shadow-dark-blue" })) : (jsx("div", { className: "h-[300px] flex justify-center items-center font-mohave text-title-large tracking-[-0.03em]", children: jsx("span", { className: getTextColor(blockIndex), children: title }) })) }) })));
2386
+ const getBackColor = (blockIndex) => ['bg-primary-main', 'bg-green-light', 'bg-yellow-light'][blockIndex % 3];
2387
+ const getTextColor = (blockIndex) => [
2388
+ 'gradient-color-text-on-green',
2389
+ 'gradient-color-text-on-yellow',
2390
+ 'gradient-color-text-on-yellow',
2391
+ ][blockIndex % 3];
2303
2392
 
2304
2393
  const titleSize = 'L';
2305
2394
 
2306
- const BLOCK_CLASSES = 'absolute border border-solid border-gray w-full h-full sm:hidden';
2307
- const CarouselCard = JSX(({ className = '', button, description, title, carouselVersion = 'normal', version = '' }) => (jsx("section", { className: style('flex pb-9 pl-12 sm:p-5 border-box h-full sm:max-w-[375px]', getCardWidth(className, carouselVersion), className), children: jsxs("div", { className: "relative w-full", children: [jsx("div", { className: `${BLOCK_CLASSES} z-10 top-9 right-12 bg-green-dark` }), jsx("div", { className: `${BLOCK_CLASSES} z-10 top-6 right-8 bg-green` }), jsx("div", { className: `${BLOCK_CLASSES} z-10 top-3 right-4 bg-green-light` }), jsxs("div", { className: "relative h-full bg-white z-10 p-10 border border-solid border-green-light", children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: titleSize, align: "text-left", version: version }), renderButtonsSection([button], {
2308
- className: 'mt-14 sm:justify-center',
2395
+ const layerBaseStyle = 'z-10 border border-solid w-full h-full';
2396
+ const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
2397
+ const CarouselCard = JSX(({ className, title, description, button, ...rest }) => (jsx(BlockWrapper, { className: style('sm:pl-12 sm:pb-9', className), defaultPadding: "p-0", ...rest, children: jsxs("div", { className: "relative", children: [jsx("div", { className: style(layerStyle, 'top-9 right-12 bg-green-dark') }), jsx("div", { className: style(layerStyle, 'top-6 right-8 bg-green') }), jsx("div", { className: style(layerStyle, 'top-3 right-4 bg-green-light') }), jsxs("div", { className: style(layerBaseStyle, 'relative p-10 bg-white border-green-light'), children: [jsx(Headline, { title: title, description: description, headlineVersion: titleSize, align: "text-left", isPadding: false }), renderButtonsSection([button], {
2398
+ className: 'mt-6xl sm:justify-center',
2309
2399
  isVertical: true,
2310
2400
  })] })] }) })));
2311
2401
 
@@ -2313,7 +2403,7 @@
2313
2403
  black: 'bg-black',
2314
2404
  white: 'bg-white',
2315
2405
  };
2316
- const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('border box-border border-gray p-default sm:p-7 h-full flex flex-col justify-left', className), ...rest, children: [image?.src ? jsx(Img, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? (jsx("div", { className: "mb-4", children: jsx(Paragraph, { size: "text-m", align: "text-left", font: "font-light", children: description }) })) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-secondary-text", children: [jsx("div", { className: "mr-1.5", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'mt-5 w-full' })] })));
2406
+ const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-left gap-m', className), defaultPadding: "p-6xl sm:p-7", ...rest, children: [image?.src ? jsx(Img, { className: "flex justify-center", image: image }) : null, jsx(Headline, { title: title, description: description, headlineVersion: "XS", isPadding: false, align: "text-left" }), colors?.length ? (jsxs("div", { className: "flex text-secondary-text", children: [jsx("div", { className: "mr-xs", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'w-full' })] })));
2317
2407
  const renderColorOption = (color, i) => (jsx("div", { role: "figure", className: `w-6 h-6 ml-1 sm:ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
2318
2408
 
2319
2409
  const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
@@ -2324,7 +2414,7 @@
2324
2414
  });
2325
2415
 
2326
2416
  const CarouselEventCard = JSX(({ className = '', icon, title, description, href, target, ...rest }) => {
2327
- return (jsx(BlockWrapper, { className: style('w-[365px]', className), defaultPadding: "p-0", ...rest, children: jsxs(LinkWrapper, { className: "flex flex-col", href: href, target: target, children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left pt-3 mb-2", title: title })) : null, description ? (jsx("div", { className: "mb-4", children: jsx(Text, { font: "font-light", size: "text-m", color: "text-secondary-text", children: description }) })) : null] }) }));
2417
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-0", ...rest, children: jsxs(LinkWrapper, { className: "flex flex-col", href: href, target: target, children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mt-s ml-s mb-xs", title: title })) : null, description ? (jsx("div", { className: "ml-s mb-m", children: jsx(Text, { font: "font-light", size: "text-m", color: "text-secondary-text", children: description }) })) : null] }) }));
2328
2418
  });
2329
2419
 
2330
2420
  const imageAlignmentMap = {
@@ -2332,7 +2422,7 @@
2332
2422
  center: 'self-center',
2333
2423
  end: 'self-end',
2334
2424
  };
2335
- const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-lg font-sans overflow-hidden', padding || defaultPadding, className), children: [backImage ? jsx("div", { className: "absolute bottom-0 right-0 z-0", children: backImage }) : null, title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap sm:flex-nowrap justify-between items-stretch gap-lg", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-lg max-w-[600px] xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), buttons] }), renderImageContainer(rightImage, { className: '-order-1 sm:order-1', imageAlign })] })] })));
2425
+ const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap @xl:flex-nowrap justify-between items-stretch gap-3xl", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, { className: '-order-1 @xl:order-1', imageAlign })] })] })));
2336
2426
  const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2337
2427
 
2338
2428
  const getItemListFontSize = (colValue) => (colValue === 1 ? 'text-h6' : 'text-l');
@@ -2340,36 +2430,36 @@
2340
2430
  1: 'flex-col',
2341
2431
  2: 'gap-x-10 flex-wrap',
2342
2432
  };
2343
- const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('box-border text-left w-[697px]', 'border border-solid border-gray group-data-secondary:border-white/50', className), padding: "p-0", ...rest, children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-3.5 z-10", title: title }) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, children: [jsxs("div", { className: "flex justify-between mb-4", children: [description ? (jsx("div", { className: "w-1/3", children: jsx(Text, { size: "text-h6", children: description }) })) : null, additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: style('list-none m-0 p-0 flex gap-y-2', cardColumnsModeStyleMap[columnsMode]), children: renderCardList(cardsList, columnsMode) })) : null] }) })));
2433
+ const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('text-left', className), padding: "p-0", ...rest, children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, title: title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-m z-10", title: title }) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, children: [jsxs("div", { className: "flex justify-between mb-4", children: [description ? (jsx("div", { className: "w-1/3", children: jsx(Text, { size: "text-h6", children: description }) })) : null, additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: style('list-none m-0 p-0 flex gap-y-2', cardColumnsModeStyleMap[columnsMode]), children: renderCardList(cardsList, columnsMode) })) : null] }) })));
2344
2434
  const renderCardList = (cardsList, columnsMode) => {
2345
2435
  const CARDS_COUNT_MAP = [4, 9];
2346
2436
  const visibleCardsList = cardsList.slice(0, CARDS_COUNT_MAP[columnsMode - 1]);
2347
2437
  return visibleCardsList.map((item, i) => (jsxs("li", { className: columnsMode === 2 ? 'basis-[calc(50%-20px)]' : '', children: [item?.parameter ? (jsx("div", { className: "pr-2.5", children: jsx(Text, { size: getItemListFontSize(columnsMode), children: item.parameter }) })) : null, item?.parameterDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.parameterDescription })) : null] }, String(i))));
2348
2438
  };
2349
2439
 
2350
- const LINK_CLASS_NAME = `absolute border border-primary-main ml-3 px-6 py-5
2351
- text-l font-light bg-white text-primary-text flex w-[316px]
2440
+ const LINK_CLASS_NAME = `absolute border border-primary-main ml-s px-xl py-lg
2441
+ text-l font-light bg-white text-primary-text flex w-80
2352
2442
  justify-between items-center group-hover/link:text-primary-main z-10`;
2353
2443
  const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-[316px] top-0';
2354
2444
  const LinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
2355
2445
  const link = useLink();
2356
2446
  const adjustedProps = link({ href, target });
2357
- return text ? (jsxs("div", { className: `relative group/link cursor-pointer w-[328px] h-[82px] ${className}`, children: [jsxs("a", { className: LINK_CLASS_NAME, role: "link", ...adjustedProps, children: [jsx("div", { className: "p-0.5", children: text }), jsx("div", { className: "w-6 h-6", children: jsx(Img, { className: "w-4 h-4 min-w-4 min-h-4 rounded-full box-border brightness-0 group-hover/link:brightness-100", image: { icon: 'ArrowRightIcon', iconVersion: 'black' }, imageClassName: "group-hover/link:text-primary-main", width: "24", height: "24" }) })] }), jsx("div", { className: `${LINK_BORDER_CLASS_NAME} mx-1.5 mt-1.5` }), jsx("div", { className: `${LINK_BORDER_CLASS_NAME} mt-3 mr-3` })] })) : null;
2447
+ return text ? (jsxs("div", { className: `relative group/link cursor-pointer w-[328px] h-[82px] ${className}`, children: [jsxs("a", { className: LINK_CLASS_NAME, role: "link", ...adjustedProps, children: [jsx("div", { className: "p-3xs", children: text }), jsx("div", { className: "w-6 h-6", children: jsx(Img, { className: "w-4 h-4 min-w-4 min-h-4 rounded-full box-border brightness-0 group-hover/link:brightness-100", image: { icon: 'ArrowRightIcon', iconVersion: 'black' }, imageClassName: "group-hover/link:text-primary-main", width: "24", height: "24" }) })] }), jsx("div", { className: `${LINK_BORDER_CLASS_NAME} mx-1.5 mt-1.5` }), jsx("div", { className: `${LINK_BORDER_CLASS_NAME} mt-3 mr-3` })] })) : null;
2358
2448
  });
2359
2449
 
2360
2450
  const MAX_LINKS_COUNT = 10;
2361
- const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden justify-between', className), ...rest, children: [jsxs("div", { className: "flex flex-col max-w-96 pr-m text-white text-xl font-light", children: [jsx(Headline, { isPadding: false, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-s", description: additionalDescription, align: "text-left", isPadding: false })) : null] }), links?.length ? renderLinks(links) : null] })));
2451
+ const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden', className), ...rest, children: [jsxs("div", { className: "mr-xl flex-auto", children: [jsx(Headline, { isPadding: false, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isPadding: false })) : null] }), links?.length ? renderLinks(links) : null] })));
2362
2452
  const renderLinks = (links) => {
2363
2453
  const itemCount = Math.ceil(links.length / MAX_LINKS_COUNT);
2364
- return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "", isBlur: false, isCyclic: true, itemCount: itemCount, arrowsPadded: false, showDots: true, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: "w-[672px] min-w-[672px] ml-10 mr-10 flex flex-wrap self-start", children: links
2454
+ return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "", itemCount: itemCount, arrowsPadded: false, showDots: true, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: "w-[672px] min-w-[672px] ml-10 mr-10 flex flex-wrap self-start", children: links
2365
2455
  .slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
2366
2456
  .map((link, index) => (jsx(LinkButton, { className: "m-1", ...link }, String(index)))) }, String(groupIndex)))) }));
2367
2457
  };
2368
2458
 
2369
2459
  const DOT_SIZE_MAP = {
2370
- L: 'w-1.5 h-1.5 mr-4',
2371
- M: 'w-1.5 h-1.5 mr-3',
2372
- S: 'w-1 h-1 mr-2',
2460
+ L: 'w-1.5 h-1.5 mr-m',
2461
+ M: 'w-1.5 h-1.5 mr-s',
2462
+ S: 'w-1 h-1 mr-xs',
2373
2463
  };
2374
2464
  const ListItem = JSX(({ className, isDotted = true, children, size = 'M' }) => (jsxs("div", { className: style('font-sans flex', className), role: "listitem", children: [isDotted ? (jsx("div", { className: "shrink-0", children: jsx("div", { className: style('align-middle inline-block rounded-full bg-primary-text group-data-secondary:bg-white', DOT_SIZE_MAP[size]) }) })) : null, jsx("span", { children: children })] })));
2375
2465
 
@@ -2379,31 +2469,31 @@
2379
2469
  L: 'text-h5',
2380
2470
  };
2381
2471
  const ITEM_INDENT_MAP = {
2382
- S: 'ml-2',
2383
- M: 'ml-3',
2384
- L: 'ml-4',
2472
+ S: 'ml-xs',
2473
+ M: 'ml-s',
2474
+ L: 'ml-m',
2385
2475
  };
2386
- const List = JSX(({ className, hasIndent, isDotted, items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: style('flex flex-col gap-2 text-left text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text', TEXT_SIZE_MAP[listItemSize], hasIndent ? ITEM_INDENT_MAP[listItemSize] : '', className), role: "list", children: items.map((item, i) => (jsx(ListItem, { isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
2476
+ const List = JSX(({ className, hasIndent, isDotted, items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: style('flex flex-col gap-xs text-left text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text', TEXT_SIZE_MAP[listItemSize], hasIndent ? ITEM_INDENT_MAP[listItemSize] : '', className), role: "list", children: items.map((item, i) => (jsx(ListItem, { isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
2387
2477
 
2388
- const CarouselProductCard = JSX(({ additionalDescription, align = 'text-center', button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isFullWidth = true, items = [], target, title, version = 'primary', ...rest }) => {
2389
- return (jsxs(BlockWrapper, { className: style('h-full flex flex-col justify-between min-w-[260px]', 'box-border border-solid border border-gray', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-s", href: href, target: target, children: [renderImage$2(icon), renderCardTitle(headlineSmallVersion, title), renderDescription$3(description, title), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription)] }), renderButtonsSection([button], {
2390
- className: style('p-s pt-0', isFullWidth ? '' : 'self-center min-w-[158px]'),
2391
- isVertical: isFullWidth,
2478
+ const alignTextStyle = 'text-center';
2479
+
2480
+ const CarouselProductCard = JSX(({ additionalDescription, align = alignTextStyle, button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isButtonFullWidth = true, isImageFullWidth = false, isTopPosition = false, items = [], target, title, version = 'primary', ...rest }) => {
2481
+ return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-m flex flex-col gap-xs", href: href, target: target, children: [renderCardTitle(headlineSmallVersion, title), renderDescription$2(description), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription), renderImage$2(icon, isImageFullWidth, isTopPosition)] }), renderButtonsSection([button], {
2482
+ className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
2483
+ isVertical: isButtonFullWidth,
2392
2484
  })] }));
2393
2485
  });
2394
- const renderImage$2 = (image) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(Img, { className: "mb-5", image: image }) : null, image?.icon ? jsx(Img, { className: `w-8 h-8 min-w-8 mb-5`, image: image }) : null] }));
2395
- const renderCardTitle = (headlineSmallVersion, title) => title ? (jsx("div", { children: jsx(Text, { size: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) })) : null;
2396
- const renderDescription$3 = (description, title) => description ? (jsx("div", { className: title ? 'mt-2' : '', children: jsx(Paragraph, { size: "text-l", children: description }) })) : null;
2397
- const renderAdditionalDescription = (additionalDescription) => additionalDescription ? (jsx("div", { className: "mt-auto", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text group-data-secondary:text-white/80", children: additionalDescription }) })) : null;
2398
- const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('max-w-[308px] mt-2', version === 'primary' ? '!text-secondary-text' : ''), items: items.filter((item) => item?.text).map((item) => item.text), isDotted: isDotted, listItemSize: "S" })) : null;
2486
+ const renderImage$2 = (image, isImageFullWidth, isTopPosition) => (jsxs("div", { className: style('flex gap-lg', isTopPosition ? 'order-first' : 'order-last', !isImageFullWidth ? 'justify-center' : ''), children: [image?.src ? jsx(Img, { className: "shrink-0", image: image }) : null, image?.icon ? (jsx(Img, { className: style('shrink-0', !isImageFullWidth ? 'w-8 h-8 min-w-8' : ''), image: image })) : null] }));
2487
+ const renderCardTitle = (headlineSmallVersion, title) => title ? jsx(Text, { size: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
2488
+ const renderDescription$2 = (description) => description ? jsx(Paragraph, { size: "text-l", children: description }) : null;
2489
+ const renderAdditionalDescription = (additionalDescription) => additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text group-data-secondary:text-white/80", children: additionalDescription })) : null;
2490
+ const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('text-s', version === 'primary' ? '!text-secondary-text' : ''), items: items.filter((item) => item?.text).map((item) => item.text), isDotted: isDotted, listItemSize: "S" })) : null;
2399
2491
 
2400
2492
  const cardTitleFont = 'font-normal';
2401
2493
  const cardDescriptionColor = 'text-secondary-text';
2402
2494
 
2403
- const CarouselProgramsCard = JSX(({ className = '', title, icon, list = [], href, target, ...rest }) => {
2404
- return (jsx(BlockWrapper, { className: style('border border-gray', className), defaultPadding: "p-lg sm:p-0", ...rest, children: jsxs(LinkWrapper, { className: "sm:flex sm:items-center", href: href, target: target, children: [jsx("div", { className: "min-w-[200px] flex justify-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }), jsxs("div", { className: "sm:px-3 py-xl", children: [title ? jsx(Heading, { className: "mb-2 sm:mb-3.5", headingType: "h6", title: title }) : null, list.length ? (jsx("div", { className: "flex flex-col gap-2 sm:gap-3", children: list?.map(renderList$2) })) : null] })] }) }));
2405
- });
2406
- const renderList$2 = (_, i) => (jsxs("div", { className: "flex flex-row-reverse justify-between gap-y-1 sm:flex-col", children: [_.title ? (jsx(Text, { size: "text-l", font: cardTitleFont, children: _.title })) : null, _.description ? (jsx(Paragraph, { size: "text-l", font: "font-light", color: cardDescriptionColor, children: _.description })) : null] }, String(i)));
2495
+ const CarouselProgramsCard = JSX(({ className, title, icon, list = [], href, target, ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-3xl sm:p-0", ...rest, children: jsxs(LinkWrapper, { className: "sm:flex sm:items-center", href: href, target: target, children: [jsx("div", { className: "flex justify-center px-xl", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }), jsxs("div", { className: "sm:px-s p-5xl", children: [title ? jsx(Heading, { className: "mb-xs sm:mb-m", headingType: "h6", title: title }) : null, list.length ? (jsx("div", { className: "flex flex-col gap-xs sm:gap-s", children: list?.map(renderList$2) })) : null] })] }) })));
2496
+ const renderList$2 = (_, i) => (jsxs("div", { className: "flex flex-row-reverse justify-between gap-y-2xs sm:flex-col", children: [_.title ? (jsx(Text, { size: "text-l", font: cardTitleFont, children: _.title })) : null, _.description ? (jsx(Paragraph, { size: "text-l", font: "font-light", color: cardDescriptionColor, children: _.description })) : null] }, String(i)));
2407
2497
 
2408
2498
  const buttonSizeStyles = {
2409
2499
  default: 'w-14 h-14',
@@ -2458,19 +2548,16 @@
2458
2548
 
2459
2549
  const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-1 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) }), jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })] })));
2460
2550
 
2461
- const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
2462
-
2463
- const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', version = 'primary', ...rest }) => {
2464
- return (jsx(BlockWrapper, { className: style('relative min-w-[524px] min-h-[218px] h-full box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), defaultPadding: "p-s", version: version, ...rest, children: jsxs(LinkWrapper, { href: href, target: target, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "S", isPadding: false, align: align }), jsxs("div", { className: "w-1/2 h-full flex flex-col flex-1 justify-end", children: [items.length ? jsx(List, { items: items, listItemSize: "S" }) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10", media: socialMedia }) : null] }), renderIconBlock$2(icon)] }) }));
2551
+ const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2552
+ return (jsx(BlockWrapper, { className: style('relative min-h-[218px] group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isPadding: false, align: align })) : null, backImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null, children: items.length ? jsx(List, { items: items, listItemSize: "S" }) : null }) }) }));
2465
2553
  });
2466
- const renderIconBlock$2 = (icon) => (jsxs("div", { className: "absolute bottom-0 right-0", children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null] }));
2467
2554
 
2468
2555
  const RichText = JSX((props) => {
2469
2556
  const { __html = '', richVersion = '' } = props;
2470
2557
  return (jsx("div", { className: style(richVersion, 'md-container'), dangerouslySetInnerHTML: { __html } }));
2471
2558
  });
2472
2559
 
2473
- const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: style('border border-gray h-full min-w-96', className), ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
2560
+ const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: className, ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
2474
2561
 
2475
2562
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2476
2563
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
@@ -2506,9 +2593,9 @@
2506
2593
  const cellsNode = cardCells.map(renderCardInfo);
2507
2594
  const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
2508
2595
  const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
2509
- return (jsxs(BlockWrapper, { className: style('relative border border-gray flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock$1(icon), title ? (jsx(Heading, { className: style('pt-xs', align), 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] }));
2596
+ return (jsxs(BlockWrapper, { className: style('relative flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock$1(icon), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-m", ...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] }));
2510
2597
  });
2511
- const renderIconBlock$1 = (icon) => (jsx("div", { className: "w-[267px] min-w-[267px] self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2598
+ const renderIconBlock$1 = (icon) => (jsx("div", { className: "basis-full self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2512
2599
  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" })] }));
2513
2600
  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" }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: "\u0425\u0418\u0422" })] }));
2514
2601
 
@@ -2519,7 +2606,7 @@
2519
2606
  const COLS_LENGTH_FOR_SCROLL$1 = 3;
2520
2607
  const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
2521
2608
 
2522
- const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", image: icon, width: "63", height: "63" })), image?.src && jsx(Img, { className: "mb-[18px]", image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-[11px]", children: link.text }) }) }))] })));
2609
+ const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col gap-m items-center rounded-t-md border-b-0 p-2xl ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })), image?.src && jsx(Img, { image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-s", children: link.text }) }) }))] })));
2523
2610
 
2524
2611
  const carouselContainerClassesMap = {
2525
2612
  comparison: 'flex gap-4 duration-1000',
@@ -2538,7 +2625,7 @@
2538
2625
  });
2539
2626
  const labelStyle = (isFillGradient = false) => `text-xl m-0 ${isFillGradient ? 'text-white' : ''}`;
2540
2627
  const descriptionStyle = (isFillGradient = false) => `text-s opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`;
2541
- const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label ? jsx("h4", { className: labelStyle(isFillGradient), children: label }) : null, description ? jsx("div", { className: descriptionStyle(isFillGradient), children: description }) : null] }, String(i)));
2628
+ const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-2xl pt-xl last:pb-2xl", children: [label ? jsx("h4", { className: labelStyle(isFillGradient), children: label }) : null, description ? jsx("div", { className: descriptionStyle(isFillGradient), children: description }) : null] }, String(i)));
2542
2629
 
2543
2630
  const titleStyle = (isLastRow = false) => `text-s py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${isLastRow ? 'border-b-0' : 'border-solid'}`;
2544
2631
  const TableRow = JSX(({ row: { header, data }, activeIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? jsx("div", { className: titleStyle(isLastRow), children: header.title }) : null, data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$2, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
@@ -2548,7 +2635,7 @@
2548
2635
  return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeIndex: activeIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable
2549
2636
  ? renderArrows({
2550
2637
  ...controls,
2551
- btnClass: ['top-[108px]', 'top-[44px]'],
2638
+ btnClass: ['top-28', 'top-12'],
2552
2639
  className: 'right-7',
2553
2640
  isDisabled: true,
2554
2641
  })
@@ -2569,21 +2656,21 @@
2569
2656
  visibleItemCount: COLS_LENGTH_FOR_SCROLL$1,
2570
2657
  });
2571
2658
  const { isScrollAvailable } = controls;
2572
- return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
2659
+ return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
2573
2660
  });
2574
2661
 
2575
2662
  const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
2576
2663
  const [isShowAllRow, setIsShowAllRow] = useState(!visibleRowLength);
2577
2664
  const handleToggle = useCallback(() => setIsShowAllRow((_) => !_), []);
2578
- return (jsxs(BlockWrapper, { className: style('overflow-hidden relative', className), defaultPadding: "p-default", ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
2665
+ return (jsxs(BlockWrapper, { className: style('overflow-hidden relative', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
2579
2666
  ? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
2580
2667
  : null] }));
2581
2668
  });
2582
- const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-12", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-m py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2669
+ const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-6xl", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-m py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2583
2670
 
2584
- const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-default", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
2671
+ const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
2585
2672
  const renderBlocks = (info) => (jsx("div", { className: "flex grow basis-0", children: info.map((column, index) => renderBlocksColumn({ column, index })) }));
2586
- const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-6 first:mt-0", children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "XS", align: "text-left" }), additionalDescription ? (jsx("div", { className: "mt-1.5 opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, button?.href ? jsx(Button, { className: "mt-6", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
2673
+ const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-xl first:mt-0", children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isPadding: false }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, button?.href ? jsx(Button, { className: "mt-xl", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
2587
2674
 
2588
2675
  const isEmpty = (v) => v === null ||
2589
2676
  v === undefined ||
@@ -2645,7 +2732,7 @@
2645
2732
  }, renderFoldButton: ({ isUnfolded, onToggle }) => (jsx(DefaultFoldButton, { className: style(topItemsCount < 1 ? 'hidden' : ''), disabled: !hiddenBlocks?.length, label: label, icon: ICONS[Number(isUnfolded)], dataTheme: rest.options?.page?.colorPalette, onClick: onToggle })) })] })] }));
2646
2733
  });
2647
2734
  function renderNotFound({ title, description }) {
2648
- return (jsxs("div", { className: "bg-white py-20", children: [title ? (jsx("div", { className: "mb-2", children: jsx(Paragraph, { align: "text-center", children: jsx(Text, { size: "text-h4", children: title }) }) })) : null, description ? (jsx(Paragraph, { size: "text-xl", font: "font-light", align: "text-center", children: description })) : null] }));
2735
+ return (jsxs("div", { className: "bg-white py-20", children: [title ? (jsx("div", { className: "mb-xs", children: jsx(Paragraph, { align: "text-center", children: jsx(Text, { size: "text-h4", children: title }) }) })) : null, description ? (jsx(Paragraph, { size: "text-xl", font: "font-light", align: "text-center", children: description })) : null] }));
2649
2736
  }
2650
2737
 
2651
2738
  const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
@@ -2734,14 +2821,14 @@
2734
2821
  RUB: 'RoundRubleIcon',
2735
2822
  };
2736
2823
  const renderCurrencyRow$1 = ({ title, buyPrice, buyDifference, sellPrice, sellDifference, buyOfficeName, sellOfficeName, }) => {
2737
- return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [title ? (jsx(Img, { 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));
2824
+ return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [title ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP$1[title] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-xs", children: title })] }) }), renderCurrency(buyPrice, buyDifference), renderCurrency(sellPrice, sellDifference), renderOffice(buyPrice, buyOfficeName), renderOffice(sellPrice, sellOfficeName)] }, title));
2738
2825
  };
2739
2826
  const formatCurrency$1 = (value) => (value ? currencyNumberFormat$1.format(value) : '');
2740
2827
  const renderCurrency = (price, difference) => {
2741
- 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) })] }));
2828
+ return (jsxs("td", { className: "pt-m pl-5xl", 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) })] }));
2742
2829
  };
2743
2830
  const renderOffice = (price, officeName = '') => {
2744
- 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 })] }));
2831
+ return (jsxs("td", { className: "pt-m pl-5xl", children: [jsx("div", { children: formatCurrency$1(price) }), jsx("div", { className: "font-normal text-sm text-green", children: officeName })] }));
2745
2832
  };
2746
2833
  const currencyNumberFormat$1 = new Intl.NumberFormat('ru', {
2747
2834
  style: 'currency',
@@ -2749,12 +2836,12 @@
2749
2836
  });
2750
2837
 
2751
2838
  const renderTableHeader = (title) => {
2752
- return (jsx("th", { className: "pl-11", children: jsx(Text, { size: "text-m", font: "font-light", align: "text-left", color: "text-secondary-text", children: title }) }));
2839
+ return (jsx("th", { className: "pl-5xl", children: jsx(Text, { size: "text-m", font: "font-light", align: "text-left", color: "text-secondary-text", children: title }) }));
2753
2840
  };
2754
2841
 
2755
2842
  const ExchangeRateOffice = JSX(({ className, currencies = [], actuality = '', officeName = '', ...rest }) => {
2756
2843
  const fourRates = topNRates(currencies, 4);
2757
- return (jsxs(BlockWrapper, { className: className, ...rest, children: [jsxs("div", { className: "flex flex-row flex-grow-0 justify-between 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", font: "font-light", align: "text-left", color: "text-secondary-text", children: actuality }) })] }), jsx("div", { className: "flex flex-row 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", font: "font-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 })] }));
2844
+ return (jsxs(BlockWrapper, { className: style('space-y-3xl', className), ...rest, children: [jsxs("div", { className: "flex flex-row flex-grow-0 justify-between space-y-lg", children: [jsx(Heading, { headingType: "h4", title: 'Курс обмена валют в ' + officeName, className: "whitespace-pre-wrap text-h4" }), jsx("div", { className: "pl-6xl", children: jsx(Text, { size: "text-m", font: "font-light", align: "text-left", color: "text-secondary-text", children: actuality }) })] }), jsx("div", { className: "flex flex-row pt-m 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", font: "font-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 })] }));
2758
2845
  });
2759
2846
  const topNRates = (rates, n) => rates.sort((a, b) => Number(a.id) - Number(b.id)).slice(0, n);
2760
2847
 
@@ -2772,18 +2859,19 @@
2772
2859
  const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
2773
2860
 
2774
2861
  const TABLE_HEAD_STYLE = 'text-left text-m font-light text-secondary-text';
2775
- const TABLE_HEAD_STYLE_WITH_PL = `${TABLE_HEAD_STYLE} pl-11`;
2862
+ const TABLE_HEAD_STYLE_WITH_PADDING = `${TABLE_HEAD_STYLE} pl-5xl`;
2776
2863
  const CURRENCY_ICONS_MAP = {
2777
2864
  USD: 'DollarIcon',
2778
2865
  EUR: 'EuroIcon',
2779
2866
  };
2780
- const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PL, children: "\u041A\u0443\u043F\u0438\u0442\u044C" }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PL, children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map(renderCurrencyRow) })] })));
2867
+ const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: jsx(Text, { size: "text-m", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041A\u0443\u043F\u0438\u0442\u044C" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" }) })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map(renderCurrencyRow) })] })));
2781
2868
  const renderCurrencyRow = (exchangeCurrencyItem) => {
2782
2869
  const currency = exchangeCurrencyItem?.currency?.currency;
2783
- return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-2", children: currency })] }) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) })] }, currency));
2870
+ return (jsxs("tr", { className: "pb-2xs text-h6", children: [jsx("td", { className: "pt-m", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24", className: "mr-2" })) : null, jsx(Text, { size: "text-h6", children: currency })] }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) }) })] }, currency));
2784
2871
  };
2785
2872
 
2786
- const CurrentLocation$1 = JSX(({ className = '', address }) => (jsxs("div", { className: `flex ${className}`, children: [jsx(Img, { image: { icon: 'GpsIcon' }, width: "24", height: "24" }), jsxs("div", { className: "ml-3", children: [address ? jsx("p", { className: "text-primary-main m-0 mb-1 text-l", children: address }) : null, jsx("p", { className: "text-secondary-text m-0 text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
2873
+ const icon = { icon: 'GpsIcon' };
2874
+ const CurrentLocation$1 = JSX(({ className = '', address }) => (jsxs("div", { className: `flex gap-s ${className}`, children: [jsx(RoundedIcon, { ...icon, iconBgVersion: "primary" }), jsxs("div", { className: "space-y-2xs", children: [address ? jsx("p", { className: "text-primary-main text-l", children: address }) : null, jsx("p", { className: "text-secondary-text text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
2787
2875
 
2788
2876
  const roundTo = (value, precision = 2) => {
2789
2877
  const factor = 10 ** precision;
@@ -2831,7 +2919,7 @@
2831
2919
  selectBuy: currencyRatesSell?.[0]?.currency?.currency || Currency.USD,
2832
2920
  });
2833
2921
  const handleSetCalcState = useCallback((newState) => setCalcState((oldState) => ({ ...oldState, ...newState })), []);
2834
- return (jsxs("div", { className: `grid gap-[18px] pt-2 ${className}`, children: [renderInput({
2922
+ return (jsxs("div", { className: `grid gap-m pt-2xl ${className}`, children: [renderInput({
2835
2923
  placeholder: 'Хочу продать',
2836
2924
  rates: currencyRatesSell,
2837
2925
  selected: calcState.selectSell,
@@ -2926,7 +3014,7 @@
2926
3014
  currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
2927
3015
  const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
2928
3016
  currencyRatesSell.push({ currency: { currency: Currency.RUB } });
2929
- return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-xxl", children: [jsxs("div", { children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-xl", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
3017
+ return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-6xl flex-wrap", children: [jsxs("div", { children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-xl", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
2930
3018
  });
2931
3019
  const getCurrencyRates = (currencies) => {
2932
3020
  return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
@@ -2959,11 +3047,11 @@
2959
3047
  'bg-white': 'text-primary-text',
2960
3048
  transparent: 'text-white',
2961
3049
  };
2962
- const renderTitle$1 = (title, bgColor, className) => {
2963
- return (jsx("span", { className: `${TEXT_COLOR[bgColor]} ml-2.5 font-medium ${className || ''}`, children: title || 'Россельхозбанк' }));
3050
+ const renderTitle = (title, bgColor, className) => {
3051
+ return (jsx("span", { className: `${TEXT_COLOR[bgColor]} ml-s font-medium ${className || ''}`, children: title || 'Россельхозбанк' }));
2964
3052
  };
2965
3053
 
2966
- const Logo = JSX(({ className = '', href = '/', logo, children = logo?.title, targetBlank, bgColor = 'bg-white', showTitle = true, }) => (jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [renderImage$1(bgColor, logo?.image, { width: '40', height: '45' }), showTitle ? renderTitle$1(children || logo?.title, bgColor) : null] })));
3054
+ const Logo = JSX(({ className = '', href = '/', logo, children = logo?.title, targetBlank, bgColor = 'bg-white', showTitle = true, }) => (jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [renderImage$1(bgColor, logo?.image, { width: '40', height: '45' }), showTitle ? renderTitle(children || logo?.title, bgColor) : null] })));
2967
3055
 
2968
3056
  const CloseButton = JSX(({ className, onClick }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-1 bg-transparent border-none', className), onClick: onClick, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", children: jsx(Img, { image: { icon: 'CloseIcon' }, width: "24", height: "24" }) })));
2969
3057
 
@@ -3150,7 +3238,7 @@
3150
3238
  globalThis.document?.removeEventListener('keydown', handleEscape);
3151
3239
  };
3152
3240
  }, [onClose]);
3153
- return isOpened ? (jsx("div", { className: style('fixed inset-0 bg-white text-l font-light z-50 overflow-x-hidden overflow-y-scroll no-scrollbar', className), role: "dialog", children: jsxs("div", { className: "relative container pb-12 min-h-full", children: [jsxs("div", { className: "sticky bg-white pt-6 top-0", children: [jsx(CloseButton, { className: "absolute top-0 -right-12", onClick: onClose }), head] }), children] }) })) : null;
3241
+ return isOpened ? (jsx("div", { className: style('fixed inset-0 bg-white text-l font-light z-50 overflow-x-hidden overflow-y-scroll no-scrollbar', className), role: "dialog", children: jsxs("div", { className: "relative container pb-6xl min-h-full", children: [jsxs("div", { className: "sticky bg-white pt-xl top-0", children: [jsx(CloseButton, { className: "absolute top-0 -right-6xl", onClick: onClose }), head] }), children] }) })) : null;
3154
3242
  });
3155
3243
 
3156
3244
  function useDialogProps(id, isOpenedOnInit = false) {
@@ -3204,7 +3292,7 @@
3204
3292
  const handleChange = useCallback((ev) => {
3205
3293
  onChange && onChange(ev.target?.value || '');
3206
3294
  }, [onChange]);
3207
- return (jsxs("div", { className: style('font-sans relative', className), role: "form", children: [jsx("div", { className: "absolute h-full flex items-center pl-4 pointer-events-none", children: jsx(Img, { image: { icon: 'LoupeIcon' }, width: "24", height: "24" }) }), jsx("input", { className: style('h-12 pl-12 w-full text-l text-black outline-none box-border', 'border border-solid rounded-md border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'), value: value, type: "text", name: "search-bar-input", placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", autoFocus: autoFocus, onChange: handleChange, onFocus: onFocus })] }));
3295
+ return (jsxs("div", { className: style('font-sans relative', className), role: "form", children: [jsx("div", { className: "absolute h-full flex items-center pl-m pointer-events-none", children: jsx(Img, { image: { icon: 'LoupeIcon' }, width: "24", height: "24" }) }), jsx("input", { className: style('h-12 pl-12 w-full text-l text-black outline-none box-border', 'border border-solid rounded-md border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'), value: value, type: "text", name: "search-bar-input", placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", autoFocus: autoFocus, onChange: handleChange, onFocus: onFocus })] }));
3208
3296
  });
3209
3297
 
3210
3298
  const SEARCH_DIALOG_ID = 'search';
@@ -3218,7 +3306,7 @@
3218
3306
  });
3219
3307
  const searchItems = useMemo(() => combineTopItemsAndSearchResult(topItems)(searchResult), [topItems, searchResult]);
3220
3308
  useEffect(() => printSearchItems(searchItems), [searchItems]); // Temp
3221
- return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { className: "my-5", autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
3309
+ return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
3222
3310
  });
3223
3311
  const combineTopItemsAndSearchResult = (topItems) => (searchResult) => topItems?.length && searchResult?.length
3224
3312
  ? zip(topItems, searchResult).map(([_, portalSearchResult]) => ({
@@ -3251,9 +3339,9 @@
3251
3339
  });
3252
3340
  const isQueryLongEnough = (_) => _ && _.length >= MIN_QUERY_LEN;
3253
3341
 
3254
- const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
3255
- const renderContactsGroup = (item, i) => (jsxs("div", { className: "mb-6", children: [jsx("div", { className: "mb-4", children: jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), jsx("div", { children: item.items?.map(renderContact) })] }, String(i)));
3256
- const renderContact = (item, index) => (jsxs("div", { className: "mb-4", children: [jsx("div", { children: renderText(item.type, item.text) }), jsx("div", { className: "mt-1 text-s font-light text-secondary-text", children: item.description })] }, String(index)));
3342
+ const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: style('space-y-xl', className), children: [items?.length ? items.map(renderContactsGroup) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
3343
+ const renderContactsGroup = (item, i) => (jsxs("div", { className: "space-y-m", children: [jsx("div", { className: "", children: jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), jsx("div", { className: "space-y-m", children: item.items?.map(renderContact) })] }, String(i)));
3344
+ const renderContact = (item, index) => (jsxs("div", { className: "space-y-2xs", children: [jsx("div", { children: renderText(item.type, item.text) }), jsx("div", { className: "text-s font-light text-secondary-text", children: item.description })] }, String(index)));
3257
3345
  const renderText = (type, text = '') => {
3258
3346
  switch (type) {
3259
3347
  case 'tel':
@@ -3287,14 +3375,12 @@
3287
3375
  const TextInformation = JSX(({ className = '', links }) => (jsxs("div", { className: className, children: [jsx("div", { className: "pt-4 xl:pt-5", children: jsx(Text, { size: "text-xs", font: "font-light", color: "text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-4", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, ..._ }, String(i)))) })) : null] })));
3288
3376
 
3289
3377
  const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
3290
- const Footer = JSX(({ className = '', ...rest }) => {
3291
- const fallback = rest.options?.page?.fallback;
3292
- const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
3293
- const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
3294
- return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-8 xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: sitemap?.topItems })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3378
+ const Footer = JSX(({ className, sitemap, ...rest }) => {
3379
+ const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', rest.options?.page?.fallback);
3380
+ return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden space-y-xl`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: sitemap?.topItems })] }), jsx(HorizontalNavigation, { className: "mt-24", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3295
3381
  });
3296
3382
 
3297
- const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [jsx(Headline, { className: "!p-0 mb-4", title: title, description: description, headlineVersion: "M" }), calendar ? renderCalendar(calendar) : null] })));
3383
+ const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "M", isPadding: false }), calendar ? renderCalendar(calendar) : null] })));
3298
3384
  const renderCalendar = (calendar) => {
3299
3385
  const colCount = calendar.reduce((accumulator, currentValue) => currentValue?.month?.length ? accumulator + currentValue.month.length : accumulator, 0) || 1;
3300
3386
  const colSize = 100 / colCount;
@@ -3305,61 +3391,27 @@
3305
3391
  // Condition lower is always true, TS does not understand this, notice filter above
3306
3392
  flexBasis: `${_?.month?.length ? _.month.length * colSize : ''}%`,
3307
3393
  }));
3308
- return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-[11px] mr-3 border-r border-main-divider last:border-r-0 last:pr-0 last:mr-0", style: { flexBasis: _.flexBasis }, children: [jsx("div", { className: "flex", children: renderMonthImages(_) }), jsxs("div", { className: "text-s font-light text-primary-text mt-3", children: [jsx("span", { children: _.text }), "\u2009", jsx("span", { className: "text-primary-main", children: _.greenText })] })] }, `monthItem-${ind}`))) })] }));
3394
+ return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex gap-s w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-s border-r border-main-divider last:border-r-0 last:pr-0", style: { flexBasis: _.flexBasis }, children: [jsx("div", { className: "flex", children: renderMonthImages(_) }), jsxs("div", { className: "text-s font-light text-primary-text mt-s", children: [jsx("span", { children: _.text }), "\u2009", jsx("span", { className: "text-primary-main", children: _.greenText })] })] }, `monthItem-${ind}`))) })] }));
3309
3395
  };
3310
3396
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
3311
3397
  const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r pr-3 mr-3 border-main-divider last:border-r-0 last:pr-0 last:mr-0", children: jsx(Img, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
3312
3398
 
3313
- const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
3314
- function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
3315
- const cachedFetcher = useCallback(async (...args) => {
3316
- const storageKey = `async:${key}`;
3317
- const storageData = storage.getItem(storageKey);
3318
- const cachedData = getParsedData(storageData);
3319
- if (cachedData) {
3320
- return cachedData;
3321
- }
3322
- const data = await fetcher(...args);
3323
- storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
3324
- return data;
3325
- }, [key, fetcher]);
3326
- return useAsyncData(key, cachedFetcher);
3327
- }
3328
- function getParsedData(storageData) {
3329
- const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
3330
- return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
3331
- }
3332
-
3333
- const REGION_URL = '/api/v1/region';
3334
- function useLocation(defaultLocation = 'Москва') {
3335
- const currentLocation = getLocalStorageLocation();
3336
- const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
3337
- const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
3338
- useEffect(() => {
3339
- setLocation(currentLocation?.region && currentLocation?.manual
3340
- ? currentLocation.region
3341
- : data || { name: defaultLocation });
3342
- }, [data]);
3343
- const onChangeLocation = useCallback((region) => {
3344
- globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
3345
- setLocation(region);
3346
- }, []);
3347
- return [location, onChangeLocation];
3348
- }
3349
- const getLocalStorageLocation = () => {
3350
- const localStorageLocation = globalThis.localStorage?.getItem('location');
3351
- try {
3352
- return localStorageLocation ? JSON.parse(localStorageLocation) : null;
3353
- }
3354
- catch (_) {
3355
- return null;
3356
- }
3357
- };
3358
-
3359
3399
  const isHrefActive = (router) => ({ href }) => withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
3360
3400
 
3361
3401
  const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
3362
3402
 
3403
+ const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
3404
+ const link = useLink({ isRemote: true });
3405
+ const { href, target, text, onClick } = link(rest);
3406
+ 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 }) }));
3407
+ });
3408
+ const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
3409
+ ? 'rounded-md border-primary-main group-data-transparent:border-white'
3410
+ : 'border-transparent', flat ? '' : 'px-4 py-2');
3411
+ const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
3412
+ ? 'text-primary-main'
3413
+ : style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
3414
+
3363
3415
  const REGIONS_URL = '/api/v1/regions';
3364
3416
  function useRegions() {
3365
3417
  const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
@@ -3377,7 +3429,7 @@
3377
3429
  };
3378
3430
 
3379
3431
  const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
3380
- return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-4 w-full peer text-l text-black border border-solid rounded-md box-border
3432
+ return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-44 gap-3.5 pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-4 w-full peer text-l text-black border border-solid rounded-md box-border
3381
3433
  outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value.toLowerCase()), type: "text", name: "location-search-bar-input" })] }));
3382
3434
  });
3383
3435
 
@@ -3392,7 +3444,7 @@
3392
3444
  dialogProps.onClose && dialogProps.onClose();
3393
3445
  onChangeLocation && onChangeLocation(region);
3394
3446
  }, [dialogProps.onClose, onChangeLocation]);
3395
- return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query, className: "mb-7" })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
3447
+ return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
3396
3448
  .filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
3397
3449
  .map(renderRegion(handleChangeLocation)) })) : (jsx("div", { className: "columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation)) })), jsx(ForeignOffices, { foreignOffices: foreignOffices })] }));
3398
3450
  });
@@ -3404,29 +3456,17 @@
3404
3456
  const CurrentLocation = JSX(({ currentLocation, onChangeLocation }) => currentLocation ? (jsxs("div", { className: "mb-4", children: [jsx(Text, { size: "text-l", font: "font-light", children: "\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:\u00A0" }), jsx("button", { className: "cursor-pointer", onClick: () => {
3405
3457
  onChangeLocation && onChangeLocation(currentLocation);
3406
3458
  }, children: jsx(Text, { color: "text-primary-main", children: currentLocation.name }) })] })) : null);
3407
- const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-7 w-[224px]", children: [jsx("div", { className: "mb-2.5", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
3408
- const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-1", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
3459
+ const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-56", children: [jsx("div", { className: "mb-s", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
3460
+ const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-2xs", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
3409
3461
  onChangeLocation && onChangeLocation(region);
3410
3462
  }, children: region.name || '' }) }, region.id));
3411
- const ForeignOffices = JSX(({ foreignOffices }) => foreignOffices?.length ? (jsxs("div", { className: "border-t border-main-divider mt-7 pt-7", children: [jsx("div", { className: "mb-4", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: "\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0437\u0430 \u0440\u0443\u0431\u0435\u0436\u043E\u043C:" }) }), jsx("div", { className: "flex gap-10", children: foreignOffices.map((office, i) => (jsx(ForeignOffice, { ...office }, String(i)))) })] })) : null);
3463
+ const ForeignOffices = JSX(({ foreignOffices }) => foreignOffices?.length ? (jsxs("div", { className: "border-t border-main-divider mt-2xs pt-2xs", children: [jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: "\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0437\u0430 \u0440\u0443\u0431\u0435\u0436\u043E\u043C:" }) }), jsx("div", { className: "flex gap-10", children: foreignOffices.map((office, i) => (jsx(ForeignOffice, { ...office }, String(i)))) })] })) : null);
3412
3464
  const ForeignOffice = JSX(({ icon, ...rest }) => {
3413
3465
  const link = useLink();
3414
3466
  const { text, target, href, onClick } = link(rest);
3415
3467
  return (jsxs("div", { className: "flex gap-x-3", children: [icon ? jsx(Img, { pathPrefix: "/wcms-resources/", image: icon }) : null, text ? (jsx("a", { className: "hover:text-primary-hover", href: href, target: target, onClick: onClick, children: text })) : null] }));
3416
3468
  });
3417
3469
 
3418
- const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
3419
- const link = useLink({ isRemote: true });
3420
- const { href, target, text, onClick } = link(rest);
3421
- 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 }) }));
3422
- });
3423
- const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
3424
- ? 'rounded-md border-primary-main group-data-transparent:border-white'
3425
- : 'border-transparent', flat ? '' : 'px-4 py-2');
3426
- const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
3427
- ? 'text-primary-main'
3428
- : style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
3429
-
3430
3470
  const BUTTON_SIZE_STYLE = {
3431
3471
  default: 'w-6 h-6',
3432
3472
  large: 'w-12 h-12',
@@ -3559,7 +3599,7 @@
3559
3599
  ? handleIntersectionActivation(index)
3560
3600
  : handleIntersectionDeactivation(index));
3561
3601
  }), [subItems]);
3562
- return (jsxs("nav", { className: "relative mt-3 flex items-center justify-between", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap pb-3 mt-2", children: subItems.map((_, i) => (jsx(HeaderSubMenuItem, { className: style('ml-8 first:ml-0', visibleItemsCount - 1 < i ? 'invisible' : ''), active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { className: "relative w-auto z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null, projectSettings.CHAT_BOT ? (jsx(HeaderChatBotButton, { className: "ml-9", iconVersion: iconVersion, chat: projectSettings.CHAT_BOT })) : null, jsx(InternetBankButton, { version: version, internetBankUrl: internetBankUrl })] }));
3602
+ return (jsxs("nav", { className: "relative mt-s flex items-center justify-between", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap pb-s mt-xs", children: subItems.map((_, i) => (jsx(HeaderSubMenuItem, { className: style('ml-3xl first:ml-0', visibleItemsCount - 1 < i ? 'invisible' : ''), active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { className: "relative w-auto z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null, projectSettings.CHAT_BOT ? (jsx(HeaderChatBotButton, { className: "ml-9", iconVersion: iconVersion, chat: projectSettings.CHAT_BOT })) : null, jsx(InternetBankButton, { version: version, internetBankUrl: internetBankUrl })] }));
3563
3603
  });
3564
3604
  const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
3565
3605
  const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
@@ -3568,25 +3608,24 @@
3568
3608
  'bg-white': 'primary',
3569
3609
  transparent: 'transparent',
3570
3610
  };
3571
- const Header = JSX(({ bgColor = 'bg-white', className, showSubMenu = true, version = BG_COLOR_TO_BLOCK_VERSION[bgColor], ...rest }) => {
3611
+ const Header = JSX(({ className, bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], sitemap, location, ...rest }) => {
3572
3612
  const router = useRouter();
3573
- const { topItems, logo, defaultLocation, foreignOffices, officesLink, internetBankUrl } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
3613
+ const { topItems, logo, officesLink, internetBankUrl } = sitemap || {};
3574
3614
  const activeTopItem = topItems?.find(isTopItemActive(router));
3575
- const [location, onChangeLocation] = useLocation(defaultLocation);
3576
- return (jsxs(BlockWrapper, { tag: "header", className: style('pt-6 px-20', showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5', className), defaultPadding: "", version: version, ...rest, children: [jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-6 h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }), jsx(SearchDialog, { topItems: topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation })] }));
3615
+ return (jsx(BlockWrapper, { tag: "header", className: style('pt-3xl px-20', activeTopItem?.items?.length ? 'pb-m' : 'pb-lg', className), defaultPadding: "", version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location?.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-xl h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }) }));
3577
3616
  });
3578
3617
 
3579
3618
  const gapStyles = {
3580
- XXL: 'gap-12',
3581
- XL: 'gap-10',
3582
- L: 'gap-8',
3583
- M: 'gap-4',
3584
- S: 'gap-2',
3585
- XS: 'gap-1',
3619
+ XXL: 'gap-6xl',
3620
+ XL: 'gap-5xl',
3621
+ L: 'gap-3xl',
3622
+ M: 'gap-m',
3623
+ S: 'gap-xs',
3624
+ XS: 'gap-2xs',
3586
3625
  '': '',
3587
3626
  };
3588
3627
 
3589
- const HorizontalLayout = JSX(({ className = '', gap = 'XS', isPadding = false, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative', 'grid grid-cols-12', gapStyles[gap], className), defaultPadding: isPadding ? 'p-default' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren(rest) })));
3628
+ const HorizontalLayout = JSX(({ className = '', gap = 'XS', isPadding = false, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative', 'grid grid-cols-12', gapStyles[gap], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren(rest) })));
3590
3629
  HorizontalLayout.childrenTypes = {
3591
3630
  exclude: ['HorizontalLayout'],
3592
3631
  };
@@ -3623,7 +3662,7 @@
3623
3662
  function renderGallery({ activeIndex, cards, selectedCardIndex, onClick }) {
3624
3663
  const tabsShiftWidth = activeIndex * 460;
3625
3664
  const cardsAlignStyle = cards.length > 2 ? 'justify-start' : 'justify-center';
3626
- return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-12", children: jsx("div", { className: `w-full flex flex-nowrap gap-3.5 pb-12 ${cardsAlignStyle}`, children: cards.map((slide, i) => renderNavButton$2({
3665
+ return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-6xl", children: jsx("div", { className: `w-full flex flex-nowrap gap-3.5 pb-6xl ${cardsAlignStyle}`, children: cards.map((slide, i) => renderNavButton$2({
3627
3666
  slide,
3628
3667
  i,
3629
3668
  isActive: Boolean(i === selectedCardIndex),
@@ -3634,7 +3673,7 @@
3634
3673
  const btnClassName = isActive
3635
3674
  ? 'shadow-dark-blue border-primary-main'
3636
3675
  : `ease-in duration-300 border-gray`;
3637
- return (jsxs("button", { type: "button", onClick: onClick, className: `p-[30px] min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-5 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "108", height: "108" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock$1('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock$1('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
3676
+ return (jsxs("button", { type: "button", onClick: onClick, className: `p-3xl min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-5 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "108", height: "108" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock$1('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock$1('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
3638
3677
  }
3639
3678
  function renderValueBlock$1(title, sum) {
3640
3679
  return (jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [jsxs("span", { className: "text-h6", children: [toLocalNumberFormat(2)(sum), " \u20BD"] }), jsx("span", { className: "text-secondary-text text-l mt-1", children: title })] }));
@@ -3646,7 +3685,7 @@
3646
3685
  const InsuranceAmountBlock = JSX(({ className = '', title, insuranceTabs = [], button, ...rest }) => {
3647
3686
  const [activeSlideIndex, setActiveSlideIndex] = useState(0);
3648
3687
  const handleActiveSlideIndex = useCallback((_) => setActiveSlideIndex(_), []);
3649
- return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden relative px-0', className), defaultPadding: "p-default", ...rest, children: [title ? jsx(Heading, { className: "text-center mb-8", title: title, headingType: "h3" }) : null, insuranceTabs?.length > 1 ? (jsx("div", { className: "p-1.5 bg-secondary-light w-fit mx-auto mb-7 rounded-md", children: insuranceTabs.map((item, i) => renderNavButton$1({
3688
+ return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden relative px-0 space-y-2xl', className), defaultPadding: "p-6xl", ...rest, children: [title ? jsx(Heading, { className: "text-center", title: title, headingType: "h3" }) : null, insuranceTabs?.length > 1 ? (jsx("div", { className: "p-xs bg-secondary-light w-fit mx-auto rounded-md", children: insuranceTabs.map((item, i) => renderNavButton$1({
3650
3689
  title: item?.title,
3651
3690
  i,
3652
3691
  isActive: Boolean(i === activeSlideIndex),
@@ -3676,11 +3715,11 @@
3676
3715
  'green-dark': 'bg-green-dark',
3677
3716
  };
3678
3717
  const investmentCellSizeMap = {
3679
- XS: 'h-[40px]',
3680
- S: 'h-[68px]',
3681
- M: 'h-[102px]',
3682
- L: 'h-[136px]',
3683
- XL: 'h-[204px]',
3718
+ XS: 'h-10',
3719
+ S: 'h-16',
3720
+ M: 'h-24',
3721
+ L: 'h-32',
3722
+ XL: 'h-52',
3684
3723
  };
3685
3724
  const InvestmentInfo = JSX((props) => {
3686
3725
  const { className = '', items, isDotted, investmentZeroColumn, investmentColumns, ...rest } = props;
@@ -3688,27 +3727,35 @@
3688
3727
  if (investmentZeroColumn) {
3689
3728
  columns.unshift(investmentZeroColumn);
3690
3729
  }
3691
- return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { className: "container text-m font-light", children: [columns?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end relative pl-9 pr-5 text-white", children: [joinList(jsx("div", { className: "w-px h-4 bg-gray" }))(columns.map(renderInvestmentColumn)), jsx("div", { className: "absolute right-[30px] w-px h-4 bg-gray" })] }), jsx("div", { className: "border-t border-gray -mt-2 ml-9 mr-8" }), jsx("div", { className: "flex justify-between text-primary-text mt-3 -mx-10", children: columns.map(renderInvestmentColumnTitle) })] })) : null, items?.length ? (jsx(List, { className: "mt-9 max-w-[657px]", items: items, isDotted: isDotted, listItemSize: "M" })) : null] }) }));
3730
+ return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { className: "container text-m font-light", children: [columns?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end relative pl-3xl pr-lg text-white", children: [joinList(jsx("div", { className: "w-px h-4 bg-gray" }))(columns.map(renderInvestmentColumn)), jsx("div", { className: "absolute right-3xl w-px h-4 bg-gray" })] }), jsx("div", { className: "border-t border-gray -mt-xs mx-3xl" }), jsx("div", { className: "flex justify-between text-primary-text mt-s -mx-5xl", children: columns.map(renderInvestmentColumnTitle) })] })) : null, items?.length ? (jsx(List, { className: "mt-9 max-w-[657px]", items: items, isDotted: isDotted, listItemSize: "M" })) : null] }) }));
3692
3731
  });
3693
3732
  const renderInvestmentColumn = (column, i, arr) => {
3694
3733
  const isSecondColumn = i === 1;
3695
3734
  const isLastColumn = i === arr.length - 1;
3696
- return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-1.5 min-w-[290px]' : ''}`, children: column.cells.reverse().map(renderInvestmentCell) })) : null }, `column_${i}`));
3735
+ return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-2xs min-w-[290px]' : ''}`, children: column.cells.reverse().map(renderInvestmentCell) })) : null }, `column_${i}`));
3697
3736
  };
3698
3737
  const getColumnClasses = (isSecondColumn, isLastColumn, cells = []) => [
3699
3738
  cells.length ? 'flex-1' : 'flex-0',
3700
- cells.length && !isSecondColumn && !isLastColumn ? 'pl-2.5' : '',
3701
- cells.length && !isLastColumn ? 'pr-2.5 pb-8' : 'pb-[22px]',
3739
+ cells.length && !isSecondColumn && !isLastColumn ? 'pl-s' : '',
3740
+ cells.length && !isLastColumn ? 'pr-s pb-3xl' : 'pb-xl',
3702
3741
  ].join(' ');
3703
3742
  const renderInvestmentCell = (cell, i) => {
3704
3743
  const cellSize = cell.cellSize || 'XS';
3705
3744
  const cellColor = cell.cellColor || 'green';
3706
- return cell.text ? (jsx("div", { className: `flex-1 flex items-center justify-center relative py-2 ${investmentCellSizeMap[cellSize]} ${investmentCellColorMap[cellColor]} ${cellSize === 'XS' ? 'px-3' : 'px-11'}`, children: jsx("div", { className: "text-center", children: cell.text }) }, `cell_${i}`)) : null;
3745
+ return cell.text ? (jsx("div", { className: `flex-1 flex items-center justify-center relative py-xs ${investmentCellSizeMap[cellSize]} ${investmentCellColorMap[cellColor]} ${cellSize === 'XS' ? 'px-s' : 'px-5xl'}`, children: jsx("div", { className: "text-center", children: cell.text }) }, `cell_${i}`)) : null;
3707
3746
  };
3708
- const renderInvestmentColumnTitle = (column, i, arr) => {
3709
- const isFirstColumn = i === 0;
3710
- const isLastColumn = i === arr.length - 1;
3711
- return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-2 ${isFirstColumn ? 'pl-9' : ''} ${isLastColumn ? 'mr-3.5' : ' '}`, children: column.title }, `title_${i}`));
3747
+ const renderInvestmentColumnTitle = (column, i) => {
3748
+ return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-xs last:pr-3xl`, children: column.title }, `title_${i}`));
3749
+ };
3750
+
3751
+ const KILO = 1024;
3752
+ const KILO_SIZES = ['байт', 'Кб', 'Мб', 'Гб', 'Тб', 'Пб'];
3753
+ const formatBytes = (bytes, decimals = 2) => {
3754
+ if (bytes === 0) {
3755
+ return '';
3756
+ }
3757
+ const i = Math.floor(Math.log(bytes) / Math.log(KILO));
3758
+ return `${parseFloat((bytes / Math.pow(KILO, i)).toFixed(decimals))} ${KILO_SIZES[i]}`;
3712
3759
  };
3713
3760
 
3714
3761
  const LinkDocItem = JSX(({ icon, text, fileSize, ...linkProps }) => (jsxs("a", { className: "flex box-border gap-3 group/item h-fit w-fit text-primary-text no-underline hover:text-primary-main", role: "link", ...linkProps, children: [icon, text ? (jsxs(Text, { size: "text-l", font: "font-light", children: [text, jsx(Text, { color: "text-secondary-text", children: linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize) })] })) : null] })));
@@ -3734,24 +3781,27 @@
3734
3781
  };
3735
3782
  const LinkDocs = JSX(({ className = '', title, description, align = 'text-center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
3736
3783
  const router = useRouter();
3737
- return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, align: align, headlineVersion: "M", as: "h2" }), documents?.length ? (jsx("div", { className: style('mt-5 sm:mt-8 flex flex-col gap-6', linkColumnsModeStyleMap[columnsMode]), role: "list", children: documents.map(renderLinkDocItem(router, columnsMode, icon)) })) : null] }));
3784
+ return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, align: align, headlineVersion: "M", as: "h2", isPadding: false }), documents?.length ? (jsx("div", { className: style('mt-5 sm:mt-8 flex flex-col gap-6', linkColumnsModeStyleMap[columnsMode]), role: "list", children: documents.map(renderLinkDocItem(router, columnsMode, icon)) })) : null] }));
3738
3785
  });
3739
3786
  const renderLinkDocItem = (router, columnsMode, icon) => (docBlockDef, i) => {
3740
3787
  const href = docBlockDef?.docType === 'Attachment'
3741
3788
  ? adjustHref(router)(docBlockDef?.attachment?.src)
3742
3789
  : docBlockDef?.href;
3743
- return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { ...docBlockDef, href: href, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
3790
+ const fileSize = docBlockDef?.docType === 'Attachment'
3791
+ ? formatBytes(docBlockDef?.attachment?.fileSize || 0)
3792
+ : docBlockDef?.fileSize;
3793
+ return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { text: docBlockDef?.text, target: docBlockDef?.target, href: href, fileSize: fileSize, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
3744
3794
  };
3745
3795
 
3746
- const renderDescription$2 = (description) => description ? (jsx("div", { className: "mb-5 pt-0.5 sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
3796
+ const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-5 pt-3xs sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
3747
3797
 
3748
3798
  const renderList$1 = (items) => {
3749
- return items?.length ? (jsx(List, { items: items, className: "text-l font-light mb-2 last:mb-0" })) : (jsx("span", { className: "text-m font-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
3799
+ return items?.length ? (jsx(List, { items: items, className: "text-l font-light mb-xs last:mb-0" })) : (jsx("span", { className: "text-m font-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
3750
3800
  };
3751
3801
 
3752
3802
  const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
3753
- const containerStyle = version === 'secondary' ? 'p-3.5 min-w-[120px]' : 'min-w-[92px]';
3754
- return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-default", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 4 }), children: [renderDescription$2(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-s items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items), image?.src ? jsx(Img, { image: image }) : null] })] }) }));
3803
+ const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
3804
+ return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-6xl", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 4 }), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-m items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items), image?.src ? jsx(Img, { image: image }) : null] })] }) }));
3755
3805
  });
3756
3806
 
3757
3807
  const initialFiltrationState = {};
@@ -3858,7 +3908,7 @@
3858
3908
  updatePointsToRender(null);
3859
3909
  }
3860
3910
  };
3861
- return (jsxs("div", { className: `${Object.values(styles$2).join(' ')} bg-white py-3 pl-11 pr-4 w-full`, children: [jsx(Icon, { name: "LoupeIcon", iconVersion: "black", width: "20", height: "20", className: "absolute left-4" }), jsx("input", { type: "text", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u043B\u0438 \u043C\u0435\u0442\u0440\u043E", onChange: onChange, className: "border-0 focus:border-0 outline-0 w-full" })] }));
3911
+ return (jsxs("div", { className: `${Object.values(styles$2).join(' ')} bg-white py-s pl-5xl pr-m w-full`, children: [jsx(Icon, { name: "LoupeIcon", iconVersion: "black", width: "20", height: "20", className: "absolute left-4" }), jsx("input", { type: "text", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u043B\u0438 \u043C\u0435\u0442\u0440\u043E", onChange: onChange, className: "border-0 focus:border-0 outline-0 w-full" })] }));
3862
3912
  };
3863
3913
 
3864
3914
  const styles$1 = {
@@ -3970,7 +4020,7 @@
3970
4020
  setPointsToRender(normalizedPoints);
3971
4021
  }
3972
4022
  };
3973
- return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-[50%] ${zIndex}`, children: showSearchField
4023
+ return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-1/2 ${zIndex}`, children: showSearchField
3974
4024
  ? renderSearchField(mockPoints, yandexMaps, updatePointsToRender)
3975
4025
  : renderOpenMap(pointsCenter) }), jsx("div", { className: `${Object.values(FULLSCREEN_STYLES).join(' ')} ${zIndex} right-2 top-4 bg-white`, onClick: toggleFullscreen, children: jsx(Icon, { name: "FullScreenIcon", width: "16", height: "16" }) }), jsxs("div", { className: `absolute right-2 top-52 z-10 w-12 overflow-hidden border border-transparent rounded-md ${zIndex}`, children: [jsx(ZoomButton, { yandexMaps: map }), jsx(ZoomButton, { yandexMaps: map, direction: "out" })] }), renderUserGeolocation(map.current, yandexMaps, `right-2 top-80 ${zIndex}`)] }));
3976
4026
  });
@@ -4112,11 +4162,11 @@
4112
4162
  ];
4113
4163
  const currentWeekDayInd = new Date().getDay();
4114
4164
  const currentWeekDay = currentWeekDayInd > 0 ? workScheduleWeek[currentWeekDayInd - 1] : workScheduleWeek[6];
4115
- return (jsxs("div", { className: `flex flex-col font-sans bg-white w-full ${className}`, children: [jsxs("div", { className: "flex flex-col px-12 pt-12", children: [jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "text-h2", children: name }), renderCurrentDaySchedule(currentWeekDay)] }), jsxs("div", { className: "flex text-l font-light pt-4", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24", className: "pr-1" }), address] }), jsx("div", { className: "flex pt-4", children: nearbyOffices.map(renderNearbyOffice) })] }), jsxs("div", { className: "flex justify-between pt-8", children: [jsx("div", { className: "flex-grow h-full w-full overflow-hidden", children: point ? jsx(YandexMap, { points: [point], className: "h-full" }) : null }), jsx("div", { className: "w-[434px] min-w-[434px] pl-9 pr-12 pb-14 flex flex-col", children: workScheduleWeek.map(renderDay) })] })] }));
4165
+ return (jsxs("div", { className: `flex flex-col font-sans w-full ${className}`, children: [jsxs("div", { className: "flex flex-col gap-m p-6xl pb-3xl", children: [jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "text-h2", children: name }), renderCurrentDaySchedule(currentWeekDay)] }), jsxs("div", { className: "flex text-l font-light", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24", className: "pr-1" }), address] }), jsx("div", { className: "flex", children: nearbyOffices.map(renderNearbyOffice) })] }), jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "flex-grow h-full w-full overflow-hidden", children: point ? jsx(YandexMap, { points: [point], className: "h-full" }) : null }), jsx("div", { className: "w-[434px] min-w-[434px] p-6xl pt-0 flex flex-col", children: workScheduleWeek.map(renderDay) })] })] }));
4116
4166
  });
4117
4167
 
4118
- const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none m-0 p-0", children: servicesList.map(renderListItems) })) : null] })));
4119
- const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(Img, { className: "mr-3 min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", image: itemList.icon })) : null, itemList.label ? (jsx(Text, { size: "text-l", font: "font-light", children: itemList.label })) : null] }, `list_item_${String(i)}`));
4168
+ const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col gap-lg', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none space-y-lg", children: servicesList.map(renderListItems) })) : null] })));
4169
+ const renderListItems = (itemList, i) => (jsxs("li", { className: "flex gap-s list-none ", children: [itemList.icon ? (jsx(Img, { className: "min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", image: itemList.icon })) : null, itemList.label ? (jsx(Text, { size: "text-l", font: "font-light", children: itemList.label })) : null] }, `list_item_${String(i)}`));
4120
4170
 
4121
4171
  const ParagraphBlock = JSX(({ text, size, align, font, children, ...rest }) => (jsx(BlockWrapper, { defaultPadding: "p-0", ...rest, children: jsx(Paragraph, { size: size, align: align, font: font, children: text || children }) })));
4122
4172
 
@@ -4137,7 +4187,7 @@
4137
4187
  'description' in _ ? renderBenefitDescription(_.description, i) : null,
4138
4188
  ]);
4139
4189
 
4140
- const BenefitItem = JSX(({ className, benefitsVersion, ..._ }) => (jsxs("div", { className: style('flex gap-s', 'description' in _ && _.description ? 'items-start' : 'items-center', className), children: ['icon' in _ ? renderBenefitIcon(_.icon, benefitsVersion) : null, jsx("div", { children: renderBenefitText(_) })] })));
4190
+ const BenefitItem = JSX(({ className, benefitsVersion, ..._ }) => (jsxs("div", { className: style('flex gap-m', 'description' in _ && _.description ? 'items-start' : 'items-center', className), children: ['icon' in _ ? renderBenefitIcon(_.icon, benefitsVersion) : null, jsx("div", { children: renderBenefitText(_) })] })));
4141
4191
 
4142
4192
  const MAX_BENEFITS_LEN_DEVIATION = 16;
4143
4193
  const benefitLength = (_) => _.type === 'rte'
@@ -4156,21 +4206,21 @@
4156
4206
  const BaseProductTile = JSX(({ className, padding, defaultPadding, title, description, headlineVersion = 'L', align = 'text-left', isInsetTitle = true, benefitsVersion, isTabularBenefits, benefits, __html, items, isDotted = true, listItemSize, tags, buttons, image, imageOptions: { imageAlign = 'end', directionRight = true, isBackground } = {}, children, }) => {
4157
4207
  const img = image?.src ? jsx(Img, { image: image }) : null;
4158
4208
  const headline = (jsx(Headline, { title: title, description: description, headlineVersion: headlineVersion, align: align, isPadding: false }));
4159
- return (jsx(BaseTile, { className: className, padding: padding, defaultPadding: defaultPadding, ...(isInsetTitle ? { insetTitle: headline } : { title: headline }), ...(isBackground ? { backImage: img } : leftOrRightImage(img, directionRight)), imageAlign: imageAlign, buttons: renderButtonsSection(buttons), children: jsxs("div", { className: "flex flex-col gap-m", children: [jsx(BenefitsList, { benefitsVersion: benefitsVersion, isTabularBenefits: isTabularBenefits, benefits: benefits }), __html ? jsx(RichText, { __html: __html }) : null, items?.length ? (jsx(List, { items: items, isDotted: isDotted, listItemSize: listItemSize })) : null, children, tags?.length ? jsx(Tags, { tags: tags }) : null] }) }));
4209
+ return (jsx(BaseTile, { className: className, padding: padding, defaultPadding: defaultPadding, ...(isInsetTitle ? { insetTitle: headline } : { title: headline }), ...(isBackground ? { backImage: img } : leftOrRightImage(img, directionRight)), imageAlign: imageAlign, buttons: renderButtonsSection(buttons), children: jsxs("div", { className: "flex flex-col gap-xl", children: [jsx(BenefitsList, { benefitsVersion: benefitsVersion, isTabularBenefits: isTabularBenefits, benefits: benefits }), __html ? jsx(RichText, { __html: __html }) : null, items?.length ? (jsx(List, { items: items, isDotted: isDotted, listItemSize: listItemSize })) : null, children, tags?.length ? jsx(Tags, { tags: tags }) : null] }) }));
4160
4210
  });
4161
4211
  const leftOrRightImage = (img, directionRight) => directionRight ? { rightImage: img } : { leftImage: img };
4162
4212
 
4163
- const renderInsuranceSumMonth = (sum, monthLimit) => sum || monthLimit ? (jsxs("div", { className: "flex flex-wrap xl:flex-nowrap xl:bg-main-divider xl:rounded-md p-xs gap-m", children: [Number(sum) > 0 ? renderValueBlock('Страховая сумма:', sum) : null, Number(monthLimit) > 0 ? renderValueBlock('Ежемесячный лимит:', monthLimit) : null] })) : null;
4213
+ const renderInsuranceSumMonth = (sum, monthLimit) => sum || monthLimit ? (jsxs("div", { className: "flex flex-wrap xl:flex-nowrap xl:bg-main-divider xl:rounded-md p-xs gap-xl", children: [Number(sum) > 0 ? renderValueBlock('Страховая сумма:', sum) : null, Number(monthLimit) > 0 ? renderValueBlock('Ежемесячный лимит:', monthLimit) : null] })) : null;
4164
4214
  const renderValueBlock = (title, value = 0) => (jsxs("div", { className: "basis-full flex flex-col-reverse sm:flex-row sm:justify-between items-baseline whitespace-pre", children: [jsx(Text, { font: "font-light", size: "text-l", children: title }), jsxs(Text, { size: "text-h6", color: "text-primary-text", children: [toLocalNumberFormat(2)(value), " \u20BD"] })] }));
4165
4215
 
4166
- const PictureText = JSX(({ className, padding, headlineVersion = 'M', align = 'text-center', sum, monthLimit, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-default", padding: padding, headlineVersion: headlineVersion, align: align, isInsetTitle: false, imageOptions: { directionRight: false, imageAlign: 'center', ...imageOptions }, ...rest, children: renderInsuranceSumMonth(Number(sum), Number(monthLimit)) }) })));
4216
+ const PictureText = JSX(({ className, padding, headlineVersion = 'M', align = 'text-center', sum, monthLimit, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-6xl", padding: padding, headlineVersion: headlineVersion, align: align, isInsetTitle: false, imageOptions: { directionRight: false, imageAlign: 'center', ...imageOptions }, ...rest, children: renderInsuranceSumMonth(Number(sum), Number(monthLimit)) }) })));
4167
4217
 
4168
4218
  const GOLDEN_RATIO = 1.618;
4169
- const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isPadding: false }), jsx("figure", { className: "m-0 mt-m min-w-[80%]", children: renderShimmer() })] })));
4219
+ const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isPadding: false }), jsx("figure", { className: "m-0 mt-xl min-w-[80%]", children: renderShimmer() })] })));
4170
4220
  const renderShimmer = (size = 3) => goldenSequence(100, size)
4171
4221
  .map((_) => Math.floor(_))
4172
4222
  .map(renderShimmerItem);
4173
- const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
4223
+ const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-xs bg-secondary-light" }, String(index)));
4174
4224
  const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
4175
4225
 
4176
4226
  function renderBackwardButton({ text, href, target, icon }, version) {
@@ -4183,13 +4233,13 @@
4183
4233
  } }) }), jsx(Button, { version: "link", ...commonProps })] }));
4184
4234
  }
4185
4235
 
4186
- const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-lg box-border', className), defaultPadding: "p-default", padding: padding, ...rest, children: [backwardButton?.text
4236
+ const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-3xl box-border', className), defaultPadding: "p-6xl", padding: padding, ...rest, children: [backwardButton?.text
4187
4237
  ? renderBackwardButton(backwardButton, !rest.version || rest.version === 'primary' ? 'primary' : 'white')
4188
4238
  : null, jsx(BaseProductTile, { className: "grow h-full", ...rest })] })));
4189
4239
 
4190
4240
  const ProductGallery = JSX(({ className = '', padding, slides = [], ...rest }) => {
4191
4241
  const [activeSlideIndex, setActiveSlideIndex] = useState(0);
4192
- return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "py-default", padding: padding, ...rest, children: [jsx("div", { className: "flex duration-1000", style: { transform: `translateX(-${activeSlideIndex * 100}%)` }, role: "list", children: slides.map(({ productBlock }, i) => (jsx("div", { className: "box-border grow-0 shrink-0 basis-full", role: "listitem", children: jsx(BaseProductTile, { className: "pl-default h-full", headlineVersion: "XXL", ...productBlock, ...rest }) }, String(i)))) }), jsx("div", { className: "h-28 px-xs mt-m -mb-m flex gap-xs box-border", children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) })] }));
4242
+ return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "py-6xl", padding: padding, ...rest, children: [jsx("div", { className: "flex duration-1000", style: { transform: `translateX(-${activeSlideIndex * 100}%)` }, role: "list", children: slides.map(({ productBlock }, i) => (jsx("div", { className: "box-border grow-0 shrink-0 basis-full", role: "listitem", children: jsx(BaseProductTile, { className: "pl-6xl h-full", headlineVersion: "XXL", ...productBlock, ...rest }) }, String(i)))) }), jsx("div", { className: "h-28 px-xs mt-m -mb-m flex gap-xs box-border", children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) })] }));
4193
4243
  });
4194
4244
  const renderNavButton = ({ activeSlideIndex, onClick }) => ({ nav }, i) => {
4195
4245
  const isActive = i === activeSlideIndex;
@@ -4205,9 +4255,9 @@
4205
4255
  return (jsxs("button", { type: "button", onClick: () => onClick(i), "aria-label": nav?.title, className: style('relative px-6 box-border overflow-hidden text-left grow basis-0 border border-gray group-data-secondary:border-white/50', btnClassName), children: [jsx("div", { className: btnTitleClassName, children: nav?.title }), jsx("div", { className: btnDescClassName, children: nav?.description })] }, String(i)));
4206
4256
  };
4207
4257
 
4208
- const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-m", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isBackground: true, ...imageOptions }, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
4258
+ const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isBackground: true, ...imageOptions }, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
4209
4259
 
4210
- const PromoTile = JSX(({ className, title = 'Акции и спецпредложения', description, headlineVersion = 'S', date, buttons = [], ...rest }) => (jsx(BlockWrapper, { className: style('box-border', className), ...rest, children: jsxs(BaseTile, { className: "h-full", title: title ? (jsx(Headline, { title: title, headlineVersion: headlineVersion, align: "text-left", isPadding: false })) : null, buttons: renderButtonsSection(buttons), children: [date ? jsx("div", { className: "text-s mb-2", children: formatDate(date) }) : null, jsx("div", { className: "text-l", children: description })] }) })));
4260
+ const PromoTile = JSX(({ className, title = 'Акции и спецпредложения', description, headlineVersion = 'S', date, buttons = [], ...rest }) => (jsx(BlockWrapper, { className: style('box-border', className), ...rest, children: jsxs(BaseTile, { className: "h-full", title: title ? (jsx(Headline, { title: title, headlineVersion: headlineVersion, align: "text-left", isPadding: false })) : null, buttons: renderButtonsSection(buttons), children: [date ? jsx("div", { className: "text-s mb-xs", children: formatDate(date) }) : null, jsx("div", { className: "text-l", children: description })] }) })));
4211
4261
  function formatDate(date) {
4212
4262
  const dateObj = new Date(date);
4213
4263
  const dateFormat = {
@@ -4218,14 +4268,10 @@
4218
4268
  return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
4219
4269
  }
4220
4270
 
4221
- const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left', className), version: version, ...rest, children: [jsxs("div", { className: "w-full sm:flex sm:justify-between sm:flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-3 sm:mb-6", title: title }) : null] }), jsxs("div", { className: "w-full", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock('Адрес', address, 'GeolocationIcon'), renderBlock('Телефон', telephone, 'PhoneIcon'), renderBlock('E-mail', email, 'MailIcon'), button?.text
4222
- ? renderButtonsSection([button], {
4223
- className: 'mb-6',
4224
- })
4225
- : null] })] })));
4226
- const renderIconBlock = (icon) => (jsxs("div", { className: 'w-10 h-7 sm:w-24 sm:h-16 mb-3 sm:mb-0 sm:mt-3', children: [icon?.src ? jsx(Img, { image: icon }) : null, icon?.icon ? jsx(Img, { image: icon }) : null] }));
4227
- const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5 my-5", children: jsx(RichText, { __html: __html }) }));
4228
- const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex mb-4", children: [jsx(Icon, { className: "pr-4", iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col first:pb-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
4271
+ const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h4", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock('Адрес', address, 'GeolocationIcon'), renderBlock('Телефон', telephone, 'PhoneIcon'), renderBlock('E-mail', email, 'MailIcon'), button?.text ? renderButtonsSection([button]) : null] })] })));
4272
+ const renderIconBlock = (icon) => (jsx("div", { className: 'w-10 h-7 sm:w-24 sm:h-16', children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
4273
+ const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5", children: jsx(RichText, { __html: __html }) }));
4274
+ const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex gap-m", children: [jsx(Icon, { iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
4229
4275
 
4230
4276
  const RichTextBlock = JSX((props) => {
4231
4277
  const { __html, richVersion, ...rest } = props;
@@ -4244,7 +4290,10 @@
4244
4290
  const rollupItemStyles = 'border-0 border-b border-solid border-main-divider last:border-b-0';
4245
4291
 
4246
4292
  const RollupItem = JSX(({ className = '', label = 'Развернуть', labelIcon, labelIconBgVersion, isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => {
4247
- return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5 [&>*]:p-0', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren(rest) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({
4293
+ return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren({
4294
+ ...rest,
4295
+ extraProps: { className: 'w-full', padding: 'p-0' },
4296
+ }) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({
4248
4297
  version,
4249
4298
  label,
4250
4299
  labelIcon,
@@ -4267,7 +4316,7 @@
4267
4316
  })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
4268
4317
  };
4269
4318
  const renderPrimaryFoldButton = ({ label, labelIconBgVersion, icon, onToggle, labelIcon, }) => {
4270
- return (jsxs("button", { className: style('border-none bg-transparent px-0 flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-2' : 'py-5'), onClick: onToggle, children: [jsxs("div", { className: "flex items-center group-hover/button:text-primary-main gap-3", children: [renderRoundedIcon(), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
4319
+ return (jsxs("button", { className: style('border-none bg-transparent px-0 flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-xs' : 'py-lg'), onClick: onToggle, children: [jsxs("div", { className: "flex items-center group-hover/button:text-primary-main gap-s", children: [renderRoundedIcon(), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
4271
4320
  };
4272
4321
 
4273
4322
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
@@ -4278,27 +4327,27 @@
4278
4327
  return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
4279
4328
  });
4280
4329
 
4281
- const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex justify-between gap-4 mb-6", children: [jsx("div", { className: "max-w-[396px] w-1/2", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "max-w-[396px] w-1/2", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
4330
+ const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col sm:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
4282
4331
 
4283
4332
  const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-primary-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text ml-3 cursor-pointer", children: text }) : null] }) })));
4284
4333
 
4285
- const RenderRadioButtons = JSX(() => {
4334
+ const RadioButtons = JSX(({ className }) => {
4286
4335
  const [selectedOption, setSelectedOption] = useState('option2');
4287
4336
  const onChange = useCallback((_) => setSelectedOption(_), []);
4288
- return (jsxs("div", { children: [jsx(Radio, { className: "mb-2", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
4337
+ return (jsxs("div", { className: style('order-4', className), children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
4289
4338
  });
4290
4339
 
4291
4340
  const ITEMS = ['От 1 дня', 'До 365 дней'];
4292
4341
  const MIN = 1;
4293
4342
  const MAX = 365;
4294
- const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "mb-6", children: [jsx("span", { className: "block text-m font-light mb-1", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
4343
+ const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "order-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
4295
4344
 
4296
4345
  const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
4297
- return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "mr-4 w-full", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "w-full", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
4346
+ return (jsxs("div", { className: "flex flex-col sm:flex-row gap-4 order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
4298
4347
  });
4299
4348
 
4300
4349
  const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
4301
- return (jsxs("div", { className: "flex-1 mr-9", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [jsx(RenderRadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick })] })] }));
4350
+ return (jsxs("div", { className: "contents sm:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents sm:flex justify-between items-center", children: [jsx(RadioButtons, { className: "mb-4 sm:mb-0" }), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] }));
4302
4351
  });
4303
4352
  const onSelectedBranch = (onChange) => (value) => {
4304
4353
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
@@ -4309,10 +4358,11 @@
4309
4358
 
4310
4359
  const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
4311
4360
  const price = calculatePrice(days, tariffs);
4312
- return (jsxs("div", { className: "flex flex-col justify-between", children: [jsxs("div", { className: "flex", children: [renderTotal('Аренда за', days, 'mr-11'), renderTotal('Цена', price + ' ₽')] }), jsxs("div", { className: "bg-primary-main px-10 pt-10 pb-4 text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, width: "290", height: "257" }), jsxs("span", { className: "text-s font-light text-white opacity-80 mt-2 inline-block", children: ["\u041D\u0430 \u0440\u0438\u0441\u0443\u043D\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0430 \u043F\u0430\u0447\u043A\u0430", jsx("br", {}), " \u043B\u0438\u0441\u0442\u043E\u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0430 \u04104"] })] })] }));
4361
+ const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
4362
+ return (jsxs("div", { className: "contents sm:flex flex-col justify-between order-2", children: [jsxs("div", { className: "flex flex-col sm:flex-row gap-x-11 gap-y-7 order-5 sm:order-none py-7 sm:py-0 border-t border-main-divider sm:border-none", children: [renderTotal('Аренда за', days), renderTotal('Цена', price + ' ₽')] }), jsx("span", { className: "sm:hidden order-3 mb-2 text-s-light text-secondary-text", children: imageDescription }), jsxs("div", { className: "flex flex-col items-center gap-3 order-3 sm:order-none mb-6 sm:mb-0 bg-primary-main py-3 sm:p-8 text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, className: "sm:h-[246px]" }), jsx("span", { className: "hidden sm:inline text-s font-light text-white opacity-80 whitespace-pre-line", children: imageDescription })] })] }));
4313
4363
  });
4314
- const renderTotal = (label, total, className = '') => {
4315
- return (jsxs("div", { className: className, children: [jsx("div", { className: "text-m font-light text-secondary-text mb-1", children: label }), jsx("span", { className: "text-h3 text-primary-text", children: total })] }));
4364
+ const renderTotal = (label, total) => {
4365
+ return (jsxs("div", { className: "flex justify-between items-center gap-y-1 sm:flex-col sm:items-start", children: [jsx("div", { className: "text-l font-light text-secondary-text", children: label }), jsx("span", { className: "text-l sm:text-h3 text-primary-text", children: total })] }));
4316
4366
  };
4317
4367
  const calculatePrice = (days, tariffs) => {
4318
4368
  const tariffType = getTariffType(days);
@@ -4359,7 +4409,7 @@
4359
4409
  const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
4360
4410
  const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
4361
4411
  const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
4362
- return (jsxs("div", { className: "flex justify-between align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
4412
+ return (jsxs("div", { className: "flex flex-col sm:flex-row gap-x-9 align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
4363
4413
  });
4364
4414
  const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
4365
4415
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
@@ -4392,7 +4442,7 @@
4392
4442
  const branches = useSafeBoxes(selectedRegion);
4393
4443
  const handleChangeSafeDepositState = useCallback((state) => setStateDepositState((oldState) => ({ ...oldState, ...state })), [setStateDepositState]);
4394
4444
  const points = getCoordinates(getBranch(branches, safeDepositState.selectedBranch) || branches);
4395
- return (jsxs(BlockWrapper, { className: className, defaultPadding: "", ...rest, children: [jsxs("div", { className: "px-8 py-12", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "text-primary-text mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, branches: branches, data: { ...safeDepositState, selectedRegion }, onClick: handleShowMap, onChange: handleChangeSafeDepositState }), footnote ? (jsx(Paragraph, { size: "text-s", font: "font-light", children: footnote })) : null] }), points.length && showMap ? jsx(YandexMap, { points: points, className: "h-[640px]" }) : null] }));
4445
+ return (jsxs(BlockWrapper, { className: className, defaultPadding: "", ...rest, children: [jsxs("div", { className: "p-4xl", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "text-primary-text mb-s text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, branches: branches, data: { ...safeDepositState, selectedRegion }, onClick: handleShowMap, onChange: handleChangeSafeDepositState }), footnote ? (jsx(Paragraph, { size: "text-s", font: "font-light", children: footnote })) : null] }), points.length && showMap ? jsx(YandexMap, { points: points, className: "h-[640px]" }) : null] }));
4396
4446
  });
4397
4447
  const normalizeSelectedRegion = (selectedRegion, regions) => !selectedRegion && regions?.length && regions[0]?.code ? regions[0].code : selectedRegion;
4398
4448
 
@@ -4415,9 +4465,9 @@
4415
4465
  };
4416
4466
  const renderDefaultStep = ({ styleMap, isMainButton, version }) => (step, i, arr) => {
4417
4467
  const { label, description, button, items, isDotted } = step;
4418
- return (jsxs("div", { className: style('relative flex flex-col items-center text-center whitespace-pre-line overflow-hidden', getContainerWidth(arr.length)), children: [jsxs("div", { className: style(button?.text ? 'mb-8' : '', 'text-center'), children: [label ? (jsx("div", { className: "mb-2", children: jsx(Text, { size: "text-h6", children: label }) })) : null, jsxs("div", { className: "flex flex-col items-center", children: [description ? jsx("div", { className: styleMap.description, children: description }) : null, jsx(List, { className: style(description ? `${styleMap.description} mt-0.5` : 'text-h6'), items: items, listItemSize: "M", isDotted: isDotted })] })] }), button?.text && !isMainButton ? (jsx(Button, { className: "box-border py-3 h-12 w-full max-w-[240px] mt-auto", version: version, ...button, children: button?.text })) : null] }, String(i)));
4468
+ return (jsxs("div", { className: style('relative flex flex-col items-center text-center justify-between whitespace-pre-line overflow-hidden space-y-3xl', getContainerWidth(arr.length)), children: [jsxs("div", { className: "text-center space-y-xs", children: [label ? (jsx("div", { children: jsx(Text, { size: "text-h6", children: label }) })) : null, jsxs("div", { className: "flex flex-col items-center gap-3xs", children: [description ? jsx("div", { className: styleMap.description, children: description }) : null, jsx(List, { className: styleMap.description, items: items, listItemSize: "M", isDotted: isDotted })] })] }), button?.text && !isMainButton ? (jsx(Button, { className: "box-border py-s w-full max-w-60 mt-auto", version: version, ...button, children: button?.text })) : null] }, String(i)));
4419
4469
  };
4420
- const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[210px]');
4470
+ const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[200px]');
4421
4471
 
4422
4472
  const STEPS_BLOCK_STYLE = {
4423
4473
  description: 'text-white/80 text-l font-light group-data-primary:text-secondary-text group-data-gray:text-secondary-text',
@@ -4428,21 +4478,21 @@
4428
4478
  };
4429
4479
 
4430
4480
  const getLineOpacity = (showLines) => (showLines ? '' : 'opacity-0');
4431
- const getPaddingX = (steps) => (steps < 5 ? 'px-[88px]' : 'px-[55px]');
4481
+ const getPaddingX = (steps) => (steps < 5 ? 'px-24' : 'px-16');
4432
4482
  const StepsBlock = JSX(({ className = '', showLines = true, steps = [], buttons, size = 'normal', version = 'primary', stepVersion = 'gray', title, ...rest }) => {
4433
4483
  const shortGaps = steps.length > 3;
4434
4484
  const styleMap = STEPS_BLOCK_STYLE;
4435
4485
  const lineOpacity = getLineOpacity(showLines);
4436
4486
  const paddingX = getPaddingX(steps.length);
4437
4487
  const isMainButton = Boolean(buttons?.every((b) => b?.text));
4438
- return (jsxs(BlockWrapper, { className: style('box-border flex flex-col items-center overflow-hidden', className), defaultPadding: "p-default", version: version, ...rest, children: [title ? (jsx(Heading, { headingType: "h4", className: "max-w-[752px] text-center mb-9", title: title })) : null, steps?.length ? (jsxs("div", { className: "box-border", children: [jsx("div", { className: style('flex items-center', paddingX), children: joinList(jsx("div", { className: style('h-0.5 w-full bg-secondary-light flex-1', lineOpacity) }))(steps.map(renderStepIcon(styleMap, size, stepVersion))) }), jsx("div", { className: style('flex justify-between mt-4', shortGaps ? 'gap-x-3' : 'gap-x-[101px]'), children: steps.map(renderStep({ styleMap, isMainButton, version })) })] })) : null, renderButtonsSection(buttons, { className: 'mt-8' })] }));
4488
+ return (jsxs(BlockWrapper, { className: style('box-border flex flex-col items-center overflow-hidden gap-y-3xl', className), defaultPadding: "p-6xl", version: version, ...rest, children: [title ? jsx(Heading, { headingType: "h4", className: "text-center", title: title }) : null, steps?.length ? (jsxs("div", { className: "box-border space-y-lg", children: [jsx("div", { className: style('flex items-center', paddingX), children: joinList(jsx("div", { className: style('h-0.5 w-full bg-secondary-light flex-1', lineOpacity) }))(steps.map(renderStepIcon(styleMap, size, stepVersion))) }), jsx("div", { className: style('flex justify-between', shortGaps ? 'gap-x-3' : 'gap-x-20'), children: steps.map(renderStep({ styleMap, isMainButton, version })) })] })) : null, renderButtonsSection(buttons)] }));
4439
4489
  });
4440
4490
  const renderStepIcon = (styleMap, size, stepVersion) => ({ icon }, i) => {
4441
- const styleStepIconSize = size === 'normal' ? 'h-[100px] w-[100px]' : 'h-[63px] w-[63px]';
4442
- const stepVersionIconTextStyles = stepVersion === 'secondary' ? 'group-data-primary:text-white' : 'text-secondary-text';
4443
4491
  const iconVersion = stepVersion === 'secondary' ? 'white' : 'color';
4444
- return (jsx(BlockWrapper, { className: `${styleStepIconSize} flex justify-center items-center text-center rounded-full p-[26px] box-border z-10`, version: stepVersion, children: checkCanRenderIcon(icon) ? (jsx(Img, { image: { ...icon, iconVersion: icon.iconVersion || iconVersion }, width: "48", height: "48" })) : (jsx("span", { className: style('text-h4', stepVersion === 'transparent' ? styleMap.iconText : stepVersionIconTextStyles), children: i + 1 })) }, String(i)));
4492
+ return (jsx(BlockWrapper, { defaultPadding: "", className: `${getIconSizeStyle(size)} flex justify-center items-center text-center rounded-full box-border z-10`, version: stepVersion, children: checkCanRenderIcon(icon) ? (jsx(Img, { image: { ...icon, iconVersion: icon.iconVersion || iconVersion }, width: "48", height: "48" })) : (jsx("span", { className: style('text-h4', stepVersion === 'transparent' ? styleMap.iconText : getIconTextStyle(stepVersion)), children: i + 1 })) }, String(i)));
4445
4493
  };
4494
+ const getIconSizeStyle = (size) => (size === 'normal' ? 'h-24 w-24' : 'h-16 w-16');
4495
+ const getIconTextStyle = (version) => version === 'secondary' ? 'group-data-primary:text-white' : 'text-secondary-text';
4446
4496
 
4447
4497
  const DEFAULT_GAP = 14;
4448
4498
  /*
@@ -4521,7 +4571,7 @@
4521
4571
  return (jsx("div", { className: getTabClassName('block', active, tabsMode), role: "tab", "aria-selected": active, onClick: () => onClick(tab), children: jsx("a", { role: "tab", className: style('flex flex-1 items-center justify-center h-full', getTabClassName('text', active, tabsMode)), target: tab.target, href: adjustedProps.href, onClick: handleClick, children: jsx("span", { children: tab.text }) }) }));
4522
4572
  });
4523
4573
 
4524
- const BADGE_CLASSES = 'bg-main-divider min-w-[22px] h-[22px] rounded-full text-xs ml-2 flex justify-center items-center';
4574
+ const BADGE_CLASSES = 'bg-main-divider min-w-[22px] h-[22px] rounded-full text-xs ml-xs flex justify-center items-center';
4525
4575
  const LIGHT_BADGE_CLASSES = 'bg-white/30 text-white';
4526
4576
  const DARK_BADGE_CLASSES = 'text-secondary-text group-hover/btn:text-primary-main';
4527
4577
  const renderGroupTab = ({ page, currentTab, showCounter, onClick, tabsMode }) => (tab, i) => {
@@ -4559,7 +4609,6 @@
4559
4609
  const { tabs, ...rest } = props;
4560
4610
  const [containerRef, scroll] = useSwipeListScroll({
4561
4611
  itemCount: tabs?.length || 0,
4562
- isCyclic: false,
4563
4612
  });
4564
4613
  return (jsxs("div", { className: "relative max-w-full m-auto", children: [jsx("div", { className: `font-sans max-w-full w-full overflow-hidden relative bg-white`, children: jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: tabs?.map(renderTab({ ...rest })) }) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: `${scrollButtonStyle} left-6`, onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: `${scrollButtonStyle} rotate-180 right-6`, onClick: scroll.scrollRight })) : null] }));
4565
4614
  });
@@ -4610,7 +4659,7 @@
4610
4659
  const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
4611
4660
 
4612
4661
  const TableInnerButton = JSX(({ isOpen, onClick }) => {
4613
- 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" })] }));
4662
+ 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-s", iconVersion: "white", width: "20", height: "20" })] }));
4614
4663
  });
4615
4664
 
4616
4665
  const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons);
@@ -4643,7 +4692,7 @@
4643
4692
  setOpenTableInnerIdx(cellIdx);
4644
4693
  setTableInner(props);
4645
4694
  };
4646
- return (jsxs("div", { className: cell?.tableCellType === 'Table' ? 'ml-10' : `first:pt-5 last:pb-5 pl-10`, children: [i > 0 ? jsx("div", { className: "h-5" }) : null, renderCell({
4695
+ return (jsxs("div", { className: cell?.tableCellType === 'Table' ? 'ml-5xl' : `first:pt-lg last:pb-lg pl-5xl`, children: [i > 0 ? jsx("div", { className: "h-5" }) : null, renderCell({
4647
4696
  cell,
4648
4697
  cellProps: {
4649
4698
  rowIdx,
@@ -4703,11 +4752,11 @@
4703
4752
  'flex duration-1000 text-center',
4704
4753
  rowIdx !== 0 ? 'font-normal' : 'font-light',
4705
4754
  ].join(' ');
4706
- return (jsxs("div", { className: "flex border-main-divider border border-t-0 border-x-0 border-solid", children: [headerColumn?.data ? (jsx("div", { className: `text-xl fontd-light w-[214px] pb-5 ${rowIdx === 0 ? 'pt-8' : 'pt-6'}`, children: headerColumn.data })) : null, jsx("div", { className: "flex flex-grow overflow-hidden", children: jsx("div", { className: columnsClassName, style: {
4755
+ return (jsxs("div", { className: "flex border-main-divider border border-t-0 border-x-0 border-solid", children: [headerColumn?.data ? (jsx("div", { className: `text-xl font-light w-[214px] py-lg `, children: headerColumn.data })) : null, jsx("div", { className: "flex flex-grow overflow-hidden", children: jsx("div", { className: columnsClassName, style: {
4707
4756
  transform: `translateX(-${transform}px)`,
4708
- }, children: columns?.map((_, i) => (jsxs("div", { className: "flex flex-col flex-grow justify-center pt-6 pb-5 odd:bg-main-divider", children: [_?.data ? jsx("div", { className: "text-xl font-light mb-3", children: _.data }) : null, _?.cols ? renderCols(_.cols, activeColumnIndex) : null] }, `row${i}`))) }) })] }, String(rowIdx)));
4757
+ }, children: columns?.map((_, i) => (jsxs("div", { className: "flex flex-col flex-grow gap-s justify-center py-xl odd:bg-main-divider", children: [_?.data ? jsx("div", { className: "text-xl font-light", children: _.data }) : null, _?.cols ? renderCols(_.cols, activeColumnIndex) : null] }, `row${i}`))) }) })] }, String(rowIdx)));
4709
4758
  };
4710
- const renderCols = (cols, rowIndex) => cols?.length > 0 ? (jsx("div", { className: `flex ${rowIndex} ${rowIndex === 0 ? 'text-secondary-text' : ''} last:mr-3`, children: cols.map((data, i) => (jsx("div", { className: `w-[76px] text-h6 mr-5 first:ml-8`, children: data }, String(i)))) })) : null;
4759
+ const renderCols = (cols, rowIndex) => cols?.length > 0 ? (jsx("div", { className: `flex ${rowIndex} ${rowIndex === 0 ? 'text-secondary-text' : ''} last:mr-3`, children: cols.map((data, i) => (jsx("div", { className: `w-20 text-h6 mr-lg first:ml-3xl`, children: data }, String(i)))) })) : null;
4711
4760
 
4712
4761
  const InnerTableBody = JSX(({ activeTabIndex, items }) => {
4713
4762
  const [hiddenTables, setHiddenTables] = useState({});
@@ -4718,7 +4767,7 @@
4718
4767
  }) }));
4719
4768
  });
4720
4769
 
4721
- const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full pt-2.5 pb-3", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-1.5 rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl font-light px-4 py-3 cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsx(Button, { href: linkToPDF, version: "secondary", target: "_blank", appendLeft: jsx(Icon, { name: "DocDownloadIcon", iconVersion: "color", className: "mr-0.5", width: "20", height: "20" }), text: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })) : null] })));
4770
+ const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full px-s", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-2xs rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl font-light px-m py-s cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsx(Button, { href: linkToPDF, version: "secondary", target: "_blank", appendLeft: jsx(Icon, { name: "DocDownloadIcon", iconVersion: "color", className: "mr-3xs", width: "20", height: "20" }), text: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })) : null] })));
4722
4771
 
4723
4772
  function useTariffsInnerTableData(directoryName) {
4724
4773
  const { data } = useAsyncData(tariffsInnerTableDataUrl(directoryName), fetchTariffsInnerTableData);
@@ -4750,7 +4799,7 @@
4750
4799
  const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
4751
4800
  const handleOpenTableInnerIdx = useCallback((_) => setOpenTableInnerIdx(_), []);
4752
4801
  const onHideContentClick = () => setTableInner(undefined);
4753
- return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "mr-3.5 max-w-6", image: header.icon, width: "24", height: "24" })) : null, header?.title ? jsx("div", { className: "text-m font-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
4802
+ return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-lg ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "mr-m max-w-6", image: header.icon, width: "24", height: "24" })) : null, header?.title ? jsx("div", { className: "text-m font-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
4754
4803
  });
4755
4804
 
4756
4805
  const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
@@ -4766,21 +4815,15 @@
4766
4815
  });
4767
4816
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
4768
4817
  const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
4769
- return (jsxs(BlockWrapper, { className: style('overflow-hidden relative', className), defaultPadding: style('p-default', itemCount > 1 ? 'pr-0' : ''), ...rest, children: [renderTitle({ title, description }), renderDescription$1(description), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
4818
+ return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
4770
4819
  });
4771
- function renderTitle({ title, description }) {
4772
- return title ? (jsx(Heading, { headingType: "h3", className: `text-center ${description ? 'mb-2.5' : 'mb-8'}`, title: title })) : null;
4773
- }
4774
- function renderDescription$1(description) {
4775
- return description ? jsx("div", { className: "mb-9 text-center text-l", children: description }) : null;
4776
- }
4777
4820
  const Wrapper = JSX(({ children, controls }) => {
4778
4821
  const { isScrollAvailable } = controls;
4779
4822
  return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
4780
4823
  ...controls,
4781
- btnClass: ['top-[108px]', 'top-[44px]'],
4824
+ btnClass: ['top-28', 'top-11'],
4782
4825
  className: 'right-7',
4783
- })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
4826
+ })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
4784
4827
  });
4785
4828
 
4786
4829
  const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-3 sm:gap-4 bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? jsx("div", { className: "mt-1", children: renderIcon() }) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-1 sm:gap-2", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
@@ -4792,23 +4835,20 @@
4792
4835
  return (jsx("ul", { className: style('text-secondary-text group-data-secondary:text-white/80', listStyle), children: items.map((_, i) => (jsx("li", { children: jsx(Text, { size: "text-s", font: "font-light", children: _ }) }, `listItem-${i}`))) }));
4793
4836
  };
4794
4837
 
4795
- const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-m", padding: padding, headlineVersion: headlineVersion, listItemSize: listItemSize, ...rest }) })));
4838
+ const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, listItemSize: listItemSize, ...rest }) })));
4796
4839
 
4797
- const alignStyle = {
4798
- stretch: 'items-stretch',
4799
- left: 'items-start',
4800
- center: 'items-center',
4801
- right: 'items-end',
4802
- };
4803
- const VerticalLayout = JSX(({ className = '', gap = '', align = 'stretch', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => {
4804
- const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
4805
- return (jsx(BlockWrapper, { className: style('relative', 'flex flex-col [&>*]:max-w-full', gapStyles[gap], align && alignStyle[align], className), defaultPadding: isPadding ? 'p-default' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
4806
- ...rest,
4807
- renderProps: (block, options) => renderBlock$1(block, options, { className: innerPaddingStyle }),
4808
- }) }));
4809
- });
4840
+ const VerticalLayout = JSX(({ className = '', gap = '', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex flex-col', gapStyles[gap], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
4841
+ ...rest,
4842
+ extraProps: { className: 'w-full', padding: isInnerPadding ? '' : 'p-0' },
4843
+ }) })));
4810
4844
  VerticalLayout.childrenTypes = [];
4811
4845
 
4846
+ const getColSpan = (className) => {
4847
+ const colSpanPrefix = 'col-span-';
4848
+ const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
4849
+ return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
4850
+ };
4851
+
4812
4852
  const MIN_COL_SPAN = 10;
4813
4853
  const getPaddings = (className) => getColSpan(className) < MIN_COL_SPAN ? 'py-6 px-11' : 'py-12 px-32';
4814
4854
 
@@ -4878,6 +4918,52 @@
4878
4918
  ExchangeRateOffice,
4879
4919
  };
4880
4920
 
4921
+ const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
4922
+ function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
4923
+ const cachedFetcher = useCallback(async (...args) => {
4924
+ const storageKey = `async:${key}`;
4925
+ const storageData = storage.getItem(storageKey);
4926
+ const cachedData = getParsedData(storageData);
4927
+ if (cachedData) {
4928
+ return cachedData;
4929
+ }
4930
+ const data = await fetcher(...args);
4931
+ storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
4932
+ return data;
4933
+ }, [key, fetcher]);
4934
+ return useAsyncData(key, cachedFetcher);
4935
+ }
4936
+ function getParsedData(storageData) {
4937
+ const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
4938
+ return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
4939
+ }
4940
+
4941
+ const REGION_URL = '/api/v1/region';
4942
+ function useLocation(defaultLocation = 'Москва') {
4943
+ const currentLocation = getLocalStorageLocation();
4944
+ const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
4945
+ const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
4946
+ useEffect(() => {
4947
+ setLocation(currentLocation?.region && currentLocation?.manual
4948
+ ? currentLocation.region
4949
+ : data || { name: defaultLocation });
4950
+ }, [data]);
4951
+ const onChangeLocation = useCallback((region) => {
4952
+ globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
4953
+ setLocation(region);
4954
+ }, []);
4955
+ return [location, onChangeLocation];
4956
+ }
4957
+ const getLocalStorageLocation = () => {
4958
+ const localStorageLocation = globalThis.localStorage?.getItem('location');
4959
+ try {
4960
+ return localStorageLocation ? JSON.parse(localStorageLocation) : null;
4961
+ }
4962
+ catch (_) {
4963
+ return null;
4964
+ }
4965
+ };
4966
+
4881
4967
  const debounce = (fn, delay = 600) => {
4882
4968
  let timerId;
4883
4969
  const debouncedCallback = (...args) => {
@@ -4991,9 +5077,8 @@
4991
5077
  return (jsxs("div", { className: `border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${className}`, children: [jsx(LikeButton, { onClick: handlerDecorator(likeService.like), ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u043B\u0430\u0439\u043A\u00BB" }), jsx(LikeButton, { onClick: handlerDecorator(likeService.dislike), className: "rotate-180", ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u0434\u0438\u0437\u043B\u0430\u0439\u043A\u00BB" }), jsx("span", { className: "select-none", children: likeService.likeCount })] }));
4992
5078
  });
4993
5079
 
4994
- const ContentPage = JSX((props) => {
4995
- const { className = '', blocksRegistry, blockDecorator, data = {} } = props;
4996
- const { style: pageStyle, blocks, slots, likeControl, colorPalette = 'pc' } = data;
5080
+ const ContentPage = JSX(({ className, blocksRegistry, blockDecorator, data = {} }) => {
5081
+ const { style: pageStyle, slots, likeControl, colorPalette = 'pc' } = data;
4997
5082
  const options = {
4998
5083
  key: '',
4999
5084
  page: data,
@@ -5001,6 +5086,8 @@
5001
5086
  blockDecorator,
5002
5087
  parent: data,
5003
5088
  };
5089
+ const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', data?.fallback);
5090
+ const [location, onChangeLocation] = useLocation(sitemap?.defaultLocation);
5004
5091
  useBlockRouterProvider();
5005
5092
  const [isSomeDialogOpened, { setTrue: setSomeDialogOpened, setFalse: resetSomeDialogOpened }] = useBool();
5006
5093
  useDialogHandlers({
@@ -5010,20 +5097,20 @@
5010
5097
  return (jsxs("section", { className: style('relative', pageStyle, className, isSomeDialogOpened ? 'overflow-hidden h-screen' : ''), "data-theme": colorPalette, children: [slots?.header ? (jsx("div", { className: "mb-5 shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, {
5011
5098
  ...options,
5012
5099
  slotName: 'header',
5013
- }) })) : null, jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderBlocksList(blocks, options), slots?.footer
5014
- ? renderBlocksList(slots?.footer, {
5015
- ...options,
5016
- slotName: 'footer',
5017
- })
5018
- : null] }), likeControl ? renderLikeControl() : null, jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } })] }));
5100
+ extraProps: { sitemap, location },
5101
+ }) })) : null, jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, {
5102
+ ...options,
5103
+ slotName: 'footer',
5104
+ extraProps: { sitemap, location },
5105
+ })] }), likeControl ? renderLikeControl() : null, jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } }), jsx(SearchDialog, { topItems: sitemap?.topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: sitemap?.foreignOffices, onChangeLocation: onChangeLocation })] }));
5019
5106
  });
5020
5107
  ContentPage.childrenTypes = [];
5021
5108
  ContentPage.slots = () => ['header', 'footer'];
5022
5109
  function renderLikeControl() {
5023
- 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" }) }));
5110
+ return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
5024
5111
  }
5025
5112
 
5026
- const packageVersion = "0.12.10";
5113
+ const packageVersion = "0.12.12";
5027
5114
 
5028
5115
  exports.Blocks = Blocks;
5029
5116
  exports.ContentPage = ContentPage;