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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (966) hide show
  1. package/bundle/BlockRenderer/renderBlock.d.ts +2 -4
  2. package/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
  3. package/bundle/BlockRenderer/renderChildren.d.ts +5 -4
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +241 -323
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/bundle/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  8. package/bundle/components/Carousel/CarouselContent.d.ts +3 -9
  9. package/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  10. package/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
  11. package/bundle/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  12. package/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
  13. package/bundle/components/Footer/Footer.d.ts +1 -4
  14. package/bundle/components/Footer/Footer.mobile.d.ts +1 -4
  15. package/bundle/components/Footer/FooterProps.d.ts +6 -0
  16. package/bundle/components/Header/Header.d.ts +1 -4
  17. package/bundle/components/Header/Header.mobile.d.ts +2 -5
  18. package/bundle/components/Header/HeaderContent.d.ts +0 -2
  19. package/bundle/components/Header/HeaderProps.d.ts +8 -0
  20. package/bundle/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  21. package/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  22. package/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  23. package/bundle/hooks/useCarouselControls.d.ts +1 -1
  24. package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  25. package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  26. package/dist/BlockRenderer/renderBlock.d.ts +2 -4
  27. package/dist/BlockRenderer/renderBlock.js +1 -2
  28. package/dist/BlockRenderer/renderBlock.js.map +1 -1
  29. package/dist/BlockRenderer/renderBlockList.d.ts +5 -2
  30. package/dist/BlockRenderer/renderBlockList.js +12 -7
  31. package/dist/BlockRenderer/renderBlockList.js.map +1 -1
  32. package/dist/BlockRenderer/renderChildren.d.ts +5 -4
  33. package/dist/BlockRenderer/renderChildren.js +2 -2
  34. package/dist/BlockRenderer/renderChildren.js.map +1 -1
  35. package/dist/components/Blocks.mobile.js +6 -0
  36. package/dist/components/Blocks.mobile.js.map +1 -1
  37. package/dist/components/Bonus/Bonus.js +1 -1
  38. package/dist/components/Bonus/Bonus.js.map +1 -1
  39. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  40. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  41. package/dist/components/Calculator/UnknownRate.js +1 -1
  42. package/dist/components/Calculator/UnknownRate.js.map +1 -1
  43. package/dist/components/Carousel/Carousel.js +18 -33
  44. package/dist/components/Carousel/Carousel.js.map +1 -1
  45. package/dist/components/Carousel/CarouselContent.d.ts +3 -9
  46. package/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  47. package/dist/components/Carousel/CarouselScrollButtons.js +4 -4
  48. package/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
  49. package/dist/components/Carousel/renderControlButtons.d.ts +2 -3
  50. package/dist/components/Carousel/renderControlButtons.js +3 -3
  51. package/dist/components/Carousel/renderControlButtons.js.map +1 -1
  52. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  53. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
  54. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  55. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
  56. package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
  57. package/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
  58. package/dist/components/CarouselCard/CarouselCard.js +6 -5
  59. package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  60. package/dist/components/CarouselCard/constants.js +2 -2
  61. package/dist/components/CarouselCard/constants.js.map +1 -1
  62. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  63. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  64. package/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
  65. package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  66. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  67. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  68. package/dist/components/CarouselLinks/CarouselLinks.js +2 -2
  69. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  70. package/dist/components/CarouselProductCard/CarouselProductCard.js +4 -4
  71. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  72. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  73. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  74. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +3 -4
  75. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  76. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
  77. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  78. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  79. package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  80. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  81. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  82. package/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  83. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  84. package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  85. package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  86. package/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
  87. package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  88. package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  89. package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  90. package/dist/components/ComparisonTable/HeaderCell.js +1 -1
  91. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  92. package/dist/components/ContactsBlock/ContactsBlock.js +1 -1
  93. package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  94. package/dist/components/ContentPage/ContentPage.js +16 -9
  95. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  96. package/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
  97. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  98. package/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
  99. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  100. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  101. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  102. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  103. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  104. package/dist/components/Footer/Footer.d.ts +1 -4
  105. package/dist/components/Footer/Footer.js +2 -4
  106. package/dist/components/Footer/Footer.js.map +1 -1
  107. package/dist/components/Footer/Footer.mobile.d.ts +1 -4
  108. package/dist/components/Footer/Footer.mobile.js +3 -5
  109. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  110. package/dist/components/Footer/FooterProps.d.ts +6 -0
  111. package/dist/components/Footer/FooterProps.js +2 -0
  112. package/dist/components/Footer/FooterProps.js.map +1 -0
  113. package/dist/components/GracePeriod/GracePeriod.js +2 -2
  114. package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  115. package/dist/components/Header/Header.d.ts +1 -4
  116. package/dist/components/Header/Header.js +3 -9
  117. package/dist/components/Header/Header.js.map +1 -1
  118. package/dist/components/Header/Header.mobile.d.ts +2 -5
  119. package/dist/components/Header/Header.mobile.js +2 -5
  120. package/dist/components/Header/Header.mobile.js.map +1 -1
  121. package/dist/components/Header/HeaderContent.d.ts +0 -2
  122. package/dist/components/Header/HeaderProps.d.ts +8 -0
  123. package/dist/components/Header/HeaderProps.js +2 -0
  124. package/dist/components/Header/HeaderProps.js.map +1 -0
  125. package/dist/components/Header/HeaderTop.js +1 -1
  126. package/dist/components/Header/HeaderTop.js.map +1 -1
  127. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  128. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js +8 -0
  129. package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
  130. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  131. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  132. package/dist/components/InvestmentInfo/InvestmentInfo.js +5 -5
  133. package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  134. package/dist/components/LinkDocs/LinkDocs.js +2 -2
  135. package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  136. package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  137. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  138. package/dist/components/OfficeMap/OfficeMap.js +1 -1
  139. package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  140. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  141. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  142. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  143. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  144. package/dist/components/RollupItem/RollupItem.js +4 -1
  145. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  146. package/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  147. package/dist/components/SafeDepositRental/RadioButtons.js +13 -0
  148. package/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
  149. package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  150. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  151. package/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
  152. package/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  153. package/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  154. package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  155. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  156. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  157. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  158. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  159. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  160. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  161. package/dist/components/StepsBlock/renderStep.js +1 -1
  162. package/dist/components/StepsBlock/renderStep.js.map +1 -1
  163. package/dist/components/Tabs/ScrollableTabs.js +0 -1
  164. package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  165. package/dist/components/TariffsTable/TariffsTable.js +3 -3
  166. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  167. package/dist/components/VerticalLayout/VerticalLayout.js +4 -14
  168. package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  169. package/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  170. package/dist/hooks/useCarouselControls.d.ts +1 -1
  171. package/dist/hooks/useCarouselControls.js +5 -6
  172. package/dist/hooks/useCarouselControls.js.map +1 -1
  173. package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  174. package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  175. package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  176. package/dist/ui-kit/BlockWrapper.js +1 -1
  177. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  178. package/dist/ui-kit/LinkButton/LinkButton.js +1 -1
  179. package/dist/ui-kit/LinkList/LinkList.js +2 -2
  180. package/dist/ui-kit/LinkList/LinkList.js.map +1 -1
  181. package/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
  182. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  183. package/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
  184. package/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  185. package/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  186. package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  187. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  188. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  189. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  190. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  191. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  192. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  193. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  194. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  195. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  196. package/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  197. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  198. package/lib/BlockRenderer/renderBlock.d.ts +2 -4
  199. package/lib/BlockRenderer/renderBlock.js +1 -2
  200. package/lib/BlockRenderer/renderBlock.js.map +1 -1
  201. package/lib/BlockRenderer/renderBlockList.d.ts +5 -2
  202. package/lib/BlockRenderer/renderBlockList.js +12 -7
  203. package/lib/BlockRenderer/renderBlockList.js.map +1 -1
  204. package/lib/BlockRenderer/renderChildren.d.ts +5 -4
  205. package/lib/BlockRenderer/renderChildren.js +2 -2
  206. package/lib/BlockRenderer/renderChildren.js.map +1 -1
  207. package/lib/common.css +1 -1
  208. package/lib/components/Blocks.mobile.js +6 -0
  209. package/lib/components/Blocks.mobile.js.map +1 -1
  210. package/lib/components/Bonus/Bonus.js +1 -1
  211. package/lib/components/Bonus/Bonus.js.map +1 -1
  212. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  213. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  214. package/lib/components/Calculator/UnknownRate.js +1 -1
  215. package/lib/components/Calculator/UnknownRate.js.map +1 -1
  216. package/lib/components/Carousel/Carousel.js +18 -33
  217. package/lib/components/Carousel/Carousel.js.map +1 -1
  218. package/lib/components/Carousel/CarouselContent.d.ts +3 -9
  219. package/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  220. package/lib/components/Carousel/CarouselScrollButtons.js +4 -4
  221. package/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
  222. package/lib/components/Carousel/renderControlButtons.d.ts +3 -3
  223. package/lib/components/Carousel/renderControlButtons.js +3 -3
  224. package/lib/components/Carousel/renderControlButtons.js.map +1 -1
  225. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
  226. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
  227. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  228. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
  229. package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
  230. package/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
  231. package/lib/components/CarouselCard/CarouselCard.js +6 -5
  232. package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  233. package/lib/components/CarouselCard/constants.js +2 -2
  234. package/lib/components/CarouselCard/constants.js.map +1 -1
  235. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  236. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  237. package/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
  238. package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  239. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  240. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  241. package/lib/components/CarouselLinks/CarouselLinks.js +2 -2
  242. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  243. package/lib/components/CarouselProductCard/CarouselProductCard.js +4 -4
  244. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  245. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  246. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  247. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -5
  248. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  249. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
  250. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  251. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  252. package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  253. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  254. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  255. package/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  256. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  257. package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  258. package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  259. package/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
  260. package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  261. package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  262. package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  263. package/lib/components/ComparisonTable/HeaderCell.js +1 -1
  264. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  265. package/lib/components/ContactsBlock/ContactsBlock.js +1 -1
  266. package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  267. package/lib/components/ContentPage/ContentPage.js +16 -9
  268. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  269. package/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
  270. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  271. package/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
  272. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  273. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  274. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  275. package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.d.ts +6 -0
  276. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  277. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  278. package/lib/components/Footer/Footer.d.ts +1 -4
  279. package/lib/components/Footer/Footer.js +2 -4
  280. package/lib/components/Footer/Footer.js.map +1 -1
  281. package/lib/components/Footer/Footer.mobile.d.ts +1 -4
  282. package/lib/components/Footer/Footer.mobile.js +3 -5
  283. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  284. package/lib/components/Footer/FooterProps.d.ts +6 -0
  285. package/lib/components/Footer/FooterProps.js +2 -0
  286. package/lib/components/Footer/FooterProps.js.map +1 -0
  287. package/lib/components/GracePeriod/GracePeriod.js +2 -2
  288. package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  289. package/lib/components/Header/Header.d.ts +1 -4
  290. package/lib/components/Header/Header.fixture.d.ts +0 -1
  291. package/lib/components/Header/Header.js +3 -9
  292. package/lib/components/Header/Header.js.map +1 -1
  293. package/lib/components/Header/Header.mobile.d.ts +2 -5
  294. package/lib/components/Header/Header.mobile.js +2 -5
  295. package/lib/components/Header/Header.mobile.js.map +1 -1
  296. package/lib/components/Header/HeaderContent.d.ts +0 -2
  297. package/lib/components/Header/HeaderProps.d.ts +8 -0
  298. package/lib/components/Header/HeaderProps.js +2 -0
  299. package/lib/components/Header/HeaderProps.js.map +1 -0
  300. package/lib/components/Header/HeaderTop.js +1 -1
  301. package/lib/components/Header/HeaderTop.js.map +1 -1
  302. package/lib/components/HorizontalLayout/HorizontalLayout.fixture.mobile.d.ts +8 -0
  303. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
  304. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js +6 -0
  305. package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
  306. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  307. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  308. package/lib/components/InvestmentInfo/InvestmentInfo.js +5 -5
  309. package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  310. package/lib/components/LinkDocs/LinkDocs.js +2 -2
  311. package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  312. package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  313. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  314. package/lib/components/OfficeMap/OfficeMap.js +1 -1
  315. package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  316. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  317. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  318. package/lib/components/ProductTile/ProductTile.fixture.mobile.d.ts +16 -0
  319. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  320. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  321. package/lib/components/RollupItem/RollupItem.js +4 -1
  322. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  323. package/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  324. package/lib/components/SafeDepositRental/RadioButtons.js +11 -0
  325. package/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
  326. package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  327. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  328. package/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
  329. package/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  330. package/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  331. package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  332. package/lib/components/SafeDepositRental/SafeDepositRental.fixture.mobile.d.ts +6 -0
  333. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  334. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  335. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  336. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  337. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  338. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  339. package/lib/components/StepsBlock/renderStep.js +1 -1
  340. package/lib/components/StepsBlock/renderStep.js.map +1 -1
  341. package/lib/components/Tabs/ScrollableTabs.js +0 -1
  342. package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  343. package/lib/components/TariffsTable/TariffsTable.js +3 -3
  344. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  345. package/lib/components/VerticalLayout/VerticalLayout.fixture.d.ts +2 -2
  346. package/lib/components/VerticalLayout/VerticalLayout.js +4 -14
  347. package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  348. package/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  349. package/lib/hooks/useCarouselControls.d.ts +1 -1
  350. package/lib/hooks/useCarouselControls.js +5 -6
  351. package/lib/hooks/useCarouselControls.js.map +1 -1
  352. package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  353. package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  354. package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  355. package/lib/ui-kit/BlockWrapper.js +1 -1
  356. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  357. package/lib/ui-kit/LinkButton/LinkButton.js +1 -1
  358. package/lib/ui-kit/LinkList/LinkList.js +2 -2
  359. package/lib/ui-kit/LinkList/LinkList.js.map +1 -1
  360. package/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
  361. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  362. package/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
  363. package/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  364. package/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  365. package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  366. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  367. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  368. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  369. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  370. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  371. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  372. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  373. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  374. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  375. package/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  376. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  377. package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +0 -1
  378. package/lib/ui-kit/YandexMap/renderSearchField.d.ts +0 -1
  379. package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +0 -1
  380. package/mobile/bundle/BlockRenderer/renderBlock.d.ts +2 -4
  381. package/mobile/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
  382. package/mobile/bundle/BlockRenderer/renderChildren.d.ts +5 -4
  383. package/mobile/bundle/bundle.umd.js +1019 -176
  384. package/mobile/bundle/bundle.umd.min.js +1 -1
  385. package/mobile/bundle/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  386. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +3 -9
  387. package/mobile/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  388. package/mobile/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
  389. package/mobile/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
  390. package/mobile/bundle/components/Footer/Footer.d.ts +1 -4
  391. package/mobile/bundle/components/Footer/FooterProps.d.ts +6 -0
  392. package/mobile/bundle/components/Header/Header.d.ts +2 -5
  393. package/mobile/bundle/components/Header/HeaderContent.d.ts +0 -2
  394. package/mobile/bundle/components/Header/HeaderProps.d.ts +8 -0
  395. package/mobile/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  396. package/mobile/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  397. package/mobile/bundle/hooks/useCarouselControls.d.ts +1 -1
  398. package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  399. package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  400. package/mobile/dist/BlockRenderer/renderBlock.d.ts +2 -4
  401. package/mobile/dist/BlockRenderer/renderBlock.js +1 -2
  402. package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
  403. package/mobile/dist/BlockRenderer/renderBlockList.d.ts +5 -2
  404. package/mobile/dist/BlockRenderer/renderBlockList.js +12 -7
  405. package/mobile/dist/BlockRenderer/renderBlockList.js.map +1 -1
  406. package/mobile/dist/BlockRenderer/renderChildren.d.ts +5 -4
  407. package/mobile/dist/BlockRenderer/renderChildren.js +2 -2
  408. package/mobile/dist/BlockRenderer/renderChildren.js.map +1 -1
  409. package/mobile/dist/components/Blocks.js +6 -0
  410. package/mobile/dist/components/Blocks.js.map +1 -1
  411. package/mobile/dist/components/Bonus/Bonus.js +1 -1
  412. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  413. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  414. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  415. package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
  416. package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
  417. package/mobile/dist/components/Carousel/Carousel.js +18 -33
  418. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  419. package/mobile/dist/components/Carousel/CarouselContent.d.ts +3 -9
  420. package/mobile/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  421. package/mobile/dist/components/Carousel/CarouselScrollButtons.js +4 -4
  422. package/mobile/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
  423. package/mobile/dist/components/Carousel/renderControlButtons.d.ts +2 -3
  424. package/mobile/dist/components/Carousel/renderControlButtons.js +3 -3
  425. package/mobile/dist/components/Carousel/renderControlButtons.js.map +1 -1
  426. package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
  427. package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  428. package/mobile/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
  429. package/mobile/dist/components/CarouselCard/CarouselCard.js +6 -5
  430. package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  431. package/mobile/dist/components/CarouselCard/constants.js +2 -2
  432. package/mobile/dist/components/CarouselCard/constants.js.map +1 -1
  433. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  434. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  435. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
  436. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  437. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  438. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  439. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +2 -2
  440. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  441. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +4 -4
  442. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  443. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  444. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  445. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
  446. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  447. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  448. package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  449. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  450. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  451. package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  452. package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  453. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
  454. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  455. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  456. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  457. package/mobile/dist/components/ContactsBlock/ContactsBlock.js +1 -1
  458. package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  459. package/mobile/dist/components/ContentPage/ContentPage.js +16 -9
  460. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  461. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
  462. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  463. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
  464. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  465. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  466. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  467. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  468. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  469. package/mobile/dist/components/Footer/Footer.d.ts +1 -4
  470. package/mobile/dist/components/Footer/Footer.js +3 -5
  471. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  472. package/mobile/dist/components/Footer/FooterProps.d.ts +6 -0
  473. package/mobile/dist/components/Footer/FooterProps.js +2 -0
  474. package/mobile/dist/components/Footer/FooterProps.js.map +1 -0
  475. package/mobile/dist/components/GracePeriod/GracePeriod.js +2 -2
  476. package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  477. package/mobile/dist/components/Header/Header.d.ts +2 -5
  478. package/mobile/dist/components/Header/Header.js +2 -5
  479. package/mobile/dist/components/Header/Header.js.map +1 -1
  480. package/mobile/dist/components/Header/HeaderContent.d.ts +0 -2
  481. package/mobile/dist/components/Header/HeaderProps.d.ts +8 -0
  482. package/mobile/dist/components/Header/HeaderProps.js +2 -0
  483. package/mobile/dist/components/Header/HeaderProps.js.map +1 -0
  484. package/mobile/dist/components/Header/HeaderTop.js +1 -1
  485. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  486. package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js +3 -8
  487. package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  488. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  489. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  490. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +5 -5
  491. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  492. package/mobile/dist/components/LinkDocs/LinkDocs.js +2 -2
  493. package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  494. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  495. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  496. package/mobile/dist/components/OfficeMap/OfficeMap.js +1 -1
  497. package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  498. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  499. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  500. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  501. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  502. package/mobile/dist/components/RollupItem/RollupItem.js +4 -1
  503. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  504. package/mobile/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  505. package/mobile/dist/components/SafeDepositRental/RadioButtons.js +13 -0
  506. package/mobile/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
  507. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  508. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  509. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
  510. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  511. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  512. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  513. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  514. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  515. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  516. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  517. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  518. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  519. package/mobile/dist/components/StepsBlock/renderStep.js +1 -1
  520. package/mobile/dist/components/StepsBlock/renderStep.js.map +1 -1
  521. package/mobile/dist/components/Tabs/ScrollableTabs.js +0 -1
  522. package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  523. package/mobile/dist/components/VerticalLayout/VerticalLayout.js +4 -14
  524. package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  525. package/mobile/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  526. package/mobile/dist/hooks/useCarouselControls.d.ts +1 -1
  527. package/mobile/dist/hooks/useCarouselControls.js +5 -6
  528. package/mobile/dist/hooks/useCarouselControls.js.map +1 -1
  529. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  530. package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  531. package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  532. package/mobile/dist/ui-kit/BlockWrapper.js +1 -1
  533. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  534. package/mobile/dist/ui-kit/LinkButton/LinkButton.js +1 -1
  535. package/mobile/dist/ui-kit/LinkList/LinkList.js +2 -2
  536. package/mobile/dist/ui-kit/LinkList/LinkList.js.map +1 -1
  537. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
  538. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  539. package/mobile/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
  540. package/mobile/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  541. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  542. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  543. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  544. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  545. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  546. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  547. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  548. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  549. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  550. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  551. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  552. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  553. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  554. package/mobile/lib/BlockRenderer/renderBlock.d.ts +2 -4
  555. package/mobile/lib/BlockRenderer/renderBlock.js +1 -2
  556. package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
  557. package/mobile/lib/BlockRenderer/renderBlockList.d.ts +5 -2
  558. package/mobile/lib/BlockRenderer/renderBlockList.js +12 -7
  559. package/mobile/lib/BlockRenderer/renderBlockList.js.map +1 -1
  560. package/mobile/lib/BlockRenderer/renderChildren.d.ts +5 -4
  561. package/mobile/lib/BlockRenderer/renderChildren.js +2 -2
  562. package/mobile/lib/BlockRenderer/renderChildren.js.map +1 -1
  563. package/mobile/lib/common.css +1 -1
  564. package/mobile/lib/components/Blocks.js +6 -0
  565. package/mobile/lib/components/Blocks.js.map +1 -1
  566. package/mobile/lib/components/Bonus/Bonus.js +1 -1
  567. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  568. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  569. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  570. package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
  571. package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
  572. package/mobile/lib/components/Carousel/Carousel.js +18 -33
  573. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  574. package/mobile/lib/components/Carousel/CarouselContent.d.ts +3 -9
  575. package/mobile/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
  576. package/mobile/lib/components/Carousel/CarouselScrollButtons.js +4 -4
  577. package/mobile/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
  578. package/mobile/lib/components/Carousel/renderControlButtons.d.ts +2 -3
  579. package/mobile/lib/components/Carousel/renderControlButtons.js +3 -3
  580. package/mobile/lib/components/Carousel/renderControlButtons.js.map +1 -1
  581. package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
  582. package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
  583. package/mobile/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
  584. package/mobile/lib/components/CarouselCard/CarouselCard.js +6 -5
  585. package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  586. package/mobile/lib/components/CarouselCard/constants.js +2 -2
  587. package/mobile/lib/components/CarouselCard/constants.js.map +1 -1
  588. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
  589. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  590. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
  591. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  592. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  593. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  594. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +2 -2
  595. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  596. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +4 -4
  597. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  598. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
  599. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  600. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
  601. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  602. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
  603. package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
  604. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  605. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  606. package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  607. package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  608. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
  609. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  610. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  611. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  612. package/mobile/lib/components/ContactsBlock/ContactsBlock.js +1 -1
  613. package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  614. package/mobile/lib/components/ContentPage/ContentPage.js +16 -9
  615. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  616. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
  617. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  618. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
  619. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  620. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  621. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  622. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  623. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  624. package/mobile/lib/components/Footer/Footer.d.ts +1 -4
  625. package/mobile/lib/components/Footer/Footer.js +3 -5
  626. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  627. package/mobile/lib/components/Footer/FooterProps.d.ts +6 -0
  628. package/mobile/lib/components/Footer/FooterProps.js +2 -0
  629. package/mobile/lib/components/Footer/FooterProps.js.map +1 -0
  630. package/mobile/lib/components/GracePeriod/GracePeriod.js +2 -2
  631. package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  632. package/mobile/lib/components/Header/Header.d.ts +2 -5
  633. package/mobile/lib/components/Header/Header.js +2 -5
  634. package/mobile/lib/components/Header/Header.js.map +1 -1
  635. package/mobile/lib/components/Header/HeaderContent.d.ts +0 -2
  636. package/mobile/lib/components/Header/HeaderProps.d.ts +8 -0
  637. package/mobile/lib/components/Header/HeaderProps.js +2 -0
  638. package/mobile/lib/components/Header/HeaderProps.js.map +1 -0
  639. package/mobile/lib/components/Header/HeaderTop.js +1 -1
  640. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  641. package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js +3 -8
  642. package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  643. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
  644. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  645. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +5 -5
  646. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  647. package/mobile/lib/components/LinkDocs/LinkDocs.js +2 -2
  648. package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  649. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  650. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  651. package/mobile/lib/components/OfficeMap/OfficeMap.js +1 -1
  652. package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  653. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
  654. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  655. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
  656. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  657. package/mobile/lib/components/RollupItem/RollupItem.js +4 -1
  658. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  659. package/mobile/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
  660. package/mobile/lib/components/SafeDepositRental/RadioButtons.js +11 -0
  661. package/mobile/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
  662. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  663. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  664. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
  665. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
  666. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  667. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  668. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  669. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  670. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  671. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  672. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
  673. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  674. package/mobile/lib/components/StepsBlock/renderStep.js +1 -1
  675. package/mobile/lib/components/StepsBlock/renderStep.js.map +1 -1
  676. package/mobile/lib/components/Tabs/ScrollableTabs.js +0 -1
  677. package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  678. package/mobile/lib/components/VerticalLayout/VerticalLayout.js +4 -14
  679. package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  680. package/mobile/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
  681. package/mobile/lib/hooks/useCarouselControls.d.ts +1 -1
  682. package/mobile/lib/hooks/useCarouselControls.js +5 -6
  683. package/mobile/lib/hooks/useCarouselControls.js.map +1 -1
  684. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
  685. package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  686. package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  687. package/mobile/lib/ui-kit/BlockWrapper.js +1 -1
  688. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  689. package/mobile/lib/ui-kit/LinkButton/LinkButton.js +1 -1
  690. package/mobile/lib/ui-kit/LinkList/LinkList.js +2 -2
  691. package/mobile/lib/ui-kit/LinkList/LinkList.js.map +1 -1
  692. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
  693. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  694. package/mobile/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
  695. package/mobile/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
  696. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  697. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  698. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
  699. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  700. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  701. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  702. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
  703. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
  704. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
  705. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
  706. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
  707. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  708. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  709. package/mobile/src/BlockRenderer/renderBlock.tsx +3 -6
  710. package/mobile/src/BlockRenderer/renderBlockList.tsx +29 -12
  711. package/mobile/src/BlockRenderer/renderChildren.ts +7 -6
  712. package/mobile/src/components/Blocks.ts +6 -0
  713. package/mobile/src/components/Bonus/Bonus.tsx +1 -1
  714. package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefits.tsx +2 -1
  715. package/mobile/src/components/Calculator/UnknownRate.tsx +1 -1
  716. package/mobile/src/components/Carousel/Carousel.tsx +47 -45
  717. package/mobile/src/components/Carousel/CarouselContent.ts +3 -9
  718. package/mobile/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
  719. package/mobile/src/components/Carousel/renderControlButtons.tsx +2 -4
  720. package/mobile/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +1 -2
  721. package/mobile/src/components/CarouselCard/CarouselCard.tsx +15 -21
  722. package/mobile/src/components/CarouselCard/constants.ts +2 -2
  723. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +3 -5
  724. package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
  725. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +1 -9
  726. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +2 -7
  727. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +6 -11
  728. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -22
  729. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -6
  730. package/mobile/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
  731. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
  732. package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
  733. package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
  734. package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
  735. package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
  736. package/mobile/src/components/ContentPage/ContentPage.tsx +68 -50
  737. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +24 -8
  738. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +5 -2
  739. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  740. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  741. package/mobile/src/components/Footer/Footer.tsx +7 -11
  742. package/mobile/src/components/Footer/FooterProps.ts +7 -0
  743. package/mobile/src/components/GracePeriod/GracePeriod.tsx +10 -4
  744. package/mobile/src/components/Header/Header.tsx +4 -15
  745. package/mobile/src/components/Header/HeaderContent.ts +0 -2
  746. package/mobile/src/components/Header/HeaderProps.ts +9 -0
  747. package/mobile/src/components/Header/HeaderTop.tsx +1 -1
  748. package/mobile/src/components/Header/sitemap.wcms-resource.json +144 -0
  749. package/mobile/src/components/HorizontalLayout/HorizontalLayout.tsx +3 -25
  750. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
  751. package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +5 -5
  752. package/mobile/src/components/LinkDocs/LinkDocs.tsx +3 -2
  753. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  754. package/mobile/src/components/OfficeMap/OfficeMap.tsx +6 -6
  755. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
  756. package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
  757. package/mobile/src/components/RollupItem/RollupItem.tsx +5 -2
  758. package/mobile/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +7 -2
  759. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
  760. package/mobile/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
  761. package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
  762. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
  763. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  764. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
  765. package/mobile/src/components/StepsBlock/renderStep.tsx +2 -2
  766. package/mobile/src/components/Tabs/ScrollableTabs.tsx +0 -1
  767. package/mobile/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
  768. package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
  769. package/mobile/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
  770. package/mobile/src/hooks/useCarouselControls.ts +8 -7
  771. package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
  772. package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +5 -3
  773. package/mobile/src/ui-kit/BlockWrapper.tsx +1 -1
  774. package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +1 -1
  775. package/mobile/src/ui-kit/LinkList/LinkList.tsx +2 -2
  776. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -3
  777. package/mobile/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
  778. package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
  779. package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
  780. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
  781. package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
  782. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
  783. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  784. package/package.json +2 -1
  785. package/src/BlockRenderer/renderBlock.tsx +3 -6
  786. package/src/BlockRenderer/renderBlockList.tsx +29 -12
  787. package/src/BlockRenderer/renderChildren.ts +7 -6
  788. package/src/components/Blocks.mobile.ts +6 -0
  789. package/src/components/Bonus/Bonus.tsx +1 -1
  790. package/src/components/BonusBenefitsBlock/renderBonusBenefits.mobile.tsx +2 -1
  791. package/src/components/Calculator/UnknownRate.tsx +1 -1
  792. package/src/components/Carousel/Carousel.fixture.mobile.tsx +8 -53
  793. package/src/components/Carousel/Carousel.fixture.tsx +4 -26
  794. package/src/components/Carousel/Carousel.tsx +47 -45
  795. package/src/components/Carousel/CarouselContent.ts +3 -9
  796. package/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
  797. package/src/components/Carousel/renderControlButtons.tsx +2 -4
  798. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.fixture.tsx +2 -7
  799. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.tsx +1 -2
  800. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +34 -67
  801. package/src/components/CarouselCard/CarouselCard.fixture.mobile.tsx +1 -1
  802. package/src/components/CarouselCard/CarouselCard.fixture.tsx +1 -1
  803. package/src/components/CarouselCard/CarouselCard.tsx +15 -21
  804. package/src/components/CarouselCard/constants.ts +2 -2
  805. package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +3 -5
  806. package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +5 -3
  807. package/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
  808. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +1 -9
  809. package/src/components/CarouselLinks/CarouselLinks.tsx +2 -7
  810. package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +5 -2
  811. package/src/components/CarouselProductCard/CarouselProductCard.tsx +6 -11
  812. package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -22
  813. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +1 -6
  814. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +24 -30
  815. package/src/components/CarouselRichTextCard/CarouselRichTextCard.fixture.tsx +1 -1
  816. package/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
  817. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
  818. package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +2 -2
  819. package/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
  820. package/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
  821. package/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
  822. package/src/components/ComparisonTable/HeaderCell.tsx +5 -10
  823. package/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
  824. package/src/components/ContentPage/ContentPage.tsx +68 -50
  825. package/src/components/ExchangeRateTile/CurrencyTable.tsx +24 -8
  826. package/src/components/ExchangeRateTile/CurrentLocation.tsx +5 -2
  827. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  828. package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.tsx +19 -0
  829. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  830. package/src/components/Footer/Footer.fixture.mobile.tsx +3 -1
  831. package/src/components/Footer/Footer.fixture.tsx +4 -17
  832. package/src/components/Footer/Footer.mobile.tsx +7 -11
  833. package/src/components/Footer/Footer.tsx +6 -10
  834. package/src/components/Footer/FooterProps.ts +7 -0
  835. package/src/components/GracePeriod/GracePeriod.tsx +10 -4
  836. package/src/components/Header/Header.fixture.mobile.tsx +5 -2
  837. package/src/components/Header/Header.fixture.tsx +4 -3
  838. package/src/components/Header/Header.mobile.tsx +4 -15
  839. package/src/components/Header/Header.tsx +8 -29
  840. package/src/components/Header/HeaderContent.ts +0 -2
  841. package/src/components/Header/HeaderProps.ts +9 -0
  842. package/src/components/Header/HeaderTop.tsx +1 -1
  843. package/src/components/Header/sitemap.wcms-resource.json +144 -0
  844. package/src/components/HorizontalLayout/HorizontalLayout.fixture.mobile.tsx +72 -0
  845. package/src/components/HorizontalLayout/HorizontalLayout.mobile.tsx +12 -0
  846. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
  847. package/src/components/InvestmentInfo/InvestmentInfo.tsx +5 -5
  848. package/src/components/LinkDocs/LinkDocs.tsx +3 -2
  849. package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  850. package/src/components/OfficeMap/OfficeMap.tsx +6 -6
  851. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
  852. package/src/components/ProductTile/ProductTile.fixture.mobile.tsx +214 -0
  853. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +1 -1
  854. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +1 -1
  855. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
  856. package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +15 -19
  857. package/src/components/RollupItem/RollupItem.tsx +5 -2
  858. package/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +7 -2
  859. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
  860. package/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
  861. package/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
  862. package/src/components/SafeDepositRental/SafeDepositRental.fixture.mobile.tsx +15 -0
  863. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
  864. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  865. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
  866. package/src/components/StepsBlock/renderStep.tsx +2 -2
  867. package/src/components/Tabs/ScrollableTabs.tsx +0 -1
  868. package/src/components/TariffsTable/TariffsTable.tsx +3 -3
  869. package/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
  870. package/src/components/VerticalLayout/VerticalLayout.fixture.mobile.tsx +0 -3
  871. package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +2 -9
  872. package/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
  873. package/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
  874. package/src/hooks/useCarouselControls.ts +8 -7
  875. package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
  876. package/src/ui-kit/BaseTile/BaseTile.tsx +5 -3
  877. package/src/ui-kit/BlockWrapper.tsx +1 -1
  878. package/src/ui-kit/LinkButton/LinkButton.tsx +1 -1
  879. package/src/ui-kit/LinkList/LinkList.tsx +2 -2
  880. package/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -3
  881. package/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
  882. package/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
  883. package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
  884. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
  885. package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
  886. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
  887. package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  888. package/tailwind.config.cjs +1 -7
  889. package/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
  890. package/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
  891. package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  892. package/bundle/components/Header/HeaderBurger.d.ts +0 -9
  893. package/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  894. package/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
  895. package/dist/components/Calculator/renderProposalMortgage.js +0 -10
  896. package/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
  897. package/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
  898. package/dist/components/CarouselCard/getCardWidth.js +0 -18
  899. package/dist/components/CarouselCard/getCardWidth.js.map +0 -1
  900. package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  901. package/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
  902. package/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  903. package/dist/components/Header/HeaderBurger.d.ts +0 -9
  904. package/dist/components/Header/HeaderBurger.js +0 -17
  905. package/dist/components/Header/HeaderBurger.js.map +0 -1
  906. package/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  907. package/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
  908. package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  909. package/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
  910. package/lib/components/Calculator/renderProposalMortgage.js +0 -7
  911. package/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
  912. package/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
  913. package/lib/components/CarouselCard/getCardWidth.js +0 -15
  914. package/lib/components/CarouselCard/getCardWidth.js.map +0 -1
  915. package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  916. package/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
  917. package/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  918. package/lib/components/Header/HeaderBurger.d.ts +0 -9
  919. package/lib/components/Header/HeaderBurger.js +0 -15
  920. package/lib/components/Header/HeaderBurger.js.map +0 -1
  921. package/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  922. package/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
  923. package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  924. package/mobile/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
  925. package/mobile/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
  926. package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  927. package/mobile/bundle/components/Header/HeaderBurger.d.ts +0 -9
  928. package/mobile/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  929. package/mobile/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
  930. package/mobile/dist/components/Calculator/renderProposalMortgage.js +0 -10
  931. package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
  932. package/mobile/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
  933. package/mobile/dist/components/CarouselCard/getCardWidth.js +0 -18
  934. package/mobile/dist/components/CarouselCard/getCardWidth.js.map +0 -1
  935. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  936. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
  937. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  938. package/mobile/dist/components/Header/HeaderBurger.d.ts +0 -9
  939. package/mobile/dist/components/Header/HeaderBurger.js +0 -17
  940. package/mobile/dist/components/Header/HeaderBurger.js.map +0 -1
  941. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  942. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
  943. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  944. package/mobile/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
  945. package/mobile/lib/components/Calculator/renderProposalMortgage.js +0 -7
  946. package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
  947. package/mobile/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
  948. package/mobile/lib/components/CarouselCard/getCardWidth.js +0 -15
  949. package/mobile/lib/components/CarouselCard/getCardWidth.js.map +0 -1
  950. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
  951. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
  952. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
  953. package/mobile/lib/components/Header/HeaderBurger.d.ts +0 -9
  954. package/mobile/lib/components/Header/HeaderBurger.js +0 -15
  955. package/mobile/lib/components/Header/HeaderBurger.js.map +0 -1
  956. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
  957. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
  958. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
  959. package/mobile/src/components/Calculator/renderProposalMortgage.tsx +0 -22
  960. package/mobile/src/components/CarouselCard/getCardWidth.tsx +0 -16
  961. package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
  962. package/mobile/src/components/Header/HeaderBurger.tsx +0 -54
  963. package/src/components/Calculator/renderProposalMortgage.tsx +0 -22
  964. package/src/components/CarouselCard/getCardWidth.tsx +0 -16
  965. package/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
  966. 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
 
