@redneckz/wildless-cms-uni-blocks 0.10.6 → 0.10.8

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 (650) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +255 -304
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Calculator/Rate.d.ts +1 -0
  5. package/bundle/components/Calculator/renderBinaryRadioButtonGroup.d.ts +11 -0
  6. package/bundle/components/Calculator/renderDaysInput.d.ts +2 -7
  7. package/bundle/components/Calculator/renderInterestPayment.d.ts +2 -9
  8. package/bundle/components/Calculator/renderMonthsInput.d.ts +3 -5
  9. package/bundle/components/Calculator/renderPaymentType.d.ts +2 -11
  10. package/bundle/components/Calculator/renderRegistrationType.d.ts +2 -9
  11. package/bundle/components/Calculator/renderWantedSumInput.d.ts +3 -7
  12. package/bundle/components/Carousel/itemsGap.d.ts +1 -0
  13. package/bundle/components/Carousel/itemsGap.mobile.d.ts +1 -0
  14. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +5 -0
  15. package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  16. package/bundle/components/CarouselTariffsCard/descriptionSize.d.ts +1 -0
  17. package/bundle/components/CarouselTariffsCard/descriptionSize.mobile.d.ts +1 -0
  18. package/bundle/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -0
  19. package/bundle/components/CarouselTariffsCard/getPaddingStyle.mobile.d.ts +1 -0
  20. package/bundle/components/CarouselTariffsCard/renderCardInfo.d.ts +3 -0
  21. package/bundle/components/Headline/headlineVersionStyles.d.ts +1 -1
  22. package/bundle/components/Tabs/CenteredTabs.d.ts +7 -0
  23. package/bundle/components/Tabs/LinkTab.d.ts +2 -2
  24. package/bundle/components/Tabs/TabsContent.d.ts +3 -2
  25. package/bundle/components/Tabs/renderGroupTab.d.ts +2 -2
  26. package/bundle/components/Tabs/renderTab.d.ts +3 -3
  27. package/bundle/components/Tabs/tabItemClasses.d.ts +3 -2
  28. package/bundle/ui-kit/InputRange/InputRangeProps.d.ts +1 -0
  29. package/bundle/ui-kit/InputRange/parseDecimal.d.ts +1 -0
  30. package/bundle/ui-kit/InputRange/renderRangeWithTicks.d.ts +12 -0
  31. package/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  32. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  33. package/dist/components/Blocks.mobile.js +6 -0
  34. package/dist/components/Blocks.mobile.js.map +1 -1
  35. package/dist/components/Calculator/BonusCalculatorForm.js +16 -18
  36. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  37. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +24 -30
  38. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  39. package/dist/components/Calculator/Calculator.js +4 -4
  40. package/dist/components/Calculator/Calculator.js.map +1 -1
  41. package/dist/components/Calculator/CreditCalculatorForm.js +27 -43
  42. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  43. package/dist/components/Calculator/DepositCalculatorForm.js +30 -33
  44. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  45. package/dist/components/Calculator/Rate.d.ts +1 -0
  46. package/dist/components/Calculator/Rate.js +1 -1
  47. package/dist/components/Calculator/Rate.js.map +1 -1
  48. package/dist/components/Calculator/renderBinaryRadioButtonGroup.d.ts +11 -0
  49. package/dist/components/Calculator/renderBinaryRadioButtonGroup.js +8 -0
  50. package/dist/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -0
  51. package/dist/components/Calculator/renderDaysInput.d.ts +2 -7
  52. package/dist/components/Calculator/renderDaysInput.js +2 -9
  53. package/dist/components/Calculator/renderDaysInput.js.map +1 -1
  54. package/dist/components/Calculator/renderInterestPayment.d.ts +2 -9
  55. package/dist/components/Calculator/renderInterestPayment.js +8 -18
  56. package/dist/components/Calculator/renderInterestPayment.js.map +1 -1
  57. package/dist/components/Calculator/renderMonthsInput.d.ts +3 -5
  58. package/dist/components/Calculator/renderMonthsInput.js +2 -10
  59. package/dist/components/Calculator/renderMonthsInput.js.map +1 -1
  60. package/dist/components/Calculator/renderPaymentType.d.ts +2 -11
  61. package/dist/components/Calculator/renderPaymentType.js +9 -19
  62. package/dist/components/Calculator/renderPaymentType.js.map +1 -1
  63. package/dist/components/Calculator/renderRegistrationType.d.ts +2 -9
  64. package/dist/components/Calculator/renderRegistrationType.js +8 -18
  65. package/dist/components/Calculator/renderRegistrationType.js.map +1 -1
  66. package/dist/components/Calculator/renderWantedSumInput.d.ts +3 -7
  67. package/dist/components/Calculator/renderWantedSumInput.js +4 -6
  68. package/dist/components/Calculator/renderWantedSumInput.js.map +1 -1
  69. package/dist/components/Calculator/useDepositCalculatorParams.js +1 -1
  70. package/dist/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  71. package/dist/components/Carousel/Carousel.js +3 -3
  72. package/dist/components/Carousel/Carousel.js.map +1 -1
  73. package/dist/components/Carousel/itemsGap.d.ts +1 -0
  74. package/dist/components/Carousel/itemsGap.js +4 -0
  75. package/dist/components/Carousel/itemsGap.js.map +1 -0
  76. package/dist/components/Carousel/itemsGap.mobile.d.ts +1 -0
  77. package/dist/components/Carousel/itemsGap.mobile.js +4 -0
  78. package/dist/components/Carousel/itemsGap.mobile.js.map +1 -0
  79. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  80. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  81. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +5 -0
  82. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +17 -0
  83. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -0
  84. package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  85. package/dist/components/CarouselRecommendationCard/cardStyle.js +4 -0
  86. package/dist/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  87. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +6 -10
  88. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  89. package/dist/components/CarouselTariffsCard/descriptionSize.d.ts +1 -0
  90. package/dist/components/CarouselTariffsCard/descriptionSize.js +4 -0
  91. package/dist/components/CarouselTariffsCard/descriptionSize.js.map +1 -0
  92. package/dist/components/CarouselTariffsCard/descriptionSize.mobile.d.ts +1 -0
  93. package/dist/components/CarouselTariffsCard/descriptionSize.mobile.js +4 -0
  94. package/dist/components/CarouselTariffsCard/descriptionSize.mobile.js.map +1 -0
  95. package/dist/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -0
  96. package/dist/components/CarouselTariffsCard/getPaddingStyle.js +5 -0
  97. package/dist/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -0
  98. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.d.ts +1 -0
  99. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js +5 -0
  100. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -0
  101. package/dist/components/CarouselTariffsCard/renderCardInfo.d.ts +3 -0
  102. package/dist/components/CarouselTariffsCard/renderCardInfo.js +12 -0
  103. package/dist/components/CarouselTariffsCard/renderCardInfo.js.map +1 -0
  104. package/dist/components/Footer/Footer.mobile.js +1 -1
  105. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  106. package/dist/components/Footer/SocialMedia.mobile.js +1 -1
  107. package/dist/components/Footer/SocialMedia.mobile.js.map +1 -1
  108. package/dist/components/Headline/Headline.js +2 -1
  109. package/dist/components/Headline/Headline.js.map +1 -1
  110. package/dist/components/Headline/headlineVersionStyles.d.ts +1 -1
  111. package/dist/components/Headline/headlineVersionStyles.js +6 -6
  112. package/dist/components/Headline/headlineVersionStyles.js.map +1 -1
  113. package/dist/components/Tabs/CenteredTabs.d.ts +7 -0
  114. package/dist/components/Tabs/CenteredTabs.js +7 -0
  115. package/dist/components/Tabs/CenteredTabs.js.map +1 -0
  116. package/dist/components/Tabs/LinkTab.d.ts +2 -2
  117. package/dist/components/Tabs/LinkTab.js +2 -2
  118. package/dist/components/Tabs/LinkTab.js.map +1 -1
  119. package/dist/components/Tabs/ScrollableTabs.js +3 -9
  120. package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  121. package/dist/components/Tabs/Tabs.js +14 -7
  122. package/dist/components/Tabs/Tabs.js.map +1 -1
  123. package/dist/components/Tabs/TabsContent.d.ts +3 -2
  124. package/dist/components/Tabs/renderGroupTab.d.ts +2 -2
  125. package/dist/components/Tabs/renderGroupTab.js +4 -4
  126. package/dist/components/Tabs/renderGroupTab.js.map +1 -1
  127. package/dist/components/Tabs/renderTab.d.ts +3 -3
  128. package/dist/components/Tabs/renderTab.js +3 -3
  129. package/dist/components/Tabs/renderTab.js.map +1 -1
  130. package/dist/components/Tabs/tabItemClasses.d.ts +3 -2
  131. package/dist/components/Tabs/tabItemClasses.js +26 -10
  132. package/dist/components/Tabs/tabItemClasses.js.map +1 -1
  133. package/dist/hooks/useForm.js +2 -2
  134. package/dist/hooks/useForm.js.map +1 -1
  135. package/dist/hooks/useLink.js +1 -1
  136. package/dist/hooks/useLink.js.map +1 -1
  137. package/dist/ui-kit/Checkbox/Checkbox.js +4 -1
  138. package/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
  139. package/dist/ui-kit/InputRange/InputRange.js +22 -16
  140. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  141. package/dist/ui-kit/InputRange/InputRangeProps.d.ts +1 -0
  142. package/dist/ui-kit/InputRange/parseDecimal.d.ts +1 -0
  143. package/dist/ui-kit/InputRange/parseDecimal.js +9 -0
  144. package/dist/ui-kit/InputRange/parseDecimal.js.map +1 -0
  145. package/dist/ui-kit/InputRange/renderRangeWithTicks.d.ts +12 -0
  146. package/dist/ui-kit/InputRange/renderRangeWithTicks.js +17 -0
  147. package/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -0
  148. package/dist/utils/getSanitizedValue.js +1 -1
  149. package/dist/utils/getSanitizedValue.js.map +1 -1
  150. package/dist/wlc.json +1 -2
  151. package/lib/common.css +1 -1
  152. package/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  153. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  154. package/lib/components/Blocks.mobile.js +6 -0
  155. package/lib/components/Blocks.mobile.js.map +1 -1
  156. package/lib/components/Calculator/BonusCalculatorForm.js +16 -18
  157. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  158. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +24 -30
  159. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  160. package/lib/components/Calculator/Calculator.js +4 -4
  161. package/lib/components/Calculator/Calculator.js.map +1 -1
  162. package/lib/components/Calculator/CreditCalculatorForm.js +27 -43
  163. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  164. package/lib/components/Calculator/DepositCalculatorForm.js +31 -34
  165. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  166. package/lib/components/Calculator/Rate.d.ts +1 -0
  167. package/lib/components/Calculator/Rate.js +1 -1
  168. package/lib/components/Calculator/Rate.js.map +1 -1
  169. package/lib/components/Calculator/renderBinaryRadioButtonGroup.d.ts +11 -0
  170. package/lib/components/Calculator/renderBinaryRadioButtonGroup.js +5 -0
  171. package/lib/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -0
  172. package/lib/components/Calculator/renderDaysInput.d.ts +2 -7
  173. package/lib/components/Calculator/renderDaysInput.js +2 -9
  174. package/lib/components/Calculator/renderDaysInput.js.map +1 -1
  175. package/lib/components/Calculator/renderInterestPayment.d.ts +2 -9
  176. package/lib/components/Calculator/renderInterestPayment.js +8 -18
  177. package/lib/components/Calculator/renderInterestPayment.js.map +1 -1
  178. package/lib/components/Calculator/renderMonthsInput.d.ts +3 -5
  179. package/lib/components/Calculator/renderMonthsInput.js +2 -10
  180. package/lib/components/Calculator/renderMonthsInput.js.map +1 -1
  181. package/lib/components/Calculator/renderPaymentType.d.ts +2 -11
  182. package/lib/components/Calculator/renderPaymentType.js +8 -18
  183. package/lib/components/Calculator/renderPaymentType.js.map +1 -1
  184. package/lib/components/Calculator/renderRegistrationType.d.ts +2 -9
  185. package/lib/components/Calculator/renderRegistrationType.js +8 -18
  186. package/lib/components/Calculator/renderRegistrationType.js.map +1 -1
  187. package/lib/components/Calculator/renderWantedSumInput.d.ts +3 -7
  188. package/lib/components/Calculator/renderWantedSumInput.js +4 -6
  189. package/lib/components/Calculator/renderWantedSumInput.js.map +1 -1
  190. package/lib/components/Calculator/useDepositCalculatorParams.js +1 -1
  191. package/lib/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  192. package/lib/components/Carousel/Carousel.fixture.mobile.d.ts +11 -0
  193. package/lib/components/Carousel/Carousel.js +2 -2
  194. package/lib/components/Carousel/Carousel.js.map +1 -1
  195. package/lib/components/Carousel/itemsGap.d.ts +1 -0
  196. package/lib/components/Carousel/itemsGap.js +2 -0
  197. package/lib/components/Carousel/itemsGap.js.map +1 -0
  198. package/lib/components/Carousel/itemsGap.mobile.d.ts +1 -0
  199. package/lib/components/Carousel/itemsGap.mobile.js +2 -0
  200. package/lib/components/Carousel/itemsGap.mobile.js.map +1 -0
  201. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.d.ts +16 -0
  202. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  203. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  204. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +5 -0
  205. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +15 -0
  206. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -0
  207. package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  208. package/lib/components/CarouselRecommendationCard/cardStyle.js +2 -0
  209. package/lib/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  210. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.fixture.mobile.d.ts +9 -0
  211. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +5 -9
  212. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  213. package/lib/components/CarouselTariffsCard/descriptionSize.d.ts +1 -0
  214. package/lib/components/CarouselTariffsCard/descriptionSize.js +2 -0
  215. package/lib/components/CarouselTariffsCard/descriptionSize.js.map +1 -0
  216. package/lib/components/CarouselTariffsCard/descriptionSize.mobile.d.ts +1 -0
  217. package/lib/components/CarouselTariffsCard/descriptionSize.mobile.js +2 -0
  218. package/lib/components/CarouselTariffsCard/descriptionSize.mobile.js.map +1 -0
  219. package/lib/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -0
  220. package/lib/components/CarouselTariffsCard/getPaddingStyle.js +2 -0
  221. package/lib/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -0
  222. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.d.ts +1 -0
  223. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js +2 -0
  224. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -0
  225. package/lib/components/CarouselTariffsCard/renderCardInfo.d.ts +3 -0
  226. package/lib/components/CarouselTariffsCard/renderCardInfo.js +9 -0
  227. package/lib/components/CarouselTariffsCard/renderCardInfo.js.map +1 -0
  228. package/lib/components/Footer/Footer.mobile.js +1 -1
  229. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  230. package/lib/components/Footer/SocialMedia.mobile.js +1 -1
  231. package/lib/components/Footer/SocialMedia.mobile.js.map +1 -1
  232. package/lib/components/Headline/Headline.fixture.mobile.d.ts +22 -0
  233. package/lib/components/Headline/Headline.js +2 -1
  234. package/lib/components/Headline/Headline.js.map +1 -1
  235. package/lib/components/Headline/headlineVersionStyles.d.ts +1 -1
  236. package/lib/components/Headline/headlineVersionStyles.js +6 -6
  237. package/lib/components/Headline/headlineVersionStyles.js.map +1 -1
  238. package/lib/components/Tabs/CenteredTabs.d.ts +7 -0
  239. package/lib/components/Tabs/CenteredTabs.js +5 -0
  240. package/lib/components/Tabs/CenteredTabs.js.map +1 -0
  241. package/lib/components/Tabs/LinkTab.d.ts +2 -2
  242. package/lib/components/Tabs/LinkTab.js +2 -2
  243. package/lib/components/Tabs/LinkTab.js.map +1 -1
  244. package/lib/components/Tabs/ScrollableTabs.js +3 -9
  245. package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  246. package/lib/components/Tabs/Tabs.fixture.d.ts +1 -0
  247. package/lib/components/Tabs/Tabs.js +14 -7
  248. package/lib/components/Tabs/Tabs.js.map +1 -1
  249. package/lib/components/Tabs/TabsContent.d.ts +3 -2
  250. package/lib/components/Tabs/renderGroupTab.d.ts +2 -2
  251. package/lib/components/Tabs/renderGroupTab.js +5 -5
  252. package/lib/components/Tabs/renderGroupTab.js.map +1 -1
  253. package/lib/components/Tabs/renderTab.d.ts +3 -3
  254. package/lib/components/Tabs/renderTab.js +3 -3
  255. package/lib/components/Tabs/renderTab.js.map +1 -1
  256. package/lib/components/Tabs/tabItemClasses.d.ts +3 -2
  257. package/lib/components/Tabs/tabItemClasses.js +26 -10
  258. package/lib/components/Tabs/tabItemClasses.js.map +1 -1
  259. package/lib/hooks/useForm.js +2 -2
  260. package/lib/hooks/useForm.js.map +1 -1
  261. package/lib/hooks/useLink.js +1 -1
  262. package/lib/hooks/useLink.js.map +1 -1
  263. package/lib/ui-kit/Checkbox/Checkbox.js +4 -1
  264. package/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
  265. package/lib/ui-kit/InputRange/InputRange.js +22 -16
  266. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  267. package/lib/ui-kit/InputRange/InputRangeProps.d.ts +1 -0
  268. package/lib/ui-kit/InputRange/parseDecimal.d.ts +1 -0
  269. package/lib/ui-kit/InputRange/parseDecimal.js +6 -0
  270. package/lib/ui-kit/InputRange/parseDecimal.js.map +1 -0
  271. package/lib/ui-kit/InputRange/renderRangeWithTicks.d.ts +12 -0
  272. package/lib/ui-kit/InputRange/renderRangeWithTicks.js +14 -0
  273. package/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -0
  274. package/lib/utils/getSanitizedValue.js +1 -1
  275. package/lib/utils/getSanitizedValue.js.map +1 -1
  276. package/lib/wlc.json +1 -2
  277. package/mobile/bundle/bundle.umd.js +476 -370
  278. package/mobile/bundle/bundle.umd.min.js +1 -1
  279. package/mobile/bundle/components/Calculator/Rate.d.ts +1 -0
  280. package/mobile/bundle/components/Calculator/renderBinaryRadioButtonGroup.d.ts +11 -0
  281. package/mobile/bundle/components/Calculator/renderDaysInput.d.ts +2 -7
  282. package/mobile/bundle/components/Calculator/renderInterestPayment.d.ts +2 -9
  283. package/mobile/bundle/components/Calculator/renderMonthsInput.d.ts +3 -5
  284. package/mobile/bundle/components/Calculator/renderPaymentType.d.ts +2 -11
  285. package/mobile/bundle/components/Calculator/renderRegistrationType.d.ts +2 -9
  286. package/mobile/bundle/components/Calculator/renderWantedSumInput.d.ts +3 -7
  287. package/mobile/bundle/components/Carousel/itemsGap.d.ts +1 -0
  288. package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  289. package/mobile/bundle/components/CarouselTariffsCard/descriptionSize.d.ts +1 -0
  290. package/mobile/bundle/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -0
  291. package/mobile/bundle/components/CarouselTariffsCard/renderCardInfo.d.ts +3 -0
  292. package/mobile/bundle/components/Headline/headlineVersionStyles.d.ts +1 -1
  293. package/mobile/bundle/components/Tabs/CenteredTabs.d.ts +7 -0
  294. package/mobile/bundle/components/Tabs/LinkTab.d.ts +2 -2
  295. package/mobile/bundle/components/Tabs/TabsContent.d.ts +3 -2
  296. package/mobile/bundle/components/Tabs/renderGroupTab.d.ts +2 -2
  297. package/mobile/bundle/components/Tabs/renderTab.d.ts +3 -3
  298. package/mobile/bundle/components/Tabs/tabItemClasses.d.ts +3 -2
  299. package/mobile/bundle/ui-kit/InputRange/InputRangeProps.d.ts +1 -0
  300. package/mobile/bundle/ui-kit/InputRange/parseDecimal.d.ts +1 -0
  301. package/mobile/bundle/ui-kit/InputRange/renderRangeWithTicks.d.ts +12 -0
  302. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  303. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  304. package/mobile/dist/components/Blocks.js +6 -0
  305. package/mobile/dist/components/Blocks.js.map +1 -1
  306. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +16 -18
  307. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  308. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +24 -30
  309. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  310. package/mobile/dist/components/Calculator/Calculator.js +4 -4
  311. package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
  312. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +27 -43
  313. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  314. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +30 -33
  315. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  316. package/mobile/dist/components/Calculator/Rate.d.ts +1 -0
  317. package/mobile/dist/components/Calculator/Rate.js +1 -1
  318. package/mobile/dist/components/Calculator/Rate.js.map +1 -1
  319. package/mobile/dist/components/Calculator/renderBinaryRadioButtonGroup.d.ts +11 -0
  320. package/mobile/dist/components/Calculator/renderBinaryRadioButtonGroup.js +8 -0
  321. package/mobile/dist/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -0
  322. package/mobile/dist/components/Calculator/renderDaysInput.d.ts +2 -7
  323. package/mobile/dist/components/Calculator/renderDaysInput.js +2 -9
  324. package/mobile/dist/components/Calculator/renderDaysInput.js.map +1 -1
  325. package/mobile/dist/components/Calculator/renderInterestPayment.d.ts +2 -9
  326. package/mobile/dist/components/Calculator/renderInterestPayment.js +8 -18
  327. package/mobile/dist/components/Calculator/renderInterestPayment.js.map +1 -1
  328. package/mobile/dist/components/Calculator/renderMonthsInput.d.ts +3 -5
  329. package/mobile/dist/components/Calculator/renderMonthsInput.js +2 -10
  330. package/mobile/dist/components/Calculator/renderMonthsInput.js.map +1 -1
  331. package/mobile/dist/components/Calculator/renderPaymentType.d.ts +2 -11
  332. package/mobile/dist/components/Calculator/renderPaymentType.js +9 -19
  333. package/mobile/dist/components/Calculator/renderPaymentType.js.map +1 -1
  334. package/mobile/dist/components/Calculator/renderRegistrationType.d.ts +2 -9
  335. package/mobile/dist/components/Calculator/renderRegistrationType.js +8 -18
  336. package/mobile/dist/components/Calculator/renderRegistrationType.js.map +1 -1
  337. package/mobile/dist/components/Calculator/renderWantedSumInput.d.ts +3 -7
  338. package/mobile/dist/components/Calculator/renderWantedSumInput.js +4 -6
  339. package/mobile/dist/components/Calculator/renderWantedSumInput.js.map +1 -1
  340. package/mobile/dist/components/Calculator/useDepositCalculatorParams.js +1 -1
  341. package/mobile/dist/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  342. package/mobile/dist/components/Carousel/Carousel.js +3 -3
  343. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  344. package/mobile/dist/components/Carousel/itemsGap.d.ts +1 -0
  345. package/mobile/dist/components/Carousel/itemsGap.js +4 -0
  346. package/mobile/dist/components/Carousel/itemsGap.js.map +1 -0
  347. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -4
  348. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  349. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  350. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +4 -0
  351. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  352. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +6 -10
  353. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  354. package/mobile/dist/components/CarouselTariffsCard/descriptionSize.d.ts +1 -0
  355. package/mobile/dist/components/CarouselTariffsCard/descriptionSize.js +4 -0
  356. package/mobile/dist/components/CarouselTariffsCard/descriptionSize.js.map +1 -0
  357. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -0
  358. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js +5 -0
  359. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -0
  360. package/mobile/dist/components/CarouselTariffsCard/renderCardInfo.d.ts +3 -0
  361. package/mobile/dist/components/CarouselTariffsCard/renderCardInfo.js +12 -0
  362. package/mobile/dist/components/CarouselTariffsCard/renderCardInfo.js.map +1 -0
  363. package/mobile/dist/components/Footer/Footer.js +1 -1
  364. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  365. package/mobile/dist/components/Footer/SocialMedia.js +1 -1
  366. package/mobile/dist/components/Footer/SocialMedia.js.map +1 -1
  367. package/mobile/dist/components/Headline/Headline.js +2 -1
  368. package/mobile/dist/components/Headline/Headline.js.map +1 -1
  369. package/mobile/dist/components/Headline/headlineVersionStyles.d.ts +1 -1
  370. package/mobile/dist/components/Headline/headlineVersionStyles.js +6 -6
  371. package/mobile/dist/components/Headline/headlineVersionStyles.js.map +1 -1
  372. package/mobile/dist/components/Tabs/CenteredTabs.d.ts +7 -0
  373. package/mobile/dist/components/Tabs/CenteredTabs.js +7 -0
  374. package/mobile/dist/components/Tabs/CenteredTabs.js.map +1 -0
  375. package/mobile/dist/components/Tabs/LinkTab.d.ts +2 -2
  376. package/mobile/dist/components/Tabs/LinkTab.js +2 -2
  377. package/mobile/dist/components/Tabs/LinkTab.js.map +1 -1
  378. package/mobile/dist/components/Tabs/ScrollableTabs.js +3 -9
  379. package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  380. package/mobile/dist/components/Tabs/Tabs.js +14 -7
  381. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  382. package/mobile/dist/components/Tabs/TabsContent.d.ts +3 -2
  383. package/mobile/dist/components/Tabs/renderGroupTab.d.ts +2 -2
  384. package/mobile/dist/components/Tabs/renderGroupTab.js +4 -4
  385. package/mobile/dist/components/Tabs/renderGroupTab.js.map +1 -1
  386. package/mobile/dist/components/Tabs/renderTab.d.ts +3 -3
  387. package/mobile/dist/components/Tabs/renderTab.js +3 -3
  388. package/mobile/dist/components/Tabs/renderTab.js.map +1 -1
  389. package/mobile/dist/components/Tabs/tabItemClasses.d.ts +3 -2
  390. package/mobile/dist/components/Tabs/tabItemClasses.js +26 -10
  391. package/mobile/dist/components/Tabs/tabItemClasses.js.map +1 -1
  392. package/mobile/dist/hooks/useForm.js +2 -2
  393. package/mobile/dist/hooks/useForm.js.map +1 -1
  394. package/mobile/dist/hooks/useLink.js +1 -1
  395. package/mobile/dist/hooks/useLink.js.map +1 -1
  396. package/mobile/dist/ui-kit/Checkbox/Checkbox.js +4 -1
  397. package/mobile/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
  398. package/mobile/dist/ui-kit/InputRange/InputRange.js +22 -16
  399. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  400. package/mobile/dist/ui-kit/InputRange/InputRangeProps.d.ts +1 -0
  401. package/mobile/dist/ui-kit/InputRange/parseDecimal.d.ts +1 -0
  402. package/mobile/dist/ui-kit/InputRange/parseDecimal.js +9 -0
  403. package/mobile/dist/ui-kit/InputRange/parseDecimal.js.map +1 -0
  404. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.d.ts +12 -0
  405. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js +17 -0
  406. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -0
  407. package/mobile/dist/utils/getSanitizedValue.js +1 -1
  408. package/mobile/dist/utils/getSanitizedValue.js.map +1 -1
  409. package/mobile/dist/wlc.json +1 -2
  410. package/mobile/lib/common.css +1 -1
  411. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  412. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  413. package/mobile/lib/components/Blocks.js +6 -0
  414. package/mobile/lib/components/Blocks.js.map +1 -1
  415. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +16 -18
  416. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  417. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +24 -30
  418. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  419. package/mobile/lib/components/Calculator/Calculator.js +4 -4
  420. package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
  421. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +27 -43
  422. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  423. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +31 -34
  424. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  425. package/mobile/lib/components/Calculator/Rate.d.ts +1 -0
  426. package/mobile/lib/components/Calculator/Rate.js +1 -1
  427. package/mobile/lib/components/Calculator/Rate.js.map +1 -1
  428. package/mobile/lib/components/Calculator/renderBinaryRadioButtonGroup.d.ts +11 -0
  429. package/mobile/lib/components/Calculator/renderBinaryRadioButtonGroup.js +5 -0
  430. package/mobile/lib/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -0
  431. package/mobile/lib/components/Calculator/renderDaysInput.d.ts +2 -7
  432. package/mobile/lib/components/Calculator/renderDaysInput.js +2 -9
  433. package/mobile/lib/components/Calculator/renderDaysInput.js.map +1 -1
  434. package/mobile/lib/components/Calculator/renderInterestPayment.d.ts +2 -9
  435. package/mobile/lib/components/Calculator/renderInterestPayment.js +8 -18
  436. package/mobile/lib/components/Calculator/renderInterestPayment.js.map +1 -1
  437. package/mobile/lib/components/Calculator/renderMonthsInput.d.ts +3 -5
  438. package/mobile/lib/components/Calculator/renderMonthsInput.js +2 -10
  439. package/mobile/lib/components/Calculator/renderMonthsInput.js.map +1 -1
  440. package/mobile/lib/components/Calculator/renderPaymentType.d.ts +2 -11
  441. package/mobile/lib/components/Calculator/renderPaymentType.js +8 -18
  442. package/mobile/lib/components/Calculator/renderPaymentType.js.map +1 -1
  443. package/mobile/lib/components/Calculator/renderRegistrationType.d.ts +2 -9
  444. package/mobile/lib/components/Calculator/renderRegistrationType.js +8 -18
  445. package/mobile/lib/components/Calculator/renderRegistrationType.js.map +1 -1
  446. package/mobile/lib/components/Calculator/renderWantedSumInput.d.ts +3 -7
  447. package/mobile/lib/components/Calculator/renderWantedSumInput.js +4 -6
  448. package/mobile/lib/components/Calculator/renderWantedSumInput.js.map +1 -1
  449. package/mobile/lib/components/Calculator/useDepositCalculatorParams.js +1 -1
  450. package/mobile/lib/components/Calculator/useDepositCalculatorParams.js.map +1 -1
  451. package/mobile/lib/components/Carousel/Carousel.js +2 -2
  452. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  453. package/mobile/lib/components/Carousel/itemsGap.d.ts +1 -0
  454. package/mobile/lib/components/Carousel/itemsGap.js +2 -0
  455. package/mobile/lib/components/Carousel/itemsGap.js.map +1 -0
  456. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -4
  457. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  458. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  459. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +2 -0
  460. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  461. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +5 -9
  462. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  463. package/mobile/lib/components/CarouselTariffsCard/descriptionSize.d.ts +1 -0
  464. package/mobile/lib/components/CarouselTariffsCard/descriptionSize.js +2 -0
  465. package/mobile/lib/components/CarouselTariffsCard/descriptionSize.js.map +1 -0
  466. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -0
  467. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js +2 -0
  468. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -0
  469. package/mobile/lib/components/CarouselTariffsCard/renderCardInfo.d.ts +3 -0
  470. package/mobile/lib/components/CarouselTariffsCard/renderCardInfo.js +9 -0
  471. package/mobile/lib/components/CarouselTariffsCard/renderCardInfo.js.map +1 -0
  472. package/mobile/lib/components/Footer/Footer.js +1 -1
  473. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  474. package/mobile/lib/components/Footer/SocialMedia.js +1 -1
  475. package/mobile/lib/components/Footer/SocialMedia.js.map +1 -1
  476. package/mobile/lib/components/Headline/Headline.js +2 -1
  477. package/mobile/lib/components/Headline/Headline.js.map +1 -1
  478. package/mobile/lib/components/Headline/headlineVersionStyles.d.ts +1 -1
  479. package/mobile/lib/components/Headline/headlineVersionStyles.js +6 -6
  480. package/mobile/lib/components/Headline/headlineVersionStyles.js.map +1 -1
  481. package/mobile/lib/components/Tabs/CenteredTabs.d.ts +7 -0
  482. package/mobile/lib/components/Tabs/CenteredTabs.js +5 -0
  483. package/mobile/lib/components/Tabs/CenteredTabs.js.map +1 -0
  484. package/mobile/lib/components/Tabs/LinkTab.d.ts +2 -2
  485. package/mobile/lib/components/Tabs/LinkTab.js +2 -2
  486. package/mobile/lib/components/Tabs/LinkTab.js.map +1 -1
  487. package/mobile/lib/components/Tabs/ScrollableTabs.js +3 -9
  488. package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  489. package/mobile/lib/components/Tabs/Tabs.js +14 -7
  490. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  491. package/mobile/lib/components/Tabs/TabsContent.d.ts +3 -2
  492. package/mobile/lib/components/Tabs/renderGroupTab.d.ts +2 -2
  493. package/mobile/lib/components/Tabs/renderGroupTab.js +5 -5
  494. package/mobile/lib/components/Tabs/renderGroupTab.js.map +1 -1
  495. package/mobile/lib/components/Tabs/renderTab.d.ts +3 -3
  496. package/mobile/lib/components/Tabs/renderTab.js +3 -3
  497. package/mobile/lib/components/Tabs/renderTab.js.map +1 -1
  498. package/mobile/lib/components/Tabs/tabItemClasses.d.ts +3 -2
  499. package/mobile/lib/components/Tabs/tabItemClasses.js +26 -10
  500. package/mobile/lib/components/Tabs/tabItemClasses.js.map +1 -1
  501. package/mobile/lib/hooks/useForm.js +2 -2
  502. package/mobile/lib/hooks/useForm.js.map +1 -1
  503. package/mobile/lib/hooks/useLink.js +1 -1
  504. package/mobile/lib/hooks/useLink.js.map +1 -1
  505. package/mobile/lib/ui-kit/Checkbox/Checkbox.js +4 -1
  506. package/mobile/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
  507. package/mobile/lib/ui-kit/InputRange/InputRange.js +22 -16
  508. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  509. package/mobile/lib/ui-kit/InputRange/InputRangeProps.d.ts +1 -0
  510. package/mobile/lib/ui-kit/InputRange/parseDecimal.d.ts +1 -0
  511. package/mobile/lib/ui-kit/InputRange/parseDecimal.js +6 -0
  512. package/mobile/lib/ui-kit/InputRange/parseDecimal.js.map +1 -0
  513. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.d.ts +12 -0
  514. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js +14 -0
  515. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -0
  516. package/mobile/lib/utils/getSanitizedValue.js +1 -1
  517. package/mobile/lib/utils/getSanitizedValue.js.map +1 -1
  518. package/mobile/lib/wlc.json +1 -2
  519. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
  520. package/mobile/src/components/Blocks.ts +6 -0
  521. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +29 -33
  522. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +37 -57
  523. package/mobile/src/components/Calculator/Calculator.tsx +11 -5
  524. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +52 -87
  525. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +38 -66
  526. package/mobile/src/components/Calculator/Rate.tsx +14 -14
  527. package/mobile/src/components/Calculator/renderBinaryRadioButtonGroup.tsx +35 -0
  528. package/mobile/src/components/Calculator/renderDaysInput.tsx +10 -31
  529. package/mobile/src/components/Calculator/renderInterestPayment.tsx +13 -52
  530. package/mobile/src/components/Calculator/renderMonthsInput.tsx +17 -39
  531. package/mobile/src/components/Calculator/renderPaymentType.tsx +13 -49
  532. package/mobile/src/components/Calculator/renderRegistrationType.tsx +13 -51
  533. package/mobile/src/components/Calculator/renderWantedSumInput.tsx +10 -27
  534. package/mobile/src/components/Calculator/useDepositCalculatorParams.ts +1 -1
  535. package/mobile/src/components/Carousel/Carousel.tsx +2 -3
  536. package/mobile/src/components/Carousel/itemsGap.ts +1 -0
  537. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +14 -20
  538. package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +2 -0
  539. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +7 -31
  540. package/mobile/src/components/CarouselTariffsCard/descriptionSize.tsx +1 -0
  541. package/mobile/src/components/CarouselTariffsCard/getPaddingStyle.tsx +2 -0
  542. package/mobile/src/components/CarouselTariffsCard/renderCardInfo.tsx +31 -0
  543. package/mobile/src/components/Footer/Footer.tsx +1 -1
  544. package/mobile/src/components/Footer/SocialMedia.tsx +1 -1
  545. package/mobile/src/components/Headline/Headline.tsx +10 -5
  546. package/mobile/src/components/Headline/headlineVersionStyles.ts +7 -7
  547. package/mobile/src/components/Tabs/CenteredTabs.tsx +12 -0
  548. package/mobile/src/components/Tabs/LinkTab.tsx +5 -5
  549. package/mobile/src/components/Tabs/ScrollableTabs.tsx +5 -13
  550. package/mobile/src/components/Tabs/Tabs.tsx +21 -19
  551. package/mobile/src/components/Tabs/TabsContent.ts +3 -2
  552. package/mobile/src/components/Tabs/renderGroupTab.tsx +11 -10
  553. package/mobile/src/components/Tabs/renderTab.tsx +5 -13
  554. package/mobile/src/components/Tabs/tabItemClasses.ts +28 -10
  555. package/mobile/src/hooks/useForm.ts +17 -14
  556. package/mobile/src/hooks/useLink.ts +1 -1
  557. package/mobile/src/ui-kit/Checkbox/Checkbox.tsx +5 -1
  558. package/mobile/src/ui-kit/InputRange/InputRange.tsx +56 -43
  559. package/mobile/src/ui-kit/InputRange/InputRangeProps.ts +1 -0
  560. package/mobile/src/ui-kit/InputRange/parseDecimal.ts +6 -0
  561. package/mobile/src/ui-kit/InputRange/renderRangeWithTicks.tsx +62 -0
  562. package/mobile/src/utils/getSanitizedValue.ts +1 -1
  563. package/mobile/src/wlc.json +1 -2
  564. package/package.json +1 -1
  565. package/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
  566. package/src/components/Blocks.mobile.ts +6 -0
  567. package/src/components/Calculator/BonusCalculatorForm.tsx +29 -33
  568. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +37 -57
  569. package/src/components/Calculator/Calculator.tsx +11 -5
  570. package/src/components/Calculator/CreditCalculatorForm.tsx +52 -87
  571. package/src/components/Calculator/DepositCalculatorForm.tsx +38 -66
  572. package/src/components/Calculator/Rate.tsx +14 -14
  573. package/src/components/Calculator/renderBinaryRadioButtonGroup.tsx +35 -0
  574. package/src/components/Calculator/renderDaysInput.tsx +10 -31
  575. package/src/components/Calculator/renderInterestPayment.tsx +13 -52
  576. package/src/components/Calculator/renderMonthsInput.tsx +17 -39
  577. package/src/components/Calculator/renderPaymentType.tsx +13 -49
  578. package/src/components/Calculator/renderRegistrationType.tsx +13 -51
  579. package/src/components/Calculator/renderWantedSumInput.tsx +10 -27
  580. package/src/components/Calculator/useDepositCalculatorParams.ts +1 -1
  581. package/src/components/Carousel/Carousel.fixture.mobile.tsx +93 -0
  582. package/src/components/Carousel/Carousel.tsx +2 -3
  583. package/src/components/Carousel/itemsGap.mobile.ts +1 -0
  584. package/src/components/Carousel/itemsGap.ts +1 -0
  585. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +148 -0
  586. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +63 -0
  587. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -3
  588. package/src/components/CarouselRecommendationCard/cardStyle.ts +2 -0
  589. package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.mobile.tsx +74 -0
  590. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +7 -31
  591. package/src/components/CarouselTariffsCard/descriptionSize.mobile.tsx +1 -0
  592. package/src/components/CarouselTariffsCard/descriptionSize.tsx +1 -0
  593. package/src/components/CarouselTariffsCard/getPaddingStyle.mobile.tsx +2 -0
  594. package/src/components/CarouselTariffsCard/getPaddingStyle.tsx +2 -0
  595. package/src/components/CarouselTariffsCard/renderCardInfo.tsx +31 -0
  596. package/src/components/Footer/Footer.mobile.tsx +1 -1
  597. package/src/components/Footer/SocialMedia.mobile.tsx +1 -1
  598. package/src/components/Headline/Headline.fixture.mobile.tsx +95 -0
  599. package/src/components/Headline/Headline.tsx +10 -5
  600. package/src/components/Headline/headlineVersionStyles.ts +7 -7
  601. package/src/components/Tabs/CenteredTabs.tsx +12 -0
  602. package/src/components/Tabs/LinkTab.tsx +5 -5
  603. package/src/components/Tabs/ScrollableTabs.tsx +5 -13
  604. package/src/components/Tabs/Tabs.fixture.tsx +27 -0
  605. package/src/components/Tabs/Tabs.tsx +21 -19
  606. package/src/components/Tabs/TabsContent.ts +3 -2
  607. package/src/components/Tabs/renderGroupTab.tsx +11 -10
  608. package/src/components/Tabs/renderTab.tsx +5 -13
  609. package/src/components/Tabs/tabItemClasses.ts +28 -10
  610. package/src/hooks/useForm.ts +17 -14
  611. package/src/hooks/useLink.ts +1 -1
  612. package/src/ui-kit/Checkbox/Checkbox.tsx +5 -1
  613. package/src/ui-kit/InputRange/InputRange.tsx +56 -43
  614. package/src/ui-kit/InputRange/InputRangeProps.ts +1 -0
  615. package/src/ui-kit/InputRange/parseDecimal.ts +6 -0
  616. package/src/ui-kit/InputRange/renderRangeWithTicks.tsx +62 -0
  617. package/src/utils/getSanitizedValue.ts +1 -1
  618. package/src/wlc.json +1 -2
  619. package/bundle/ui-kit/InputListRange/InputListRange.d.ts +0 -2
  620. package/bundle/ui-kit/InputListRange/InputListRangeProps.d.ts +0 -10
  621. package/dist/ui-kit/InputListRange/InputListRange.d.ts +0 -2
  622. package/dist/ui-kit/InputListRange/InputListRange.js +0 -41
  623. package/dist/ui-kit/InputListRange/InputListRange.js.map +0 -1
  624. package/dist/ui-kit/InputListRange/InputListRangeProps.d.ts +0 -10
  625. package/dist/ui-kit/InputListRange/InputListRangeProps.js +0 -2
  626. package/dist/ui-kit/InputListRange/InputListRangeProps.js.map +0 -1
  627. package/lib/ui-kit/InputListRange/InputListRange.d.ts +0 -2
  628. package/lib/ui-kit/InputListRange/InputListRange.js +0 -39
  629. package/lib/ui-kit/InputListRange/InputListRange.js.map +0 -1
  630. package/lib/ui-kit/InputListRange/InputListRangeProps.d.ts +0 -10
  631. package/lib/ui-kit/InputListRange/InputListRangeProps.js +0 -2
  632. package/lib/ui-kit/InputListRange/InputListRangeProps.js.map +0 -1
  633. package/mobile/bundle/ui-kit/InputListRange/InputListRange.d.ts +0 -2
  634. package/mobile/bundle/ui-kit/InputListRange/InputListRangeProps.d.ts +0 -10
  635. package/mobile/dist/ui-kit/InputListRange/InputListRange.d.ts +0 -2
  636. package/mobile/dist/ui-kit/InputListRange/InputListRange.js +0 -41
  637. package/mobile/dist/ui-kit/InputListRange/InputListRange.js.map +0 -1
  638. package/mobile/dist/ui-kit/InputListRange/InputListRangeProps.d.ts +0 -10
  639. package/mobile/dist/ui-kit/InputListRange/InputListRangeProps.js +0 -2
  640. package/mobile/dist/ui-kit/InputListRange/InputListRangeProps.js.map +0 -1
  641. package/mobile/lib/ui-kit/InputListRange/InputListRange.d.ts +0 -2
  642. package/mobile/lib/ui-kit/InputListRange/InputListRange.js +0 -39
  643. package/mobile/lib/ui-kit/InputListRange/InputListRange.js.map +0 -1
  644. package/mobile/lib/ui-kit/InputListRange/InputListRangeProps.d.ts +0 -10
  645. package/mobile/lib/ui-kit/InputListRange/InputListRangeProps.js +0 -2
  646. package/mobile/lib/ui-kit/InputListRange/InputListRangeProps.js.map +0 -1
  647. package/mobile/src/ui-kit/InputListRange/InputListRange.tsx +0 -99
  648. package/mobile/src/ui-kit/InputListRange/InputListRangeProps.ts +0 -11
  649. package/src/ui-kit/InputListRange/InputListRange.tsx +0 -99
  650. package/src/ui-kit/InputListRange/InputListRangeProps.ts +0 -11
