@redneckz/wildless-cms-uni-blocks 0.12.11 → 0.12.13

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 (1239) hide show
  1. package/bin/migration-scripts/0.12.10.js +59 -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 +322 -380
  7. package/bundle/bundle.umd.min.js +1 -1
  8. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +52 -6
  9. package/bundle/components/ApplicationForm/ApplicationFormGrantSupport.d.ts +2 -0
  10. package/bundle/components/ApplicationForm/ApplicationFormsProps.d.ts +1 -0
  11. package/bundle/components/ApplicationForm/EmbeddableForms.d.ts +8 -0
  12. package/bundle/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  13. package/bundle/components/Carousel/Carousel.d.ts +1 -1
  14. package/bundle/components/Carousel/CarouselContent.d.ts +3 -9
  15. package/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  16. package/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
  17. package/bundle/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  18. package/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
  19. package/bundle/components/CarouselLinks/CarouselLinks.d.ts +1 -0
  20. package/bundle/components/CarouselLinks/CarouselLinksContent.d.ts +2 -0
  21. package/bundle/components/Footer/Contacts.d.ts +0 -1
  22. package/bundle/components/Footer/Footer.d.ts +1 -4
  23. package/bundle/components/Footer/Footer.mobile.d.ts +1 -4
  24. package/bundle/components/Footer/FooterProps.d.ts +6 -0
  25. package/bundle/components/Footer/MediaButton.d.ts +1 -1
  26. package/bundle/components/Footer/buttonSizeStyles.d.ts +4 -0
  27. package/bundle/components/Footer/buttonSizeStyles.mobile.d.ts +4 -0
  28. package/bundle/components/Header/Header.d.ts +1 -4
  29. package/bundle/components/Header/Header.mobile.d.ts +2 -5
  30. package/bundle/components/Header/HeaderContent.d.ts +0 -2
  31. package/bundle/components/Header/HeaderProps.d.ts +8 -0
  32. package/bundle/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  33. package/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  34. package/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  35. package/bundle/hooks/useCarouselControls.d.ts +1 -1
  36. package/bundle/services/regionsGrantSupport/RegionsGrantSupportData.d.ts +7 -0
  37. package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  38. package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  39. package/dist/BlockRenderer/renderBlock.d.ts +2 -4
  40. package/dist/BlockRenderer/renderBlock.js +1 -2
  41. package/dist/BlockRenderer/renderBlock.js.map +1 -1
  42. package/dist/BlockRenderer/renderBlockList.d.ts +5 -2
  43. package/dist/BlockRenderer/renderBlockList.js +12 -7
  44. package/dist/BlockRenderer/renderBlockList.js.map +1 -1
  45. package/dist/BlockRenderer/renderChildren.d.ts +5 -4
  46. package/dist/BlockRenderer/renderChildren.js +2 -2
  47. package/dist/BlockRenderer/renderChildren.js.map +1 -1
  48. package/dist/components/ApplicationForm/ApplicationForm.js +16 -14
  49. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  50. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +52 -6
  51. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.d.ts +2 -0
  52. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.js +22 -0
  53. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -0
  54. package/dist/components/ApplicationForm/ApplicationFormsProps.d.ts +1 -0
  55. package/dist/components/ApplicationForm/EmbeddableForms.d.ts +8 -0
  56. package/dist/components/ApplicationForm/EmbeddableForms.js +17 -0
  57. package/dist/components/ApplicationForm/EmbeddableForms.js.map +1 -0
  58. package/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
  59. package/dist/components/Blocks.mobile.js +6 -0
  60. package/dist/components/Blocks.mobile.js.map +1 -1
  61. package/dist/components/Bonus/Bonus.js +10 -13
  62. package/dist/components/Bonus/Bonus.js.map +1 -1
  63. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  64. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  65. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +4 -4
  66. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  67. package/dist/components/Calculator/CreditCalculatorForm.js +1 -1
  68. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  69. package/dist/components/Calculator/DepositCalculatorForm.js +3 -3
  70. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  71. package/dist/components/Calculator/UnknownRate.js +1 -1
  72. package/dist/components/Calculator/UnknownRate.js.map +1 -1
  73. package/dist/components/Carousel/Carousel.d.ts +1 -1
  74. package/dist/components/Carousel/Carousel.js +18 -33
  75. package/dist/components/Carousel/Carousel.js.map +1 -1
  76. package/dist/components/Carousel/CarouselContent.d.ts +3 -9
  77. package/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  78. package/dist/components/Carousel/CarouselScrollButtons.js +4 -4
  79. package/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
  80. package/dist/components/Carousel/renderControlButtons.d.ts +2 -3
  81. package/dist/components/Carousel/renderControlButtons.js +3 -3
  82. package/dist/components/Carousel/renderControlButtons.js.map +1 -1
  83. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  84. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
  85. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  86. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
  87. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
  88. package/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
  89. package/dist/components/CarouselCard/CarouselCard.js +6 -5
  90. package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  91. package/dist/components/CarouselCard/constants.js +2 -2
  92. package/dist/components/CarouselCard/constants.js.map +1 -1
  93. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  94. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  95. package/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
  96. package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  97. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  98. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  99. package/dist/components/CarouselLinks/CarouselLinks.d.ts +1 -0
  100. package/dist/components/CarouselLinks/CarouselLinks.js +7 -8
  101. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  102. package/dist/components/CarouselLinks/CarouselLinksContent.d.ts +2 -0
  103. package/dist/components/CarouselProductCard/CarouselProductCard.js +4 -4
  104. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  105. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  106. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  107. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +3 -4
  108. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  109. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
  110. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  111. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  112. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  113. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  114. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  115. package/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  116. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  117. package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  118. package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  119. package/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
  120. package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  121. package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  122. package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  123. package/dist/components/ComparisonTable/HeaderCell.js +1 -1
  124. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  125. package/dist/components/ContactsBlock/ContactsBlock.js +1 -1
  126. package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  127. package/dist/components/ContentPage/ContentPage.js +17 -10
  128. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  129. package/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
  130. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  131. package/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
  132. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  133. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  134. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  135. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  136. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  137. package/dist/components/Footer/Contacts.d.ts +0 -1
  138. package/dist/components/Footer/Contacts.js +3 -4
  139. package/dist/components/Footer/Contacts.js.map +1 -1
  140. package/dist/components/Footer/Footer.d.ts +1 -4
  141. package/dist/components/Footer/Footer.js +4 -6
  142. package/dist/components/Footer/Footer.js.map +1 -1
  143. package/dist/components/Footer/Footer.mobile.d.ts +1 -4
  144. package/dist/components/Footer/Footer.mobile.js +5 -6
  145. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  146. package/dist/components/Footer/FooterProps.d.ts +6 -0
  147. package/dist/components/Footer/FooterProps.js +2 -0
  148. package/dist/components/Footer/FooterProps.js.map +1 -0
  149. package/dist/components/Footer/HorizontalNavigation.js +1 -1
  150. package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  151. package/dist/components/Footer/HorizontalNavigation.mobile.js +1 -1
  152. package/dist/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  153. package/dist/components/Footer/MediaButton.d.ts +1 -1
  154. package/dist/components/Footer/SocialMedia.js +2 -1
  155. package/dist/components/Footer/SocialMedia.js.map +1 -1
  156. package/dist/components/Footer/TextInformation.js +1 -1
  157. package/dist/components/Footer/TextInformation.js.map +1 -1
  158. package/dist/components/Footer/buttonSizeStyles.d.ts +4 -0
  159. package/dist/components/Footer/buttonSizeStyles.js +7 -0
  160. package/dist/components/Footer/buttonSizeStyles.js.map +1 -0
  161. package/dist/components/Footer/buttonSizeStyles.mobile.d.ts +4 -0
  162. package/dist/components/Footer/buttonSizeStyles.mobile.js +7 -0
  163. package/dist/components/Footer/buttonSizeStyles.mobile.js.map +1 -0
  164. package/dist/components/Footer/buttonStylesWithText.js +2 -5
  165. package/dist/components/Footer/buttonStylesWithText.js.map +1 -1
  166. package/dist/components/GracePeriod/GracePeriod.js +2 -2
  167. package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  168. package/dist/components/Header/Header.d.ts +1 -4
  169. package/dist/components/Header/Header.js +3 -9
  170. package/dist/components/Header/Header.js.map +1 -1
  171. package/dist/components/Header/Header.mobile.d.ts +2 -5
  172. package/dist/components/Header/Header.mobile.js +2 -5
  173. package/dist/components/Header/Header.mobile.js.map +1 -1
  174. package/dist/components/Header/HeaderContent.d.ts +0 -2
  175. package/dist/components/Header/HeaderProps.d.ts +8 -0
  176. package/dist/components/Header/HeaderProps.js +2 -0
  177. package/dist/components/Header/HeaderProps.js.map +1 -0
  178. package/dist/components/Header/HeaderTop.js +1 -1
  179. package/dist/components/Header/HeaderTop.js.map +1 -1
  180. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  181. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js +8 -0
  182. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
  183. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  184. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  185. package/dist/components/InvestmentInfo/InvestmentInfo.js +5 -5
  186. package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  187. package/dist/components/LinkDocs/LinkDocs.js +2 -2
  188. package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  189. package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  190. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  191. package/dist/components/MobileAppTile/renderDescription.js +1 -1
  192. package/dist/components/MobileAppTile/renderDescription.js.map +1 -1
  193. package/dist/components/OfficeMap/OfficeMap.js +1 -1
  194. package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  195. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  196. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  197. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  198. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  199. package/dist/components/RollupItem/RollupItem.js +5 -2
  200. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  201. package/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  202. package/dist/components/SafeDepositRental/RadioButtons.js +13 -0
  203. package/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
  204. package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  205. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  206. package/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
  207. package/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  208. package/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  209. package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  210. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  211. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  212. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  213. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  214. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  215. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  216. package/dist/components/StepsBlock/renderStep.js +1 -1
  217. package/dist/components/StepsBlock/renderStep.js.map +1 -1
  218. package/dist/components/Tabs/ScrollableTabs.js +0 -1
  219. package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  220. package/dist/components/TariffsTable/TariffsTable.js +3 -3
  221. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  222. package/dist/components/VerticalLayout/VerticalLayout.js +4 -14
  223. package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  224. package/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  225. package/dist/hooks/useCarouselControls.d.ts +1 -1
  226. package/dist/hooks/useCarouselControls.js +5 -6
  227. package/dist/hooks/useCarouselControls.js.map +1 -1
  228. package/dist/services/regionsGrantSupport/RegionsGrantSupportData.d.ts +7 -0
  229. package/dist/services/regionsGrantSupport/RegionsGrantSupportData.js +2 -0
  230. package/dist/services/regionsGrantSupport/RegionsGrantSupportData.js.map +1 -0
  231. package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  232. package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  233. package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  234. package/dist/ui-kit/BlockWrapper.js +1 -1
  235. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  236. package/dist/ui-kit/LinkButton/LinkButton.js +4 -3
  237. package/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
  238. package/dist/ui-kit/LinkList/LinkList.js +2 -2
  239. package/dist/ui-kit/LinkList/LinkList.js.map +1 -1
  240. package/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
  241. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  242. package/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
  243. package/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  244. package/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  245. package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  246. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  247. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  248. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  249. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  250. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  251. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  252. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  253. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  254. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  255. package/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  256. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  257. package/lib/BlockRenderer/renderBlock.d.ts +2 -4
  258. package/lib/BlockRenderer/renderBlock.js +1 -2
  259. package/lib/BlockRenderer/renderBlock.js.map +1 -1
  260. package/lib/BlockRenderer/renderBlockList.d.ts +5 -2
  261. package/lib/BlockRenderer/renderBlockList.js +12 -7
  262. package/lib/BlockRenderer/renderBlockList.js.map +1 -1
  263. package/lib/BlockRenderer/renderChildren.d.ts +5 -4
  264. package/lib/BlockRenderer/renderChildren.js +2 -2
  265. package/lib/BlockRenderer/renderChildren.js.map +1 -1
  266. package/lib/common.css +1 -1
  267. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
  268. package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +1 -0
  269. package/lib/components/ApplicationForm/ApplicationForm.js +16 -14
  270. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  271. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +52 -6
  272. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.d.ts +2 -0
  273. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.js +20 -0
  274. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -0
  275. package/lib/components/ApplicationForm/ApplicationFormsProps.d.ts +1 -0
  276. package/lib/components/ApplicationForm/EmbeddableForms.d.ts +8 -0
  277. package/lib/components/ApplicationForm/EmbeddableForms.js +15 -0
  278. package/lib/components/ApplicationForm/EmbeddableForms.js.map +1 -0
  279. package/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
  280. package/lib/components/Blocks.mobile.js +6 -0
  281. package/lib/components/Blocks.mobile.js.map +1 -1
  282. package/lib/components/Bonus/Bonus.fixture.mobile.d.ts +8 -0
  283. package/lib/components/Bonus/Bonus.js +10 -13
  284. package/lib/components/Bonus/Bonus.js.map +1 -1
  285. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  286. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  287. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +4 -4
  288. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  289. package/lib/components/Calculator/CreditCalculatorForm.js +1 -1
  290. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  291. package/lib/components/Calculator/DepositCalculatorForm.js +3 -3
  292. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  293. package/lib/components/Calculator/UnknownRate.js +1 -1
  294. package/lib/components/Calculator/UnknownRate.js.map +1 -1
  295. package/lib/components/Carousel/Carousel.d.ts +1 -1
  296. package/lib/components/Carousel/Carousel.js +18 -33
  297. package/lib/components/Carousel/Carousel.js.map +1 -1
  298. package/lib/components/Carousel/CarouselContent.d.ts +3 -9
  299. package/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  300. package/lib/components/Carousel/CarouselScrollButtons.js +4 -4
  301. package/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
  302. package/lib/components/Carousel/renderControlButtons.d.ts +3 -3
  303. package/lib/components/Carousel/renderControlButtons.js +3 -3
  304. package/lib/components/Carousel/renderControlButtons.js.map +1 -1
  305. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  306. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
  307. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  308. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
  309. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
  310. package/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
  311. package/lib/components/CarouselCard/CarouselCard.js +6 -5
  312. package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  313. package/lib/components/CarouselCard/constants.js +2 -2
  314. package/lib/components/CarouselCard/constants.js.map +1 -1
  315. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  316. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  317. package/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
  318. package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  319. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  320. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  321. package/lib/components/CarouselLinks/CarouselLinks.d.ts +1 -0
  322. package/lib/components/CarouselLinks/CarouselLinks.fixture.mobile.d.ts +6 -0
  323. package/lib/components/CarouselLinks/CarouselLinks.js +7 -8
  324. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  325. package/lib/components/CarouselLinks/CarouselLinksContent.d.ts +2 -0
  326. package/lib/components/CarouselProductCard/CarouselProductCard.js +4 -4
  327. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  328. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  329. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  330. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -5
  331. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  332. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
  333. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  334. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  335. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  336. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  337. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  338. package/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  339. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  340. package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  341. package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  342. package/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
  343. package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  344. package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  345. package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  346. package/lib/components/ComparisonTable/HeaderCell.js +1 -1
  347. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  348. package/lib/components/ContactsBlock/ContactsBlock.js +1 -1
  349. package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  350. package/lib/components/ContentPage/ContentPage.js +17 -10
  351. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  352. package/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
  353. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  354. package/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
  355. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  356. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  357. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  358. package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.d.ts +6 -0
  359. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  360. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  361. package/lib/components/Footer/Contacts.d.ts +0 -1
  362. package/lib/components/Footer/Contacts.js +3 -4
  363. package/lib/components/Footer/Contacts.js.map +1 -1
  364. package/lib/components/Footer/Footer.d.ts +1 -4
  365. package/lib/components/Footer/Footer.js +4 -6
  366. package/lib/components/Footer/Footer.js.map +1 -1
  367. package/lib/components/Footer/Footer.mobile.d.ts +1 -4
  368. package/lib/components/Footer/Footer.mobile.js +5 -6
  369. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  370. package/lib/components/Footer/FooterProps.d.ts +6 -0
  371. package/lib/components/Footer/FooterProps.js +2 -0
  372. package/lib/components/Footer/FooterProps.js.map +1 -0
  373. package/lib/components/Footer/HorizontalNavigation.js +1 -1
  374. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  375. package/lib/components/Footer/HorizontalNavigation.mobile.js +1 -1
  376. package/lib/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  377. package/lib/components/Footer/MediaButton.d.ts +1 -1
  378. package/lib/components/Footer/SocialMedia.js +2 -1
  379. package/lib/components/Footer/SocialMedia.js.map +1 -1
  380. package/lib/components/Footer/TextInformation.js +1 -1
  381. package/lib/components/Footer/TextInformation.js.map +1 -1
  382. package/lib/components/Footer/buttonSizeStyles.d.ts +4 -0
  383. package/lib/components/Footer/buttonSizeStyles.js +5 -0
  384. package/lib/components/Footer/buttonSizeStyles.js.map +1 -0
  385. package/lib/components/Footer/buttonSizeStyles.mobile.d.ts +4 -0
  386. package/lib/components/Footer/buttonSizeStyles.mobile.js +5 -0
  387. package/lib/components/Footer/buttonSizeStyles.mobile.js.map +1 -0
  388. package/lib/components/Footer/buttonStylesWithText.js +1 -4
  389. package/lib/components/Footer/buttonStylesWithText.js.map +1 -1
  390. package/lib/components/GracePeriod/GracePeriod.js +2 -2
  391. package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  392. package/lib/components/Header/Header.d.ts +1 -4
  393. package/lib/components/Header/Header.fixture.d.ts +0 -1
  394. package/lib/components/Header/Header.js +3 -9
  395. package/lib/components/Header/Header.js.map +1 -1
  396. package/lib/components/Header/Header.mobile.d.ts +2 -5
  397. package/lib/components/Header/Header.mobile.js +2 -5
  398. package/lib/components/Header/Header.mobile.js.map +1 -1
  399. package/lib/components/Header/HeaderContent.d.ts +0 -2
  400. package/lib/components/Header/HeaderProps.d.ts +8 -0
  401. package/lib/components/Header/HeaderProps.js +2 -0
  402. package/lib/components/Header/HeaderProps.js.map +1 -0
  403. package/lib/components/Header/HeaderTop.js +1 -1
  404. package/lib/components/Header/HeaderTop.js.map +1 -1
  405. package/lib/components/HorizontalLayout/HorizontalLayout.fixture.mobile.d.ts +8 -0
  406. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  407. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js +6 -0
  408. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
  409. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  410. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  411. package/lib/components/InvestmentInfo/InvestmentInfo.js +5 -5
  412. package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  413. package/lib/components/LinkDocs/LinkDocs.js +2 -2
  414. package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  415. package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  416. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  417. package/lib/components/MobileAppTile/renderDescription.js +1 -1
  418. package/lib/components/MobileAppTile/renderDescription.js.map +1 -1
  419. package/lib/components/OfficeMap/OfficeMap.js +1 -1
  420. package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  421. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  422. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  423. package/lib/components/ProductTile/ProductTile.fixture.mobile.d.ts +16 -0
  424. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  425. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  426. package/lib/components/RollupItem/RollupItem.js +5 -2
  427. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  428. package/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  429. package/lib/components/SafeDepositRental/RadioButtons.js +11 -0
  430. package/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
  431. package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  432. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  433. package/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
  434. package/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  435. package/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  436. package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  437. package/lib/components/SafeDepositRental/SafeDepositRental.fixture.mobile.d.ts +6 -0
  438. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  439. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  440. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  441. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  442. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  443. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  444. package/lib/components/StepsBlock/renderStep.js +1 -1
  445. package/lib/components/StepsBlock/renderStep.js.map +1 -1
  446. package/lib/components/Tabs/ScrollableTabs.js +0 -1
  447. package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  448. package/lib/components/TariffsTable/TariffsTable.js +3 -3
  449. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  450. package/lib/components/VerticalLayout/VerticalLayout.fixture.d.ts +2 -2
  451. package/lib/components/VerticalLayout/VerticalLayout.js +4 -14
  452. package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  453. package/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  454. package/lib/hooks/useCarouselControls.d.ts +1 -1
  455. package/lib/hooks/useCarouselControls.js +5 -6
  456. package/lib/hooks/useCarouselControls.js.map +1 -1
  457. package/lib/services/regionsGrantSupport/RegionsGrantSupportData.d.ts +7 -0
  458. package/lib/services/regionsGrantSupport/RegionsGrantSupportData.js +2 -0
  459. package/lib/services/regionsGrantSupport/RegionsGrantSupportData.js.map +1 -0
  460. package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  461. package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  462. package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  463. package/lib/ui-kit/BlockWrapper.js +1 -1
  464. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  465. package/lib/ui-kit/LinkButton/LinkButton.fixture.mobile.d.ts +6 -0
  466. package/lib/ui-kit/LinkButton/LinkButton.js +4 -3
  467. package/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
  468. package/lib/ui-kit/LinkList/LinkList.js +2 -2
  469. package/lib/ui-kit/LinkList/LinkList.js.map +1 -1
  470. package/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
  471. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  472. package/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
  473. package/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  474. package/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  475. package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  476. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  477. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  478. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  479. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  480. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  481. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  482. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  483. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  484. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  485. package/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  486. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  487. package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +0 -1
  488. package/lib/ui-kit/YandexMap/renderSearchField.d.ts +0 -1
  489. package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +0 -1
  490. package/mobile/bundle/BlockRenderer/renderBlock.d.ts +2 -4
  491. package/mobile/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
  492. package/mobile/bundle/BlockRenderer/renderChildren.d.ts +5 -4
  493. package/mobile/bundle/bundle.umd.js +1071 -200
  494. package/mobile/bundle/bundle.umd.min.js +1 -1
  495. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +52 -6
  496. package/mobile/bundle/components/ApplicationForm/ApplicationFormGrantSupport.d.ts +2 -0
  497. package/mobile/bundle/components/ApplicationForm/ApplicationFormsProps.d.ts +1 -0
  498. package/mobile/bundle/components/ApplicationForm/EmbeddableForms.d.ts +8 -0
  499. package/mobile/bundle/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  500. package/mobile/bundle/components/Carousel/Carousel.d.ts +1 -1
  501. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +3 -9
  502. package/mobile/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  503. package/mobile/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
  504. package/mobile/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
  505. package/mobile/bundle/components/CarouselLinks/CarouselLinks.d.ts +1 -0
  506. package/mobile/bundle/components/CarouselLinks/CarouselLinksContent.d.ts +2 -0
  507. package/mobile/bundle/components/Footer/Contacts.d.ts +0 -1
  508. package/mobile/bundle/components/Footer/Footer.d.ts +1 -4
  509. package/mobile/bundle/components/Footer/FooterProps.d.ts +6 -0
  510. package/mobile/bundle/components/Footer/MediaButton.d.ts +1 -1
  511. package/mobile/bundle/components/Footer/SocialMedia.d.ts +4 -2
  512. package/mobile/bundle/components/Footer/buttonSizeStyles.d.ts +4 -0
  513. package/mobile/bundle/components/Header/Header.d.ts +2 -5
  514. package/mobile/bundle/components/Header/HeaderContent.d.ts +0 -2
  515. package/mobile/bundle/components/Header/HeaderProps.d.ts +8 -0
  516. package/mobile/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  517. package/mobile/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  518. package/mobile/bundle/hooks/useCarouselControls.d.ts +1 -1
  519. package/mobile/bundle/services/regionsGrantSupport/RegionsGrantSupportData.d.ts +7 -0
  520. package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  521. package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  522. package/mobile/dist/BlockRenderer/renderBlock.d.ts +2 -4
  523. package/mobile/dist/BlockRenderer/renderBlock.js +1 -2
  524. package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
  525. package/mobile/dist/BlockRenderer/renderBlockList.d.ts +5 -2
  526. package/mobile/dist/BlockRenderer/renderBlockList.js +12 -7
  527. package/mobile/dist/BlockRenderer/renderBlockList.js.map +1 -1
  528. package/mobile/dist/BlockRenderer/renderChildren.d.ts +5 -4
  529. package/mobile/dist/BlockRenderer/renderChildren.js +2 -2
  530. package/mobile/dist/BlockRenderer/renderChildren.js.map +1 -1
  531. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +16 -14
  532. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  533. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +52 -6
  534. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.d.ts +2 -0
  535. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.js +22 -0
  536. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -0
  537. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.d.ts +1 -0
  538. package/mobile/dist/components/ApplicationForm/EmbeddableForms.d.ts +8 -0
  539. package/mobile/dist/components/ApplicationForm/EmbeddableForms.js +17 -0
  540. package/mobile/dist/components/ApplicationForm/EmbeddableForms.js.map +1 -0
  541. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
  542. package/mobile/dist/components/Blocks.js +6 -0
  543. package/mobile/dist/components/Blocks.js.map +1 -1
  544. package/mobile/dist/components/Bonus/Bonus.js +10 -13
  545. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  546. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  547. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  548. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +4 -4
  549. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  550. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +1 -1
  551. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  552. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +3 -3
  553. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  554. package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
  555. package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
  556. package/mobile/dist/components/Carousel/Carousel.d.ts +1 -1
  557. package/mobile/dist/components/Carousel/Carousel.js +18 -33
  558. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  559. package/mobile/dist/components/Carousel/CarouselContent.d.ts +3 -9
  560. package/mobile/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  561. package/mobile/dist/components/Carousel/CarouselScrollButtons.js +4 -4
  562. package/mobile/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
  563. package/mobile/dist/components/Carousel/renderControlButtons.d.ts +2 -3
  564. package/mobile/dist/components/Carousel/renderControlButtons.js +3 -3
  565. package/mobile/dist/components/Carousel/renderControlButtons.js.map +1 -1
  566. package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
  567. package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  568. package/mobile/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
  569. package/mobile/dist/components/CarouselCard/CarouselCard.js +6 -5
  570. package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  571. package/mobile/dist/components/CarouselCard/constants.js +2 -2
  572. package/mobile/dist/components/CarouselCard/constants.js.map +1 -1
  573. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  574. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  575. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
  576. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  577. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  578. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  579. package/mobile/dist/components/CarouselLinks/CarouselLinks.d.ts +1 -0
  580. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +7 -8
  581. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  582. package/mobile/dist/components/CarouselLinks/CarouselLinksContent.d.ts +2 -0
  583. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +4 -4
  584. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  585. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  586. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  587. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
  588. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  589. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  590. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  591. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  592. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  593. package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  594. package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  595. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
  596. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  597. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  598. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  599. package/mobile/dist/components/ContactsBlock/ContactsBlock.js +1 -1
  600. package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  601. package/mobile/dist/components/ContentPage/ContentPage.js +17 -10
  602. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  603. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
  604. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  605. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
  606. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  607. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  608. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  609. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  610. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  611. package/mobile/dist/components/Footer/Contacts.d.ts +0 -1
  612. package/mobile/dist/components/Footer/Contacts.js +3 -4
  613. package/mobile/dist/components/Footer/Contacts.js.map +1 -1
  614. package/mobile/dist/components/Footer/Footer.d.ts +1 -4
  615. package/mobile/dist/components/Footer/Footer.js +5 -6
  616. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  617. package/mobile/dist/components/Footer/FooterProps.d.ts +6 -0
  618. package/mobile/dist/components/Footer/FooterProps.js +2 -0
  619. package/mobile/dist/components/Footer/FooterProps.js.map +1 -0
  620. package/mobile/dist/components/Footer/HorizontalNavigation.js +1 -1
  621. package/mobile/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  622. package/mobile/dist/components/Footer/MediaButton.d.ts +1 -1
  623. package/mobile/dist/components/Footer/SocialMedia.d.ts +4 -2
  624. package/mobile/dist/components/Footer/SocialMedia.js +3 -1
  625. package/mobile/dist/components/Footer/SocialMedia.js.map +1 -1
  626. package/mobile/dist/components/Footer/TextInformation.js +1 -1
  627. package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
  628. package/mobile/dist/components/Footer/buttonSizeStyles.d.ts +4 -0
  629. package/mobile/dist/components/Footer/buttonSizeStyles.js +7 -0
  630. package/mobile/dist/components/Footer/buttonSizeStyles.js.map +1 -0
  631. package/mobile/dist/components/Footer/buttonStylesWithText.js +2 -5
  632. package/mobile/dist/components/Footer/buttonStylesWithText.js.map +1 -1
  633. package/mobile/dist/components/GracePeriod/GracePeriod.js +2 -2
  634. package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  635. package/mobile/dist/components/Header/Header.d.ts +2 -5
  636. package/mobile/dist/components/Header/Header.js +2 -5
  637. package/mobile/dist/components/Header/Header.js.map +1 -1
  638. package/mobile/dist/components/Header/HeaderContent.d.ts +0 -2
  639. package/mobile/dist/components/Header/HeaderProps.d.ts +8 -0
  640. package/mobile/dist/components/Header/HeaderProps.js +2 -0
  641. package/mobile/dist/components/Header/HeaderProps.js.map +1 -0
  642. package/mobile/dist/components/Header/HeaderTop.js +1 -1
  643. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  644. package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js +3 -8
  645. package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  646. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  647. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  648. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +5 -5
  649. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  650. package/mobile/dist/components/LinkDocs/LinkDocs.js +2 -2
  651. package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  652. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  653. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  654. package/mobile/dist/components/MobileAppTile/renderDescription.js +1 -1
  655. package/mobile/dist/components/MobileAppTile/renderDescription.js.map +1 -1
  656. package/mobile/dist/components/OfficeMap/OfficeMap.js +1 -1
  657. package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  658. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  659. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  660. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  661. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  662. package/mobile/dist/components/RollupItem/RollupItem.js +5 -2
  663. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  664. package/mobile/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  665. package/mobile/dist/components/SafeDepositRental/RadioButtons.js +13 -0
  666. package/mobile/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
  667. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  668. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  669. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
  670. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  671. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  672. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  673. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  674. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  675. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  676. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  677. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  678. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  679. package/mobile/dist/components/StepsBlock/renderStep.js +1 -1
  680. package/mobile/dist/components/StepsBlock/renderStep.js.map +1 -1
  681. package/mobile/dist/components/Tabs/ScrollableTabs.js +0 -1
  682. package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  683. package/mobile/dist/components/VerticalLayout/VerticalLayout.js +4 -14
  684. package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  685. package/mobile/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  686. package/mobile/dist/hooks/useCarouselControls.d.ts +1 -1
  687. package/mobile/dist/hooks/useCarouselControls.js +5 -6
  688. package/mobile/dist/hooks/useCarouselControls.js.map +1 -1
  689. package/mobile/dist/services/regionsGrantSupport/RegionsGrantSupportData.d.ts +7 -0
  690. package/mobile/dist/services/regionsGrantSupport/RegionsGrantSupportData.js +2 -0
  691. package/mobile/dist/services/regionsGrantSupport/RegionsGrantSupportData.js.map +1 -0
  692. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  693. package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  694. package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  695. package/mobile/dist/ui-kit/BlockWrapper.js +1 -1
  696. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  697. package/mobile/dist/ui-kit/LinkButton/LinkButton.js +4 -3
  698. package/mobile/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
  699. package/mobile/dist/ui-kit/LinkList/LinkList.js +2 -2
  700. package/mobile/dist/ui-kit/LinkList/LinkList.js.map +1 -1
  701. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
  702. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  703. package/mobile/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
  704. package/mobile/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  705. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  706. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  707. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  708. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  709. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  710. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  711. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  712. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  713. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  714. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  715. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  716. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  717. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  718. package/mobile/lib/BlockRenderer/renderBlock.d.ts +2 -4
  719. package/mobile/lib/BlockRenderer/renderBlock.js +1 -2
  720. package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
  721. package/mobile/lib/BlockRenderer/renderBlockList.d.ts +5 -2
  722. package/mobile/lib/BlockRenderer/renderBlockList.js +12 -7
  723. package/mobile/lib/BlockRenderer/renderBlockList.js.map +1 -1
  724. package/mobile/lib/BlockRenderer/renderChildren.d.ts +5 -4
  725. package/mobile/lib/BlockRenderer/renderChildren.js +2 -2
  726. package/mobile/lib/BlockRenderer/renderChildren.js.map +1 -1
  727. package/mobile/lib/common.css +1 -1
  728. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +16 -14
  729. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  730. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +52 -6
  731. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.d.ts +2 -0
  732. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.js +20 -0
  733. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -0
  734. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.d.ts +1 -0
  735. package/mobile/lib/components/ApplicationForm/EmbeddableForms.d.ts +8 -0
  736. package/mobile/lib/components/ApplicationForm/EmbeddableForms.js +15 -0
  737. package/mobile/lib/components/ApplicationForm/EmbeddableForms.js.map +1 -0
  738. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
  739. package/mobile/lib/components/Blocks.js +6 -0
  740. package/mobile/lib/components/Blocks.js.map +1 -1
  741. package/mobile/lib/components/Bonus/Bonus.js +10 -13
  742. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  743. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  744. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  745. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +4 -4
  746. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  747. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +1 -1
  748. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  749. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +3 -3
  750. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  751. package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
  752. package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
  753. package/mobile/lib/components/Carousel/Carousel.d.ts +1 -1
  754. package/mobile/lib/components/Carousel/Carousel.js +18 -33
  755. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  756. package/mobile/lib/components/Carousel/CarouselContent.d.ts +3 -9
  757. package/mobile/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  758. package/mobile/lib/components/Carousel/CarouselScrollButtons.js +4 -4
  759. package/mobile/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
  760. package/mobile/lib/components/Carousel/renderControlButtons.d.ts +2 -3
  761. package/mobile/lib/components/Carousel/renderControlButtons.js +3 -3
  762. package/mobile/lib/components/Carousel/renderControlButtons.js.map +1 -1
  763. package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
  764. package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  765. package/mobile/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
  766. package/mobile/lib/components/CarouselCard/CarouselCard.js +6 -5
  767. package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  768. package/mobile/lib/components/CarouselCard/constants.js +2 -2
  769. package/mobile/lib/components/CarouselCard/constants.js.map +1 -1
  770. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  771. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  772. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
  773. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  774. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  775. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  776. package/mobile/lib/components/CarouselLinks/CarouselLinks.d.ts +1 -0
  777. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +7 -8
  778. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  779. package/mobile/lib/components/CarouselLinks/CarouselLinksContent.d.ts +2 -0
  780. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +4 -4
  781. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  782. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  783. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  784. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
  785. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  786. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  787. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  788. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  789. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  790. package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  791. package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  792. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
  793. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  794. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  795. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  796. package/mobile/lib/components/ContactsBlock/ContactsBlock.js +1 -1
  797. package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  798. package/mobile/lib/components/ContentPage/ContentPage.js +17 -10
  799. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  800. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
  801. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  802. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
  803. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  804. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  805. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  806. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  807. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  808. package/mobile/lib/components/Footer/Contacts.d.ts +0 -1
  809. package/mobile/lib/components/Footer/Contacts.js +3 -4
  810. package/mobile/lib/components/Footer/Contacts.js.map +1 -1
  811. package/mobile/lib/components/Footer/Footer.d.ts +1 -4
  812. package/mobile/lib/components/Footer/Footer.js +5 -6
  813. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  814. package/mobile/lib/components/Footer/FooterProps.d.ts +6 -0
  815. package/mobile/lib/components/Footer/FooterProps.js +2 -0
  816. package/mobile/lib/components/Footer/FooterProps.js.map +1 -0
  817. package/mobile/lib/components/Footer/HorizontalNavigation.js +1 -1
  818. package/mobile/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  819. package/mobile/lib/components/Footer/MediaButton.d.ts +1 -1
  820. package/mobile/lib/components/Footer/SocialMedia.d.ts +4 -2
  821. package/mobile/lib/components/Footer/SocialMedia.js +4 -2
  822. package/mobile/lib/components/Footer/SocialMedia.js.map +1 -1
  823. package/mobile/lib/components/Footer/TextInformation.js +1 -1
  824. package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
  825. package/mobile/lib/components/Footer/buttonSizeStyles.d.ts +4 -0
  826. package/mobile/lib/components/Footer/buttonSizeStyles.js +5 -0
  827. package/mobile/lib/components/Footer/buttonSizeStyles.js.map +1 -0
  828. package/mobile/lib/components/Footer/buttonStylesWithText.js +1 -4
  829. package/mobile/lib/components/Footer/buttonStylesWithText.js.map +1 -1
  830. package/mobile/lib/components/GracePeriod/GracePeriod.js +2 -2
  831. package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  832. package/mobile/lib/components/Header/Header.d.ts +2 -5
  833. package/mobile/lib/components/Header/Header.js +2 -5
  834. package/mobile/lib/components/Header/Header.js.map +1 -1
  835. package/mobile/lib/components/Header/HeaderContent.d.ts +0 -2
  836. package/mobile/lib/components/Header/HeaderProps.d.ts +8 -0
  837. package/mobile/lib/components/Header/HeaderProps.js +2 -0
  838. package/mobile/lib/components/Header/HeaderProps.js.map +1 -0
  839. package/mobile/lib/components/Header/HeaderTop.js +1 -1
  840. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  841. package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js +3 -8
  842. package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  843. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  844. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  845. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +5 -5
  846. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  847. package/mobile/lib/components/LinkDocs/LinkDocs.js +2 -2
  848. package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  849. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  850. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  851. package/mobile/lib/components/MobileAppTile/renderDescription.js +1 -1
  852. package/mobile/lib/components/MobileAppTile/renderDescription.js.map +1 -1
  853. package/mobile/lib/components/OfficeMap/OfficeMap.js +1 -1
  854. package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  855. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  856. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  857. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  858. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  859. package/mobile/lib/components/RollupItem/RollupItem.js +5 -2
  860. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  861. package/mobile/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  862. package/mobile/lib/components/SafeDepositRental/RadioButtons.js +11 -0
  863. package/mobile/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
  864. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  865. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  866. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
  867. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  868. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  869. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  870. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  871. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  872. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  873. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  874. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  875. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  876. package/mobile/lib/components/StepsBlock/renderStep.js +1 -1
  877. package/mobile/lib/components/StepsBlock/renderStep.js.map +1 -1
  878. package/mobile/lib/components/Tabs/ScrollableTabs.js +0 -1
  879. package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  880. package/mobile/lib/components/VerticalLayout/VerticalLayout.js +4 -14
  881. package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  882. package/mobile/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  883. package/mobile/lib/hooks/useCarouselControls.d.ts +1 -1
  884. package/mobile/lib/hooks/useCarouselControls.js +5 -6
  885. package/mobile/lib/hooks/useCarouselControls.js.map +1 -1
  886. package/mobile/lib/services/regionsGrantSupport/RegionsGrantSupportData.d.ts +7 -0
  887. package/mobile/lib/services/regionsGrantSupport/RegionsGrantSupportData.js +2 -0
  888. package/mobile/lib/services/regionsGrantSupport/RegionsGrantSupportData.js.map +1 -0
  889. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  890. package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  891. package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  892. package/mobile/lib/ui-kit/BlockWrapper.js +1 -1
  893. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  894. package/mobile/lib/ui-kit/LinkButton/LinkButton.js +4 -3
  895. package/mobile/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
  896. package/mobile/lib/ui-kit/LinkList/LinkList.js +2 -2
  897. package/mobile/lib/ui-kit/LinkList/LinkList.js.map +1 -1
  898. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
  899. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  900. package/mobile/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
  901. package/mobile/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  902. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  903. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  904. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  905. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  906. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  907. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  908. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  909. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  910. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  911. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  912. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  913. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  914. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  915. package/mobile/src/BlockRenderer/renderBlock.tsx +3 -6
  916. package/mobile/src/BlockRenderer/renderBlockList.tsx +29 -12
  917. package/mobile/src/BlockRenderer/renderChildren.ts +7 -6
  918. package/mobile/src/common.css +1 -1
  919. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +31 -19
  920. package/mobile/src/components/ApplicationForm/ApplicationForm.ui.json +12 -0
  921. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +70 -11
  922. package/mobile/src/components/ApplicationForm/ApplicationFormGrantSupport.tsx +51 -0
  923. package/mobile/src/components/ApplicationForm/ApplicationFormsProps.ts +1 -0
  924. package/mobile/src/components/ApplicationForm/EmbeddableForms.tsx +15 -0
  925. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
  926. package/mobile/src/components/Blocks.ts +6 -0
  927. package/mobile/src/components/Bonus/Bonus.tsx +33 -28
  928. package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefits.tsx +2 -1
  929. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +11 -6
  930. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +1 -1
  931. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +3 -3
  932. package/mobile/src/components/Calculator/UnknownRate.tsx +1 -1
  933. package/mobile/src/components/Carousel/Carousel.tsx +51 -47
  934. package/mobile/src/components/Carousel/CarouselContent.ts +3 -9
  935. package/mobile/src/components/Carousel/CarouselScrollButtons.tsx +30 -26
  936. package/mobile/src/components/Carousel/renderControlButtons.tsx +2 -4
  937. package/mobile/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +1 -2
  938. package/mobile/src/components/CarouselCard/CarouselCard.tsx +15 -21
  939. package/mobile/src/components/CarouselCard/constants.ts +2 -2
  940. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +3 -5
  941. package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
  942. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +1 -9
  943. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +23 -17
  944. package/mobile/src/components/CarouselLinks/CarouselLinksContent.ts +2 -0
  945. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +6 -11
  946. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -22
  947. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -6
  948. package/mobile/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
  949. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
  950. package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
  951. package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
  952. package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
  953. package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
  954. package/mobile/src/components/ContentPage/ContentPage.tsx +68 -50
  955. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +24 -8
  956. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +5 -2
  957. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  958. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  959. package/mobile/src/components/Footer/Contacts.tsx +15 -19
  960. package/mobile/src/components/Footer/Footer.tsx +30 -20
  961. package/mobile/src/components/Footer/FooterProps.ts +7 -0
  962. package/mobile/src/components/Footer/HorizontalNavigation.tsx +10 -3
  963. package/mobile/src/components/Footer/MediaButton.tsx +1 -1
  964. package/mobile/src/components/Footer/SocialMedia.tsx +22 -9
  965. package/mobile/src/components/Footer/TextInformation.tsx +2 -2
  966. package/mobile/src/components/Footer/buttonSizeStyles.ts +6 -0
  967. package/mobile/src/components/Footer/buttonStylesWithText.ts +1 -5
  968. package/mobile/src/components/GracePeriod/GracePeriod.tsx +10 -4
  969. package/mobile/src/components/Header/Header.tsx +4 -15
  970. package/mobile/src/components/Header/HeaderContent.ts +0 -2
  971. package/mobile/src/components/Header/HeaderProps.ts +9 -0
  972. package/mobile/src/components/Header/HeaderTop.tsx +1 -1
  973. package/mobile/src/components/Header/sitemap.wcms-resource.json +144 -0
  974. package/mobile/src/components/HorizontalLayout/HorizontalLayout.tsx +3 -25
  975. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
  976. package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +5 -5
  977. package/mobile/src/components/LinkDocs/LinkDocs.tsx +3 -2
  978. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  979. package/mobile/src/components/MobileAppTile/renderDescription.tsx +1 -1
  980. package/mobile/src/components/OfficeMap/OfficeMap.tsx +6 -6
  981. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
  982. package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
  983. package/mobile/src/components/RollupItem/RollupItem.tsx +6 -3
  984. package/mobile/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +7 -2
  985. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
  986. package/mobile/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
  987. package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
  988. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
  989. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  990. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
  991. package/mobile/src/components/StepsBlock/renderStep.tsx +2 -2
  992. package/mobile/src/components/Tabs/ScrollableTabs.tsx +0 -1
  993. package/mobile/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
  994. package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
  995. package/mobile/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
  996. package/mobile/src/hooks/useCarouselControls.ts +8 -7
  997. package/mobile/src/services/regionsGrantSupport/RegionsGrantSupportData.ts +8 -0
  998. package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
  999. package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +5 -3
  1000. package/mobile/src/ui-kit/BlockWrapper.tsx +1 -1
  1001. package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +22 -9
  1002. package/mobile/src/ui-kit/LinkList/LinkList.tsx +3 -3
  1003. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -3
  1004. package/mobile/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
  1005. package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
  1006. package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
  1007. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
  1008. package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
  1009. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
  1010. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  1011. package/package.json +2 -1
  1012. package/src/BlockRenderer/renderBlock.tsx +3 -6
  1013. package/src/BlockRenderer/renderBlockList.tsx +29 -12
  1014. package/src/BlockRenderer/renderChildren.ts +7 -6
  1015. package/src/common.css +1 -1
  1016. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +41 -7
  1017. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +41 -7
  1018. package/src/components/ApplicationForm/ApplicationForm.tsx +31 -19
  1019. package/src/components/ApplicationForm/ApplicationForm.ui.json +12 -0
  1020. package/src/components/ApplicationForm/ApplicationFormContent.ts +70 -11
  1021. package/src/components/ApplicationForm/ApplicationFormGrantSupport.tsx +51 -0
  1022. package/src/components/ApplicationForm/ApplicationFormsProps.ts +1 -0
  1023. package/src/components/ApplicationForm/EmbeddableForms.tsx +15 -0
  1024. package/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
  1025. package/src/components/Blocks.mobile.ts +6 -0
  1026. package/src/components/Bonus/Bonus.fixture.mobile.tsx +72 -0
  1027. package/src/components/Bonus/Bonus.tsx +33 -28
  1028. package/src/components/BonusBenefitsBlock/renderBonusBenefits.mobile.tsx +2 -1
  1029. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +11 -6
  1030. package/src/components/Calculator/CreditCalculatorForm.tsx +1 -1
  1031. package/src/components/Calculator/DepositCalculatorForm.tsx +3 -3
  1032. package/src/components/Calculator/UnknownRate.tsx +1 -1
  1033. package/src/components/Carousel/Carousel.fixture.mobile.tsx +8 -53
  1034. package/src/components/Carousel/Carousel.fixture.tsx +4 -26
  1035. package/src/components/Carousel/Carousel.tsx +51 -47
  1036. package/src/components/Carousel/CarouselContent.ts +3 -9
  1037. package/src/components/Carousel/CarouselScrollButtons.tsx +30 -26
  1038. package/src/components/Carousel/renderControlButtons.tsx +2 -4
  1039. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.fixture.tsx +2 -7
  1040. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.tsx +1 -2
  1041. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +34 -67
  1042. package/src/components/CarouselCard/CarouselCard.fixture.mobile.tsx +1 -1
  1043. package/src/components/CarouselCard/CarouselCard.fixture.tsx +1 -1
  1044. package/src/components/CarouselCard/CarouselCard.tsx +15 -21
  1045. package/src/components/CarouselCard/constants.ts +2 -2
  1046. package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +3 -5
  1047. package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +5 -3
  1048. package/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
  1049. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +1 -9
  1050. package/src/components/CarouselLinks/CarouselLinks.fixture.mobile.tsx +34 -0
  1051. package/src/components/CarouselLinks/CarouselLinks.fixture.tsx +3 -0
  1052. package/src/components/CarouselLinks/CarouselLinks.tsx +23 -17
  1053. package/src/components/CarouselLinks/CarouselLinksContent.ts +2 -0
  1054. package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +5 -2
  1055. package/src/components/CarouselProductCard/CarouselProductCard.tsx +6 -11
  1056. package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -22
  1057. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +1 -6
  1058. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +25 -31
  1059. package/src/components/CarouselRichTextCard/CarouselRichTextCard.fixture.tsx +1 -1
  1060. package/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
  1061. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
  1062. package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +2 -2
  1063. package/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
  1064. package/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
  1065. package/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
  1066. package/src/components/ComparisonTable/HeaderCell.tsx +5 -10
  1067. package/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
  1068. package/src/components/ContentPage/ContentPage.tsx +68 -50
  1069. package/src/components/ExchangeRateTile/CurrencyTable.tsx +24 -8
  1070. package/src/components/ExchangeRateTile/CurrentLocation.tsx +5 -2
  1071. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  1072. package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.tsx +19 -0
  1073. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  1074. package/src/components/Footer/Contacts.tsx +15 -19
  1075. package/src/components/Footer/Footer.fixture.mobile.tsx +3 -1
  1076. package/src/components/Footer/Footer.fixture.tsx +4 -17
  1077. package/src/components/Footer/Footer.mobile.tsx +30 -20
  1078. package/src/components/Footer/Footer.tsx +12 -18
  1079. package/src/components/Footer/FooterProps.ts +7 -0
  1080. package/src/components/Footer/HorizontalNavigation.mobile.tsx +10 -3
  1081. package/src/components/Footer/HorizontalNavigation.tsx +1 -1
  1082. package/src/components/Footer/MediaButton.tsx +1 -1
  1083. package/src/components/Footer/SocialMedia.tsx +9 -6
  1084. package/src/components/Footer/TextInformation.tsx +2 -2
  1085. package/src/components/Footer/buttonSizeStyles.mobile.ts +6 -0
  1086. package/src/components/Footer/buttonSizeStyles.ts +6 -0
  1087. package/src/components/Footer/buttonStylesWithText.ts +1 -5
  1088. package/src/components/GracePeriod/GracePeriod.tsx +10 -4
  1089. package/src/components/Header/Header.fixture.mobile.tsx +5 -2
  1090. package/src/components/Header/Header.fixture.tsx +4 -3
  1091. package/src/components/Header/Header.mobile.tsx +4 -15
  1092. package/src/components/Header/Header.tsx +8 -29
  1093. package/src/components/Header/HeaderContent.ts +0 -2
  1094. package/src/components/Header/HeaderProps.ts +9 -0
  1095. package/src/components/Header/HeaderTop.tsx +1 -1
  1096. package/src/components/Header/sitemap.wcms-resource.json +144 -0
  1097. package/src/components/HorizontalLayout/HorizontalLayout.fixture.mobile.tsx +72 -0
  1098. package/src/components/HorizontalLayout/HorizontalLayout.mobile.tsx +12 -0
  1099. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
  1100. package/src/components/InvestmentInfo/InvestmentInfo.tsx +5 -5
  1101. package/src/components/LinkDocs/LinkDocs.tsx +3 -2
  1102. package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  1103. package/src/components/MobileAppTile/renderDescription.tsx +1 -1
  1104. package/src/components/OfficeMap/OfficeMap.tsx +6 -6
  1105. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
  1106. package/src/components/ProductTile/ProductTile.fixture.mobile.tsx +214 -0
  1107. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +1 -1
  1108. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +1 -1
  1109. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
  1110. package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +15 -19
  1111. package/src/components/RollupItem/RollupItem.tsx +6 -3
  1112. package/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +7 -2
  1113. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
  1114. package/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
  1115. package/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
  1116. package/src/components/SafeDepositRental/SafeDepositRental.fixture.mobile.tsx +15 -0
  1117. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
  1118. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1119. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
  1120. package/src/components/StepsBlock/renderStep.tsx +2 -2
  1121. package/src/components/Tabs/ScrollableTabs.tsx +0 -1
  1122. package/src/components/TariffsTable/TariffsTable.tsx +3 -3
  1123. package/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
  1124. package/src/components/VerticalLayout/VerticalLayout.fixture.mobile.tsx +0 -3
  1125. package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +2 -9
  1126. package/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
  1127. package/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
  1128. package/src/hooks/useCarouselControls.ts +8 -7
  1129. package/src/services/regionsGrantSupport/RegionsGrantSupportData.ts +8 -0
  1130. package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
  1131. package/src/ui-kit/BaseTile/BaseTile.tsx +5 -3
  1132. package/src/ui-kit/BlockWrapper.tsx +1 -1
  1133. package/src/ui-kit/LinkButton/LinkButton.fixture.mobile.tsx +11 -0
  1134. package/src/ui-kit/LinkButton/LinkButton.fixture.tsx +1 -1
  1135. package/src/ui-kit/LinkButton/LinkButton.tsx +22 -9
  1136. package/src/ui-kit/LinkList/LinkList.tsx +3 -3
  1137. package/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -3
  1138. package/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
  1139. package/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
  1140. package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
  1141. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
  1142. package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
  1143. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
  1144. package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  1145. package/tailwind.config.cjs +6 -12
  1146. package/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1147. package/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
  1148. package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1149. package/bundle/components/Footer/SocialMedia.mobile.d.ts +0 -6
  1150. package/bundle/components/Footer/buttonStylesWithText.mobile.d.ts +0 -2
  1151. package/bundle/components/Header/HeaderBurger.d.ts +0 -9
  1152. package/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1153. package/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1154. package/dist/components/Calculator/renderProposalMortgage.js +0 -10
  1155. package/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
  1156. package/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
  1157. package/dist/components/CarouselCard/getCardWidth.js +0 -18
  1158. package/dist/components/CarouselCard/getCardWidth.js.map +0 -1
  1159. package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1160. package/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
  1161. package/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1162. package/dist/components/Footer/SocialMedia.mobile.d.ts +0 -6
  1163. package/dist/components/Footer/SocialMedia.mobile.js +0 -7
  1164. package/dist/components/Footer/SocialMedia.mobile.js.map +0 -1
  1165. package/dist/components/Footer/buttonStylesWithText.mobile.d.ts +0 -2
  1166. package/dist/components/Footer/buttonStylesWithText.mobile.js +0 -12
  1167. package/dist/components/Footer/buttonStylesWithText.mobile.js.map +0 -1
  1168. package/dist/components/Header/HeaderBurger.d.ts +0 -9
  1169. package/dist/components/Header/HeaderBurger.js +0 -17
  1170. package/dist/components/Header/HeaderBurger.js.map +0 -1
  1171. package/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1172. package/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
  1173. package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1174. package/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1175. package/lib/components/Calculator/renderProposalMortgage.js +0 -7
  1176. package/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
  1177. package/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
  1178. package/lib/components/CarouselCard/getCardWidth.js +0 -15
  1179. package/lib/components/CarouselCard/getCardWidth.js.map +0 -1
  1180. package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1181. package/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
  1182. package/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1183. package/lib/components/Footer/SocialMedia.mobile.d.ts +0 -6
  1184. package/lib/components/Footer/SocialMedia.mobile.js +0 -5
  1185. package/lib/components/Footer/SocialMedia.mobile.js.map +0 -1
  1186. package/lib/components/Footer/buttonStylesWithText.mobile.d.ts +0 -2
  1187. package/lib/components/Footer/buttonStylesWithText.mobile.js +0 -9
  1188. package/lib/components/Footer/buttonStylesWithText.mobile.js.map +0 -1
  1189. package/lib/components/Header/HeaderBurger.d.ts +0 -9
  1190. package/lib/components/Header/HeaderBurger.js +0 -15
  1191. package/lib/components/Header/HeaderBurger.js.map +0 -1
  1192. package/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1193. package/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
  1194. package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1195. package/mobile/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1196. package/mobile/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
  1197. package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1198. package/mobile/bundle/components/Header/HeaderBurger.d.ts +0 -9
  1199. package/mobile/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1200. package/mobile/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1201. package/mobile/dist/components/Calculator/renderProposalMortgage.js +0 -10
  1202. package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
  1203. package/mobile/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
  1204. package/mobile/dist/components/CarouselCard/getCardWidth.js +0 -18
  1205. package/mobile/dist/components/CarouselCard/getCardWidth.js.map +0 -1
  1206. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1207. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
  1208. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1209. package/mobile/dist/components/Header/HeaderBurger.d.ts +0 -9
  1210. package/mobile/dist/components/Header/HeaderBurger.js +0 -17
  1211. package/mobile/dist/components/Header/HeaderBurger.js.map +0 -1
  1212. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1213. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
  1214. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1215. package/mobile/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
  1216. package/mobile/lib/components/Calculator/renderProposalMortgage.js +0 -7
  1217. package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
  1218. package/mobile/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
  1219. package/mobile/lib/components/CarouselCard/getCardWidth.js +0 -15
  1220. package/mobile/lib/components/CarouselCard/getCardWidth.js.map +0 -1
  1221. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  1222. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
  1223. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  1224. package/mobile/lib/components/Header/HeaderBurger.d.ts +0 -9
  1225. package/mobile/lib/components/Header/HeaderBurger.js +0 -15
  1226. package/mobile/lib/components/Header/HeaderBurger.js.map +0 -1
  1227. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  1228. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
  1229. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  1230. package/mobile/src/components/Calculator/renderProposalMortgage.tsx +0 -22
  1231. package/mobile/src/components/CarouselCard/getCardWidth.tsx +0 -16
  1232. package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
  1233. package/mobile/src/components/Header/HeaderBurger.tsx +0 -54
  1234. package/src/components/Calculator/renderProposalMortgage.tsx +0 -22
  1235. package/src/components/CarouselCard/getCardWidth.tsx +0 -16
  1236. package/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
  1237. package/src/components/Footer/SocialMedia.mobile.tsx +0 -16
  1238. package/src/components/Footer/buttonStylesWithText.mobile.ts +0 -15
  1239. package/src/components/Header/HeaderBurger.tsx +0 -54