@@ -1263,7 +1263,7 @@
1263
1263
 
1264
1264
  const Bonus = JSX((props) => {
1265
1265
  const { className = '', title, description, bonusItems, ...rest } = props;
1266
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-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
1266
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems?.length
1267
1267
  ? bonusItems.map((_, i) => (jsxs("div", { className: "flex-grow w-[49%] border border-gray p-9 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0", children: [_?.title ? jsx(Text, { size: "text-h4", children: _.title }) : null, _?.description ? (jsx("div", { className: "mt-xs", children: jsx(Paragraph, { size: "text-xl", font: "font-light", children: _.description }) })) : null, jsxs("div", { className: "flex justify-between items-end mt-3", children: [renderButtonsSection(_?.buttons), _.bonusItemContent?.bonusType
1268
1268
  ? renderBonusItemContent(_.bonusItemContent)
1269
1269
  : null] })] }, String(i))))
@@ -1321,12 +1321,14 @@
1321
1321
 
1322
1322
  const ButtonsBlock = JSX(({ buttons, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), defaultPadding: "p-0", ...rest, children: renderButtonsSection(buttons) })));
1323
1323
 
1324
- const useCarouselControls = (props) => {
1324
+ const useCarouselControls = (props, initialIndex = 0) => {
1325
1325
  const { itemCount, visibleItemCount } = props;
1326
- const [activeIndex, setActiveIndex] = useState(0);
1326
+ const [activeIndex, setActiveIndex] = useState(initialIndex);
1327
1327
  const inc = useCallback(() => setActiveIndex((_) => Math.min(_ + 1, itemCount - 1)), [itemCount]);
1328
1328
  const dec = useCallback(() => setActiveIndex((_) => Math.max(_ - 1, 0)), [itemCount]);
1329
- const canInc = isScrollable(props) && activeIndex < itemCount - (visibleItemCount || 1);
1329
+ const canInc = visibleItemCount
1330
+ ? itemCount > visibleItemCount && activeIndex < itemCount - visibleItemCount
1331
+ : activeIndex < itemCount - 1;
1330
1332
  const canDec = activeIndex > 0;
1331
1333
  const isScrollAvailable = canDec || canInc;
1332
1334
  return [
@@ -1340,9 +1342,6 @@
1340
1342
  },
1341
1343
  ];
1342
1344
  };
