@redneckz/wildless-cms-uni-blocks 0.3.10 → 0.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (955) hide show
  1. package/README.md +13 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +356 -223
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/cosmos-static/icons/GpsIcon.svg +1 -0
  6. package/dist/components/Accordion/AccordionBlocks.d.ts +1 -0
  7. package/dist/components/Accordion/AccordionBlocks.js +2 -0
  8. package/dist/components/Accordion/AccordionBlocks.js.map +1 -1
  9. package/dist/components/Accordion/AccordionContent.d.ts +13 -2
  10. package/dist/components/Accordion/AccordionItem.js +2 -2
  11. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  12. package/dist/components/Accordion/AccordionItem.mobile.js +1 -1
  13. package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
  14. package/dist/components/Accordion/AccordionItemInner.js +5 -4
  15. package/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  16. package/dist/components/Accordion/AccordionItemInner.mobile.js +1 -1
  17. package/dist/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  18. package/dist/components/BaseTile/BaseTile.js +1 -1
  19. package/dist/components/BaseTile/BaseTile.js.map +1 -1
  20. package/dist/components/Blocks.d.ts +1 -0
  21. package/dist/components/Blocks.js +2 -0
  22. package/dist/components/Blocks.js.map +1 -1
  23. package/dist/components/Blocks.mobile.d.ts +3 -1
  24. package/dist/components/Blocks.mobile.js +6 -2
  25. package/dist/components/Blocks.mobile.js.map +1 -1
  26. package/dist/components/ComparisonTable/ComparisonTable.js +7 -25
  27. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  28. package/dist/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  29. package/dist/components/ComparisonTable/ComparisonTableBody.js +30 -0
  30. package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  31. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  32. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +13 -0
  33. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  34. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  35. package/dist/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  36. package/dist/components/ComparisonTable/ComparisonTableRows.js +10 -0
  37. package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  38. package/dist/components/ComparisonTable/TableColumn.js +2 -2
  39. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  40. package/dist/components/ContentPage/ContentPageContext.d.ts +1 -1
  41. package/dist/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  42. package/dist/components/CreditCalculator/CreditCalculator.js +8 -51
  43. package/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
  44. package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  45. package/dist/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  46. package/dist/components/CreditCalculator/CreditCalculatorForm.js +53 -0
  47. package/dist/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  48. package/dist/components/CreditCalculator/defaultTabs.d.ts +2 -0
  49. package/dist/components/CreditCalculator/defaultTabs.js +23 -0
  50. package/dist/components/CreditCalculator/defaultTabs.js.map +1 -0
  51. package/dist/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
  52. package/dist/components/CreditCalculator/getCreditRate.d.ts +1 -1
  53. package/dist/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
  54. package/dist/components/CreditCalculator/getDefaultMonths.js +8 -0
  55. package/dist/components/CreditCalculator/getDefaultMonths.js.map +1 -0
  56. package/dist/components/CreditCalculator/getDefaultSum.d.ts +2 -0
  57. package/dist/components/CreditCalculator/getDefaultSum.js +8 -0
  58. package/dist/components/CreditCalculator/getDefaultSum.js.map +1 -0
  59. package/dist/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
  60. package/dist/components/CreditCalculator/renderButton.d.ts +1 -0
  61. package/dist/components/CreditCalculator/renderButton.js +8 -0
  62. package/dist/components/CreditCalculator/renderButton.js.map +1 -0
  63. package/dist/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
  64. package/dist/components/CreditCalculator/renderMonthsInput.js +11 -0
  65. package/dist/components/CreditCalculator/renderMonthsInput.js.map +1 -0
  66. package/dist/components/CreditCalculator/renderProposal.d.ts +1 -0
  67. package/dist/components/CreditCalculator/renderProposal.js +9 -0
  68. package/dist/components/CreditCalculator/renderProposal.js.map +1 -0
  69. package/dist/components/CreditCalculator/renderTermsButton.d.ts +1 -0
  70. package/dist/components/CreditCalculator/renderTermsButton.js +9 -0
  71. package/dist/components/CreditCalculator/renderTermsButton.js.map +1 -0
  72. package/dist/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
  73. package/dist/components/CreditCalculator/renderWantedSumInput.js +18 -0
  74. package/dist/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
  75. package/dist/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  76. package/dist/components/ExchangeRateTile/CurrencyTable.js +19 -0
  77. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  78. package/dist/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
  79. package/dist/components/ExchangeRateTile/CurrentLocation.js +7 -0
  80. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  81. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
  82. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -0
  83. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  84. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
  85. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  86. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
  87. package/dist/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  88. package/dist/components/ExchangeRateTile/formatCurrency.js +6 -0
  89. package/dist/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  90. package/dist/components/Footer/Footer.mobile.js +5 -6
  91. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  92. package/dist/components/Footer/FooterContent.d.ts +1 -1
  93. package/dist/components/Gallery/Gallery.mobile.js +6 -6
  94. package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
  95. package/dist/components/Gallery/GalleryContent.d.ts +6 -0
  96. package/dist/components/Gallery/GalleryInner.js +1 -1
  97. package/dist/components/Gallery/GalleryInner.js.map +1 -1
  98. package/dist/components/Header/Header.mobile.js +4 -3
  99. package/dist/components/Header/Header.mobile.js.map +1 -1
  100. package/dist/components/Header/HeaderBurger.d.ts +2 -2
  101. package/dist/components/Header/HeaderBurger.js +1 -1
  102. package/dist/components/Header/HeaderBurger.js.map +1 -1
  103. package/dist/components/Header/HeaderContent.d.ts +10 -4
  104. package/dist/components/Header/HeaderTop.js +1 -1
  105. package/dist/components/Header/HeaderTop.js.map +1 -1
  106. package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  107. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  108. package/dist/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  109. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  110. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  111. package/dist/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
  112. package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
  113. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  114. package/dist/components/TariffsTable/TableTileHeader.d.ts +2 -0
  115. package/dist/components/TariffsTable/TableTileHeader.js +10 -0
  116. package/dist/components/TariffsTable/TableTileHeader.js.map +1 -0
  117. package/dist/components/TariffsTable/TariffsTable.js +14 -11
  118. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  119. package/dist/components/TariffsTable/TariffsTable.mobile.d.ts +5 -0
  120. package/dist/components/TariffsTable/TariffsTable.mobile.js +21 -0
  121. package/dist/components/TariffsTable/TariffsTable.mobile.js.map +1 -0
  122. package/dist/components/TariffsTable/TariffsTableCell.js +2 -2
  123. package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
  124. package/dist/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  125. package/dist/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  126. package/dist/components/TariffsTable/TariffsTableHorizontal.js +8 -0
  127. package/dist/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  128. package/dist/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  129. package/dist/components/TariffsTable/TariffsTableTileCell.js +14 -0
  130. package/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  131. package/dist/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  132. package/dist/components/TariffsTable/TariffsTableVertical.js +7 -0
  133. package/dist/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  134. package/dist/components/TextBlock/TextBlock.mobile.js +1 -1
  135. package/dist/components/TextBlock/TextBlock.mobile.js.map +1 -1
  136. package/dist/hooks/useCreditCalculatorData.js +3 -3
  137. package/dist/hooks/useCreditCalculatorData.js.map +1 -1
  138. package/dist/hooks/useExchangeRates.d.ts +9 -0
  139. package/dist/hooks/useExchangeRates.js +18 -0
  140. package/dist/hooks/useExchangeRates.js.map +1 -0
  141. package/dist/hooks/useTableArrowScrollControl.d.ts +7 -0
  142. package/dist/hooks/useTableArrowScrollControl.js +12 -0
  143. package/dist/hooks/useTableArrowScrollControl.js.map +1 -0
  144. package/dist/icons/IconName.d.ts +3 -2
  145. package/dist/icons/IconName.js +1 -0
  146. package/dist/icons/IconName.js.map +1 -1
  147. package/dist/model/InputTypes.d.ts +1 -0
  148. package/dist/model/InputTypes.js +2 -0
  149. package/dist/model/InputTypes.js.map +1 -0
  150. package/dist/model/ListOrientation.d.ts +8 -0
  151. package/dist/model/ListOrientation.js +2 -0
  152. package/dist/model/ListOrientation.js.map +1 -0
  153. package/dist/model/SitemapProps.d.ts +11 -0
  154. package/dist/services/sitemap/SitemapProps.d.ts +12 -1
  155. package/dist/setup-fixture.js +1 -1
  156. package/dist/setup-fixture.js.map +1 -1
  157. package/dist/ui-kit/Button/Button.d.ts +1 -0
  158. package/dist/ui-kit/Button/Button.js +7 -22
  159. package/dist/ui-kit/Button/Button.js.map +1 -1
  160. package/dist/ui-kit/Button/ButtonInner.js +16 -10
  161. package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  162. package/dist/ui-kit/Img/Img.d.ts +2 -1
  163. package/dist/ui-kit/Img/Img.js +2 -2
  164. package/dist/ui-kit/Img/Img.js.map +1 -1
  165. package/dist/ui-kit/Img/Img.mobile.d.ts +6 -2
  166. package/dist/ui-kit/Img/Img.mobile.js +10 -5
  167. package/dist/ui-kit/Img/Img.mobile.js.map +1 -1
  168. package/dist/ui-kit/Input/Input.d.ts +2 -0
  169. package/dist/ui-kit/Input/Input.js +8 -0
  170. package/dist/ui-kit/Input/Input.js.map +1 -0
  171. package/dist/ui-kit/Input/InputProps.d.ts +8 -0
  172. package/dist/ui-kit/Input/InputProps.js +2 -0
  173. package/dist/ui-kit/Input/InputProps.js.map +1 -0
  174. package/dist/ui-kit/Select/Select.d.ts +6 -0
  175. package/dist/ui-kit/Select/Select.js +8 -0
  176. package/dist/ui-kit/Select/Select.js.map +1 -0
  177. package/dist/ui-kit/Select/SelectOption.d.ts +5 -0
  178. package/dist/ui-kit/Select/SelectOption.js +8 -0
  179. package/dist/ui-kit/Select/SelectOption.js.map +1 -0
  180. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +7 -3
  181. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  182. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  183. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  184. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  185. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +9 -0
  186. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  187. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  188. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  189. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  190. package/dist/ui-kit/Tabs/Tabs.d.ts +2 -0
  191. package/dist/ui-kit/Tabs/Tabs.js +16 -0
  192. package/dist/ui-kit/Tabs/Tabs.js.map +1 -0
  193. package/dist/ui-kit/Tabs/TabsProps.d.ts +17 -0
  194. package/dist/ui-kit/Tabs/TabsProps.js +2 -0
  195. package/dist/ui-kit/Tabs/TabsProps.js.map +1 -0
  196. package/lib/common.css +1 -1
  197. package/lib/components/Accordion/Accordion.fixture.d.ts +4 -1
  198. package/lib/components/Accordion/Accordion.fixture.mobile.d.ts +3 -1
  199. package/lib/components/Accordion/AccordionBlocks.d.ts +1 -0
  200. package/lib/components/Accordion/AccordionBlocks.js +2 -0
  201. package/lib/components/Accordion/AccordionBlocks.js.map +1 -1
  202. package/lib/components/Accordion/AccordionContent.d.ts +13 -2
  203. package/lib/components/Accordion/AccordionItem.js +2 -2
  204. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  205. package/lib/components/Accordion/AccordionItem.mobile.js +1 -1
  206. package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
  207. package/lib/components/Accordion/AccordionItemInner.js +5 -4
  208. package/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  209. package/lib/components/Accordion/AccordionItemInner.mobile.js +1 -1
  210. package/lib/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  211. package/lib/components/BaseTile/BaseTile.js +1 -1
  212. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  213. package/lib/components/BenefitsBlock/BenefitsBlock.fixture.d.ts +3 -1
  214. package/lib/components/Blocks.d.ts +1 -0
  215. package/lib/components/Blocks.js +2 -0
  216. package/lib/components/Blocks.js.map +1 -1
  217. package/lib/components/Blocks.mobile.d.ts +3 -1
  218. package/lib/components/Blocks.mobile.js +6 -2
  219. package/lib/components/Blocks.mobile.js.map +1 -1
  220. package/lib/components/ComparisonTable/ComparisonTable.js +8 -26
  221. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  222. package/lib/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  223. package/lib/components/ComparisonTable/ComparisonTableBody.js +28 -0
  224. package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  225. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  226. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +11 -0
  227. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  228. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  229. package/lib/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  230. package/lib/components/ComparisonTable/ComparisonTableRows.js +8 -0
  231. package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  232. package/lib/components/ComparisonTable/TableColumn.js +2 -2
  233. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  234. package/lib/components/ContentPage/ContentPageContext.d.ts +1 -1
  235. package/lib/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  236. package/lib/components/CreditCalculator/CreditCalculator.fixture.d.ts +3 -1
  237. package/lib/components/CreditCalculator/CreditCalculator.js +8 -51
  238. package/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
  239. package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  240. package/lib/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  241. package/lib/components/CreditCalculator/CreditCalculatorForm.js +51 -0
  242. package/lib/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  243. package/lib/components/CreditCalculator/defaultTabs.d.ts +2 -0
  244. package/lib/components/CreditCalculator/defaultTabs.js +21 -0
  245. package/lib/components/CreditCalculator/defaultTabs.js.map +1 -0
  246. package/lib/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
  247. package/lib/components/CreditCalculator/getCreditRate.d.ts +1 -1
  248. package/lib/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
  249. package/lib/components/CreditCalculator/getDefaultMonths.js +5 -0
  250. package/lib/components/CreditCalculator/getDefaultMonths.js.map +1 -0
  251. package/lib/components/CreditCalculator/getDefaultSum.d.ts +2 -0
  252. package/lib/components/CreditCalculator/getDefaultSum.js +5 -0
  253. package/lib/components/CreditCalculator/getDefaultSum.js.map +1 -0
  254. package/lib/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
  255. package/lib/components/CreditCalculator/renderButton.d.ts +1 -0
  256. package/lib/components/CreditCalculator/renderButton.js +5 -0
  257. package/lib/components/CreditCalculator/renderButton.js.map +1 -0
  258. package/lib/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
  259. package/lib/components/CreditCalculator/renderMonthsInput.js +8 -0
  260. package/lib/components/CreditCalculator/renderMonthsInput.js.map +1 -0
  261. package/lib/components/CreditCalculator/renderProposal.d.ts +1 -0
  262. package/lib/components/CreditCalculator/renderProposal.js +6 -0
  263. package/lib/components/CreditCalculator/renderProposal.js.map +1 -0
  264. package/lib/components/CreditCalculator/renderTermsButton.d.ts +1 -0
  265. package/lib/components/CreditCalculator/renderTermsButton.js +6 -0
  266. package/lib/components/CreditCalculator/renderTermsButton.js.map +1 -0
  267. package/lib/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
  268. package/lib/components/CreditCalculator/renderWantedSumInput.js +15 -0
  269. package/lib/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
  270. package/lib/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  271. package/lib/components/ExchangeRateTile/CurrencyTable.js +17 -0
  272. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  273. package/lib/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
  274. package/lib/components/ExchangeRateTile/CurrentLocation.js +5 -0
  275. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  276. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
  277. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +13 -0
  278. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  279. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
  280. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  281. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
  282. package/lib/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  283. package/lib/components/ExchangeRateTile/formatCurrency.js +3 -0
  284. package/lib/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  285. package/lib/components/Footer/Footer.fixture.d.ts +3 -1
  286. package/lib/components/Footer/Footer.fixture.mobile.d.ts +3 -1
  287. package/lib/components/Footer/Footer.mobile.js +5 -6
  288. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  289. package/lib/components/Footer/FooterContent.d.ts +1 -1
  290. package/lib/components/Gallery/Gallery.mobile.js +6 -6
  291. package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
  292. package/lib/components/Gallery/GalleryContent.d.ts +6 -0
  293. package/lib/components/Gallery/GalleryInner.js +1 -1
  294. package/lib/components/Gallery/GalleryInner.js.map +1 -1
  295. package/lib/components/Header/Header.mobile.js +4 -3
  296. package/lib/components/Header/Header.mobile.js.map +1 -1
  297. package/lib/components/Header/HeaderBurger.d.ts +2 -2
  298. package/lib/components/Header/HeaderBurger.js +1 -1
  299. package/lib/components/Header/HeaderBurger.js.map +1 -1
  300. package/lib/components/Header/HeaderContent.d.ts +10 -4
  301. package/lib/components/Header/HeaderTop.js +1 -1
  302. package/lib/components/Header/HeaderTop.js.map +1 -1
  303. package/lib/components/LikeControl/LikeControl.fixture.d.ts +3 -1
  304. package/lib/components/LinkList/LinkList.fixture.d.ts +3 -1
  305. package/lib/components/MobileAppTile/MobileAppTile.fixture.d.ts +3 -1
  306. package/lib/components/MobileAppTile/MobileAppTile.fixture.mobile.d.ts +3 -1
  307. package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  308. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  309. package/lib/components/Navigation/Navigation.fixture.d.ts +3 -1
  310. package/lib/components/Placeholder/Placeholder.fixture.d.ts +3 -1
  311. package/lib/components/ProductBlock/ProductBlock.fixture.d.ts +3 -0
  312. package/lib/components/ProductBlock/ProductBlock.fixture.mobile.d.ts +2 -1
  313. package/lib/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  314. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  315. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  316. package/lib/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
  317. package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
  318. package/lib/components/ProductGallery/ProductGallery.fixture.d.ts +3 -1
  319. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  320. package/lib/components/ProductTile/ProductTile.fixture.d.ts +2 -1
  321. package/lib/components/TariffsTable/TableTileHeader.d.ts +2 -0
  322. package/lib/components/TariffsTable/TableTileHeader.js +8 -0
  323. package/lib/components/TariffsTable/TableTileHeader.js.map +1 -0
  324. package/lib/components/TariffsTable/TariffsTable.fixture.mobile.d.ts +5 -0
  325. package/lib/components/TariffsTable/TariffsTable.js +14 -11
  326. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  327. package/lib/components/TariffsTable/TariffsTable.mobile.d.ts +5 -0
  328. package/lib/components/TariffsTable/TariffsTable.mobile.js +19 -0
  329. package/lib/components/TariffsTable/TariffsTable.mobile.js.map +1 -0
  330. package/lib/components/TariffsTable/TariffsTableCell.js +2 -2
  331. package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
  332. package/lib/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  333. package/lib/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  334. package/lib/components/TariffsTable/TariffsTableHorizontal.js +6 -0
  335. package/lib/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  336. package/lib/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  337. package/lib/components/TariffsTable/TariffsTableTileCell.js +12 -0
  338. package/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  339. package/lib/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  340. package/lib/components/TariffsTable/TariffsTableVertical.js +5 -0
  341. package/lib/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  342. package/lib/components/TextBlock/TextBlock.fixture.d.ts +3 -1
  343. package/lib/components/TextBlock/TextBlock.fixture.mobile.d.ts +3 -1
  344. package/lib/components/TextBlock/TextBlock.mobile.js +1 -1
  345. package/lib/components/TextBlock/TextBlock.mobile.js.map +1 -1
  346. package/lib/components/Tile/Tile.fixture.d.ts +1 -0
  347. package/lib/hooks/useCreditCalculatorData.js +3 -3
  348. package/lib/hooks/useCreditCalculatorData.js.map +1 -1
  349. package/lib/hooks/useExchangeRates.d.ts +9 -0
  350. package/lib/hooks/useExchangeRates.js +15 -0
  351. package/lib/hooks/useExchangeRates.js.map +1 -0
  352. package/lib/hooks/useTableArrowScrollControl.d.ts +7 -0
  353. package/lib/hooks/useTableArrowScrollControl.js +9 -0
  354. package/lib/hooks/useTableArrowScrollControl.js.map +1 -0
  355. package/lib/icons/IconName.d.ts +3 -2
  356. package/lib/icons/IconName.js +1 -0
  357. package/lib/icons/IconName.js.map +1 -1
  358. package/lib/model/InputTypes.d.ts +1 -0
  359. package/lib/model/InputTypes.js +2 -0
  360. package/lib/model/InputTypes.js.map +1 -0
  361. package/lib/model/ListOrientation.d.ts +8 -0
  362. package/lib/model/ListOrientation.js +2 -0
  363. package/lib/model/ListOrientation.js.map +1 -0
  364. package/lib/model/SitemapProps.d.ts +11 -0
  365. package/lib/services/sitemap/SitemapProps.d.ts +12 -1
  366. package/lib/setup-fixture.js +1 -1
  367. package/lib/setup-fixture.js.map +1 -1
  368. package/lib/ui-kit/Button/Button.d.ts +1 -0
  369. package/lib/ui-kit/Button/Button.js +6 -21
  370. package/lib/ui-kit/Button/Button.js.map +1 -1
  371. package/lib/ui-kit/Button/ButtonInner.js +16 -10
  372. package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  373. package/lib/ui-kit/Img/Img.d.ts +2 -1
  374. package/lib/ui-kit/Img/Img.js +2 -2
  375. package/lib/ui-kit/Img/Img.js.map +1 -1
  376. package/lib/ui-kit/Img/Img.mobile.d.ts +6 -2
  377. package/lib/ui-kit/Img/Img.mobile.js +10 -5
  378. package/lib/ui-kit/Img/Img.mobile.js.map +1 -1
  379. package/lib/ui-kit/Input/Input.d.ts +2 -0
  380. package/lib/ui-kit/Input/Input.js +6 -0
  381. package/lib/ui-kit/Input/Input.js.map +1 -0
  382. package/lib/ui-kit/Input/InputProps.d.ts +8 -0
  383. package/lib/ui-kit/Input/InputProps.js +2 -0
  384. package/lib/ui-kit/Input/InputProps.js.map +1 -0
  385. package/lib/ui-kit/Select/Select.d.ts +6 -0
  386. package/lib/ui-kit/Select/Select.js +6 -0
  387. package/lib/ui-kit/Select/Select.js.map +1 -0
  388. package/lib/ui-kit/Select/SelectOption.d.ts +5 -0
  389. package/lib/ui-kit/Select/SelectOption.js +6 -0
  390. package/lib/ui-kit/Select/SelectOption.js.map +1 -0
  391. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +8 -4
  392. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  393. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  394. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  395. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  396. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +7 -0
  397. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  398. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  399. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  400. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  401. package/lib/ui-kit/Tabs/Tabs.d.ts +2 -0
  402. package/lib/ui-kit/Tabs/Tabs.js +14 -0
  403. package/lib/ui-kit/Tabs/Tabs.js.map +1 -0
  404. package/lib/ui-kit/Tabs/TabsProps.d.ts +17 -0
  405. package/lib/ui-kit/Tabs/TabsProps.js +2 -0
  406. package/lib/ui-kit/Tabs/TabsProps.js.map +1 -0
  407. package/mobile/bundle/bundle.umd.js +323 -161
  408. package/mobile/bundle/bundle.umd.min.js +1 -1
  409. package/mobile/dist/components/Accordion/AccordionBlocks.d.ts +1 -0
  410. package/mobile/dist/components/Accordion/AccordionBlocks.js +2 -0
  411. package/mobile/dist/components/Accordion/AccordionBlocks.js.map +1 -1
  412. package/mobile/dist/components/Accordion/AccordionContent.d.ts +13 -2
  413. package/mobile/dist/components/Accordion/AccordionItem.js +1 -1
  414. package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
  415. package/mobile/dist/components/Accordion/AccordionItemInner.js +1 -1
  416. package/mobile/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  417. package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
  418. package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
  419. package/mobile/dist/components/Blocks.d.ts +3 -1
  420. package/mobile/dist/components/Blocks.js +6 -2
  421. package/mobile/dist/components/Blocks.js.map +1 -1
  422. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  423. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +30 -0
  424. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  425. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  426. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +13 -0
  427. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  428. package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  429. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  430. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +10 -0
  431. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  432. package/mobile/dist/components/ComparisonTable/TableColumn.js +2 -2
  433. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  434. package/mobile/dist/components/ContentPage/ContentPageContext.d.ts +1 -1
  435. package/mobile/dist/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  436. package/mobile/dist/components/CreditCalculator/CreditCalculator.js +8 -51
  437. package/mobile/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
  438. package/mobile/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  439. package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  440. package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.js +53 -0
  441. package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  442. package/mobile/dist/components/CreditCalculator/defaultTabs.d.ts +2 -0
  443. package/mobile/dist/components/CreditCalculator/defaultTabs.js +23 -0
  444. package/mobile/dist/components/CreditCalculator/defaultTabs.js.map +1 -0
  445. package/mobile/dist/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
  446. package/mobile/dist/components/CreditCalculator/getCreditRate.d.ts +1 -1
  447. package/mobile/dist/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
  448. package/mobile/dist/components/CreditCalculator/getDefaultMonths.js +8 -0
  449. package/mobile/dist/components/CreditCalculator/getDefaultMonths.js.map +1 -0
  450. package/mobile/dist/components/CreditCalculator/getDefaultSum.d.ts +2 -0
  451. package/mobile/dist/components/CreditCalculator/getDefaultSum.js +8 -0
  452. package/mobile/dist/components/CreditCalculator/getDefaultSum.js.map +1 -0
  453. package/mobile/dist/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
  454. package/mobile/dist/components/CreditCalculator/renderButton.d.ts +1 -0
  455. package/mobile/dist/components/CreditCalculator/renderButton.js +8 -0
  456. package/mobile/dist/components/CreditCalculator/renderButton.js.map +1 -0
  457. package/mobile/dist/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
  458. package/mobile/dist/components/CreditCalculator/renderMonthsInput.js +11 -0
  459. package/mobile/dist/components/CreditCalculator/renderMonthsInput.js.map +1 -0
  460. package/mobile/dist/components/CreditCalculator/renderProposal.d.ts +1 -0
  461. package/mobile/dist/components/CreditCalculator/renderProposal.js +9 -0
  462. package/mobile/dist/components/CreditCalculator/renderProposal.js.map +1 -0
  463. package/mobile/dist/components/CreditCalculator/renderTermsButton.d.ts +1 -0
  464. package/mobile/dist/components/CreditCalculator/renderTermsButton.js +9 -0
  465. package/mobile/dist/components/CreditCalculator/renderTermsButton.js.map +1 -0
  466. package/mobile/dist/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
  467. package/mobile/dist/components/CreditCalculator/renderWantedSumInput.js +18 -0
  468. package/mobile/dist/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
  469. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  470. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +19 -0
  471. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  472. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
  473. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +7 -0
  474. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  475. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
  476. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -0
  477. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  478. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
  479. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  480. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
  481. package/mobile/dist/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  482. package/mobile/dist/components/ExchangeRateTile/formatCurrency.js +6 -0
  483. package/mobile/dist/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  484. package/mobile/dist/components/Footer/Footer.js +5 -6
  485. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  486. package/mobile/dist/components/Footer/FooterContent.d.ts +1 -1
  487. package/mobile/dist/components/Gallery/Gallery.js +6 -6
  488. package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
  489. package/mobile/dist/components/Gallery/GalleryContent.d.ts +6 -0
  490. package/mobile/dist/components/Gallery/GalleryInner.js +1 -1
  491. package/mobile/dist/components/Gallery/GalleryInner.js.map +1 -1
  492. package/mobile/dist/components/Header/Header.js +4 -3
  493. package/mobile/dist/components/Header/Header.js.map +1 -1
  494. package/mobile/dist/components/Header/HeaderBurger.d.ts +2 -2
  495. package/mobile/dist/components/Header/HeaderBurger.js +1 -1
  496. package/mobile/dist/components/Header/HeaderBurger.js.map +1 -1
  497. package/mobile/dist/components/Header/HeaderContent.d.ts +10 -4
  498. package/mobile/dist/components/Header/HeaderTop.js +1 -1
  499. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  500. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  501. package/mobile/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  502. package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  503. package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  504. package/mobile/dist/components/TariffsTable/TableTileHeader.d.ts +2 -0
  505. package/mobile/dist/components/TariffsTable/TableTileHeader.js +10 -0
  506. package/mobile/dist/components/TariffsTable/TableTileHeader.js.map +1 -0
  507. package/mobile/dist/components/TariffsTable/TariffsTable.js +14 -18
  508. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  509. package/mobile/dist/components/TariffsTable/TariffsTableCell.js +2 -2
  510. package/mobile/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
  511. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  512. package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  513. package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.js +8 -0
  514. package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  515. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  516. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js +14 -0
  517. package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  518. package/mobile/dist/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  519. package/mobile/dist/components/TariffsTable/TariffsTableVertical.js +7 -0
  520. package/mobile/dist/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  521. package/mobile/dist/components/TextBlock/TextBlock.js +1 -1
  522. package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
  523. package/mobile/dist/hooks/useCreditCalculatorData.js +3 -3
  524. package/mobile/dist/hooks/useCreditCalculatorData.js.map +1 -1
  525. package/mobile/dist/hooks/useExchangeRates.d.ts +9 -0
  526. package/mobile/dist/hooks/useExchangeRates.js +18 -0
  527. package/mobile/dist/hooks/useExchangeRates.js.map +1 -0
  528. package/mobile/dist/hooks/useTableArrowScrollControl.d.ts +7 -0
  529. package/mobile/dist/hooks/useTableArrowScrollControl.js +12 -0
  530. package/mobile/dist/hooks/useTableArrowScrollControl.js.map +1 -0
  531. package/mobile/dist/icons/IconName.d.ts +3 -2
  532. package/mobile/dist/icons/IconName.js +1 -0
  533. package/mobile/dist/icons/IconName.js.map +1 -1
  534. package/mobile/dist/model/InputTypes.d.ts +1 -0
  535. package/mobile/dist/model/InputTypes.js +2 -0
  536. package/mobile/dist/model/InputTypes.js.map +1 -0
  537. package/mobile/dist/model/ListOrientation.d.ts +8 -0
  538. package/mobile/dist/model/ListOrientation.js +2 -0
  539. package/mobile/dist/model/ListOrientation.js.map +1 -0
  540. package/mobile/dist/model/SitemapProps.d.ts +11 -0
  541. package/mobile/dist/services/sitemap/SitemapProps.d.ts +12 -1
  542. package/mobile/dist/setup-fixture.js +1 -1
  543. package/mobile/dist/setup-fixture.js.map +1 -1
  544. package/mobile/dist/ui-kit/Button/ButtonInner.js +16 -10
  545. package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  546. package/mobile/dist/ui-kit/Img/Img.d.ts +6 -2
  547. package/mobile/dist/ui-kit/Img/Img.js +10 -5
  548. package/mobile/dist/ui-kit/Img/Img.js.map +1 -1
  549. package/mobile/dist/ui-kit/Input/Input.d.ts +2 -0
  550. package/mobile/dist/ui-kit/Input/Input.js +8 -0
  551. package/mobile/dist/ui-kit/Input/Input.js.map +1 -0
  552. package/mobile/dist/ui-kit/Input/InputProps.d.ts +8 -0
  553. package/mobile/dist/ui-kit/Input/InputProps.js +2 -0
  554. package/mobile/dist/ui-kit/Input/InputProps.js.map +1 -0
  555. package/mobile/dist/ui-kit/Select/Select.d.ts +6 -0
  556. package/mobile/dist/ui-kit/Select/Select.js +8 -0
  557. package/mobile/dist/ui-kit/Select/Select.js.map +1 -0
  558. package/mobile/dist/ui-kit/Select/SelectOption.d.ts +5 -0
  559. package/mobile/dist/ui-kit/Select/SelectOption.js +8 -0
  560. package/mobile/dist/ui-kit/Select/SelectOption.js.map +1 -0
  561. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +7 -3
  562. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  563. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  564. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  565. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  566. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +9 -0
  567. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  568. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  569. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  570. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  571. package/mobile/dist/ui-kit/Tabs/Tabs.d.ts +2 -0
  572. package/mobile/dist/ui-kit/Tabs/Tabs.js +16 -0
  573. package/mobile/dist/ui-kit/Tabs/Tabs.js.map +1 -0
  574. package/mobile/dist/ui-kit/Tabs/TabsProps.d.ts +17 -0
  575. package/mobile/dist/ui-kit/Tabs/TabsProps.js +2 -0
  576. package/mobile/dist/ui-kit/Tabs/TabsProps.js.map +1 -0
  577. package/mobile/lib/components/Accordion/AccordionBlocks.d.ts +1 -0
  578. package/mobile/lib/components/Accordion/AccordionBlocks.js +2 -0
  579. package/mobile/lib/components/Accordion/AccordionBlocks.js.map +1 -1
  580. package/mobile/lib/components/Accordion/AccordionContent.d.ts +13 -2
  581. package/mobile/lib/components/Accordion/AccordionItem.js +1 -1
  582. package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
  583. package/mobile/lib/components/Accordion/AccordionItemInner.js +1 -1
  584. package/mobile/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  585. package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
  586. package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
  587. package/mobile/lib/components/Blocks.d.ts +3 -1
  588. package/mobile/lib/components/Blocks.js +6 -2
  589. package/mobile/lib/components/Blocks.js.map +1 -1
  590. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
  591. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +28 -0
  592. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
  593. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
  594. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +11 -0
  595. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
  596. package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
  597. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
  598. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +8 -0
  599. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
  600. package/mobile/lib/components/ComparisonTable/TableColumn.js +2 -2
  601. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  602. package/mobile/lib/components/ContentPage/ContentPageContext.d.ts +1 -1
  603. package/mobile/lib/components/CreditCalculator/CreditCalculator.d.ts +1 -1
  604. package/mobile/lib/components/CreditCalculator/CreditCalculator.js +8 -51
  605. package/mobile/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
  606. package/mobile/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
  607. package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
  608. package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.js +51 -0
  609. package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
  610. package/mobile/lib/components/CreditCalculator/defaultTabs.d.ts +2 -0
  611. package/mobile/lib/components/CreditCalculator/defaultTabs.js +21 -0
  612. package/mobile/lib/components/CreditCalculator/defaultTabs.js.map +1 -0
  613. package/mobile/lib/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
  614. package/mobile/lib/components/CreditCalculator/getCreditRate.d.ts +1 -1
  615. package/mobile/lib/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
  616. package/mobile/lib/components/CreditCalculator/getDefaultMonths.js +5 -0
  617. package/mobile/lib/components/CreditCalculator/getDefaultMonths.js.map +1 -0
  618. package/mobile/lib/components/CreditCalculator/getDefaultSum.d.ts +2 -0
  619. package/mobile/lib/components/CreditCalculator/getDefaultSum.js +5 -0
  620. package/mobile/lib/components/CreditCalculator/getDefaultSum.js.map +1 -0
  621. package/mobile/lib/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
  622. package/mobile/lib/components/CreditCalculator/renderButton.d.ts +1 -0
  623. package/mobile/lib/components/CreditCalculator/renderButton.js +5 -0
  624. package/mobile/lib/components/CreditCalculator/renderButton.js.map +1 -0
  625. package/mobile/lib/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
  626. package/mobile/lib/components/CreditCalculator/renderMonthsInput.js +8 -0
  627. package/mobile/lib/components/CreditCalculator/renderMonthsInput.js.map +1 -0
  628. package/mobile/lib/components/CreditCalculator/renderProposal.d.ts +1 -0
  629. package/mobile/lib/components/CreditCalculator/renderProposal.js +6 -0
  630. package/mobile/lib/components/CreditCalculator/renderProposal.js.map +1 -0
  631. package/mobile/lib/components/CreditCalculator/renderTermsButton.d.ts +1 -0
  632. package/mobile/lib/components/CreditCalculator/renderTermsButton.js +6 -0
  633. package/mobile/lib/components/CreditCalculator/renderTermsButton.js.map +1 -0
  634. package/mobile/lib/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
  635. package/mobile/lib/components/CreditCalculator/renderWantedSumInput.js +15 -0
  636. package/mobile/lib/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
  637. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  638. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +17 -0
  639. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  640. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
  641. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +5 -0
  642. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  643. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
  644. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +13 -0
  645. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  646. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
  647. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  648. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
  649. package/mobile/lib/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  650. package/mobile/lib/components/ExchangeRateTile/formatCurrency.js +3 -0
  651. package/mobile/lib/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  652. package/mobile/lib/components/Footer/Footer.js +5 -6
  653. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  654. package/mobile/lib/components/Footer/FooterContent.d.ts +1 -1
  655. package/mobile/lib/components/Gallery/Gallery.js +6 -6
  656. package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
  657. package/mobile/lib/components/Gallery/GalleryContent.d.ts +6 -0
  658. package/mobile/lib/components/Gallery/GalleryInner.js +1 -1
  659. package/mobile/lib/components/Gallery/GalleryInner.js.map +1 -1
  660. package/mobile/lib/components/Header/Header.js +4 -3
  661. package/mobile/lib/components/Header/Header.js.map +1 -1
  662. package/mobile/lib/components/Header/HeaderBurger.d.ts +2 -2
  663. package/mobile/lib/components/Header/HeaderBurger.js +1 -1
  664. package/mobile/lib/components/Header/HeaderBurger.js.map +1 -1
  665. package/mobile/lib/components/Header/HeaderContent.d.ts +10 -4
  666. package/mobile/lib/components/Header/HeaderTop.js +1 -1
  667. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  668. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +1 -0
  669. package/mobile/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  670. package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  671. package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  672. package/mobile/lib/components/TariffsTable/TableTileHeader.d.ts +2 -0
  673. package/mobile/lib/components/TariffsTable/TableTileHeader.js +8 -0
  674. package/mobile/lib/components/TariffsTable/TableTileHeader.js.map +1 -0
  675. package/mobile/lib/components/TariffsTable/TariffsTable.js +14 -18
  676. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  677. package/mobile/lib/components/TariffsTable/TariffsTableCell.js +2 -2
  678. package/mobile/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
  679. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +22 -18
  680. package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
  681. package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.js +6 -0
  682. package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
  683. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
  684. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js +12 -0
  685. package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
  686. package/mobile/lib/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
  687. package/mobile/lib/components/TariffsTable/TariffsTableVertical.js +5 -0
  688. package/mobile/lib/components/TariffsTable/TariffsTableVertical.js.map +1 -0
  689. package/mobile/lib/components/TextBlock/TextBlock.js +1 -1
  690. package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
  691. package/mobile/lib/hooks/useCreditCalculatorData.js +3 -3
  692. package/mobile/lib/hooks/useCreditCalculatorData.js.map +1 -1
  693. package/mobile/lib/hooks/useExchangeRates.d.ts +9 -0
  694. package/mobile/lib/hooks/useExchangeRates.js +15 -0
  695. package/mobile/lib/hooks/useExchangeRates.js.map +1 -0
  696. package/mobile/lib/hooks/useTableArrowScrollControl.d.ts +7 -0
  697. package/mobile/lib/hooks/useTableArrowScrollControl.js +9 -0
  698. package/mobile/lib/hooks/useTableArrowScrollControl.js.map +1 -0
  699. package/mobile/lib/icons/IconName.d.ts +3 -2
  700. package/mobile/lib/icons/IconName.js +1 -0
  701. package/mobile/lib/icons/IconName.js.map +1 -1
  702. package/mobile/lib/model/InputTypes.d.ts +1 -0
  703. package/mobile/lib/model/InputTypes.js +2 -0
  704. package/mobile/lib/model/InputTypes.js.map +1 -0
  705. package/mobile/lib/model/ListOrientation.d.ts +8 -0
  706. package/mobile/lib/model/ListOrientation.js +2 -0
  707. package/mobile/lib/model/ListOrientation.js.map +1 -0
  708. package/mobile/lib/model/SitemapProps.d.ts +11 -0
  709. package/mobile/lib/services/sitemap/SitemapProps.d.ts +12 -1
  710. package/mobile/lib/setup-fixture.js +1 -1
  711. package/mobile/lib/setup-fixture.js.map +1 -1
  712. package/mobile/lib/ui-kit/Button/ButtonInner.js +16 -10
  713. package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  714. package/mobile/lib/ui-kit/Img/Img.d.ts +6 -2
  715. package/mobile/lib/ui-kit/Img/Img.js +10 -5
  716. package/mobile/lib/ui-kit/Img/Img.js.map +1 -1
  717. package/mobile/lib/ui-kit/Input/Input.d.ts +2 -0
  718. package/mobile/lib/ui-kit/Input/Input.js +6 -0
  719. package/mobile/lib/ui-kit/Input/Input.js.map +1 -0
  720. package/mobile/lib/ui-kit/Input/InputProps.d.ts +8 -0
  721. package/mobile/lib/ui-kit/Input/InputProps.js +2 -0
  722. package/mobile/lib/ui-kit/Input/InputProps.js.map +1 -0
  723. package/mobile/lib/ui-kit/Select/Select.d.ts +6 -0
  724. package/mobile/lib/ui-kit/Select/Select.js +6 -0
  725. package/mobile/lib/ui-kit/Select/Select.js.map +1 -0
  726. package/mobile/lib/ui-kit/Select/SelectOption.d.ts +5 -0
  727. package/mobile/lib/ui-kit/Select/SelectOption.js +6 -0
  728. package/mobile/lib/ui-kit/Select/SelectOption.js.map +1 -0
  729. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +8 -4
  730. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  731. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
  732. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  733. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
  734. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +7 -0
  735. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
  736. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
  737. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
  738. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
  739. package/mobile/lib/ui-kit/Tabs/Tabs.d.ts +2 -0
  740. package/mobile/lib/ui-kit/Tabs/Tabs.js +14 -0
  741. package/mobile/lib/ui-kit/Tabs/Tabs.js.map +1 -0
  742. package/mobile/lib/ui-kit/Tabs/TabsProps.d.ts +17 -0
  743. package/mobile/lib/ui-kit/Tabs/TabsProps.js +2 -0
  744. package/mobile/lib/ui-kit/Tabs/TabsProps.js.map +1 -0
  745. package/mobile/src/common.css +12 -0
  746. package/mobile/src/components/Accordion/AccordionBlocks.tsx +2 -0
  747. package/mobile/src/components/Accordion/AccordionContent.ts +16 -0
  748. package/mobile/src/components/Accordion/AccordionItem.tsx +2 -2
  749. package/mobile/src/components/Accordion/AccordionItemInner.tsx +1 -1
  750. package/mobile/src/components/BaseTile/BaseTile.tsx +1 -1
  751. package/mobile/src/components/Blocks.ts +6 -2
  752. package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +68 -0
  753. package/mobile/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +34 -0
  754. package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +1 -1
  755. package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +32 -0
  756. package/mobile/src/components/ComparisonTable/TableColumn.tsx +6 -2
  757. package/mobile/src/components/ContentPage/ContentPageContext.tsx +1 -1
  758. package/mobile/src/components/CreditCalculator/CreditCalculator.tsx +19 -142
  759. package/mobile/src/components/CreditCalculator/CreditCalculatorContent.ts +12 -2
  760. package/mobile/src/components/CreditCalculator/CreditCalculatorForm.tsx +92 -0
  761. package/mobile/src/components/CreditCalculator/defaultTabs.ts +22 -0
  762. package/mobile/src/components/CreditCalculator/getCalculatorParams.ts +1 -1
  763. package/mobile/src/components/CreditCalculator/getCreditRate.ts +1 -1
  764. package/mobile/src/components/CreditCalculator/getDefaultMonths.ts +7 -0
  765. package/mobile/src/components/CreditCalculator/getDefaultSum.ts +7 -0
  766. package/mobile/src/components/CreditCalculator/getMonthlyPayment.ts +1 -1
  767. package/mobile/src/components/CreditCalculator/renderButton.tsx +13 -0
  768. package/mobile/src/components/CreditCalculator/renderMonthsInput.tsx +29 -0
  769. package/mobile/src/components/CreditCalculator/renderProposal.tsx +13 -0
  770. package/mobile/src/components/CreditCalculator/renderTermsButton.tsx +16 -0
  771. package/mobile/src/components/CreditCalculator/renderWantedSumInput.tsx +36 -0
  772. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +47 -0
  773. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +22 -0
  774. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +47 -0
  775. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +48 -79
  776. package/mobile/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +11 -0
  777. package/mobile/src/components/ExchangeRateTile/formatCurrency.ts +3 -0
  778. package/mobile/src/components/Footer/Footer.tsx +9 -9
  779. package/mobile/src/components/Footer/FooterContent.ts +1 -1
  780. package/mobile/src/components/Gallery/Gallery.example.json +4 -0
  781. package/mobile/src/components/Gallery/Gallery.tsx +19 -9
  782. package/mobile/src/components/Gallery/GalleryContent.ts +6 -0
  783. package/mobile/src/components/Gallery/GalleryInner.tsx +2 -0
  784. package/mobile/src/components/Header/Header.tsx +6 -7
  785. package/mobile/src/components/Header/HeaderBurger.tsx +11 -6
  786. package/mobile/src/components/Header/HeaderContent.ts +12 -4
  787. package/mobile/src/components/Header/HeaderTop.tsx +5 -1
  788. package/mobile/src/components/MiniGallery/MiniGallery.example.json +8 -4
  789. package/mobile/src/components/ProductBlock/ProductBlock.example.json +11 -1
  790. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +1 -0
  791. package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +5 -5
  792. package/mobile/src/components/ProductGallery/ProductGallery.example.json +2 -1
  793. package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
  794. package/mobile/src/components/ProductTile/ProductTile.example.json +1 -0
  795. package/mobile/src/components/TariffsTable/TableTileHeader.tsx +15 -0
  796. package/mobile/src/components/TariffsTable/TariffsTable.example.json +7 -1
  797. package/mobile/src/components/TariffsTable/TariffsTable.tsx +41 -65
  798. package/mobile/src/components/TariffsTable/TariffsTableCell.tsx +3 -3
  799. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +31 -23
  800. package/mobile/src/components/TariffsTable/TariffsTableHorizontal.tsx +16 -0
  801. package/mobile/src/components/TariffsTable/TariffsTableTileCell.tsx +61 -0
  802. package/mobile/src/components/TariffsTable/TariffsTableVertical.tsx +11 -0
  803. package/mobile/src/components/TextBlock/TextBlock.tsx +2 -2
  804. package/mobile/src/hooks/useCreditCalculatorData.ts +3 -7
  805. package/mobile/src/hooks/useExchangeRates.ts +25 -0
  806. package/mobile/src/hooks/useTableArrowScrollControl.ts +22 -0
  807. package/mobile/src/icons/GpsIcon.svg +8 -0
  808. package/mobile/src/icons/IconName.ts +3 -3
  809. package/mobile/src/model/InputTypes.ts +1 -0
  810. package/mobile/src/model/ListOrientation.ts +8 -0
  811. package/mobile/src/model/SitemapProps.ts +12 -0
  812. package/mobile/src/services/sitemap/SitemapProps.ts +13 -1
  813. package/mobile/src/setup-fixture.ts +1 -1
  814. package/mobile/src/ui-kit/Button/ButtonInner.tsx +25 -21
  815. package/mobile/src/ui-kit/Img/Img.tsx +29 -15
  816. package/mobile/src/ui-kit/Input/Input.tsx +8 -0
  817. package/mobile/src/ui-kit/Input/InputProps.ts +9 -0
  818. package/mobile/src/ui-kit/Select/Select.tsx +15 -0
  819. package/mobile/src/ui-kit/Select/SelectOption.tsx +14 -0
  820. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +17 -20
  821. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +12 -0
  822. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +27 -0
  823. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +7 -0
  824. package/mobile/src/ui-kit/Tabs/Tabs.tsx +46 -0
  825. package/mobile/src/ui-kit/Tabs/TabsProps.ts +20 -0
  826. package/package.json +12 -2
  827. package/src/common.css +12 -0
  828. package/src/components/Accordion/Accordion.fixture.mobile.tsx +7 -5
  829. package/src/components/Accordion/Accordion.fixture.tsx +80 -14
  830. package/src/components/Accordion/AccordionBlocks.tsx +2 -0
  831. package/src/components/Accordion/AccordionContent.ts +16 -0
  832. package/src/components/Accordion/AccordionItem.mobile.tsx +2 -2
  833. package/src/components/Accordion/AccordionItem.tsx +4 -2
  834. package/src/components/Accordion/AccordionItemInner.mobile.tsx +1 -1
  835. package/src/components/Accordion/AccordionItemInner.tsx +21 -16
  836. package/src/components/BaseTile/BaseTile.tsx +1 -1
  837. package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +36 -33
  838. package/src/components/Blocks.mobile.ts +6 -2
  839. package/src/components/Blocks.ts +2 -0
  840. package/src/components/ComparisonTable/ComparisonTable.tsx +38 -99
  841. package/src/components/ComparisonTable/ComparisonTableBody.tsx +68 -0
  842. package/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +34 -0
  843. package/src/components/ComparisonTable/ComparisonTableContent.ts +1 -1
  844. package/src/components/ComparisonTable/ComparisonTableRows.tsx +32 -0
  845. package/src/components/ComparisonTable/TableColumn.tsx +6 -2
  846. package/src/components/ContentPage/ContentPageContext.tsx +1 -1
  847. package/src/components/CreditCalculator/CreditCalculator.fixture.tsx +30 -10
  848. package/src/components/CreditCalculator/CreditCalculator.tsx +19 -142
  849. package/src/components/CreditCalculator/CreditCalculatorContent.ts +12 -2
  850. package/src/components/CreditCalculator/CreditCalculatorForm.tsx +92 -0
  851. package/src/components/CreditCalculator/defaultTabs.ts +22 -0
  852. package/src/components/CreditCalculator/getCalculatorParams.ts +1 -1
  853. package/src/components/CreditCalculator/getCreditRate.ts +1 -1
  854. package/src/components/CreditCalculator/getDefaultMonths.ts +7 -0
  855. package/src/components/CreditCalculator/getDefaultSum.ts +7 -0
  856. package/src/components/CreditCalculator/getMonthlyPayment.ts +1 -1
  857. package/src/components/CreditCalculator/renderButton.tsx +13 -0
  858. package/src/components/CreditCalculator/renderMonthsInput.tsx +29 -0
  859. package/src/components/CreditCalculator/renderProposal.tsx +13 -0
  860. package/src/components/CreditCalculator/renderTermsButton.tsx +16 -0
  861. package/src/components/CreditCalculator/renderWantedSumInput.tsx +36 -0
  862. package/src/components/ExchangeRateTile/CurrencyTable.tsx +47 -0
  863. package/src/components/ExchangeRateTile/CurrentLocation.tsx +22 -0
  864. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +47 -0
  865. package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.tsx +1 -1
  866. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +48 -79
  867. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +11 -0
  868. package/src/components/ExchangeRateTile/formatCurrency.ts +3 -0
  869. package/src/components/Footer/Footer.fixture.mobile.tsx +88 -281
  870. package/src/components/Footer/Footer.fixture.tsx +143 -141
  871. package/src/components/Footer/Footer.mobile.tsx +9 -9
  872. package/src/components/Footer/FooterContent.ts +1 -1
  873. package/src/components/Gallery/Gallery.example.json +4 -0
  874. package/src/components/Gallery/Gallery.fixture.mobile.tsx +9 -4
  875. package/src/components/Gallery/Gallery.mobile.tsx +19 -9
  876. package/src/components/Gallery/GalleryContent.ts +6 -0
  877. package/src/components/Gallery/GalleryInner.tsx +2 -0
  878. package/src/components/Header/Header.fixture.mobile.tsx +1 -203
  879. package/src/components/Header/Header.mobile.tsx +6 -7
  880. package/src/components/Header/HeaderBurger.tsx +11 -6
  881. package/src/components/Header/HeaderContent.ts +12 -4
  882. package/src/components/Header/HeaderTop.tsx +5 -1
  883. package/src/components/LikeControl/LikeControl.fixture.tsx +7 -5
  884. package/src/components/LinkList/LinkList.fixture.tsx +8 -10
  885. package/src/components/MiniGallery/MiniGallery.example.json +8 -4
  886. package/src/components/MobileAppTile/MobileAppTile.fixture.mobile.tsx +11 -9
  887. package/src/components/MobileAppTile/MobileAppTile.fixture.tsx +32 -30
  888. package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  889. package/src/components/Navigation/Navigation.fixture.tsx +26 -24
  890. package/src/components/Placeholder/Placeholder.fixture.tsx +7 -5
  891. package/src/components/ProductBlock/ProductBlock.example.json +11 -1
  892. package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +57 -32
  893. package/src/components/ProductBlock/ProductBlock.fixture.tsx +81 -112
  894. package/src/components/ProductBlock/ProductBlockContent.ts +1 -0
  895. package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +5 -5
  896. package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
  897. package/src/components/ProductGallery/ProductGallery.example.json +2 -1
  898. package/src/components/ProductGallery/ProductGallery.fixture.tsx +104 -102
  899. package/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
  900. package/src/components/ProductTile/ProductTile.example.json +1 -0
  901. package/src/components/ProductTile/ProductTile.fixture.tsx +50 -117
  902. package/src/components/TariffsTable/TableTileHeader.tsx +15 -0
  903. package/src/components/TariffsTable/TariffsTable.example.json +7 -1
  904. package/src/components/TariffsTable/TariffsTable.fixture.mobile.tsx +164 -0
  905. package/src/components/TariffsTable/TariffsTable.fixture.tsx +5 -1
  906. package/src/components/TariffsTable/TariffsTable.mobile.tsx +54 -0
  907. package/src/components/TariffsTable/TariffsTable.tsx +51 -47
  908. package/src/components/TariffsTable/TariffsTableCell.tsx +3 -3
  909. package/src/components/TariffsTable/TariffsTableContent.ts +31 -23
  910. package/src/components/TariffsTable/TariffsTableHorizontal.tsx +16 -0
  911. package/src/components/TariffsTable/TariffsTableTileCell.tsx +61 -0
  912. package/src/components/TariffsTable/TariffsTableVertical.tsx +11 -0
  913. package/src/components/TextBlock/TextBlock.fixture.mobile.tsx +105 -93
  914. package/src/components/TextBlock/TextBlock.fixture.tsx +91 -64
  915. package/src/components/TextBlock/TextBlock.mobile.tsx +2 -2
  916. package/src/components/Tile/Tile.fixture.tsx +17 -35
  917. package/src/hooks/useCreditCalculatorData.ts +3 -7
  918. package/src/hooks/useExchangeRates.ts +25 -0
  919. package/src/hooks/useTableArrowScrollControl.ts +22 -0
  920. package/src/icons/GpsIcon.svg +8 -0
  921. package/src/icons/IconName.ts +3 -3
  922. package/src/model/InputTypes.ts +1 -0
  923. package/src/model/ListOrientation.ts +8 -0
  924. package/src/model/SitemapProps.ts +12 -0
  925. package/src/services/sitemap/SitemapProps.ts +13 -1
  926. package/src/setup-fixture.ts +1 -1
  927. package/src/ui-kit/Button/Button.tsx +32 -54
  928. package/src/ui-kit/Button/ButtonInner.tsx +25 -21
  929. package/src/ui-kit/Img/Img.mobile.tsx +29 -15
  930. package/src/ui-kit/Img/Img.tsx +27 -24
  931. package/src/ui-kit/Input/Input.tsx +8 -0
  932. package/src/ui-kit/Input/InputProps.ts +9 -0
  933. package/src/ui-kit/Select/Select.tsx +15 -0
  934. package/src/ui-kit/Select/SelectOption.tsx +14 -0
  935. package/src/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.tsx +1 -1
  936. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +17 -20
  937. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +12 -0
  938. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +27 -0
  939. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +7 -0
  940. package/src/ui-kit/Tabs/Tabs.tsx +46 -0
  941. package/src/ui-kit/Tabs/TabsProps.ts +20 -0
  942. package/dist/hooks/useComparisonTableScroll.d.ts +0 -12
  943. package/dist/hooks/useComparisonTableScroll.js +0 -12
  944. package/dist/hooks/useComparisonTableScroll.js.map +0 -1
  945. package/lib/hooks/useComparisonTableScroll.d.ts +0 -12
  946. package/lib/hooks/useComparisonTableScroll.js +0 -9
  947. package/lib/hooks/useComparisonTableScroll.js.map +0 -1
  948. package/mobile/dist/hooks/useComparisonTableScroll.d.ts +0 -12
  949. package/mobile/dist/hooks/useComparisonTableScroll.js +0 -12
  950. package/mobile/dist/hooks/useComparisonTableScroll.js.map +0 -1
  951. package/mobile/lib/hooks/useComparisonTableScroll.d.ts +0 -12
  952. package/mobile/lib/hooks/useComparisonTableScroll.js +0 -9
  953. package/mobile/lib/hooks/useComparisonTableScroll.js.map +0 -1
  954. package/mobile/src/hooks/useComparisonTableScroll.ts +0 -21
  955. package/src/hooks/useComparisonTableScroll.ts +0 -21