@@ -236,41 +236,84 @@
236
236
  return JSXTmpl;
237
237
  };
238
238
 
239
- const HeadingClass = {
240
- h0: 'text-m-title',
241
- h1: 'text-m-title',
242
- h2: 'text-m-title',
243
- h3: 'text-h6',
244
- h4: 'text-m-title-xs',
245
- h5: 'text-m-title-xs',
246
- h6: 'text-m-title-xs',
247
- };
248
- const Heading = JSX((props) => {
249
- const { className, headingType = 'h3', title, as: Tag = 'h3' } = props;
250
- return (jsx(Tag, { className: `font-sans font-medium m-0 ${HeadingClass[headingType]} ${className || ''}`, children: title }));
251
- });
252
-
253
239
  const style = (...atoms) => atoms
254
240
  .flatMap((_) => _)
255
241
  .filter(Boolean)
256
242
  .join(' ');
257
243
 
258
- const mapChildren = (mapper) => (children) => {
259
- if (children === null || children === undefined) {
244
+ const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
245
+
246
+ const DEFAULT_ANCESTORS = [];
247
+ const defaultStyle = 'col-span-12';
248
+ function renderBlock(block, options, { className, ...extraProps } = {}) {
249
+ const { key, blockDecorator = defaultBlockDecorator, blocksRegistry = {}, ancestors = DEFAULT_ANCESTORS, } = options;
250
+ const { type } = block;
251
+ if (!(type && type in blocksRegistry)) {
252
+ console.warn(`No block with "${type}" is registered`);
253
+ }
254
+ const BlockComponent = type && blocksRegistry[type];
255
+ return blockDecorator({
256
+ blockClassName: style('scroll-mt-12', // TODO scroll-mt-12 ? here?
257
+ className, block.style || defaultStyle),
258
+ block,
259
+ ancestors,
260
+ // Adjusted by decorator block and blockClassName
261
+ render: ({ block: adjustedBlock, blockClassName: adjustedBlockClassName }) => {
262
+ const { content } = adjustedBlock;
263
+ return BlockComponent ? (jsx(BlockComponent, { className: adjustedBlockClassName, block: block, options: options, ...content, ...extraProps }, key)) : null;
264
+ },
265
+ }, key);
266
+ }
267
+
268
+ const DEFAULT_SLOT_NAME = null;
269
+
270
+ const EMPTY_ANCESTORS = [];
271
+ const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, renderProps = renderBlock, ...options }) => (blocks || []).map((_, j) => renderProps(_, {
272
+ ...options,
273
+ key: `${key ? key : _.type}-${j}`,
274
+ ancestors: options.parent
275
+ ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
276
+ : ancestors,
277
+ }));
278
+
279
+ function renderChildren({ children, block, options, renderProps, }) {
280
+ if (children) {
260
281
  return children;
261
282
  }
262
- return Array.isArray(children) ? children.map(mapper) : mapper(children, 0);
263
- };
283
+ return block && options
284
+ ? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
285
+ : null;
286
+ }
264
287
 