1343
- function isScrollable({ itemCount, visibleItemCount }) {
1344
- return Boolean(visibleItemCount && itemCount > visibleItemCount);
1345
- }
1346
1345
 
1347
1346
  const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `group/btn shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
1348
1347
  ? 'bg-secondary-light text-secondary-text'
@@ -1535,7 +1534,7 @@
1535
1534
  ],
1536
1535
  });
1537
1536
 
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"] }) })] })));
1537
+ const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-2xs pt-2xs pl-lg pb-xs", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-64 mt-m", children: jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] }) })] })));
1539
1538
 
1540
1539
  const defaultDiscriminator = (_) => _;
1541
1540
  const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
@@ -2134,8 +2133,7 @@
2134
2133
  }
2135
2134
  const BlockComponent = type && blocksRegistry[type];
2136
2135
  return blockDecorator({
2137
- blockClassName: style('scroll-mt-12', // TODO scroll-mt-12 ? here?
2138
- className, block.style || defaultStyle),
2136
+ blockClassName: style(block.style?.length ? block.style : defaultStyle, className),
2139
2137
  block,
2140
2138
  ancestors,
2141
2139
  // Adjusted by decorator block and blockClassName
@@ -2149,20 +2147,25 @@
2149
2147
  const DEFAULT_SLOT_NAME = null;
2150
2148
 
2151
2149
  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
- }));
2150
+ const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, extraProps, renderProps = renderBlock$1, ...options }) => {
2151
+ const renderChildBlock = extraProps
2152
+ ? (childBlock, childOptions) => renderBlock$1(childBlock, childOptions, extraProps)
2153
+ : renderProps;
2154
+ return (blocks || []).map((_, i) => renderChildBlock(_, {
2155
+ ...options,
2156
+ key: `${key ? key : _.type}-${i}`,
2157
+ ancestors: options.parent
2158
+ ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
2159
+ : ancestors,
2160
+ }, i));
2161
+ };
2159
2162
 
2160
- function renderChildren({ children, block, options, renderProps, }) {
2163
+ function renderChildren({ block, options, children, extraProps, renderProps, }) {
2161
2164
  if (children) {
2162
2165
  return children;
2163
2166
  }
2164
2167
  return block && options
2165
- ? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
2168
+ ? renderBlocksList(block.blocks, { ...options, parent: block, extraProps, renderProps })
2166
2169
  : null;
2167
2170
  }
2168
2171
 
@@ -2193,7 +2196,7 @@
2193
2196
  return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
2194
2197
  });
2195
2198
 
2196
- const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
2199
+ const childStyleMap = ['min-w-full', 'min-w-1/2', 'min-w-1/3', 'min-w-1/4'];
2197
2200
  const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', minHeight, children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
2198
2201
  const observerOptions = {
2199
2202
  sensitivity: 1,
@@ -2229,6 +2232,28 @@
2229
2232
  .filter(([_]) => _ && _.intersectionRatio >= 0.9)
2230
2233
  .map(([, i]) => i);
2231
2234
 
2235
+ const containerStyles = {
2236
+ 'horizontal-list': 'mx-auto mt-5 w-fit',
2237
+ 'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
2238
+ };
2239
+ const activeDotStyles = {
2240
+ 'horizontal-list': 'w-6',
2241
+ 'vertical-list': 'h-6',
2242
+ };
2243
+ const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
2244
+ const inactiveDotStyle = 'w-2 h-2 opacity-30';
2245
+ const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
2246
+ const handleClick = (idx) => {
2247
+ if (idx !== activeIndex && containerRef?.current) {
2248
+ containerRef.current.children[idx]?.scrollIntoView({
2249
+ behavior: 'smooth',
2250
+ block: 'nearest',
2251
+ });
2252
+ }
2253
+ };
2254
+ return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
2255
+ });
2256
+
2232
2257
  const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
2233
2258
 
2234
2259
  const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
@@ -2244,7 +2269,7 @@
2244
2269
  container.scrollTo({ left: 0, behavior: 'smooth' });
2245
2270
  };
2246
2271
 
2247
- const useSwipeListScroll = ({ itemCount, isCyclic, onVisibleIndicesChange, }) => {
2272
+ const useSwipeListScroll = ({ itemCount, onVisibleIndicesChange, }) => {
2248
2273
  const containerRef = useRef(null);
2249
2274
  const [visibleIndices, setVisibleIndices] = useState([]);
2250
2275
  const handleVisibleIndicesChange = useCallback((indices) => {
@@ -2260,42 +2285,40 @@
2260
2285
  if (!containerRef.current) {
2261
2286
  return;
2262
2287
  }
2263
- if (isCyclic && !canScrollLeft) {
2264
- scrollToEnd(containerRef.current);
2288
+ if (canScrollLeft) {
2289
+ scrollBy(containerRef.current)(itemCount, -1);
2265
2290
  }
2266
2291
  else {
2267
- scrollBy(containerRef.current)(itemCount, -1);
2292
+ scrollToEnd(containerRef.current);
2268
2293
  }
2269
- }, [isCyclic, itemCount, canScrollLeft]);
2294
+ }, [itemCount, canScrollLeft]);
2270
2295
  const scrollRight = useCallback(() => {
2271
2296
  if (!containerRef.current) {
2272
2297
  return;
2273
2298
  }
2274
- if (isCyclic && !canScrollRight) {
2275
- scrollToStart(containerRef.current);
2299
+ if (canScrollRight) {
2300
+ scrollBy(containerRef.current)(itemCount, 1);
2276
2301
  }
2277
2302
  else {
2278
- scrollBy(containerRef.current)(itemCount, 1);
2303
+ scrollToStart(containerRef.current);
2279
2304
  }
2280
- }, [itemCount, isCyclic, canScrollRight]);
2305
+ }, [itemCount, canScrollRight]);
2281
2306
  return [
2282
2307
  containerRef,
2283
2308
  {
2284
2309
  scrollLeft,
2285
2310
  scrollRight,
2286
- canScrollLeft: isCyclic || canScrollLeft,
2287
- canScrollRight: isCyclic || canScrollRight,
2311
+ canScrollLeft,
2312
+ canScrollRight,
2288
2313
  visibleIndicesRange: [minIndex, maxIndex],
2289
2314
  handleVisibleIndicesChange,
2290
2315
  },
2291
2316
  ];
2292
2317
  };
2293
2318
 
2294
- const ITEMS_GAP = 16;
2295
-
2296
2319
  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, }) => {
2320
+ const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
2321
+ const CarouselScrollButtons = JSX(({ scroll, activeIndex, itemCount, arrowsPadded, hasEdgeBlocks, onScrollLeft, onScrollRight, }) => {
2299
2322
  const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
2300
2323
  const canMoveLeft = hasEdgeBlocks ? activeIndex > 0 : canScrollLeft;
2301
2324
  const canMoveRight = hasEdgeBlocks ? activeIndex < itemCount - 1 : canScrollRight;
@@ -2317,74 +2340,33 @@
2317
2340
  onScrollRight();
2318
2341
  }
2319
2342
  }, [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] }));
2343
+ return (jsxs("div", { children: [renderBlur(scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'left-1 @lg:left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'right-1 @lg:right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
2321
2344
  });
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;
2345
+ const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] }));
2323
2346
 
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;
2344
- });
2345
-
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
- };
2347
+ const ITEMS_GAP = 16;
2352
2348
 
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 }) => {
2349
+ const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, ...rest }) => {
2354
2350
  const { blocks: childBlocks = [] } = rest.block || {};
2355
2351
  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({
2352
+ const [activeIndex, { inc: increaseActiveIndex, dec: decreaseActiveIndex }] = useCarouselControls({
2360
2353
  itemCount: count,
2361
- isCyclic,
2362
- });
2354
+ visibleItemCount,
2355
+ }, Math.floor(visibleItemCount / 2));
2356
+ const [containerRef, scroll] = useSwipeListScroll({ itemCount: count });
2363
2357
  const [dotsActiveIndex] = scroll.visibleIndicesRange;
2358
+ // TODO Remove
2364
2359
  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({
2360
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: style(isAlignCenter ? 'flex justify-center' : '', 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
2366
2361
  ...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
- })] }) }));
2362
+ renderProps: (block, options, blockIndex) => renderBlock$1(block, options, {
2363
+ className: style('h-full min-w-80 sm:min-w-96', noCardBorder
2364
+ ? ''
2365
+ : 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'),
2366
+ blockIndex,
2367
+ isActive: activeIndex === blockIndex,
2368
+ }),
2369
+ }) }), jsx(CarouselScrollButtons, { scroll: scroll, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: count, listType: "horizontal-list" })) : null] }) }));
2388
2370
  });
2389
2371
  Carousel.childrenTypes = [
2390
2372
  'CarouselCard',
@@ -2399,75 +2381,21 @@
2399
2381
  'CarouselInvestmentCard',
2400
2382
  'CarouselEventCard',
2401
2383
  ];
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
2384
 
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
- }
2385
+ const CarouselBankHistoryCard = JSX(({ className, title, description, blockIndex = 0, isActive, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex h-[485px]', isActive ? 'w-[440px] z-10' : 'w-[340px]', className), defaultPadding: "p-0", ...rest, children: jsx("div", { className: style('basis-full self-center', getBackColor(blockIndex)), children: isActive ? (jsx(Headline, { headlineVersion: "M", title: title, description: description, padding: "p-3xl", align: "text-left", className: "h-96 text-white shadow-dark-blue" })) : (jsx("div", { className: "h-[300px] flex justify-center items-center font-mohave text-title-large tracking-[-0.03em]", children: jsx("span", { className: getTextColor(blockIndex), children: title }) })) }) })));
2386
+ const getBackColor = (blockIndex) => ['bg-primary-main', 'bg-green-light', 'bg-yellow-light'][blockIndex % 3];
2387
+ const getTextColor = (blockIndex) => [
2388
+ 'gradient-color-text-on-green',
2389
+ 'gradient-color-text-on-yellow',
2390
+ 'gradient-color-text-on-yellow',
2391
+ ][blockIndex % 3];
2465
2392
 
2466
2393
  const titleSize = 'L';
2467
2394
 
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',
2395
+ const layerBaseStyle = 'z-10 border border-solid w-full h-full';
2396
+ const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
2397
+ const CarouselCard = JSX(({ className, title, description, button, ...rest }) => (jsx(BlockWrapper, { className: style('sm:pl-12 sm:pb-9', className), defaultPadding: "p-0", ...rest, children: jsxs("div", { className: "relative", children: [jsx("div", { className: style(layerStyle, 'top-9 right-12 bg-green-dark') }), jsx("div", { className: style(layerStyle, 'top-6 right-8 bg-green') }), jsx("div", { className: style(layerStyle, 'top-3 right-4 bg-green-light') }), jsxs("div", { className: style(layerBaseStyle, 'relative p-10 bg-white border-green-light'), children: [jsx(Headline, { title: title, description: description, headlineVersion: titleSize, align: "text-left", isPadding: false }), renderButtonsSection([button], {
2398
+ className: 'mt-6xl sm:justify-center',
2471
2399
  isVertical: true,
2472
2400
  })] })] }) })));
2473
2401
 
@@ -2475,7 +2403,7 @@
2475
2403
  black: 'bg-black',
2476
2404
  white: 'bg-white',
2477
2405
  };
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' })] })));
2406
+ const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-left gap-m', className), defaultPadding: "p-6xl sm:p-7", ...rest, children: [image?.src ? jsx(Img, { className: "flex justify-center", image: image }) : null, jsx(Headline, { title: title, description: description, headlineVersion: "XS", isPadding: false, align: "text-left" }), colors?.length ? (jsxs("div", { className: "flex text-secondary-text", children: [jsx("div", { className: "mr-xs", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'w-full' })] })));
2479
2407
  const renderColorOption = (color, i) => (jsx("div", { role: "figure", className: `w-6 h-6 ml-1 sm:ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
