@redneckz/wildless-cms-uni-blocks 0.3.12 → 0.3.15

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 (734) hide show
  1. package/README.md +13 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +250 -158
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/dist/components/Accordion/AccordionBlocks.d.ts +1 -0
  6. package/dist/components/Accordion/AccordionBlocks.js +2 -0
  7. package/dist/components/Accordion/AccordionBlocks.js.map +1 -1
  8. package/dist/components/Accordion/AccordionContent.d.ts +13 -2
  9. package/dist/components/Accordion/AccordionItem.js +2 -2
  10. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  11. package/dist/components/Accordion/AccordionItem.mobile.js +1 -1
  12. package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
  13. package/dist/components/Accordion/AccordionItemInner.js +5 -4
  14. package/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  15. package/dist/components/Accordion/AccordionItemInner.mobile.js +1 -1
  16. package/dist/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  17. package/dist/components/Blocks.d.ts +1 -0
  18. package/dist/components/Blocks.js +2 -0
  19. package/dist/components/Blocks.js.map +1 -1
  20. package/dist/components/Blocks.mobile.d.ts +3 -1
  21. package/dist/components/Blocks.mobile.js +6 -2
  22. package/dist/components/Blocks.mobile.js.map +1 -1
  23. package/dist/components/ComparisonTable/ComparisonTable.js +7 -25
  24. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  25. package/dist/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  26. package/dist/components/ComparisonTable/ComparisonTableBody.js +30 -0
  27. package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  28. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  29. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +13 -0
  30. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  31. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  32. package/dist/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  33. package/dist/components/ComparisonTable/ComparisonTableRows.js +10 -0
  34. package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  35. package/dist/components/ComparisonTable/TableColumn.js +2 -2
  36. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  37. package/dist/components/ContentPage/ContentPageHead.js +1 -1
  38. package/dist/components/ContentPage/ContentPageHead.js.map +1 -1
  39. package/dist/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  40. package/dist/components/CreditCalculator/CreditCalculator.js +8 -47
  41. package/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
  42. package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  43. package/dist/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  44. package/dist/components/CreditCalculator/CreditCalculatorForm.js +53 -0
  45. package/dist/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  46. package/dist/components/CreditCalculator/defaultTabs.d.ts +2 -0
  47. package/dist/components/CreditCalculator/defaultTabs.js +23 -0
  48. package/dist/components/CreditCalculator/defaultTabs.js.map +1 -0
  49. package/dist/components/Footer/Footer.mobile.js +5 -6
  50. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  51. package/dist/components/Footer/FooterContent.d.ts +1 -1
  52. package/dist/components/Gallery/Gallery.mobile.js +6 -6
  53. package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
  54. package/dist/components/Gallery/GalleryContent.d.ts +6 -0
  55. package/dist/components/Gallery/GalleryInner.js +1 -1
  56. package/dist/components/Gallery/GalleryInner.js.map +1 -1
  57. package/dist/components/Header/Header.mobile.js +3 -2
  58. package/dist/components/Header/Header.mobile.js.map +1 -1
  59. package/dist/components/Header/HeaderBurger.d.ts +2 -2
  60. package/dist/components/Header/HeaderBurger.js +1 -1
  61. package/dist/components/Header/HeaderBurger.js.map +1 -1
  62. package/dist/components/Header/HeaderContent.d.ts +10 -4
  63. package/dist/components/Header/HeaderTop.js +1 -1
  64. package/dist/components/Header/HeaderTop.js.map +1 -1
  65. package/dist/components/Headline/Headline.js +3 -8
  66. package/dist/components/Headline/Headline.js.map +1 -1
  67. package/dist/components/Headline/Headline.mobile.js +3 -2
  68. package/dist/components/Headline/Headline.mobile.js.map +1 -1
  69. package/dist/components/Headline/HeadlineContent.d.ts +2 -2
  70. package/dist/components/Headline/constants.d.ts +4 -0
  71. package/dist/components/Headline/constants.js +13 -0
  72. package/dist/components/Headline/constants.js.map +1 -0
  73. package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  74. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  75. package/dist/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  76. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  77. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  78. package/dist/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
  79. package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
  80. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  81. package/dist/components/Recommendation/Recommendation.d.ts +5 -0
  82. package/dist/components/Recommendation/Recommendation.js +34 -0
  83. package/dist/components/Recommendation/Recommendation.js.map +1 -0
  84. package/dist/components/Recommendation/RecommendationCard.d.ts +7 -0
  85. package/dist/components/Recommendation/RecommendationCard.js +13 -0
  86. package/dist/components/Recommendation/RecommendationCard.js.map +1 -0
  87. package/dist/components/Recommendation/RecommendationContent.d.ts +14 -0
  88. package/dist/components/Recommendation/RecommendationContent.js +2 -0
  89. package/dist/components/Recommendation/RecommendationContent.js.map +1 -0
  90. package/dist/components/TariffsTable/TableTileHeader.d.ts +2 -0
  91. package/dist/components/TariffsTable/TableTileHeader.js +10 -0
  92. package/dist/components/TariffsTable/TableTileHeader.js.map +1 -0
  93. package/dist/components/TariffsTable/TariffsTable.js +14 -11
  94. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  95. package/dist/components/TariffsTable/TariffsTable.mobile.d.ts +5 -0
  96. package/dist/components/TariffsTable/TariffsTable.mobile.js +21 -0
  97. package/dist/components/TariffsTable/TariffsTable.mobile.js.map +1 -0
  98. package/dist/components/TariffsTable/TariffsTableCell.js +2 -2
  99. package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
  100. package/dist/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  101. package/dist/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  102. package/dist/components/TariffsTable/TariffsTableHorizontal.js +8 -0
  103. package/dist/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  104. package/dist/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  105. package/dist/components/TariffsTable/TariffsTableTileCell.js +14 -0
  106. package/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  107. package/dist/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  108. package/dist/components/TariffsTable/TariffsTableVertical.js +7 -0
  109. package/dist/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  110. package/dist/components/TextBlock/TextBlock.mobile.js +1 -1
  111. package/dist/components/TextBlock/TextBlock.mobile.js.map +1 -1
  112. package/dist/hooks/useTableArrowScrollControl.d.ts +7 -0
  113. package/dist/hooks/useTableArrowScrollControl.js +12 -0
  114. package/dist/hooks/useTableArrowScrollControl.js.map +1 -0
  115. package/dist/model/BlockVersion.d.ts +6 -1
  116. package/dist/model/ListOrientation.d.ts +8 -0
  117. package/dist/model/ListOrientation.js +2 -0
  118. package/dist/model/ListOrientation.js.map +1 -0
  119. package/dist/model/SitemapProps.d.ts +11 -0
  120. package/dist/services/sitemap/SitemapProps.d.ts +12 -1
  121. package/dist/ui-kit/Button/Button.d.ts +1 -0
  122. package/dist/ui-kit/Button/Button.js +7 -22
  123. package/dist/ui-kit/Button/Button.js.map +1 -1
  124. package/dist/ui-kit/Button/ButtonInner.js +16 -10
  125. package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  126. package/dist/ui-kit/Description/Description.js +1 -1
  127. package/dist/ui-kit/Img/Img.d.ts +2 -1
  128. package/dist/ui-kit/Img/Img.js +2 -2
  129. package/dist/ui-kit/Img/Img.js.map +1 -1
  130. package/dist/ui-kit/Img/Img.mobile.d.ts +6 -2
  131. package/dist/ui-kit/Img/Img.mobile.js +10 -5
  132. package/dist/ui-kit/Img/Img.mobile.js.map +1 -1
  133. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +7 -3
  134. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  135. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  136. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  137. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  138. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +9 -0
  139. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  140. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  141. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  142. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  143. package/dist/ui-kit/Tabs/Tabs.d.ts +2 -0
  144. package/dist/ui-kit/Tabs/Tabs.js +16 -0
  145. package/dist/ui-kit/Tabs/Tabs.js.map +1 -0
  146. package/dist/ui-kit/Tabs/TabsProps.d.ts +17 -0
  147. package/dist/ui-kit/Tabs/TabsProps.js +2 -0
  148. package/dist/ui-kit/Tabs/TabsProps.js.map +1 -0
  149. package/lib/common.css +1 -1
  150. package/lib/components/Accordion/Accordion.fixture.d.ts +4 -1
  151. package/lib/components/Accordion/Accordion.fixture.mobile.d.ts +3 -1
  152. package/lib/components/Accordion/AccordionBlocks.d.ts +1 -0
  153. package/lib/components/Accordion/AccordionBlocks.js +2 -0
  154. package/lib/components/Accordion/AccordionBlocks.js.map +1 -1
  155. package/lib/components/Accordion/AccordionContent.d.ts +13 -2
  156. package/lib/components/Accordion/AccordionItem.js +2 -2
  157. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  158. package/lib/components/Accordion/AccordionItem.mobile.js +1 -1
  159. package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
  160. package/lib/components/Accordion/AccordionItemInner.js +5 -4
  161. package/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  162. package/lib/components/Accordion/AccordionItemInner.mobile.js +1 -1
  163. package/lib/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  164. package/lib/components/BenefitsBlock/BenefitsBlock.fixture.d.ts +3 -1
  165. package/lib/components/Blocks.d.ts +1 -0
  166. package/lib/components/Blocks.js +2 -0
  167. package/lib/components/Blocks.js.map +1 -1
  168. package/lib/components/Blocks.mobile.d.ts +3 -1
  169. package/lib/components/Blocks.mobile.js +6 -2
  170. package/lib/components/Blocks.mobile.js.map +1 -1
  171. package/lib/components/ComparisonTable/ComparisonTable.js +8 -26
  172. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  173. package/lib/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  174. package/lib/components/ComparisonTable/ComparisonTableBody.js +28 -0
  175. package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  176. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  177. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +11 -0
  178. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  179. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  180. package/lib/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  181. package/lib/components/ComparisonTable/ComparisonTableRows.js +8 -0
  182. package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  183. package/lib/components/ComparisonTable/TableColumn.js +2 -2
  184. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  185. package/lib/components/ContentPage/ContentPageHead.js +1 -1
  186. package/lib/components/ContentPage/ContentPageHead.js.map +1 -1
  187. package/lib/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  188. package/lib/components/CreditCalculator/CreditCalculator.fixture.d.ts +3 -1
  189. package/lib/components/CreditCalculator/CreditCalculator.js +8 -47
  190. package/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
  191. package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  192. package/lib/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  193. package/lib/components/CreditCalculator/CreditCalculatorForm.js +51 -0
  194. package/lib/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  195. package/lib/components/CreditCalculator/defaultTabs.d.ts +2 -0
  196. package/lib/components/CreditCalculator/defaultTabs.js +21 -0
  197. package/lib/components/CreditCalculator/defaultTabs.js.map +1 -0
  198. package/lib/components/Footer/Footer.fixture.d.ts +3 -1
  199. package/lib/components/Footer/Footer.fixture.mobile.d.ts +3 -1
  200. package/lib/components/Footer/Footer.mobile.js +5 -6
  201. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  202. package/lib/components/Footer/FooterContent.d.ts +1 -1
  203. package/lib/components/Gallery/Gallery.mobile.js +6 -6
  204. package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
  205. package/lib/components/Gallery/GalleryContent.d.ts +6 -0
  206. package/lib/components/Gallery/GalleryInner.js +1 -1
  207. package/lib/components/Gallery/GalleryInner.js.map +1 -1
  208. package/lib/components/Header/Header.mobile.js +3 -2
  209. package/lib/components/Header/Header.mobile.js.map +1 -1
  210. package/lib/components/Header/HeaderBurger.d.ts +2 -2
  211. package/lib/components/Header/HeaderBurger.js +1 -1
  212. package/lib/components/Header/HeaderBurger.js.map +1 -1
  213. package/lib/components/Header/HeaderContent.d.ts +10 -4
  214. package/lib/components/Header/HeaderTop.js +1 -1
  215. package/lib/components/Header/HeaderTop.js.map +1 -1
  216. package/lib/components/Headline/Headline.fixture.d.ts +4 -2
  217. package/lib/components/Headline/Headline.fixture.mobile.d.ts +2 -3
  218. package/lib/components/Headline/Headline.js +3 -8
  219. package/lib/components/Headline/Headline.js.map +1 -1
  220. package/lib/components/Headline/Headline.mobile.js +3 -2
  221. package/lib/components/Headline/Headline.mobile.js.map +1 -1
  222. package/lib/components/Headline/HeadlineContent.d.ts +2 -2
  223. package/lib/components/Headline/constants.d.ts +4 -0
  224. package/lib/components/Headline/constants.js +11 -0
  225. package/lib/components/Headline/constants.js.map +1 -0
  226. package/lib/components/LikeControl/LikeControl.fixture.d.ts +3 -1
  227. package/lib/components/LinkList/LinkList.fixture.d.ts +3 -1
  228. package/lib/components/MobileAppTile/MobileAppTile.fixture.d.ts +3 -1
  229. package/lib/components/MobileAppTile/MobileAppTile.fixture.mobile.d.ts +3 -1
  230. package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  231. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  232. package/lib/components/Navigation/Navigation.fixture.d.ts +3 -1
  233. package/lib/components/Placeholder/Placeholder.fixture.d.ts +3 -1
  234. package/lib/components/ProductBlock/ProductBlock.fixture.d.ts +3 -0
  235. package/lib/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  236. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  237. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  238. package/lib/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
  239. package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
  240. package/lib/components/ProductGallery/ProductGallery.fixture.d.ts +3 -1
  241. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  242. package/lib/components/ProductTile/ProductTile.fixture.d.ts +2 -1
  243. package/lib/components/Recommendation/Recommendation.d.ts +5 -0
  244. package/lib/components/Recommendation/Recommendation.fixture.d.ts +6 -0
  245. package/lib/components/Recommendation/Recommendation.js +32 -0
  246. package/lib/components/Recommendation/Recommendation.js.map +1 -0
  247. package/lib/components/Recommendation/RecommendationCard.d.ts +7 -0
  248. package/lib/components/Recommendation/RecommendationCard.js +11 -0
  249. package/lib/components/Recommendation/RecommendationCard.js.map +1 -0
  250. package/lib/components/Recommendation/RecommendationContent.d.ts +14 -0
  251. package/lib/components/Recommendation/RecommendationContent.js +2 -0
  252. package/lib/components/Recommendation/RecommendationContent.js.map +1 -0
  253. package/lib/components/TariffsTable/TableTileHeader.d.ts +2 -0
  254. package/lib/components/TariffsTable/TableTileHeader.js +8 -0
  255. package/lib/components/TariffsTable/TableTileHeader.js.map +1 -0
  256. package/lib/components/TariffsTable/TariffsTable.fixture.mobile.d.ts +5 -0
  257. package/lib/components/TariffsTable/TariffsTable.js +14 -11
  258. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  259. package/lib/components/TariffsTable/TariffsTable.mobile.d.ts +5 -0
  260. package/lib/components/TariffsTable/TariffsTable.mobile.js +19 -0
  261. package/lib/components/TariffsTable/TariffsTable.mobile.js.map +1 -0
  262. package/lib/components/TariffsTable/TariffsTableCell.js +2 -2
  263. package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
  264. package/lib/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  265. package/lib/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  266. package/lib/components/TariffsTable/TariffsTableHorizontal.js +6 -0
  267. package/lib/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  268. package/lib/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  269. package/lib/components/TariffsTable/TariffsTableTileCell.js +12 -0
  270. package/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  271. package/lib/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  272. package/lib/components/TariffsTable/TariffsTableVertical.js +5 -0
  273. package/lib/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  274. package/lib/components/TextBlock/TextBlock.fixture.d.ts +3 -1
  275. package/lib/components/TextBlock/TextBlock.fixture.mobile.d.ts +3 -1
  276. package/lib/components/TextBlock/TextBlock.mobile.js +1 -1
  277. package/lib/components/TextBlock/TextBlock.mobile.js.map +1 -1
  278. package/lib/components/Tile/Tile.fixture.d.ts +1 -0
  279. package/lib/hooks/useTableArrowScrollControl.d.ts +7 -0
  280. package/lib/hooks/useTableArrowScrollControl.js +9 -0
  281. package/lib/hooks/useTableArrowScrollControl.js.map +1 -0
  282. package/lib/model/BlockVersion.d.ts +6 -1
  283. package/lib/model/ListOrientation.d.ts +8 -0
  284. package/lib/model/ListOrientation.js +2 -0
  285. package/lib/model/ListOrientation.js.map +1 -0
  286. package/lib/model/SitemapProps.d.ts +11 -0
  287. package/lib/services/sitemap/SitemapProps.d.ts +12 -1
  288. package/lib/ui-kit/Button/Button.d.ts +1 -0
  289. package/lib/ui-kit/Button/Button.js +6 -21
  290. package/lib/ui-kit/Button/Button.js.map +1 -1
  291. package/lib/ui-kit/Button/ButtonInner.js +16 -10
  292. package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  293. package/lib/ui-kit/Description/Description.js +1 -1
  294. package/lib/ui-kit/Img/Img.d.ts +2 -1
  295. package/lib/ui-kit/Img/Img.js +2 -2
  296. package/lib/ui-kit/Img/Img.js.map +1 -1
  297. package/lib/ui-kit/Img/Img.mobile.d.ts +6 -2
  298. package/lib/ui-kit/Img/Img.mobile.js +10 -5
  299. package/lib/ui-kit/Img/Img.mobile.js.map +1 -1
  300. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +8 -4
  301. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  302. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  303. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  304. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  305. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +7 -0
  306. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  307. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  308. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  309. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  310. package/lib/ui-kit/Tabs/Tabs.d.ts +2 -0
  311. package/lib/ui-kit/Tabs/Tabs.js +14 -0
  312. package/lib/ui-kit/Tabs/Tabs.js.map +1 -0
  313. package/lib/ui-kit/Tabs/TabsProps.d.ts +17 -0
  314. package/lib/ui-kit/Tabs/TabsProps.js +2 -0
  315. package/lib/ui-kit/Tabs/TabsProps.js.map +1 -0
  316. package/mobile/bundle/bundle.umd.js +268 -143
  317. package/mobile/bundle/bundle.umd.min.js +1 -1
  318. package/mobile/dist/components/Accordion/AccordionBlocks.d.ts +1 -0
  319. package/mobile/dist/components/Accordion/AccordionBlocks.js +2 -0
  320. package/mobile/dist/components/Accordion/AccordionBlocks.js.map +1 -1
  321. package/mobile/dist/components/Accordion/AccordionContent.d.ts +13 -2
  322. package/mobile/dist/components/Accordion/AccordionItem.js +1 -1
  323. package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
  324. package/mobile/dist/components/Accordion/AccordionItemInner.js +1 -1
  325. package/mobile/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  326. package/mobile/dist/components/Blocks.d.ts +3 -1
  327. package/mobile/dist/components/Blocks.js +6 -2
  328. package/mobile/dist/components/Blocks.js.map +1 -1
  329. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  330. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +30 -0
  331. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  332. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  333. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +13 -0
  334. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  335. package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  336. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  337. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +10 -0
  338. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  339. package/mobile/dist/components/ComparisonTable/TableColumn.js +2 -2
  340. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  341. package/mobile/dist/components/ContentPage/ContentPageHead.js +1 -1
  342. package/mobile/dist/components/ContentPage/ContentPageHead.js.map +1 -1
  343. package/mobile/dist/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  344. package/mobile/dist/components/CreditCalculator/CreditCalculator.js +8 -47
  345. package/mobile/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
  346. package/mobile/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  347. package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  348. package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.js +53 -0
  349. package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  350. package/mobile/dist/components/CreditCalculator/defaultTabs.d.ts +2 -0
  351. package/mobile/dist/components/CreditCalculator/defaultTabs.js +23 -0
  352. package/mobile/dist/components/CreditCalculator/defaultTabs.js.map +1 -0
  353. package/mobile/dist/components/Footer/Footer.js +5 -6
  354. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  355. package/mobile/dist/components/Footer/FooterContent.d.ts +1 -1
  356. package/mobile/dist/components/Gallery/Gallery.js +6 -6
  357. package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
  358. package/mobile/dist/components/Gallery/GalleryContent.d.ts +6 -0
  359. package/mobile/dist/components/Gallery/GalleryInner.js +1 -1
  360. package/mobile/dist/components/Gallery/GalleryInner.js.map +1 -1
  361. package/mobile/dist/components/Header/Header.js +3 -2
  362. package/mobile/dist/components/Header/Header.js.map +1 -1
  363. package/mobile/dist/components/Header/HeaderBurger.d.ts +2 -2
  364. package/mobile/dist/components/Header/HeaderBurger.js +1 -1
  365. package/mobile/dist/components/Header/HeaderBurger.js.map +1 -1
  366. package/mobile/dist/components/Header/HeaderContent.d.ts +10 -4
  367. package/mobile/dist/components/Header/HeaderTop.js +1 -1
  368. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  369. package/mobile/dist/components/Headline/Headline.js +3 -2
  370. package/mobile/dist/components/Headline/Headline.js.map +1 -1
  371. package/mobile/dist/components/Headline/HeadlineContent.d.ts +2 -2
  372. package/mobile/dist/components/Headline/constants.d.ts +4 -0
  373. package/mobile/dist/components/Headline/constants.js +13 -0
  374. package/mobile/dist/components/Headline/constants.js.map +1 -0
  375. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  376. package/mobile/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  377. package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  378. package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  379. package/mobile/dist/components/Recommendation/Recommendation.d.ts +5 -0
  380. package/mobile/dist/components/Recommendation/Recommendation.js +34 -0
  381. package/mobile/dist/components/Recommendation/Recommendation.js.map +1 -0
  382. package/mobile/dist/components/Recommendation/RecommendationCard.d.ts +7 -0
  383. package/mobile/dist/components/Recommendation/RecommendationCard.js +13 -0
  384. package/mobile/dist/components/Recommendation/RecommendationCard.js.map +1 -0
  385. package/mobile/dist/components/Recommendation/RecommendationContent.d.ts +14 -0
  386. package/mobile/dist/components/Recommendation/RecommendationContent.js +2 -0
  387. package/mobile/dist/components/Recommendation/RecommendationContent.js.map +1 -0
  388. package/mobile/dist/components/TariffsTable/TableTileHeader.d.ts +2 -0
  389. package/mobile/dist/components/TariffsTable/TableTileHeader.js +10 -0
  390. package/mobile/dist/components/TariffsTable/TableTileHeader.js.map +1 -0
  391. package/mobile/dist/components/TariffsTable/TariffsTable.js +14 -18
  392. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  393. package/mobile/dist/components/TariffsTable/TariffsTableCell.js +2 -2
  394. package/mobile/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
  395. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  396. package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  397. package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.js +8 -0
  398. package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  399. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  400. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js +14 -0
  401. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  402. package/mobile/dist/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  403. package/mobile/dist/components/TariffsTable/TariffsTableVertical.js +7 -0
  404. package/mobile/dist/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  405. package/mobile/dist/components/TextBlock/TextBlock.js +1 -1
  406. package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
  407. package/mobile/dist/hooks/useTableArrowScrollControl.d.ts +7 -0
  408. package/mobile/dist/hooks/useTableArrowScrollControl.js +12 -0
  409. package/mobile/dist/hooks/useTableArrowScrollControl.js.map +1 -0
  410. package/mobile/dist/model/BlockVersion.d.ts +6 -1
  411. package/mobile/dist/model/ListOrientation.d.ts +8 -0
  412. package/mobile/dist/model/ListOrientation.js +2 -0
  413. package/mobile/dist/model/ListOrientation.js.map +1 -0
  414. package/mobile/dist/model/SitemapProps.d.ts +11 -0
  415. package/mobile/dist/services/sitemap/SitemapProps.d.ts +12 -1
  416. package/mobile/dist/ui-kit/Button/ButtonInner.js +16 -10
  417. package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  418. package/mobile/dist/ui-kit/Description/Description.js +1 -1
  419. package/mobile/dist/ui-kit/Img/Img.d.ts +6 -2
  420. package/mobile/dist/ui-kit/Img/Img.js +10 -5
  421. package/mobile/dist/ui-kit/Img/Img.js.map +1 -1
  422. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +7 -3
  423. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  424. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  425. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  426. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  427. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +9 -0
  428. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  429. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  430. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  431. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  432. package/mobile/dist/ui-kit/Tabs/Tabs.d.ts +2 -0
  433. package/mobile/dist/ui-kit/Tabs/Tabs.js +16 -0
  434. package/mobile/dist/ui-kit/Tabs/Tabs.js.map +1 -0
  435. package/mobile/dist/ui-kit/Tabs/TabsProps.d.ts +17 -0
  436. package/mobile/dist/ui-kit/Tabs/TabsProps.js +2 -0
  437. package/mobile/dist/ui-kit/Tabs/TabsProps.js.map +1 -0
  438. package/mobile/lib/components/Accordion/AccordionBlocks.d.ts +1 -0
  439. package/mobile/lib/components/Accordion/AccordionBlocks.js +2 -0
  440. package/mobile/lib/components/Accordion/AccordionBlocks.js.map +1 -1
  441. package/mobile/lib/components/Accordion/AccordionContent.d.ts +13 -2
  442. package/mobile/lib/components/Accordion/AccordionItem.js +1 -1
  443. package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
  444. package/mobile/lib/components/Accordion/AccordionItemInner.js +1 -1
  445. package/mobile/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  446. package/mobile/lib/components/Blocks.d.ts +3 -1
  447. package/mobile/lib/components/Blocks.js +6 -2
  448. package/mobile/lib/components/Blocks.js.map +1 -1
  449. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  450. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +28 -0
  451. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  452. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  453. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +11 -0
  454. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  455. package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  456. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  457. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +8 -0
  458. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  459. package/mobile/lib/components/ComparisonTable/TableColumn.js +2 -2
  460. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  461. package/mobile/lib/components/ContentPage/ContentPageHead.js +1 -1
  462. package/mobile/lib/components/ContentPage/ContentPageHead.js.map +1 -1
  463. package/mobile/lib/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  464. package/mobile/lib/components/CreditCalculator/CreditCalculator.js +8 -47
  465. package/mobile/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
  466. package/mobile/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  467. package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  468. package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.js +51 -0
  469. package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  470. package/mobile/lib/components/CreditCalculator/defaultTabs.d.ts +2 -0
  471. package/mobile/lib/components/CreditCalculator/defaultTabs.js +21 -0
  472. package/mobile/lib/components/CreditCalculator/defaultTabs.js.map +1 -0
  473. package/mobile/lib/components/Footer/Footer.js +5 -6
  474. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  475. package/mobile/lib/components/Footer/FooterContent.d.ts +1 -1
  476. package/mobile/lib/components/Gallery/Gallery.js +6 -6
  477. package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
  478. package/mobile/lib/components/Gallery/GalleryContent.d.ts +6 -0
  479. package/mobile/lib/components/Gallery/GalleryInner.js +1 -1
  480. package/mobile/lib/components/Gallery/GalleryInner.js.map +1 -1
  481. package/mobile/lib/components/Header/Header.js +3 -2
  482. package/mobile/lib/components/Header/Header.js.map +1 -1
  483. package/mobile/lib/components/Header/HeaderBurger.d.ts +2 -2
  484. package/mobile/lib/components/Header/HeaderBurger.js +1 -1
  485. package/mobile/lib/components/Header/HeaderBurger.js.map +1 -1
  486. package/mobile/lib/components/Header/HeaderContent.d.ts +10 -4
  487. package/mobile/lib/components/Header/HeaderTop.js +1 -1
  488. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  489. package/mobile/lib/components/Headline/Headline.js +3 -2
  490. package/mobile/lib/components/Headline/Headline.js.map +1 -1
  491. package/mobile/lib/components/Headline/HeadlineContent.d.ts +2 -2
  492. package/mobile/lib/components/Headline/constants.d.ts +4 -0
  493. package/mobile/lib/components/Headline/constants.js +11 -0
  494. package/mobile/lib/components/Headline/constants.js.map +1 -0
  495. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  496. package/mobile/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  497. package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  498. package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  499. package/mobile/lib/components/Recommendation/Recommendation.d.ts +5 -0
  500. package/mobile/lib/components/Recommendation/Recommendation.js +32 -0
  501. package/mobile/lib/components/Recommendation/Recommendation.js.map +1 -0
  502. package/mobile/lib/components/Recommendation/RecommendationCard.d.ts +7 -0
  503. package/mobile/lib/components/Recommendation/RecommendationCard.js +11 -0
  504. package/mobile/lib/components/Recommendation/RecommendationCard.js.map +1 -0
  505. package/mobile/lib/components/Recommendation/RecommendationContent.d.ts +14 -0
  506. package/mobile/lib/components/Recommendation/RecommendationContent.js +2 -0
  507. package/mobile/lib/components/Recommendation/RecommendationContent.js.map +1 -0
  508. package/mobile/lib/components/TariffsTable/TableTileHeader.d.ts +2 -0
  509. package/mobile/lib/components/TariffsTable/TableTileHeader.js +8 -0
  510. package/mobile/lib/components/TariffsTable/TableTileHeader.js.map +1 -0
  511. package/mobile/lib/components/TariffsTable/TariffsTable.js +14 -18
  512. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  513. package/mobile/lib/components/TariffsTable/TariffsTableCell.js +2 -2
  514. package/mobile/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
  515. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  516. package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  517. package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.js +6 -0
  518. package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  519. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  520. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js +12 -0
  521. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  522. package/mobile/lib/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  523. package/mobile/lib/components/TariffsTable/TariffsTableVertical.js +5 -0
  524. package/mobile/lib/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  525. package/mobile/lib/components/TextBlock/TextBlock.js +1 -1
  526. package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
  527. package/mobile/lib/hooks/useTableArrowScrollControl.d.ts +7 -0
  528. package/mobile/lib/hooks/useTableArrowScrollControl.js +9 -0
  529. package/mobile/lib/hooks/useTableArrowScrollControl.js.map +1 -0
  530. package/mobile/lib/model/BlockVersion.d.ts +6 -1
  531. package/mobile/lib/model/ListOrientation.d.ts +8 -0
  532. package/mobile/lib/model/ListOrientation.js +2 -0
  533. package/mobile/lib/model/ListOrientation.js.map +1 -0
  534. package/mobile/lib/model/SitemapProps.d.ts +11 -0
  535. package/mobile/lib/services/sitemap/SitemapProps.d.ts +12 -1
  536. package/mobile/lib/ui-kit/Button/ButtonInner.js +16 -10
  537. package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  538. package/mobile/lib/ui-kit/Description/Description.js +1 -1
  539. package/mobile/lib/ui-kit/Img/Img.d.ts +6 -2
  540. package/mobile/lib/ui-kit/Img/Img.js +10 -5
  541. package/mobile/lib/ui-kit/Img/Img.js.map +1 -1
  542. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +8 -4
  543. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  544. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  545. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  546. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  547. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +7 -0
  548. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  549. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  550. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  551. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  552. package/mobile/lib/ui-kit/Tabs/Tabs.d.ts +2 -0
  553. package/mobile/lib/ui-kit/Tabs/Tabs.js +14 -0
  554. package/mobile/lib/ui-kit/Tabs/Tabs.js.map +1 -0
  555. package/mobile/lib/ui-kit/Tabs/TabsProps.d.ts +17 -0
  556. package/mobile/lib/ui-kit/Tabs/TabsProps.js +2 -0
  557. package/mobile/lib/ui-kit/Tabs/TabsProps.js.map +1 -0
  558. package/mobile/src/components/Accordion/AccordionBlocks.tsx +2 -0
  559. package/mobile/src/components/Accordion/AccordionContent.ts +16 -0
  560. package/mobile/src/components/Accordion/AccordionItem.tsx +2 -2
  561. package/mobile/src/components/Accordion/AccordionItemInner.tsx +1 -1
  562. package/mobile/src/components/Blocks.ts +6 -2
  563. package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +68 -0
  564. package/mobile/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +34 -0
  565. package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +1 -1
  566. package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +32 -0
  567. package/mobile/src/components/ComparisonTable/TableColumn.tsx +6 -2
  568. package/mobile/src/components/ContentPage/ContentPage.page.json +74 -0
  569. package/mobile/src/components/ContentPage/ContentPageHead.tsx +1 -1
  570. package/mobile/src/components/CreditCalculator/CreditCalculator.tsx +19 -81
  571. package/mobile/src/components/CreditCalculator/CreditCalculatorContent.ts +12 -2
  572. package/mobile/src/components/CreditCalculator/CreditCalculatorForm.tsx +92 -0
  573. package/mobile/src/components/CreditCalculator/defaultTabs.ts +22 -0
  574. package/mobile/src/components/Footer/Footer.tsx +9 -9
  575. package/mobile/src/components/Footer/FooterContent.ts +1 -1
  576. package/mobile/src/components/Gallery/Gallery.example.json +4 -0
  577. package/mobile/src/components/Gallery/Gallery.tsx +19 -9
  578. package/mobile/src/components/Gallery/GalleryContent.ts +6 -0
  579. package/mobile/src/components/Gallery/GalleryInner.tsx +2 -0
  580. package/mobile/src/components/Header/Header.tsx +5 -6
  581. package/mobile/src/components/Header/HeaderBurger.tsx +11 -6
  582. package/mobile/src/components/Header/HeaderContent.ts +12 -4
  583. package/mobile/src/components/Header/HeaderTop.tsx +5 -1
  584. package/mobile/src/components/Headline/Headline.example.json +1 -1
  585. package/mobile/src/components/Headline/Headline.tsx +20 -4
  586. package/mobile/src/components/Headline/HeadlineContent.ts +2 -3
  587. package/mobile/src/components/Headline/constants.ts +14 -0
  588. package/mobile/src/components/MiniGallery/MiniGallery.example.json +8 -4
  589. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +1 -0
  590. package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +3 -1
  591. package/mobile/src/components/ProductGallery/ProductGallery.example.json +2 -1
  592. package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
  593. package/mobile/src/components/ProductTile/ProductTile.example.json +1 -0
  594. package/mobile/src/components/Recommendation/Recommendation.example.json +38 -0
  595. package/mobile/src/components/Recommendation/Recommendation.tsx +105 -0
  596. package/mobile/src/components/Recommendation/RecommendationCard.tsx +33 -0
  597. package/mobile/src/components/Recommendation/RecommendationContent.ts +19 -0
  598. package/mobile/src/components/TariffsTable/TableTileHeader.tsx +15 -0
  599. package/mobile/src/components/TariffsTable/TariffsTable.example.json +7 -1
  600. package/mobile/src/components/TariffsTable/TariffsTable.tsx +41 -65
  601. package/mobile/src/components/TariffsTable/TariffsTableCell.tsx +3 -3
  602. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +31 -23
  603. package/mobile/src/components/TariffsTable/TariffsTableHorizontal.tsx +16 -0
  604. package/mobile/src/components/TariffsTable/TariffsTableTileCell.tsx +61 -0
  605. package/mobile/src/components/TariffsTable/TariffsTableVertical.tsx +11 -0
  606. package/mobile/src/components/TextBlock/TextBlock.tsx +2 -2
  607. package/mobile/src/hooks/useTableArrowScrollControl.ts +22 -0
  608. package/mobile/src/model/BlockVersion.ts +7 -1
  609. package/mobile/src/model/ListOrientation.ts +8 -0
  610. package/mobile/src/model/SitemapProps.ts +12 -0
  611. package/mobile/src/services/sitemap/SitemapProps.ts +13 -1
  612. package/mobile/src/ui-kit/Button/ButtonInner.tsx +25 -21
  613. package/mobile/src/ui-kit/Description/Description.tsx +1 -1
  614. package/mobile/src/ui-kit/Img/Img.tsx +29 -15
  615. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +17 -20
  616. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +12 -0
  617. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +27 -0
  618. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +7 -0
  619. package/mobile/src/ui-kit/Tabs/Tabs.tsx +46 -0
  620. package/mobile/src/ui-kit/Tabs/TabsProps.ts +20 -0
  621. package/package.json +12 -2
  622. package/src/components/Accordion/Accordion.fixture.mobile.tsx +7 -5
  623. package/src/components/Accordion/Accordion.fixture.tsx +80 -14
  624. package/src/components/Accordion/AccordionBlocks.tsx +2 -0
  625. package/src/components/Accordion/AccordionContent.ts +16 -0
  626. package/src/components/Accordion/AccordionItem.mobile.tsx +2 -2
  627. package/src/components/Accordion/AccordionItem.tsx +4 -2
  628. package/src/components/Accordion/AccordionItemInner.mobile.tsx +1 -1
  629. package/src/components/Accordion/AccordionItemInner.tsx +21 -16
  630. package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +36 -33
  631. package/src/components/Blocks.mobile.ts +6 -2
  632. package/src/components/Blocks.ts +2 -0
  633. package/src/components/ComparisonTable/ComparisonTable.tsx +38 -99
  634. package/src/components/ComparisonTable/ComparisonTableBody.tsx +68 -0
  635. package/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +34 -0
  636. package/src/components/ComparisonTable/ComparisonTableContent.ts +1 -1
  637. package/src/components/ComparisonTable/ComparisonTableRows.tsx +32 -0
  638. package/src/components/ComparisonTable/TableColumn.tsx +6 -2
  639. package/src/components/ContentPage/ContentPage.page.json +74 -0
  640. package/src/components/ContentPage/ContentPageHead.tsx +1 -1
  641. package/src/components/CreditCalculator/CreditCalculator.fixture.tsx +30 -10
  642. package/src/components/CreditCalculator/CreditCalculator.tsx +19 -81
  643. package/src/components/CreditCalculator/CreditCalculatorContent.ts +12 -2
  644. package/src/components/CreditCalculator/CreditCalculatorForm.tsx +92 -0
  645. package/src/components/CreditCalculator/defaultTabs.ts +22 -0
  646. package/src/components/Footer/Footer.fixture.mobile.tsx +88 -281
  647. package/src/components/Footer/Footer.fixture.tsx +143 -141
  648. package/src/components/Footer/Footer.mobile.tsx +9 -9
  649. package/src/components/Footer/FooterContent.ts +1 -1
  650. package/src/components/Gallery/Gallery.example.json +4 -0
  651. package/src/components/Gallery/Gallery.fixture.mobile.tsx +9 -4
  652. package/src/components/Gallery/Gallery.mobile.tsx +19 -9
  653. package/src/components/Gallery/GalleryContent.ts +6 -0
  654. package/src/components/Gallery/GalleryInner.tsx +2 -0
  655. package/src/components/Header/Header.fixture.mobile.tsx +1 -203
  656. package/src/components/Header/Header.mobile.tsx +5 -6
  657. package/src/components/Header/HeaderBurger.tsx +11 -6
  658. package/src/components/Header/HeaderContent.ts +12 -4
  659. package/src/components/Header/HeaderTop.tsx +5 -1
  660. package/src/components/Headline/Headline.example.json +1 -1
  661. package/src/components/Headline/Headline.fixture.mobile.tsx +39 -15
  662. package/src/components/Headline/Headline.fixture.tsx +20 -17
  663. package/src/components/Headline/Headline.mobile.tsx +20 -4
  664. package/src/components/Headline/Headline.tsx +9 -12
  665. package/src/components/Headline/HeadlineContent.ts +2 -3
  666. package/src/components/Headline/constants.ts +14 -0
  667. package/src/components/LikeControl/LikeControl.fixture.tsx +7 -5
  668. package/src/components/LinkList/LinkList.fixture.tsx +8 -10
  669. package/src/components/MiniGallery/MiniGallery.example.json +8 -4
  670. package/src/components/MobileAppTile/MobileAppTile.fixture.mobile.tsx +11 -9
  671. package/src/components/MobileAppTile/MobileAppTile.fixture.tsx +32 -30
  672. package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  673. package/src/components/Navigation/Navigation.fixture.tsx +26 -24
  674. package/src/components/Placeholder/Placeholder.fixture.tsx +7 -5
  675. package/src/components/ProductBlock/ProductBlock.fixture.tsx +27 -11
  676. package/src/components/ProductBlock/ProductBlockContent.ts +1 -0
  677. package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +3 -1
  678. package/src/components/ProductBlock/ProductBlockInner.tsx +1 -1
  679. package/src/components/ProductGallery/ProductGallery.example.json +2 -1
  680. package/src/components/ProductGallery/ProductGallery.fixture.tsx +104 -102
  681. package/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
  682. package/src/components/ProductTile/ProductTile.example.json +1 -0
  683. package/src/components/ProductTile/ProductTile.fixture.tsx +50 -117
  684. package/src/components/Recommendation/Recommendation.example.json +38 -0
  685. package/src/components/Recommendation/Recommendation.fixture.tsx +73 -0
  686. package/src/components/Recommendation/Recommendation.tsx +105 -0
  687. package/src/components/Recommendation/RecommendationCard.tsx +33 -0
  688. package/src/components/Recommendation/RecommendationContent.ts +19 -0
  689. package/src/components/TariffsTable/TableTileHeader.tsx +15 -0
  690. package/src/components/TariffsTable/TariffsTable.example.json +7 -1
  691. package/src/components/TariffsTable/TariffsTable.fixture.mobile.tsx +164 -0
  692. package/src/components/TariffsTable/TariffsTable.fixture.tsx +5 -1
  693. package/src/components/TariffsTable/TariffsTable.mobile.tsx +54 -0
  694. package/src/components/TariffsTable/TariffsTable.tsx +51 -47
  695. package/src/components/TariffsTable/TariffsTableCell.tsx +3 -3
  696. package/src/components/TariffsTable/TariffsTableContent.ts +31 -23
  697. package/src/components/TariffsTable/TariffsTableHorizontal.tsx +16 -0
  698. package/src/components/TariffsTable/TariffsTableTileCell.tsx +61 -0
  699. package/src/components/TariffsTable/TariffsTableVertical.tsx +11 -0
  700. package/src/components/TextBlock/TextBlock.fixture.mobile.tsx +105 -93
  701. package/src/components/TextBlock/TextBlock.fixture.tsx +91 -64
  702. package/src/components/TextBlock/TextBlock.mobile.tsx +2 -2
  703. package/src/components/Tile/Tile.fixture.tsx +17 -35
  704. package/src/hooks/useTableArrowScrollControl.ts +22 -0
  705. package/src/model/BlockVersion.ts +7 -1
  706. package/src/model/ListOrientation.ts +8 -0
  707. package/src/model/SitemapProps.ts +12 -0
  708. package/src/services/sitemap/SitemapProps.ts +13 -1
  709. package/src/ui-kit/Button/Button.tsx +32 -54
  710. package/src/ui-kit/Button/ButtonInner.tsx +25 -21
  711. package/src/ui-kit/Description/Description.tsx +1 -1
  712. package/src/ui-kit/Img/Img.mobile.tsx +29 -15
  713. package/src/ui-kit/Img/Img.tsx +27 -24
  714. package/src/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.tsx +1 -1
  715. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +17 -20
  716. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +12 -0
  717. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +27 -0
  718. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +7 -0
  719. package/src/ui-kit/Tabs/Tabs.tsx +46 -0
  720. package/src/ui-kit/Tabs/TabsProps.ts +20 -0
  721. package/dist/hooks/useComparisonTableScroll.d.ts +0 -12
  722. package/dist/hooks/useComparisonTableScroll.js +0 -12
  723. package/dist/hooks/useComparisonTableScroll.js.map +0 -1
  724. package/lib/hooks/useComparisonTableScroll.d.ts +0 -12
  725. package/lib/hooks/useComparisonTableScroll.js +0 -9
  726. package/lib/hooks/useComparisonTableScroll.js.map +0 -1
  727. package/mobile/dist/hooks/useComparisonTableScroll.d.ts +0 -12
  728. package/mobile/dist/hooks/useComparisonTableScroll.js +0 -12
  729. package/mobile/dist/hooks/useComparisonTableScroll.js.map +0 -1
  730. package/mobile/lib/hooks/useComparisonTableScroll.d.ts +0 -12
  731. package/mobile/lib/hooks/useComparisonTableScroll.js +0 -9
  732. package/mobile/lib/hooks/useComparisonTableScroll.js.map +0 -1
  733. package/mobile/src/hooks/useComparisonTableScroll.ts +0 -21
  734. package/src/hooks/useComparisonTableScroll.ts +0 -21
