@redneckz/wildless-cms-uni-blocks 0.3.74 → 0.3.76

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 (636) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +272 -204
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/api/DaDataAPI.js.map +1 -1
  5. package/dist/api/LikeAPI.js.map +1 -1
  6. package/dist/components/Accordion/Accordion.mobile.js +1 -1
  7. package/dist/components/Accordion/Accordion.mobile.js.map +1 -1
  8. package/dist/components/Accordion/AccordionItem.mobile.js +1 -1
  9. package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
  10. package/dist/components/Accordion/AccordionItemInner.js +1 -2
  11. package/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  12. package/dist/components/Accordion/AccordionItemInner.mobile.js +1 -2
  13. package/dist/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  14. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  15. package/dist/components/Blocks.d.ts +1 -0
  16. package/dist/components/Blocks.js +5 -3
  17. package/dist/components/Blocks.js.map +1 -1
  18. package/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
  19. package/dist/components/Calculator/renderCalculatorBlock.js.map +1 -1
  20. package/dist/components/Calculator/renderMonthsInput.js.map +1 -1
  21. package/dist/components/Calculator/renderRate.js +1 -1
  22. package/dist/components/Calculator/renderRate.js.map +1 -1
  23. package/dist/components/Catalog/Catalog.d.ts +5 -0
  24. package/dist/components/Catalog/Catalog.js +36 -0
  25. package/dist/components/Catalog/Catalog.js.map +1 -0
  26. package/dist/components/Catalog/CatalogCard.d.ts +7 -0
  27. package/dist/components/Catalog/CatalogCard.js +16 -0
  28. package/dist/components/Catalog/CatalogCard.js.map +1 -0
  29. package/dist/components/Catalog/CatalogContent.d.ts +23 -0
  30. package/{mobile/dist/model/Insurance.js → dist/components/Catalog/CatalogContent.js} +1 -1
  31. package/dist/components/Catalog/CatalogContent.js.map +1 -0
  32. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  33. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  34. package/dist/components/ContentPage/ContentPageHead.js.map +1 -1
  35. package/dist/components/ContentPage/normalizeBlock.js.map +1 -1
  36. package/dist/components/ContentPage/normalizeBlock.mobile.js.map +1 -1
  37. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  38. package/dist/components/ExchangeRateTile/calculateResult.js.map +1 -1
  39. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  40. package/dist/components/Footer/SocialMedia.js.map +1 -1
  41. package/dist/components/Footer/SocialMedia.mobile.js.map +1 -1
  42. package/dist/components/Footer/TextInformation.js.map +1 -1
  43. package/dist/components/Footer/TextInformation.mobile.js.map +1 -1
  44. package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  45. package/dist/components/GroupBlock/GroupBlocksItem.js.map +1 -1
  46. package/dist/components/GroupBlock/renderBlocksTypes.js.map +1 -1
  47. package/dist/components/Header/HeaderBurger.js.map +1 -1
  48. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  49. package/dist/components/Headline/Headline.mobile.js.map +1 -1
  50. package/dist/components/Insurance/Insurance.js.map +1 -1
  51. package/dist/components/Insurance/InsuranceContent.d.ts +5 -2
  52. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +3 -3
  53. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  54. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +5 -3
  55. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  56. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  57. package/dist/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  58. package/dist/components/LinkList/LinkList.js.map +1 -1
  59. package/dist/components/MobileAppTile/MobileAppTile.js +16 -2
  60. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  61. package/dist/components/MobileAppTile/MobileAppTile.mobile.js +2 -2
  62. package/dist/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
  63. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +5 -1
  64. package/dist/components/OtherProducts/OtherProducts.js +1 -1
  65. package/dist/components/OtherProducts/OtherProducts.js.map +1 -1
  66. package/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -8
  67. package/dist/components/OtherProducts/OtherProductsItem.js +4 -6
  68. package/dist/components/OtherProducts/OtherProductsItem.js.map +1 -1
  69. package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  70. package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  71. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  72. package/dist/components/ProductBlock/renderBenefit.js.map +1 -1
  73. package/dist/components/ProductBlock/renderBenefit.mobile.js.map +1 -1
  74. package/dist/components/ProductTile/ProductTile.js +7 -8
  75. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  76. package/dist/components/PromoTile/PromoTile.js.map +1 -1
  77. package/dist/components/StepsBlock/StepsBlock.js +10 -6
  78. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  79. package/dist/components/StepsBlock/StepsBlock.mobile.js +12 -31
  80. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  81. package/dist/components/StepsBlock/StepsBlockContent.d.ts +5 -2
  82. package/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +9 -0
  83. package/dist/components/StepsBlock/StepsBlockStyleMaps.js +21 -0
  84. package/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -0
  85. package/dist/components/TextBlock/TextBlock.js.map +1 -1
  86. package/dist/components/TextBlock/TextBlock.mobile.js.map +1 -1
  87. package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  88. package/dist/content-page-repository/mapJSON.js.map +1 -1
  89. package/dist/content-page-repository/transformContentPage.js.map +1 -1
  90. package/dist/content-page-repository/transformMarkdown.js.map +1 -1
  91. package/dist/content-page-repository/transformPicture.js.map +1 -1
  92. package/dist/hooks/useCreditCalculatorData.js.map +1 -1
  93. package/dist/hooks/useExchangeRates.js.map +1 -1
  94. package/dist/hooks/useLink.js.map +1 -1
  95. package/dist/react/setup-fixture.js.map +1 -1
  96. package/dist/services/sitemap/findActiveSubItem.js.map +1 -1
  97. package/dist/services/sitemap/useSitemap.js.map +1 -1
  98. package/dist/ui-kit/BlocksList/BlocksListProps.d.ts +17 -15
  99. package/dist/ui-kit/BlocksList/renderBlocksList.d.ts +2 -3
  100. package/dist/ui-kit/BlocksList/renderBlocksList.js +5 -4
  101. package/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  102. package/dist/ui-kit/Button/ButtonInner.js +2 -2
  103. package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  104. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  105. package/dist/ui-kit/Foldable/Foldable.d.ts +2 -0
  106. package/dist/ui-kit/Foldable/Foldable.js +5 -5
  107. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  108. package/dist/ui-kit/Input/Input.js.map +1 -1
  109. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  110. package/dist/ui-kit/List/ListItem.js.map +1 -1
  111. package/dist/ui-kit/Logo/Logo.js.map +1 -1
  112. package/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
  113. package/dist/ui-kit/SearchBar/SearchBar.mobile.js.map +1 -1
  114. package/dist/ui-kit/SearchBar.mobile.js.map +1 -1
  115. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +1 -1
  116. package/dist/ui-kit/Tabs/Tabs.js.map +1 -1
  117. package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  118. package/dist/utils/adjustHref.js.map +1 -1
  119. package/dist/utils/getColSpan.js.map +1 -1
  120. package/dist/utils/roundTo.js.map +1 -1
  121. package/dist/utils/tableFunc.js.map +1 -1
  122. package/dist/utils/url.js.map +1 -1
  123. package/lib/api/DaDataAPI.js.map +1 -1
  124. package/lib/api/LikeAPI.js.map +1 -1
  125. package/lib/common.css +1 -1
  126. package/lib/components/Accordion/Accordion.mobile.js +1 -1
  127. package/lib/components/Accordion/Accordion.mobile.js.map +1 -1
  128. package/lib/components/Accordion/AccordionItem.mobile.js +1 -1
  129. package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
  130. package/lib/components/Accordion/AccordionItemInner.js +1 -2
  131. package/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  132. package/lib/components/Accordion/AccordionItemInner.mobile.js +1 -2
  133. package/lib/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  134. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  135. package/lib/components/Blocks.d.ts +1 -0
  136. package/lib/components/Blocks.js +5 -3
  137. package/lib/components/Blocks.js.map +1 -1
  138. package/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
  139. package/lib/components/Calculator/renderCalculatorBlock.js.map +1 -1
  140. package/lib/components/Calculator/renderMonthsInput.js.map +1 -1
  141. package/lib/components/Calculator/renderRate.js +1 -1
  142. package/lib/components/Calculator/renderRate.js.map +1 -1
  143. package/lib/components/Catalog/Catalog.d.ts +5 -0
  144. package/lib/components/Catalog/Catalog.fixture.d.ts +6 -0
  145. package/lib/components/Catalog/Catalog.js +34 -0
  146. package/lib/components/Catalog/Catalog.js.map +1 -0
  147. package/lib/components/Catalog/CatalogCard.d.ts +7 -0
  148. package/lib/components/Catalog/CatalogCard.js +14 -0
  149. package/lib/components/Catalog/CatalogCard.js.map +1 -0
  150. package/lib/components/Catalog/CatalogContent.d.ts +23 -0
  151. package/lib/components/Catalog/CatalogContent.js +2 -0
  152. package/lib/components/Catalog/CatalogContent.js.map +1 -0
  153. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  154. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  155. package/lib/components/ContentPage/ContentPageHead.js.map +1 -1
  156. package/lib/components/ContentPage/normalizeBlock.js.map +1 -1
  157. package/lib/components/ContentPage/normalizeBlock.mobile.js.map +1 -1
  158. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  159. package/lib/components/ExchangeRateTile/calculateResult.js.map +1 -1
  160. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  161. package/lib/components/Footer/SocialMedia.js.map +1 -1
  162. package/lib/components/Footer/SocialMedia.mobile.js.map +1 -1
  163. package/lib/components/Footer/TextInformation.js.map +1 -1
  164. package/lib/components/Footer/TextInformation.mobile.js.map +1 -1
  165. package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  166. package/lib/components/GroupBlock/GroupBlocksItem.js.map +1 -1
  167. package/lib/components/GroupBlock/renderBlocksTypes.js.map +1 -1
  168. package/lib/components/Header/HeaderBurger.js.map +1 -1
  169. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  170. package/lib/components/Headline/Headline.mobile.js.map +1 -1
  171. package/lib/components/Insurance/Insurance.js.map +1 -1
  172. package/lib/components/Insurance/InsuranceContent.d.ts +5 -2
  173. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +3 -3
  174. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  175. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +5 -3
  176. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  177. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  178. package/lib/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  179. package/lib/components/LinkList/LinkList.js.map +1 -1
  180. package/lib/components/MobileAppTile/MobileAppTile.fixture.d.ts +2 -0
  181. package/lib/components/MobileAppTile/MobileAppTile.js +16 -2
  182. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  183. package/lib/components/MobileAppTile/MobileAppTile.mobile.js +2 -2
  184. package/lib/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
  185. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +5 -1
  186. package/lib/components/OtherProducts/OtherProducts.fixture.d.ts +0 -1
  187. package/lib/components/OtherProducts/OtherProducts.js +1 -1
  188. package/lib/components/OtherProducts/OtherProducts.js.map +1 -1
  189. package/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -8
  190. package/lib/components/OtherProducts/OtherProductsItem.js +4 -6
  191. package/lib/components/OtherProducts/OtherProductsItem.js.map +1 -1
  192. package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  193. package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  194. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  195. package/lib/components/ProductBlock/renderBenefit.js.map +1 -1
  196. package/lib/components/ProductBlock/renderBenefit.mobile.js.map +1 -1
  197. package/lib/components/ProductTile/ProductTile.js +7 -8
  198. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  199. package/lib/components/PromoTile/PromoTile.js.map +1 -1
  200. package/lib/components/StepsBlock/StepsBlock.js +10 -6
  201. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  202. package/lib/components/StepsBlock/StepsBlock.mobile.js +12 -31
  203. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  204. package/lib/components/StepsBlock/StepsBlockContent.d.ts +5 -2
  205. package/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +9 -0
  206. package/lib/components/StepsBlock/StepsBlockStyleMaps.js +18 -0
  207. package/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -0
  208. package/lib/components/TextBlock/TextBlock.js.map +1 -1
  209. package/lib/components/TextBlock/TextBlock.mobile.js.map +1 -1
  210. package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  211. package/lib/content-page-repository/mapJSON.js.map +1 -1
  212. package/lib/content-page-repository/transformContentPage.js.map +1 -1
  213. package/lib/content-page-repository/transformMarkdown.js.map +1 -1
  214. package/lib/content-page-repository/transformPicture.js.map +1 -1
  215. package/lib/hooks/useCreditCalculatorData.js.map +1 -1
  216. package/lib/hooks/useExchangeRates.js.map +1 -1
  217. package/lib/hooks/useLink.js.map +1 -1
  218. package/lib/react/setup-fixture.js.map +1 -1
  219. package/lib/services/sitemap/findActiveSubItem.js.map +1 -1
  220. package/lib/services/sitemap/useSitemap.js.map +1 -1
  221. package/lib/ui-kit/BlocksList/BlocksListProps.d.ts +17 -15
  222. package/lib/ui-kit/BlocksList/renderBlocksList.d.ts +2 -3
  223. package/lib/ui-kit/BlocksList/renderBlocksList.js +5 -4
  224. package/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  225. package/lib/ui-kit/Button/ButtonInner.js +2 -2
  226. package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  227. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  228. package/lib/ui-kit/Foldable/Foldable.d.ts +2 -0
  229. package/lib/ui-kit/Foldable/Foldable.js +5 -5
  230. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  231. package/lib/ui-kit/Input/Input.js.map +1 -1
  232. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  233. package/lib/ui-kit/List/ListItem.js.map +1 -1
  234. package/lib/ui-kit/Logo/Logo.js.map +1 -1
  235. package/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
  236. package/lib/ui-kit/SearchBar/SearchBar.mobile.js.map +1 -1
  237. package/lib/ui-kit/SearchBar.mobile.js.map +1 -1
  238. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +1 -1
  239. package/lib/ui-kit/Tabs/Tabs.js.map +1 -1
  240. package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  241. package/lib/utils/adjustHref.js.map +1 -1
  242. package/lib/utils/getColSpan.js.map +1 -1
  243. package/lib/utils/roundTo.js.map +1 -1
  244. package/lib/utils/tableFunc.js.map +1 -1
  245. package/lib/utils/url.js.map +1 -1
  246. package/mobile/bundle/bundle.umd.js +36 -39
  247. package/mobile/bundle/bundle.umd.min.js +1 -1
  248. package/mobile/dist/api/DaDataAPI.js.map +1 -1
  249. package/mobile/dist/api/LikeAPI.js.map +1 -1
  250. package/mobile/dist/components/Accordion/Accordion.js +1 -1
  251. package/mobile/dist/components/Accordion/Accordion.js.map +1 -1
  252. package/mobile/dist/components/Accordion/AccordionItem.js +1 -1
  253. package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
  254. package/mobile/dist/components/Accordion/AccordionItemInner.js +1 -2
  255. package/mobile/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  256. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  257. package/mobile/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
  258. package/mobile/dist/components/Calculator/renderCalculatorBlock.js.map +1 -1
  259. package/mobile/dist/components/Calculator/renderMonthsInput.js.map +1 -1
  260. package/mobile/dist/components/Calculator/renderRate.js +1 -1
  261. package/mobile/dist/components/Calculator/renderRate.js.map +1 -1
  262. package/mobile/dist/components/Catalog/Catalog.d.ts +5 -0
  263. package/mobile/dist/components/Catalog/Catalog.js +36 -0
  264. package/mobile/dist/components/Catalog/Catalog.js.map +1 -0
  265. package/mobile/dist/components/Catalog/CatalogCard.d.ts +7 -0
  266. package/mobile/dist/components/Catalog/CatalogCard.js +16 -0
  267. package/mobile/dist/components/Catalog/CatalogCard.js.map +1 -0
  268. package/mobile/dist/components/Catalog/CatalogContent.d.ts +23 -0
  269. package/{dist/model/Insurance.js → mobile/dist/components/Catalog/CatalogContent.js} +1 -1
  270. package/mobile/dist/components/Catalog/CatalogContent.js.map +1 -0
  271. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  272. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  273. package/mobile/dist/components/ContentPage/ContentPageHead.js.map +1 -1
  274. package/mobile/dist/components/ContentPage/normalizeBlock.js.map +1 -1
  275. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  276. package/mobile/dist/components/ExchangeRateTile/calculateResult.js.map +1 -1
  277. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  278. package/mobile/dist/components/Footer/SocialMedia.js.map +1 -1
  279. package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
  280. package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  281. package/mobile/dist/components/GroupBlock/GroupBlocksItem.js.map +1 -1
  282. package/mobile/dist/components/GroupBlock/renderBlocksTypes.js.map +1 -1
  283. package/mobile/dist/components/Header/HeaderBurger.js.map +1 -1
  284. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  285. package/mobile/dist/components/Headline/Headline.js.map +1 -1
  286. package/mobile/dist/components/Insurance/Insurance.js.map +1 -1
  287. package/mobile/dist/components/Insurance/InsuranceContent.d.ts +5 -2
  288. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +3 -3
  289. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  290. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +5 -3
  291. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  292. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  293. package/mobile/dist/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  294. package/mobile/dist/components/LinkList/LinkList.js.map +1 -1
  295. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +2 -2
  296. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  297. package/mobile/dist/components/MobileAppTile/MobileAppTileContent.d.ts +5 -1
  298. package/mobile/dist/components/OtherProducts/OtherProducts.js +1 -1
  299. package/mobile/dist/components/OtherProducts/OtherProducts.js.map +1 -1
  300. package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -8
  301. package/mobile/dist/components/OtherProducts/OtherProductsItem.js +4 -6
  302. package/mobile/dist/components/OtherProducts/OtherProductsItem.js.map +1 -1
  303. package/mobile/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  304. package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
  305. package/mobile/dist/components/ProductTile/ProductTile.js +7 -8
  306. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  307. package/mobile/dist/components/PromoTile/PromoTile.js.map +1 -1
  308. package/mobile/dist/components/StepsBlock/StepsBlock.js +12 -31
  309. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  310. package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +5 -2
  311. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +9 -0
  312. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js +21 -0
  313. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -0
  314. package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
  315. package/mobile/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  316. package/mobile/dist/content-page-repository/mapJSON.js.map +1 -1
  317. package/mobile/dist/content-page-repository/transformContentPage.js.map +1 -1
  318. package/mobile/dist/content-page-repository/transformMarkdown.js.map +1 -1
  319. package/mobile/dist/content-page-repository/transformPicture.js.map +1 -1
  320. package/mobile/dist/hooks/useCreditCalculatorData.js.map +1 -1
  321. package/mobile/dist/hooks/useExchangeRates.js.map +1 -1
  322. package/mobile/dist/hooks/useLink.js.map +1 -1
  323. package/mobile/dist/react/setup-fixture.js.map +1 -1
  324. package/mobile/dist/services/sitemap/findActiveSubItem.js.map +1 -1
  325. package/mobile/dist/services/sitemap/useSitemap.js.map +1 -1
  326. package/mobile/dist/ui-kit/BlocksList/BlocksListProps.d.ts +17 -15
  327. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.d.ts +2 -3
  328. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js +5 -4
  329. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  330. package/mobile/dist/ui-kit/Button/ButtonInner.js +2 -2
  331. package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  332. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  333. package/mobile/dist/ui-kit/Foldable/Foldable.d.ts +2 -0
  334. package/mobile/dist/ui-kit/Foldable/Foldable.js +5 -5
  335. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  336. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  337. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  338. package/mobile/dist/ui-kit/List/ListItem.js.map +1 -1
  339. package/mobile/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
  340. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +1 -1
  341. package/mobile/dist/ui-kit/Tabs/Tabs.js.map +1 -1
  342. package/mobile/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  343. package/mobile/dist/utils/adjustHref.js.map +1 -1
  344. package/mobile/dist/utils/getColSpan.js.map +1 -1
  345. package/mobile/dist/utils/roundTo.js.map +1 -1
  346. package/mobile/dist/utils/tableFunc.js.map +1 -1
  347. package/mobile/dist/utils/url.js.map +1 -1
  348. package/mobile/lib/api/DaDataAPI.js.map +1 -1
  349. package/mobile/lib/api/LikeAPI.js.map +1 -1
  350. package/mobile/lib/components/Accordion/Accordion.js +1 -1
  351. package/mobile/lib/components/Accordion/Accordion.js.map +1 -1
  352. package/mobile/lib/components/Accordion/AccordionItem.js +1 -1
  353. package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
  354. package/mobile/lib/components/Accordion/AccordionItemInner.js +1 -2
  355. package/mobile/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  356. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  357. package/mobile/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
  358. package/mobile/lib/components/Calculator/renderCalculatorBlock.js.map +1 -1
  359. package/mobile/lib/components/Calculator/renderMonthsInput.js.map +1 -1
  360. package/mobile/lib/components/Calculator/renderRate.js +1 -1
  361. package/mobile/lib/components/Calculator/renderRate.js.map +1 -1
  362. package/mobile/lib/components/Catalog/Catalog.d.ts +5 -0
  363. package/mobile/lib/components/Catalog/Catalog.js +34 -0
  364. package/mobile/lib/components/Catalog/Catalog.js.map +1 -0
  365. package/mobile/lib/components/Catalog/CatalogCard.d.ts +7 -0
  366. package/mobile/lib/components/Catalog/CatalogCard.js +14 -0
  367. package/mobile/lib/components/Catalog/CatalogCard.js.map +1 -0
  368. package/mobile/lib/components/Catalog/CatalogContent.d.ts +23 -0
  369. package/mobile/lib/components/Catalog/CatalogContent.js +2 -0
  370. package/mobile/lib/components/Catalog/CatalogContent.js.map +1 -0
  371. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  372. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  373. package/mobile/lib/components/ContentPage/ContentPageHead.js.map +1 -1
  374. package/mobile/lib/components/ContentPage/normalizeBlock.js.map +1 -1
  375. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  376. package/mobile/lib/components/ExchangeRateTile/calculateResult.js.map +1 -1
  377. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  378. package/mobile/lib/components/Footer/SocialMedia.js.map +1 -1
  379. package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
  380. package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  381. package/mobile/lib/components/GroupBlock/GroupBlocksItem.js.map +1 -1
  382. package/mobile/lib/components/GroupBlock/renderBlocksTypes.js.map +1 -1
  383. package/mobile/lib/components/Header/HeaderBurger.js.map +1 -1
  384. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  385. package/mobile/lib/components/Headline/Headline.js.map +1 -1
  386. package/mobile/lib/components/Insurance/Insurance.js.map +1 -1
  387. package/mobile/lib/components/Insurance/InsuranceContent.d.ts +5 -2
  388. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +3 -3
  389. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  390. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +5 -3
  391. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  392. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  393. package/mobile/lib/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  394. package/mobile/lib/components/LinkList/LinkList.js.map +1 -1
  395. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +2 -2
  396. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  397. package/mobile/lib/components/MobileAppTile/MobileAppTileContent.d.ts +5 -1
  398. package/mobile/lib/components/OtherProducts/OtherProducts.js +1 -1
  399. package/mobile/lib/components/OtherProducts/OtherProducts.js.map +1 -1
  400. package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -8
  401. package/mobile/lib/components/OtherProducts/OtherProductsItem.js +4 -6
  402. package/mobile/lib/components/OtherProducts/OtherProductsItem.js.map +1 -1
  403. package/mobile/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  404. package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
  405. package/mobile/lib/components/ProductTile/ProductTile.js +7 -8
  406. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  407. package/mobile/lib/components/PromoTile/PromoTile.js.map +1 -1
  408. package/mobile/lib/components/StepsBlock/StepsBlock.js +12 -31
  409. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  410. package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +5 -2
  411. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +9 -0
  412. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js +18 -0
  413. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -0
  414. package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
  415. package/mobile/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  416. package/mobile/lib/content-page-repository/mapJSON.js.map +1 -1
  417. package/mobile/lib/content-page-repository/transformContentPage.js.map +1 -1
  418. package/mobile/lib/content-page-repository/transformMarkdown.js.map +1 -1
  419. package/mobile/lib/content-page-repository/transformPicture.js.map +1 -1
  420. package/mobile/lib/hooks/useCreditCalculatorData.js.map +1 -1
  421. package/mobile/lib/hooks/useExchangeRates.js.map +1 -1
  422. package/mobile/lib/hooks/useLink.js.map +1 -1
  423. package/mobile/lib/react/setup-fixture.js.map +1 -1
  424. package/mobile/lib/services/sitemap/findActiveSubItem.js.map +1 -1
  425. package/mobile/lib/services/sitemap/useSitemap.js.map +1 -1
  426. package/mobile/lib/ui-kit/BlocksList/BlocksListProps.d.ts +17 -15
  427. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.d.ts +2 -3
  428. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js +5 -4
  429. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  430. package/mobile/lib/ui-kit/Button/ButtonInner.js +2 -2
  431. package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  432. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  433. package/mobile/lib/ui-kit/Foldable/Foldable.d.ts +2 -0
  434. package/mobile/lib/ui-kit/Foldable/Foldable.js +5 -5
  435. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  436. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  437. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  438. package/mobile/lib/ui-kit/List/ListItem.js.map +1 -1
  439. package/mobile/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
  440. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +1 -1
  441. package/mobile/lib/ui-kit/Tabs/Tabs.js.map +1 -1
  442. package/mobile/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  443. package/mobile/lib/utils/adjustHref.js.map +1 -1
  444. package/mobile/lib/utils/getColSpan.js.map +1 -1
  445. package/mobile/lib/utils/roundTo.js.map +1 -1
  446. package/mobile/lib/utils/tableFunc.js.map +1 -1
  447. package/mobile/lib/utils/url.js.map +1 -1
  448. package/mobile/src/api/DaDataAPI.ts +2 -0
  449. package/mobile/src/api/LikeAPI.ts +4 -0
  450. package/mobile/src/components/Accordion/Accordion.tsx +1 -1
  451. package/mobile/src/components/Accordion/AccordionItem.tsx +2 -2
  452. package/mobile/src/components/Accordion/AccordionItemInner.tsx +3 -4
  453. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -0
  454. package/mobile/src/components/Calculator/getMonthlyPayment.ts +1 -0
  455. package/mobile/src/components/Calculator/renderCalculatorBlock.tsx +1 -0
  456. package/mobile/src/components/Calculator/renderMonthsInput.tsx +1 -0
  457. package/mobile/src/components/Calculator/renderRate.tsx +2 -3
  458. package/mobile/src/components/Catalog/Catalog.example.json +57 -0
  459. package/mobile/src/components/Catalog/Catalog.tsx +74 -0
  460. package/mobile/src/components/Catalog/CatalogCard.tsx +47 -0
  461. package/mobile/src/components/Catalog/CatalogContent.ts +27 -0
  462. package/mobile/src/components/ComparisonTable/TableColumn.tsx +1 -0
  463. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -0
  464. package/mobile/src/components/ContentPage/ContentPageHead.tsx +1 -0
  465. package/mobile/src/components/ContentPage/normalizeBlock.ts +1 -0
  466. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +1 -0
  467. package/mobile/src/components/ExchangeRateTile/calculateResult.ts +1 -0
  468. package/mobile/src/components/Footer/Footer.tsx +2 -0
  469. package/mobile/src/components/Footer/SocialMedia.tsx +1 -0
  470. package/mobile/src/components/Footer/TextInformation.tsx +1 -0
  471. package/mobile/src/components/Gallery/GalleryCardInner.tsx +1 -0
  472. package/mobile/src/components/GroupBlock/GroupBlocksItem.tsx +1 -0
  473. package/mobile/src/components/GroupBlock/renderBlocksTypes.tsx +1 -0
  474. package/mobile/src/components/Header/HeaderBurger.tsx +2 -0
  475. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +1 -0
  476. package/mobile/src/components/Headline/Headline.tsx +1 -0
  477. package/mobile/src/components/Insurance/Insurance.tsx +1 -0
  478. package/mobile/src/components/Insurance/InsuranceContent.ts +5 -2
  479. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +4 -4
  480. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +8 -3
  481. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +5 -3
  482. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +6 -5
  483. package/mobile/src/components/LinkDocs/LinkDocsListItemBase.tsx +3 -0
  484. package/mobile/src/components/LinkList/LinkList.tsx +1 -0
  485. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +2 -4
  486. package/mobile/src/components/MobileAppTile/MobileAppTileContent.ts +7 -1
  487. package/mobile/src/components/OtherProducts/OtherProducts.tsx +2 -2
  488. package/mobile/src/components/OtherProducts/OtherProductsContent.ts +3 -8
  489. package/mobile/src/components/OtherProducts/OtherProductsItem.tsx +6 -18
  490. package/mobile/src/components/ProductBlock/ProductBlock.tsx +1 -0
  491. package/mobile/src/components/ProductBlock/renderBenefit.tsx +1 -0
  492. package/mobile/src/components/ProductTile/ProductTile.tsx +30 -30
  493. package/mobile/src/components/PromoTile/PromoTile.tsx +1 -0
  494. package/mobile/src/components/StepsBlock/StepsBlock.tsx +58 -82
  495. package/mobile/src/components/StepsBlock/StepsBlockContent.ts +6 -3
  496. package/mobile/src/components/StepsBlock/StepsBlockStyleMaps.ts +28 -0
  497. package/mobile/src/components/TextBlock/TextBlock.tsx +1 -0
  498. package/mobile/src/content-page-repository/ContentPageRepository.ts +5 -0
  499. package/mobile/src/content-page-repository/mapJSON.ts +3 -0
  500. package/mobile/src/content-page-repository/transformContentPage.ts +2 -0
  501. package/mobile/src/content-page-repository/transformMarkdown.ts +1 -0
  502. package/mobile/src/content-page-repository/transformPicture.ts +2 -0
  503. package/mobile/src/hooks/useCreditCalculatorData.ts +2 -0
  504. package/mobile/src/hooks/useExchangeRates.ts +3 -0
  505. package/mobile/src/hooks/useLink.ts +1 -0
  506. package/mobile/src/react/setup-fixture.ts +1 -0
  507. package/mobile/src/services/sitemap/findActiveSubItem.ts +1 -0
  508. package/mobile/src/services/sitemap/useSitemap.ts +2 -0
  509. package/mobile/src/ui-kit/BlocksList/BlocksListProps.ts +25 -15
  510. package/mobile/src/ui-kit/BlocksList/renderBlocksList.tsx +14 -9
  511. package/mobile/src/ui-kit/Button/ButtonInner.tsx +3 -2
  512. package/mobile/src/ui-kit/Button/ButtonSection.tsx +1 -0
  513. package/mobile/src/ui-kit/Foldable/Foldable.tsx +8 -4
  514. package/mobile/src/ui-kit/Input/Input.tsx +1 -0
  515. package/mobile/src/ui-kit/InputRange/InputRange.tsx +1 -0
  516. package/mobile/src/ui-kit/List/ListItem.tsx +1 -0
  517. package/mobile/src/ui-kit/SearchBar/SearchBar.tsx +1 -0
  518. package/mobile/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +1 -0
  519. package/mobile/src/ui-kit/Tabs/Tabs.tsx +1 -0
  520. package/mobile/src/ui-kit/TopItem/TopItem.tsx +1 -0
  521. package/mobile/src/utils/adjustHref.ts +2 -0
  522. package/mobile/src/utils/getColSpan.ts +1 -0
  523. package/mobile/src/utils/roundTo.ts +1 -0
  524. package/mobile/src/utils/tableFunc.ts +1 -0
  525. package/mobile/src/utils/url.ts +2 -0
  526. package/package.json +2 -2
  527. package/src/api/DaDataAPI.ts +2 -0
  528. package/src/api/LikeAPI.ts +4 -0
  529. package/src/components/Accordion/Accordion.fixture.mobile.tsx +8 -19
  530. package/src/components/Accordion/Accordion.fixture.tsx +10 -2
  531. package/src/components/Accordion/Accordion.mobile.tsx +1 -1
  532. package/src/components/Accordion/AccordionItem.mobile.tsx +2 -2
  533. package/src/components/Accordion/AccordionItemInner.mobile.tsx +3 -4
  534. package/src/components/Accordion/AccordionItemInner.tsx +3 -4
  535. package/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -0
  536. package/src/components/Blocks.ts +5 -3
  537. package/src/components/Calculator/getMonthlyPayment.ts +1 -0
  538. package/src/components/Calculator/renderCalculatorBlock.tsx +1 -0
  539. package/src/components/Calculator/renderMonthsInput.tsx +1 -0
  540. package/src/components/Calculator/renderRate.tsx +2 -3
  541. package/src/components/Catalog/Catalog.example.json +57 -0
  542. package/src/components/Catalog/Catalog.fixture.tsx +48 -0
  543. package/src/components/Catalog/Catalog.tsx +74 -0
  544. package/src/components/Catalog/CatalogCard.tsx +47 -0
  545. package/src/components/Catalog/CatalogContent.ts +27 -0
  546. package/src/components/ComparisonTable/TableColumn.tsx +1 -0
  547. package/src/components/ContentPage/ContentPage.tsx +2 -0
  548. package/src/components/ContentPage/ContentPageHead.tsx +1 -0
  549. package/src/components/ContentPage/normalizeBlock.mobile.ts +1 -0
  550. package/src/components/ContentPage/normalizeBlock.ts +1 -0
  551. package/src/components/ExchangeRateTile/CurrencyTable.tsx +1 -0
  552. package/src/components/ExchangeRateTile/calculateResult.ts +1 -0
  553. package/src/components/Footer/Footer.mobile.tsx +2 -0
  554. package/src/components/Footer/SocialMedia.mobile.tsx +1 -0
  555. package/src/components/Footer/SocialMedia.tsx +1 -0
  556. package/src/components/Footer/TextInformation.mobile.tsx +1 -0
  557. package/src/components/Footer/TextInformation.tsx +1 -0
  558. package/src/components/Gallery/GalleryCardInner.tsx +1 -0
  559. package/src/components/GroupBlock/GroupBlocksItem.tsx +1 -0
  560. package/src/components/GroupBlock/renderBlocksTypes.tsx +1 -0
  561. package/src/components/Header/HeaderBurger.tsx +2 -0
  562. package/src/components/Header/HeaderSecondaryMenu.tsx +1 -0
  563. package/src/components/Headline/Headline.mobile.tsx +1 -0
  564. package/src/components/Insurance/Insurance.tsx +1 -0
  565. package/src/components/Insurance/InsuranceContent.ts +5 -2
  566. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +4 -4
  567. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.fixture.tsx +0 -5
  568. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +8 -3
  569. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +5 -3
  570. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +6 -5
  571. package/src/components/LinkDocs/LinkDocsListItemBase.tsx +3 -0
  572. package/src/components/LinkList/LinkList.tsx +1 -0
  573. package/src/components/MobileAppTile/MobileAppTile.fixture.tsx +69 -13
  574. package/src/components/MobileAppTile/MobileAppTile.mobile.tsx +2 -4
  575. package/src/components/MobileAppTile/MobileAppTile.tsx +44 -12
  576. package/src/components/MobileAppTile/MobileAppTileContent.ts +7 -1
  577. package/src/components/OtherProducts/OtherProducts.fixture.tsx +16 -53
  578. package/src/components/OtherProducts/OtherProducts.tsx +2 -2
  579. package/src/components/OtherProducts/OtherProductsContent.ts +3 -8
  580. package/src/components/OtherProducts/OtherProductsItem.tsx +6 -18
  581. package/src/components/ProductBlock/ProductBlock.mobile.tsx +1 -0
  582. package/src/components/ProductBlock/ProductBlock.tsx +1 -0
  583. package/src/components/ProductBlock/ProductBlockInner.tsx +1 -0
  584. package/src/components/ProductBlock/renderBenefit.mobile.tsx +1 -0
  585. package/src/components/ProductBlock/renderBenefit.tsx +1 -0
  586. package/src/components/ProductTile/ProductTile.tsx +30 -30
  587. package/src/components/PromoTile/PromoTile.tsx +1 -0
  588. package/src/components/StepsBlock/StepsBlock.mobile.tsx +58 -82
  589. package/src/components/StepsBlock/StepsBlock.tsx +27 -11
  590. package/src/components/StepsBlock/StepsBlockContent.ts +6 -3
  591. package/src/components/StepsBlock/StepsBlockStyleMaps.ts +28 -0
  592. package/src/components/TextBlock/TextBlock.mobile.tsx +1 -0
  593. package/src/components/TextBlock/TextBlock.tsx +1 -0
  594. package/src/content-page-repository/ContentPageRepository.ts +5 -0
  595. package/src/content-page-repository/mapJSON.ts +3 -0
  596. package/src/content-page-repository/transformContentPage.ts +2 -0
  597. package/src/content-page-repository/transformMarkdown.ts +1 -0
  598. package/src/content-page-repository/transformPicture.ts +2 -0
  599. package/src/hooks/useCreditCalculatorData.ts +2 -0
  600. package/src/hooks/useExchangeRates.ts +3 -0
  601. package/src/hooks/useLink.ts +1 -0
  602. package/src/react/setup-fixture.ts +1 -0
  603. package/src/services/sitemap/findActiveSubItem.ts +1 -0
  604. package/src/services/sitemap/useSitemap.ts +2 -0
  605. package/src/ui-kit/BlocksList/BlocksListProps.ts +25 -15
  606. package/src/ui-kit/BlocksList/renderBlocksList.tsx +14 -9
  607. package/src/ui-kit/Button/ButtonInner.tsx +3 -2
  608. package/src/ui-kit/Button/ButtonSection.tsx +1 -0
  609. package/src/ui-kit/Foldable/Foldable.tsx +8 -4
  610. package/src/ui-kit/Input/Input.tsx +1 -0
  611. package/src/ui-kit/InputRange/InputRange.tsx +1 -0
  612. package/src/ui-kit/List/ListItem.tsx +1 -0
  613. package/src/ui-kit/Logo/Logo.tsx +1 -0
  614. package/src/ui-kit/SearchBar/SearchBar.mobile.tsx +1 -0
  615. package/src/ui-kit/SearchBar/SearchBar.tsx +1 -0
  616. package/src/ui-kit/SearchBar.mobile.tsx +1 -0
  617. package/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +1 -0
  618. package/src/ui-kit/Tabs/Tabs.tsx +1 -0
  619. package/src/ui-kit/TopItem/TopItem.tsx +1 -0
  620. package/src/utils/adjustHref.ts +2 -0
  621. package/src/utils/getColSpan.ts +1 -0
  622. package/src/utils/roundTo.ts +1 -0
  623. package/src/utils/tableFunc.ts +1 -0
  624. package/src/utils/url.ts +2 -0
  625. package/dist/model/Insurance.d.ts +0 -6
  626. package/dist/model/Insurance.js.map +0 -1
  627. package/lib/model/Insurance.d.ts +0 -6
  628. package/lib/model/Insurance.js +0 -2
  629. package/lib/model/Insurance.js.map +0 -1
  630. package/mobile/dist/model/Insurance.d.ts +0 -6
  631. package/mobile/dist/model/Insurance.js.map +0 -1
  632. package/mobile/lib/model/Insurance.d.ts +0 -6
  633. package/mobile/lib/model/Insurance.js +0 -2
  634. package/mobile/lib/model/Insurance.js.map +0 -1
  635. package/mobile/src/model/Insurance.ts +0 -6
  636. package/src/model/Insurance.ts +0 -6