2480
2408
 
2481
2409
  const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
@@ -2486,7 +2414,7 @@
2486
2414
  });
2487
2415
 
2488
2416
  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] }) }));
2417
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-0", ...rest, children: jsxs(LinkWrapper, { className: "flex flex-col", href: href, target: target, children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mt-s ml-s mb-xs", title: title })) : null, description ? (jsx("div", { className: "ml-s mb-m", children: jsx(Text, { font: "font-light", size: "text-m", color: "text-secondary-text", children: description }) })) : null] }) }));
2490
2418
  });
2491
2419
 
2492
2420
  const imageAlignmentMap = {
@@ -2494,7 +2422,7 @@
2494
2422
  center: 'self-center',
2495
2423
  end: 'self-end',
2496
2424
  };
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 })] })] })));
2425
+ const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap @xl:flex-nowrap justify-between items-stretch gap-3xl", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, { className: '-order-1 @xl:order-1', imageAlign })] })] })));
2498
2426
  const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2499
2427
 
2500
2428
  const getItemListFontSize = (colValue) => (colValue === 1 ? 'text-h6' : 'text-l');
@@ -2502,7 +2430,7 @@
2502
2430
  1: 'flex-col',
2503
2431
  2: 'gap-x-10 flex-wrap',
2504
2432
  };
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] }) })));
2433
+ const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('text-left', className), padding: "p-0", ...rest, children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, title: title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-m z-10", title: title }) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, children: [jsxs("div", { className: "flex justify-between mb-4", children: [description ? (jsx("div", { className: "w-1/3", children: jsx(Text, { size: "text-h6", children: description }) })) : null, additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: style('list-none m-0 p-0 flex gap-y-2', cardColumnsModeStyleMap[columnsMode]), children: renderCardList(cardsList, columnsMode) })) : null] }) })));
2506
2434
  const renderCardList = (cardsList, columnsMode) => {
2507
2435
  const CARDS_COUNT_MAP = [4, 9];
2508
2436
  const visibleCardsList = cardsList.slice(0, CARDS_COUNT_MAP[columnsMode - 1]);
@@ -2510,7 +2438,7 @@
2510
2438
  };