@@ -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;
@@ -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
 
@@ -1046,6 +1046,26 @@
1046
1046
  return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0443 \u0438 \u043C\u044B \u043E\u0442\u0432\u0435\u0442\u0438\u043C \u043D\u0430 \u043B\u044E\u0431\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430\u043C", className: "sm:text-center mb-4" }), jsxs("div", { className: "max-w-[560px] m-auto", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0418\u043C\u044F", ...withValidator(field('name'), nameValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "flex justify-between flex-col-reverse sm:items-center sm:flex-row max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1 mt-4 sm:mt-0", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
1047
1047
  });
1048
1048
 
1049
+ const EMPTY_VALUE$1 = {};
1050
+ function useSWRResource(filename, fallback = {}) {
1051
+ const { data } = useAsyncData(`/wcms-resources/${filename}.json`, fetchJSONUnsafe, {
1052
+ fallback,
1053
+ });
1054
+ return data || EMPTY_VALUE$1;
1055
+ }
1056
+
1057
+ const ApplicationFormGrantSupport = JSX((props) => {
1058
+ const { button, sourceBookDir } = props;
1059
+ const { regions } = useSWRResource(sourceBookDir || 'regions-grant-support');
1060
+ const [region, setRegion] = useState({ key: '' });
1061
+ const buttonStyle = getRegularButtonClasses({
1062
+ className: 'text-white',
1063
+ version: button?.version,
1064
+ });
1065
+ const regionHref = regions?.find((_) => _.name === region.key)?.href;
1066
+ return (jsxs("div", { className: "container space-y-s sm:space-y-lg", children: [regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ name = '' }) => ({ key: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(Button, { href: regionHref, target: "_blank", className: style('p-4 w-full sm:w-auto', buttonStyle), children: button?.text ? button.text : 'Перейти' }) })) : null] }));
1067
+ });
1068
+
1049
1069
  const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