@@ -450,6 +450,10 @@
450
450
  return format ? `image/${String(format)}` : undefined;
451
451
  }
452
452
 
453
+ function style2className(style) {
454
+ return style ? style.filter(Boolean).join(' ') : '';
455
+ }
456
+
453
457
  const ALIGN_TEXT = {
454
458
  left: 'text-left',
455
459
  center: 'text-center',
@@ -601,14 +605,14 @@
601
605
 
602
606
  const ButtonInner = JSX((props) => {
603
607
  const { text, aboveText, appendLeft, appendRight } = props;
604
- return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), jsx("div", { className: "text-button text-left", children: text })] })) : null, appendRight ? appendRight : null] }));
608
+ return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), jsx("div", { className: "text-base text-left", children: text })] })) : null, appendRight ? appendRight : null] }));
605
609
  });
606
610
  const getButtonStyle = (props) => {
607
611
  const { version, aboveText, rounded } = props;
608
612
  if (version === 'link') {
609
613
  return '';
610
614
  }
611
- const withTextStyle = `px-8 gap-2 ${aboveText ? 'py-2' : 'py-[18px]'}`;
615
+ const withTextStyle = `px-9 gap-2 ${aboveText ? 'py-2' : 'py-4'}`;
612
616
  return [
613
617
  'flex items-center justify-center',
614
618
  isWithText(props) ? withTextStyle : 'h-12 w-12',
@@ -828,9 +832,9 @@
828
832
  const Tile = JSX((props) => {
829
833
  const { context, title, headingType = 'h3', description, items, children, buttons, image, isDotted = true, className = '', version = 'primary', role, anchor = null, } = props;
830
834
  return (jsx("section", { className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${tileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, role: role, id: anchor, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] ${title ? 'mb-3' : ''}
831
- ${version === 'primary' ? 'text-primary-text' : ''}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })) : null, children, renderList$1(items, version, isDotted)] }) }));
835
+ ${version === 'primary' ? 'text-primary-text' : ''}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })) : null, children, renderList$2(items, version, isDotted)] }) }));
832
836
  });