@@ -296,14 +296,14 @@
296
296
  return (jsxs("section", { className: `font-sans text-primary-text p-12 bg-white ${className}`, children: [title ? (jsx(Heading, { headingType: "h2", className: `${subtitle ? 'mb-2.5' : titleMarginsStyleMap[columnsMode]} ${titleAlignStyleMap[align ?? 'center']}`, title: title })) : null, subtitle ? (jsx("h3", { className: `text-base mt-0 font-normal ${titleMarginsStyleMap[columnsMode]} ${titleAlignStyleMap[align ?? 'center']}`, children: subtitle })) : null, jsx(LinkDocsList, { className: linkColumnsModeStyleMap[columnsMode], columnsMode: columnsMode, documents: documents, icon: icon })] }));
297
297
  });
298
298
 
299
- const Img = JSX(({ className = '', image: { size, ...image } }) => {
299
+ const Img = JSX(({ className = '', image: { size, ...image }, imageClassName = '' }) => {
300
300
  const style = {
301
301
  width: size?.width ? `${size?.width}px` : '100%',
302
302
  height: size?.height ? `${size?.height}px` : '100%',
303
303
  };
304
304
  return (jsxs("picture", { className: `flex-none ${className}`, children: [image.sources?.length
305
305
  ? image.sources.map(({ src, format }, index) => (jsx("source", { srcSet: src, type: formatToMimeType(format) }, `${index}_${src}`)))
306
- : null, jsx("img", { className: image.className || '', src: image.src, alt: image.alt || image.title, title: image.title, style: style, ...size })] }));
306
+ : null, jsx("img", { className: imageClassName, src: image.src, alt: image.alt || image.title, title: image.title, style: style, ...size })] }));
307
307
  });