@@ -246,24 +246,40 @@
246
246
  return (jsx("img", { className: className, src: href, alt: alt, title: title, ...imgProps, "aria-hidden": "true" }));
247
247
  });
248
248
 
249
- const Img = JSX(({ className = '', image }) => {
249
+ const Img = JSX(({ className = '', image, imageClassName }) => {
250
250
  if (!image) {
251
251
  return null;
252
252
  }
253
+ return (jsxs("picture", { className: className, children: [image.sources?.length
254
+ ? image.sources.map(({ src, format }, index) => (jsx("source", { srcSet: src, type: formatToMimeType(format) }, `${index}_${src}`)))
255
+ : null, renderImg(image, imageClassName)] }));
256
+ });
257
+ const renderImg = (image, imageClassName = '') => {
253
258
  const style = {
254
259
  width: image.size?.width ? `${image.size?.width}px` : '100%',
255
260
  height: image.size?.height ? `${image.size?.height}px` : '100%',
256
261
  };
257
- return (jsxs("picture", { className: className, children: [image.sources?.length
258
- ? image.sources.map(({ src, format }, index) => (jsx("source", { srcSet: src, type: formatToMimeType(format) }, `${index}_${src}`)))
259
- : null, jsx("img", { src: image.src, className: `m-auto ${image.className || ''}`, alt: image.alt || image.title, title: image.title, style: style, ...image.size })] }));
260
- });
262
+ const title = image.title || '';
263
+ const alt = image.alt || image.title;
264
+ return (jsx("img", { src: image.src, className: `m-auto ${imageClassName}`, alt: alt, title: title, style: style, ...image.size }));
265
+ };
261
266
  function formatToMimeType(format) {
262
267
  return format ? `image/${String(format)}` : undefined;
263
268
  }