833
- function renderList$1(items, version, isDotted) {
837
+ function renderList$2(items, version, isDotted) {
834
838
  return items?.length ? (jsx(List, { items: items, isDotted: isDotted, itemClassName: "text-title-2xs font-light mt-2", version: version === 'primary' ? 'tile' : 'tile-white' })) : null;
835
839
  }
836
840
 
@@ -839,29 +843,29 @@
839
843
  secondary: 'bg-primary-main text-white',
840
844
  };
841
845
  const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, additionalDescription, benefits, buttons, image, version = 'primary', anchor = null, }) => {
842
- return (jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, renderBenefits$1(benefits || [], version), additionalDescription
843
- ? renderAdditionalDescription(additionalDescription, version)
844
- : null] }) }));
846
+ return (jsxs("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: [jsxs("div", { className: "z-[1]", children: [title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap text-h4` })) : null, description ? (jsx(Description, { className: "mt-2 text-md font-light", description: description })) : null, renderBenefits$1(benefits || [], version), additionalDescription
847
+ ? renderAdditionalDescription(additionalDescription, version)
848
+ : null] }), buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-[1]" })) : null, image?.src ? jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
845
849
  });
846
850
  function renderBenefits$1(benefits, version) {
847
- return (jsxs("div", { className: "flex mt-5 mb-1", children: [benefits.length ? jsx("div", { className: "mr-8", children: benefits.map(renderBenefitLabel) }) : null, benefits.length ? (jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
851
+ return (jsxs("div", { className: "flex mt-4", children: [benefits.length ? (jsx("div", { className: "mr-6 gap-2.5 text-title-2xs", children: benefits.map(renderBenefitLabel) })) : null, benefits.length ? (jsx("div", { className: "pt-1 text-m", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
848
852
  }
849
853
  function renderBenefitLabel(benefit, i) {
850
- return (jsx("div", { className: `text-xl font-medium ${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
854
+ return (jsx("div", { className: `${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
851
855
  }
852
856
  function renderBenefitDescription(benefit, i, version = 'primary') {
853
857
  const labelStyleMap = {
854
858
  primary: 'text-secondary-text',
855
859
  secondary: 'text-white',
856
860
  };
857
- return (jsx("div", { className: `text-sm ${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
861
+ return (jsx("div", { className: `${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
858
862
  }
859
863
  function renderAdditionalDescription(additionalDescription, version = 'primary') {
860
864
  const descStyleMap = {
861
865
  primary: 'text-secondary-text',
862
866
  secondary: 'text-white',
863
867
  };
864
- return jsx("div", { className: `text-sm mt-2.5 ${descStyleMap[version]}`, children: additionalDescription });
868
+ return jsx("div", { className: `text-m mt-2.5 ${descStyleMap[version]}`, children: additionalDescription });
865
869
  }
866
870
 
867
871
  const cardVersionMap = {
@@ -872,7 +876,7 @@
872
876
  normal: 3,
873
877
  mini: 4,
874
878
  };
875
- const cardStyleMap = {
879
+ const cardStyleMap$1 = {
876
880
  normal: 'min-w-[364px] w-[364px]',
877
881
  mini: 'min-w-[260px] w-[260px]',
878
882
  };
@@ -905,7 +909,7 @@
905
909
  });
906
910
  function renderCard({ card, version }, i) {
907
911
  return (jsx("section", { className: `box-border border-solid border border-main-stroke p-6 mx-2 flex flex-col justify-between
908
- items-stretch ${cardStyleMap[version]} ${cardVersionMap[card.version ?? 'primary']} w-full col-span-4`, role: "listitem", children: jsx(GalleryCardInner, { ...card }) }, String(i)));
912
+ items-stretch ${cardStyleMap$1[version]} ${cardVersionMap[card.version ?? 'primary']} w-full col-span-4`, role: "listitem", children: jsx(GalleryCardInner, { ...card }) }, String(i)));
909
913
  }
910
914
 
911
915
  const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `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
@@ -959,20 +963,19 @@
959
963
  LinkList,
960
964
  };
961
965
 
962
- const renderBlocksList = ({ blocks, context, className, columns }) => blocks?.length ? blocks.map(renderBlock$2({ context, className, columns })) : null;
963
- const renderBlock$2 = ({ context, columns, className }) => (block, i) => {
966
+ const renderBlocksList = ({ blocks, context, className = '' }) => blocks?.length ? blocks.map(renderBlock$2({ context, className })) : null;
967
+ const renderBlock$2 = ({ context, className }) => (block, i) => {
964
968
  const type = block?.blockListType;
965
969
  if (!type || !(type in EmbeddableBlocks)) {
966
970
  return null;
967
971
  }
968
- const columnsCountClass = columns === 2 ? 'w-1/2' : '';
972
+ const classNameBlock = style2className(block?.style);
969
973
  const EmbeddedBlock = EmbeddableBlocks[type];
970
- return (jsx("div", { className: `${className} ${columnsCountClass}`, children: jsx(EmbeddedBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
974
+ return (jsx(EmbeddedBlock, { context: context, ...block, className: `${className} ${classNameBlock}` }, `block_${i}`));
971
975
  };
972
976
 
973
977
  const AccordionItemInner = JSX(({ blocks, context }) => {
974
- const className = 'mb-5 last:mb-0 pb-5';
975
- return (jsx("div", { className: "transition-all duration-300 max-h-0 overflow-hidden", children: renderBlocksList({ context, className, blocks }) }));
978
+ return (jsx("div", { className: "grid grid-cols-12 transition-all duration-300 max-h-0 overflow-hidden", children: renderBlocksList({ context, blocks, className: '!p-0 mb-5' }) }));
976
979
  });
977
980
 
978
981
  const useActiveHandler$1 = ({ context, blocks, initialState = false }) => {
@@ -1047,93 +1050,24 @@
1047
1050
  : null })] }) }));
1048
1051
  });
1049
1052
 
1050
- const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
1051
-
1052
- const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
1053
- const BORDER_CLASSES$1 = 'border-main-stroke border-solid border';
1054
- const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
1055
- const FIRST_CELL_CLASSES$1 = 'w-[200px] mr-6';
1056
- const COLS_LENGTH_FOR_SCROLL$1 = 2;
1057
- const COLUMN_WIDTH$1 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
1058
-
1059
- const carouselContainerClassesMap = {
1060
- comparison: 'flex gap-4 duration-1000',
1061
- tariff: 'flex flex-grow duration-1000',
1062
- };
1063
- const TableCarouselContainer = JSX(({ children, activeCardIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeCardIndex * columnWidth}px)` }, children: children }) })));
1064
-
1065
- 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$1} ${GRADIENT}`, role: "columnheader", scope: "col", 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: "font-medium text-xs py-[11px]", children: link.text }) }) }))] })));
1066
-
1067
- const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeCardIndex, router, handlerDecorator }) => {
1068
- return (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] }));
1069
- });
1070
-
1071
- const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
1072
- const cellWrapperClasses = `w-80 box-border flex flex-col ${BORDER_CLASSES$1} ${!isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md'} ${isFillGradient ? GRADIENT : ''}`;
1073
- const cellClasses = `mx-7 h-full ${DIVIDER_CLASSES$1} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : 'border-b-0'}`;
1074
- return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map((item, i) => renderCellInner$1(item, i, isFillGradient)) }) }));
1075
- });
1076
- const labelStyle = (isFillGradient = false) => `text-xl font-medium m-0 ${isFillGradient ? 'text-white' : ''}`;
1077
- const descriptionStyle = (isFillGradient = false) => `text-sm opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`;
1078
- const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label ? jsx("h4", { className: labelStyle(isFillGradient), children: label }) : null, description ? jsx("div", { className: descriptionStyle(isFillGradient), children: description }) : null] }, String(i)));
1079
-
1080
- const titleStyle = (isLastRow = false) => `text-sm py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${isLastRow ? 'border-b-0' : 'border-solid'}`;
1081
- const TableRow = JSX(({ row: { header, data }, activeCardIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? jsx("div", { className: titleStyle(isLastRow), children: header.title }) : null, data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
1082
-
1083
- const TableArrowScrollControl = JSX(({ isScrollAvailable, handleNextClick, handlePrevClick, showNextButton, showPrevButton }) => {
1084
- return isScrollAvailable ? (jsx("div", { children: renderArrows({
1085
- handler: [handlePrevClick, handleNextClick],
1086
- isShown: [showPrevButton, showNextButton],
1087
- btnClass: ['top-[108px]', 'top-11'],
1088
- className: 'right-7',
1089
- isDisabled: true,
1090
- }) })) : null;
1091
- });
1092
-
1093
- const ComparisonTableRows = JSX(({ rowData, activeCardIndex, isColoredFirstColumn, ...tableArrowScrollProps }) => {
1094
- return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), jsx(TableArrowScrollControl, { ...tableArrowScrollProps })] }));
1095
- });
1096
-
1097
- const useTableArrowScrollControl = ({ columnsLength, colsLengthForScroll, activeCardIndex, setActiveCardIndex, }) => {
1098
- const handleNextClick = () => setActiveCardIndex(activeCardIndex + 1);
1099
- const handlePrevClick = () => setActiveCardIndex(activeCardIndex - 1);
1100
- const isScrollAvailable = columnsLength > colsLengthForScroll;
1101
- const showNextButton = isScrollAvailable && columnsLength - activeCardIndex > colsLengthForScroll;
1102
- const showPrevButton = Boolean(isScrollAvailable && activeCardIndex > 0);
1103
- return { handleNextClick, handlePrevClick, isScrollAvailable, showNextButton, showPrevButton };
1104
- };
1105
-
1106
- const ComparisonTableBody = JSX(({ context, columns, rowHeaders, isShowAllRow, visibleRowLength, isColoredFirstColumn }) => {
1107
- const router = context.useRouter();
1108
- const { handlerDecorator } = context;
1109
- const colHeaders = columns?.map(({ header }) => header || {});
1110
- const colData = columns?.map(({ data }) => data) || [];
1111
- const rowData = rowHeaders
1112
- ?.map((header, i) => ({
1113
- header,
1114
- data: colData.map((col) => col?.[i] || [{}]),
1115
- }))
1116
- .slice(0, isShowAllRow ? rowHeaders.length : visibleRowLength);
1117
- const [activeCardIndex, setActiveCardIndex] = context.useState(0);
1118
- const tableArrowScrollProps = useTableArrowScrollControl({
1119
- columnsLength: colData.length,
1120
- colsLengthForScroll: COLS_LENGTH_FOR_SCROLL$1,
1121
- activeCardIndex,
1122
- setActiveCardIndex,
1123
- });
1124
- const { isScrollAvailable } = tableArrowScrollProps;
1125
- return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeCardIndex: activeCardIndex, router: router, handlerDecorator: handlerDecorator })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn, ...tableArrowScrollProps })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
1126
- });
1053
+ function getElementsColsValue(className = '') {
1054
+ const colSpan = getColSpan(className);
1055
+ if (colSpan <= 6) {
1056
+ return 'grid-cols-2';
1057
+ }
1058
+ else if (colSpan <= 8) {
1059
+ return 'grid-cols-3';
1060
+ }
1061
+ else {
1062
+ return 'grid-cols-4';
1063
+ }
1064
+ }
1127
1065
 