308
308
  function formatToMimeType(format) {
309
309
  return format ? `image/${String(format)}` : undefined;
@@ -316,37 +316,6 @@
316
316
  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)));
317
317
  }
318
318
 
319
- const textBlockStyleMaps = {
320
- primary: {
321
- background: 'bg-white',
322
- icon: 'bg-primary-main text-white',
323
- title: 'text-primary-text',
324
- description: 'text-secondary-text',
325
- },
326
- secondary: {
327
- background: 'bg-primary-main',
328
- icon: 'bg-white text-primary-main',
329
- title: 'text-white',
330
- description: 'text-white',
331
- },
332
- 'secondary-light': {
333
- background: 'bg-primary-main/10',
334
- icon: 'bg-primary-main text-white',
335
- title: 'text-primary-text',
336
- description: 'text-secondary-text',
337
- },
338
- };
339
- const TextBlock = JSX(({ title, description, blockVersion = 'primary', iconVersion, image, className }) => {
340
- const textBlockStyleMap = textBlockStyleMaps[blockVersion];
341
- return (jsxs("section", { className: `font-sans px-9 py-4 flex ${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 })), description && (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description }))] })] }));
342
- });
343
- function renderIcon(className) {
344
- return (jsx("div", { className: "pt-1.5 pl-1 pr-4", children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
345
- }
346
- function renderImage(image) {
347
- return image?.src ? jsx(Img, { className: "pt-0.5 pr-3", image: image }) : null;
348
- }
349
-
350
319
  const isURL = (href) => href?.includes('//');
351
320
  const withoutQuery = (href) => (href || '').replace(/\/?\?.*/, '');
352
321
  const getOrigin = (href) => {
@@ -404,18 +373,37 @@
404
373
  };
405
374
  }
406
375
 
407
- const ButtonInner = JSX(({ text, aboveText, appendLeft, rounded, version }) => {
408
- const withoutText = !text && !aboveText && Boolean(appendLeft);
409
- const buttonInnerClasses = version !== 'link'
410
- ? `flex items-center justify-center
411
- ${withoutText ? 'h-12 w-12' : `px-8 gap-2 ${aboveText ? 'py-2' : 'py-3.5'}`} ${rounded ? 'rounded-full' : ''}`
412
- : null;
413
- return renderButtonInner({ buttonInnerClasses, appendLeft, withoutText, aboveText, text });
376
+ const Breadcrumb = JSX(({ text, href, target, onClick, className = '', children }) => {
377
+ if (href) {
378
+ return (jsx("a", { className: `no-underline ${className}`, href: href, target: target, onClick: onClick, children: jsx("span", { className: className, children: text || children }) }));
379
+ }
380
+ else {
381
+ return jsx("span", { className: className, children: text || children });
382
+ }
414
383
  });
415
- function renderButtonInner({ buttonInnerClasses, appendLeft, withoutText, aboveText, text }) {
416
- 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 })] }))] }));
384
+
385
+ function joinList(sep) {
386
+ return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
417
387
  }
418
388
 
389
+ const ButtonInner = JSX((props) => {
390
+ const { text, aboveText, appendLeft } = props;
391
+ 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] }));
392
+ });
393
+ const getButtonStyle = (props) => {
394
+ const { version, aboveText, rounded } = props;
395
+ if (version === 'link') {
396
+ return '';
397
+ }
398
+ const withTextStyle = `px-8 gap-2 ${aboveText ? 'py-2' : 'py-3.5'}`;
399
+ return [
400
+ 'flex items-center justify-center',
401
+ isWithText(props) ? withTextStyle : 'h-12 w-12',
402
+ rounded ? 'rounded-full' : '',
403
+ ].join(' ');
404
+ };
405
+ const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
406
+
419
407
  const buttonStyleMap = {
420
408
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
421
409
  secondary: 'text-primary-main bg-secondary-light hover:bg-secondary-hover active:bg-secondary-active',
@@ -426,29 +414,14 @@
426
414
  secondary: 'bg-secondary-light text-secondary-text',
427
415
  link: '',
428
416
  };
429
- const styleButton = 'text-center font-sans select-none';
430
- const Button = JSX(({ className, text, aboveText, appendLeft, href, target, onClick, children, disabled, rounded, version = 'none', ariaLabel, ...rest }) => {
417
+ const buttonStyle = 'text-center font-sans select-none';
418
+ const Button = JSX((props) => {
419
+ const { text, aboveText, appendLeft, children, disabled, rounded } = props;
431
420
  const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, rounded: rounded }));
432
- return disabled
433
- ? renderDisabledButton({ buttonInner, ariaLabel, className, version, rounded })
434
- : renderButton$3({
435
- buttonInner,
436
- ariaLabel,
437
- className,
438
- version,
439
- rounded,
440
- href,
441
- target,
442
- onClick,
443
- rest,
444
- });
445
- });
446
- function renderButton$3({ className, buttonInner, ariaLabel, version, rounded, href, target, onClick, rest, }) {
447
- return (jsx("a", { className: `${styleButton} inline-block cursor-pointer no-underline ${buttonStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: !href ? 'button' : 'link', ...rest, children: buttonInner }));
448
- }
449
- function renderDisabledButton({ className, buttonInner, ariaLabel, version, rounded }) {
450
- return (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: "-1", className: `inline-block ${styleButton} ${buttonDisabledStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, children: buttonInner }));
451
- }
421
+ return disabled ? (jsx(DisabledButton, { ...props, children: buttonInner })) : (jsx(RegularButton, { ...props, children: buttonInner }));
422
+ });
423
+ const RegularButton = JSX(({ className, ariaLabel, version = 'none', rounded, href, target, children, onClick, ...rest }) => (jsx("a", { className: `${buttonStyle} inline-block cursor-pointer no-underline ${buttonStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: href ? 'link' : 'button', ...rest, children: children })));
424
+ const DisabledButton = JSX(({ className, children, ariaLabel, version = 'none', rounded }) => (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: "-1", className: `inline-block ${buttonStyle} ${buttonDisabledStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, children: children })));
452
425
 
453
426
  const ButtonSection = JSX(({ context, className = '', buttons }) => {
454
427
  const { handlerDecorator } = context;
@@ -493,9 +466,75 @@
493
466
  });
494
467
 
495
468
  const BaseTile = JSX(({ className = '', title, children, buttons, image }) => {
496
- 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 }), jsx("div", { children: buttons })] }), image] })] }));
469
+ 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] })] }));
470
+ });
471
+
472
+ const benefitIconBgStyleMap = {
473
+ primary: 'bg-main',
474
+ secondary: 'bg-white/30',
475
+ };
476
+ const benefitTitleStyleMap = {
477
+ primary: 'text-primary-text',
478
+ secondary: 'text-white',
479
+ };
480
+ const benefitDescStyleMap = {
481
+ primary: 'text-secondary-text',
482
+ secondary: 'text-white',
483
+ };
484
+ function renderBenefit(benefit, i, version) {
485
+ return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (jsx(Icon, { className: `w-[50px] h-[50px] min-w-[50px] min-h-[50px] rounded-full p-[10px] box-border ${benefitIconBgStyleMap[version]}`, name: benefit.icon, width: "24", height: "24", asSVG: true })), jsxs("div", { className: "flex gap-1 flex-col h-full max-w-[149px]", children: [jsx("div", { className: `font-medium text-xl m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-normal text-sm ${benefitDescStyleMap[version]}`, children: benefit.description }))] })] }, String(i)));
486
+ }
487
+
488
+ const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, buttons, image, items, version = 'primary', }) => {
489
+ return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: 'flex flex-col', 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 mt-9 gap-3" })) : null, children: [description && (jsx(Description, { className: "text-m-base mt-4 max-w-[600px]", description: description })), benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((_, i) => renderBenefit(_, i, version)) })) : null, items?.length ? (jsx(List, { className: "mt-5", items: items, itemClassName: "mb-[10px]", version: version })) : null] }) }), image?.src && jsx(Img, { className: "mt-auto", image: image })] }));
497
490
  });
498
491
 
492
+ const productBlockStyleMap = {
493
+ primary: 'bg-white text-primary-text',
494
+ secondary: 'bg-primary-main text-white',
495
+ };
496
+ const breadcrumbsStyleMap = {
497
+ primary: 'text-secondary-text',
498
+ secondary: 'text-white/80',
499
+ };
500
+ const ProductBlock = JSX((props) => {
501
+ const { context, className, breadcrumbs, version = 'primary' } = props;
502
+ const router = context.useRouter();
503
+ const { handlerDecorator } = context;
504
+ return (jsxs("section", { className: `font-sans pt-10 pl-[50px] pb-[50px] pr-[7.5rem] box-border min-h-[420px] ${className || ''} ${productBlockStyleMap[version]}`, children: [breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { ...props })] }));
505
+ });
506
+
507
+ const textBlockStyleMaps = {
508
+ primary: {
509
+ background: 'bg-white',
510
+ icon: 'bg-primary-main text-white',
511
+ title: 'text-primary-text',
512
+ description: 'text-secondary-text',
513
+ },
514
+ secondary: {
515
+ background: 'bg-primary-main',
516
+ icon: 'bg-white text-primary-main',
517
+ title: 'text-white',
518
+ description: 'text-white',
519
+ },
520
+ 'secondary-light': {
521
+ background: 'bg-primary-main/10',
522
+ icon: 'bg-primary-main text-white',
523
+ title: 'text-primary-text',
524
+ description: 'text-secondary-text',
525
+ },
526
+ };
527
+ const TextBlock = JSX(({ title, description, blockVersion = 'primary', iconVersion, image, className }) => {
528
+ const textBlockStyleMap = textBlockStyleMaps[blockVersion];
529
+ return (jsxs("section", { className: `font-sans px-9 py-4 flex ${textBlockStyleMap.background} ${className || ''}`, children: [iconVersion === 'small' ? renderIcon$1(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 })), description && (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description }))] })] }));
530
+ });
531
+ function renderIcon$1(className) {
532
+ return (jsx("div", { className: "pt-1.5 pl-1 pr-4", children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
533
+ }
534
+ function renderImage(image) {
535
+ return image?.src ? jsx(Img, { className: "pt-0.5 pr-3", image: image }) : null;
536
+ }
537
+
499
538
  const getColSpan = (className) => {
500
539
  const colSpanPrefix = 'col-span-';
501
540
  const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
@@ -669,7 +708,7 @@
669
708
  const showNextButton = isGalleryScrollAvailable &&
670
709
  cards?.length - activeCardIndex > galleryLengthForScrollMap[version];
671
710
  const showPrevButton = isGalleryScrollAvailable && activeCardIndex > 0;
672
- 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" })] }));
711
+ 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" })] }));
673
712
  });
674
713
 
675
714
  const Gallery = JSX((props) => jsx(GalleryInner, { ...props, version: "normal" }));
@@ -691,6 +730,7 @@
691
730
  LinkDocs,
692
731
  TextBlock,
693
732
  PictureText,
733
+ ProductBlock,
694
734
  Tile,
695
735
  ProductTile,
696
736
  Gallery,
@@ -698,16 +738,17 @@
698
738
  LinkList,
699
739
  };
700
740
 
701
- const AccordionItemInner = JSX(({ blocks, context }) => {
702
- return (jsx("div", { className: 'transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0', children: blocks?.length ? blocks.map(renderBlock$1(context)) : null }));
741
+ const AccordionItemInner = JSX(({ blocks, columns = 1, context }) => {
742
+ return (jsx("div", { className: 'transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0 flex flex-wrap', children: blocks?.length ? blocks.map(renderBlock$1(context, columns)) : null }));
703
743
  });
704
- const renderBlock$1 = (context) => (block, i) => {
744
+ const renderBlock$1 = (context, columns) => (block, i) => {
705
745
  const type = block?.accordionBlockType;
706
746
  if (!type || !(type in AccordionBlocks)) {
707
747
  return null;
708
748
  }
749
+ const columnsCountClass = columns === 2 ? 'w-1/2' : '';
709
750
  const AccordionBlock = AccordionBlocks[type];
710
- return (jsx("div", { className: "mb-5 last:mb-0 pb-5", children: jsx(AccordionBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
751
+ return (jsx("div", { className: `mb-5 last:mb-0 pb-5 ${columnsCountClass}`, children: jsx(AccordionBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
711
752
  };
712
753
 
713
754
  const isActiveHandler = ({ context, blocks }) => {
@@ -728,13 +769,13 @@
728
769
  return { isActive, hasContent, icon, handleToggle };
729
770
  };
730
771
 
731
- const AccordionItem = JSX(({ label, blocks, context }) => {
772
+ const AccordionItem = JSX(({ label, blocks, columns, context }) => {
732
773
  const { hasContent, icon, handleToggle } = isActiveHandler({
733
774
  context,
734
775
  blocks,
735
776
  });
736
777
  return (jsxs("li", { className: "border-0 border-b border-solid border-main-divider last:border-b-0", children: [jsxs("button", { className: `border-none bg-transparent px-0 py-5 flex justify-between text-left w-full font-sans text-primary-text
737
- ${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [jsx("span", { className: `text-xl 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] }));
778
+ ${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [jsx("span", { className: `text-xl 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, { columns: columns, blocks: blocks, context: context })) : null] }));
738
779
  });