265
- const HEADER_HEIGHT = 170;
266
- const FOOTER_HEIGHT = 48;
267
- const BLOCKS_GAP = 4;
268
- const PAGE_PADDINGS_X = 20;
269
- const DEFAULT_HEIGHT = 866;
270
- const getContainerHeight = (minHeight) => ({
271
- height: `calc(100vh - ${HEADER_HEIGHT + FOOTER_HEIGHT + BLOCKS_GAP + PAGE_PADDINGS_X}px)`,
272
- minHeight: `${minHeight || DEFAULT_HEIGHT}px`,
273
- });
288
+ class EventBus {
289
+ subscribers = {};
290
+ subjectsStateMap = {};
291
+ subscribe(type, listener) {
292
+ this.subscribers[type] = (this.subscribers[type] || []).concat(listener);
293
+ const latestEvent = this.subjectsStateMap[type];
294
+ if (latestEvent) {
295
+ listener(latestEvent);
296
+ }
297
+ return () => {
298
+ this.unsubscribe(type, listener);
299
+ };
300
+ }
301
+ unsubscribe(type, listener) {
302
+ this.subscribers[type] = this.subscribers[type]?.filter((s) => s !== listener);
303
+ }
304
+ fire(type, event) {
305
+ const isSubjectDeclared = type in this.subjectsStateMap;
306
+ if (isSubjectDeclared) {
307
+ this.subjectsStateMap[type] = event;
308
+ }
309
+ this.subscribers[type]?.forEach((s) => s(event));
310
+ }
311
+ subject(type, event) {
312
+ this.subjectsStateMap[type] = event;
313
+ }
314
+ }
315
+
316
+ const defaultEventBus = new EventBus();
274
317
 