1050
1070
  const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', pathPrefix }) => {
1051
1071
  const router = useRouter();
@@ -1140,30 +1160,45 @@
1140
1160
  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
1161
  });
1142
1162
 
1163
+ const EmbeddableForms = {
1164
+ ApplicationFormBusinessCard,
1165
+ ApplicationFormWed,
1166
+ ApplicationFormDeposit,
1167
+ ApplicationFormCredit,
1168
+ ApplicationFormAcquiring,
1169
+ ApplicationFormGrantSupport,
1170
+ };
1171
+
1143
1172
  const ResponseNotification = JSX(({ responseType }) => {
1144
1173
  const responseOK = responseType === 'OK';
1145
1174
  const backgroundColor = responseOK ? 'bg-ok' : 'bg-fail';
1146
1175
  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
1176
  });
1148
1177
 
1149
- const COMPONENTS_MAP = {
1150
- credit: (props) => jsx(ApplicationFormCredit, { ...props }),
1151
- acquiring: (props) => jsx(ApplicationFormAcquiring, { ...props }),
1152
- 'business-card': (props) => jsx(ApplicationFormBusinessCard, { ...props }),
1153
- deposit: (props) => jsx(ApplicationFormDeposit, { ...props }),
1154
- wed: (props) => jsx(ApplicationFormWed, { ...props }),
1155
- };
1156
1178
  const API = CorporateLeadAPI();