739
780
 
740
781
  const Accordion = JSX(({ title, accordionItems, context, className }) => {
@@ -748,15 +789,6 @@
748
789
  return (jsxs("div", { className: "flex items-center gap-5 max-w-[500px]", children: [benefit.icon && (jsx(Icon, { className: "h-[70px] w-[70px] min-w-[70px] min-h-[70px]", name: benefit.icon, width: "70", height: "70" })), jsxs("div", { children: [jsx("h3", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && (jsx("div", { className: "font-normal text-sm mt-2", children: benefit.description }))] })] }, String(i)));
749
790
  };
750
791
 
751
- const useComparisonTableScroll = ({ colData, colsLengthForScroll, activeCardIndex, setActiveCardIndex, }) => {
752
- const nextClick = () => setActiveCardIndex(activeCardIndex + 1);
753
- const prevClick = () => setActiveCardIndex(activeCardIndex - 1);
754
- const isScrollAvailable = colData?.length && colData.length > colsLengthForScroll;
755
- const showNextButton = isScrollAvailable && colData?.length - activeCardIndex > colsLengthForScroll;
756
- const showPrevButton = isScrollAvailable && activeCardIndex > 0;
757
- return { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton };
758
- };
759
-
760
792
  const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
761
793
  const BORDER_CLASSES$1 = 'border-main-stroke border-solid border';
762
794
  const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
@@ -764,7 +796,7 @@
764
796
  const COLS_LENGTH_FOR_SCROLL$1 = 2;
765
797
  const COLUMN_WIDTH$1 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
766
798
 
767
- const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES$1} ${GRADIENT}`, role: "columnheader", scope: "col", children: [icon && !image?.src && (jsx(Icon, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", name: icon, width: "63", height: "63" })), image?.src && jsx(Img, { className: "mb-[18px]", image: image }), title && jsx(Heading, { headingType: "h4", className: "text-center text-white", title: title }), link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "font-medium text-xs py-[11px]", children: link.text }) }) }))] })));
799
+ const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
768
800
 
769
801
  const carouselContainerClassesMap = {
770
802
  comparison: 'flex gap-4 duration-1000',
@@ -772,6 +804,12 @@
772
804
  };
773
805
  const TableCarouselContainer = JSX(({ children, activeCardIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeCardIndex * columnWidth}px)` }, children: children }) })));