1128
- const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, anchor = null, }) => {
1129
- const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
1130
- const showToggle = () => setIsShowAllRow(!isShowAllRow);
1131
- return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, id: anchor, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { context: context, columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
1132
- ? renderShowMoreToggleButton({ isShowAllRow, onClick: showToggle })
1133
- : null] }));
1066
+ const BonusBenefitsBlock = JSX(({ className = '', title, subtitle, bonusBenefits, anchor = null }) => {
1067
+ return (jsxs("section", { className: `font-sans text-primary-text bg-white p-50 flex flex-col text-center ${className}`, id: anchor, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-[10px]", title: title }) : null, subtitle ? jsx("span", { className: "text-md font-normal", children: subtitle }) : null, bonusBenefits?.length ? (jsx("div", { className: `grid gap-1 ${getElementsColsValue(className)}`, children: bonusBenefits.map(renderBonusBenefit) })) : null] }));
1134
1068
  });
1135
- const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => {
1136
- return (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
1069
+ const renderBonusBenefit = (bonusBenefit, i) => {
1070
+ return (jsxs("div", { className: "flex flex-col items-center max-w-[292px]", children: [bonusBenefit?.icon ? (jsx(Img, { className: "h-[180px] w-[160px] min-w-[160px] min-h-[160px]", image: bonusBenefit.icon, width: "160", height: "180" })) : null, jsx("div", { children: bonusBenefit?.label ? jsx("span", { className: "title-2xs m-0", children: bonusBenefit.label }) : null })] }, String(i)));
1137
1071
  };
1138
1072
 
1139
1073
  function useCreditCalculatorData(useAsyncData, directoryName) {
@@ -1277,7 +1211,7 @@
1277
1211
 
1278
1212
  function renderRate({ rate, title, sup, className = '' }) {
1279
1213
  const rateFormat = String(rate).replace('.', ',');
1280
- return (jsxs("div", { children: [jsx("div", { className: "text-sm font-light ml-3", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `calc-rate-text font-mohave text-[200px] leading-[250px] pr-4 mt-[-16px] ${className}`, children: rateFormat }), sup ? jsx("span", { className: "calc-rate-text text-[65px] leading-[75px]", children: sup }) : ''] })] }));
1214
+ return (jsxs("div", { children: [jsx("div", { className: "text-sm font-light ml-3", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `calc-rate-text font-mohave text-title-huge pr-4 mt-[-16px] ${className}`, children: rateFormat }), sup ? jsx("span", { className: "calc-rate-text text-[65px] leading-[75px]", children: sup }) : ''] })] }));
1281
1215
  }