264
269
 
265
- const Headline = JSX(({ bgColor = 'transparent', className = '', title, description, image }) => {
266
- return (jsxs("section", { className: `px-4 py-6 ${bgColor} ${className}`, children: [title && jsx(Heading, { headingType: "h2", className: "text-primary-text", title: title }), description && (jsx("p", { className: `font-normal text-m-md ${title ? 'mt-2.5' : ''}`, children: description })), image?.src && (jsx("div", { className: "mt-5 mx-auto flex justify-center", children: jsx(Img, { image: image }) }))] }));
270
+ const ALIGN_TEXT = {
271
+ left: 'text-left',
272
+ center: 'text-center',
273
+ right: 'text-right',
274
+ };
275
+ const BACKGROUND_COLOR = {
276
+ transparent: 'bg-transparent',
277
+ primary: 'bg-white',
278
+ secondary: 'bg-primary-main',
279
+ };
280
+
281
+ const Headline = JSX(({ bgColorHeadline = 'transparent', className = '', title, description, image, align = 'left', }) => {
282
+ return (jsxs("section", { className: `px-4 py-6 ${BACKGROUND_COLOR[bgColorHeadline]} ${className}`, children: [title && (jsx(Heading, { headingType: "h2", className: `text-primary-text ${ALIGN_TEXT[align]}`, title: title })), description && (jsx("p", { className: `font-normal text-m-md ${ALIGN_TEXT[align]} ${title ? 'mt-2.5' : ''}`, children: description })), image?.src && (jsx("div", { className: "mt-5 mx-auto flex justify-center", children: jsx(Img, { image: image }) }))] }));
267
283
  });
268
284
 
269
285
  // column-gap between children of SwipeListControl container
@@ -282,7 +298,15 @@
282
298
  const BASE_DOT_OPACITY = 0.3;
283
299
  const ACTIVE_DOT_OPACITY_CHANGE = 0.7;
284
300
  const SwipeListControlDots = JSX(({ children, activeIndex, indexFraction, showDots }) => {
285
- return showDots && children?.length ? (jsx("div", { className: "flex gap-2 mx-auto mt-5 w-fit", children: children?.map((_, idx) => (jsx("div", { className: `${DOT_STYLES}`, style: getDotStyles(idx, activeIndex, indexFraction), "aria-hidden": true }, String(idx)))) })) : null;
301
+ const handleClick = (idx) => (e) => {
302
+ if (idx === activeIndex) {
303
+ return;
304
+ }
305
+ const contentContainer = e.currentTarget.parentElement
306
+ ?.previousElementSibling;
307
+ contentContainer?.children[idx]?.scrollIntoView({ behavior: 'smooth' });
308
+ };
309
+ return showDots && children?.length ? (jsx("div", { className: "flex gap-2 mx-auto mt-5 w-fit", children: children?.map((_, idx) => (jsx("div", { onClick: handleClick(idx), className: `${DOT_STYLES}`, style: getDotStyles(idx, activeIndex, indexFraction), "aria-hidden": true }, String(idx)))) })) : null;
286
310
  });
287
311
  const getDotStyles = (currentIdx, activeIndex, indexFraction) => {
288
312
  if (currentIdx < activeIndex || currentIdx > activeIndex + 1)
@@ -360,6 +384,12 @@
360
384
  const SwipeListControl = JSX(({ className, context, children, gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, onSlideChange, }) => {
361
385
  const [activeIndex, setActiveIndex] = context.useState(0);
362
386
  const [indexFraction, setIndexFraction] = context.useState(0);
387
+ const dotsProps = {
388
+ activeIndex,
389
+ indexFraction,
390
+ showDots,
391
+ children,
392
+ };
363
393
  const handleScroll = (e) => {
364
394
  const { scrollLeft, clientWidth, childElementCount, scrollWidth, children } = e.currentTarget;
365
395
  // horizontal PADDING / 2 to compensate padding-margin combo of child container
@@ -380,10 +410,8 @@
380
410
  setActiveIndex(index);
381
411
  setIndexFraction(fraction);
382
412
  };
383
- return (jsxs("div", { className: className, children: [renderSwipeList({ gap, padding, activeIndex, handleScroll, children }), renderSwipelistDots({ activeIndex, indexFraction, showDots, children })] }));
413
+ return (jsxs("div", { className: className, children: [jsx(SwipeListControlList, { gap: gap, padding: padding, activeIndex: activeIndex, onScroll: handleScroll, children: children }), jsx(SwipeListControlDots, { ...dotsProps })] }));
384
414
  });
385
- const renderSwipeList = ({ gap, padding, activeIndex, handleScroll, children }) => (jsx(SwipeListControlList, { gap: gap, padding: padding, activeIndex: activeIndex, onScroll: handleScroll, children: children }));
386
- const renderSwipelistDots = ({ activeIndex, indexFraction, showDots, children }) => (jsx(SwipeListControlDots, { activeIndex: activeIndex, indexFraction: indexFraction, showDots: showDots, children: children }));
387
415
 
388
416
  const LinkDocsListItemBase = JSX(({ className, iconClassName, textClassName, suffixClassName, doc, icon }) => {
389
417
  const { text, fileSize, ...linkProps } = doc;
@@ -427,63 +455,6 @@
427
455
  return (jsxs("div", { className: "flex flex-row mb-8", children: [benefit.icon && (jsx(Icon, { className: "w-[48px] h-[48px] bg-main rounded-full box-border p-[12px]", name: benefit.icon, width: "48", height: "48", asSVG: true })), jsxs("div", { className: "flex gap-1 flex-col h-full ml-5 max-w-[490px]", children: [benefit.label && (jsx("div", { className: "font-medium text-primary-text text-xl m-0", children: benefit.label })), benefit.description && (jsx("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
428
456
  }
429
457
 
430
- const LIST_STYLE_CLASSES$1 = 'rounded-full inline-block mr-3 mt-2';
431
- const TEXT_STYLE_MAP$1 = {
432
- primary: 'text-primary-text',
433
- secondary: 'text-white',
434
- gray: 'text-secondary-text',
435
- };
436
- const LIST_STYLE_MAP$1 = {
437
- primary: 'bg-primary-main',
438
- secondary: 'bg-white',
439
- gray: 'bg-secondary-text',
440
- };
441
- const ListItem = JSX(({ className = '', isDotted = true, children, version = 'primary' }) => {
442
- return (jsxs("div", { className: `font-sans flex items-start ${className}`, role: "listitem", children: [isDotted && jsx("div", { className: getListStyle$1(version) }), jsx("span", { className: `text-m-md ${TEXT_STYLE_MAP$1[version]}`, children: children })] }));
443
- });
444
- const getListStyle$1 = (version) => {
445
- const size = version === 'gray' ? 'w-[6px] h-[6px] min-w-[6px] min-h-[6px]' : 'w-2 h-2 min-w-2 min-h-2';
446
- return `${LIST_STYLE_CLASSES$1} ${LIST_STYLE_MAP$1[version]} ${size}`;
447
- };
448
-
449
- const List = JSX((props) => {
450
- const { className = '', itemClassName, isDotted, items, version } = props;
451
- return (jsx("section", { className: `${className}`, role: "list", children: items?.length
452
- ? items.map((_, i) => (jsx(ListItem, { className: itemClassName, isDotted: isDotted, version: version, children: _ }, String(i))))
453
- : null }));
454
- });
455
-
456
- const textBlockStyleMaps = {
457
- primary: {
458
- background: 'bg-white',
459
- icon: 'bg-primary-main text-white',
460
- title: 'text-primary-text',
461
- description: 'text-secondary-text',
462
- },
463
- secondary: {
464
- background: 'bg-primary-main',
465
- icon: 'bg-white text-primary-main',
466
- title: 'text-white',
467
- description: 'text-white',
468
- },
469
- 'secondary-light': {
470
- background: 'bg-primary-main/10',
471
- icon: 'bg-primary-main text-white',
472
- title: 'text-primary-text',
473
- description: 'text-secondary-text',
474
- },
475
- };
476
- const TextBlock = JSX(({ title, description, blockVersion = 'primary', iconVersion, image, className = '', items, isDotted = true, }) => {
477
- const textBlockStyleMap = textBlockStyleMaps[blockVersion];
478
- return (jsxs("section", { className: `font-sans px-4 py-[18px] flex flex-col ${textBlockStyleMap.background} ${className}`, children: [iconVersion === 'small' ? renderIcon(textBlockStyleMap.icon) : null, iconVersion === 'big' ? renderImage$1(image) : null, jsxs("div", { className: "py-0.5", children: [title ? (jsx("div", { className: `font-medium text-base mb-1 ${textBlockStyleMap.title}`, children: title })) : null, description ? (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description })) : null, items?.length ? (jsx(List, { items: items, isDotted: isDotted, version: "gray", className: "mt-1 text-m-sm text-secondary-text" })) : null] })] }));
479
- });
480
- function renderIcon(className) {
481
- return (jsx("div", { className: "mb-3", children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
482
- }
483
- function renderImage$1(image) {
484
- return image?.src ? jsx(Img, { className: "pb-3 mr-auto", image: image }) : null;
485
- }
486
-
487
458
  const isURL = (href) => href?.includes('//');
488
459
  const withoutQuery = (href) => (href || '').replace(/\/?\?.*/, '');
489
460
  const getOrigin = (href) => {
@@ -541,17 +512,23 @@
541
512
  };
542
513
  }
543
514
 
544
- const ButtonInner = JSX(({ text, aboveText, appendLeft, rounded, version }) => {
545
- const withoutText = !text && !aboveText && Boolean(appendLeft);
546
- const buttonInnerClasses = version !== 'link'
547
- ? `flex items-center justify-center
548
- ${withoutText ? 'h-12 w-12' : `px-8 gap-2 ${aboveText ? 'py-2' : 'py-3.5'}`} ${rounded ? 'rounded-full' : ''}`
549
- : null;
550
- return renderButtonInner({ buttonInnerClasses, appendLeft, withoutText, aboveText, text });
515
+ const ButtonInner = JSX((props) => {
516
+ const { text, aboveText, appendLeft } = props;
517
+ return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs text-left", children: aboveText }), jsx("div", { className: "text-m-button font-medium text-left", children: text })] })) : null] }));
551
518
  });
552
- function renderButtonInner({ buttonInnerClasses, appendLeft, withoutText, aboveText, text }) {
553
- return (jsxs("div", { className: buttonInnerClasses, children: [appendLeft ? appendLeft : null, withoutText ? null : (jsxs("div", { children: [jsx("div", { className: "text-m-2xs text-left", children: aboveText }), jsx("div", { className: "text-m-button font-medium text-left", children: text })] }))] }));
554
- }
519
+ const getButtonStyle = (props) => {
520
+ const { version, aboveText, rounded } = props;
521
+ if (version === 'link') {
522
+ return '';
523
+ }
524
+ const withTextStyle = `px-8 gap-2 ${aboveText ? 'py-2' : 'py-3.5'}`;
525
+ return [
526
+ 'flex items-center justify-center',
527
+ isWithText(props) ? withTextStyle : 'h-12 w-12',
528
+ rounded ? 'rounded-full' : '',
529
+ ].join(' ');
530
+ };
531
+ const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
555
532
 
556
533
  const buttonStyleMap = {
557
534
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
@@ -575,9 +552,9 @@
575
552
  const ButtonSection = JSX(({ context, className = '', buttons }) => {
576
553
  const { handlerDecorator } = context;
577
554
  const router = context.useRouter();
578
- return buttons?.length ? (jsx("div", { className: `${className}`, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
555
+ return buttons?.length ? (jsx("div", { className: `${className}`, children: buttons.map((button, index) => renderButton$3(useLink({ router, handlerDecorator }, button), index)) })) : null;
579
556
  });
580
- function renderButton$2({ icon, ...button }, i) {
557
+ function renderButton$3({ icon, ...button }, i) {
581
558
  if (!button?.text)
582
559
  return;
583
560
  return icon ? (jsx(Button, { appendLeft: jsx(Icon, { name: icon, width: "24", height: "24", asSVG: true }), ...button }, String(i))) : (jsx(Button, { ...button }, String(i)));
@@ -585,13 +562,96 @@
585
562
 
586
563
  const Description = JSX((props) => {
587
564
  const { className = '', description } = props;
588
- return jsx("div", { className: `font-normal text-m-md ${className}`, children: description });
565
+ return jsx("div", { className: `font-normal text-base ${className}`, children: description });
566
+ });
567
+
568
+ const LIST_STYLE_CLASSES$1 = 'rounded-full inline-block mr-3 mt-2';
569
+ const TEXT_STYLE_MAP$1 = {
570
+ primary: 'text-primary-text',
571
+ secondary: 'text-white',
572
+ gray: 'text-secondary-text',
573
+ };
574
+ const LIST_STYLE_MAP$1 = {
575
+ primary: 'bg-primary-main',
576
+ secondary: 'bg-white',
577
+ gray: 'bg-secondary-text',
578
+ };
579
+ const ListItem = JSX(({ className = '', isDotted = true, children, version = 'primary' }) => {
580
+ return (jsxs("div", { className: `font-sans flex items-start ${className}`, role: "listitem", children: [isDotted && jsx("div", { className: getListStyle$1(version) }), jsx("span", { className: `text-m-md ${TEXT_STYLE_MAP$1[version]}`, children: children })] }));
581
+ });
582
+ const getListStyle$1 = (version) => {
583
+ const size = version === 'gray' ? 'w-[6px] h-[6px] min-w-[6px] min-h-[6px]' : 'w-2 h-2 min-w-2 min-h-2';
584
+ return `${LIST_STYLE_CLASSES$1} ${LIST_STYLE_MAP$1[version]} ${size}`;
585
+ };
586
+
587
+ const List = JSX((props) => {
588
+ const { className = '', itemClassName, isDotted, items, version } = props;
589
+ return (jsx("section", { className: `${className}`, role: "list", children: items?.length
590
+ ? items.map((_, i) => (jsx(ListItem, { className: itemClassName, isDotted: isDotted, version: version, children: _ }, String(i))))
591
+ : null }));
589
592
  });
590
593
 
591
594
  const BaseTile = JSX(({ className = '', title, children, buttons, image }) => {
592
595
  return (jsxs("div", { className: `font-sans flex flex-col grow h-full items-start ${className}`, children: [title, jsxs("div", { className: "flex grow w-full justify-between", children: [jsxs("div", { className: "flex flex-col justify-between w-full", children: [jsx("div", { children: children }), buttons?.length ? jsx("div", { children: buttons }) : null] }), image] })] }));
593
596
  });
594
597
 
598
+ const benefitTitleStyleMap = {
599
+ primary: 'text-primary-text',
600
+ secondary: 'text-white',
601
+ };
602
+ const benefitDescStyleMap = {
603
+ primary: 'text-secondary-text',
604
+ secondary: 'text-white',
605
+ };
606
+ function renderBenefit(benefit, i, version) {
607
+ return (jsxs("div", { className: "flex gap-3 items-center mb-2.5 last:mb-0", children: [benefit.icon && (jsx(Icon, { className: "w-6 h-6 rounded-full box-border", name: benefit.icon, width: "24", height: "24", asSVG: true })), jsx("div", { className: `font-medium text-m-title-xs m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-normal text-m-sm ${benefitDescStyleMap[version]}`, children: benefit.description }))] }, String(i)));
608
+ }
609
+
610
+ const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, buttons, image, items, version = 'primary', }) => {
611
+ return (jsxs("div", { className: `w-full text-primary-text ${className}`, children: [jsx("div", { children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, title: title, className: "whitespace-pre-wrap max-w-[600px]" })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex flex-col mt-5 gap-2.5" })) : null, children: [description ? (jsx(Description, { className: "mt-3 text-m-md", description: description })) : null, benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "mt-3", children: benefits.map((_, i) => renderBenefit(_, i, version)) })) : null, items?.length ? jsx(List, { className: "mt-3", items: items }) : null] }) }), renderImage$1(image)] }));
612
+ });
613
+ function renderImage$1(image) {
614
+ return image?.src ? (jsx("div", { className: "mt-5", children: jsx(Img, { image: { className: 'block', ...image } }) })) : null;
615
+ }
616
+
617
+ const ProductBlock = JSX(
618
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
619
+ (props /* Get rid of image and benefits */) => {
620
+ const { className } = props;
621
+ return (jsx("section", { className: `font-sans bg-white px-4 py-6 ${className || ''}`, children: jsx(ProductBlockInner, { ...props }) }));
622
+ });
623
+
624
+ const textBlockStyleMaps = {
625
+ primary: {
626
+ background: 'bg-white',
627
+ icon: 'bg-primary-main text-white',
628
+ title: 'text-primary-text',
629
+ description: 'text-secondary-text',
630
+ },
631
+ secondary: {
632
+ background: 'bg-primary-main',
633
+ icon: 'bg-white text-primary-main',
634
+ title: 'text-white',
635
+ description: 'text-white',
636
+ },
637
+ 'secondary-light': {
638
+ background: 'bg-primary-main/10',
639
+ icon: 'bg-primary-main text-white',
640
+ title: 'text-primary-text',
641
+ description: 'text-secondary-text',
642
+ },
643
+ };
644
+ const TextBlock = JSX(({ title, description, blockVersion = 'primary', iconVersion, image, className = '', items, isDotted = true, }) => {
645
+ const textBlockStyleMap = textBlockStyleMaps[blockVersion];
646
+ return (jsxs("section", { className: `font-sans px-4 py-[18px] flex flex-col ${textBlockStyleMap.background} ${className}`, children: [iconVersion === 'small' ? renderIcon(textBlockStyleMap.icon) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "py-0.5", children: [title ? (jsx("div", { className: `font-medium text-base mb-1 ${textBlockStyleMap.title}`, children: title })) : null, description ? (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description })) : null, items?.length ? (jsx(List, { className: "mt-1", items: items, isDotted: isDotted, version: blockVersion.indexOf('secondary') !== -1 ? 'secondary' : 'gray' })) : null] })] }));
647
+ });
648
+ function renderIcon(className) {
649
+ return (jsx("div", { className: "mb-3", children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
650
+ }
651
+ function renderImage(image) {
652
+ return image?.src ? jsx(Img, { className: "pb-3 mr-auto", image: image }) : null;
653
+ }
654
+
595
655
  const getColSpan = (className) => {
596
656
  const colSpanPrefix = 'col-span-';
597
657
  const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
@@ -673,23 +733,23 @@
673
733
  secondary: 'bg-primary-main text-white',
674
734
  };
675
735
  const Gallery = JSX(({ context, title, description, cards = [], className, isScroll = true }) => {
676
- return (jsxs("section", { className: `relative font-sans text-primary-text bg-white px-4 py-6 overflow-hidden ${className}`, children: [jsxs("div", { className: "flex flex-col items-center mb-5", children: [jsx(Heading, { headingType: "h2", className: "text-center", title: title }), description ? (jsx("div", { className: "font-normal text-m-md max-w-[600px] mt-2", children: description })) : null] }), renderCardsLayout(isScroll, cards, context)] }));
736
+ return (jsxs("section", { className: `relative font-sans text-primary-text bg-white px-4 py-6 overflow-hidden ${className}`, children: [jsxs("div", { className: "flex flex-col items-center mb-5", children: [title ? (jsx(Heading, { headingType: "h3", className: `text-center ${description ? 'mb-2' : 'mb-5'}`, title: title })) : null, description ? (jsx("div", { className: "font-normal text-m-md max-w-[600px] text-center mb-5", children: description })) : null] }), renderCardsLayout(isScroll, cards, context)] }));
677
737
  });
678
738
  function renderCardsLayout(isScroll, cards, context) {
679
739
  return isScroll ? (jsx(SwipeListControl, { context: context, children: cards?.map(renderCard$1) })) : (jsx("div", { className: "grid gap-[14px]", children: cards?.map(renderCard$1) }));
680
740
  }
681
741
  function renderCard$1(card, key) {
682
- return (jsxs("div", { className: `box-border horizontal-list-item border-solid border rounded-md border-main-stroke p-4 flex flex-col
683
- ${blockStyle[card.version ?? 'primary']}`, children: [jsxs("div", { children: [card.image?.src ? (jsx("div", { className: "flex justify-center", children: jsx(Img, { className: "mb-6", image: card.image }) })) : null, card.title ? jsx("h4", { className: `font-medium text-m-title-xs m-0`, children: card.title }) : null, card.description ? renderDescription(card) : null, card.items?.length ? renderItems$1(card.items) : null] }), card?.button?.text ? renderButton$1(card.button) : null] }, key));
742
+ return (jsxs("div", { className: `h-full justify-between box-border horizontal-list-item border-solid border rounded-md border-main-stroke p-4 flex flex-col
743
+ ${blockStyle[card.version ?? 'primary']}`, children: [jsxs("div", { children: [card.image?.src ? (jsx("div", { className: "flex justify-center", children: jsx(Img, { className: "mb-3.5", image: card.image }) })) : null, card.title ? jsx("h3", { className: `font-medium text-m-title-xs m-0`, children: card.title }) : null, card.description ? renderDescription(card) : null, card.items?.length ? renderItems$1(card.items, card.version) : null] }), card?.button?.text ? renderButton$2(card.button) : null] }, key));
684
744
  }
685
- function renderButton$1(button) {
745
+ function renderButton$2(button) {
686
746
  return (jsx(Button, { className: "mt-3", appendLeft: button?.icon && jsx(Icon, { name: button?.icon, width: "24px", height: "24px", asSVG: true }), ...button }));
687
747
  }
688
748
  function renderDescription(card) {
689
- return (jsx("div", { className: `text-secondary-text mt-2 ${card.version === 'secondary' ? 'text-white opacity-80' : ''}`, children: card.description }));
749
+ return (jsx("div", { className: `text-secondary-text mt-1 text-m-sm ${card.version === 'secondary' ? 'text-white opacity-80' : ''}`, children: card.description }));
690
750
  }
691
- function renderItems$1(items) {
692
- return (jsx("section", { className: "mt-3", children: items.map((item, i) => (jsxs("div", { children: [jsx("span", { className: "text-m-md font-medium", children: item.title }), jsx("span", { className: "text-m-sm text-secondary-text pl-2", children: item.text })] }, String(i)))) }));
751
+ function renderItems$1(items, version = 'primary') {
752
+ return (jsx("section", { className: "mt-3", children: items.map((item, i) => (jsxs("div", { children: [jsx("span", { className: "text-m-md font-medium", children: item.title }), jsx("span", { className: `text-m-sm pl-2 ${version === 'primary' ? 'text-secondary-text' : ''}`, children: item.text })] }, String(i)))) }));
693
753
  }
694
754
 
695
755
  const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
@@ -750,9 +810,9 @@
750
810
 
751
811
  const GalleryCardInner = JSX(({ title, description, image, items, button, version }) => {
752
812
  const titleStyleClasses = getTitleStyle(version, description, items);
753
- return (jsxs("div", { children: [jsxs("div", { children: [image?.src ? (jsx("div", { className: "flex justify-center", children: jsx(Img, { className: "mb-6", image: image }) })) : null, title ? renderCardTitle(title, titleStyleClasses) : null, description ? (jsx("div", { className: `font-normal text-sm ${title ? 'mt-2' : ''}`, children: description })) : null, items?.length ? renderItems(items, version) : null] }), button?.text ? renderButton(button) : null] }));
813
+ return (jsxs("div", { children: [jsxs("div", { children: [image?.src ? (jsx("div", { className: "flex justify-center", children: jsx(Img, { className: "mb-6", image: image }) })) : null, title ? renderCardTitle(title, titleStyleClasses) : null, description ? (jsx("div", { className: `font-normal text-sm ${title ? 'mt-2' : ''}`, children: description })) : null, items?.length ? renderItems(items, version) : null] }), button?.text ? renderButton$1(button) : null] }));
754
814
  });
755
- function renderButton(button) {
815
+ function renderButton$1(button) {
756
816
  return (jsx(Button, { className: "mt-6 w-full", appendLeft: button.icon && jsx(Icon, { name: button.icon, width: "24px", height: "24px", asSVG: true }), ...button }));
757
817
  }
758
818
  function renderCardTitle(title, className) {
@@ -789,7 +849,7 @@
789
849
  const showNextButton = isGalleryScrollAvailable &&
790
850
  cards?.length - activeCardIndex > galleryLengthForScrollMap[version];
791
851
  const showPrevButton = isGalleryScrollAvailable && activeCardIndex > 0;
792
- return (jsxs("section", { className: `relative font-sans text-primary-text bg-white p-[50px] overflow-hidden ${className}`, children: [jsx(GalleryContainer, { context: context, cards: cards, version: version, activeCardIndex: activeCardIndex, ...rest }), showPrevButton && (jsx(ArrowButton, { className: "absolute top-1/2 left-8 rotate-180 z-10 mt-[25px]", onClick: handlePrevClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })), showNextButton && (jsx(ArrowButton, { className: "absolute top-1/2 right-8 z-10 mt-[25px]", onClick: handleNextClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" })), jsx("div", { className: "absolute top-0 left-0 bottom-0 w-[84px] bg-opacity-from-white" }), jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[100px] bg-opacity-to-white" })] }));
852
+ return (jsxs("section", { className: `relative font-sans text-primary-text bg-white p-[50px] overflow-hidden ${className}`, children: [jsx(GalleryContainer, { context: context, cards: cards, version: version, activeCardIndex: activeCardIndex, ...rest }), showPrevButton && (jsx(ArrowButton, { className: "absolute top-1/2 left-8 rotate-180 z-10 mt-[25px]", onClick: handlePrevClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })), showNextButton && (jsx(ArrowButton, { className: "absolute top-1/2 right-8 z-10 mt-[25px]", onClick: handleNextClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" })), jsx("div", { className: "absolute top-0 left-0 bottom-0 w-[84px] bg-opacity-from-white" }), jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[100px] bg-opacity-to-white" })] }));
793
853
  });
794
854
 
795
855
  const MiniGallery = JSX((props) => (jsx(GalleryInner, { ...props, version: "mini" })));
@@ -809,6 +869,7 @@
809
869
  LinkDocs,
810
870
  TextBlock,
811
871
  PictureText,
872
+ ProductBlock,
812
873
  Tile,
813
874
  ProductTile,
814
875
  Gallery,
@@ -825,7 +886,7 @@
825
886
  return null;
826
887
  }
827
888
  const AccordionBlock = AccordionBlocks[type];
828
- return (jsx("div", { className: "mb-5 last:mb-0", children: jsx(AccordionBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
889
+ return (jsx("div", { className: "mb-5 last:mb-0 first:mt-2", children: jsx(AccordionBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
829
890
  };
830
891
 
831
892
  const isActiveHandler = ({ context, blocks }) => {
@@ -853,13 +914,75 @@
853
914
  });
854
915
  return (jsxs("li", { className: `${bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0'} border-solid border-main-divider`, children: [jsxs("button", { className: `border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text
855
916
  ${bordered ? '' : 'py-[14px] px-0'}
856
- ${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [jsx("span", { className: `text-sm pr-2.5 font-medium ${hasContent ? 'group-hover:text-primary-main' : ''}`, children: label }), hasContent ? jsx(Icon, { name: icon, width: "20", height: "20", asSVG: true }) : null] }), hasContent ? jsx(AccordionItemInner, { blocks: blocks, context: context }) : null] }));
917
+ ${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [jsx("span", { className: `text-m-title-xs pr-2.5 font-medium ${hasContent ? 'group-hover:text-primary-main' : ''}`, children: label }), hasContent ? jsx(Icon, { name: icon, width: "24", height: "24", asSVG: true }) : null] }), hasContent ? jsx(AccordionItemInner, { blocks: blocks, context: context }) : null] }));
857
918
  });
858
919
 
859
920
  const Accordion = JSX(({ title, description, accordionItems, context, className = '', bordered }) => {
860
921
  return (jsxs("section", { className: `py-6 px-4 font-sans bg-white text-primary-text ${className}`, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-2 text-center", title: title }) : null, description ? jsx("div", { className: "mb-5 text-m-md text-center", children: description }) : null, accordionItems?.length ? (jsx("ul", { className: "list-none m-0 p-0", children: accordionItems.map((item, i) => (jsx(AccordionItem, { ...item, context: context, bordered: bordered }, `AccordionItem${i}`))) })) : null] }));
861
922
  });
862
923
 
924
+ const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
925
+ const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
926
+
927
+ const HeaderCell = JSX(({ icon, image, title, subtitle, isFillGradient }) => (jsxs("div", { role: "columnheader", scope: "col", children: [icon && (jsx(Icon, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", name: icon, width: "63", height: "63" })), image?.src && (jsx("div", { className: "mb-3.5", children: jsx(Img, { image: image }) })), title && (jsx(Heading, { headingType: "h4", className: `${isFillGradient ? 'text-white' : ''}`, title: title })), subtitle && (jsx("div", { className: `text-m-sm mb-3.5 ${isFillGradient ? 'text-white' : 'text-secondary-text/80'}`, children: subtitle }))] })));
928
+
929
+ const TableCell = JSX(({ cell, rowHeader, isFillGradient = false }) => {
930
+ const cellWrapperClasses = `box-border flex flex-col`;
931
+ const cellClasses = `h-full ${DIVIDER_CLASSES}`;
932
+ return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map(renderCellInner$1(isFillGradient, rowHeader)) }) }));
933
+ });
934
+ const renderCellInner$1 = (isFillGradient, rowHeader) => ({ label, description }, i) => (jsxs("div", { className: "flex justify-between text-m-sm py-3.5", children: [jsx("div", { className: `${isFillGradient ? 'text-white/80' : 'text-secondary-text'}`, children: rowHeader }), jsxs("div", { className: "basis-1/2", children: [label && (jsx("div", { className: `text-right ${isFillGradient ? 'text-white' : ''}`, children: label })), description && (jsx("div", { className: `text-right ${isFillGradient ? 'text-white/80' : 'text-secondary-text'}`, children: description }))] })] }, String(i)));
935
+
936
+ const TableColumn = JSX(({ header, columnData, visibleRowLength = 0, isFillGradient, showRow, onToggleColumn }) => {
937
+ const columnDataView = columnData.slice(0, showRow ? columnData.length : visibleRowLength);
938
+ const gradientClassName = isFillGradient ? GRADIENT : '';
939
+ const buttonVersion = isFillGradient ? 'secondary' : 'primary';
940
+ return (jsxs("div", { className: `border border-main-stroke rounded-md p-4 mb-3.5 ${gradientClassName}`, role: "row", children: [jsx(HeaderCell, { ...header, isFillGradient: isFillGradient }), columnDataView?.length
941
+ ? columnDataView.map(({ rowHeader, cell }, i) => (jsx(TableCell, { cell: cell, rowHeader: rowHeader, isFillGradient: isFillGradient }, String(i))))
942
+ : null, showRow && renderButton({ header, buttonVersion }), renderToggleButton({ onToggleColumn, isFillGradient, showRow })] }));
943
+ });
944
+ const renderButton = ({ header, buttonVersion }) => (jsx(Button, { href: header.link.href, target: header.link.target, version: buttonVersion, className: "font-medium text-m-sm mt-4 py-[11px]", children: header.link.text }));
945
+ const renderToggleButton = ({ onToggleColumn, isFillGradient, showRow }) => (jsx("div", { className: "mt-5", role: "cell", children: jsx("a", { role: "link", onClick: onToggleColumn, className: `font-medium text-m-sm cursor-pointer ${isFillGradient ? 'text-white/80' : 'text-primary-main'}`, children: !showRow ? 'Показать описание' : 'Скрыть' }) }));
946
+
947
+ const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, useSwiper = false, }) => {
948
+ const tableData = columns?.map(({ data, header }) => ({
949
+ header,
950
+ column: data?.map((cell, i) => ({ cell, rowHeader: rowHeaders?.[i]?.title })),
951
+ })) || [];
952
+ const [columnsViewState, setColumnsViewState] = context.useState(new Array(columns?.length).fill(!visibleRowLength));
953
+ const handleToggleColumn = (i) => {
954
+ columnsViewState[i] = !columnsViewState[i];
955
+ setColumnsViewState([...columnsViewState]);
956
+ };
957
+ return (jsxs("section", { className: `bg-white font-sans px-4 py-6 overflow-hidden text-primary-text relative ${className || ''}`, children: [title && (jsx(Heading, { headingType: "h3", className: "font-medium text-center m-0 mb-5", title: title })), renderColumns({
958
+ tableData,
959
+ context,
960
+ visibleRowLength,
961
+ isColoredFirstColumn,
962
+ columnsViewState,
963
+ handleToggleColumn,
964
+ useSwiper,
965
+ setColumnsViewState,
966
+ })] }));
967
+ });
968
+ const renderColumns = ({ context, tableData, visibleRowLength, isColoredFirstColumn, columnsViewState, handleToggleColumn, useSwiper, setColumnsViewState, }) => (jsx("div", { role: "table", children: tableData?.length ? (useSwiper ? (jsx(SwipeListControl, { context: context, onSlideChange: onSlideChange(columnsViewState, setColumnsViewState), children: tableData.map(renderColumn({
969
+ context,
970
+ visibleRowLength,
971
+ isColoredFirstColumn,
972
+ columnsViewState,
973
+ handleToggleColumn,
974
+ })) })) : (tableData.map(renderColumn({
975
+ context,
976
+ visibleRowLength,
977
+ isColoredFirstColumn,
978
+ columnsViewState,
979
+ handleToggleColumn,
980
+ })))) : null }));
981
+ const renderColumn = ({ context, visibleRowLength, isColoredFirstColumn, columnsViewState, handleToggleColumn }) => (columnData, i) => (jsx(TableColumn, { context: context, visibleRowLength: visibleRowLength, showRow: columnsViewState[i], header: columnData.header, columnData: columnData.column, isFillGradient: i === 0 && isColoredFirstColumn, onToggleColumn: () => handleToggleColumn(i) }, String(i)));
982
+ const onSlideChange = (columnsViewState, setColumnsViewState) => () => {
983
+ setColumnsViewState(new Array(columnsViewState.length).fill(false));
984
+ };
985
+
863
986
  function useExchangeRates(useAsyncData) {
864
987
  const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchExchangeRates);
865
988
  return data || {};
@@ -1024,6 +1147,18 @@
1024
1147
  });
1025
1148
  const TextInformationLink = JSX(({ className, index, text, href, target, onClick }) => (jsx("a", { className: `font-sans font-normal text-xs text-secondary-text visited:text-secondary-text hover:text-primary-text inline-block no-underline max-w-[292px] ${className || ''}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
1026
1149
 
1150
+ function useSitemap(useAsyncData) {
1151
+ const { data } = useAsyncData(sitemapURL(), fetchSitemap);
1152
+ return data || {};
1153
+ }
1154
+ async function fetchSitemap() {
1155
+ const response = await fetch(sitemapURL());
1156
+ return await response.json();
1157
+ }
1158
+ function sitemapURL() {
1159
+ return `/wcms-resources/${projectSettings.SITEMAP || 'sitemap'}.json`;
1160
+ }
1161
+
1027
1162
  const SearchBar = JSX(({ className, context }) => {
1028
1163
  const { term, setTerm } = context.useSearch();
1029
1164
  return (jsxs("form", { className: `relative ${className || ''}`, children: [jsxs("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: [jsx("div", { className: "w-[20px] h-[20px]", children: jsx(Icon, { name: "LoupeIcon", width: "24", height: "24" }) }), !term && (jsx("label", { htmlFor: "search-bar-input", className: "font-sans font-normal text-sm text-secondary-text", children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443" }))] }), jsx("input", { id: "search-bar-input", className: 'h-12 pl-12 w-full peer placeholder-transparent font-sans font-normal text-base text-black border border-solid rounded box-border outline-none pr-[6%] border-main-divider focus:border-primary-text', value: term, onChange: (e) => setTerm(e.target.value), type: "text", name: "search-bar-input", placeholder: "some search" }), jsx("button", { className: "visible peer-placeholder-shown:invisible absolute top-2 right-3 w-6 h-6 p-1 bg-transparent cursor-pointer", onClick: (e) => {
@@ -1042,12 +1177,10 @@
1042
1177
  ],
1043
1178
  }));
1044
1179
 
1045
- const Footer = JSX(({ className = '', documents, relatedEnterprises, contacts, socialMedia, topItems, context, horizontalNavigationTitle, subMenu, }) => {
1046
- const propsTextBlock = {
1047
- context,
1048
- accordionItems: getAccordionItems(topItems),
1049
- };
1050
- return (jsxs("footer", { className: `px-4 py-[26px] bg-white ${className}`, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, context: context, hasButton: true }), jsx(Accordion, { className: "!p-0 mb-4", ...propsTextBlock }), jsx("div", { children: subMenu?.map(renderSubMenuItem) }), jsx(MobileAppTile, { context: context, title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android" }), jsx(SearchBar, { context: context, className: "grow" }), jsx(SocialMedia, { className: "pb-4", media: socialMedia, context: context }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises, context: context }), jsx(TextInformation, { links: documents, context: context })] }));
1180
+ const Footer = JSX(({ className = '', documents, relatedEnterprises, contacts, socialMedia, context, horizontalNavigationTitle, }) => {
1181
+ const sitemap = useSitemap(context.useAsyncData);
1182
+ const dispositions = sitemap?.dispositions;
1183
+ return (jsxs("footer", { className: `px-4 py-[26px] bg-white ${className}`, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, context: context, hasButton: true }), jsx(Accordion, { context: context, className: "!p-0 mb-4", accordionItems: getAccordionItems(sitemap.topItems) }), jsx("div", { children: dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { context: context, title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android" }), jsx(SearchBar, { context: context, className: "grow" }), jsx(SocialMedia, { className: "pb-4", media: socialMedia, context: context }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises, context: context }), jsx(TextInformation, { links: documents, context: context })] }));
1051
1184
  });
1052
1185
  const renderSubMenuItem = (menu, i) => {
1053
1186
  const { icon, href, text } = menu;
@@ -1081,18 +1214,6 @@
1081
1214
  const subtract = (minuend, subtrahend) => (minuend || []).filter((_) => !subtrahend?.find(cmp(_)));
1082
1215
  const mergeTopItems = (left, right) => substitute(left, right).concat(subtract(right, left));
1083
1216
 
1084
- function useSitemap(useAsyncData) {
1085
- const { data } = useAsyncData(sitemapURL(), fetchSitemap);
1086
- return data || {};
1087
- }
1088
- async function fetchSitemap() {
1089
- const response = await fetch(sitemapURL());
1090
- return await response.json();
1091
- }
1092
- function sitemapURL() {
1093
- return `/wcms-resources/${projectSettings.SITEMAP || 'sitemap'}.json`;
1094
- }
1095
-
1096
1217
  const TEXT_CLASSES = 'font-sans font-normal text-sm';
1097
1218
  const BORDER_CLASSES = 'absolute left-0 -bottom-3 w-full h-[2px]';
1098
1219
  const HeaderItem = JSX(({ className, text, href, target, active, onClick, children, bgColor = 'bg-white' }) => {
@@ -1114,18 +1235,19 @@
1114
1235
 
1115
1236
  const HeaderBurger = JSX(({ context, burgerSubMenu, onClick, defaultLocation = '', children }) => {
1116
1237
  const [city, getCity] = context.useGeolocation(defaultLocation);
1117
- return (jsxs("div", { className: "absolute top-0 left-0 w-full h-full bg-white p-4 box-border z-20", children: [jsx("button", { className: "absolute top-4 right-4 border-none bg-transparent cursor-pointer", onClick: onClick, children: jsx(Icon, { name: "CloseIcon", width: "24", height: "24", asSVG: true }) }), jsxs("button", { onClick: getCity, className: "flex items-center text-sm text-secondary-text mb-4 bg-transparent cursor-pointer", children: [jsx(Icon, { name: "GeolocationIcon", width: "20", height: "20", className: "text-primary-main box-border mr-2", asSVG: true }), city] }), children, jsx("div", { className: "mb-7", children: burgerSubMenu?.map(renderBurgerSubMenuItem) }), jsx(SearchBar, { context: context, className: "grow" })] }));
1238
+ return (jsxs("div", { className: "absolute top-0 left-0 w-full h-full bg-white p-4 box-border z-20", children: [jsx("button", { className: "absolute top-4 right-4 border-none bg-transparent cursor-pointer", onClick: onClick, children: jsx(Icon, { name: "CloseIcon", width: "24", height: "24", asSVG: true }) }), jsxs("button", { onClick: getCity, className: "flex items-center text-sm text-secondary-text p-0 mb-4 bg-transparent cursor-pointer", children: [jsx(Icon, { name: "GeolocationIcon", width: "20", height: "20", className: "text-primary-main box-border mr-2", asSVG: true }), city] }), children, jsx("div", { className: "mb-7", children: burgerSubMenu?.map(renderBurgerSubMenuItem) }), jsx(SearchBar, { context: context, className: "grow" })] }));
1118
1239
  });
1119
1240
  const renderBurgerSubMenuItem = (menu, i) => {
1120
1241
  const { icon, href, text } = menu;
1121
1242
  return (jsxs("a", { href: href, className: "flex text-sm mb-4 hover:text-primary-main", children: [icon ? (jsx(Icon, { className: "text-primary-main pr-1", name: icon, width: "24", height: "24", asSVG: true })) : null, jsx("span", { className: "pl-0.5 font-medium", children: text })] }, `headerSubMenu-${i}`));
1122
1243
  };
1123
1244
 
1124
- const HeaderTop = JSX(({ onClick, bgColor }) => (jsxs("div", { className: "flex items-center justify-between border-0 border-b border-main-divider h-[50px]", children: [jsxs("div", { className: "flex items-center", children: [jsx("button", { className: "pr-4 border-0 bg-transparent cursor-pointer", onClick: onClick, "aria-label": "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u043D\u044E", children: jsx(Icon, { name: bgColor === 'bg-white' ? 'BurgerIcon' : 'BurgerIconWhite', width: "24", height: "24", asSVG: true }) }), jsx(Logo, { bgColor: bgColor })] }), jsx("button", { className: `${bgColor === 'bg-white' ? 'text-primary-main' : 'text-white'} text-sm border-0 bg-transparent cursor-pointer`, children: "\u0412\u043E\u0439\u0442\u0438" })] })));
1245
+ const HeaderTop = JSX(({ onClick, bgColor }) => (jsxs("div", { className: "flex items-center justify-between border-0 border-b border-main-divider h-[50px]", children: [jsxs("div", { className: "flex items-center", children: [jsx("button", { className: "pl-0 pr-4 border-0 bg-transparent cursor-pointer", onClick: onClick, "aria-label": "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u043D\u044E", children: jsx(Icon, { name: bgColor === 'bg-white' ? 'BurgerIcon' : 'BurgerIconWhite', width: "24", height: "24", asSVG: true }) }), jsx(Logo, { bgColor: bgColor })] }), jsx("button", { className: `${bgColor === 'bg-white' ? 'text-primary-main' : 'text-white'} text-sm border-0 bg-transparent cursor-pointer`, children: "\u0412\u043E\u0439\u0442\u0438" })] })));
1125
1246
 
1126
- const Header = JSX(({ className = '', defaultLocation, bgColor = 'bg-white', context, topItems, burgerSubMenu }) => {
1247
+ const Header = JSX(({ className = '', defaultLocation, bgColor = 'bg-white', context, topItems }) => {
1127
1248
  const router = context.useRouter();
1128
1249
  const sitemap = useSitemap(context.useAsyncData);
1250
+ const dispositions = sitemap?.dispositions;
1129
1251
  const { handlerDecorator } = context;
1130
1252
  const mergedItems = mergeTopItems(sitemap.topItems, topItems);
1131
1253
  const activeTopItem = mergedItems.find(isTopItemActive(router));
@@ -1137,36 +1259,10 @@
1137
1259
  ...useLink({ router, handlerDecorator }, _),
1138
1260
  active: _ === activeSubItem,
1139
1261
  bgColor,
1140
- }, i)) }) })] }), burgerMenuShow ? (jsx(HeaderBurger, { context: context, onClick: toggleBurgerMenu, burgerSubMenu: burgerSubMenu, defaultLocation: defaultLocation, children: jsx(Accordion, { context: context, accordionItems: getAccordionItems(topItems), className: "p-0 pt-0 pb-0 mb-4" }) })) : null] }));
1262
+ }, i)) }) })] }), burgerMenuShow ? (jsx(HeaderBurger, { context: context, onClick: toggleBurgerMenu, burgerSubMenu: dispositions, defaultLocation: defaultLocation, children: jsx(Accordion, { context: context, accordionItems: getAccordionItems(sitemap.topItems), className: "!p-0 mb-4" }) })) : null] }));
1141
1263
  });
1142
1264
  const renderSubItem = (item, i) => (jsx(HeaderItem, { className: "mr-8 whitespace-nowrap text-sm", ...item }, String(i)));
1143
1265
 
1144
- const benefitTitleStyleMap = {
1145
- primary: 'text-primary-text',
1146
- secondary: 'text-white',
1147
- };
1148
- const benefitDescStyleMap = {
1149
- primary: 'text-secondary-text',
1150
- secondary: 'text-white',
1151
- };
1152
- function renderBenefit(benefit, i, version) {
1153
- return (jsxs("div", { className: "flex gap-3 items-center mb-2.5 last:mb-0", children: [benefit.icon && (jsx(Icon, { className: "w-6 h-6 rounded-full box-border", name: benefit.icon, width: "24", height: "24", asSVG: true })), jsx("div", { className: `font-medium text-m-title-xs m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-normal text-m-sm ${benefitDescStyleMap[version]}`, children: benefit.description }))] }, String(i)));
1154
- }
1155
-
1156
- const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, buttons, image, items, version = 'primary', }) => {
1157
- return (jsxs("div", { className: `w-full text-primary-text ${className}`, children: [jsx("div", { children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, title: title, className: "whitespace-pre-wrap max-w-[600px]" })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex flex-col mt-5 gap-2.5" })) : null, children: [description ? jsx(Description, { className: "mt-3", description: description }) : null, benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "mt-3", children: benefits.map((_, i) => renderBenefit(_, i, version)) })) : null, items?.length ? jsx(List, { className: "mt-3", items: items }) : null] }) }), renderImage(image)] }));
1158
- });
1159
- function renderImage(image) {
1160
- return image?.src ? (jsx("div", { className: "mt-5", children: jsx(Img, { image: { className: 'block', ...image } }) })) : null;
1161
- }
1162
-
1163
- const ProductBlock = JSX(
1164
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1165
- (props /* Get rid of image and benefits */) => {
1166
- const { className } = props;
1167
- return (jsx("section", { className: `font-sans bg-white px-4 py-6 ${className || ''}`, children: jsx(ProductBlockInner, { ...props }) }));
1168
- });
1169
-
1170
1266
  const ProductGalleryBlock = JSX(({ block, headingType, context }) => {
1171
1267
  return (jsx("section", { className: "flex grow-0 shrink-0 basis-full px-4 pt-6", children: jsx("div", { className: "flex grow", children: jsx(ProductBlockInner, { context: context, headingType: headingType || 'h2', ...block }) }) }));
1172
1268
  });
@@ -1194,20 +1290,49 @@
1194
1290
  return (jsx("div", { className: `${iconAreaSize} bg-secondary-light rounded-full z-10 mr-3 flex justify-center content-center`, children: jsx("span", { className: `font-medium text-secondary-text self-center ${iconTextSize}`, children: (step.icon && jsx(Icon, { name: step.icon, width: iconSize, height: iconSize })) || i + 1 }) }));
1195
1291
  };
1196
1292
 
1293
+ const TableTileHeader = JSX(({ title, icon }) => {
1294
+ return (jsxs("div", { className: "flex gap-2.5 mb-2", children: [title ? jsx(Heading, { headingType: "h3", className: "font-medium", title: title }) : null, icon ? (jsx(Icon, { className: "ml-auto max-w-6 max-h-6", name: icon, width: "24px", height: "24px" })) : null] }));
1295
+ });
1296
+
1297
+ const TariffsTableTileCell = JSX(({ header, data }) => {
1298
+ return (jsxs("div", { className: "rounded-md border-main-stroke h-full box-border border p-4", children: [jsx(TableTileHeader, { ...header }), data?.length ? data.map(renderCellInner) : null] }));
1299
+ });
1300
+ const renderCellInner = ({ label, description, list, image, buttons }, i) => (jsxs("div", { children: [i > 0 && (jsx("div", { className: "border-main-divider border border-solid border-t-0 border-x-0 my-2" })), label ? jsx("div", { className: "text-m-sm m-0", children: label }) : null, description ? (jsx("div", { className: "text-m-sm text-secondary-text mt-[3px]", children: description })) : null, list?.items?.length ? (jsx("div", { className: "flex flex-col justify-between items-start", children: jsx("div", { role: "list", children: list.items.map((text, idx) => (jsx(BlockItem, { className: "text-m-sm", text: text, version: "gray", isDotted: list.isDotted ?? true }, String(idx)))) }) })) : null, image && jsx(Img, { image: { ...image, className: 'm-0' } }), buttons?.length ? (jsx("div", { children: buttons.map(({ icon, rounded, ...buttonProps }, idx) => (jsx(Button, { className: `mt-3 ${idx > 0 && rounded ? 'ml-2.5' : ''} ${icon ? 'w-12 h-12' : ''}`, rounded: rounded, appendLeft: icon && jsx(Icon, { name: icon, width: "24px", height: "24px", asSVG: true }), ...buttonProps, "aria-label": icon }, String(idx)))) })) : null] }, String(i)));
1301
+
1302
+ const TariffsTableVertical = JSX(({ tiles }) => (jsx("div", { className: "flex flex-col gap-3.5", children: tiles.map((tile, i) => (jsx(TariffsTableTileCell, { ...tile }, String(i)))) })));
1303
+
1304
+ const TariffsTableHorizontal = JSX(({ tiles, context }) => (jsx(SwipeListControl, { context: context, children: tiles.map((tile, i) => (jsx(TariffsTableTileCell, { ...tile }, String(i)))) })));
1305
+
1306
+ const TariffsTable = JSX(({ className, context, title, description, columns, rowHeaders, orientation = 'vertical' }) => {
1307
+ const colData = getColData(columns);
1308
+ const tiles = getTiles(rowHeaders, colData);
1309
+ return (jsxs("section", { className: `px-4 py-6 bg-white font-sans text-primary-text ${className}`, children: [title ? (jsx(Heading, { headingType: "h2", className: `text-center ${description ? 'mb-2' : 'mb-5'}`, title: title })) : null, description ? jsx("div", { className: "mb-5 text-center text-m-md", children: description }) : null, tiles?.length ? renderOrientationTable(orientation, tiles, context) : null] }));
1310
+ });
1311
+ function renderOrientationTable(orientation, tiles, context) {
1312
+ return orientation === 'vertical' ? (jsx(TariffsTableVertical, { tiles: tiles })) : (jsx(TariffsTableHorizontal, { context: context, tiles: tiles }));
1313
+ }
1314
+ const getColData = (columns) => columns?.[0].data ? columns[0].data : [];
1315
+ const getTiles = (rowHeaders, colData) => rowHeaders?.map((header, i) => ({
1316
+ header,
1317
+ data: colData?.[i] || [{}],
1318
+ }));
1319
+
1197
1320
  const Blocks = {
1198
1321
  Accordion,
1322
+ ComparisonTable,
1199
1323
  ExchangeRateTile,
1200
1324
  Footer,
1201
1325
  Gallery,
1202
1326
  Header,
1203
1327
  Headline,
1204
1328
  LinkDocs,
1329
+ LinkList,
1205
1330
  MobileAppTile,
1206
1331
  ProductBlock,
1207
1332
  ProductGallery,
1208
1333
  StepsBlock,
1334
+ TariffsTable,
1209
1335
  TextBlock,
1210
- LinkList,
1211
1336
  };
1212
1337
 
1213
1338
  const LikeButton = JSX(({ className, onClick, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 w-[36px] bg-inherit cursor-pointer ${className || ''}`, onClick: onClick, "aria-label": ariaLabel, children: renderLikeIcon() })));
@@ -1267,7 +1392,7 @@
1267
1392
  });
1268
1393
  function renderOpenGraph(og) {
1269
1394
  return og
1270
- ? Object.entries(og).map(([key, value]) => (jsx("meta", { name: `og:${key}`, content: value }, key)))
1395
+ ? Object.entries(og).map(([key, value]) => (jsx("meta", { property: `og:${key}`, content: value }, key)))
1271
1396
  : null;
1272
1397
  }
1273
1398
  function renderTwitter(twitter) {