2511
2439
 
2512
2440
  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]
2441
+ text-l font-light bg-white text-primary-text flex w-80
2514
2442
  justify-between items-center group-hover/link:text-primary-main z-10`;
2515
2443
  const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-[316px] top-0';
2516
2444
  const LinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
@@ -2520,10 +2448,10 @@
2520
2448
  });
2521
2449
 
2522
2450
  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] })));
2451
+ const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden', className), ...rest, children: [jsxs("div", { className: "mr-xl flex-auto", children: [jsx(Headline, { isPadding: false, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isPadding: false })) : null] }), links?.length ? renderLinks(links) : null] })));
2524
2452
  const renderLinks = (links) => {
2525
2453
  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
2454
+ return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "", itemCount: itemCount, arrowsPadded: false, showDots: true, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: "w-[672px] min-w-[672px] ml-10 mr-10 flex flex-wrap self-start", children: links
2527
2455
  .slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
2528
2456
  .map((link, index) => (jsx(LinkButton, { className: "m-1", ...link }, String(index)))) }, String(groupIndex)))) }));
2529
2457
  };
@@ -2550,7 +2478,7 @@
2550
2478
  const alignTextStyle = 'text-center';
2551
2479
 
2552
2480
  const CarouselProductCard = JSX(({ additionalDescription, align = alignTextStyle, button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isButtonFullWidth = true, isImageFullWidth = false, isTopPosition = false, items = [], target, title, version = 'primary', ...rest }) => {
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], {
2481
+ return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-m flex flex-col gap-xs", href: href, target: target, children: [renderCardTitle(headlineSmallVersion, title), renderDescription$2(description), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription), renderImage$2(icon, isImageFullWidth, isTopPosition)] }), renderButtonsSection([button], {
2554
2482
  className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
2555
2483
  isVertical: isButtonFullWidth,
2556
2484
  })] }));
@@ -2564,9 +2492,7 @@
2564
2492
  const cardTitleFont = 'font-normal';
2565
2493
  const cardDescriptionColor = 'text-secondary-text';
2566
2494
 
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
- });
2495
+ const CarouselProgramsCard = JSX(({ className, title, icon, list = [], href, target, ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-3xl sm:p-0", ...rest, children: jsxs(LinkWrapper, { className: "sm:flex sm:items-center", href: href, target: target, children: [jsx("div", { className: "flex justify-center px-xl", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }), jsxs("div", { className: "sm:px-s p-5xl", children: [title ? jsx(Heading, { className: "mb-xs sm:mb-m", headingType: "h6", title: title }) : null, list.length ? (jsx("div", { className: "flex flex-col gap-xs sm:gap-s", children: list?.map(renderList$2) })) : null] })] }) })));
2570
2496
  const renderList$2 = (_, i) => (jsxs("div", { className: "flex flex-row-reverse justify-between gap-y-2xs sm:flex-col", children: [_.title ? (jsx(Text, { size: "text-l", font: cardTitleFont, children: _.title })) : null, _.description ? (jsx(Paragraph, { size: "text-l", font: "font-light", color: cardDescriptionColor, children: _.description })) : null] }, String(i)));
2571
2497
 
2572
2498
  const buttonSizeStyles = {
@@ -2622,19 +2548,16 @@
2622
2548
 
2623
2549
  const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-1 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) }), jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })] })));
2624
2550
 
2625
- const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
2626
-
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)] }) }));
2551
+ const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2552
+ return (jsx(BlockWrapper, { className: style('relative min-h-[218px] group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isPadding: false, align: align })) : null, backImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null, children: items.length ? jsx(List, { items: items, listItemSize: "S" }) : null }) }) }));
2629
2553
  });
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
2554
 
2632
2555
  const RichText = JSX((props) => {
2633
2556
  const { __html = '', richVersion = '' } = props;
2634
2557
  return (jsx("div", { className: style(richVersion, 'md-container'), dangerouslySetInnerHTML: { __html } }));
2635
2558
  });
2636
2559
 
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 }) })));
2560
+ const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: className, ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
2638
2561
 
2639
2562
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
2640
2563
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
@@ -2670,9 +2593,9 @@
2670
2593
  const cellsNode = cardCells.map(renderCardInfo);
2671
2594
  const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
2672
2595
  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] }));
2596
+ return (jsxs(BlockWrapper, { className: style('relative flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock$1(icon), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-m", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
2674
2597
  });
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 }));
2598
+ const renderIconBlock$1 = (icon) => (jsx("div", { className: "basis-full self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2676
2599
  const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-5 flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
2677
2600
  const renderHitIcon = () => (jsxs("div", { className: "absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22" }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: "\u0425\u0418\u0422" })] }));
2678
2601
 
@@ -2683,7 +2606,7 @@
2683
2606
  const COLS_LENGTH_FOR_SCROLL$1 = 3;
2684
2607
  const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
2685
2608
 
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 }) }) }))] })));
2609
+ const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col gap-m items-center rounded-t-md border-b-0 p-2xl ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })), image?.src && jsx(Img, { image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-s", children: link.text }) }) }))] })));
2687
2610
 
2688
2611
  const carouselContainerClassesMap = {
2689
2612
  comparison: 'flex gap-4 duration-1000',
@@ -2712,7 +2635,7 @@
2712
2635
  return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeIndex: activeIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable
2713
2636
  ? renderArrows({
2714
2637
  ...controls,
2715
- btnClass: ['top-[108px]', 'top-[44px]'],
2638
+ btnClass: ['top-28', 'top-12'],
2716
2639
  className: 'right-7',
2717
2640
  isDisabled: true,
2718
2641
  })
@@ -2733,7 +2656,7 @@
2733
2656
  visibleItemCount: COLS_LENGTH_FOR_SCROLL$1,
2734
2657
  });
2735
2658
  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] }));
2659
+ return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
2737
2660
  });
2738
2661
 
2739
2662
  const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
@@ -2743,11 +2666,11 @@
2743
2666
  ? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
2744
2667
  : null] }));
2745
2668
  });
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 ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2669
+ const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-6xl", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-m py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2747
2670
 
2748
2671
  const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
2749
2672
  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;
2673
+ const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-xl first:mt-0", children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isPadding: false }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, button?.href ? jsx(Button, { className: "mt-xl", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
2751
2674
 
2752
2675
  const isEmpty = (v) => v === null ||
2753
2676
  v === undefined ||
@@ -2936,18 +2859,19 @@
2936
2859
  const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
2937
2860
 
2938
2861
  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`;