1157
1179
  const ApplicationForm = JSX((props) => {
1158
- const { className, title, typeForm = 'credit', button, link, ...rest } = props;
1180
+ const { className, formBlock, ...rest } = props;
1181
+ // const type = formBlock?.formType;
1182
+ // if (!type || !(type in EmbeddableForms)) {
1183
+ // return null;
1184
+ // }
1185
+ // const EmbeddedForm = EmbeddableForms[type];
1159
1186
  const [responseType, setResponseType] = useState('');
1160
1187
  const handleSubmit = useCallback(async (data) => {
1161
1188
  const status = (await API.send(data)) ? 'OK' : 'Fail';
1162
1189
  setResponseType(status);
1163
1190
  return status;
1164
1191
  }, []);
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] }) }));
1192
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [formBlock?.title ? (jsx(Heading, { headingType: "h3", title: formBlock.title, className: "mb-4 sm:mb-8 sm:text-center" })) : null, formBlock ? renderEmbeddedForm(formBlock, handleSubmit) : null, responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
1166
1193
  });
1194
+ const renderEmbeddedForm = (formBlock, handleSubmit) => {
1195
+ const type = formBlock?.formType;
1196
+ if (!type || !(type in EmbeddableForms)) {
1197
+ return null;
1198
+ }
1199
+ const EmbeddedForm = EmbeddableForms[type];
1200
+ return jsx(EmbeddedForm, { ...formBlock, onSubmit: handleSubmit });
1201
+ };
1167
1202
 