275
318
  const SENSITIVITY_SCALE = 10;
276
319
  function useIntersectionObserver(observerCallback, { sensitivity, rootRef } = {}) {
@@ -296,6 +339,54 @@
296
339
  .concat(1);
297
340
  }
298
341
 
342
+ const blockRouterEventBus = new EventBus();
343
+
344
+ function useBlockIntersectionObserver(block) {
345
+ const observerCallback = useCallback((entries) => {
346
+ if (!block || !entries?.length) {
347
+ return;
348
+ }
349
+ const intersection = entries[entries.length - 1];
350
+ blockRouterEventBus.fire('intersection', { block, intersection });
351
+ }, [block]);
352
+ return useIntersectionObserver(observerCallback, { sensitivity: 1 });
353
+ }
354
+
355
+ const blockStyles = {
356
+ primary: 'bg-white text-primary-text',
357
+ secondary: 'bg-primary-main text-white',
358
+ gray: 'bg-main-divider text-primary-text',
359
+ transparent: 'bg-transparent text-primary-text',
360
+ '': '',
361
+ };
362
+ const BlockWrapper = JSX(({ className = '', version = 'primary', isTheme = true, block, tag = 'section', role, children, }) => {
363
+ const Tag = tag;
364
+ const ref = useBlockIntersectionObserver(block);
365
+ const [isHidden, setHidden] = useState(false);
366
+ useEffect(() => defaultEventBus.subscribe('tab', (event) => {
367
+ setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
368
+ }), [block]);
369
+ return (jsx(Tag, { className: style(groupStyle(Boolean(version && isTheme)), blockStyles[version], isHidden ? 'hidden' : '', className), ...(version && isTheme ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
370
+ });
371
+ const groupStyle = (isGroup) => (isGroup ? 'group' : '');
372
+
373
+ const mapChildren = (mapper) => (children) => {
374
+ if (children === null || children === undefined) {
375
+ return children;
376
+ }
377
+ return Array.isArray(children) ? children.map(mapper) : mapper(children, 0);
378
+ };
379
+
380
+ const HEADER_HEIGHT = 170;
381
+ const FOOTER_HEIGHT = 48;
382
+ const BLOCKS_GAP = 4;
383
+ const PAGE_PADDINGS_X = 20;
384
+ const DEFAULT_HEIGHT = 866;
385
+ const getContainerHeight = (minHeight) => ({
386
+ height: `calc(100vh - ${HEADER_HEIGHT + FOOTER_HEIGHT + BLOCKS_GAP + PAGE_PADDINGS_X}px)`,
387
+ minHeight: `${minHeight || DEFAULT_HEIGHT}px`,
388
+ });
389
+
299
390
  const SwipeListItem = JSX(({ className = '', style, idx, activeIndex, observerOptions, children, onIntersection }) => {
300
391
  const observerCallback = useCallback((entries) => {
301
392
  if (entries.length && onIntersection) {
@@ -432,57 +523,23 @@
432
523
  ];
433
524
  };
434
525
 
435
- const DEFAULT_GAP = 14;
436
- /*
437
- Horizontal padding used on a container above SwipeListControl.
438
- Same value used on a SwipeListControlChildren container to compensate it
439
- and get rid of a clipping effect caused by overflow: hidden.
440
- */
441
- const DEFAULT_PADDING = 16;
442
- const SwipeListControl = JSX(({ className = '', gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, minHeight, children, onVisibleIndicesChange, listType = 'horizontal-list', version, }) => {
443
- const itemCount = Array.isArray(children) ? children.length : 0;
444
- const [containerRef, scroll] = useSwipeListScroll({
445
- itemCount,
446
- onVisibleIndicesChange,
447
- });
448
- const [activeIndex] = scroll.visibleIndicesRange;
449
- return (jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType, version: version })) : null] }));
450
- });
451
-
452
- class EventBus {
453
- subscribers = {};
454
- subjectsStateMap = {};
455
- subscribe(type, listener) {
456
- this.subscribers[type] = (this.subscribers[type] || []).concat(listener);
457
- const latestEvent = this.subjectsStateMap[type];
458
- if (latestEvent) {
459
- listener(latestEvent);
460
- }
461
- return () => {
462
- this.unsubscribe(type, listener);
463
- };
464
- }
465
- unsubscribe(type, listener) {
466
- this.subscribers[type] = this.subscribers[type]?.filter((s) => s !== listener);
467
- }
468
- fire(type, event) {
469
- const isSubjectDeclared = type in this.subjectsStateMap;
470
- if (isSubjectDeclared) {
471
- this.subjectsStateMap[type] = event;
472
- }
473
- this.subscribers[type]?.forEach((s) => s(event));
474
- }
475
- subject(type, event) {
476
- this.subjectsStateMap[type] = event;
477
- }
526
+ function useRouter() {
527
+ return useRouter._impl();
478
528
  }
479
-
480
- const defaultEventBus = new EventBus();
481
-
482
- const useDialog = (id = '') => ({
483
- open: (message) => defaultEventBus.fire('dialog', { type: 'open', id, message }),
484
- close: () => defaultEventBus.fire('dialog', { type: 'close' }),
529
+ useRouter._impl = () => ({
530
+ href: globalThis.location?.href || '/',
531
+ pathname: globalThis.location?.pathname || '/',
532
+ query: {},
533
+ push: () => {
534
+ // Do nothing
535
+ },
536
+ replace: () => {
537
+ // Do nothing
538
+ },
485
539
  });
540
+ useRouter.setup = (impl) => {
541
+ useRouter._impl = impl;
542
+ };
486
543
 
487
544
  const dirname = (path) => path?.split('/').slice(0, -1).join('/');
488
545
 
@@ -510,6 +567,66 @@
510
567
  };
511
568
  const hasPrefix = (href, prefix) => prefix && href && href.startsWith(prefix);
512
569
 
570
+ const svgUseStyleMap = {
571
+ normal: '',
572
+ color: 'text-primary-main',
573
+ black: 'text-black',
574
+ white: 'text-black',
575
+ };
576
+ const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', ...imgProps }) => {
577
+ const router = useRouter();
578
+ const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
579
+ if (iconVersion !== 'normal') {
580
+ return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(imgProps.width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
581
+ }
582
+ if (!className.includes('h-')) {
583
+ imgProps['style'] = { height: `${imgProps.height}px` };
584
+ }
585
+ return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", ...imgProps }));
586
+ });
587
+ const getSvgSize = (width) => (width ? '' : 'w-full h-full');
588
+ const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
589
+
590
+ const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
591
+ const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', isMobile = false, pathPrefix }) => {
592
+ const router = useRouter();
593
+ const pictureStyles = isMobile ? 'flex' : 'flex-none';
594
+ return (jsxs("picture", { className: `${pictureStyles} ${className}`, children: [image?.sources?.length
595
+ ? image.sources
596
+ .filter((_) => _?.src)
597
+ .sort(sourcesComparator)
598
+ .map(({ src, format, media }, index) => (jsx("source", { srcSet: adjustSrc(router, pathPrefix)(src), type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...image.size }, `${index}_${src}`)))
599
+ : null, image?.src
600
+ ? renderImg({ ...image, src: adjustSrc(router, pathPrefix)(image.src) }, imageClassName, isMobile)
601
+ : null] }));
602
+ });
603
+ const renderImg = (image, imageClassName = '', isMobile = false) => {
604
+ const style = {
605
+ width: image.size?.width ? `${image.size?.width}px` : '100%',
606
+ height: image.size?.height ? `${image.size?.height}px` : '100%',
607
+ };
608
+ const title = image.title || '';
609
+ const alt = image.alt || image.title;
610
+ const imgStyle = isMobile ? 'm-auto' : 'm-0';
611
+ return (jsx("img", { src: image.src, className: `${imgStyle} ${imageClassName}`, alt: alt, title: title, style: style, ...image.size }));
612
+ };
613
+ const adjustSrc = (router, pathPrefix) => (src) => src && !isURL(src) ? adjustHref(router)(joinPath(pathPrefix, src)) : src;
614
+ const formatToMimeType = (format) => format ? `image/${String(format)}` : undefined;
615
+
616
+ const ImgInner = JSX(({ className = '', image, imageClassName = '', isMobile, pathPrefix, ...iconProps }) => {
617
+ if (!image?.src && !image?.icon) {
618
+ return null;
619
+ }
620
+ return image.icon ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: image?.iconVersion, name: image.icon, ...iconProps })) : (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, isMobile: isMobile, pathPrefix: pathPrefix }));
621
+ });
622
+
623
+ const Img = JSX((props) => jsx(ImgInner, { ...props, isMobile: true }));
624
+
625
+ const useDialog = (id = '') => ({
626
+ open: (message) => defaultEventBus.fire('dialog', { type: 'open', id, message }),
627
+ close: () => defaultEventBus.fire('dialog', { type: 'close' }),
628
+ });
629
+
513
630
  /* eslint-disable @typescript-eslint/ban-types */