774
806
 
807
+ const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES$1} ${GRADIENT}`, role: "columnheader", scope: "col", children: [icon && !image?.src && (jsx(Icon, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", name: icon, width: "63", height: "63" })), image?.src && jsx(Img, { className: "mb-[18px]", image: image }), title && jsx(Heading, { headingType: "h4", className: "text-center text-white", title: title }), link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "font-medium text-xs py-[11px]", children: link.text }) }) }))] })));
808
+
809
+ const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeCardIndex, router, handlerDecorator }) => {
810
+ return (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] }));
811
+ });
812
+
775
813
  const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
776
814
  const cellWrapperClasses = `w-80 box-border flex flex-col ${BORDER_CLASSES$1} ${!isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md'} ${isFillGradient ? GRADIENT : ''}`;
777
815
  const cellClasses = `mx-7 h-full ${DIVIDER_CLASSES$1} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : 'border-b-0'}`;
@@ -779,15 +817,28 @@
779
817
  });
780
818
  const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label && (jsx("h5", { className: `text-xl font-medium m-0 ${isFillGradient ? 'text-white' : ''}`, children: label })), description && (jsx("div", { className: `text-sm opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`, children: description }))] }, String(i)));
781
819
 
782
- const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
783
-
784
820
  const TableRow = JSX(({ row: { header, data }, activeCardIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? (jsx("div", { className: `text-sm py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${!isLastRow ? 'border-solid' : 'border-b-0'}`, children: header.title })) : null, data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
785
821
 
786
- const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, }) => {
822
+ const TableArrowScrollControl = JSX(({ isScrollAvailable, onNextClick, onPrevClick, showNextButton, showPrevButton }) => {
823
+ return isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: onNextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: onPrevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })] }) })) : null;
824
+ });
825
+
826
+ const ComparisonTableRows = JSX(({ rowData, activeCardIndex, isColoredFirstColumn, ...tableArrowScrollProps }) => {
827
+ return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), jsx(TableArrowScrollControl, { ...tableArrowScrollProps })] }));
828
+ });
829
+
830
+ const useTableArrowScrollControl = ({ columnsLength, colsLengthForScroll, activeCardIndex, setActiveCardIndex, }) => {
831
+ const onNextClick = () => setActiveCardIndex(activeCardIndex + 1);
832
+ const onPrevClick = () => setActiveCardIndex(activeCardIndex - 1);
833
+ const isScrollAvailable = columnsLength > colsLengthForScroll;
834
+ const showNextButton = isScrollAvailable && columnsLength - activeCardIndex > colsLengthForScroll;
835
+ const showPrevButton = Boolean(isScrollAvailable && activeCardIndex > 0);
836
+ return { onNextClick, onPrevClick, isScrollAvailable, showNextButton, showPrevButton };
837
+ };
838
+
839
+ const ComparisonTableBody = JSX(({ context, columns, rowHeaders, isShowAllRow, visibleRowLength, isColoredFirstColumn }) => {
787
840
  const router = context.useRouter();
788
841
  const { handlerDecorator } = context;
789
- const [activeCardIndex, setActiveCardIndex] = context.useState(0);
790
- const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
791
842
  const colHeaders = columns?.map(({ header }) => header || {});
792
843
  const colData = columns?.map(({ data }) => data) || [];
793
844
  const rowData = rowHeaders
@@ -796,22 +847,45 @@
796
847
  data: colData.map((col) => col?.[i] || [{}]),
797
848
  }))