1282
1216
 
1283
1217
  const DEFAULT_PAYMENT_TYPE = 'annuity';
@@ -1483,6 +1417,132 @@
1483
1417
  })) }) }), jsx("div", { className: "w-full h-2 bg-primary-main" })] }));
1484
1418
  }
1485
1419
 
1420
+ const cardStyleMap = {
1421
+ black: 'bg-black',
1422
+ white: 'bg-white',
1423
+ };
1424
+ const CatalogCard = JSX(({ className = '', title, description, image, price, button, colors }) => {
1425
+ return (jsxs("section", { className: `border border-solid box-border p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(Img, { className: "mb-5", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h5", className: "text-left mb-1.5", title: title })) : null, description ? jsx("div", { className: "text-m-md text-left mb-4", children: description }) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-m-md text-secondary-text", children: ["\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: ", colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-title-sm text-left", children: [price, "\u00A0\u20BD"] }) : null, button?.text ? jsx(Button, { className: "mt-6 w-full", ...button }) : null] }));
1426
+ });
1427
+ const renderColorOption = (color, i) => (jsx("span", { className: `w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
1428
+
1429
+ const BLUR_BLOCK_CLASSES$1 = 'absolute top-0 bottom-0 w-[84px]';
1430
+ const CARD_FULL_VIEW_COUNT$1 = 3;
1431
+ const CARD_SHIFT$1 = 430;
1432
+ const Catalog = JSX(({ context, cards = [], className = '', title, description, anchor = null }) => {
1433
+ const [activeCardIndex, setActiveCardIndex] = context.useState(0);
1434
+ return (jsxs("section", { className: `bg-white relative font-sans p-9 overflow-hidden text-center ${className}`, id: anchor, children: [title ? jsx(Heading, { headingType: "h2", className: "mb-6", title: title }) : null, description ? jsx(Description, { className: "mb-6", description: description }) : null, jsx("div", { className: "flex duration-1000 gap-3.5", style: { transform: `translateX(-${activeCardIndex * CARD_SHIFT$1}px)` }, role: "list", children: cards?.length ? cards.map(renderCatalogCard(context)) : null }), renderNavButtons$1({
1435
+ cardsCount: cards.length,
1436
+ activeCardIndex,
1437
+ setActiveCardIndex,
1438
+ }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$1} left-0 ${'bg-opacity-from-white'}` }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$1} right-0 ${'bg-opacity-to-white'}` })] }));
1439
+ });
1440
+ const renderCatalogCard = (context) => (card, i) => {
1441
+ return jsx(CatalogCard, { context: context, ...card }, String(i));
1442
+ };
1443
+ const renderNavButtons$1 = ({ cardsCount, activeCardIndex, setActiveCardIndex, }) => {
1444
+ const handleNextClick = () => setActiveCardIndex(activeCardIndex + 1);
1445
+ const handlePrevClick = () => setActiveCardIndex(activeCardIndex - 1);
1446
+ const isUseSlider = cardsCount > CARD_FULL_VIEW_COUNT$1;
1447
+ const showNextButton = isUseSlider && cardsCount - activeCardIndex > CARD_FULL_VIEW_COUNT$1;
1448
+ const showPrevButton = isUseSlider && activeCardIndex > 0;
1449
+ return renderArrows({
1450
+ handler: [handlePrevClick, handleNextClick],
1451
+ isShown: [showPrevButton, showNextButton],
1452
+ btnClass: ['left-8', 'right-8'],
1453
+ className: 'top-1/2 z-10 mt-6',
1454
+ });
1455
+ };
1456
+
1457
+ const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
1458
+
1459
+ const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
1460
+ const BORDER_CLASSES$1 = 'border-main-stroke border-solid border';
1461
+ const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
1462
+ const FIRST_CELL_CLASSES$1 = 'w-[200px] mr-6';
1463
+ const COLS_LENGTH_FOR_SCROLL$1 = 2;
1464
+ const COLUMN_WIDTH$1 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
1465
+
1466
+ const carouselContainerClassesMap = {
1467
+ comparison: 'flex gap-4 duration-1000',
1468
+ tariff: 'flex flex-grow duration-1000',
1469
+ };
1470
+ const TableCarouselContainer = JSX(({ children, activeCardIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeCardIndex * columnWidth}px)` }, children: children }) })));
1471
+
1472
+ 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$1} ${GRADIENT}`, role: "columnheader", scope: "col", 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: "font-medium text-xs py-[11px]", children: link.text }) }) }))] })));
1473
+
1474
+ const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeCardIndex, router, handlerDecorator }) => {
1475
+ return (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] }));
1476
+ });
1477
+
1478
+ const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
1479
+ const cellWrapperClasses = `w-80 box-border flex flex-col ${BORDER_CLASSES$1} ${!isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md'} ${isFillGradient ? GRADIENT : ''}`;
1480
+ const cellClasses = `mx-7 h-full ${DIVIDER_CLASSES$1} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : 'border-b-0'}`;
1481
+ return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map((item, i) => renderCellInner$1(item, i, isFillGradient)) }) }));
1482
+ });
1483
+ const labelStyle = (isFillGradient = false) => `text-xl font-medium m-0 ${isFillGradient ? 'text-white' : ''}`;
1484
+ const descriptionStyle = (isFillGradient = false) => `text-sm opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`;
1485
+ const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label ? jsx("h4", { className: labelStyle(isFillGradient), children: label }) : null, description ? jsx("div", { className: descriptionStyle(isFillGradient), children: description }) : null] }, String(i)));
1486
+
1487
+ const titleStyle = (isLastRow = false) => `text-sm py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${isLastRow ? 'border-b-0' : 'border-solid'}`;
1488
+ const TableRow = JSX(({ row: { header, data }, activeCardIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? jsx("div", { className: titleStyle(isLastRow), children: header.title }) : null, data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
1489
+
1490
+ const TableArrowScrollControl = JSX(({ isScrollAvailable, handleNextClick, handlePrevClick, showNextButton, showPrevButton }) => {
1491
+ return isScrollAvailable ? (jsx("div", { children: renderArrows({
1492
+ handler: [handlePrevClick, handleNextClick],
1493
+ isShown: [showPrevButton, showNextButton],
1494
+ btnClass: ['top-[108px]', 'top-11'],
1495
+ className: 'right-7',
1496
+ isDisabled: true,
1497
+ }) })) : null;
1498
+ });
1499
+
1500
+ const ComparisonTableRows = JSX(({ rowData, activeCardIndex, isColoredFirstColumn, ...tableArrowScrollProps }) => {
1501
+ return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), jsx(TableArrowScrollControl, { ...tableArrowScrollProps })] }));
1502
+ });
1503
+
1504
+ const useTableArrowScrollControl = ({ columnsLength, colsLengthForScroll, activeCardIndex, setActiveCardIndex, }) => {
1505
+ const handleNextClick = () => setActiveCardIndex(activeCardIndex + 1);
1506
+ const handlePrevClick = () => setActiveCardIndex(activeCardIndex - 1);
1507
+ const isScrollAvailable = columnsLength > colsLengthForScroll;
1508
+ const showNextButton = isScrollAvailable && columnsLength - activeCardIndex > colsLengthForScroll;
1509
+ const showPrevButton = Boolean(isScrollAvailable && activeCardIndex > 0);
1510
+ return { handleNextClick, handlePrevClick, isScrollAvailable, showNextButton, showPrevButton };
1511
+ };
1512
+
1513
+ const ComparisonTableBody = JSX(({ context, columns, rowHeaders, isShowAllRow, visibleRowLength, isColoredFirstColumn }) => {
1514
+ const router = context.useRouter();
1515
+ const { handlerDecorator } = context;
1516
+ const colHeaders = columns?.map(({ header }) => header || {});
1517
+ const colData = columns?.map(({ data }) => data) || [];
1518
+ const rowData = rowHeaders
1519
+ ?.map((header, i) => ({
1520
+ header,
1521
+ data: colData.map((col) => col?.[i] || [{}]),
1522
+ }))
1523
+ .slice(0, isShowAllRow ? rowHeaders.length : visibleRowLength);
1524
+ const [activeCardIndex, setActiveCardIndex] = context.useState(0);
1525
+ const tableArrowScrollProps = useTableArrowScrollControl({
1526
+ columnsLength: colData.length,
1527
+ colsLengthForScroll: COLS_LENGTH_FOR_SCROLL$1,
1528
+ activeCardIndex,
1529
+ setActiveCardIndex,
1530
+ });
1531
+ const { isScrollAvailable } = tableArrowScrollProps;
1532
+ return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeCardIndex: activeCardIndex, router: router, handlerDecorator: handlerDecorator })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn, ...tableArrowScrollProps })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
1533
+ });
1534
+
1535
+ const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, anchor = null, }) => {
1536
+ const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
1537
+ const showToggle = () => setIsShowAllRow(!isShowAllRow);
1538
+ return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, id: anchor, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { context: context, columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
1539
+ ? renderShowMoreToggleButton({ isShowAllRow, onClick: showToggle })
1540
+ : null] }));
1541
+ });
1542
+ const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => {
1543
+ return (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
1544
+ };
1545
+
1486
1546
  function useExchangeRates(useAsyncData) {
1487
1547
  const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchExchangeRates);
1488
1548
  const result = data?.hits?.hits?.map((_) => _._source) || [];
@@ -1888,6 +1948,54 @@
1888
1948
  const renderMonthNames = (item, colSize) => item.month.map((_) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.name }, `monthName-${_.name}`)));