514
631
  const handlerDecorator = (handler, targetContent) => {
515
632
  return handlerDecorator._impl(handler, targetContent);
@@ -519,31 +636,13 @@
519
636
  handlerDecorator._impl = impl;
520
637
  };
521
638
 
522
- function useRouter() {
523
- return useRouter._impl();
524
- }
525
- useRouter._impl = () => ({
526
- href: globalThis.location?.href || '/',
527
- pathname: globalThis.location?.pathname || '/',
528
- query: {},
529
- push: () => {
530
- // Do nothing
531
- },
532
- replace: () => {
533
- // Do nothing
534
- },
535
- });
536
- useRouter.setup = (impl) => {
537
- useRouter._impl = impl;
538
- };
539
-
540
639
  function useLink(params = {}) {
541
640
  const { isRemote, basePath } = params;
542
641
  const router = useRouter();
543
642
  const { close } = useDialog();
544
643
  return (props) => ({
545
644
  ...props,
546
- href: isRemote ? props.href : adjustHref(router)(props.href, basePath),
645
+ href: isRemote && !basePath ? props.href : adjustHref(router)(props.href, basePath),
547
646
  'aria-label': props.text,
548
647
  onClick: handlerDecorator(handleHref(props), props),
549
648
  });
@@ -635,63 +734,292 @@
635
734
  const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, children }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel, role: href ? 'link' : 'button', onClick: onClick, children: children })));
636
735
  const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
637
736
 