2862
+ const TABLE_HEAD_STYLE_WITH_PADDING = `${TABLE_HEAD_STYLE} pl-5xl`;
2940
2863
  const CURRENCY_ICONS_MAP = {
2941
2864
  USD: 'DollarIcon',
2942
2865
  EUR: 'EuroIcon',
2943
2866
  };
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) })] })));
2867
+ const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: jsx(Text, { size: "text-m", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041A\u0443\u043F\u0438\u0442\u044C" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" }) })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map(renderCurrencyRow) })] })));
2945
2868
  const renderCurrencyRow = (exchangeCurrencyItem) => {
2946
2869
  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));
2870
+ return (jsxs("tr", { className: "pb-2xs text-h6", children: [jsx("td", { className: "pt-m", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24", className: "mr-2" })) : null, jsx(Text, { size: "text-h6", children: currency })] }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) }) })] }, currency));
2948
2871
  };
2949
2872
 
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" })] })] })));
2873
+ const icon = { icon: 'GpsIcon' };
2874
+ const CurrentLocation$1 = JSX(({ className = '', address }) => (jsxs("div", { className: `flex gap-s ${className}`, children: [jsx(RoundedIcon, { ...icon, iconBgVersion: "primary" }), jsxs("div", { className: "space-y-2xs", children: [address ? jsx("p", { className: "text-primary-main text-l", children: address }) : null, jsx("p", { className: "text-secondary-text text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
2951
2875
 
2952
2876
  const roundTo = (value, precision = 2) => {
2953
2877
  const factor = 10 ** precision;
@@ -2995,7 +2919,7 @@
2995
2919
  selectBuy: currencyRatesSell?.[0]?.currency?.currency || Currency.USD,
2996
2920
  });
2997
2921
  const handleSetCalcState = useCallback((newState) => setCalcState((oldState) => ({ ...oldState, ...newState })), []);
2998
- return (jsxs("div", { className: `grid gap-[18px] pt-2 ${className}`, children: [renderInput({
2922
+ return (jsxs("div", { className: `grid gap-m pt-2xl ${className}`, children: [renderInput({
2999
2923
  placeholder: 'Хочу продать',
3000
2924
  rates: currencyRatesSell,
3001
2925
  selected: calcState.selectSell,
@@ -3090,7 +3014,7 @@
3090
3014
  currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
3091
3015
  const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
3092
3016
  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] }) }) }));
3017
+ return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-6xl flex-wrap", children: [jsxs("div", { children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-xl", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
3094
3018
  });
3095
3019
  const getCurrencyRates = (currencies) => {
3096
3020
  return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
@@ -3382,7 +3306,7 @@
3382
3306
  });
3383
3307
  const searchItems = useMemo(() => combineTopItemsAndSearchResult(topItems)(searchResult), [topItems, searchResult]);
3384
3308
  useEffect(() => printSearchItems(searchItems), [searchItems]); // Temp
3385
- return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { className: "my-5", autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
3309
+ return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
3386
3310
  });
3387
3311
  const combineTopItemsAndSearchResult = (topItems) => (searchResult) => topItems?.length && searchResult?.length
3388
3312
  ? zip(topItems, searchResult).map(([_, portalSearchResult]) => ({
@@ -3451,14 +3375,12 @@
3451
3375
  const TextInformation = JSX(({ className = '', links }) => (jsxs("div", { className: className, children: [jsx("div", { className: "pt-4 xl:pt-5", children: jsx(Text, { size: "text-xs", font: "font-light", color: "text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-4", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, ..._ }, String(i)))) })) : null] })));
3452
3376
 
3453
3377
  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);
3378
+ const Footer = JSX(({ className, sitemap, ...rest }) => {
3379
+ const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', rest.options?.page?.fallback);
3458
3380
  return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden space-y-xl`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: sitemap?.topItems })] }), jsx(HorizontalNavigation, { className: "mt-24", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3459
3381
  });
3460
3382
 
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] })));
3383
+ const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "M", isPadding: false }), calendar ? renderCalendar(calendar) : null] })));
3462
3384
  const renderCalendar = (calendar) => {
3463
3385
  const colCount = calendar.reduce((accumulator, currentValue) => currentValue?.month?.length ? accumulator + currentValue.month.length : accumulator, 0) || 1;
3464
3386
  const colSize = 100 / colCount;
@@ -3469,61 +3391,27 @@
3469
3391
  // Condition lower is always true, TS does not understand this, notice filter above
3470
3392
  flexBasis: `${_?.month?.length ? _.month.length * colSize : ''}%`,
3471
3393
  }));
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}`))) })] }));
3394
+ return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex gap-s w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-s border-r border-main-divider last:border-r-0 last:pr-0", style: { flexBasis: _.flexBasis }, children: [jsx("div", { className: "flex", children: renderMonthImages(_) }), jsxs("div", { className: "text-s font-light text-primary-text mt-s", children: [jsx("span", { children: _.text }), "\u2009", jsx("span", { className: "text-primary-main", children: _.greenText })] })] }, `monthItem-${ind}`))) })] }));
3473
3395
  };
3474
3396
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
3475
3397
  const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r pr-3 mr-3 border-main-divider last:border-r-0 last:pr-0 last:mr-0", children: jsx(Img, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
3476
3398
 
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
3399
  const isHrefActive = (router) => ({ href }) => withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
3524
3400
 
3525
3401
  const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
3526
3402
 
3403
+ const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
3404
+ const link = useLink({ isRemote: true });
3405
+ const { href, target, text, onClick } = link(rest);
3406
+ return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
3407
+ });
3408
+ const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
3409
+ ? 'rounded-md border-primary-main group-data-transparent:border-white'
3410
+ : 'border-transparent', flat ? '' : 'px-4 py-2');
3411
+ const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
3412
+ ? 'text-primary-main'
3413
+ : style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
3414
+
3527
3415
  const REGIONS_URL = '/api/v1/regions';
3528
3416
  function useRegions() {
3529
3417
  const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
@@ -3541,7 +3429,7 @@
3541
3429
  };
3542
3430
 
3543
3431
  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
3432
+ return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-44 gap-3.5 pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-4 w-full peer text-l text-black border border-solid rounded-md box-border
3545
3433
  outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value.toLowerCase()), type: "text", name: "location-search-bar-input" })] }));