1168
1203
  const iconBgStyles = {
1169
1204
  '': 'bg-main-divider group-data-secondary:bg-white/30',
@@ -1182,7 +1217,7 @@
1182
1217
  const defaultIconSize = 44;
1183
1218
 
1184
1219
  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)));
1220
+ const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-m items-center md:basis-1/2 md:max-w-[500px]", 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
1221
  const renderDescription$3 = (description) => {
1187
1222
  const benefitType = description?.benefitType || null;
1188
1223
  return description && benefitType ? (jsx("div", { className: "mt-xs text-l font-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
@@ -1261,19 +1296,16 @@
1261
1296
  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
1297
  });
1263
1298
 
1264
- const Bonus = JSX((props) => {
1265
- const { className = '', title, description, bonusItems, ...rest } = props;
1266
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...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-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
- ? renderBonusItemContent(_.bonusItemContent)
1269
- : null] })] }, String(i))))
1270
- : null })] }) }));
1271
- });
1272
- const renderBonusItemContent = (bonusItemContent) => (jsx("div", { children: bonusItemContent.bonusType === 'count'
1273
- ? renderBonusCount(bonusItemContent)
1274
- : renderBonusImage(bonusItemContent) }));
1275
- const renderBonusCount = (_) => (jsxs("div", { className: "relative -bottom-3 h-auto flex items-end mt-14 shrink-0", children: [_.bonusCount ? (jsx("span", { className: "font-mohave -tracking-[5px] text-title-extra bg-clip-text text-transparent bg-green-to-yellow -mb-7", children: _.bonusCount })) : null, _.bonusName ? (jsx("span", { className: "text-h2 bg-clip-text text-transparent bg-green-to-yellow", children: _.bonusName })) : null] }));
1276
- const renderBonusImage = (_) => _.image ? jsx(Img, { className: `w-12 h-12 min-w-12 p-3 rounded-icon`, image: _.image }) : null;
1299
+ const Bonus = JSX(({ className = '', title, description, bonusItems = [], ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { className: "mb-xl", isPadding: false, title: title, description: description, headlineVersion: "M" }), jsx("div", { className: "flex flex-wrap w-full", children: bonusItems.length > 0
1300
+ ? bonusItems.map((_, i) => (jsxs("div", { className: "flex-grow w-full sm:w-[49%] border border-gray p-m mb-text mx-xs even:mr-0 odd:ml-0 last:odd:mx-0", children: [_?.title ? (jsx("div", { className: "mb-xs last:mb-0", children: jsx(Text, { size: "text-h4", children: _.title }) })) : null, _?.description ? (jsx("div", { className: "mb-text last:mb-0", children: jsx(Paragraph, { size: "text-xl", font: "font-light", children: _.description }) })) : null, jsxs("div", { className: "flex justify-between items-end", children: [jsx("div", { className: "hidden sm:block", children: renderButtonsSection(_?.buttons) }), _.bonusItemContent?.bonusType
1301
+ ? renderBonusItemContent(_.bonusItemContent)
1302
+ : null] })] }, String(i))))
1303
+ : null })] }) })));
1304
+ const renderBonusItemContent = (bonusItemContent) => bonusItemContent.bonusType === 'count'
1305
+ ? renderBonusCount(bonusItemContent)
1306
+ : renderBonusImage(bonusItemContent);
1307
+ const renderBonusCount = (_) => (jsxs("div", { className: "w-full pt-default mt-s flex items-end", children: [_.bonusCount ? (jsx("span", { className: "shrink-0 w-1/2 sm:w-auto font-mohave text-title-extra -tracking-[5px] bg-clip-text text-transparent bg-green-to-yellow mt-lg", children: _.bonusCount })) : null, _.bonusName ? (jsx("div", { className: "w-1/2 sm:w-auto bg-clip-text text-transparent bg-green-to-yellow", children: jsx(Text, { size: "text-h2", children: _.bonusName }) })) : null] }));
1308
+ const renderBonusImage = (_) => _.image ? jsx(Img, { className: "min-w-12 p-xs rounded-icon shrink-0", image: _.image }) : null;
1277
1309
 