638
- const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
639
- const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
737
+ const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `group/btn shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
738
+ ? 'bg-secondary-light text-secondary-text'
739
+ : 'bg-white text-primary-text hover:text-primary-main'} ${className || ''}`, disabled: disabled, ...rest, children: jsx(Img, { className: "w-4 h-4 min-w-4 min-h-4 rounded-full box-border", image: { icon: 'ArrowLeftIcon', iconVersion: 'black' }, imageClassName: "group-hover/btn:text-primary-main", width: "16", height: "16" }) })));
740
+ const ScrollLeftButton = JSX((props) => (jsx(ArrowButton, { ...props, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })));
741
+ const ScrollRightButton = JSX((props) => (jsx(ArrowButton, { ...props, className: `${props.className || ''} rotate-180`, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" })));
742
+
743
+ const scrollButtonStyle = 'absolute top-[calc(50%-24px)] z-40';
744
+ const blurBaseStyle = 'absolute top-0 bottom-0 z-40 w-[84px] pointer-events-none';
745
+ const CarouselScrollButtons = JSX(({ scroll, arrowsPadded, isBlur, onScrollLeft, onScrollRight, hasEdgeBlocks, activeIndex, itemCount, }) => {
746
+ const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
747
+ const canMoveLeft = hasEdgeBlocks ? activeIndex > 0 : canScrollLeft;
748
+ const canMoveRight = hasEdgeBlocks ? activeIndex < itemCount - 1 : canScrollRight;
749
+ const handleScrollLeft = useCallback(() => {
750
+ if (!hasEdgeBlocks) {
751
+ scrollLeft();
752
+ }
753
+ else {
754
+ canScrollLeft && activeIndex !== itemCount - 1 && scrollLeft();
755
+ onScrollLeft();
756
+ }
757
+ }, [scrollLeft, onScrollLeft, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
758
+ const handleScrollRight = useCallback(() => {
759
+ if (!hasEdgeBlocks) {
760
+ scrollRight();
761
+ }
762
+ else {
763
+ canScrollRight && activeIndex !== 0 && scrollRight();
764
+ onScrollRight();
765
+ }
766
+ }, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
767
+ return (jsxs("div", { children: [renderBlur(isBlur, scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle, arrowsPadded ? 'left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle, arrowsPadded ? 'right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
768
+ });
769
+ const renderBlur = (isBlur, scroll) => isBlur ? (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] })) : null;
640
770
 
641
- const svgUseStyleMap = {
642
- normal: '',
643
- color: 'text-primary-main',
644
- black: 'text-black',
645
- white: 'text-black',
771
+ const ITEMS_GAP = 16;
772
+
773
+ const Carousel = JSX(({ className = '', itemCount, visibleItemCount, isBlur = true, isCyclic = false, arrowsPadded = true, isPadding = true, showDots = false, isAlignCenter = false, ...rest }) => {
774
+ const { blocks: childBlocks = [] } = rest.block || {};
775
+ const count = itemCount || childBlocks?.length;
776
+ const [activeIndex, setActiveIndex] = useState(Math.floor((visibleItemCount || 0) / 2));
777
+ const increaseActiveIndex = useCallback(() => setActiveIndex((_) => _ + 1), []);
778
+ const decreaseActiveIndex = useCallback(() => setActiveIndex((_) => _ - 1), []);
779
+ const [containerRef, scroll] = useSwipeListScroll({
780
+ itemCount: count,
781
+ isCyclic,
782
+ });
783
+ const [dotsActiveIndex] = scroll.visibleIndicesRange;
784
+ const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
785
+ return (jsx(BlockWrapper, { className: style(getPaddingStyle$1(isPadding), 'group-data-secondary:bg-primary-main group-data-secondary:text-white', className), ...rest, children: jsxs("div", { className: style(getAlignStyle(isAlignCenter), 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: ITEMS_GAP, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
786
+ ...rest,
787
+ renderProps: isBankHistoryCarousel
788
+ ? (block, options) => renderBlock(block, options, {
789
+ blocksLength: childBlocks?.length,
790
+ activeIndex: activeIndex,
791
+ })
792
+ : renderBlock,
793
+ }) }), jsx(CarouselScrollButtons, { scroll: scroll, isBlur: isBlur, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? renderDots(containerRef, dotsActiveIndex, count) : null] }) }));
794
+ });
795
+ Carousel.childrenTypes = [
796
+ 'CarouselCard',
797
+ 'CarouselBankHistoryCard',
798
+ 'CarouselCatalogCard',
799
+ 'CarouselInvestmentCard',
800
+ 'CarouselProductCard',
801
+ 'CarouselProgramsCard',
802
+ 'CarouselRecommendationCard',
803
+ 'CarouselTariffsCard',
804
+ 'CarouselRichTextCard',
805
+ 'CarouselInvestmentCard',
806
+ 'CarouselEventCard',
807
+ ];
808
+ const getPaddingStyle$1 = (isPadding) => (isPadding ? 'p-default' : '');
809
+ const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
810
+ const renderDots = (containerRef, dotsActiveIndex, itemCount) => (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: itemCount, listType: 'horizontal-list' }));
811
+
812
+ const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
813
+ const link = useLink({ isRemote });
814
+ const linkProps = link({ href, target });
815
+ const Tag = href ? 'a' : 'div';
816
+ return (jsx(Tag, { className: style('block', className), ...(href ? linkProps : {}), children: children }));
817
+ });
818
+
819
+ const DOT_SIZE_MAP = {
820
+ L: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-4',
821
+ M: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-3',
822
+ S: 'w-1 h-1 min-w-1 min-h-1 mr-2',
646
823
  };
647
- const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', ...imgProps }) => {
648
- const router = useRouter();
649
- const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
650
- if (iconVersion !== 'normal') {
651
- return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(imgProps.width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
652
- }
653
- if (!className.includes('h-')) {
654
- imgProps['style'] = { height: `${imgProps.height}px` };
655
- }
656
- return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", ...imgProps }));
824
+ const ListItem = JSX(({ className = '', isDotted = true, children, size = 'M' }) => (jsxs("div", { className: `font-sans flex items-baseline ${className}`, role: "listitem", children: [isDotted ? (jsx("div", { children: jsx("div", { className: `rounded-full align-middle inline-block bg-primary-text group-data-secondary:bg-white ${DOT_SIZE_MAP[size]}` }) })) : null, jsx("span", { children: children })] })));
825
+
826
+ const TEXT_SIZE_MAP = {
827
+ S: 'text-l-light',
828
+ M: 'text-h6',
829
+ L: 'text-h5',
830
+ };
831
+ const ITEM_INDENT_MAP = {
832
+ S: 'ml-2',
833
+ M: 'ml-3',
834
+ L: 'ml-4',
835
+ };
836
+ const List = JSX(({ className = '', hasIndent, isDotted, itemClassName = '', items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: `text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text ${TEXT_SIZE_MAP[listItemSize]} ${hasIndent ? ITEM_INDENT_MAP[listItemSize] : ''} ${className}`, role: "list", children: items.map((item, i) => (jsx(ListItem, { className: itemClassName, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
837
+
838
+ const ICONS_MAP = [
839
+ {
840
+ origins: ['t.me', 'telegram.org'],
841
+ iconMapped: { icon: 'TelegramIcon' },
842
+ label: 'Телеграм',
843
+ },
844
+ {
845
+ origins: ['vk.com'],
846
+ iconMapped: { icon: 'VKIcon' },
847
+ label: 'ВКонтакте',
848
+ },
849
+ {
850
+ origins: ['ok.ru'],
851
+ iconMapped: { icon: 'OkIcon' },
852
+ label: 'Одноклассники',
853
+ },
854
+ {
855
+ origins: ['apps.apple.com'],
856
+ iconMapped: { icon: 'AppleIcon' },
857
+ label: 'App Store',
858
+ },
859
+ {
860
+ origins: ['play.google.com'],
861
+ iconMapped: { icon: 'PlayMarketIcon' },
862
+ label: 'Google Play',
863
+ },
864
+ {
865
+ origins: ['youtube.com'],
866
+ iconMapped: { icon: 'YoutubeIcon' },
867
+ label: 'Youtube',
868
+ },
869
+ ];
870
+ const buttonSizeStyles = {
871
+ default: 'w-14 h-14',
872
+ small: 'w-12 h-12',
873
+ };
874
+ const buttonStylesWithText = (text, buttonSize) => text
875
+ ? ''
876
+ : `group/media flex items-center justify-center box-border ${buttonSizeStyles[buttonSize]}`;
877
+ const MediaButton = JSX(({ buttonSize = 'default', rounded = false, icon, ...rest }) => {
878
+ const { href, version, text = '' } = rest;
879
+ const { iconMapped, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
880
+ const iconCustom = getFilteredIcon(icon) ?? iconMapped;
881
+ return (jsx(Button, { className: style(rounded ? 'rounded-full' : 'rounded-md', 'border border-solid hover:border-transparent', 'group-data-primary:border-main-divider', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white border-main-divider group-data-secondary:hover:bg-secondary-hover', 'group-data-gray:border-green', buttonStylesWithText(text, buttonSize)), "aria-label": label, rel: "noopener noreferrer", target: "_blank", text: text, version: version, ...rest, children: iconCustom && !text ? (jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" })) : null }));
657
882
  });
658
- const getSvgSize = (width) => (width ? '' : 'w-full h-full');
659
- const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
883
+ const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
660
884
 
661
- const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
662
- const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', isMobile = false, pathPrefix }) => {
663
- const router = useRouter();
664
- const pictureStyles = isMobile ? 'flex' : 'flex-none';
665
- return (jsxs("picture", { className: `${pictureStyles} ${className}`, children: [image?.sources?.length
666
- ? image.sources
667
- .filter((_) => _?.src)
668
- .sort(sourcesComparator)
669
- .map(({ src, format, media }, index) => (jsx("source", { srcSet: adjustSrc(router, pathPrefix)(src), type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...image.size }, `${index}_${src}`)))
670
- : null, image?.src
671
- ? renderImg({ ...image, src: adjustSrc(router, pathPrefix)(image.src) }, imageClassName, isMobile)
672
- : null] }));
885
+ const SocialMedia = JSX(({ className = '', media }) => (jsx("div", { className: `flex gap-2 items-start justify-start ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { ..._ }, String(index)))) })));
886
+
887
+ const HeadingClass = {
888
+ h0: 'text-m-title',
889
+ h1: 'text-m-title',
890
+ h2: 'text-m-title',
891
+ h3: 'text-h6',
892
+ h4: 'text-m-title-xs',
893
+ h5: 'text-m-title-xs',
894
+ h6: 'text-m-title-xs',
895
+ };
896
+ const Heading = JSX((props) => {
897
+ const { className, headingType = 'h3', title, as: Tag = 'h3' } = props;
898
+ return (jsx(Tag, { className: `font-sans font-medium m-0 ${HeadingClass[headingType]} ${className || ''}`, children: title }));
673
899
  });
674
- const renderImg = (image, imageClassName = '', isMobile = false) => {
675
- const style = {
676
- width: image.size?.width ? `${image.size?.width}px` : '100%',
677
- height: image.size?.height ? `${image.size?.height}px` : '100%',
678
- };
679
- const title = image.title || '';
680
- const alt = image.alt || image.title;
681
- const imgStyle = isMobile ? 'm-auto' : 'm-0';
682
- return (jsx("img", { src: image.src, className: `${imgStyle} ${imageClassName}`, alt: alt, title: title, style: style, ...image.size }));
900
+
901
+ const Paragraph = JSX(({ children, ...style }) => (jsx("p", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
902
+
903
+ const headlineVersionStyles = {
904
+ XXL: {
905
+ title: { headingType: 'h0', as: 'h1' },
906
+ descriptionSize: 'text-h5',
907
+ descriptionStyle: 'mt-5',
908
+ },
909
+ XL: {
910
+ title: { headingType: 'h1', as: 'h1' },
911
+ descriptionSize: 'text-xl-light',
912
+ descriptionStyle: 'mt-4',
913
+ },
914
+ L: {
915
+ title: { headingType: 'h2', as: 'h2' },
916
+ descriptionSize: 'text-xl-light',
917
+ descriptionStyle: 'mt-4',
918
+ },
919
+ M: {
920
+ title: { headingType: 'h3', as: 'h3' },
921
+ descriptionSize: 'text-xl-light',
922
+ descriptionStyle: 'mt-3',
923
+ },
924
+ S: {
925
+ title: { headingType: 'h4', as: 'h4' },
926
+ descriptionSize: 'text-xl-light',
927
+ descriptionStyle: 'mt-2',
928
+ },
929
+ XS: {
930
+ title: { headingType: 'h5', as: 'h5' },
931
+ descriptionSize: 'text-l-light',
932
+ descriptionStyle: 'mt-2',
933
+ },
934
+ };
935
+
936
+ const Headline = JSX(({ className, title, description, headlineVersion = 'XL', align = 'text-center', as, isPadding = true, isTheme = false, version = '', ...rest }) => {
937
+ const versionStyle = headlineVersionStyles[headlineVersion];
938
+ const paddingStyle = isPadding ? 'p-default' : '';
939
+ const descriptionStyle = { marginTop: versionStyle.descriptionStyle };
940
+ return (jsxs(BlockWrapper, { className: style(paddingStyle, className), version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, align: align, ...descriptionStyle, children: description })) : null] }));
941
+ });
942
+
943
+ const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
944
+
945
+ const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
946
+ return (jsx(BlockWrapper, { className: style('relative box-border p-default group-data-gray:bg-main-divider/50', BORDER_STYLE, className), ...rest, children: jsxs(LinkWrapper, { href: href, target: target, children: [jsx(Headline, { className: "mb-2", title: title, description: description, headlineVersion: "S", isPadding: false, align: align }), items.length ? (jsx(List, { className: "flex flex-col gap-2", items: items, listItemSize: "S" })) : null, renderIcon$1(icon), socialMedia.length ? jsx(SocialMedia, { className: "mt-5", media: socialMedia }) : null] }) }));
947
+ });
948
+ const renderIcon$1 = (icon) => icon?.src || icon?.icon ? (jsx("div", { children: jsx(Img, { image: icon }) })) : null;
949
+
950
+ const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
951
+ const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
952
+ const onToggle = useCallback(() => {
953
+ setIsUnfolded((_) => !_);
954
+ }, []);
955
+ const sectionNode = renderFoldableSection({ isUnfolded, onToggle });
956
+ const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
957
+ return isFoldButtonOnTop ? (jsxs("div", { className: className, children: [buttonNode, sectionNode] })) : (jsxs("div", { className: className, children: [sectionNode, buttonNode] }));
958
+ });
959
+
960
+ const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
961
+ const containerRef = useRef(null);
962
+ useEffect(() => {
963
+ if (containerRef.current) {
964
+ containerRef.current.style.maxHeight = isUnfolded
965
+ ? `${containerRef.current.scrollHeight}px`
966
+ : '';
967
+ }
968
+ }, [isUnfolded, children?.length]);
969
+ return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
970
+ });
971
+
972
+ const getPaddingStyle = (isHighlighting = false) => isHighlighting ? 'p-default mt-6' : 'mt-6 p-default'; // Хак для мобильной версии т.к. контракт должен быть идентичный
973
+
974
+ const renderButtonsSection = (buttons, { className = '', buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-2' : 'gap-4', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
975
+ const renderButton = (buttonClassName = '') => (button, index) => {
976
+ const { text, icon, iconRight, version, ...rest } = button || {};
977
+ const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
978
+ const iconVersion = icon?.iconVersion ? icon?.iconVersion : iconVersionDefault;
979
+ return text || icon?.icon ? (jsx(Button, { className: buttonClassName, appendLeft: renderButtonIcon({ ...icon, iconVersion }), appendRight: renderButtonIcon({ ...iconRight, iconVersion }), version: version, text: text, ...rest }, index ? String(index) : '')) : null;
683
980
  };
684
- const adjustSrc = (router, pathPrefix) => (src) => src && !isURL(src) ? adjustHref(router)(joinPath(pathPrefix, src)) : src;
685
- const formatToMimeType = (format) => format ? `image/${String(format)}` : undefined;
981
+ const DEFAULT_ICON_W = 24;
982
+ const renderButtonIcon = (icon) => icon?.icon || icon?.src ? (jsx(Img, { image: icon, width: String(icon?.size?.width || DEFAULT_ICON_W), height: String(DEFAULT_ICON_W) })) : null;
686
983
 
687
- const ImgInner = JSX(({ className = '', image, imageClassName = '', isMobile, pathPrefix, ...iconProps }) => {
688
- if (!image?.src && !image?.icon) {
689
- return null;
690
- }
691
- return image.icon ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: image?.iconVersion, name: image.icon, ...iconProps })) : (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, isMobile: isMobile, pathPrefix: pathPrefix }));
984
+ const Text = JSX(({ children, ...style }) => (jsx("span", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
985
+
986
+ const descriptionSize = 'text-l';
987
+
988
+ const renderCardInfo = (cell, i) => {
989
+ const { title, description, buttons } = cell;
990
+ return (jsxs("div", { className: "py-5 border-b border-main-divider", children: [title ? (jsx("div", { className: "opacity-80", children: jsx(Text, { size: "text-m", color: "text-secondary-text", children: title }) })) : null, description ? (jsx("div", { className: "mt-1", children: jsx(Text, { size: descriptionSize, color: "text-primary-text", children: description }) })) : null, buttons?.length ? (jsx("div", { className: "text-primary-main", children: renderButtonsSection(buttons) })) : null] }, String(i)));
991
+ };
992
+
993
+ const VISIBLE_CELLS_COUNT = 1;
994
+ const CarouselTariffsCard = JSX(({ className = '', title, icon, isHighlighting = false, button, cardCells = [], ...rest }) => {
995
+ const cellsNode = cardCells.map(renderCardInfo);
996
+ const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
997
+ const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
998
+ return (jsxs(BlockWrapper, { className: style('relative border border-gray flex flex-col', getPaddingStyle(isHighlighting), className), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock(icon), title ? jsx(Heading, { className: "text-center pt-2", headingType: "h5", title: title }) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
692
999
  });
1000
+ const renderIconBlock = (icon) => (jsx("div", { className: "w-[267px] min-w-[267px] self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
1001
+ const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-5 flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
1002
+ const renderHitIcon = () => (jsxs("div", { className: "absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22" }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: "\u0425\u0418\u0422" })] }));
693
1003
 
694
- const Img = JSX((props) => jsx(ImgInner, { ...props, isMobile: true }));
1004
+ const DEFAULT_GAP = 14;
1005
+ /*
1006
+ Horizontal padding used on a container above SwipeListControl.
1007
+ Same value used on a SwipeListControlChildren container to compensate it
1008
+ and get rid of a clipping effect caused by overflow: hidden.
1009
+ */
1010
+ const DEFAULT_PADDING = 16;
1011
+ const SwipeListControl = JSX(({ className = '', gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, minHeight, children, onVisibleIndicesChange, listType = 'horizontal-list', version, }) => {
1012
+ const itemCount = Array.isArray(children) ? children.length : 0;
1013
+ const [containerRef, scroll] = useSwipeListScroll({
1014
+ itemCount,
1015
+ onVisibleIndicesChange,
1016
+ });
1017
+ const [activeIndex] = scroll.visibleIndicesRange;
1018
+ return (jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType, version: version })) : null] }));
1019
+ });
1020
+
1021
+ const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
1022
+ const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
695
1023
 
696
1024
  const headingStyle = (isFillGradient = false) => (isFillGradient ? 'text-white' : '');
697
1025
  const subtitleStyle = (isFillGradient = false) => `text-s mb-3.5 ${isFillGradient ? 'text-white' : 'text-secondary-text/80'}`;
@@ -817,37 +1145,6 @@
817
1145
  return data || {};
818
1146
  }
819
1147
 
820
- const blockRouterEventBus = new EventBus();
821
-
822
- function useBlockIntersectionObserver(block) {
823
- const observerCallback = useCallback((entries) => {
824
- if (!block || !entries?.length) {
825
- return;
826
- }
827
- const intersection = entries[entries.length - 1];
828
- blockRouterEventBus.fire('intersection', { block, intersection });
829
- }, [block]);
830
- return useIntersectionObserver(observerCallback, { sensitivity: 1 });
831
- }
832
-
833
- const blockStyles = {
834
- primary: 'bg-white text-primary-text',
835
- secondary: 'bg-primary-main text-white',
836
- gray: 'bg-main-divider text-primary-text',
837
- transparent: 'bg-transparent text-primary-text',
838
- '': '',
839
- };
840
- const BlockWrapper = JSX(({ className = '', version = 'primary', isTheme = true, block, tag = 'section', role, children, }) => {
841
- const Tag = tag;
842
- const ref = useBlockIntersectionObserver(block);
843
- const [isHidden, setHidden] = useState(false);
844
- useEffect(() => defaultEventBus.subscribe('tab', (event) => {
845
- setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
846
- }), [block]);
847
- return (jsx(Tag, { className: style(groupStyle(Boolean(version && isTheme)), blockStyles[version], isHidden ? 'hidden' : '', className), ...(version && isTheme ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
848
- });
849
- const groupStyle = (isGroup) => (isGroup ? 'group' : '');
850
-
851
1148
  const CloseButton = JSX(({ className, onClick }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-1 bg-transparent border-none', className), onClick: onClick, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", children: jsx(Img, { image: { icon: 'CloseIcon' }, width: "24", height: "24" }) })));
852
1149
 
853
1150
  function assertUnreachable(x) {
@@ -1180,50 +1477,6 @@
1180
1477
  return (jsx("div", { className: `col-span-12 rounded-md cursor-pointer p-4 mt-6 mb-6 bg-secondary-light font-sans ${className}`, children: href ? (jsxs("div", { className: "flex", children: [jsx("div", { className: "flex justify-center align-middle rounded-md bg-primary-main w-12 h-12", children: jsx(Logo, { className: "w-8", bgColor: "transparent", showTitle: true }) }), jsxs("a", { href: href, target: "_blank", className: "flex flex-col justify-center pl-3", children: [jsx("div", { className: "text-s font-medium mb-[3px]", children: title }), jsx("div", { className: "text-s text-secondary-text", children: description })] })] })) : null }));
1181
1478
  });
1182
1479
 
1183
- const DEFAULT_SLOT_NAME = null;
1184
-
1185
- const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
1186
-
1187
- const DEFAULT_ANCESTORS = [];
1188
- const defaultStyle = 'col-span-12';
1189
- function renderBlock(block, options, { className, ...extraProps } = {}) {
1190
- const { key, blockDecorator = defaultBlockDecorator, blocksRegistry = {}, ancestors = DEFAULT_ANCESTORS, } = options;
1191
- const { type } = block;
1192
- if (!(type && type in blocksRegistry)) {
1193
- console.warn(`No block with "${type}" is registered`);
1194
- }
1195
- const BlockComponent = type && blocksRegistry[type];
1196
- return blockDecorator({
1197
- blockClassName: style('scroll-mt-12', // TODO scroll-mt-12 ? here?
1198
- className, block.style || defaultStyle),
1199
- block,
1200
- ancestors,
1201
- // Adjusted by decorator block and blockClassName
1202
- render: ({ block: adjustedBlock, blockClassName: adjustedBlockClassName }) => {
1203
- const { content } = adjustedBlock;
1204
- return BlockComponent ? (jsx(BlockComponent, { className: adjustedBlockClassName, block: block, options: options, ...content, ...extraProps }, key)) : null;
1205
- },
1206
- }, key);
1207
- }
1208
-
1209
- const EMPTY_ANCESTORS = [];
1210
- const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, renderProps = renderBlock, ...options }) => (blocks || []).map((_, j) => renderProps(_, {
1211
- ...options,
1212
- key: `${key ? key : _.type}-${j}`,
1213
- ancestors: options.parent
1214
- ? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
1215
- : ancestors,
1216
- }));
1217
-
1218
- function renderChildren({ children, block, options, renderProps, }) {
1219
- if (children) {
1220
- return children;
1221
- }
1222
- return block && options
1223
- ? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
1224
- : null;
1225
- }
1226
-
1227
1480
  const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
1228
1481
  return (jsxs("button", { className: style('flex justify-center w-full px-0 py-5 border border-transparent outline-none focus:border-primary-text', disabled
1229
1482
  ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
@@ -1233,30 +1486,6 @@
1233
1486
  }, className: "flex-shrink-0 my-auto", width: "20", height: "20" })) : null] }));
1234
1487
  });
1235
1488
 
1236
- const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
1237
- const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
1238
- const onToggle = useCallback(() => {
1239
- setIsUnfolded((_) => !_);
1240
- }, []);
1241
- const sectionNode = renderFoldableSection({ isUnfolded, onToggle });
1242
- const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
1243
- return isFoldButtonOnTop ? (jsxs("div", { className: className, children: [buttonNode, sectionNode] })) : (jsxs("div", { className: className, children: [sectionNode, buttonNode] }));
1244
- });
1245
-
1246
- const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
1247
- const containerRef = useRef(null);
1248
- useEffect(() => {
1249
- if (containerRef.current) {
1250
- containerRef.current.style.maxHeight = isUnfolded
1251
- ? `${containerRef.current.scrollHeight}px`
1252
- : '';
1253
- }
1254
- }, [isUnfolded, children?.length]);
1255
- return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
1256
- });
1257
-
1258
- const Text = JSX(({ children, ...style }) => (jsx("span", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
1259
-
1260
1489
  const RollupItem = JSX(({ className = '', label = 'Развернуть', isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => {
1261
1490
  return (jsx(BlockWrapper, { className: style('border-b border-solid border-main-divider w-full', className), tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: "flex flex-wrap group-last:last:pb-0 gap-5 [&>*]:p-0", isUnfolded: isUnfolded, children: renderChildren(rest) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({ version, label, isUnfolded, onToggle }) }) }));
1262
1491
  });
@@ -1300,55 +1529,6 @@
1300
1529
 
1301
1530
  const HorizontalNavigation = JSX(({ title, links, className = '' }) => (jsxs("div", { className: className, children: [jsx("span", { className: "text-primary-text text-s font-medium", children: title }), links?.length ? (jsx("div", { className: "flex flex-col gap-2 pt-3", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "text-s", ..._ }, String(i)))) })) : null] })));
1302
1531
 
1303
- const ICONS_MAP = [
1304
- {
1305
- origins: ['t.me', 'telegram.org'],
1306
- iconMapped: { icon: 'TelegramIcon' },
1307
- label: 'Телеграм',
1308
- },
1309
- {
1310
- origins: ['vk.com'],
1311
- iconMapped: { icon: 'VKIcon' },
1312
- label: 'ВКонтакте',
1313
- },
1314
- {
1315
- origins: ['ok.ru'],
1316
- iconMapped: { icon: 'OkIcon' },
1317
- label: 'Одноклассники',
1318
- },
1319
- {
1320
- origins: ['apps.apple.com'],
1321
- iconMapped: { icon: 'AppleIcon' },
1322
- label: 'App Store',
1323
- },
1324
- {
1325
- origins: ['play.google.com'],
1326
- iconMapped: { icon: 'PlayMarketIcon' },
1327
- label: 'Google Play',
1328
- },
1329
- {
1330
- origins: ['youtube.com'],
1331
- iconMapped: { icon: 'YoutubeIcon' },
1332
- label: 'Youtube',
1333
- },
1334
- ];
1335
- const buttonSizeStyles = {
1336
- default: 'w-14 h-14',
1337
- small: 'w-12 h-12',
1338
- };
1339
- const buttonStylesWithText = (text, buttonSize) => text
1340
- ? ''
1341
- : `group/media flex items-center justify-center box-border ${buttonSizeStyles[buttonSize]}`;
1342
- const MediaButton = JSX(({ buttonSize = 'default', rounded = false, icon, ...rest }) => {
1343
- const { href, version, text = '' } = rest;
1344
- const { iconMapped, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
1345
- const iconCustom = getFilteredIcon(icon) ?? iconMapped;
1346
- return (jsx(Button, { className: style(rounded ? 'rounded-full' : 'rounded-md', 'border border-solid hover:border-transparent', 'group-data-primary:border-main-divider', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white border-main-divider group-data-secondary:hover:bg-secondary-hover', 'group-data-gray:border-green', buttonStylesWithText(text, buttonSize)), "aria-label": label, rel: "noopener noreferrer", target: "_blank", text: text, version: version, ...rest, children: iconCustom && !text ? (jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" })) : null }));
1347
- });
1348
- const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
1349
-
1350
- const SocialMedia = JSX(({ className = '', media }) => (jsx("div", { className: `flex gap-2 items-start justify-start pt-6 pb-6 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { ..._ }, String(index)))) })));
1351
-
1352
1532
  const TextInformationLink = JSX(({ className = '', index, ...rest }) => {
1353
1533
  const link = useLink({ isRemote: true });
1354
1534
  const { href, target, text, onClick } = link(rest);
@@ -1363,7 +1543,7 @@
1363
1543
  const fallback = rest.options?.page?.fallback;
1364
1544
  const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
1365
1545
  const { documents, relatedEnterprises, contacts, socialMedia, horizontalNavigationTitle } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
1366
- return (jsxs(BlockWrapper, { tag: "footer", className: `px-4 py-[26px] ${className}`, ...rest, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, hasButton: true }), jsx("div", { className: "m-0 p-0", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }), jsx("div", { className: "mt-4", children: sitemap?.dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android", ...rest }), jsx(SearchBar, { className: "grow" }), jsx(SocialMedia, { className: "pb-4", media: socialMedia }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
1546
+ return (jsxs(BlockWrapper, { tag: "footer", className: `px-4 py-[26px] ${className}`, ...rest, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, hasButton: true }), jsx("div", { className: "m-0 p-0", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }), jsx("div", { className: "mt-4", children: sitemap?.dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android", ...rest }), jsx(SearchBar, { className: "grow" }), jsx(SocialMedia, { className: "pt-6 pb-6", media: socialMedia }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
1367
1547
  });
1368
1548
  const renderSubMenuItem = (menu, i) => {
1369
1549
  const { icon, href, text } = menu;
@@ -1461,47 +1641,6 @@
1461
1641
  return (jsxs(BlockWrapper, { tag: "header", version: version, ...rest, children: [jsxs("div", { className: "container px-4 py-0 box-border", children: [jsx(HeaderTop, { onClick: handleBurgerMenuShow, bgColor: bgColor, logo: logo }), jsx("nav", { className: "flex items-center m-0 p-0 overflow-y-hidden w-full h-12", children: jsx("div", { className: "flex no-scrollbar horizontal-list h-full items-center", children: subItems?.map((_, i) => (jsx(HeaderItem, { className: "mr-8 whitespace-nowrap text-s", active: _ === activeSubItem, ..._ }, String(i)))) }) })] }), burgerMenuShow ? (jsx(HeaderBurger, { onClick: handleBurgerMenuShow, burgerSubMenu: dispositions, defaultLocation: defaultLocation, children: jsx("div", { className: "list-none m-0 p-0", children: topItems?.map((item, i) => (jsx(RollupItem, { label: item.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }) })) : null] }));
1462
1642
  });
1463
1643
 
1464
- const Paragraph = JSX(({ children, ...style }) => (jsx("p", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
1465
-
1466
- const headlineVersionStyles = {
1467
- XXL: {
1468
- wrapper: 'gap-[18px]',
1469
- title: { headingType: 'h0', as: 'h1' },
1470
- descriptionSize: 'text-h5',
1471
- },
1472
- XL: {
1473
- wrapper: 'gap-4',
1474
- title: { headingType: 'h1', as: 'h1' },
1475
- descriptionSize: 'text-xl-light',
1476
- },
1477
- L: {
1478
- wrapper: 'gap-4',
1479
- title: { headingType: 'h2', as: 'h2' },
1480
- descriptionSize: 'text-xl-light',
1481
- },
1482
- M: {
1483
- wrapper: 'gap-3',
1484
- title: { headingType: 'h3', as: 'h3' },
1485
- descriptionSize: 'text-xl-light',
1486
- },
1487
- S: {
1488
- wrapper: 'gap-2',
1489
- title: { headingType: 'h4', as: 'h4' },
1490
- descriptionSize: 'text-xl-light',
1491
- },
1492
- XS: {
1493
- wrapper: 'gap-2',
1494
- title: { headingType: 'h5', as: 'h5' },
1495
- descriptionSize: 'text-l-light',
1496
- },
1497
- };
1498
-
1499
- const Headline = JSX(({ className, title, description, headlineVersion = 'XL', align = 'text-center', as, isPadding = true, isTheme = false, version = '', ...rest }) => {
1500
- const versionStyle = headlineVersionStyles[headlineVersion];
1501
- const paddingStyle = isPadding ? 'p-default' : '';
1502
- return (jsxs(BlockWrapper, { className: style('flex flex-col', paddingStyle, versionStyle.wrapper, className), version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, align: align, children: description })) : null] }));
1503
- });
1504
-
1505
1644
  const ImgBlock = JSX((props) => {
1506
1645
  const { className, image, ...rest } = props;
1507
1646
  return (jsx(BlockWrapper, { className: className, ...rest, children: jsx(Img, { image: image }) }));
@@ -1582,35 +1721,6 @@
1582
1721
  const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
1583
1722
  const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
1584
1723
 
1585
- const renderButtonsSection = (buttons, { className = '', buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-2' : 'gap-4', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
1586
- const renderButton = (buttonClassName = '') => (button, index) => {
1587
- const { text, icon, iconRight, version, ...rest } = button || {};
1588
- const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
1589
- const iconVersion = icon?.iconVersion ? icon?.iconVersion : iconVersionDefault;
1590
- return text || icon?.icon ? (jsx(Button, { className: buttonClassName, appendLeft: renderButtonIcon({ ...icon, iconVersion }), appendRight: renderButtonIcon({ ...iconRight, iconVersion }), version: version, text: text, ...rest }, index ? String(index) : '')) : null;
1591
- };
1592
- const DEFAULT_ICON_W = 24;
1593
- const renderButtonIcon = (icon) => icon?.icon || icon?.src ? (jsx(Img, { image: icon, width: String(icon?.size?.width || DEFAULT_ICON_W), height: String(DEFAULT_ICON_W) })) : null;
1594
-
1595
- const DOT_SIZE_MAP = {
1596
- L: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-4',
1597
- M: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-3',
1598
- S: 'w-1 h-1 min-w-1 min-h-1 mr-2',
1599
- };
1600
- const ListItem = JSX(({ className = '', isDotted = true, children, size = 'M' }) => (jsxs("div", { className: `font-sans flex items-baseline ${className}`, role: "listitem", children: [isDotted ? (jsx("div", { children: jsx("div", { className: `rounded-full align-middle inline-block bg-primary-text group-data-secondary:bg-white ${DOT_SIZE_MAP[size]}` }) })) : null, jsx("span", { children: children })] })));
1601
-
1602
- const TEXT_SIZE_MAP = {
1603
- S: 'text-l-light',
1604
- M: 'text-h6',
1605
- L: 'text-h5',
1606
- };
1607
- const ITEM_INDENT_MAP = {
1608
- S: 'ml-2',
1609
- M: 'ml-3',
1610
- L: 'ml-4',
1611
- };
1612
- const List = JSX(({ className = '', hasIndent, isDotted, itemClassName = '', items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: `text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text ${TEXT_SIZE_MAP[listItemSize]} ${hasIndent ? ITEM_INDENT_MAP[listItemSize] : ''} ${className}`, role: "list", children: items.map((item, i) => (jsx(ListItem, { className: itemClassName, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
1613
-
1614
1724
  const BaseTile = JSX(({ className = '', title = '', buttons, image, children }) => (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", { className: "h-full", children: children }), buttons ? jsx("div", { className: "mt-auto pt-8", children: buttons }) : null] }), image] })] })));
1615
1725
 
1616
1726
  const BenefitItem = JSX((props) => {
@@ -1786,6 +1896,8 @@
1786
1896
  VerticalLayout.childrenTypes = [];
1787
1897
 
1788
1898
  const Blocks = {
1899
+ Carousel,
1900
+ CarouselTariffsCard,
1789
1901
  ComparisonTable,
1790
1902
  Footer,
1791
1903
  Header,
@@ -1802,6 +1914,7 @@
1802
1914
  RichTextBlock,
1803
1915
  RollupItem,
1804
1916
  VerticalLayout,
1917
+ CarouselRecommendationCard,
1805
1918
  };
1806
1919
 
1807
1920
  const debounce = (fn, delay = 600) => {
@@ -1859,13 +1972,6 @@
1859
1972
  }, [scrollTarget]);
1860
1973
  }
1861
1974
 
1862
- const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
1863
- const link = useLink({ isRemote });
1864
- const linkProps = link({ href, target });
1865
- const Tag = href ? 'a' : 'div';
1866
- return (jsx(Tag, { className: style('block', className), ...(href ? linkProps : {}), children: children }));
1867
- });
1868
-
1869
1975
  const COOKIE_DIALOG_ID = 'cookie';
1870
1976
  const LOCAL_STORAGE_NAME = 'cookieClose';
1871
1977
  const CookiePopup = JSX(({ termLink, personalDataPolicyLink }) => {
@@ -1955,7 +2061,7 @@
1955
2061
  return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
1956
2062
  }
1957
2063
 
1958
- const packageVersion = "0.10.6";
2064
+ const packageVersion = "0.10.8";
1959
2065
 
1960
2066
  exports.Blocks = Blocks;
1961
2067
  exports.ContentPage = ContentPage;