3546
3434
  });
3547
3435
 
@@ -3556,7 +3444,7 @@
3556
3444
  dialogProps.onClose && dialogProps.onClose();
3557
3445
  onChangeLocation && onChangeLocation(region);
3558
3446
  }, [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
3447
+ return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
3560
3448
  .filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
3561
3449
  .map(renderRegion(handleChangeLocation)) })) : (jsx("div", { className: "columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation)) })), jsx(ForeignOffices, { foreignOffices: foreignOffices })] }));
3562
3450
  });
@@ -3568,7 +3456,7 @@
3568
3456
  const CurrentLocation = JSX(({ currentLocation, onChangeLocation }) => currentLocation ? (jsxs("div", { className: "mb-4", children: [jsx(Text, { size: "text-l", font: "font-light", children: "\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:\u00A0" }), jsx("button", { className: "cursor-pointer", onClick: () => {
3569
3457
  onChangeLocation && onChangeLocation(currentLocation);
3570
3458
  }, 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));
3459
+ const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-56", children: [jsx("div", { className: "mb-s", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
3572
3460
  const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-2xs", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
3573
3461
  onChangeLocation && onChangeLocation(region);
3574
3462
  }, children: region.name || '' }) }, region.id));
@@ -3579,18 +3467,6 @@
3579
3467
  return (jsxs("div", { className: "flex gap-x-3", children: [icon ? jsx(Img, { pathPrefix: "/wcms-resources/", image: icon }) : null, text ? (jsx("a", { className: "hover:text-primary-hover", href: href, target: target, onClick: onClick, children: text })) : null] }));
3580
3468
  });
3581
3469
 
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
3470
  const BUTTON_SIZE_STYLE = {
3595
3471
  default: 'w-6 h-6',
3596
3472
  large: 'w-12 h-12',
@@ -3732,12 +3608,11 @@
3732
3608
  'bg-white': 'primary',
3733
3609
  transparent: 'transparent',
3734
3610
  };
3735
- const Header = JSX(({ bgColor = 'bg-white', className, showSubMenu = true, version = BG_COLOR_TO_BLOCK_VERSION[bgColor], ...rest }) => {
3611
+ const Header = JSX(({ className, bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], sitemap, location, ...rest }) => {
3736
3612
  const router = useRouter();
3737
- const { topItems, logo, defaultLocation, foreignOffices, officesLink, internetBankUrl } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
3613
+ const { topItems, logo, officesLink, internetBankUrl } = sitemap || {};
3738
3614
  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 })] }));
3615
+ return (jsx(BlockWrapper, { tag: "header", className: style('pt-3xl px-20', activeTopItem?.items?.length ? 'pb-m' : 'pb-lg', className), defaultPadding: "", version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location?.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-xl h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }) }));
3741
3616
  });
3742
3617
 
3743
3618
  const gapStyles = {
@@ -3798,7 +3673,7 @@
3798
3673
  const btnClassName = isActive
3799
3674
  ? 'shadow-dark-blue border-primary-main'
3800
3675
  : `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)));
3676
+ return (jsxs("button", { type: "button", onClick: onClick, className: `p-3xl min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-5 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "108", height: "108" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock$1('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock$1('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
3802
3677
  }
3803
3678
  function renderValueBlock$1(title, sum) {
3804
3679
  return (jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [jsxs("span", { className: "text-h6", children: [toLocalNumberFormat(2)(sum), " \u20BD"] }), jsx("span", { className: "text-secondary-text text-l mt-1", children: title })] }));
@@ -3840,11 +3715,11 @@
3840
3715
  'green-dark': 'bg-green-dark',
3841
3716
  };
3842
3717
  const investmentCellSizeMap = {
3843
- XS: 'h-[40px]',
3844
- S: 'h-[68px]',
3845
- M: 'h-[102px]',
3846
- L: 'h-[136px]',
3847
- XL: 'h-[204px]',
3718
+ XS: 'h-10',
3719
+ S: 'h-16',
3720
+ M: 'h-24',
3721
+ L: 'h-32',
3722
+ XL: 'h-52',
3848
3723
  };
3849
3724
  const InvestmentInfo = JSX((props) => {
3850
3725
  const { className = '', items, isDotted, investmentZeroColumn, investmentColumns, ...rest } = props;
@@ -3906,7 +3781,7 @@
3906
3781
  };
3907
3782
  const LinkDocs = JSX(({ className = '', title, description, align = 'text-center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
3908
3783
  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] }));
3784
+ return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, align: align, headlineVersion: "M", as: "h2", isPadding: false }), documents?.length ? (jsx("div", { className: style('mt-5 sm:mt-8 flex flex-col gap-6', linkColumnsModeStyleMap[columnsMode]), role: "list", children: documents.map(renderLinkDocItem(router, columnsMode, icon)) })) : null] }));
3910
3785
  });
3911
3786
  const renderLinkDocItem = (router, columnsMode, icon) => (docBlockDef, i) => {
3912
3787
  const href = docBlockDef?.docType === 'Attachment'
@@ -3915,7 +3790,7 @@
3915
3790
  const fileSize = docBlockDef?.docType === 'Attachment'
3916
3791
  ? formatBytes(docBlockDef?.attachment?.fileSize || 0)
3917
3792
  : 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)));
3793
+ return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { text: docBlockDef?.text, target: docBlockDef?.target, href: href, fileSize: fileSize, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
3919
3794
  };
3920
3795
 
3921
3796
  const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-5 pt-3xs sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
@@ -3925,7 +3800,7 @@
3925
3800
  };
3926
3801
 
3927
3802
  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]';
3803
+ const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
3929
3804
  return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-6xl", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 4 }), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-m items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items), image?.src ? jsx(Img, { image: image }) : null] })] }) }));
3930
3805
  });
3931
3806
 
@@ -4145,7 +4020,7 @@
4145
4020
  setPointsToRender(normalizedPoints);
4146
4021
  }
4147
4022
  };
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
4023
+ return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-1/2 ${zIndex}`, children: showSearchField
4149
4024
  ? renderSearchField(mockPoints, yandexMaps, updatePointsToRender)
4150
4025
  : renderOpenMap(pointsCenter) }), jsx("div", { className: `${Object.values(FULLSCREEN_STYLES).join(' ')} ${zIndex} right-2 top-4 bg-white`, onClick: toggleFullscreen, children: jsx(Icon, { name: "FullScreenIcon", width: "16", height: "16" }) }), jsxs("div", { className: `absolute right-2 top-52 z-10 w-12 overflow-hidden border border-transparent rounded-md ${zIndex}`, children: [jsx(ZoomButton, { yandexMaps: map }), jsx(ZoomButton, { yandexMaps: map, direction: "out" })] }), renderUserGeolocation(map.current, yandexMaps, `right-2 top-80 ${zIndex}`)] }));
4151
4026
  });
@@ -4287,11 +4162,11 @@
4287
4162
  ];
4288
4163
  const currentWeekDayInd = new Date().getDay();
4289
4164
  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) })] })] }));
4165
+ return (jsxs("div", { className: `flex flex-col font-sans w-full ${className}`, children: [jsxs("div", { className: "flex flex-col gap-m p-6xl pb-3xl", children: [jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "text-h2", children: name }), renderCurrentDaySchedule(currentWeekDay)] }), jsxs("div", { className: "flex text-l font-light", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24", className: "pr-1" }), address] }), jsx("div", { className: "flex", children: nearbyOffices.map(renderNearbyOffice) })] }), jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "flex-grow h-full w-full overflow-hidden", children: point ? jsx(YandexMap, { points: [point], className: "h-full" }) : null }), jsx("div", { className: "w-[434px] min-w-[434px] p-6xl pt-0 flex flex-col", children: workScheduleWeek.map(renderDay) })] })] }));
4291
4166
  });
4292
4167
 
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)}`));
4168
+ const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col gap-lg', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none space-y-lg", children: servicesList.map(renderListItems) })) : null] })));
4169
+ const renderListItems = (itemList, i) => (jsxs("li", { className: "flex gap-s list-none ", children: [itemList.icon ? (jsx(Img, { className: "min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", image: itemList.icon })) : null, itemList.label ? (jsx(Text, { size: "text-l", font: "font-light", children: itemList.label })) : null] }, `list_item_${String(i)}`));
4295
4170
 
4296
4171
  const ParagraphBlock = JSX(({ text, size, align, font, children, ...rest }) => (jsx(BlockWrapper, { defaultPadding: "p-0", ...rest, children: jsx(Paragraph, { size: size, align: align, font: font, children: text || children }) })));
4297
4172
 
@@ -4393,14 +4268,10 @@
4393
4268
  return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
4394
4269
  }
4395
4270
 
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] })] }));
4271
+ const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h4", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock('Адрес', address, 'GeolocationIcon'), renderBlock('Телефон', telephone, 'PhoneIcon'), renderBlock('E-mail', email, 'MailIcon'), button?.text ? renderButtonsSection([button]) : null] })] })));
4272
+ const renderIconBlock = (icon) => (jsx("div", { className: 'w-10 h-7 sm:w-24 sm:h-16', children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
4273
+ const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5", children: jsx(RichText, { __html: __html }) }));
4274
+ const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex gap-m", children: [jsx(Icon, { iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
4404
4275
 
4405
4276
  const RichTextBlock = JSX((props) => {
4406
4277
  const { __html, richVersion, ...rest } = props;
@@ -4419,7 +4290,10 @@
4419
4290
  const rollupItemStyles = 'border-0 border-b border-solid border-main-divider last:border-b-0';
4420
4291
 
4421
4292
  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({
4293
+ return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren({
4294
+ ...rest,
4295
+ extraProps: { className: 'w-full', padding: 'p-0' },
4296
+ }) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({
4423
4297
  version,
4424
4298
  label,
4425
4299
  labelIcon,
@@ -4453,27 +4327,27 @@
4453
4327
  return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
4454
4328
  });
4455
4329
 
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" }) })] })));
4330
+ const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col sm:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
4457
4331
 
4458
4332
  const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-primary-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text ml-3 cursor-pointer", children: text }) : null] }) })));
4459
4333
 
4460
- const RenderRadioButtons = JSX(() => {
4334
+ const RadioButtons = JSX(({ className }) => {
4461
4335
  const [selectedOption, setSelectedOption] = useState('option2');
4462
4336
  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 })] }));
4337
+ return (jsxs("div", { className: style('order-4', className), children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
4464
4338
  });
4465
4339
 
4466
4340
  const ITEMS = ['От 1 дня', 'До 365 дней'];
4467
4341
  const MIN = 1;
4468
4342
  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 })] })));