1889
1949
  const renderMonthImages = (item) => item.month.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r-[1px] 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);
1890
1950
 
1951
+ const GroupBlockTabs = JSX((props) => {
1952
+ const { tabs, currentTag, onTabClick, className = '', isShowCounter } = props;
1953
+ return (jsx("div", { className: `mb-2 box-border flex gap-x-1 ${className}`, role: "tablist", children: tabs?.map(renderTab$1(onTabClick, isShowCounter, currentTag)) }));
1954
+ });
1955
+ const badgeStyle = 'min-w-[22px] w-[22px] h-[22px] rounded-full text-m-sm';
1956
+ const renderTab$1 = (onTabClick, isShowCounter, currentTag) => (tab, i) => {
1957
+ const isActive = currentTag === tab.tag;
1958
+ const tabBg = isActive ? 'bg-primary-main' : 'group bg-white';
1959
+ const tabText = isActive ? 'text-white' : 'text-secondary-text group-hover:text-primary-main';
1960
+ const counterBlockStyle = `${badgeStyle}
1961
+ ${isActive ? 'bg-white/30 text-white' : 'bg-secondary-light text-secondary-text'}`;
1962
+ return (jsx("div", { className: `flex h-full w-full h-12 flex-1 cursor-pointer mr-2 last:mr-0 box-content ${tabBg}`, role: "tab", onClick: () => onTabClick(tab.tag), "aria-selected": String(isActive), tag: tab?.tag, children: jsxs("div", { className: "flex flex-1 items-center justify-center", children: [tab?.title ? jsx("h3", { className: tabText, children: tab?.title }) : null, isShowCounter ? (jsx("div", { className: `flex items-center justify-center ml-8 ${counterBlockStyle}`, children: jsx("span", { children: tab.count }) })) : null] }) }, String(i)));
1963
+ };
1964
+
1965
+ const EmbeddableGroupBlocks = {
1966
+ ProductBlock,
1967
+ ProductTile,
1968
+ };
1969
+
1970
+ const GroupBlocksItem = JSX(({ groupBlocks, context }) => {
1971
+ return (jsx("div", { className: "grid grid-cols-12 gap-2 box-border", children: groupBlocks?.length ? groupBlocks.map(renderBlock$1(context)) : null }));
1972
+ });
1973
+ const renderBlock$1 = (context) => (block, i) => {
1974
+ const type = block?.blockType;
1975
+ if (!type || !(type in EmbeddableGroupBlocks)) {
1976
+ return null;
1977
+ }
1978
+ const classNameBlock = style2className(block?.style);
1979
+ const EmbeddedBlock = EmbeddableGroupBlocks[type];
1980
+ return (jsx(EmbeddedBlock, { context: context, ...block, className: classNameBlock }, `block_${i}`));
1981
+ };
1982
+
1983
+ const filterBlocksByTag = (blocks, tag) => {
1984
+ return tag ? blocks.filter((block) => block?.tags?.includes(tag)) : blocks;
1985
+ };
1986
+
1987
+ const GroupBlock = JSX(({ className = '', tabs, context, anchor = null, groupBlocks = [], isShowCounter }) => {
1988
+ const [currentTag, setCurrentTag] = context.useState(tabs?.[0]?.tag);
1989
+ const filteredBlocks = filterBlocksByTag(groupBlocks, currentTag);
1990
+ const tabsNewMap = tabs?.map((tab) => {
1991
+ const count = tab.tag
1992
+ ? groupBlocks.filter((block) => block?.tags?.includes(tab.tag)).length
1993
+ : groupBlocks.length;
1994
+ return { ...tab, count };
1995
+ });
1996
+ return (jsxs("section", { id: anchor, className: `box-border gap-1 ${className}`, children: [tabsNewMap?.length ? (jsx(GroupBlockTabs, { currentTag: currentTag, onTabClick: setCurrentTag, tabs: tabsNewMap, isShowCounter: isShowCounter })) : null, groupBlocks.length ? (jsx(GroupBlocksItem, { context: context, groupBlocks: filteredBlocks })) : null] }));
1997
+ });
1998
+
1891
1999
  const checkIsHrefSameOrigin = (href, router) => getOrigin(href) === getOrigin(router.href);
1892
2000
 