798
849
  .slice(0, isShowAllRow ? rowHeaders.length : visibleRowLength);
799
- const { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton } = useComparisonTableScroll({
800
- colData,
850
+ const [activeCardIndex, setActiveCardIndex] = context.useState(0);
851
+ const tableArrowScrollProps = useTableArrowScrollControl({
852
+ columnsLength: colData.length,
801
853
  colsLengthForScroll: COLS_LENGTH_FOR_SCROLL$1,
802
854
  activeCardIndex,
803
855
  setActiveCardIndex,
804
856
  });
857
+ const { isScrollAvailable } = tableArrowScrollProps;
858
+ return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeCardIndex: activeCardIndex, router: router, handlerDecorator: handlerDecorator })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn, ...tableArrowScrollProps })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
859
+ });
860
+
861
+ const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, }) => {
862
+ const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
805
863
  const showToggle = () => setIsShowAllRow(!isShowAllRow);
806
- return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsxs("div", { role: "table", children: [colHeaders?.length ? (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] })) : null, rowData?.length ? (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: nextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: prevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })] }) })) : null] })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null, visibleRowLength ? (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: showToggle, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) })) : null] }));
864
+ return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { context: context, columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
865
+ ? renderShowMoreToggleButton({ isShowAllRow, onClick: showToggle })
866
+ : null] }));
807
867
  });
868
+ const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => {
869
+ return (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
870
+ };
871
+
872
+ const TAB_STYLE = 'px-2 h-14 pb-2 pt-3 border border-b-0 border-main-stroke';
873
+ const ACTIVE_TAB_STYLE = 'px-2 h-16 pt-4 pb-2 text-white bg-primary-main';
874
+ const Tabs = JSX(({ tabs, currentTabIndex, onTabClick }) => {
875
+ return (jsx("div", { className: "flex items-end border-b border-main-stroke", role: "tablist", children: tabs?.map(renderTab(currentTabIndex, onTabClick)) }));
876
+ });
877
+ const renderTab = (currentTabIndex, onTabClick) => (tab, index) => {
878
+ const isActive = currentTabIndex === index;
879
+ return (jsxs("div", { className: `flex h-full flex-1 cursor-pointer mr-2 last:mr-0 ${isActive ? ACTIVE_TAB_STYLE : TAB_STYLE}`, role: "tab", onClick: () => onTabClick(index), "aria-selected": String(isActive), children: [tab?.icon ? renderIcon(tab, isActive) : null, jsxs("div", { children: [tab?.title ? jsx("h3", { className: "font-medium m-0 text-base", children: tab?.title }) : null, tab?.description ? (jsx("span", { className: `font-light text-xs ${isActive ? '' : 'text-secondary-text'}`, children: tab?.description })) : null] })] }, String(index)));
880
+ };
881
+ const renderIcon = (tab, isActive) => (jsx("div", { className: "h-full mt-1", style: isActive ? { filter: 'invert(1)' } : null, children: jsx(Icon, { className: "w-5 h-5 mr-3", name: tab?.icon || 'CardIcon', asSVG: !isActive }) }));
808
882
 
809
883
  function useCreditCalculatorData(useAsyncData, directoryName) {
810
- const { data } = useAsyncData(creditCalculatorUrl(directoryName), () => fetchCreditCalculatorData(directoryName));
884
+ const { data } = useAsyncData(creditCalculatorUrl(directoryName), fetchCreditCalculatorData);
811
885
  return data || {};
812
886
  }
813
- async function fetchCreditCalculatorData(directoryName) {
814
- const response = await fetch(creditCalculatorUrl(directoryName));
887
+ async function fetchCreditCalculatorData(url) {
888
+ const response = await fetch(url);
815
889
  return await response.json();
816
890
  }
817
891
  function creditCalculatorUrl(directoryName) {
@@ -830,30 +904,6 @@
830
904
  onChange(e.target.checked);
831
905
  }, checked: checked }), jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }), text ? (jsx("span", { className: "font-sans ml-3 text-sm leading-5 cursor-pointer", children: text })) : null] }) })));
832
906
 
833
- const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
834
-
835
- const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
836
- const handleChange = (value) => {
837
- if (!onChange)
838
- return;
839
- const sanitizedValue = Number(value.replace(/\D/g, ''));
840
- onChange(sanitizedValue);
841
- };
842
- const inputStyle = {
843
- backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
844
- };
845
- const handleBlur = () => {
846
- if (!onChange)
847
- return;
848
- if (value < min)
849
- onChange(min);
850
- if (value > max)
851
- onChange(max);
852
- };
853
- return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx("span", { className: "absolute text-xs text-secondary-text top-1 mt-0.5 pl-4 ml-0.5", children: title })) : null, jsx("input", { className: `m-0 font-sans text-sm w-full h-12 border border-solid border-main-stroke rounded-md
854
- outline-none p-0 pl-4 m-0 box-border text-primary-text ${title ? 'pt-4' : ''}`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 top-[35px] px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsxs("span", { className: "text-xs leading-[14px] text-secondary-text pl-4", children: [" ", item, " "] }, String(i)))) })] }));
855
- });
856
-
857
907
  const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
858
908
 
859
909
  const DEFAULT_MIN_SUM = 30000;
@@ -893,6 +943,14 @@
893
943
  return result.concat(maxYear);
894
944
  };
895
945
 
946
+ const getDefaultMonths = (calculatorParams) => calculatorParams.maxMonths && calculatorParams.minMonths
947
+ ? Math.round((calculatorParams.maxMonths - calculatorParams.minMonths) / 2)
948
+ : DEFAULT_MONTHS;
949
+
950
+ const getDefaultSum = (calculatorParams) => calculatorParams.maxSum && calculatorParams.minSum
951
+ ? (calculatorParams.maxSum - calculatorParams.minSum) / 2
952
+ : DEFAULT_SUM;
953
+
896
954
  const getMonthlyPayment = (params) => {
897
955
  const { calculatorParams, paymentType, rate, sum, months } = params;
898
956
  if (!calculatorParams)
@@ -907,29 +965,74 @@
907
965
  }
908
966
  };
909
967
 
910
- const STEP_MONEY = 1000;
968
+ function renderButton(number, i, handleClick) {
969
+ return (jsx("button", { className: "bg-secondary-light rounded-3xl h-10 w-[75px] box-border mr-2 flex items-center justify-center cursor-pointer border-none", onClick: () => handleClick(number), children: jsxs("span", { className: "font-semibold text-sm", children: [number, " ", number === 1 ? 'год' : number > 4 ? 'лет' : 'года'] }) }, String(i)));
970
+ }
971
+
972
+ const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
973
+
974
+ const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
975
+ const handleChange = (value) => {
976
+ if (!onChange)
977
+ return;
978
+ const sanitizedValue = Number(value.replace(/\D/g, ''));
979
+ onChange(sanitizedValue);
980
+ };
981
+ const inputStyle = {
982
+ backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
983
+ };
984
+ const handleBlur = () => {
985
+ if (!onChange)
986
+ return;
987
+ if (value < min)
988
+ onChange(min);
989
+ if (value > max)
990
+ onChange(max);
991
+ };
992
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx("span", { className: "absolute text-xs text-secondary-text top-1 mt-0.5 pl-4 ml-0.5", children: title })) : null, jsx("input", { className: `m-0 font-sans text-sm w-full h-12 border border-solid border-main-stroke rounded-md
993
+ outline-none p-0 pl-4 m-0 box-border text-primary-text ${title ? 'pt-4' : ''}`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 top-[35px] px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsxs("span", { className: "text-xs leading-[14px] text-secondary-text pl-4", children: [" ", item, " "] }, String(i)))) })] }));
994
+ });
995
+
911
996
  const STEP_MONTHS = 1;