4343
+ const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "order-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
4470
4344
 
4471
4345
  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" }) })] }));
4346
+ return (jsxs("div", { className: "flex flex-col sm:flex-row gap-4 order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
4473
4347
  });
4474
4348
 
4475
4349
  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 })] })] }));
4350
+ return (jsxs("div", { className: "contents sm:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents sm:flex justify-between items-center", children: [jsx(RadioButtons, { className: "mb-4 sm:mb-0" }), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] }));
4477
4351
  });
4478
4352
  const onSelectedBranch = (onChange) => (value) => {
4479
4353
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
@@ -4484,10 +4358,11 @@
4484
4358
 
4485
4359
  const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
4486
4360
  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"] })] })] }));
4361
+ const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
4362
+ return (jsxs("div", { className: "contents sm:flex flex-col justify-between order-2", children: [jsxs("div", { className: "flex flex-col sm:flex-row gap-x-11 gap-y-7 order-5 sm:order-none py-7 sm:py-0 border-t border-main-divider sm:border-none", children: [renderTotal('Аренда за', days), renderTotal('Цена', price + ' ₽')] }), jsx("span", { className: "sm:hidden order-3 mb-2 text-s-light text-secondary-text", children: imageDescription }), jsxs("div", { className: "flex flex-col items-center gap-3 order-3 sm:order-none mb-6 sm:mb-0 bg-primary-main py-3 sm:p-8 text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, className: "sm:h-[246px]" }), jsx("span", { className: "hidden sm:inline text-s font-light text-white opacity-80 whitespace-pre-line", children: imageDescription })] })] }));
4488
4363
  });
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 })] }));
4364
+ const renderTotal = (label, total) => {
4365
+ return (jsxs("div", { className: "flex justify-between items-center gap-y-1 sm:flex-col sm:items-start", children: [jsx("div", { className: "text-l font-light text-secondary-text", children: label }), jsx("span", { className: "text-l sm:text-h3 text-primary-text", children: total })] }));
4491
4366
  };
4492
4367
  const calculatePrice = (days, tariffs) => {
4493
4368
  const tariffType = getTariffType(days);
@@ -4534,7 +4409,7 @@
4534
4409
  const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
4535
4410
  const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
4536
4411
  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 })] }));
4412
+ return (jsxs("div", { className: "flex flex-col sm:flex-row gap-x-9 align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
4538
4413
  });
4539
4414
  const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
4540
4415
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
@@ -4590,7 +4465,7 @@
4590
4465
  };
4591
4466
  const renderDefaultStep = ({ styleMap, isMainButton, version }) => (step, i, arr) => {
4592
4467
  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)));
4468
+ return (jsxs("div", { className: style('relative flex flex-col items-center text-center justify-between whitespace-pre-line overflow-hidden space-y-3xl', getContainerWidth(arr.length)), children: [jsxs("div", { className: "text-center space-y-xs", children: [label ? (jsx("div", { children: jsx(Text, { size: "text-h6", children: label }) })) : null, jsxs("div", { className: "flex flex-col items-center gap-3xs", children: [description ? jsx("div", { className: styleMap.description, children: description }) : null, jsx(List, { className: styleMap.description, items: items, listItemSize: "M", isDotted: isDotted })] })] }), button?.text && !isMainButton ? (jsx(Button, { className: "box-border py-s w-full max-w-60 mt-auto", version: version, ...button, children: button?.text })) : null] }, String(i)));
4594
4469
  };
4595
4470
  const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[200px]');
4596
4471
 
@@ -4734,7 +4609,6 @@
4734
4609
  const { tabs, ...rest } = props;
4735
4610
  const [containerRef, scroll] = useSwipeListScroll({
4736
4611
  itemCount: tabs?.length || 0,
4737
- isCyclic: false,
4738
4612
  });
4739
4613
  return (jsxs("div", { className: "relative max-w-full m-auto", children: [jsx("div", { className: `font-sans max-w-full w-full overflow-hidden relative bg-white`, children: jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: tabs?.map(renderTab({ ...rest })) }) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: `${scrollButtonStyle} left-6`, onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: `${scrollButtonStyle} rotate-180 right-6`, onClick: scroll.scrollRight })) : null] }));
4740
4614
  });
@@ -4941,15 +4815,15 @@
4941
4815
  });
4942
4816
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
4943
4817
  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 }))] }));
4818
+ return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
4945
4819
  });
4946
4820
  const Wrapper = JSX(({ children, controls }) => {
4947
4821
  const { isScrollAvailable } = controls;
4948
4822
  return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
4949
4823
  ...controls,
4950
- btnClass: ['top-[108px]', 'top-[44px]'],
4824
+ btnClass: ['top-28', 'top-11'],
4951
4825
  className: 'right-7',
4952
- })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
4826
+ })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
4953
4827
  });
4954
4828
 
4955
4829
  const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-3 sm:gap-4 bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? jsx("div", { className: "mt-1", children: renderIcon() }) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-1 sm:gap-2", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
@@ -4963,21 +4837,18 @@
4963
4837
 
4964
4838
  const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, listItemSize: listItemSize, ...rest }) })));
4965
4839
 
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
- });
4840
+ const VerticalLayout = JSX(({ className = '', gap = '', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex flex-col', gapStyles[gap], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
4841
+ ...rest,
4842
+ extraProps: { className: 'w-full', padding: isInnerPadding ? '' : 'p-0' },
4843
+ }) })));
4979
4844
  VerticalLayout.childrenTypes = [];
4980
4845
 
4846
+ const getColSpan = (className) => {
4847
+ const colSpanPrefix = 'col-span-';
4848
+ const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
4849
+ return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
4850
+ };
4851
+
4981
4852
  const MIN_COL_SPAN = 10;
4982
4853
  const getPaddings = (className) => getColSpan(className) < MIN_COL_SPAN ? 'py-6 px-11' : 'py-12 px-32';
4983
4854
 
@@ -5047,6 +4918,52 @@
5047
4918
  ExchangeRateOffice,
5048
4919
  };
5049
4920
 
4921
+ const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
4922
+ function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
4923
+ const cachedFetcher = useCallback(async (...args) => {
4924
+ const storageKey = `async:${key}`;
4925
+ const storageData = storage.getItem(storageKey);
4926
+ const cachedData = getParsedData(storageData);
4927
+ if (cachedData) {
4928
+ return cachedData;
4929
+ }
4930
+ const data = await fetcher(...args);
4931
+ storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
4932
+ return data;
4933
+ }, [key, fetcher]);
4934
+ return useAsyncData(key, cachedFetcher);
4935
+ }
4936
+ function getParsedData(storageData) {
4937
+ const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
4938
+ return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
4939
+ }
4940
+
4941
+ const REGION_URL = '/api/v1/region';
4942
+ function useLocation(defaultLocation = 'Москва') {
4943
+ const currentLocation = getLocalStorageLocation();
4944
+ const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
4945
+ const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
4946
+ useEffect(() => {
4947
+ setLocation(currentLocation?.region && currentLocation?.manual
4948
+ ? currentLocation.region
4949
+ : data || { name: defaultLocation });
4950
+ }, [data]);
4951
+ const onChangeLocation = useCallback((region) => {
4952
+ globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
4953
+ setLocation(region);
4954
+ }, []);
4955
+ return [location, onChangeLocation];
4956
+ }
4957
+ const getLocalStorageLocation = () => {
4958
+ const localStorageLocation = globalThis.localStorage?.getItem('location');
4959
+ try {
4960
+ return localStorageLocation ? JSON.parse(localStorageLocation) : null;
4961
+ }
4962
+ catch (_) {
4963
+ return null;
4964
+ }
4965
+ };
4966
+
5050
4967
  const debounce = (fn, delay = 600) => {
5051
4968
  let timerId;
5052
4969
  const debouncedCallback = (...args) => {
@@ -5160,9 +5077,8 @@
5160
5077
  return (jsxs("div", { className: `border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${className}`, children: [jsx(LikeButton, { onClick: handlerDecorator(likeService.like), ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u043B\u0430\u0439\u043A\u00BB" }), jsx(LikeButton, { onClick: handlerDecorator(likeService.dislike), className: "rotate-180", ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u0434\u0438\u0437\u043B\u0430\u0439\u043A\u00BB" }), jsx("span", { className: "select-none", children: likeService.likeCount })] }));
5161
5078
  });
5162
5079
 
5163
- const ContentPage = JSX((props) => {
5164
- const { className = '', blocksRegistry, blockDecorator, data = {} } = props;
5165
- const { style: pageStyle, blocks, slots, likeControl, colorPalette = 'pc' } = data;
5080
+ const ContentPage = JSX(({ className, blocksRegistry, blockDecorator, data = {} }) => {
5081
+ const { style: pageStyle, slots, likeControl, colorPalette = 'pc' } = data;
5166
5082
  const options = {
5167
5083
  key: '',
5168
5084
  page: data,
@@ -5170,6 +5086,8 @@
5170
5086
  blockDecorator,
5171
5087
  parent: data,
5172
5088
  };
5089
+ const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', data?.fallback);
5090
+ const [location, onChangeLocation] = useLocation(sitemap?.defaultLocation);
5173
5091
  useBlockRouterProvider();
5174
5092
  const [isSomeDialogOpened, { setTrue: setSomeDialogOpened, setFalse: resetSomeDialogOpened }] = useBool();
5175
5093
  useDialogHandlers({
@@ -5179,12 +5097,12 @@
5179
5097
  return (jsxs("section", { className: style('relative', pageStyle, className, isSomeDialogOpened ? 'overflow-hidden h-screen' : ''), "data-theme": colorPalette, children: [slots?.header ? (jsx("div", { className: "mb-5 shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, {
5180
5098
  ...options,
5181
5099
  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' } })] }));
5100
+ extraProps: { sitemap, location },
5101
+ }) })) : null, jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, {
5102
+ ...options,
5103
+ slotName: 'footer',
5104
+ extraProps: { sitemap, location },
5105
+ })] }), likeControl ? renderLikeControl() : null, jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } }), jsx(SearchDialog, { topItems: sitemap?.topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: sitemap?.foreignOffices, onChangeLocation: onChangeLocation })] }));
5188
5106
  });
5189
5107
  ContentPage.childrenTypes = [];
5190
5108
  ContentPage.slots = () => ['header', 'footer'];
@@ -5192,7 +5110,7 @@
5192
5110
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
5193
5111
  }
5194
5112
 
5195
- const packageVersion = "0.12.11";
5113
+ const packageVersion = "0.12.12";
5196
5114
 
5197
5115
  exports.Blocks = Blocks;
5198
5116
  exports.ContentPage = ContentPage;