1893
2001
  const isHrefActive = (href, router, cmp = (targetHref, baseHref) => baseHref.startsWith(targetHref)) => {
@@ -2035,12 +2143,12 @@
2035
2143
  const [tabsShift, setTabsShift] = context.useState(0);
2036
2144
  const handleNextClick = () => setTabsShift(tabsShift + 1);
2037
2145
  const handlePrevClick = () => setTabsShift(tabsShift - 1);
2038
- const galleryLength = cards?.length;
2146
+ const galleryLength = cards?.length ?? 0;
2039
2147
  const isGalleryScrollAvailable = cards?.length > 2;
2040
2148
  const showNextButton = isGalleryScrollAvailable && galleryLength > tabsShift + 2;
2041
2149
  const isLastShift = galleryLength === tabsShift + 2;
2042
2150
  const showPrevButton = tabsShift > 0;
2043
- return (jsx("section", { id: anchor, className: `min-w-full ${className}`, children: jsxs("div", { className: "relative mt-7 overflow-hidden", children: [galleryLength > 1
2151
+ return (jsx("section", { id: anchor, className: `min-w-full ${className}`, children: jsxs("div", { className: "relative mt-7 overflow-hidden", children: [galleryLength
2044
2152
  ? renderGallery({
2045
2153
  tabsShift,
2046
2154
  cards,
@@ -2079,7 +2187,6 @@
2079
2187
  }
2080
2188
 
2081
2189
  const InsuranceAmountBlock = JSX(({ className = '', context, title, insuranceTabs = [], button, anchor = null }) => {
2082
- const insuranceGalleries = insuranceTabs.map((_) => _.cards);
2083
2190
  const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
2084
2191
  return (jsxs("section", { id: anchor, className: `box-border py-[50px] overflow-hidden relative font-sans w-100 bg-white ${className}`, children: [title ? jsx(Heading, { className: "text-center", title: title, headingType: "h3" }) : null, jsx("div", { className: "p-1.5 bg-secondary-light w-fit m-auto rounded-md mt-[34px]", children: insuranceTabs.map((item, i) => renderNavButton$1({
2085
2192
  title: item?.title,
@@ -2089,10 +2196,11 @@
2089
2196
  })) }), jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: renderInsuranceGalleries({
2090
2197
  context,
2091
2198
  className,
2092
- insuranceGalleries,
2199
+ insuranceTabs,
2093
2200
  }) }), button?.text ? (jsx("div", { className: "flex justify-center", children: jsx(Button, { className: "box-border p-4 h-14 w-full max-w-[240px]", version: button?.version || 'primary', href: button.href, children: button.text }) })) : null] }));
2094
2201
  });
2095
- const renderInsuranceGalleries = ({ insuranceGalleries, context, className }) => {
2202
+ const renderInsuranceGalleries = ({ insuranceTabs, context, className = '', }) => {
2203
+ const insuranceGalleries = insuranceTabs?.map((_) => _.cards);
2096
2204
  return insuranceGalleries?.length
2097
2205
  ? insuranceGalleries.map((cards) => (jsx(InsuranceAmountBlockInner, { context: context, className: className, cards: cards })))
2098
2206
  : null;
@@ -2105,9 +2213,21 @@
2105
2213
  return (jsx("button", { type: "button", onClick: onClick, "aria-label": title, className: `box-border px-4 py-3 text-m-md ${btnClassName}`, children: title }, String(i)));
2106
2214
  }
2107
2215
 
2108
- const MobileAppTile = JSX(({ className = '', context, title = 'Мобильное приложение', qr, buttons = [], anchor = null, }) => {
2109
- return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsx(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] mb-[30px]` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-[30px] gap-4" })) : null, children: jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[92px] h-[92px] min-w-[92px] min-h-[92px] bg-secondary-light" }) })), jsx("span", { className: "font-light text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }) }));
2216
+ const mobileAppStyleMap = {
2217
+ primary: 'bg-white text-primary-text',
2218
+ secondary: 'bg-primary-main text-white',
2219
+ };
2220
+ const MobileAppTile = JSX(({ className = '', context, title = 'Мобильное приложение', qr, buttons, anchor = null, version = 'primary', items, image, }) => {
2221
+ const textColorClass = version === 'primary' ? 'text-primary-text' : '';
2222
+ return (jsxs("section", { className: `flex justify-between font-sans p-9 box-border relative
2223
+ ${getTileRightPadding(className)} ${getTileMinHeight(className)}
2224
+ ${mobileAppStyleMap[version]}
2225
+ ${className}`, id: anchor, children: [jsx(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: "h3", title: title, className: `whitespace-pre-wrap max-w-[509px] mb-6
2226
+ ${textColorClass}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-[30px] gap-4" })) : null, children: jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "122", height: "122", className: "w-[122px] h-[122px] min-w-[122px] min-h-[122px] bg-secondary-light mr-[23px] rounded-md" }) })), renderList$1(version, items)] }) }), image?.src ? (jsx("div", { className: "absolute right-0 bottom-0", children: jsx(Img, { image: image }) })) : null] }));
2110
2227
  });
2228
+ const renderList$1 = (version, items) => {
2229
+ return items?.length ? (jsx(List, { items: items, itemClassName: "base font-light mb-2 last:mb-0", version: version === 'primary' ? 'tile' : 'tile-white' })) : (jsx("span", { className: "font-light text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
2230
+ };
2111
2231
 
2112
2232
  const NavigationItem = JSX(({ className, text, onClick, href, target, isActive }) => (jsx("a", { className: `bg-inherit no-underline px-4 py-2.5 cursor-pointer rounded text-sm border border-solid hover:text-primary-main ${className || ''} ${isActive ? 'border-primary-main text-primary-main' : 'border-white text-secondary-text'}`, onClick: onClick, href: href, target: target, children: text })));
2113
2233
 
@@ -2134,9 +2254,9 @@
2134
2254
 
2135
2255
  const NavigatorTabs = JSX(({ className = '', navigatorTabs, context, anchor = null }) => {
2136
2256
  const href = globalThis.location?.href; // TODO: remove globalThis, use href from router
2137
- return (jsx("section", { className: `sticky top-0 z-20 box-border flex gap-x-1 h-14 ${className}`, id: anchor, children: navigatorTabs ? navigatorTabs.map(renderTab$1(context, href)) : null }));
2257
+ return (jsx("section", { className: `sticky top-0 z-20 box-border flex gap-x-1 h-14 ${className}`, id: anchor, children: navigatorTabs ? navigatorTabs.map(renderTab(context, href)) : null }));
2138
2258
  });
2139
- const renderTab$1 = (context, href) => (tab, i) => {
2259
+ const renderTab = (context, href) => (tab, i) => {
2140
2260
  const { useRouter, handlerDecorator } = context;
2141
2261
  const router = useRouter();
2142
2262
  const hash = getHash(href);
@@ -2163,36 +2283,34 @@
2163
2283
  return { icon, handleToggle, isActive };
2164
2284
  };
2165
2285
 
2166
- const Foldable = JSX(({ blocks = [], context, hiddenBlocksNum = 0, foldButtonClasses, foldButtonLabel, foldButtonDataTheme, isUnfolded, render = (_) => _, }) => {
2286
+ const Foldable = JSX(({ blocks = [], context, hiddenBlocksNum = 0, foldButtonClasses, foldButtonLabel, foldButtonDataTheme, isUnfolded, containerClasses, render = (_) => _, }) => {
2167
2287
  const blocksToHide = clamp(hiddenBlocksNum, 0, blocks.length);
2168
2288
  const { icon, handleToggle, isActive } = useActiveHandler({
2169
2289
  context,
2170
2290
  initialState: isUnfolded,
2171
2291
  });
2172
- return blocks ? (jsxs("div", { children: [renderBlocks(blocks, render, { blocksToHide, isActive }), hiddenBlocksNum ? (jsxs("button", { className: foldButtonClasses ||
2173
- 'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-base flex justify-center cursor-pointer', "data-theme": foldButtonDataTheme, onClick: handleToggle, children: [jsx("span", { className: "pr-3", children: isActive ? 'Скрыть' : foldButtonLabel }), jsx(Icon, { name: icon, iconVersion: "white", width: "20", height: "20", asSVG: true })] })) : null] })) : null;
2292
+ return blocks ? (jsxs("div", { children: [renderBlocks(blocks, render, { blocksToHide, isActive, containerClasses }), hiddenBlocksNum ? (jsxs("button", { className: foldButtonClasses ||
2293
+ 'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-base flex justify-center cursor-pointer', "data-theme": foldButtonDataTheme, onClick: handleToggle, children: [jsx("span", { className: "pr-3", children: isActive ? 'Скрыть' : foldButtonLabel }), icon ? jsx(Icon, { name: icon, iconVersion: "white", width: "20", height: "20", asSVG: true }) : null] })) : null] })) : null;
2174
2294
  });
2175
- const renderBlocks = (blocks, render, { blocksToHide, isActive }) => {
2295
+ const renderBlocks = (blocks, render, { blocksToHide, isActive, containerClasses }) => {
2176
2296
  const visibleBlocks = blocks.slice(0, blocks.length - blocksToHide);
2177
2297
  const hiddenBlocks = blocks.slice(-blocksToHide);
2178
- return render(jsxs("div", { children: [visibleBlocks, jsx("div", { className: foldableBlockClassNames, children: hiddenBlocks })] }), isActive);
2298
+ return render(jsxs("div", { children: [visibleBlocks, jsx("div", { className: `${foldableBlockClassNames} ${containerClasses}`, children: hiddenBlocks })] }), isActive);
2179
2299
  };
2180
2300
 
2181
- const OtherProductsItem = JSX(({ label, blocks, columns = 1, context, dataTheme, isUnfolded }) => {
2301
+ const OtherProductsItem = JSX(({ label, blocks, context, dataTheme, isUnfolded }) => {
2182
2302
  const foldableBlocks = renderBlocksList({
2183
2303
  context,
2184
- className: 'box-border p-5',
2185
- columns,
2186
2304
  blocks,
2187
2305
  });
2188
- return (jsx("div", { className: "border-0 border-b border-solid border-main-divider", children: blocks?.length ? (jsx(Foldable, { foldButtonDataTheme: dataTheme, hiddenBlocksNum: blocks?.length, blocks: foldableBlocks, isUnfolded: isUnfolded, context: context, foldButtonLabel: label, render: (children, isActive) => (jsx(Wrapper$1, { columns: columns, isActive: isActive, children: children })) })) : null }));
2306
+ return (jsx("div", { className: "border-0 border-b border-solid border-main-divider", children: blocks?.length ? (jsx(Foldable, { foldButtonDataTheme: dataTheme, hiddenBlocksNum: blocks?.length, blocks: foldableBlocks, isUnfolded: isUnfolded, context: context, foldButtonLabel: label, containerClasses: "grid grid-cols-12 gap-1 border-box", render: (children, isActive) => jsx(Wrapper$1, { isActive: isActive, children: children }) })) : null }));
2189
2307
  });
2190
- const Wrapper$1 = JSX(({ columns, children, isActive }) => {
2191
- return (jsx("div", { className: `box-border w-full ${isActive ? 'p-9' : ''} ${columns > 1 ? 'flex flex-wrap' : ''}`, children: children }));
2308
+ const Wrapper$1 = JSX(({ children }) => {
2309
+ return jsx("div", { className: "box-border", children: children });
2192
2310
  });
2193
2311
 
2194
2312
  const OtherProducts = JSX(({ blockItems, colorPalette, context, className = '' }) => {
2195
- return (jsx("section", { className: `font-sans bg-white text-primary-text ${className}`, children: blockItems?.length ? (jsx("div", { className: "list-none m-0 p-0", children: blockItems.map((item, i) => (jsx(OtherProductsItem, { ...item, dataTheme: colorPalette, context: context }, `BlockItem${i}`))) })) : null }));
2313
+ return (jsx("section", { className: `font-sans text-primary-text ${className}`, children: blockItems?.length ? (jsx("div", { className: "box-border1", children: blockItems.map((item, i) => (jsx(OtherProductsItem, { ...item, dataTheme: colorPalette, context: context }, `BlockItem${i}`))) })) : null }));
2196
2314
  });
2197
2315
 
2198
2316
  const GOLDEN_RATIO = 1.618;
@@ -2306,20 +2424,41 @@
2306
2424
  }) }));
2307
2425
  };
2308
2426
 
2309
- const StepsBlock = JSX(({ className = '', title, showLines = true, steps = [], button, anchor = null }) => {
2427
+ const STEPS_BLOCK_STYLE_MAPS = {
2428
+ primary: {
2429
+ background: 'bg-white',
2430
+ title: 'text-primary-text',
2431
+ description: 'text-secondary-text',
2432
+ iconBackground: 'bg-secondary-light',
2433
+ iconConnector: 'bg-secondary-light',
2434
+ },
2435
+ secondary: {
2436
+ background: 'bg-primary-main',
2437
+ title: 'text-white',
2438
+ description: 'text-white/80',
2439
+ iconBackground: 'bg-white/30',
2440
+ iconConnector: 'bg-white',
2441
+ },
2442
+ };
2443
+ const getStyleMap = (version) => STEPS_BLOCK_STYLE_MAPS[version];
2444
+
2445
+ const StepsBlock = JSX(({ className = '', title, showLines = true, steps = [], button, anchor = null, version = 'primary', }) => {
2446
+ const styleMap = getStyleMap(version);
2310
2447
  const shortGaps = steps.length > 3;
2311
2448
  return (jsxs("section", { className: [
2312
2449
  'box-border font-sans text-primary-text bg-white',
2313
2450
  shortGaps ? 'px-20' : 'px-[70px]',
2314
2451
  'py-[50px] flex flex-col items-center',
2452
+ styleMap.background,
2453
+ styleMap.title,
2315
2454
  className,
2316
- ].join(' '), id: anchor, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center", title: title }), steps?.length ? (jsxs("div", { className: `box-border ${title ? 'mt-9' : ''}`, children: [jsx("div", { className: "flex items-center px-[88px]", children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${!showLines ? 'opacity-0' : ''}` }))(steps.map(renderStepIcon)) }), jsx("div", { className: `flex justify-between ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map((step, i) => renderStepTitle(step, i, Boolean(button?.text))) })] })) : null, button?.text ? (jsx(Button, { className: "box-border mt-8 py-3 h-12 w-full max-w-[240px]", version: "primary", href: "#", children: button.text })) : null] }));
2455
+ ].join(' '), id: anchor, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center", title: title }), steps?.length ? (jsxs("div", { className: `box-border ${title ? 'mt-9' : ''}`, children: [jsx("div", { className: "flex items-center px-[88px]", children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${!showLines ? 'opacity-0' : ''}` }))(steps.map(renderStepIcon(styleMap))) }), jsx("div", { className: `flex justify-between ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map(renderStepTitle(styleMap, Boolean(button?.text))) })] })) : null, button?.text ? (jsx(Button, { className: "box-border mt-8 py-3 h-12 w-full max-w-[240px]", version: "primary", href: "#", children: button.text })) : null] }));
2317
2456
  });
2318
- const renderStepIcon = (step, i) => {
2319
- return (jsx("div", { className: "flex flex-col items-center text-center relative", children: jsx("div", { className: "h-[100px] w-[100px] min-w-[100px] min-h-[100px] bg-secondary-light rounded-full p-[26px] box-border z-10", children: (step.icon?.icon && jsx(Img, { image: step.icon, width: "48", height: "48" })) || (jsx("span", { className: "font-normal text-title-sm text-secondary-text", children: i + 1 })) }) }, String(i)));
2457
+ const renderStepIcon = (styleMap) => (step, i) => {
2458
+ return (jsx("div", { className: "flex flex-col items-center text-center relative", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 ${styleMap.iconBackground}`, children: (step.icon?.icon && jsx(Img, { image: step.icon, width: "48", height: "48" })) || (jsx("span", { className: `font-normal text-title-sm ${styleMap.title}`, children: i + 1 })) }) }, String(i)));
2320
2459
  };
2321
- const renderStepTitle = (step, i, isMainButton) => {
2322
- return (jsxs("div", { className: "flex flex-col items-center justify-between text-center relative w-[276px] whitespace-pre-line overflow-hidden", children: [jsxs("div", { children: [step.label && jsx("div", { className: "font-normal text-xl m-0 mt-4", children: step.label }), step.description && (jsx("div", { className: `font-light text-base text-secondary-text ${step.label ? 'mt-2' : 'mt-4'}`, children: step.description }))] }), step?.button?.text && !isMainButton ? (jsx(Button, { className: "box-border mt-8 py-3 h-12 w-full max-w-[240px]", version: "primary", href: step.button?.href, children: step.button.text })) : null] }, String(i)));
2460
+ const renderStepTitle = (styleMap, isMainButton) => (step, i) => {
2461
+ return (jsxs("div", { className: "flex flex-col items-center justify-between text-center relative w-[276px] whitespace-pre-line overflow-hidden", children: [jsxs("div", { children: [step.label ? jsx("div", { className: "font-normal text-xl m-0 mt-4", children: step.label }) : null, step.description ? (jsx("div", { className: `font-light text-base ${styleMap.description} ${step.label ? 'mt-2' : 'mt-4'}`, children: step.description })) : null] }), step?.button?.text && !isMainButton ? (jsx(Button, { className: "box-border mt-8 py-3 h-12 w-full max-w-[240px]", version: "primary", href: step.button?.href, children: step.button.text })) : null] }, String(i)));
2323
2462
  };
2324
2463
 
2325
2464
  const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
@@ -2364,84 +2503,13 @@
2364
2503
  return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, jsx(TableArrowScrollControl, { ...tableArrowScrollControlProps })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
2365
2504
  });
2366
2505
 
2367
- const GroupBlockTabs = JSX((props) => {
2368
- const { tabs, currentTag, onTabClick, className = '', isShowCounter } = props;
2369
- return (jsx("div", { className: `mb-2 box-border flex gap-x-1 ${className}`, role: "tablist", children: tabs?.map(renderTab(onTabClick, isShowCounter, currentTag)) }));
2370
- });
2371
- const badgeStyle = 'min-w-[22px] w-[22px] h-[22px] rounded-full text-m-sm';
2372
- const renderTab = (onTabClick, isShowCounter, currentTag) => (tab, i) => {
2373
- const isActive = currentTag === tab.tag;
2374
- const tabBg = isActive ? 'bg-primary-main' : 'group bg-white';
2375
- const tabText = isActive ? 'text-white' : 'text-secondary-text group-hover:text-primary-main';
2376
- const counterBlockStyle = `${badgeStyle}
2377
- ${isActive ? 'bg-white/30 text-white' : 'bg-secondary-light text-secondary-text'}`;
2378
- return (jsx("div", { className: `flex h-full w-full h-12 flex-1 cursor-pointer mr-2 last:mr-0 box-content ${tabBg}`, role: "tab", onClick: () => onTabClick(tab.tag), "aria-selected": String(isActive), tag: tab?.tag, children: jsxs("div", { className: "flex flex-1 items-center justify-center", children: [tab?.title ? jsx("h3", { className: tabText, children: tab?.title }) : null, isShowCounter ? (jsx("div", { className: `flex items-center justify-center ml-8 ${counterBlockStyle}`, children: jsx("span", { children: tab.count }) })) : null] }) }, String(i)));
2379
- };
2380
-
2381
- function style2className(style) {
2382
- return style ? style.filter(Boolean).join(' ') : '';
2383
- }
2384
-
2385
- const EmbeddableGroupBlocks = {
2386
- ProductBlock,
2387
- ProductTile,
2388
- };
2389
-
2390
- const GroupBlocksItem = JSX(({ groupBlocks, context }) => {
2391
- return (jsx("div", { className: "grid grid-cols-12 gap-2 box-border", children: groupBlocks?.length ? groupBlocks.map(renderBlock$1(context)) : null }));
2392
- });
2393
- const renderBlock$1 = (context) => (block, i) => {
2394
- const type = block?.blockType;
2395
- if (!type || !(type in EmbeddableGroupBlocks)) {
2396
- return null;
2397
- }
2398
- const classNameBlock = style2className(block?.style);
2399
- const EmbeddedBlock = EmbeddableGroupBlocks[type];
2400
- return (jsx(EmbeddedBlock, { context: context, ...block, className: classNameBlock }, `block_${i}`));
2401
- };
2402
-
2403
- const filterBlocksByTag = (blocks, tag) => {
2404
- return tag ? blocks.filter((block) => block?.tags?.includes(tag)) : blocks;
2405
- };
2406
-
2407
- const GroupBlock = JSX(({ className = '', tabs, context, anchor = null, groupBlocks = [], isShowCounter }) => {
2408
- const [currentTag, setCurrentTag] = context.useState(tabs?.[0]?.tag);
2409
- const filteredBlocks = filterBlocksByTag(groupBlocks, currentTag);
2410
- const tabsNewMap = tabs?.map((tab) => {
2411
- const count = tab.tag
2412
- ? groupBlocks.filter((block) => block?.tags?.includes(tab.tag)).length
2413
- : groupBlocks.length;
2414
- return { ...tab, count };
2415
- });
2416
- return (jsxs("section", { id: anchor, className: `box-border gap-1 ${className}`, children: [tabsNewMap?.length ? (jsx(GroupBlockTabs, { currentTag: currentTag, onTabClick: setCurrentTag, tabs: tabsNewMap, isShowCounter: isShowCounter })) : null, groupBlocks.length ? (jsx(GroupBlocksItem, { context: context, groupBlocks: filteredBlocks })) : null] }));
2417
- });
2418
-
2419
- function getElementsColsValue(className = '') {
2420
- const colSpan = getColSpan(className);
2421
- if (colSpan <= 6) {
2422
- return 'grid-cols-2';
2423
- }
2424
- else if (colSpan <= 8) {
2425
- return 'grid-cols-3';
2426
- }
2427
- else {
2428
- return 'grid-cols-4';
2429
- }
2430
- }
2431
-
2432
- const BonusBenefitsBlock = JSX(({ className = '', title, subtitle, bonusBenefits, anchor = null }) => {
2433
- return (jsxs("section", { className: `font-sans text-primary-text bg-white p-50 flex flex-col text-center ${className}`, id: anchor, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-[10px]", title: title }) : null, subtitle ? jsx("span", { className: "text-md font-normal", children: subtitle }) : null, bonusBenefits?.length ? (jsx("div", { className: `grid gap-1 ${getElementsColsValue(className)}`, children: bonusBenefits.map(renderBonusBenefit) })) : null] }));
2434
- });
2435
- const renderBonusBenefit = (bonusBenefit, i) => {
2436
- return (jsxs("div", { className: "flex flex-col items-center max-w-[292px]", children: [bonusBenefit?.icon ? (jsx(Img, { className: "h-[180px] w-[160px] min-w-[160px] min-h-[160px]", image: bonusBenefit.icon, width: "160", height: "180" })) : null, jsx("div", { children: bonusBenefit?.label ? jsx("span", { className: "title-2xs m-0", children: bonusBenefit.label }) : null })] }, String(i)));
2437
- };
2438
-
2439
2506
  const Blocks = {
2440
2507
  Accordion,
2441
2508
  BenefitsBlock,
2442
2509
  Bonus,
2443
2510
  ComparisonTable,
2444
2511
  Calculator,
2512
+ Catalog,
2445
2513
  ExchangeRateTile,
2446
2514
  Footer,
2447
2515
  Gallery,