997
+ function renderMonthsInput(props) {
998
+ const { minMonths, maxMonths, monthsValue, defaultMonths, setMonthsValue } = props;
999
+ return (jsx(InputRange, { className: "mt-[23px]", title: "\u0421\u0440\u043E\u043A \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u043C\u0435\u0441\u044F\u0446\u0435\u0432", items: ['Или выберите из предложенных вариантов ниже'], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: monthsValue || defaultMonths, onChange: setMonthsValue }));
1000
+ }
1001
+
1002
+ function renderProposal(monthlyPayment, rate) {
1003
+ return (jsxs("div", { className: "box-border h-fit p-9 bg-primary-main rounded-md text-white", children: [jsx("div", { className: "text-base mb-[18px]", children: "\u041D\u0430\u0448\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }), jsx("div", { className: "text-sm opacity-60", children: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0451\u0436" }), jsxs("div", { className: "text-lg mb-3", children: [addSpacesBetweenNumbers(Math.round(monthlyPayment)), " \u20BD"] }), jsx("div", { className: "text-sm opacity-60", children: "\u0421\u0442\u0430\u0432\u043A\u0430" }), jsxs("div", { className: "text-lg", children: [rate, " %"] })] }));
1004
+ }
1005
+
1006
+ function renderTermsButton() {
1007
+ return (jsxs("div", { className: "flex items-center", children: [jsx(Button, { className: "mr-3", text: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443", version: "primary", href: "#" }), jsx("div", { className: "w-80 text-2xs leading-4 text-secondary-text", "aria-label": "\u0421\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u044F \u0437\u0430\u044F\u0432\u043A\u0443, \u0432\u044B \u0441\u043E\u0433\u043B\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044C \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F\u043C \u0424\u0417 \u00AB\u041E \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445\u00BB" })] }));
1008
+ }
1009
+
1010
+ const STEP_MONEY = 1000;
1011
+ function renderWantedSumInput(props) {
1012
+ const { calculatorParams, moneyValue, defaultSum, setMoneyValue } = props;
1013
+ const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM;
1014
+ const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM;
1015
+ return (jsx(InputRange, { title: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0441\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u20BD", items: [
1016
+ `От ${addSpacesBetweenNumbers(minSum)} рублей`,
1017
+ `До ${addSpacesBetweenNumbers(maxSum)} рублей`,
1018
+ ], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue || defaultSum, onChange: setMoneyValue }));
1019
+ }
1020
+
912
1021
  const DEFAULT_PAYMENT_TYPE = 'annuity';
913
- const borderStyle = 'border-solid border-[3px] border-primary-main rounded-md';
914
- const CreditCalculator = JSX(({ context, className, directoryName }) => {
1022
+ const BORDER_STYLE = 'border-solid border-[3px] border-primary-main rounded-md';
1023
+ const CreditCalculatorForm = JSX(({ context, directoryName }) => {
915
1024
  const [moneyValue, setMoneyValue] = context.useState(undefined);
916
1025
  const [monthsValue, setMonthsValue] = context.useState(undefined);
917
1026
  const [isAnnuityChecked, setIsAnnuityChecked] = context.useState(true);
918
1027
  const [isInsuranceChecked, setIsInsuranceChecked] = context.useState(true);
919
1028
  const tableRows = useCreditCalculatorData(context.useAsyncData, directoryName).rows;
920
1029
  const calculatorParams = getCalculatorParams({ tableRows, isAnnuity: isAnnuityChecked });
921
- const defaultSum = calculatorParams.maxSum && calculatorParams.minSum
922
- ? (calculatorParams.maxSum - calculatorParams.minSum) / 2
923
- : DEFAULT_SUM;
924
- const defaultMonths = calculatorParams.maxMonths && calculatorParams.minMonths
925
- ? Math.round((calculatorParams.maxMonths - calculatorParams.minMonths) / 2)
926
- : DEFAULT_MONTHS;
927
- const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM;
928
- const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM;
1030
+ const defaultSum = getDefaultSum(calculatorParams);
1031
+ const defaultMonths = getDefaultMonths(calculatorParams);
929
1032
  const minMonths = calculatorParams?.minMonths || DEFAULT_MIN_MONTHS;
930
1033
  const maxMonths = calculatorParams?.maxMonths || DEFAULT_MAX_MONTHS;
931
1034
  const rate = getCreditRate({ calculatorParams, isInsurance: isInsuranceChecked });
932
- const montlyPayment = getMonthlyPayment({
1035
+ const monthlyPayment = getMonthlyPayment({
933
1036
  calculatorParams,
934
1037
  paymentType: DEFAULT_PAYMENT_TYPE,
935
1038
  rate,
@@ -940,44 +1043,118 @@
940
1043
  function handleButtonClick(value) {
941
1044
  setMonthsValue(clamp(value * MONTHS_IN_YEAR, minMonths, maxMonths));
942
1045
  }
943
- return (jsx("section", { className: `font-sans text-primary-text p-10 bg-white ${className || ''}`, children: jsxs("div", { className: `box-border p-[49px] pr-[56px] mx-auto w-max ${borderStyle}`, children: [jsxs("div", { className: "flex justify-between ", children: [jsxs("div", { className: "mr-[42px]", children: [jsx(InputRange, { title: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0441\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u20BD", items: [
944
- `От ${addSpacesBetweenNumbers(minSum)} рублей`,
945
- `До ${addSpacesBetweenNumbers(maxSum)} рублей`,
946
- ], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue || defaultSum, onChange: setMoneyValue }), jsx(InputRange, { className: "mt-[23px]", title: "\u0421\u0440\u043E\u043A \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u043C\u0435\u0441\u044F\u0446\u0435\u0432", items: ['Или выберите из предложенных вариантов ниже'], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: monthsValue || defaultMonths, onChange: setMonthsValue }), jsx("div", { className: "flex mb-7", children: creditTermYears.map((number, i) => renderButton(number, i, handleButtonClick)) }), jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", checked: isAnnuityChecked, onChange: setIsAnnuityChecked }), jsx(Checkbox, { className: "mt-3 mb-7", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsuranceChecked, onChange: setIsInsuranceChecked })] }), jsxs("div", { className: "box-border h-fit p-9 bg-primary-main rounded-md text-white", children: [jsx("div", { className: "text-base mb-[18px]", children: "\u041D\u0430\u0448\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }), jsx("div", { className: "text-sm opacity-60", children: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0451\u0436" }), jsxs("div", { className: "text-lg mb-3", children: [addSpacesBetweenNumbers(Math.round(montlyPayment)), " \u20BD"] }), jsx("div", { className: "text-sm opacity-60", children: "\u0421\u0442\u0430\u0432\u043A\u0430" }), jsxs("div", { className: "text-lg", children: [rate, " %"] })] })] }), jsxs("div", { className: "flex items-center", children: [jsx(Button, { className: "mr-3", text: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443", version: "primary", href: "#" }), jsx("div", { className: "w-80 text-2xs leading-4 text-secondary-text", "aria-label": "\u0421\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u044F \u0437\u0430\u044F\u0432\u043A\u0443, \u0432\u044B \u0441\u043E\u0433\u043B\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044C \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F\u043C \u0424\u0417 \u00AB\u041E \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445\u00BB" })] })] }) }));
1046
+ return (jsx("section", { className: "mt-7", children: jsxs("div", { className: `box-border p-[49px] pr-[56px] mx-auto w-max ${BORDER_STYLE}`, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "mr-[42px]", children: [renderWantedSumInput({ calculatorParams, moneyValue, defaultSum, setMoneyValue }), renderMonthsInput({
1047
+ minMonths,
1048
+ maxMonths,
1049
+ monthsValue,
1050
+ defaultMonths,
1051
+ setMonthsValue,
1052
+ }), jsx("div", { className: "flex mb-7", children: creditTermYears.map((number, i) => renderButton(number, i, handleButtonClick)) }), jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", checked: isAnnuityChecked, onChange: setIsAnnuityChecked }), jsx(Checkbox, { className: "mt-3 mb-7", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsuranceChecked, onChange: setIsInsuranceChecked })] }), renderProposal(monthlyPayment, rate)] }), renderTermsButton()] }) }));
947
1053
  });
948
- function renderButton(number, i, handleClick) {
949
- return (jsx("button", { className: "bg-secondary-light rounded-3xl h-10 w-[75px] box-border mr-2 flex items-center justify-center cursor-pointer border-none", onClick: () => handleClick(number), children: jsxs("span", { className: "font-semibold text-sm", children: [number, " ", number === 1 ? 'год' : number > 4 ? 'лет' : 'года'] }) }, String(i)));
1054
+
1055
+ const DEFAULT_TABS = [
1056
+ {
1057
+ title: 'Кредит',
1058
+ description: 'Ставка от 6% до 7 лет',
1059
+ directoryName: 'credit-calculator-data',
1060
+ icon: 'CardIcon',
1061
+ },
1062
+ {
1063
+ title: 'Кредит',
1064
+ description: 'Ставка от 4% до 7 лет',
1065
+ directoryName: 'credit-calculator-data1',
1066
+ icon: 'ChartSquareIcon',
1067
+ },
1068
+ {
1069
+ title: 'Кредит',
1070
+ description: 'Ставка от 3% до 6 лет',
1071
+ directoryName: 'credit-calculator-data2',
1072
+ icon: 'DiscountShapeIcon',
1073
+ },
1074
+ ];
1075
+
1076
+ const CreditCalculator = JSX(({ className = '', context, tabs = DEFAULT_TABS }) => {
1077
+ const [currentTabIndex, setCurrentTabIndex] = context.useState(0);
1078
+ return (jsxs("section", { className: `font-sans text-primary-text py-10 bg-white ${className}`, children: [jsx(Heading, { className: "w-full text-center mb-8", headingType: getTileHeadingType(className), title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440" }), jsx(Tabs, { tabs: tabs, currentTabIndex: currentTabIndex, onTabClick: setCurrentTabIndex }), jsx(CreditCalculatorForm, { context: context, directoryName: tabs[currentTabIndex]?.directoryName })] }));
1079
+ });
1080
+
1081
+ function useExchangeRates(useAsyncData) {
1082
+ const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchExchangeRates);
1083
+ return data || {};
1084
+ }
1085
+ async function fetchExchangeRates() {
1086
+ try {
1087
+ const response = await fetch(EXCHANGE_RATES_URL);
1088
+ return await response.json();
1089
+ }
1090
+ catch (err) {
1091
+ console.error(err);
1092
+ }
950
1093
  }
1094
+ const EXCHANGE_RATES_URL = '/api/v1/exchangerates.json';
951
1095
 
952
- const CBR_EXCHANGE_RATE_URL = 'https://www.cbr-xml-daily.ru/daily_json.js';
953
- const CURRENCY_CODES = ['USD', 'EUR'];
1096
+ const currencyNumberFormat = new Intl.NumberFormat('ru', { style: 'currency', currency: 'RUB' });
1097
+ const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
1098
+
1099
+ const TABLE_HEAD_STYLE = 'text-left font-normal text-sm text-secondary-text';
954
1100
  const CURRENCY_ICONS_MAP = {
955
1101
  USD: 'DollarIcon',
956
1102
  EUR: 'EuroIcon',
957
1103
  };
958
- const buttons = [
1104
+ const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => {
1105
+ return (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx("th", { className: `${TABLE_HEAD_STYLE} pl-11`, children: "\u041A\u0443\u043F\u0438\u0442\u044C" }), jsx("th", { className: `${TABLE_HEAD_STYLE} pl-11`, children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map((item) => renderCurrencyRow(item)) })] }));
1106
+ });
1107
+ const renderCurrencyRow = (exchangeCurrencyItem) => {
1108
+ const code = exchangeCurrencyItem?.currency?.currency;
1109
+ return (jsxs("tr", { children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [code ? jsx(Icon, { name: CURRENCY_ICONS_MAP[code], width: "24", height: "24" }) : null, jsx("span", { className: "ml-2", children: code })] }) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem.buyExchangeRate) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem.saleExchangeRate) })] }, code));
1110
+ };
1111
+
1112
+ const CurrentLocation = JSX(({ className = '', address, distance }) => (jsxs("div", { className: `flex text-sm ${className}`, children: [jsx(Icon, { className: "min-w-fit", name: "GpsIcon", width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-1.5", children: [address ? jsx("p", { className: "m-0", children: address }) : null, distance ? (jsxs("p", { className: "text-secondary-text m-0", children: ["\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043E \u043E\u0444\u0438\u0441\u0430 - ", distance] })) : null] })] })));
1113
+
1114
+ const Input = JSX(({ className = '', id, name, type = 'text', placeholder }) => {
1115
+ return (jsx("input", { className: className, id: id, name: name || id, type: type, placeholder: placeholder }));
1116
+ });
1117
+
1118
+ const Select = JSX(({ className = '', id, name, children }) => {
1119
+ return (jsx("select", { className: className, id: id, name: name || id, children: children }));
1120
+ });
1121
+
1122
+ const SelectOption = JSX(({ className = '', value, children }) => {
1123
+ return (jsx("option", { className: className, value: `${value}`, children: children }));
1124
+ });
1125
+
1126
+ const ExchangeCurrencyCalculator = JSX(({ codes, className = '' }) => {
1127
+ return (jsxs("div", { className: `grid gap-3.5 ${className}`, children: [renderInput('Хочу продать', codes), renderInput('Получу', codes), jsx(Button, { className: "box-border mt-3.5 py-3 h-12 w-44", version: "primary", href: "#", children: "\u041A\u0443\u043F\u0438\u0442\u044C \u0432\u0430\u043B\u044E\u0442\u0443" })] }));
1128
+ });
1129
+ function renderInput(placeholder, codes) {
1130
+ return (jsxs("div", { className: "flex items-center", children: [jsx(Input, { className: "h-10 border pl-2.5 rounded-md text-m-sm w-full appearance-none", type: "number", placeholder: `${placeholder}` }), codes.length ? (jsx(Select, { className: "h-9 -translate-x-16", children: codes.map((code, i) => (jsx(SelectOption, { value: code, children: code }, String(i)))) })) : null] }));
1131
+ }
1132
+
1133
+ const CURRENCY_CODES = ['USD', 'EUR'];
1134
+ const EXCHANGE_CODES = ['RUB', 'USD', 'EUR'];
1135
+ const DEFAULT_CURRENCY_ITEMS = [
959
1136
  {
960
- text: 'Все показатели',
961
- href: 'https://cbr.ru/currency_base/daily/',
962
- version: 'secondary',
1137
+ buyExchangeRate: 90.6,
1138
+ saleExchangeRate: 92.8,
1139
+ currency: { id: 2, code: '978', currency: 'EUR', name: 'Евро' },
1140
+ },
1141
+ {
1142
+ buyExchangeRate: 73.75,
1143
+ saleExchangeRate: 75.95,
1144
+ currency: { id: 1, code: '840', currency: 'USD', name: 'Американский доллар' },
963
1145
  },
964
1146
  ];
1147
+ const DEFAULT_LOCATION = {
1148
+ address: 'Москва, ул.Ленина д.28',
1149
+ distance: '6км',
1150
+ };
965
1151
  const ExchangeRateTile = JSX(({ className = '', context, title = 'Курсы обмена валют' }) => {
966
- const { data } = context.useAsyncData(CBR_EXCHANGE_RATE_URL, fetchExchangeRate);
967
- return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsx(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px] ${title ? 'mb-3' : ''}` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: jsxs("table", { children: [jsx("thead", { children: jsxs("tr", { children: [jsx(CurrencyTH, { children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx(CurrencyTH, { className: "pl-11", children: "\u041A\u0443\u0440\u0441" })] }) }), jsx("tbody", { children: CURRENCY_CODES.map(renderCurrencyRow(data)) })] }) }) }));
1152
+ const data = useExchangeRates(context.useAsyncData);
1153
+ const exchangeCurrencyItems = data?.exchangeRate?.currencies?.filter((item) => {
1154
+ return CURRENCY_CODES.indexOf(item?.currency?.currency || '') !== -1;
1155
+ }) || DEFAULT_CURRENCY_ITEMS;
1156
+ return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className}`, children: jsx(BaseTile, { context: context, title: jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: "whitespace-pre-wrap mb-3" }), children: jsxs("div", { className: "flex", children: [jsxs("div", { className: "mr-20 pt-3", children: [exchangeCurrencyItems ? (jsx(CurrencyTable, { className: "mb-7", exchangeCurrencyItems: exchangeCurrencyItems })) : null, jsx(CurrentLocation, { ...DEFAULT_LOCATION })] }), exchangeCurrencyItems?.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", exchangeCurrencyItems: exchangeCurrencyItems, codes: EXCHANGE_CODES })) : null] }) }) }));
968
1157
  });
969
- const CurrencyTH = JSX(({ className = '', children }) => (jsx("th", { className: `text-left font-normal text-sm text-secondary-text ${className}`, children: children })));
970
- const CurrencyTD = JSX(({ className = '', children }) => (jsx("td", { className: `text-left font-normal text-base text-primary-text ${className}`, children: children })));
971
- async function fetchExchangeRate() {
972
- const response = await fetch(CBR_EXCHANGE_RATE_URL);
973
- return await response.json();
974
- }
975
- const currencyNumberFormat = new Intl.NumberFormat('ru', { style: 'currency', currency: 'RUB' });
976
- const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
977
- const renderCurrencyRow = (data) => (code) => {
978
- const value = (data?.Valute || {})[code]?.Value;
979
- return (jsxs("tr", { children: [jsx(CurrencyTD, { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [jsx(Icon, { name: CURRENCY_ICONS_MAP[code], width: "24", height: "24" }), jsx("span", { className: "ml-2", children: code })] }) }), jsx(CurrencyTD, { className: "pt-4 pl-11", children: formatCurrency(value) })] }, code));
980
- };
981
1158
 
982
1159
  const LOGO_PATHS = [
983
1160
  'm13.72 25.51 4.42-4.33v-2.95l-4.42 4.32v2.96Zm0-10.98 4.42-4.35V7.41l-4.42 4.31v2.8Zm0 3.63 4.42-4.33v-2.78l-4.42 4.32v2.8ZM12.46 7.44l-.6-.56V0h-.66v6.22l-.58-.57V0h-.67v5l-.59-.58V0H8.7v6.56l4.44 4.33V0h-.67v7.44Zm1.26 14.35 4.42-4.33v-2.78L13.72 19v2.8Zm-5.03-.61 4.44 4.33v-2.96l-4.44-4.32v2.95Zm8.79-16.76-.59.58V0h-.66v5.66l-.6.56V0h-.66v6.87l-.58.57V0h-.67v10.9l4.42-4.34V0h-.66v4.42Zm-8.79 5.76 4.44 4.35v-2.8L8.69 7.4v2.77Zm0 3.65 4.44 4.33v-2.8l-4.44-4.3v2.77Zm0 3.63 4.44 4.33V19l-4.44-4.31v2.78Zm26.37 2.29H24.3a2.25 2.25 0 0 0 .36-1.22 2.32 2.32 0 0 0-2.33-2.31 2.32 2.32 0 0 0-2.31 2.31c0 .5.16.96.43 1.34a.74.74 0 0 0-.33.61c0 .26.14.49.33.62a2.32 2.32 0 0 0-.43 1.34 2.31 2.31 0 0 0 2.31 2.31 2.32 2.32 0 0 0 2.33-2.31c0-.45-.13-.87-.36-1.22h8.01v.49h-.8v.68h.8v.7h-.8v1.3h.8v-.58h1.17v.58h.79v-1.3h-.79v-.7h.79v-.68h-.79v-.5h1.58a.56.56 0 0 0 .56-.56v-.34a.57.57 0 0 0-.56-.56Zm-11.53 2.7a1.2 1.2 0 0 1-2.4 0c0-.24.08-.47.2-.66l.34-.56a.97.97 0 0 1-.34-.75c0-.3.13-.56.33-.74l-.32-.56a1.13 1.13 0 0 1-.2-.66 1.2 1.2 0 0 1 2.4 0c0 .49-.56 1.65-.56 1.65v.62c-.01.01.55 1.17.55 1.66ZM4.67 18.34v2.89c0 2.75 1.2 4.53 1.9 5.21l4.58 4.5c1.28 1.25 1.5 1.66 1.79 2.37v-3.2c0-2.84-1.44-3.94-2.19-4.67-1.73-1.68-2.89-2.8-3.82-3.73a8.98 8.98 0 0 1-2.26-3.37Zm6.08 14.24c-1.73-1.7-2.89-2.8-3.82-3.73a10 10 0 0 1-2.25-2.98v2.49a7.87 7.87 0 0 0 1.89 5.24l4.58 4.47c1.28 1.25 1.5 1.85 1.79 2.55v-3.37c0-2.85-1.45-3.95-2.19-4.67Z',
@@ -1203,7 +1380,7 @@
1203
1380
  });
1204
1381
 
1205
1382
  const MobileAppTile = JSX(({ className = '', context, title = 'Мобильное приложение', qr, buttons = [] }) => {
1206
- return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsx(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", children: jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] min-w-[90px] min-h-[90px] bg-secondary-light" }) })), jsx("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }) }));
1383
+ return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsx(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] min-w-[90px] min-h-[90px] bg-secondary-light" }) })), jsx("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }) }));
1207
1384
  });
1208
1385
 
1209
1386
  const NavigationItem = JSX(({ className, text, onClick, href, target, isActive }) => (jsx("a", { className: `bg-inherit no-underline px-4 py-2.5 cursor-pointer rounded text-sm border border-solid hover:text-primary-main ${className || ''} ${isActive ? 'border-primary-main text-primary-main' : 'border-white text-secondary-text'}`, onClick: onClick, href: href, target: target, children: text })));
@@ -1217,53 +1394,15 @@
1217
1394
  .map((button, i) => (jsx(NavigationItem, { className: "first:rounded-tl-md first:rounded-bl-md last:rounded-tr-md last:rounded-br-md", isActive: button === activeButton, ...useLink({ router, handlerDecorator }, button) }, String(i)))) })) : null] }));
1218
1395
  });
1219
1396
 
1220
- const Breadcrumb = JSX(({ text, href, target, onClick, className = '', children }) => {
1221
- if (href) {
1222
- return (jsx("a", { className: `no-underline ${className}`, href: href, target: target, onClick: onClick, children: jsx("span", { className: className, children: text || children }) }));
1223
- }
1224
- else {
1225
- return jsx("span", { className: className, children: text || children });
1226
- }
1227
- });
1228
-
1229
- function joinList(sep) {
1230
- return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
1231
- }
1232
-
1233
- const benefitIconBgStyleMap = {
1234
- primary: 'bg-main',
1235
- secondary: 'bg-white/30',
1236
- };
1237
- const benefitTitleStyleMap = {
1238
- primary: 'text-primary-text',
1239
- secondary: 'text-white',
1240
- };
1241
- const benefitDescStyleMap = {
1242
- primary: 'text-secondary-text',
1243
- secondary: 'text-white',
1244
- };
1245
- function renderBenefit(benefit, i, version) {
1246
- return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (jsx(Icon, { className: `w-[50px] h-[50px] min-w-[50px] min-h-[50px] rounded-full p-[10px] box-border ${benefitIconBgStyleMap[version]}`, name: benefit.icon, width: "24", height: "24", asSVG: true })), jsxs("div", { className: "flex gap-1 flex-col h-full max-w-[149px]", children: [jsx("div", { className: `font-medium text-xl m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-normal text-sm ${benefitDescStyleMap[version]}`, children: benefit.description }))] })] }, String(i)));
1247
- }
1248
-
1249
- const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, buttons, image, items, version = 'primary', }) => {
1250
- return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: 'flex flex-col', children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, title: title, className: `whitespace-pre-wrap mb-4 max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: [description && (jsx(Description, { className: "text-m-base max-w-[600px]", description: description })), benefits?.length ? (jsx("div", { className: "flex gap-6 mt-6 mb-3.5", children: benefits.map((_, i) => renderBenefit(_, i, version)) })) : null, items?.length ? (jsx(List, { className: "mt-5", items: items, itemClassName: "mb-[10px]", version: version })) : null] }) }), image?.src && jsx(Img, { className: "mt-auto", image: image })] }));
1251
- });
1252
-
1253
- const productBlockStyleMap = {
1254
- primary: 'bg-white text-primary-text',
1255
- secondary: 'bg-primary-main text-white',
1256
- };
1257
- const breadcrumbsStyleMap = {
1258
- primary: 'text-secondary-text',
1259
- secondary: 'text-white/80',
1260
- };
1261
- const ProductBlock = JSX((props) => {
1262
- const { context, className, breadcrumbs, version = 'primary' } = props;
1263
- const router = context.useRouter();
1264
- const { handlerDecorator } = context;
1265
- return (jsxs("section", { className: `font-sans pt-10 pl-[50px] pb-[50px] pr-[7.5rem] box-border min-h-[420px] ${className || ''} ${productBlockStyleMap[version]}`, children: [breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { ...props })] }));
1397
+ const GOLDEN_RATIO = 1.618;
1398
+ const Placeholder = JSX(({ className, context, title, description = 'Блок в разработке...' }) => {
1399
+ return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })) : null, children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, jsx("figure", { className: "m-0 min-w-[600px]", children: renderShimmer() })] }) }));
1266
1400
  });
1401
+ const renderShimmer = (size = 3) => goldenSequence(100, size)
1402
+ .map((_) => Math.floor(_))
1403
+ .map(renderShimmerItem);
1404
+ const renderShimmerItem = (width = 100, index) => (jsx("div", { style: { width: `${width}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
1405
+ const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
1267
1406
 
1268
1407
  const ProductGallery = JSX(({ className, context, duration = 0, slides = [] }) => {
1269
1408
  const galleryNav = slides.map((s) => s.nav);
@@ -1321,9 +1460,9 @@
1321
1460
 
1322
1461
  const TariffsTableCell = JSX(({ cell, isLastRow }) => {
1323
1462
  const cellWrapperClasses = `first:pl-0 pl-10 w-80 flex-grow flex flex-col border-solid border-main-divider border border-t-0 border-x-0 ${isLastRow ? 'border-t-0 rounded-b-md' : ''}`;
1324
- return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { children: cell.map((item, i) => renderCellInner(item, i)) }) }));
1463
+ return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { children: cell.map(renderCellInner) }) }));
1325
1464
  });