1278
1310
  /**
1279
1311
  * @deprecated
@@ -1321,12 +1353,14 @@
1321
1353
 
1322
1354
  const ButtonsBlock = JSX(({ buttons, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), defaultPadding: "p-0", ...rest, children: renderButtonsSection(buttons) })));
1323
1355
 
1324
- const useCarouselControls = (props) => {
1356
+ const useCarouselControls = (props, initialIndex = 0) => {
1325
1357
  const { itemCount, visibleItemCount } = props;
1326
- const [activeIndex, setActiveIndex] = useState(0);
1358
+ const [activeIndex, setActiveIndex] = useState(initialIndex);
1327
1359
  const inc = useCallback(() => setActiveIndex((_) => Math.min(_ + 1, itemCount - 1)), [itemCount]);
1328
1360
  const dec = useCallback(() => setActiveIndex((_) => Math.max(_ - 1, 0)), [itemCount]);
1329
- const canInc = isScrollable(props) && activeIndex < itemCount - (visibleItemCount || 1);
1361
+ const canInc = visibleItemCount
1362
+ ? itemCount > visibleItemCount && activeIndex < itemCount - visibleItemCount
1363
+ : activeIndex < itemCount - 1;
1330
1364
  const canDec = activeIndex > 0;
1331
1365
  const isScrollAvailable = canDec || canInc;
1332
1366
  return [
@@ -1340,9 +1374,6 @@
1340
1374
  },
1341
1375
  ];
1342
1376
  };
1343
- function isScrollable({ itemCount, visibleItemCount }) {
1344
- return Boolean(visibleItemCount && itemCount > visibleItemCount);
1345
- }
1346
1377
 
1347
1378
  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
1379
  ? 'bg-secondary-light text-secondary-text'
@@ -1535,7 +1566,7 @@
1535
1566
  ],
1536
1567
  });
1537
1568
 
1538
- 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-[250px] 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"] }) })] })));
1569
+ 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"] }) })] })));
1539
1570
 
1540
1571
  const defaultDiscriminator = (_) => _;
1541
1572
  const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
@@ -1639,22 +1670,22 @@
1639
1670
  const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
1640
1671
  const { income, finalSum, rate, depositeName, isShowUnknownRate } = calculatorParams;
1641
1672
  return (jsxs("section", { className: className, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1642
- title: 'Сумма вклада, ₽',
1673
+ title: 'Сумма, ₽',
1643
1674
  min: calculatorParams.minSum,
1644
1675
  max: calculatorParams.maxSum,
1645
1676
  ...field('moneyValue'),
1646
1677
  value: calculatorParams.moneyValue,
1647
1678
  }), renderDaysInput({
1648
- title: 'Срок вклада, дни',
1679
+ title: 'Срок, дней',
1649
1680
  min: calculatorParams.minDays,
1650
1681
  max: calculatorParams.maxDays,
1651
1682
  ...field('daysValue'),
1652
1683
  value: calculatorParams.daysValue,
1653
- }), jsxs("div", { className: "mt-7 flex justify-between", children: [renderBusinessDepositParamsForm(calculatorParams, field), renderInterestPayment({
1684
+ }), jsxs("div", { className: "mt-2xl flex justify-between", children: [renderBusinessDepositParamsForm(calculatorParams, field), renderInterestPayment({
1654
1685
  title: 'Выплата процентов',
1655
1686
  orientation: 'vertical',
1656
1687
  ...field('isMonthlyInterestPayment'),
1657
- })] })] }), 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) })] }));
1688
+ })] })] }), 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 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", 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 }), jsx("div", { className: "mt-2xl", children: renderFootnote(footnote) })] })] }), jsx("div", { className: "mt-5", children: renderFootnote(bottomFootnote) })] }));
1658
1689
  });
1659
1690
  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 })] }));
1660
1691
 
@@ -1770,7 +1801,7 @@
1770
1801
 
1771
1802
  const CreditCalculatorForm = JSX(({ className, sourceBookDir, buttons, footnote, paramsViewSettings }) => {
1772
1803
  const [userInputParams, { field }] = useForm({
1773
- isAnnuity: false,
1804
+ isAnnuity: true,
1774
1805
  isInsurance: true,
1775
1806
  isSalaryClient: false,
1776
1807
  isPensionClient: false,
@@ -1872,19 +1903,19 @@
1872
1903
  setMonthsValue && setMonthsValue(defaultMonth);
1873
1904
  }, [defaultMonth]);
1874
1905
  return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
1875
- title: 'Сумма вклада, ₽',
1906
+ title: 'Сумма, ₽',
1876
1907
  min: calculatorParams.minSum,
1877
1908
  max: calculatorParams.maxSum,
1878
1909
  ...field('moneyValue'),
1879
1910
  value: calculatorParams.moneyValue,
1880
1911
  }), renderMonthsInput({
1881
- title: 'Срок вклада, месяцев',
1912
+ title: 'Срок, месяцев',
1882
1913
  min: calculatorParams.minMonths,
1883
1914
  max: calculatorParams.maxMonths,
1884
1915
  availableMonths: calculatorParams.availableMonths,
1885
1916
  ...field('monthsValue'),
1886
1917
  value: calculatorParams.monthsValue,
1887
- }), 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)] })] }));
1918
+ }), 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 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", 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)] })] }));
1888
1919
  });
1889
1920
  const renderDepositParamsForm = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-2xl", children: [params.isShowMonthlyInterestPayment
1890
1921
  ? renderInterestPayment({
@@ -2134,8 +2165,7 @@
2134
2165
  }
2135
2166
  const BlockComponent = type && blocksRegistry[type];
2136
2167
  return blockDecorator({
2137
- blockClassName: style('scroll-mt-12', // TODO scroll-mt-12 ? here?
2138
- className, block.style || defaultStyle),
2168
+ blockClassName: style(block.style?.length ? block.style : defaultStyle, className),
2139
2169
  block,
2140
2170
  ancestors,
2141
2171
  // Adjusted by decorator block and blockClassName
@@ -2149,20 +2179,25 @@
2149
2179
  const DEFAULT_SLOT_NAME = null;
2150
2180
 
2151
2181
  const EMPTY_ANCESTORS = [];
2152
- const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, renderProps = renderBlock$1, ...options }) => (blocks || []).map((_, j) => renderProps(_, {
2153
- ...options,
2154
- key: `${key ? key : _.type}-${j}`,
2155
- ancestors: options.parent
2156
- ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
2157
- : ancestors,
2158
- }));
2182
+ const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, extraProps, renderProps = renderBlock$1, ...options }) => {
2183
+ const renderChildBlock = extraProps
2184
+ ? (childBlock, childOptions) => renderBlock$1(childBlock, childOptions, extraProps)
2185
+ : renderProps;
2186
+ return (blocks || []).map((_, i) => renderChildBlock(_, {
2187
+ ...options,
2188
+ key: `${key ? key : _.type}-${i}`,
2189
+ ancestors: options.parent
2190
+ ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
2191
+ : ancestors,
2192
+ }, i));
2193
+ };
2159
2194
 
2160
- function renderChildren({ children, block, options, renderProps, }) {
2195
+ function renderChildren({ block, options, children, extraProps, renderProps, }) {
2161
2196
  if (children) {
2162
2197
  return children;
2163
2198
  }
2164
2199
  return block && options
2165
- ? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
2200
+ ? renderBlocksList(block.blocks, { ...options, parent: block, extraProps, renderProps })
2166
2201
  : null;
2167
2202
  }
2168
2203
 
@@ -2193,7 +2228,7 @@
2193
2228
  return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
2194
2229
  });
2195
2230
 
2196
- const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
2231
+ const childStyleMap = ['min-w-full', 'min-w-1/2', 'min-w-1/3', 'min-w-1/4'];
2197
2232
  const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', minHeight, children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
2198
2233
  const observerOptions = {
2199
2234
  sensitivity: 1,
@@ -2229,6 +2264,28 @@
2229
2264
  .filter(([_]) => _ && _.intersectionRatio >= 0.9)
2230
2265
  .map(([, i]) => i);
2231
2266
 
2267
+ const containerStyles = {
2268
+ 'horizontal-list': 'mx-auto mt-5 w-fit',
2269
+ 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2270
+ };
2271
+ const activeDotStyles = {
2272
+ 'horizontal-list': 'w-6',
2273
+ 'vertical-list': 'h-6',
2274
+ };
2275
+ const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2276
+ const inactiveDotStyle = 'w-2 h-2 opacity-30';
2277
+ const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2278
+ const handleClick = (idx) => {
2279
+ if (idx !== activeIndex && containerRef?.current) {
2280
+ containerRef.current.children[idx]?.scrollIntoView({
2281
+ behavior: 'smooth',
2282
+ block: 'nearest',
2283
+ });
2284
+ }
2285
+ };
2286
+ 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;
2287
+ });
2288
+
2232
2289
  const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
2233
2290
 
2234
2291
  const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
@@ -2244,7 +2301,7 @@
2244
2301
  container.scrollTo({ left: 0, behavior: 'smooth' });
2245
2302
  };
2246
2303
 
2247
- const useSwipeListScroll = ({ itemCount, isCyclic, onVisibleIndicesChange, }) => {
2304
+ const useSwipeListScroll = ({ itemCount, onVisibleIndicesChange, }) => {
2248
2305
  const containerRef = useRef(null);
2249
2306
  const [visibleIndices, setVisibleIndices] = useState([]);
2250
2307
  const handleVisibleIndicesChange = useCallback((indices) => {
@@ -2260,42 +2317,40 @@
2260
2317
  if (!containerRef.current) {
2261
2318
  return;
2262
2319
  }
2263
- if (isCyclic && !canScrollLeft) {
2264
- scrollToEnd(containerRef.current);
2320
+ if (canScrollLeft) {
2321
+ scrollBy(containerRef.current)(itemCount, -1);
2265
2322
  }
2266
2323
  else {
2267
- scrollBy(containerRef.current)(itemCount, -1);
2324
+ scrollToEnd(containerRef.current);
2268
2325
  }
2269
- }, [isCyclic, itemCount, canScrollLeft]);
2326
+ }, [itemCount, canScrollLeft]);
2270
2327
  const scrollRight = useCallback(() => {
2271
2328
  if (!containerRef.current) {
2272
2329
  return;
2273
2330
  }
2274
- if (isCyclic && !canScrollRight) {
2275
- scrollToStart(containerRef.current);
2331
+ if (canScrollRight) {
2332
+ scrollBy(containerRef.current)(itemCount, 1);
2276
2333
  }
2277
2334
  else {
2278
- scrollBy(containerRef.current)(itemCount, 1);
2335
+ scrollToStart(containerRef.current);
2279
2336
  }
2280
- }, [itemCount, isCyclic, canScrollRight]);
2337
+ }, [itemCount, canScrollRight]);
2281
2338
  return [
2282
2339
  containerRef,
2283
2340
  {
2284
2341
  scrollLeft,
2285
2342
  scrollRight,
2286
- canScrollLeft: isCyclic || canScrollLeft,
2287
- canScrollRight: isCyclic || canScrollRight,
2343
+ canScrollLeft,
2344
+ canScrollRight,
2288
2345
  visibleIndicesRange: [minIndex, maxIndex],
2289
2346
  handleVisibleIndicesChange,
2290
2347
  },
2291
2348
  ];
2292
2349
  };
2293
2350
 
2294
- const ITEMS_GAP = 16;
2295
-
2296
2351
  const scrollButtonStyle$1 = 'absolute top-[calc(50%-24px)] z-40';
2297
- const blurBaseStyle = 'absolute top-0 bottom-0 z-40 w-[84px] pointer-events-none';
2298
- const CarouselScrollButtons = JSX(({ scroll, arrowsPadded, isBlur, onScrollLeft, onScrollRight, hasEdgeBlocks, activeIndex, itemCount, }) => {
2352
+ const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
2353
+ const CarouselScrollButtons = JSX(({ scroll, activeIndex, itemCount, arrowsPadded, hasEdgeBlocks, onScrollLeft, onScrollRight, }) => {
2299
2354
  const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
2300
2355
  const canMoveLeft = hasEdgeBlocks ? activeIndex > 0 : canScrollLeft;
2301
2356
  const canMoveRight = hasEdgeBlocks ? activeIndex < itemCount - 1 : canScrollRight;
@@ -2317,74 +2372,33 @@
2317
2372
  onScrollRight();
2318
2373
  }
2319
2374
  }, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
2320
- 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] }));
2321
- });
2322
- 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;
2323
-
2324
- const containerStyles = {
2325
- 'horizontal-list': 'mx-auto mt-5 w-fit',
2326
- 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2327
- };
2328
- const activeDotStyles = {
2329
- 'horizontal-list': 'w-6',
2330
- 'vertical-list': 'h-6',
2331
- };
2332
- const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2333
- const inactiveDotStyle = 'w-2 h-2 opacity-30';
2334
- const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2335
- const handleClick = (idx) => {
2336
- if (idx !== activeIndex && containerRef?.current) {
2337
- containerRef.current.children[idx]?.scrollIntoView({
2338
- behavior: 'smooth',
2339
- block: 'nearest',
2340
- });
2341
- }
2342
- };
2343
- 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;
2375
+ return (jsxs("div", { className: "hidden @lg:block", 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] }));
2344
2376
  });
2377
+ const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white group-data-secondary:bg-none') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white group-data-secondary:bg-none') })) : null] }));
2345
2378
 
2346
- const renderControlButtons = ({ showArrows, showDots, scrollButtonsProps, dotsProps, }) => {
2347
- return [
2348
- showArrows ? jsx(CarouselScrollButtons, { ...scrollButtonsProps }, "0") : null,
2349
- showDots ? jsx(SwipeListControlDots, { ...dotsProps, listType: "horizontal-list" }, "1") : null,
2350
- ];
2351
- };
2379
+ const ITEMS_GAP = 16;
2352
2380
 
2353
- const Carousel = JSX(({ className = '', itemCount, visibleItemCount = 0, isBlur = true, isCyclic = false, arrowsPadded = true, isPadding = true, showDots = false, isAlignCenter = false, showArrows = true, isGap = true, ...rest }) => {
2381
+ const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, ...rest }) => {
2354
2382
  const { blocks: childBlocks = [] } = rest.block || {};
2355
2383
  const count = itemCount || childBlocks?.length;
2356
- const [activeIndex, setActiveIndex] = useState(Math.floor(visibleItemCount / 2));
2357
- const increaseActiveIndex = useCallback(() => setActiveIndex((_) => _ + 1), []);
2358
- const decreaseActiveIndex = useCallback(() => setActiveIndex((_) => _ - 1), []);
2359
- const [containerRef, scroll] = useSwipeListScroll({
2384
+ const [activeIndex, { inc: increaseActiveIndex, dec: decreaseActiveIndex }] = useCarouselControls({
2360
2385
  itemCount: count,
2361
- isCyclic,
2362
- });
2386
+ visibleItemCount,
2387
+ }, Math.floor(visibleItemCount / 2));
2388
+ const [containerRef, scroll] = useSwipeListScroll({ itemCount: count });
2363
2389
  const [dotsActiveIndex] = scroll.visibleIndicesRange;
2390
+ // TODO Remove
2364
2391
  const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
2365
- 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({
2392
+ 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({
2366
2393
  ...rest,
2367
- renderProps: isBankHistoryCarousel
2368
- ? (block, options) => renderBlock$1(block, options, {
2369
- blocksLength: childBlocks?.length,
2370
- activeIndex: activeIndex,
2371
- })
2372
- : renderBlock$1,
2373
- }) }), renderControlButtons({
2374
- showArrows,
2375
- showDots,
2376
- scrollButtonsProps: {
2377
- scroll,
2378
- arrowsPadded,
2379
- isBlur,
2380
- onScrollLeft: decreaseActiveIndex,
2381
- onScrollRight: increaseActiveIndex,
2382
- hasEdgeBlocks: isBankHistoryCarousel,
2383
- activeIndex,
2384
- itemCount: count,
2385
- },
2386
- dotsProps: { containerRef, activeIndex: dotsActiveIndex, dotCount: count },
2387
- })] }) }));
2394
+ renderProps: (block, options, blockIndex) => renderBlock$1(block, options, {
2395
+ className: style('h-full min-w-80 sm:min-w-96', noCardBorder
2396
+ ? ''
2397
+ : 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'),
2398
+ blockIndex,
2399
+ isActive: activeIndex === blockIndex,
2400
+ }),
2401
+ }) }), 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] }) }));
2388
2402
  });
2389
2403
  Carousel.childrenTypes = [
2390
2404
  'CarouselCard',
@@ -2399,75 +2413,21 @@
2399
2413
  'CarouselInvestmentCard',
2400
2414
  'CarouselEventCard',
2401
2415
  ];
2402
- const getPaddingStyle$1 = (isPadding) => (isPadding ? 'p-6xl' : '');
2403
- const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
2404
-
2405
- const CarouselBankHistoryCard = JSX(({ title, description, blocksLength = 0, activeIndex, options }) => {
2406
- const orderNumber = Number(options?.key?.split('-').slice(-1)[0]) || 0;
2407
- const isActive = orderNumber === activeIndex;
2408
- 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-3xl 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 }) }) })) }));
2409
- });
2410
- const getBackgroundColor = (orderNumber) => {
2411
- const division = orderNumber % 3;
2412
- switch (division) {
2413
- case 0:
2414
- return 'bg-primary-main';
2415
- case 1:
2416
- return 'bg-green-light';
2417
- case 2:
2418
- return 'bg-yellow-light';
2419
- default:
2420
- return 'bg-primary-main';
2421
- }
2422
- };
2423
- const getTextColor = (orderNumber) => {
2424
- const division = orderNumber % 3;
2425
- switch (division) {
2426
- case 1:
2427
- return 'gradient-color-text-on-yellow';
2428
- case 2:
2429
- return 'gradient-color-text-on-yellow';
2430
- default:
2431
- return 'gradient-color-text-on-green';
2432
- }
2433
- };
2434
- const getActiveBlockPosition = (orderNumber, blocksLength) => {
2435
- if (orderNumber === 0) {
2436
- return 'left-9';
2437
- }
2438
- else if (orderNumber === blocksLength - 1) {
2439
- return 'right-9';
2440
- }
2441
- else {
2442
- return '-left-[25px]';
2443
- }
2444
- };
2445
2416
 
2446
- const getColSpan = (className) => {
2447
- const colSpanPrefix = 'col-span-';
2448
- const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
2449
- return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
2450
- };
2451
-
2452
- const CARD_WIDTH_MAP = {
2453
- normal: 'min-w-[970px]',
2454
- small: 'min-w-[355px]',
2455
- };
2456
- function getCardWidth(className = '', carouselVersion = 'normal') {
2457
- const colSpan = getColSpan(className);
2458
- if (colSpan <= 4) {
2459
- return 'w-[375px]';
2460
- }
2461
- else {
2462
- return CARD_WIDTH_MAP[carouselVersion];
2463
- }
2464
- }
2417
+ 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 }) })) }) })));
2418
+ const getBackColor = (blockIndex) => ['bg-primary-main', 'bg-green-light', 'bg-yellow-light'][blockIndex % 3];
2419
+ const getTextColor = (blockIndex) => [
2420
+ 'gradient-color-text-on-green',
2421
+ 'gradient-color-text-on-yellow',
2422
+ 'gradient-color-text-on-yellow',
2423
+ ][blockIndex % 3];
2465
2424
 
2466
2425
  const titleSize = 'L';
2467
2426
 
2468
- const BLOCK_CLASSES = 'absolute border border-solid border-gray w-full h-full hidden sm:block';
2469
- const CarouselCard = JSX(({ className = '', button, description, title, carouselVersion = 'normal', version = '' }) => (jsx("section", { className: style('flex pl-6xl sm:p-lg 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], {
2470
- className: 'mt-14 sm:justify-center',
2427
+ const layerBaseStyle = 'z-10 border border-solid w-full h-full';
2428
+ const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
2429
+ 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], {
2430
+ className: 'mt-6xl sm:justify-center',
2471
2431
  isVertical: true,
2472
2432
  })] })] }) })));
2473
2433
 
@@ -2475,7 +2435,7 @@
2475
2435
  black: 'bg-black',
2476
2436
  white: 'bg-white',
2477
2437
  };
2478
- const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('border box-border border-gray p-6xl sm:p-7 h-full flex flex-col justify-left gap-m', className), ...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' })] })));
2438
+ 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' })] })));
2479
2439
  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)));
2480
2440
 
2481
2441
  const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
@@ -2486,7 +2446,7 @@
2486
2446
  });
2487
2447
 
2488
2448
  const CarouselEventCard = JSX(({ className = '', icon, title, description, href, target, ...rest }) => {
2489
- 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-s mb-xs", 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] }) }));
2449
+ 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] }) }));
2490
2450
  });
2491
2451
 
2492
2452
  const imageAlignmentMap = {
@@ -2494,7 +2454,7 @@
2494
2454
  center: 'self-center',
2495
2455
  end: 'self-end',
2496
2456
  };
2497
- 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: [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-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 }), buttons] }), renderImageContainer(rightImage, { className: '-order-1 sm:order-1', imageAlign })] })] })));
2457
+ 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 })] })] })));
2498
2458
  const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2499
2459
 
2500
2460
  const getItemListFontSize = (colValue) => (colValue === 1 ? 'text-h6' : 'text-l');
@@ -2502,30 +2462,29 @@
2502
2462
  1: 'flex-col',
2503
2463
  2: 'gap-x-10 flex-wrap',
2504
2464
  };
2505
- 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-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] }) })));
2465
+ 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] }) })));
2506
2466
  const renderCardList = (cardsList, columnsMode) => {
2507
2467
  const CARDS_COUNT_MAP = [4, 9];
2508
2468
  const visibleCardsList = cardsList.slice(0, CARDS_COUNT_MAP[columnsMode - 1]);
2509
2469
  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))));
2510
2470
  };
2511
2471
 
2512
- const LINK_CLASS_NAME = `absolute border border-primary-main ml-s px-xl py-lg
2513
- text-l font-light bg-white text-primary-text flex w-[316px]
2472
+ const LINK_CLASS_NAME = `absolute border border-primary-main px-xl py-lg
2473
+ text-l font-light bg-white text-primary-text flex
2514
2474
  justify-between items-center group-hover/link:text-primary-main z-10`;
2515
2475
  const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-[316px] top-0';
2516
2476
  const LinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
2517
2477
  const link = useLink();
2518
2478
  const adjustedProps = link({ href, target });
2519
- 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;
2479
+ return text ? (jsxs("div", { className: style('flex max-w-sm relative group/link cursor-pointer w-64 h-16 sm:w-[47%] sm:h-20 sm:mr-m', className), children: [jsxs("a", { className: style(LINK_CLASS_NAME, 'rounded-md sm:rounded-none w-full h-12 sm:ml-s sm:w-full sm:h-auto'), role: "link", ...adjustedProps, children: [jsx("div", { className: "p-0.5", children: text }), jsx("div", { className: "w-6 h-6 hidden sm:block", children: jsx(Img, { className: "w-4 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 + ' hidden sm:block mx-1.5 mt-1.5' }), jsx("div", { className: LINK_BORDER_CLASS_NAME + ' hidden sm:block mt-3 mr-3' })] })) : null;
2520
2480
  });
2521
2481
 
2522
- const MAX_LINKS_COUNT = 10;
2523
- 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-xl 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-m", description: additionalDescription, align: "text-left", isPadding: false })) : null] }), links?.length ? renderLinks(links) : null] })));
2524
- const renderLinks = (links) => {
2525
- const itemCount = Math.ceil(links.length / MAX_LINKS_COUNT);
2526
- 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
2527
- .slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
2528
- .map((link, index) => (jsx(LinkButton, { className: "m-1", ...link }, String(index)))) }, String(groupIndex)))) }));
2482
+ const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, maxLinksCount = 10, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col sm:flex-row 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, maxLinksCount) : null] })));
2483
+ const renderLinks = (links, maxLinksCount) => {
2484
+ const itemCount = Math.ceil(links.length / maxLinksCount);
2485
+ return (jsx(Carousel, { className: "sm:w-2/3 w-full p-0 sm:p-2xl", version: "secondary", itemCount: itemCount, arrowsPadded: false, showDots: true, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: style('flex flex-wrap self-start sm:w-[672px] w-full sm:mx-5xl'), children: links
2486
+ .slice(groupIndex * maxLinksCount, (groupIndex + 1) * maxLinksCount)
2487
+ .map((link, index) => (jsx(LinkButton, { className: "sm:m-2xs", ...link }, String(index)))) }, String(groupIndex)))) }));
2529
2488
  };
2530
2489
 
2531
2490
  const DOT_SIZE_MAP = {
@@ -2550,7 +2509,7 @@
2550
2509
  const alignTextStyle = 'text-center';
2551
2510
 
2552
2511
  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 }) => {
2553
- 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-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], {
2512
+ 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], {
2554
2513
  className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
2555
2514
  isVertical: isButtonFullWidth,
2556
2515
  })] }));
@@ -2564,15 +2523,14 @@
2564
2523
  const cardTitleFont = 'font-normal';
2565
2524
  const cardDescriptionColor = 'text-secondary-text';
2566
2525
 
2567
- const CarouselProgramsCard = JSX(({ className = '', title, icon, list = [], href, target, ...rest }) => {
2568
- return (jsx(BlockWrapper, { className: style('border border-gray', 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: "min-w-[200px] flex justify-center", 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] })] }) }));
2569
- });
2526
+ 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] })] }) })));
2570
2527
  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)));
2571
2528
 
2572
2529
  const buttonSizeStyles = {
2573
2530
  default: 'w-14 h-14',
2574
- small: 'w-12 h-12',
2531
+ stretched: 'flex-1 h-14',
2575
2532
  };
2533
+
2576
2534
  const buttonStylesWithText = (text, buttonSize) => text
2577
2535
  ? ''
2578
2536
  : style('group/media flex items-center justify-center box-border', buttonSizeStyles[buttonSize]);
@@ -2620,21 +2578,18 @@
2620
2578
  });
2621
2579
  const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
2622
2580
 
2623
- 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 })] })));
2624
-
2625
- const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
2581
+ const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "flex flex-col sm:flex-col-reverse gap-xs", children: [children ? (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })) : null, jsx("div", { className: style('flex gap-xs', className), children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) })] })));
2626
2582
 
2627
- const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', version = 'primary', ...rest }) => {
2628
- 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-m", 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)] }) }));
2583
+ const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2584
+ 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, className: "h-full", 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 }) }) }));
2629
2585
  });
2630
- 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] }));
2631
2586
 
2632
2587
  const RichText = JSX((props) => {
2633
2588
  const { __html = '', richVersion = '' } = props;
2634
2589
  return (jsx("div", { className: style(richVersion, 'md-container'), dangerouslySetInnerHTML: { __html } }));
2635
2590
  });
2636
2591
 
2637
- 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 }) })));
2592
+ const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: className, ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
2638
2593
 
2639
2594
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2640
2595
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
@@ -2670,9 +2625,9 @@
2670
2625
  const cellsNode = cardCells.map(renderCardInfo);
2671
2626
  const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
2672
2627
  const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
2673
- 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] }));
2628
+ 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] }));
2674
2629
  });
2675
- const renderIconBlock$1 = (icon) => (jsx("div", { className: "w-[267px] min-w-[267px] self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2630
+ const renderIconBlock$1 = (icon) => (jsx("div", { className: "basis-full self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2676
2631
  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" })] }));
2677
2632
  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" })] }));
2678
2633
 
@@ -2683,7 +2638,7 @@
2683
2638
  const COLS_LENGTH_FOR_SCROLL$1 = 3;
2684
2639
  const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
2685
2640
 
2686
- 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 }) }) }))] })));
2641
+ 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 }) }) }))] })));
2687
2642
 
2688
2643
  const carouselContainerClassesMap = {
2689
2644
  comparison: 'flex gap-4 duration-1000',
@@ -2712,7 +2667,7 @@
2712
2667
  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
2713
2668
  ? renderArrows({
2714
2669
  ...controls,
2715
- btnClass: ['top-[108px]', 'top-[44px]'],
2670
+ btnClass: ['top-28', 'top-12'],
2716
2671
  className: 'right-7',
2717
2672
  isDisabled: true,
2718
2673
  })
@@ -2733,7 +2688,7 @@
2733
2688
  visibleItemCount: COLS_LENGTH_FOR_SCROLL$1,
2734
2689
  });
2735
2690
  const { isScrollAvailable } = controls;
2736
- 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] }));
2691
+ 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] }));
2737
2692
  });
2738
2693
 
2739
2694
  const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
@@ -2743,11 +2698,11 @@
2743
2698
  ? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
2744
2699
  : null] }));
2745
2700
  });
2746
- 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 ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2701
+ 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 ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2747
2702
 
2748
2703
  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] })));
2749
2704
  const renderBlocks = (info) => (jsx("div", { className: "flex grow basis-0", children: info.map((column, index) => renderBlocksColumn({ column, index })) }));
2750
- 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, { className: "!p-0", title: title, description: description, headlineVersion: "XS", align: "text-left" }), 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;
2705
+ 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;
2751
2706
 
2752
2707
  const isEmpty = (v) => v === null ||
2753
2708
  v === undefined ||
@@ -2936,18 +2891,19 @@
2936
2891
  const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
2937
2892
 
2938
2893
  const TABLE_HEAD_STYLE = 'text-left text-m font-light text-secondary-text';
2939
- const TABLE_HEAD_STYLE_WITH_PL = `${TABLE_HEAD_STYLE} pl-5xl`;
2894
+ const TABLE_HEAD_STYLE_WITH_PADDING = `${TABLE_HEAD_STYLE} pl-5xl`;
2940
2895
  const CURRENCY_ICONS_MAP = {
2941
2896
  USD: 'DollarIcon',
2942
2897
  EUR: 'EuroIcon',
2943
2898
  };
2944
- 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) })] })));
2899
+ 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) })] })));
2945
2900
  const renderCurrencyRow = (exchangeCurrencyItem) => {
2946
2901
  const currency = exchangeCurrencyItem?.currency?.currency;
2947
- 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" })) : null, jsx("span", { className: "ml-xs", children: currency })] }) }), jsx("td", { className: "pt-m pl-5xl", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }), jsx("td", { className: "pt-m pl-5xl", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) })] }, currency));
2902
+ 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));
2948
2903
  };
2949
2904
 
2950
- const CurrentLocation$1 = JSX(({ className = '', address }) => (jsxs("div", { className: `flex gap-s ${className}`, children: [jsx(Img, { image: { icon: 'GpsIcon' }, width: "24", height: "24" }), 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" })] })] })));
2905
+ const icon = { icon: 'GpsIcon' };
2906
+ 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" })] })] })));
2951
2907
 
2952
2908
  const roundTo = (value, precision = 2) => {
2953
2909
  const factor = 10 ** precision;
@@ -2995,7 +2951,7 @@
2995
2951
  selectBuy: currencyRatesSell?.[0]?.currency?.currency || Currency.USD,
2996
2952
  });
2997
2953
  const handleSetCalcState = useCallback((newState) => setCalcState((oldState) => ({ ...oldState, ...newState })), []);
2998
- return (jsxs("div", { className: `grid gap-[18px] pt-2 ${className}`, children: [renderInput({
2954
+ return (jsxs("div", { className: `grid gap-m pt-2xl ${className}`, children: [renderInput({
2999
2955
  placeholder: 'Хочу продать',
3000
2956
  rates: currencyRatesSell,
3001
2957
  selected: calcState.selectSell,
@@ -3090,20 +3046,12 @@
3090
3046
  currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
3091
3047
  const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
3092
3048
  currencyRatesSell.push({ currency: { currency: Currency.RUB } });
3093
- 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", 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] }) }) }));
3049
+ 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] }) }) }));
3094
3050
  });
3095
3051
  const getCurrencyRates = (currencies) => {
3096
3052
  return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
3097
3053
  };
3098
3054
 
3099
- const EMPTY_VALUE$1 = {};
3100
- function useSWRResource(filename, fallback = {}) {
3101
- const { data } = useAsyncData(`/wcms-resources/${filename}.json`, fetchJSONUnsafe, {
3102
- fallback,
3103
- });
3104
- return data || EMPTY_VALUE$1;
3105
- }
3106
-
3107
3055
  const ICON_VERSION_MAP = {
3108
3056
  'bg-white': 'color',
3109
3057
  transparent: 'white',
@@ -3382,7 +3330,7 @@
3382
3330
  });
3383
3331
  const searchItems = useMemo(() => combineTopItemsAndSearchResult(topItems)(searchResult), [topItems, searchResult]);
3384
3332
  useEffect(() => printSearchItems(searchItems), [searchItems]); // Temp
3385
- return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { className: "my-5", autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
3333
+ return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
3386
3334
  });
3387
3335
  const combineTopItemsAndSearchResult = (topItems) => (searchResult) => topItems?.length && searchResult?.length
3388
3336
  ? zip(topItems, searchResult).map(([_, portalSearchResult]) => ({
@@ -3415,9 +3363,9 @@
3415
3363
  });
3416
3364
  const isQueryLongEnough = (_) => _ && _.length >= MIN_QUERY_LEN;
3417
3365
 
3418
- 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] })));
3419
- 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)));
3420
- 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)));
3366
+ const Contacts = JSX(({ className = '', items }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, jsx(Button, { version: "primary", className: "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" })] })));
3367
+ const renderContactsGroup = (item, i) => (jsxs("div", { className: "mb-m", children: [jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), jsx("div", { children: item.items?.map(renderContact) })] }, String(i)));
3368
+ const renderContact = (item, index) => (jsxs("div", { className: "mb-m", children: [jsx("div", { children: renderText(item.type, item.text) }), jsx("div", { className: "mt-2xs text-s font-light text-secondary-text", children: item.description })] }, String(index)));
3421
3369
  const renderText = (type, text = '') => {
3422
3370
  switch (type) {
3423
3371
  case 'tel':
@@ -3439,7 +3387,7 @@
3439
3387
  });
3440
3388
 
3441
3389
  const HorizontalNavigation = JSX(({ className = '', links }) => {
3442
- return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "text-l font-light max-w-[292px]", ..._ }, String(i)))) })) : null }));
3390
+ return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-lg py-lg border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "text-l font-light max-w-[292px]", ..._ }, String(i)))) })) : null }));
3443
3391
  });
3444
3392
 
3445
3393
  const TextInformationLink = JSX(({ className = '', index, ...rest }) => {
@@ -3448,17 +3396,15 @@
3448
3396
  return (jsx("a", { className: `text-xs font-light text-secondary-text visited:text-secondary-text hover:text-primary-main inline-block no-underline max-w-[292px] ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` }));
3449
3397
  });
3450
3398
 
3451
- 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] })));
3399
+ const TextInformation = JSX(({ className = '', links }) => (jsxs("div", { className: className, children: [jsx("div", { className: "pt-lg", 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 flex-col sm:flex-row justify-start items-start gap-x-lg gap-y-xs pt-lg", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, ..._ }, String(i)))) })) : null] })));
3452
3400
 
3453
- const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
3454
- const Footer = JSX(({ className = '', ...rest }) => {
3455
- const fallback = rest.options?.page?.fallback;
3456
- const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
3457
- const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
3458
- 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 })] }));
3401
+ const LEFT_COL_WIDTH = 'w-52';
3402
+ const Footer = JSX(({ className, sitemap, ...rest }) => {
3403
+ const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', rest.options?.page?.fallback);
3404
+ return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl", children: [jsxs("div", { className: `${LEFT_COL_WIDTH} flex flex-col shrink-0 overflow-hidden space-y-xl`, children: [jsx(Contacts, { items: contacts }), 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 })] }));
3459
3405
  });
3460
3406
 
3461
- const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "!p-0 mb-4", title: title, description: description, headlineVersion: "M" }), calendar ? renderCalendar(calendar) : null] })));
3407
+ 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] })));
3462
3408
  const renderCalendar = (calendar) => {
3463
3409
  const colCount = calendar.reduce((accumulator, currentValue) => currentValue?.month?.length ? accumulator + currentValue.month.length : accumulator, 0) || 1;
3464
3410
  const colSize = 100 / colCount;
@@ -3469,61 +3415,27 @@
3469
3415
  // Condition lower is always true, TS does not understand this, notice filter above
3470
3416
  flexBasis: `${_?.month?.length ? _.month.length * colSize : ''}%`,
3471
3417
  }));
3472
- 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}`))) })] }));
3418
+ 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}`))) })] }));
3473
3419
  };
3474
3420
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
3475
3421
  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);
3476
3422
 
3477
- const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
3478
- function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
3479
- const cachedFetcher = useCallback(async (...args) => {
3480
- const storageKey = `async:${key}`;
3481
- const storageData = storage.getItem(storageKey);
3482
- const cachedData = getParsedData(storageData);
3483
- if (cachedData) {
3484
- return cachedData;
3485
- }
3486
- const data = await fetcher(...args);
3487
- storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
3488
- return data;
3489
- }, [key, fetcher]);
3490
- return useAsyncData(key, cachedFetcher);
3491
- }
3492
- function getParsedData(storageData) {
3493
- const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
3494
- return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
3495
- }
3496
-
3497
- const REGION_URL = '/api/v1/region';
3498
- function useLocation(defaultLocation = 'Москва') {
3499
- const currentLocation = getLocalStorageLocation();
3500
- const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
3501
- const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
3502
- useEffect(() => {
3503
- setLocation(currentLocation?.region && currentLocation?.manual
3504
- ? currentLocation.region
3505
- : data || { name: defaultLocation });
3506
- }, [data]);
3507
- const onChangeLocation = useCallback((region) => {
3508
- globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
3509
- setLocation(region);
3510
- }, []);
3511
- return [location, onChangeLocation];
3512
- }
3513
- const getLocalStorageLocation = () => {
3514
- const localStorageLocation = globalThis.localStorage?.getItem('location');
3515
- try {
3516
- return localStorageLocation ? JSON.parse(localStorageLocation) : null;
3517
- }
3518
- catch (_) {
3519
- return null;
3520
- }
3521
- };
3522
-
3523
3423
  const isHrefActive = (router) => ({ href }) => withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
3524
3424
 
3525
3425
  const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
3526
3426
 
3427
+ const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
3428
+ const link = useLink({ isRemote: true });
3429
+ const { href, target, text, onClick } = link(rest);
3430
+ 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 }) }));
3431
+ });
3432
+ const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
3433
+ ? 'rounded-md border-primary-main group-data-transparent:border-white'
3434
+ : 'border-transparent', flat ? '' : 'px-4 py-2');
3435
+ const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
3436
+ ? 'text-primary-main'
3437
+ : style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
3438
+
3527
3439
  const REGIONS_URL = '/api/v1/regions';
3528
3440
  function useRegions() {
3529
3441
  const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
@@ -3541,7 +3453,7 @@
3541
3453
  };
3542
3454
 
3543
3455
  const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
3544
- 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
3456
+ 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
3545
3457
  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" })] }));
3546
3458
  });
3547
3459
 
@@ -3556,7 +3468,7 @@
3556
3468
  dialogProps.onClose && dialogProps.onClose();
3557
3469
  onChangeLocation && onChangeLocation(region);
3558
3470
  }, [dialogProps.onClose, onChangeLocation]);
3559
- 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
3471
+ 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
3560
3472
  .filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
3561
3473
  .map(renderRegion(handleChangeLocation)) })) : (jsx("div", { className: "columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation)) })), jsx(ForeignOffices, { foreignOffices: foreignOffices })] }));
3562
3474
  });
@@ -3568,7 +3480,7 @@
3568
3480
  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: () => {
3569
3481
  onChangeLocation && onChangeLocation(currentLocation);
3570
3482
  }, children: jsx(Text, { color: "text-primary-main", children: currentLocation.name }) })] })) : null);
3571
- const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-[224px]", children: [jsx("div", { className: "mb-s", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
3483
+ 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));
3572
3484
  const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-2xs", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
3573
3485
  onChangeLocation && onChangeLocation(region);
3574
3486
  }, children: region.name || '' }) }, region.id));
@@ -3579,18 +3491,6 @@
3579
3491
  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] }));
3580
3492
  });
3581
3493
 
3582
- const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
3583
- const link = useLink({ isRemote: true });
3584
- const { href, target, text, onClick } = link(rest);
3585
- 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 }) }));
3586
- });
3587
- const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
3588
- ? 'rounded-md border-primary-main group-data-transparent:border-white'
3589
- : 'border-transparent', flat ? '' : 'px-4 py-2');
3590
- const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
3591
- ? 'text-primary-main'
3592
- : style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
3593
-
3594
3494
  const BUTTON_SIZE_STYLE = {
3595
3495
  default: 'w-6 h-6',
3596
3496
  large: 'w-12 h-12',
@@ -3732,12 +3632,11 @@
3732
3632
  'bg-white': 'primary',
3733
3633
  transparent: 'transparent',
3734
3634
  };
3735
- const Header = JSX(({ bgColor = 'bg-white', className, showSubMenu = true, version = BG_COLOR_TO_BLOCK_VERSION[bgColor], ...rest }) => {
3635
+ const Header = JSX(({ className, bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], sitemap, location, ...rest }) => {
3736
3636
  const router = useRouter();
3737
- const { topItems, logo, defaultLocation, foreignOffices, officesLink, internetBankUrl } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
3637
+ const { topItems, logo, officesLink, internetBankUrl } = sitemap || {};
3738
3638
  const activeTopItem = topItems?.find(isTopItemActive(router));
3739
- const [location, onChangeLocation] = useLocation(defaultLocation);
3740
- return (jsxs(BlockWrapper, { tag: "header", className: style('pt-3xl px-20', showSubMenu && 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' : '') }), 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 })] }));
3639
+ 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] }) }));
3741
3640
  });
3742
3641
 
3743
3642
  const gapStyles = {
@@ -3798,7 +3697,7 @@
3798
3697
  const btnClassName = isActive
3799
3698
  ? 'shadow-dark-blue border-primary-main'
3800
3699
  : `ease-in duration-300 border-gray`;
3801
- 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)));
3700
+ 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)));
3802
3701
  }
3803
3702
  function renderValueBlock$1(title, sum) {
3804
3703
  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 })] }));
@@ -3840,11 +3739,11 @@
3840
3739
  'green-dark': 'bg-green-dark',
3841
3740
  };
3842
3741
  const investmentCellSizeMap = {
3843
- XS: 'h-[40px]',
3844
- S: 'h-[68px]',
3845
- M: 'h-[102px]',
3846
- L: 'h-[136px]',
3847
- XL: 'h-[204px]',
3742
+ XS: 'h-10',
3743
+ S: 'h-16',
3744
+ M: 'h-24',
3745
+ L: 'h-32',
3746
+ XL: 'h-52',
3848
3747
  };
3849
3748
  const InvestmentInfo = JSX((props) => {
3850
3749
  const { className = '', items, isDotted, investmentZeroColumn, investmentColumns, ...rest } = props;
@@ -3906,7 +3805,7 @@
3906
3805
  };
3907
3806
  const LinkDocs = JSX(({ className = '', title, description, align = 'text-center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
3908
3807
  const router = useRouter();
3909
- return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...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] }));
3808
+ 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] }));
3910
3809
  });
3911
3810
  const renderLinkDocItem = (router, columnsMode, icon) => (docBlockDef, i) => {
3912
3811
  const href = docBlockDef?.docType === 'Attachment'
@@ -3915,17 +3814,17 @@
3915
3814
  const fileSize = docBlockDef?.docType === 'Attachment'
3916
3815
  ? formatBytes(docBlockDef?.attachment?.fileSize || 0)
3917
3816
  : docBlockDef?.fileSize;
3918
- return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { ...docBlockDef, href: href, fileSize: fileSize, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
3817
+ 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)));
3919
3818
  };
3920
3819
 
3921
- 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;
3820
+ const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-lg pt-3xs", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
3922
3821
 
3923
3822
  const renderList$1 = (items) => {
3924
3823
  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" }));
3925
3824
  };
3926
3825
 
3927
3826
  const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
3928
- const containerStyle = version === 'secondary' ? 'p-m min-w-[120px]' : 'min-w-[92px]';
3827
+ const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
3929
3828
  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] })] }) }));
3930
3829
  });
3931
3830
 
@@ -4145,7 +4044,7 @@
4145
4044
  setPointsToRender(normalizedPoints);
4146
4045
  }
4147
4046
  };
4148
- 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
4047
+ 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
4149
4048
  ? renderSearchField(mockPoints, yandexMaps, updatePointsToRender)
4150
4049
  : 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}`)] }));
4151
4050
  });
@@ -4287,11 +4186,11 @@
4287
4186
  ];
4288
4187
  const currentWeekDayInd = new Date().getDay();
4289
4188
  const currentWeekDay = currentWeekDayInd > 0 ? workScheduleWeek[currentWeekDayInd - 1] : workScheduleWeek[6];
4290
- 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-3xl", 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) })] })] }));
4189
+ 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) })] })] }));
4291
4190
  });
4292
4191
 
4293
- 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] })));
4294
- 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)}`));
4192
+ 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] })));
4193
+ 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)}`));
4295
4194
 
4296
4195
  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 }) })));
4297
4196
 
@@ -4393,14 +4292,10 @@
4393
4292
  return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
4394
4293
  }
4395
4294
 
4396
- 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
4397
- ? renderButtonsSection([button], {
4398
- className: 'mb-6',
4399
- })
4400
- : null] })] })));
4401
- 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] }));
4402
- const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5 my-5", children: jsx(RichText, { __html: __html }) }));
4403
- 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] })] }));
4295
+ 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] })] })));
4296
+ 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 }));
4297
+ const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5", children: jsx(RichText, { __html: __html }) }));
4298
+ 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] })] }));
4404
4299
 
4405
4300
  const RichTextBlock = JSX((props) => {
4406
4301
  const { __html, richVersion, ...rest } = props;
@@ -4419,7 +4314,10 @@
4419
4314
  const rollupItemStyles = 'border-0 border-b border-solid border-main-divider last:border-b-0';
4420
4315
 
4421
4316
  const RollupItem = JSX(({ className = '', label = 'Развернуть', labelIcon, labelIconBgVersion, isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => {
4422
- 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({
4317
+ 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({
4318
+ ...rest,
4319
+ extraProps: { className: 'w-full', padding: 'p-0' },
4320
+ }) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({
4423
4321
  version,
4424
4322
  label,
4425
4323
  labelIcon,
@@ -4442,7 +4340,7 @@
4442
4340
  })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
4443
4341
  };
4444
4342
  const renderPrimaryFoldButton = ({ label, labelIconBgVersion, icon, onToggle, labelIcon, }) => {
4445
- 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] }));
4343
+ return (jsxs("button", { className: style('border-none bg-transparent 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] }));
4446
4344
  };
4447
4345
 
4448
4346
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
@@ -4453,27 +4351,27 @@
4453
4351
  return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
4454
4352
  });
4455
4353
 
4456
- 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" }) })] })));
4354
+ 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" }) })] })));
4457
4355
 
4458
4356
  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] }) })));
4459
4357
 
4460
- const RenderRadioButtons = JSX(() => {
4358
+ const RadioButtons = JSX(({ className }) => {
4461
4359
  const [selectedOption, setSelectedOption] = useState('option2');
4462
4360
  const onChange = useCallback((_) => setSelectedOption(_), []);
4463
- return (jsxs("div", { 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 })] }));
4361
+ 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 })] }));
4464
4362
  });
4465
4363
 
4466
4364
  const ITEMS = ['От 1 дня', 'До 365 дней'];
4467
4365
  const MIN = 1;
4468
4366
  const MAX = 365;
4469
- 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 })] })));
4367
+ 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 })] })));
4470
4368
 
4471
4369
  const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
4472
- 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" }) })] }));
4370
+ 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" }) })] }));
4473
4371
  });
4474
4372
 
4475
4373
  const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
4476
- 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 })] })] }));
4374
+ 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" })] })] }));
4477
4375
  });
4478
4376
  const onSelectedBranch = (onChange) => (value) => {
4479
4377
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
@@ -4484,10 +4382,11 @@
4484
4382
 
4485
4383
  const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
4486
4384
  const price = calculatePrice(days, tariffs);
4487
- 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-xs 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"] })] })] }));
4385
+ const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
4386
+ 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 })] })] }));
4488
4387
  });
4489
- const renderTotal = (label, total, className = '') => {
4490
- 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 })] }));
4388
+ const renderTotal = (label, total) => {
4389
+ 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 })] }));
4491
4390
  };
4492
4391
  const calculatePrice = (days, tariffs) => {
4493
4392
  const tariffType = getTariffType(days);
@@ -4534,7 +4433,7 @@
4534
4433
  const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
4535
4434
  const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
4536
4435
  const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
4537
- 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 })] }));
4436
+ 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 })] }));
4538
4437
  });
4539
4438
  const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
4540
4439
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
@@ -4590,7 +4489,7 @@
4590
4489
  };
4591
4490
  const renderDefaultStep = ({ styleMap, isMainButton, version }) => (step, i, arr) => {
4592
4491
  const { label, description, button, items, isDotted } = step;
4593
- return (jsxs("div", { className: style('relative flex flex-col items-center text-center 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 h-12 w-full max-w-[240px] mt-auto", version: version, ...button, children: button?.text })) : null] }, String(i)));
4492
+ 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)));
4594
4493
  };
4595
4494
  const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[200px]');
4596
4495
 
@@ -4734,7 +4633,6 @@
4734
4633
  const { tabs, ...rest } = props;
4735
4634
  const [containerRef, scroll] = useSwipeListScroll({
4736
4635
  itemCount: tabs?.length || 0,
4737
- isCyclic: false,
4738
4636
  });
4739
4637
  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] }));
4740
4638
  });
@@ -4941,15 +4839,15 @@
4941
4839
  });
4942
4840
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
4943
4841
  const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
4944
- return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding: style('p-6xl', itemCount > 1 ? 'pr-0' : ''), ...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 }))] }));
4842
+ 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 }))] }));
4945
4843
  });
4946
4844
  const Wrapper = JSX(({ children, controls }) => {
4947
4845
  const { isScrollAvailable } = controls;
4948
4846
  return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
4949
4847
  ...controls,
4950
- btnClass: ['top-[108px]', 'top-[44px]'],
4848
+ btnClass: ['top-28', 'top-11'],
4951
4849
  className: 'right-7',
4952
- })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
4850
+ })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
4953
4851
  });
4954
4852
 
4955
4853
  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] })] })));
@@ -4963,21 +4861,18 @@
4963
4861
 
4964
4862
  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 }) })));
4965
4863
 
4966
- const alignStyle = {
4967
- stretch: 'items-stretch',
4968
- left: 'items-start',
4969
- center: 'items-center',
4970
- right: 'items-end',
4971
- };
4972
- const VerticalLayout = JSX(({ className = '', gap = '', align = 'stretch', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => {
4973
- const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
4974
- return (jsx(BlockWrapper, { className: style('relative', 'flex flex-col [&>*]:max-w-full', gapStyles[gap], align && alignStyle[align], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
4975
- ...rest,
4976
- renderProps: (block, options) => renderBlock$1(block, options, { className: innerPaddingStyle }),
4977
- }) }));
4978
- });
4864
+ 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({
4865
+ ...rest,
4866
+ extraProps: { className: 'w-full', padding: isInnerPadding ? '' : 'p-0' },
4867
+ }) })));
4979
4868
  VerticalLayout.childrenTypes = [];
4980
4869
 
4870
+ const getColSpan = (className) => {
4871
+ const colSpanPrefix = 'col-span-';
4872
+ const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
4873
+ return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
4874
+ };
4875
+
4981
4876
  const MIN_COL_SPAN = 10;
4982
4877
  const getPaddings = (className) => getColSpan(className) < MIN_COL_SPAN ? 'py-6 px-11' : 'py-12 px-32';
4983
4878
 
@@ -5047,6 +4942,52 @@
5047
4942
  ExchangeRateOffice,
5048
4943
  };
5049
4944
 
4945
+ const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
4946
+ function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
4947
+ const cachedFetcher = useCallback(async (...args) => {
4948
+ const storageKey = `async:${key}`;
4949
+ const storageData = storage.getItem(storageKey);
4950
+ const cachedData = getParsedData(storageData);
4951
+ if (cachedData) {
4952
+ return cachedData;
4953
+ }
4954
+ const data = await fetcher(...args);
4955
+ storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
4956
+ return data;
4957
+ }, [key, fetcher]);
4958
+ return useAsyncData(key, cachedFetcher);
4959
+ }
4960
+ function getParsedData(storageData) {
4961
+ const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
4962
+ return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
4963
+ }
4964
+
4965
+ const REGION_URL = '/api/v1/region';
4966
+ function useLocation(defaultLocation = 'Москва') {
4967
+ const currentLocation = getLocalStorageLocation();
4968
+ const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
4969
+ const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
4970
+ useEffect(() => {
4971
+ setLocation(currentLocation?.region && currentLocation?.manual
4972
+ ? currentLocation.region
4973
+ : data || { name: defaultLocation });
4974
+ }, [data]);
4975
+ const onChangeLocation = useCallback((region) => {
4976
+ globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
4977
+ setLocation(region);
4978
+ }, []);
4979
+ return [location, onChangeLocation];
4980
+ }
4981
+ const getLocalStorageLocation = () => {
4982
+ const localStorageLocation = globalThis.localStorage?.getItem('location');
4983
+ try {
4984
+ return localStorageLocation ? JSON.parse(localStorageLocation) : null;
4985
+ }
4986
+ catch (_) {
4987
+ return null;
4988
+ }
4989
+ };
4990
+
5050
4991
  const debounce = (fn, delay = 600) => {
5051
4992
  let timerId;
5052
4993
  const debouncedCallback = (...args) => {
@@ -5160,9 +5101,8 @@
5160
5101
  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 })] }));
5161
5102
  });
5162
5103
 
5163
- const ContentPage = JSX((props) => {
5164
- const { className = '', blocksRegistry, blockDecorator, data = {} } = props;
5165
- const { style: pageStyle, blocks, slots, likeControl, colorPalette = 'pc' } = data;
5104
+ const ContentPage = JSX(({ className, blocksRegistry, blockDecorator, data = {} }) => {
5105
+ const { style: pageStyle, slots, likeControl, colorPalette = 'pc' } = data;
5166
5106
  const options = {
5167
5107
  key: '',
5168
5108
  page: data,
@@ -5170,21 +5110,23 @@
5170
5110
  blockDecorator,
5171
5111
  parent: data,
5172
5112
  };
5113
+ const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', data?.fallback);
5114
+ const [location, onChangeLocation] = useLocation(sitemap?.defaultLocation);
5173
5115
  useBlockRouterProvider();
5174
5116
  const [isSomeDialogOpened, { setTrue: setSomeDialogOpened, setFalse: resetSomeDialogOpened }] = useBool();
5175
5117
  useDialogHandlers({
5176
5118
  onOpen: setSomeDialogOpened,
5177
5119
  onClose: resetSomeDialogOpened,
5178
5120
  });
5179
- 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, {
5121
+ return (jsxs("section", { className: style('relative @container', pageStyle, className, isSomeDialogOpened ? 'overflow-hidden h-screen' : ''), "data-theme": colorPalette, children: [slots?.header ? (jsx("div", { className: "relative z-10 mb-5 shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, {
5180
5122
  ...options,
5181
5123
  slotName: 'header',
5182
- }) })) : null, jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderBlocksList(blocks, options), slots?.footer
5183
- ? renderBlocksList(slots?.footer, {
5184
- ...options,
5185
- slotName: 'footer',
5186
- })
5187
- : null] }), likeControl ? renderLikeControl() : null, jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } })] }));
5124
+ extraProps: { sitemap, location },
5125
+ }) })) : null, jsxs("div", { className: "container @lg:grid @lg:grid-cols-12 @lg:gap-1", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, {
5126
+ ...options,
5127
+ slotName: 'footer',
5128
+ extraProps: { sitemap, location },
5129
+ })] }), 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 })] }));
5188
5130
  });
5189
5131
  ContentPage.childrenTypes = [];
5190
5132
  ContentPage.slots = () => ['header', 'footer'];
@@ -5192,7 +5134,7 @@
5192
5134
  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" }) }));
5193
5135
  }
5194
5136
 
5195
- const packageVersion = "0.12.11";
5137
+ const packageVersion = "0.12.13";
5196
5138
 
5197
5139
  exports.Blocks = Blocks;
5198
5140
  exports.ContentPage = ContentPage;