1326
- const renderCellInner = ({ label, description, list, image, buttons }, i) => (jsxs("div", { className: "first:pt-5 last:pb-5", children: [i > 0 && (jsx("div", { className: "border-main-divider border border-solid border-t-0 border-x-0 my-4" })), label && jsx("div", { className: "text-xl font-medium m-0", children: label }), description && jsx("div", { className: "text-sm text-secondary-text", children: description }), 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-sm", text: text, version: "gray", isDotted: list.isDotted ?? true }, String(idx)))) }) })) : null, image && jsx(Img, { image: image }), buttons?.length
1465
+ const renderCellInner = ({ label, description, list, image, buttons }, i) => (jsxs("div", { className: "first:pt-5 last:pb-5", children: [i > 0 && (jsx("div", { className: "border-main-divider border border-solid border-t-0 border-x-0 my-4" })), label ? jsx("div", { className: "text-xl font-medium m-0", children: label }) : null, description ? jsx("div", { className: "text-sm text-secondary-text", 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-sm", text: text, version: "gray", isDotted: list.isDotted ?? true }, String(idx)))) }) })) : null, image && jsx(Img, { image: image }), buttons?.length
1327
1466
  ? buttons.map(({ icon, ...buttonProps }, idx) => (jsx(Button, { className: `${idx > 0 ? 'ml-3' : ''} w-12 h-12`, appendLeft: icon && jsx(Icon, { name: icon, width: "24px", height: "24px", asSVG: true }), ...buttonProps }, String(idx))))
1328
1467
  : null] }, String(i)));
1329
1468
 
@@ -1331,21 +1470,24 @@
1331
1470
  return (jsxs(TableRowContainer, { children: [jsx("div", { className: `text-sm py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES} ${!isLastRow ? 'border-solid' : ''}`, children: jsxs("div", { className: "flex items-center text-primary-text", children: [header?.icon && (jsx(Icon, { className: "mr-[14px] max-w-6 max-h-6", name: header.icon, width: "24px", height: "24px", asSVG: true })), header?.title] }) }), data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH, version: "tariff", children: data.map((cell, i) => (jsx(TariffsTableCell, { cell: cell, isLastRow: isLastRow }, String(i)))) })) : null] }));
1332
1471
  });
1333
1472
 
1334
- const TariffsTable = JSX(({ className, context, title, rowHeaders, columns }) => {
1473
+ const TariffsTable = JSX(({ className, context, title, description, rowHeaders, columns }) => {
1335
1474
  const [activeCardIndex, setActiveCardIndex] = context.useState(0);
1336
- const colData = columns?.map(({ data }) => data) || [];
1337
- const rowData = rowHeaders?.map((header, i) => ({
1338
- header,
1339
- data: colData.map((col) => col?.[i] || [{}]),
1340
- }));
1341
- const { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton } = useComparisonTableScroll({
1342
- colData,
1475
+ const colData = getColData(columns);
1476
+ const rowData = getRowData(rowHeaders, colData);
1477
+ const tableArrowScrollControlProps = useTableArrowScrollControl({
1478
+ columnsLength: colData.length,
1343
1479
  colsLengthForScroll: COLS_LENGTH_FOR_SCROLL,
1344
1480
  activeCardIndex,
1345
1481
  setActiveCardIndex,
1346
1482
  });
1347
- return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsxs("div", { role: "table", children: [rowData?.length ? (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TariffsTableRow, { row: row, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex }, String(i)))), isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: nextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: prevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })] }) })) : null] })) : null, isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] })] }));
1483
+ const { isScrollAvailable } = tableArrowScrollControlProps;
1484
+ return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [title ? (jsx(Heading, { headingType: "h2", className: `text-center ${description ? 'mb-2.5' : 'mb-9'}`, title: title })) : null, description ? jsx("div", { className: "mb-9 text-center text-m-base", children: description }) : null, rowData?.length ? (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [rowData.map((row, i) => (jsx(TariffsTableRow, { row: row, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex }, String(i)))), jsx(TableArrowScrollControl, { ...tableArrowScrollControlProps })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] })) : null] }));
1348
1485
  });
1486
+ const getColData = (columns) => columns?.map(({ data }) => data) || [];
1487
+ const getRowData = (rowHeaders, colData) => rowHeaders?.map((header, i) => ({
1488
+ header,
1489
+ data: colData.map((col) => col?.[i] || [{}]),
1490
+ }));
1349
1491
 
1350
1492
  const Blocks = {
1351
1493
  Accordion,
@@ -1370,6 +1512,7 @@
1370
1512
  TextBlock,
1371
1513
  Tile,
1372
1514
  Navigation,
1515
+ Placeholder,
1373
1516
  };
1374
1517
 
1375
1518
  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() })));
@@ -1388,16 +1531,6 @@
1388
1531
  return (jsxs("div", { className: `border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${className || ''}`, children: [jsx(LikeButton, { onClick: likeService.like, ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u043B\u0430\u0439\u043A\u00BB" }), jsx(LikeButton, { onClick: likeService.dislike, className: "rotate-180", ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u0434\u0438\u0437\u043B\u0430\u0439\u043A\u00BB" }), jsx("span", { className: "select-none", children: likeService.likeCount })] }));
1389
1532
  });
1390
1533
 
1391
- const GOLDEN_RATIO = 1.618;
1392
- const Placeholder = JSX(({ className, context, title, description = 'Блок в разработке...' }) => {
1393
- return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })) : null, children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, jsx("figure", { className: "m-0 min-w-[600px]", children: renderShimmer() })] }) }));
1394
- });
1395
- const renderShimmer = (size = 3) => goldenSequence(100, size)
1396
- .map((_) => Math.floor(_))
1397
- .map(renderShimmerItem);
1398
- const renderShimmerItem = (width = 100, index) => (jsx("div", { style: { width: `${width}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
1399
- const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
1400
-
1401
1534
  const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
1402
1535
  const ContentPage = JSX(({ className, context, blocksRegistry, data: { style: pageStyle, blocks, slots = {}, likeControl, colorPalette = 'pc' }, blockDecorator = defaultBlockDecorator, }) => {
1403
1536
  const { header } = slots;