@redneckz/wildless-cms-uni-blocks 0.6.35 → 0.6.37

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 (970) hide show
  1. package/bin/migration-scripts/0.6.32.js +6 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +276 -160
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +5 -0
  6. package/{lib/components/InvestmentGallery/InvestmentGalleryContent.d.ts → bundle/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts} +19 -23
  7. package/bundle/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  8. package/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  9. package/bundle/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
  10. package/bundle/components/Gallery/GalleryContent.d.ts +5 -0
  11. package/bundle/components/Header/HeaderSubMenuItem.d.ts +2 -1
  12. package/bundle/components/ImgBlock/ImgBlock.d.ts +6 -0
  13. package/bundle/components/ImgBlock/ImgBlockContent.d.ts +7 -0
  14. package/bundle/components/ParagraphBlock/ParagraphBlock.d.ts +6 -0
  15. package/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +8 -0
  16. package/bundle/components/SafeDepositRental/SafeDepositRentalFields.d.ts +1 -1
  17. package/bundle/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  18. package/bundle/components/Video/VideoContent.d.ts +1 -0
  19. package/bundle/hooks/useIntersectionObserver.d.ts +7 -1
  20. package/bundle/ui-kit/Button/ArrowButton.d.ts +2 -0
  21. package/bundle/ui-kit/Paragraph/Paragraph.d.ts +1 -8
  22. package/bundle/ui-kit/Paragraph/ParagraphProps.d.ts +7 -0
  23. package/bundle/ui-kit/Radio/RadioProps.d.ts +1 -2
  24. package/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  25. package/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  26. package/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  27. package/bundle/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  28. package/bundle/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  29. package/bundle/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  30. package/bundle/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  31. package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  32. package/bundle/ui-kit/Text/Text.d.ts +1 -26
  33. package/bundle/ui-kit/Text/TextProps.d.ts +26 -0
  34. package/bundle/utils/areArraysEqual.d.ts +1 -0
  35. package/bundle/utils/mapChildren.d.ts +2 -0
  36. package/bundle/utils/maxBy.d.ts +2 -2
  37. package/bundle/utils/minBy.d.ts +1 -0
  38. package/dist/components/Blocks.js +9 -3
  39. package/dist/components/Blocks.js.map +1 -1
  40. package/dist/components/Calculator/BonusCalculatorForm.js +4 -2
  41. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  42. package/dist/components/Calculator/CreditCalculatorForm.js +3 -1
  43. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  44. package/dist/components/Calculator/DepositCalculatorForm.js +5 -2
  45. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  46. package/dist/components/Carousel/Carousel.js +15 -15
  47. package/dist/components/Carousel/Carousel.js.map +1 -1
  48. package/dist/components/CarouselCard/CarouselCard.js +2 -2
  49. package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  50. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +5 -0
  51. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +28 -0
  52. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -0
  53. package/dist/components/{InvestmentGallery/InvestmentGalleryContent.d.ts → CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts} +19 -23
  54. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js +2 -0
  55. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js.map +1 -0
  56. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  57. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +12 -0
  58. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  59. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  60. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  61. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  62. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
  63. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +10 -14
  64. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  65. package/dist/components/ComparisonTable/ComparisonTable.js +2 -2
  66. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  67. package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  68. package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  69. package/dist/components/Gallery/Gallery.mobile.js +1 -1
  70. package/dist/components/Gallery/GalleryCardInner.js +6 -1
  71. package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  72. package/dist/components/Gallery/GalleryContent.d.ts +5 -0
  73. package/dist/components/Gallery/GalleryInner.js.map +1 -1
  74. package/dist/components/Header/Header.mobile.js +2 -2
  75. package/dist/components/Header/Header.mobile.js.map +1 -1
  76. package/dist/components/Header/HeaderSubMenu.js +1 -1
  77. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  78. package/dist/components/Header/HeaderSubMenuItem.d.ts +2 -1
  79. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  80. package/dist/components/ImgBlock/ImgBlock.d.ts +6 -0
  81. package/dist/components/ImgBlock/ImgBlock.js +11 -0
  82. package/dist/components/ImgBlock/ImgBlock.js.map +1 -0
  83. package/dist/components/ImgBlock/ImgBlockContent.d.ts +7 -0
  84. package/dist/components/{InvestmentGallery/InvestmentGalleryContent.js → ImgBlock/ImgBlockContent.js} +1 -1
  85. package/dist/components/ImgBlock/ImgBlockContent.js.map +1 -0
  86. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +5 -7
  87. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  88. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  89. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  90. package/dist/components/ParagraphBlock/ParagraphBlock.d.ts +6 -0
  91. package/dist/components/ParagraphBlock/ParagraphBlock.js +11 -0
  92. package/dist/components/ParagraphBlock/ParagraphBlock.js.map +1 -0
  93. package/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +8 -0
  94. package/{mobile/dist/components/InvestmentGallery/InvestmentGalleryContent.js → dist/components/ParagraphBlock/ParagraphBlockContent.js} +1 -1
  95. package/dist/components/ParagraphBlock/ParagraphBlockContent.js.map +1 -0
  96. package/dist/components/ProductGallery/ProductGallery.js +7 -7
  97. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  98. package/dist/components/RollupItem/RollupItem.js +10 -1
  99. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  100. package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -3
  101. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  102. package/dist/components/SafeDepositRental/RenderRadioButtons.js +1 -1
  103. package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +1 -1
  104. package/dist/components/SafeDepositRental/SafeDepositRental.js +2 -4
  105. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  106. package/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +1 -1
  107. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  108. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  109. package/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  110. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +2 -2
  111. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  112. package/dist/components/StepsBlock/StepsBlock.js +1 -3
  113. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  114. package/dist/components/TariffsTable/TableTileHeader.js +1 -3
  115. package/dist/components/TariffsTable/TableTileHeader.js.map +1 -1
  116. package/dist/components/TariffsTable/TariffsTable.js +6 -6
  117. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  118. package/dist/components/TariffsTable/TariffsTableRow.js +3 -1
  119. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  120. package/dist/components/Video/VideoContent.d.ts +1 -0
  121. package/dist/hooks/useIntersectionObserver.d.ts +7 -1
  122. package/dist/hooks/useIntersectionObserver.js +10 -1
  123. package/dist/hooks/useIntersectionObserver.js.map +1 -1
  124. package/dist/hooks/useLink.js +1 -1
  125. package/dist/hooks/useLink.js.map +1 -1
  126. package/dist/ui-kit/BlockWrapper.js +1 -11
  127. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  128. package/dist/ui-kit/Button/ArrowButton.d.ts +2 -0
  129. package/dist/ui-kit/Button/ArrowButton.js +3 -1
  130. package/dist/ui-kit/Button/ArrowButton.js.map +1 -1
  131. package/dist/ui-kit/Foldable/FoldableSection.js +1 -1
  132. package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  133. package/dist/ui-kit/InnerTable/InnerTable.js +3 -2
  134. package/dist/ui-kit/InnerTable/InnerTable.js.map +1 -1
  135. package/dist/ui-kit/InnerTable/InnerTableBody.js +2 -4
  136. package/dist/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  137. package/dist/ui-kit/Paragraph/Paragraph.d.ts +1 -8
  138. package/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
  139. package/dist/ui-kit/Paragraph/ParagraphProps.d.ts +7 -0
  140. package/dist/ui-kit/Paragraph/ParagraphProps.js +2 -0
  141. package/dist/ui-kit/Paragraph/ParagraphProps.js.map +1 -0
  142. package/dist/ui-kit/Radio/Radio.js +1 -1
  143. package/dist/ui-kit/Radio/Radio.js.map +1 -1
  144. package/dist/ui-kit/Radio/RadioProps.d.ts +1 -2
  145. package/dist/ui-kit/Select/Select.js.map +1 -1
  146. package/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  147. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +35 -0
  148. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  149. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  150. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  151. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  152. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  153. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  154. package/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  155. package/dist/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  156. package/dist/ui-kit/SwipeListControl/SwipeListItem.js +16 -0
  157. package/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  158. package/dist/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  159. package/dist/ui-kit/SwipeListControl/scrollBy.js +8 -0
  160. package/dist/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  161. package/dist/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  162. package/dist/ui-kit/SwipeListControl/scrollToEnd.js +7 -0
  163. package/dist/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  164. package/dist/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  165. package/dist/ui-kit/SwipeListControl/scrollToStart.js +7 -0
  166. package/dist/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  167. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  168. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +57 -0
  169. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  170. package/dist/ui-kit/Text/Text.d.ts +1 -26
  171. package/dist/ui-kit/Text/Text.js.map +1 -1
  172. package/dist/ui-kit/Text/TextProps.d.ts +26 -0
  173. package/dist/ui-kit/Text/TextProps.js +2 -0
  174. package/dist/ui-kit/Text/TextProps.js.map +1 -0
  175. package/dist/utils/areArraysEqual.d.ts +1 -0
  176. package/dist/utils/areArraysEqual.js +5 -0
  177. package/dist/utils/areArraysEqual.js.map +1 -0
  178. package/dist/utils/mapChildren.d.ts +2 -0
  179. package/dist/utils/mapChildren.js +10 -0
  180. package/dist/utils/mapChildren.js.map +1 -0
  181. package/dist/utils/maxBy.d.ts +2 -2
  182. package/dist/utils/maxBy.js +4 -4
  183. package/dist/utils/maxBy.js.map +1 -1
  184. package/dist/utils/minBy.d.ts +1 -0
  185. package/dist/utils/minBy.js +6 -0
  186. package/dist/utils/minBy.js.map +1 -0
  187. package/lib/common.css +1 -1
  188. package/lib/components/Blocks.js +9 -3
  189. package/lib/components/Blocks.js.map +1 -1
  190. package/lib/components/Calculator/BonusCalculatorForm.js +5 -3
  191. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  192. package/lib/components/Calculator/CreditCalculatorForm.js +4 -2
  193. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  194. package/lib/components/Calculator/DepositCalculatorForm.js +6 -3
  195. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  196. package/lib/components/Carousel/Carousel.fixture.d.ts +2 -0
  197. package/lib/components/Carousel/Carousel.js +15 -15
  198. package/lib/components/Carousel/Carousel.js.map +1 -1
  199. package/lib/components/CarouselCard/CarouselCard.js +2 -2
  200. package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  201. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +5 -0
  202. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.fixture.d.ts +10 -0
  203. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +26 -0
  204. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -0
  205. package/{mobile/bundle/components/InvestmentGallery/InvestmentGalleryContent.d.ts → lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts} +19 -23
  206. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js +2 -0
  207. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js.map +1 -0
  208. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  209. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.fixture.d.ts +8 -0
  210. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +10 -0
  211. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  212. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  213. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  214. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  215. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
  216. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.fixture.d.ts +1 -1
  217. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +10 -14
  218. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  219. package/lib/components/ComparisonTable/ComparisonTable.js +2 -2
  220. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  221. package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  222. package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  223. package/lib/components/Gallery/Gallery.mobile.js +1 -1
  224. package/lib/components/Gallery/GalleryCardInner.js +6 -1
  225. package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  226. package/lib/components/Gallery/GalleryContent.d.ts +5 -0
  227. package/lib/components/Gallery/GalleryInner.js.map +1 -1
  228. package/lib/components/Header/Header.mobile.js +3 -3
  229. package/lib/components/Header/Header.mobile.js.map +1 -1
  230. package/lib/components/Header/HeaderSubMenu.js +1 -1
  231. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  232. package/lib/components/Header/HeaderSubMenuItem.d.ts +2 -1
  233. package/lib/components/Header/HeaderSubMenuItem.js +1 -1
  234. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  235. package/lib/components/ImgBlock/ImgBlock.d.ts +6 -0
  236. package/lib/components/{InvestmentGallery/InvestmentGallery.fixture.d.ts → ImgBlock/ImgBlock.fixture.d.ts} +0 -2
  237. package/lib/components/ImgBlock/ImgBlock.js +9 -0
  238. package/lib/components/ImgBlock/ImgBlock.js.map +1 -0
  239. package/lib/components/ImgBlock/ImgBlockContent.d.ts +7 -0
  240. package/lib/components/ImgBlock/ImgBlockContent.js +2 -0
  241. package/lib/components/ImgBlock/ImgBlockContent.js.map +1 -0
  242. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +6 -8
  243. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  244. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  245. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  246. package/lib/components/ParagraphBlock/ParagraphBlock.d.ts +6 -0
  247. package/lib/components/ParagraphBlock/ParagraphBlock.fixture.d.ts +9 -0
  248. package/lib/components/ParagraphBlock/ParagraphBlock.js +9 -0
  249. package/lib/components/ParagraphBlock/ParagraphBlock.js.map +1 -0
  250. package/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +8 -0
  251. package/lib/components/ParagraphBlock/ParagraphBlockContent.js +2 -0
  252. package/lib/components/ParagraphBlock/ParagraphBlockContent.js.map +1 -0
  253. package/lib/components/ProductGallery/ProductGallery.js +8 -8
  254. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  255. package/lib/components/RollupItem/RollupItem.js +10 -1
  256. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  257. package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -3
  258. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  259. package/lib/components/SafeDepositRental/RenderRadioButtons.js +2 -2
  260. package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +1 -1
  261. package/lib/components/SafeDepositRental/SafeDepositRental.js +2 -4
  262. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  263. package/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +1 -1
  264. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  265. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  266. package/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  267. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +2 -2
  268. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  269. package/lib/components/StepsBlock/StepsBlock.js +1 -3
  270. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  271. package/lib/components/TariffsTable/TableTileHeader.js +1 -3
  272. package/lib/components/TariffsTable/TableTileHeader.js.map +1 -1
  273. package/lib/components/TariffsTable/TariffsTable.js +6 -6
  274. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  275. package/lib/components/TariffsTable/TariffsTableRow.js +4 -2
  276. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  277. package/lib/components/Video/VideoContent.d.ts +1 -0
  278. package/lib/hooks/useIntersectionObserver.d.ts +7 -1
  279. package/lib/hooks/useIntersectionObserver.js +11 -2
  280. package/lib/hooks/useIntersectionObserver.js.map +1 -1
  281. package/lib/hooks/useLink.js +2 -2
  282. package/lib/hooks/useLink.js.map +1 -1
  283. package/lib/ui-kit/BlockWrapper.js +1 -11
  284. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  285. package/lib/ui-kit/Button/ArrowButton.d.ts +2 -0
  286. package/lib/ui-kit/Button/ArrowButton.js +2 -0
  287. package/lib/ui-kit/Button/ArrowButton.js.map +1 -1
  288. package/lib/ui-kit/Foldable/FoldableSection.js +1 -1
  289. package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  290. package/lib/ui-kit/InnerTable/InnerTable.js +4 -3
  291. package/lib/ui-kit/InnerTable/InnerTable.js.map +1 -1
  292. package/lib/ui-kit/InnerTable/InnerTableBody.js +3 -5
  293. package/lib/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  294. package/lib/ui-kit/Paragraph/Paragraph.d.ts +1 -8
  295. package/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
  296. package/lib/ui-kit/Paragraph/ParagraphProps.d.ts +7 -0
  297. package/lib/ui-kit/Paragraph/ParagraphProps.js +2 -0
  298. package/lib/ui-kit/Paragraph/ParagraphProps.js.map +1 -0
  299. package/lib/ui-kit/Radio/Radio.js +1 -1
  300. package/lib/ui-kit/Radio/Radio.js.map +1 -1
  301. package/lib/ui-kit/Radio/RadioProps.d.ts +1 -2
  302. package/lib/ui-kit/Select/Select.js.map +1 -1
  303. package/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  304. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +33 -0
  305. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  306. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  307. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  308. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  309. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  310. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  311. package/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  312. package/lib/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  313. package/lib/ui-kit/SwipeListControl/SwipeListItem.js +14 -0
  314. package/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  315. package/lib/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  316. package/lib/ui-kit/SwipeListControl/scrollBy.js +5 -0
  317. package/lib/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  318. package/lib/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  319. package/lib/ui-kit/SwipeListControl/scrollToEnd.js +4 -0
  320. package/lib/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  321. package/lib/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  322. package/lib/ui-kit/SwipeListControl/scrollToStart.js +4 -0
  323. package/lib/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  324. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  325. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +54 -0
  326. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  327. package/lib/ui-kit/Text/Text.d.ts +1 -26
  328. package/lib/ui-kit/Text/Text.js.map +1 -1
  329. package/lib/ui-kit/Text/TextProps.d.ts +26 -0
  330. package/lib/ui-kit/Text/TextProps.js +2 -0
  331. package/lib/ui-kit/Text/TextProps.js.map +1 -0
  332. package/lib/utils/areArraysEqual.d.ts +1 -0
  333. package/lib/utils/areArraysEqual.js +2 -0
  334. package/lib/utils/areArraysEqual.js.map +1 -0
  335. package/lib/utils/mapChildren.d.ts +2 -0
  336. package/lib/utils/mapChildren.js +7 -0
  337. package/lib/utils/mapChildren.js.map +1 -0
  338. package/lib/utils/maxBy.d.ts +2 -2
  339. package/lib/utils/maxBy.js +2 -2
  340. package/lib/utils/maxBy.js.map +1 -1
  341. package/lib/utils/minBy.d.ts +1 -0
  342. package/lib/utils/minBy.js +3 -0
  343. package/lib/utils/minBy.js.map +1 -0
  344. package/mobile/bundle/bundle.umd.js +144 -145
  345. package/mobile/bundle/bundle.umd.min.js +1 -1
  346. package/mobile/bundle/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +5 -0
  347. package/{bundle/components/InvestmentGallery/InvestmentGalleryContent.d.ts → mobile/bundle/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts} +19 -23
  348. package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  349. package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  350. package/mobile/bundle/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
  351. package/mobile/bundle/components/Gallery/GalleryContent.d.ts +5 -0
  352. package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +2 -1
  353. package/mobile/bundle/components/ImgBlock/ImgBlock.d.ts +6 -0
  354. package/mobile/bundle/components/ImgBlock/ImgBlockContent.d.ts +7 -0
  355. package/mobile/bundle/components/ParagraphBlock/ParagraphBlock.d.ts +6 -0
  356. package/mobile/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +8 -0
  357. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalFields.d.ts +1 -1
  358. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  359. package/mobile/bundle/components/Video/VideoContent.d.ts +1 -0
  360. package/mobile/bundle/hooks/useIntersectionObserver.d.ts +7 -1
  361. package/mobile/bundle/ui-kit/Button/ArrowButton.d.ts +2 -0
  362. package/mobile/bundle/ui-kit/Paragraph/Paragraph.d.ts +1 -8
  363. package/mobile/bundle/ui-kit/Paragraph/ParagraphProps.d.ts +7 -0
  364. package/mobile/bundle/ui-kit/Radio/RadioProps.d.ts +1 -2
  365. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  366. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  367. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  368. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  369. package/mobile/bundle/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  370. package/mobile/bundle/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  371. package/mobile/bundle/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  372. package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  373. package/mobile/bundle/ui-kit/Text/Text.d.ts +1 -26
  374. package/mobile/bundle/ui-kit/Text/TextProps.d.ts +26 -0
  375. package/mobile/bundle/utils/areArraysEqual.d.ts +1 -0
  376. package/mobile/bundle/utils/mapChildren.d.ts +2 -0
  377. package/mobile/bundle/utils/maxBy.d.ts +2 -2
  378. package/mobile/bundle/utils/minBy.d.ts +1 -0
  379. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +4 -2
  380. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  381. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +3 -1
  382. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  383. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +5 -2
  384. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  385. package/mobile/dist/components/Carousel/Carousel.js +15 -15
  386. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  387. package/mobile/dist/components/CarouselCard/CarouselCard.js +2 -2
  388. package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  389. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +5 -0
  390. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +28 -0
  391. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -0
  392. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +46 -0
  393. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js +2 -0
  394. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js.map +1 -0
  395. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  396. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +12 -0
  397. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  398. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  399. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  400. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  401. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
  402. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +10 -14
  403. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  404. package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  405. package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  406. package/mobile/dist/components/Gallery/Gallery.js +1 -1
  407. package/mobile/dist/components/Gallery/GalleryCardInner.js +6 -1
  408. package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  409. package/mobile/dist/components/Gallery/GalleryContent.d.ts +5 -0
  410. package/mobile/dist/components/Gallery/GalleryInner.js.map +1 -1
  411. package/mobile/dist/components/Header/Header.js +2 -2
  412. package/mobile/dist/components/Header/Header.js.map +1 -1
  413. package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
  414. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  415. package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +2 -1
  416. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  417. package/mobile/dist/components/ImgBlock/ImgBlock.d.ts +6 -0
  418. package/mobile/dist/components/ImgBlock/ImgBlock.js +11 -0
  419. package/mobile/dist/components/ImgBlock/ImgBlock.js.map +1 -0
  420. package/mobile/dist/components/ImgBlock/ImgBlockContent.d.ts +7 -0
  421. package/mobile/dist/components/ImgBlock/ImgBlockContent.js +2 -0
  422. package/mobile/dist/components/ImgBlock/ImgBlockContent.js.map +1 -0
  423. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +5 -7
  424. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  425. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  426. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  427. package/mobile/dist/components/ParagraphBlock/ParagraphBlock.d.ts +6 -0
  428. package/mobile/dist/components/ParagraphBlock/ParagraphBlock.js +11 -0
  429. package/mobile/dist/components/ParagraphBlock/ParagraphBlock.js.map +1 -0
  430. package/mobile/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +8 -0
  431. package/mobile/dist/components/ParagraphBlock/ParagraphBlockContent.js +2 -0
  432. package/mobile/dist/components/ParagraphBlock/ParagraphBlockContent.js.map +1 -0
  433. package/mobile/dist/components/ProductGallery/ProductGallery.js +7 -7
  434. package/mobile/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  435. package/mobile/dist/components/RollupItem/RollupItem.js +10 -1
  436. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  437. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -3
  438. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  439. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +1 -1
  440. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +1 -1
  441. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +2 -4
  442. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  443. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +1 -1
  444. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  445. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  446. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  447. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +2 -2
  448. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  449. package/mobile/dist/components/TariffsTable/TableTileHeader.js +1 -3
  450. package/mobile/dist/components/TariffsTable/TableTileHeader.js.map +1 -1
  451. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +3 -1
  452. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  453. package/mobile/dist/components/Video/VideoContent.d.ts +1 -0
  454. package/mobile/dist/hooks/useIntersectionObserver.d.ts +7 -1
  455. package/mobile/dist/hooks/useIntersectionObserver.js +10 -1
  456. package/mobile/dist/hooks/useIntersectionObserver.js.map +1 -1
  457. package/mobile/dist/hooks/useLink.js +1 -1
  458. package/mobile/dist/hooks/useLink.js.map +1 -1
  459. package/mobile/dist/ui-kit/BlockWrapper.js +1 -11
  460. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  461. package/mobile/dist/ui-kit/Button/ArrowButton.d.ts +2 -0
  462. package/mobile/dist/ui-kit/Button/ArrowButton.js +3 -1
  463. package/mobile/dist/ui-kit/Button/ArrowButton.js.map +1 -1
  464. package/mobile/dist/ui-kit/Foldable/FoldableSection.js +1 -1
  465. package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  466. package/mobile/dist/ui-kit/InnerTable/InnerTable.js +3 -2
  467. package/mobile/dist/ui-kit/InnerTable/InnerTable.js.map +1 -1
  468. package/mobile/dist/ui-kit/InnerTable/InnerTableBody.js +2 -4
  469. package/mobile/dist/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  470. package/mobile/dist/ui-kit/Paragraph/Paragraph.d.ts +1 -8
  471. package/mobile/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
  472. package/mobile/dist/ui-kit/Paragraph/ParagraphProps.d.ts +7 -0
  473. package/mobile/dist/ui-kit/Paragraph/ParagraphProps.js +2 -0
  474. package/mobile/dist/ui-kit/Paragraph/ParagraphProps.js.map +1 -0
  475. package/mobile/dist/ui-kit/Radio/Radio.js +1 -1
  476. package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -1
  477. package/mobile/dist/ui-kit/Radio/RadioProps.d.ts +1 -2
  478. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  479. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  480. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +35 -0
  481. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  482. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  483. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  484. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  485. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  486. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  487. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  488. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  489. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js +16 -0
  490. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  491. package/mobile/dist/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  492. package/mobile/dist/ui-kit/SwipeListControl/scrollBy.js +8 -0
  493. package/mobile/dist/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  494. package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  495. package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.js +7 -0
  496. package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  497. package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  498. package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.js +7 -0
  499. package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  500. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  501. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +57 -0
  502. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  503. package/mobile/dist/ui-kit/Text/Text.d.ts +1 -26
  504. package/mobile/dist/ui-kit/Text/Text.js.map +1 -1
  505. package/mobile/dist/ui-kit/Text/TextProps.d.ts +26 -0
  506. package/mobile/dist/ui-kit/Text/TextProps.js +2 -0
  507. package/mobile/dist/ui-kit/Text/TextProps.js.map +1 -0
  508. package/mobile/dist/utils/areArraysEqual.d.ts +1 -0
  509. package/mobile/dist/utils/areArraysEqual.js +5 -0
  510. package/mobile/dist/utils/areArraysEqual.js.map +1 -0
  511. package/mobile/dist/utils/mapChildren.d.ts +2 -0
  512. package/mobile/dist/utils/mapChildren.js +10 -0
  513. package/mobile/dist/utils/mapChildren.js.map +1 -0
  514. package/mobile/dist/utils/maxBy.d.ts +2 -2
  515. package/mobile/dist/utils/maxBy.js +4 -4
  516. package/mobile/dist/utils/maxBy.js.map +1 -1
  517. package/mobile/dist/utils/minBy.d.ts +1 -0
  518. package/mobile/dist/utils/minBy.js +6 -0
  519. package/mobile/dist/utils/minBy.js.map +1 -0
  520. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +5 -3
  521. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  522. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +4 -2
  523. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  524. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +6 -3
  525. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  526. package/mobile/lib/components/Carousel/Carousel.js +15 -15
  527. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  528. package/mobile/lib/components/CarouselCard/CarouselCard.js +2 -2
  529. package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  530. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +5 -0
  531. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +26 -0
  532. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -0
  533. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +46 -0
  534. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js +2 -0
  535. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.js.map +1 -0
  536. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  537. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +10 -0
  538. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  539. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  540. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  541. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  542. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
  543. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +10 -14
  544. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  545. package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  546. package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  547. package/mobile/lib/components/Gallery/Gallery.js +1 -1
  548. package/mobile/lib/components/Gallery/GalleryCardInner.js +6 -1
  549. package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  550. package/mobile/lib/components/Gallery/GalleryContent.d.ts +5 -0
  551. package/mobile/lib/components/Gallery/GalleryInner.js.map +1 -1
  552. package/mobile/lib/components/Header/Header.js +3 -3
  553. package/mobile/lib/components/Header/Header.js.map +1 -1
  554. package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
  555. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  556. package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +2 -1
  557. package/mobile/lib/components/Header/HeaderSubMenuItem.js +1 -1
  558. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  559. package/mobile/lib/components/ImgBlock/ImgBlock.d.ts +6 -0
  560. package/mobile/lib/components/ImgBlock/ImgBlock.js +9 -0
  561. package/mobile/lib/components/ImgBlock/ImgBlock.js.map +1 -0
  562. package/mobile/lib/components/ImgBlock/ImgBlockContent.d.ts +7 -0
  563. package/mobile/lib/components/ImgBlock/ImgBlockContent.js +2 -0
  564. package/mobile/lib/components/ImgBlock/ImgBlockContent.js.map +1 -0
  565. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +6 -8
  566. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
  567. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
  568. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  569. package/mobile/lib/components/ParagraphBlock/ParagraphBlock.d.ts +6 -0
  570. package/mobile/lib/components/ParagraphBlock/ParagraphBlock.js +9 -0
  571. package/mobile/lib/components/ParagraphBlock/ParagraphBlock.js.map +1 -0
  572. package/mobile/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +8 -0
  573. package/mobile/lib/components/ParagraphBlock/ParagraphBlockContent.js +2 -0
  574. package/mobile/lib/components/ParagraphBlock/ParagraphBlockContent.js.map +1 -0
  575. package/mobile/lib/components/ProductGallery/ProductGallery.js +8 -8
  576. package/mobile/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  577. package/mobile/lib/components/RollupItem/RollupItem.js +10 -1
  578. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  579. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -3
  580. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  581. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +2 -2
  582. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +1 -1
  583. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +2 -4
  584. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  585. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +1 -1
  586. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  587. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  588. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  589. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +2 -2
  590. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  591. package/mobile/lib/components/TariffsTable/TableTileHeader.js +1 -3
  592. package/mobile/lib/components/TariffsTable/TableTileHeader.js.map +1 -1
  593. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +4 -2
  594. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  595. package/mobile/lib/components/Video/VideoContent.d.ts +1 -0
  596. package/mobile/lib/hooks/useIntersectionObserver.d.ts +7 -1
  597. package/mobile/lib/hooks/useIntersectionObserver.js +11 -2
  598. package/mobile/lib/hooks/useIntersectionObserver.js.map +1 -1
  599. package/mobile/lib/hooks/useLink.js +2 -2
  600. package/mobile/lib/hooks/useLink.js.map +1 -1
  601. package/mobile/lib/ui-kit/BlockWrapper.js +1 -11
  602. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  603. package/mobile/lib/ui-kit/Button/ArrowButton.d.ts +2 -0
  604. package/mobile/lib/ui-kit/Button/ArrowButton.js +2 -0
  605. package/mobile/lib/ui-kit/Button/ArrowButton.js.map +1 -1
  606. package/mobile/lib/ui-kit/Foldable/FoldableSection.js +1 -1
  607. package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  608. package/mobile/lib/ui-kit/InnerTable/InnerTable.js +4 -3
  609. package/mobile/lib/ui-kit/InnerTable/InnerTable.js.map +1 -1
  610. package/mobile/lib/ui-kit/InnerTable/InnerTableBody.js +3 -5
  611. package/mobile/lib/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  612. package/mobile/lib/ui-kit/Paragraph/Paragraph.d.ts +1 -8
  613. package/mobile/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
  614. package/mobile/lib/ui-kit/Paragraph/ParagraphProps.d.ts +7 -0
  615. package/mobile/lib/ui-kit/Paragraph/ParagraphProps.js +2 -0
  616. package/mobile/lib/ui-kit/Paragraph/ParagraphProps.js.map +1 -0
  617. package/mobile/lib/ui-kit/Radio/Radio.js +1 -1
  618. package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -1
  619. package/mobile/lib/ui-kit/Radio/RadioProps.d.ts +1 -2
  620. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  621. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  622. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +33 -0
  623. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  624. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  625. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  626. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  627. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  628. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  629. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  630. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  631. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js +14 -0
  632. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  633. package/mobile/lib/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  634. package/mobile/lib/ui-kit/SwipeListControl/scrollBy.js +5 -0
  635. package/mobile/lib/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  636. package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  637. package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.js +4 -0
  638. package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  639. package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  640. package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.js +4 -0
  641. package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  642. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  643. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +54 -0
  644. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  645. package/mobile/lib/ui-kit/Text/Text.d.ts +1 -26
  646. package/mobile/lib/ui-kit/Text/Text.js.map +1 -1
  647. package/mobile/lib/ui-kit/Text/TextProps.d.ts +26 -0
  648. package/mobile/lib/ui-kit/Text/TextProps.js +2 -0
  649. package/mobile/lib/ui-kit/Text/TextProps.js.map +1 -0
  650. package/mobile/lib/utils/areArraysEqual.d.ts +1 -0
  651. package/mobile/lib/utils/areArraysEqual.js +2 -0
  652. package/mobile/lib/utils/areArraysEqual.js.map +1 -0
  653. package/mobile/lib/utils/mapChildren.d.ts +2 -0
  654. package/mobile/lib/utils/mapChildren.js +7 -0
  655. package/mobile/lib/utils/mapChildren.js.map +1 -0
  656. package/mobile/lib/utils/maxBy.d.ts +2 -2
  657. package/mobile/lib/utils/maxBy.js +2 -2
  658. package/mobile/lib/utils/maxBy.js.map +1 -1
  659. package/mobile/lib/utils/minBy.d.ts +1 -0
  660. package/mobile/lib/utils/minBy.js +3 -0
  661. package/mobile/lib/utils/minBy.js.map +1 -0
  662. package/mobile/src/common.css +0 -7
  663. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +5 -3
  664. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +5 -3
  665. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +6 -3
  666. package/mobile/src/components/Carousel/Carousel.tsx +42 -23
  667. package/mobile/src/components/CarouselCard/CarouselCard.tsx +2 -2
  668. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.example.json +28 -0
  669. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +83 -0
  670. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.ui.json +9 -0
  671. package/mobile/src/components/{InvestmentGallery/InvestmentGalleryContent.ts → CarouselInvestmentCard/CarouselInvestmentCardContent.ts} +20 -25
  672. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.example.json +25 -0
  673. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +36 -0
  674. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.ui.json +1 -0
  675. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +13 -0
  676. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +25 -29
  677. package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
  678. package/mobile/src/components/Gallery/Gallery.tsx +1 -1
  679. package/mobile/src/components/Gallery/GalleryCardInner.tsx +7 -1
  680. package/mobile/src/components/Gallery/GalleryContent.ts +5 -0
  681. package/mobile/src/components/Gallery/GalleryInner.tsx +0 -1
  682. package/mobile/src/components/Header/Header.tsx +4 -6
  683. package/mobile/src/components/Header/HeaderSubMenu.tsx +3 -4
  684. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +5 -2
  685. package/mobile/src/components/ImgBlock/ImgBlock.example.json +11 -0
  686. package/mobile/src/components/ImgBlock/ImgBlock.tsx +17 -0
  687. package/mobile/src/components/ImgBlock/ImgBlock.ui.json +7 -0
  688. package/mobile/src/components/ImgBlock/ImgBlockContent.ts +8 -0
  689. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +8 -11
  690. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -3
  691. package/mobile/src/components/ParagraphBlock/ParagraphBlock.example.json +5 -0
  692. package/mobile/src/components/ParagraphBlock/ParagraphBlock.tsx +19 -0
  693. package/mobile/src/components/ParagraphBlock/ParagraphBlock.ui.json +1 -0
  694. package/mobile/src/components/ParagraphBlock/ParagraphBlockContent.ts +9 -0
  695. package/mobile/src/components/ProductGallery/ProductGallery.tsx +13 -13
  696. package/mobile/src/components/RollupItem/RollupItem.tsx +10 -1
  697. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +24 -26
  698. package/mobile/src/components/SafeDepositRental/RenderRadioButtons.tsx +2 -3
  699. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -5
  700. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +3 -3
  701. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +3 -3
  702. package/mobile/src/components/TariffsTable/TableTileHeader.tsx +8 -10
  703. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +11 -4
  704. package/mobile/src/components/Video/VideoContent.ts +1 -0
  705. package/mobile/src/hooks/useIntersectionObserver.ts +23 -2
  706. package/mobile/src/hooks/useLink.ts +2 -2
  707. package/mobile/src/ui-kit/BlockWrapper.tsx +1 -16
  708. package/mobile/src/ui-kit/Button/ArrowButton.tsx +13 -0
  709. package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +3 -1
  710. package/mobile/src/ui-kit/InnerTable/InnerTable.tsx +4 -5
  711. package/mobile/src/ui-kit/InnerTable/InnerTableBody.tsx +6 -5
  712. package/mobile/src/ui-kit/Paragraph/Paragraph.tsx +1 -8
  713. package/mobile/src/ui-kit/Paragraph/ParagraphProps.ts +8 -0
  714. package/mobile/src/ui-kit/Radio/Radio.tsx +1 -1
  715. package/mobile/src/ui-kit/Radio/RadioProps.ts +1 -1
  716. package/mobile/src/ui-kit/Select/Select.tsx +0 -1
  717. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +97 -0
  718. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +31 -55
  719. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +25 -59
  720. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +3 -3
  721. package/mobile/src/ui-kit/SwipeListControl/SwipeListItem.tsx +44 -0
  722. package/mobile/src/ui-kit/SwipeListControl/scrollBy.ts +10 -0
  723. package/mobile/src/ui-kit/SwipeListControl/scrollToEnd.ts +3 -0
  724. package/mobile/src/ui-kit/SwipeListControl/scrollToStart.ts +3 -0
  725. package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +84 -0
  726. package/mobile/src/ui-kit/Text/Text.tsx +1 -63
  727. package/mobile/src/ui-kit/Text/TextProps.ts +63 -0
  728. package/mobile/src/utils/areArraysEqual.ts +2 -0
  729. package/mobile/src/utils/mapChildren.ts +11 -0
  730. package/mobile/src/utils/maxBy.ts +3 -4
  731. package/mobile/src/utils/minBy.ts +5 -0
  732. package/package.json +2 -2
  733. package/src/common.css +0 -7
  734. package/src/components/Blocks.ts +9 -3
  735. package/src/components/Calculator/BonusCalculatorForm.tsx +5 -3
  736. package/src/components/Calculator/CreditCalculatorForm.tsx +5 -3
  737. package/src/components/Calculator/DepositCalculatorForm.tsx +6 -3
  738. package/src/components/Carousel/Carousel.fixture.tsx +40 -1
  739. package/src/components/Carousel/Carousel.tsx +42 -23
  740. package/src/components/CarouselCard/CarouselCard.fixture.tsx +1 -1
  741. package/src/components/CarouselCard/CarouselCard.tsx +2 -2
  742. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.example.json +28 -0
  743. package/src/components/{InvestmentGallery/InvestmentGallery.fixture.tsx → CarouselInvestmentCard/CarouselInvestmentCard.fixture.tsx} +21 -27
  744. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +83 -0
  745. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.ui.json +9 -0
  746. package/src/components/{InvestmentGallery/InvestmentGalleryContent.ts → CarouselInvestmentCard/CarouselInvestmentCardContent.ts} +20 -25
  747. package/src/components/CarouselProgramsCard/CarouselProgramsCard.example.json +25 -0
  748. package/src/components/CarouselProgramsCard/CarouselProgramsCard.fixture.tsx +38 -0
  749. package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +36 -0
  750. package/src/components/CarouselProgramsCard/CarouselProgramsCard.ui.json +1 -0
  751. package/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +13 -0
  752. package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +2 -2
  753. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +25 -29
  754. package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +1 -1
  755. package/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
  756. package/src/components/Gallery/Gallery.mobile.tsx +1 -1
  757. package/src/components/Gallery/GalleryCardInner.tsx +7 -1
  758. package/src/components/Gallery/GalleryContent.ts +5 -0
  759. package/src/components/Gallery/GalleryInner.tsx +0 -1
  760. package/src/components/Header/Header.mobile.tsx +4 -6
  761. package/src/components/Header/HeaderSubMenu.tsx +3 -4
  762. package/src/components/Header/HeaderSubMenuItem.tsx +5 -2
  763. package/src/components/ImgBlock/ImgBlock.example.json +11 -0
  764. package/src/components/ImgBlock/ImgBlock.fixture.tsx +21 -0
  765. package/src/components/ImgBlock/ImgBlock.tsx +17 -0
  766. package/src/components/ImgBlock/ImgBlock.ui.json +7 -0
  767. package/src/components/ImgBlock/ImgBlockContent.ts +8 -0
  768. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +8 -11
  769. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -3
  770. package/src/components/ParagraphBlock/ParagraphBlock.example.json +5 -0
  771. package/src/components/ParagraphBlock/ParagraphBlock.fixture.tsx +45 -0
  772. package/src/components/ParagraphBlock/ParagraphBlock.tsx +19 -0
  773. package/src/components/ParagraphBlock/ParagraphBlock.ui.json +1 -0
  774. package/src/components/ParagraphBlock/ParagraphBlockContent.ts +9 -0
  775. package/src/components/ProductGallery/ProductGallery.tsx +13 -13
  776. package/src/components/RollupItem/RollupItem.tsx +10 -1
  777. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +24 -26
  778. package/src/components/SafeDepositRental/RenderRadioButtons.tsx +2 -3
  779. package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -5
  780. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +3 -3
  781. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +3 -3
  782. package/src/components/StepsBlock/StepsBlock.tsx +2 -3
  783. package/src/components/TariffsTable/TableTileHeader.tsx +8 -10
  784. package/src/components/TariffsTable/TariffsTable.tsx +20 -22
  785. package/src/components/TariffsTable/TariffsTableRow.tsx +11 -4
  786. package/src/components/Video/VideoContent.ts +1 -0
  787. package/src/hooks/useIntersectionObserver.ts +23 -2
  788. package/src/hooks/useLink.ts +2 -2
  789. package/src/ui-kit/BlockWrapper.tsx +1 -16
  790. package/src/ui-kit/Button/ArrowButton.tsx +13 -0
  791. package/src/ui-kit/Foldable/FoldableSection.tsx +3 -1
  792. package/src/ui-kit/InnerTable/InnerTable.tsx +4 -5
  793. package/src/ui-kit/InnerTable/InnerTableBody.tsx +6 -5
  794. package/src/ui-kit/Paragraph/Paragraph.tsx +1 -8
  795. package/src/ui-kit/Paragraph/ParagraphProps.ts +8 -0
  796. package/src/ui-kit/Radio/Radio.tsx +1 -1
  797. package/src/ui-kit/Radio/RadioProps.ts +1 -1
  798. package/src/ui-kit/Select/Select.tsx +0 -1
  799. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +97 -0
  800. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +31 -55
  801. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +25 -59
  802. package/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +3 -3
  803. package/src/ui-kit/SwipeListControl/SwipeListItem.tsx +44 -0
  804. package/src/ui-kit/SwipeListControl/scrollBy.ts +10 -0
  805. package/src/ui-kit/SwipeListControl/scrollToEnd.ts +3 -0
  806. package/src/ui-kit/SwipeListControl/scrollToStart.ts +3 -0
  807. package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +84 -0
  808. package/src/ui-kit/Text/Text.tsx +1 -63
  809. package/src/ui-kit/Text/TextProps.ts +63 -0
  810. package/src/utils/areArraysEqual.ts +2 -0
  811. package/src/utils/mapChildren.ts +11 -0
  812. package/src/utils/maxBy.ts +3 -4
  813. package/src/utils/minBy.ts +5 -0
  814. package/tailwind.config.cjs +8 -0
  815. package/bundle/components/Carousel/CarouselContainer.d.ts +0 -10
  816. package/bundle/components/InvestmentGallery/InvestmentGallery.d.ts +0 -5
  817. package/bundle/components/InvestmentGallery/InvestmentGalleryCard.d.ts +0 -7
  818. package/bundle/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  819. package/bundle/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  820. package/bundle/ui-kit/SwipeListControl/constants.d.ts +0 -2
  821. package/bundle/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  822. package/bundle/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  823. package/bundle/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  824. package/dist/components/Carousel/CarouselContainer.d.ts +0 -10
  825. package/dist/components/Carousel/CarouselContainer.js +0 -14
  826. package/dist/components/Carousel/CarouselContainer.js.map +0 -1
  827. package/dist/components/InvestmentGallery/InvestmentGallery.d.ts +0 -5
  828. package/dist/components/InvestmentGallery/InvestmentGallery.js +0 -26
  829. package/dist/components/InvestmentGallery/InvestmentGallery.js.map +0 -1
  830. package/dist/components/InvestmentGallery/InvestmentGalleryCard.d.ts +0 -7
  831. package/dist/components/InvestmentGallery/InvestmentGalleryCard.js +0 -23
  832. package/dist/components/InvestmentGallery/InvestmentGalleryCard.js.map +0 -1
  833. package/dist/components/InvestmentGallery/InvestmentGalleryContent.js.map +0 -1
  834. package/dist/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  835. package/dist/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -8
  836. package/dist/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  837. package/dist/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  838. package/dist/ui-kit/SwipeListControl/SwipeListControlList.js +0 -11
  839. package/dist/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  840. package/dist/ui-kit/SwipeListControl/constants.d.ts +0 -2
  841. package/dist/ui-kit/SwipeListControl/constants.js +0 -12
  842. package/dist/ui-kit/SwipeListControl/constants.js.map +0 -1
  843. package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  844. package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -13
  845. package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  846. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  847. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -19
  848. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  849. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  850. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -33
  851. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  852. package/lib/components/Carousel/CarouselContainer.d.ts +0 -10
  853. package/lib/components/Carousel/CarouselContainer.js +0 -12
  854. package/lib/components/Carousel/CarouselContainer.js.map +0 -1
  855. package/lib/components/InvestmentGallery/InvestmentGallery.d.ts +0 -5
  856. package/lib/components/InvestmentGallery/InvestmentGallery.js +0 -24
  857. package/lib/components/InvestmentGallery/InvestmentGallery.js.map +0 -1
  858. package/lib/components/InvestmentGallery/InvestmentGalleryCard.d.ts +0 -7
  859. package/lib/components/InvestmentGallery/InvestmentGalleryCard.js +0 -21
  860. package/lib/components/InvestmentGallery/InvestmentGalleryCard.js.map +0 -1
  861. package/lib/components/InvestmentGallery/InvestmentGalleryContent.js +0 -2
  862. package/lib/components/InvestmentGallery/InvestmentGalleryContent.js.map +0 -1
  863. package/lib/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  864. package/lib/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -6
  865. package/lib/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  866. package/lib/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  867. package/lib/ui-kit/SwipeListControl/SwipeListControlList.js +0 -9
  868. package/lib/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  869. package/lib/ui-kit/SwipeListControl/constants.d.ts +0 -2
  870. package/lib/ui-kit/SwipeListControl/constants.js +0 -10
  871. package/lib/ui-kit/SwipeListControl/constants.js.map +0 -1
  872. package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  873. package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -10
  874. package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  875. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -7
  876. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -16
  877. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  878. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -11
  879. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -30
  880. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  881. package/mobile/bundle/components/Carousel/CarouselContainer.d.ts +0 -10
  882. package/mobile/bundle/components/InvestmentGallery/InvestmentGallery.d.ts +0 -5
  883. package/mobile/bundle/components/InvestmentGallery/InvestmentGalleryCard.d.ts +0 -7
  884. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  885. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  886. package/mobile/bundle/ui-kit/SwipeListControl/constants.d.ts +0 -2
  887. package/mobile/bundle/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  888. package/mobile/bundle/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  889. package/mobile/bundle/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  890. package/mobile/dist/components/Carousel/CarouselContainer.d.ts +0 -10
  891. package/mobile/dist/components/Carousel/CarouselContainer.js +0 -14
  892. package/mobile/dist/components/Carousel/CarouselContainer.js.map +0 -1
  893. package/mobile/dist/components/InvestmentGallery/InvestmentGallery.d.ts +0 -5
  894. package/mobile/dist/components/InvestmentGallery/InvestmentGallery.js +0 -26
  895. package/mobile/dist/components/InvestmentGallery/InvestmentGallery.js.map +0 -1
  896. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryCard.d.ts +0 -7
  897. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryCard.js +0 -23
  898. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryCard.js.map +0 -1
  899. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryContent.d.ts +0 -50
  900. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryContent.js.map +0 -1
  901. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  902. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -8
  903. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  904. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  905. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.js +0 -11
  906. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  907. package/mobile/dist/ui-kit/SwipeListControl/constants.d.ts +0 -2
  908. package/mobile/dist/ui-kit/SwipeListControl/constants.js +0 -12
  909. package/mobile/dist/ui-kit/SwipeListControl/constants.js.map +0 -1
  910. package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  911. package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -13
  912. package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  913. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  914. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -19
  915. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  916. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  917. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -33
  918. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  919. package/mobile/lib/components/Carousel/CarouselContainer.d.ts +0 -10
  920. package/mobile/lib/components/Carousel/CarouselContainer.js +0 -12
  921. package/mobile/lib/components/Carousel/CarouselContainer.js.map +0 -1
  922. package/mobile/lib/components/InvestmentGallery/InvestmentGallery.d.ts +0 -5
  923. package/mobile/lib/components/InvestmentGallery/InvestmentGallery.js +0 -24
  924. package/mobile/lib/components/InvestmentGallery/InvestmentGallery.js.map +0 -1
  925. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryCard.d.ts +0 -7
  926. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryCard.js +0 -21
  927. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryCard.js.map +0 -1
  928. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryContent.d.ts +0 -50
  929. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryContent.js +0 -2
  930. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryContent.js.map +0 -1
  931. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  932. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -6
  933. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  934. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  935. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.js +0 -9
  936. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  937. package/mobile/lib/ui-kit/SwipeListControl/constants.d.ts +0 -2
  938. package/mobile/lib/ui-kit/SwipeListControl/constants.js +0 -10
  939. package/mobile/lib/ui-kit/SwipeListControl/constants.js.map +0 -1
  940. package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  941. package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -10
  942. package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  943. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  944. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -16
  945. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  946. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  947. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -30
  948. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  949. package/mobile/src/components/Carousel/CarouselContainer.tsx +0 -34
  950. package/mobile/src/components/InvestmentGallery/InvestmentGallery.example.json +0 -64
  951. package/mobile/src/components/InvestmentGallery/InvestmentGallery.tsx +0 -66
  952. package/mobile/src/components/InvestmentGallery/InvestmentGallery.ui.json +0 -11
  953. package/mobile/src/components/InvestmentGallery/InvestmentGalleryCard.tsx +0 -84
  954. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlItem.tsx +0 -24
  955. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlList.tsx +0 -50
  956. package/mobile/src/ui-kit/SwipeListControl/constants.ts +0 -10
  957. package/mobile/src/ui-kit/SwipeListControl/utils/getContainerStyle.ts +0 -9
  958. package/mobile/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +0 -25
  959. package/mobile/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +0 -49
  960. package/src/components/Carousel/CarouselContainer.tsx +0 -34
  961. package/src/components/InvestmentGallery/InvestmentGallery.example.json +0 -64
  962. package/src/components/InvestmentGallery/InvestmentGallery.tsx +0 -66
  963. package/src/components/InvestmentGallery/InvestmentGallery.ui.json +0 -11
  964. package/src/components/InvestmentGallery/InvestmentGalleryCard.tsx +0 -84
  965. package/src/ui-kit/SwipeListControl/SwipeListControlItem.tsx +0 -24
  966. package/src/ui-kit/SwipeListControl/SwipeListControlList.tsx +0 -50
  967. package/src/ui-kit/SwipeListControl/constants.ts +0 -10
  968. package/src/ui-kit/SwipeListControl/utils/getContainerStyle.ts +0 -9
  969. package/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +0 -25
  970. package/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +0 -49
@@ -311,8 +311,10 @@
311
311
  }
312
312
  }
313
313
 
314
- function useIntersectionObserver(observerCallback, observerOptions) {
314
+ const SENSITIVITY_SCALE = 10;
315
+ function useIntersectionObserver(observerCallback, { sensitivity, rootRef } = {}) {
315
316
  const ref = useRef(null);
317
+ const observerOptions = useMemo(() => ({ threshold: sensitivityToThreshold(sensitivity), root: rootRef?.current }), [sensitivity, rootRef?.current]);
316
318
  useEffect(() => {
317
319
  if (!ref.current) {
318
320
  return undefined;
@@ -325,6 +327,13 @@
325
327
  }, [observerCallback, observerOptions]);
326
328
  return ref;
327
329
  }
330
+ function sensitivityToThreshold(sensitivity = 0) {
331
+ const thresholdsCount = Math.round(sensitivity * SENSITIVITY_SCALE);
332
+ return new Array(thresholdsCount)
333
+ .fill(0)
334
+ .map((_, thi) => Math.min(thi / thresholdsCount), 1)
335
+ .concat(1);
336
+ }
328
337
 
329
338
  const changeHashOnObserve = ({ anchor, anchorClickRef }) => (entries) => {
330
339
  if (!entries?.length) {
@@ -343,19 +352,13 @@
343
352
  }
344
353
  };
345
354
 
346
- const THRESHOLD_ACCURACY = 100; // Decimals number (100 is for two decimals number, 0.**)
347
- const THRESHOLD_ARRAY_LENGTH = 18;
348
- const THRESHOLD_ARRAY_START_VALUE = (THRESHOLD_ACCURACY - THRESHOLD_ARRAY_LENGTH) / THRESHOLD_ACCURACY;
349
- const OBSERVER_OPTIONS = {
350
- threshold: new Array(THRESHOLD_ARRAY_LENGTH).fill(0).map(getIntersectionThreshold),
351
- };
352
355
  const BlockWrapper = JSX(({ className, block, tag = 'section', role, children }) => {
353
356
  const Tag = tag;
354
357
  const { anchor, labels } = block || {};
355
358
  const [isVisible, setVisible] = useState(true);
356
359
  const anchorClickRef = useRef({});
357
360
  const observerCallback = useMemo(() => changeHashOnObserve({ anchor, anchorClickRef }), [anchor]);
358
- const ref = useIntersectionObserver(observerCallback, OBSERVER_OPTIONS);
361
+ const ref = useIntersectionObserver(observerCallback, { sensitivity: 1 });
359
362
  useEffect(() => EventBus.inst.subscribe('anchorClick', (e) => {
360
363
  setVisible(true);
361
364
  anchorClickRef.current = e;
@@ -372,10 +375,6 @@
372
375
  }), []);
373
376
  return isVisible ? (jsx(Tag, { className: className, role: role, ...(anchor ? { id: anchor, ref } : {}), children: children })) : null;
374
377
  });
375
- function getIntersectionThreshold(_, i) {
376
- const value = (i + 1) / THRESHOLD_ACCURACY + THRESHOLD_ARRAY_START_VALUE;
377
- return Math.round(value * THRESHOLD_ACCURACY) / THRESHOLD_ACCURACY;
378
- }
379
378
  function changeHash(label) {
380
379
  if (label) {
381
380
  globalThis.document.location.hash = label;
@@ -426,7 +425,7 @@
426
425
  : '';
427
426
  }
428
427
  }, [isUnfolded, children?.length]);
429
- return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden max-h-0 ${className}`, children: children }));
428
+ return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
430
429
  });
431
430
 
432
431
  const svgUseStyleMap = {
@@ -626,7 +625,7 @@
626
625
  props.onClick && props.onClick(ev);
627
626
  const isLocalHref = href && !isURL(href);
628
627
  const isLocalTarget = !props.target || props.target === '_self';
629
- if (isLocalHref && isLocalTarget) {
628
+ if (isLocalHref && isLocalTarget && !isHash(href)) {
630
629
  ev?.preventDefault();
631
630
  router.push(href);
632
631
  }
@@ -865,6 +864,8 @@
865
864
  const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `group 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
866
865
  ? 'bg-secondary-light text-secondary-text'
867
866
  : 'bg-white text-primary-text hover:text-primary-main'} ${className || ''}`, disabled: disabled, ...rest, children: jsx(ImgInner, { className: "w-4 h-4 min-w-4 min-h-4 rounded-full box-border", image: { icon: 'ArrowLeftIcon', iconVersion: 'black' }, imageClassName: "group-hover:text-primary-main", width: "16", height: "16", asSVG: true }) })));
867
+ 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" })));
868
+ 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" })));
868
869
 
869
870
  function renderArrows({ dec, inc, canDec, canInc, btnClass, className = '', }) {
870
871
  const isVisible = canDec || canInc;
@@ -1073,7 +1074,9 @@
1073
1074
 
1074
1075
  const BonusCalculatorForm = JSX(({ className = '', sourceBookDir = '', buttons, footnote }) => {
1075
1076
  const [travelExpenseValue, setTravelExpenseValue] = useState(DEFAULT_TRAVEL_MIN_SUM);
1077
+ const handleTravelExpenseValue = useCallback((_) => setTravelExpenseValue(_), []);
1076
1078
  const [restExpenseValue, setRestExpenseValue] = useState(DEFAULT_REST_MIN_SUM);
1079
+ const handleRestExpenseValue = useCallback((_) => setRestExpenseValue(_), []);
1077
1080
  const userInputParams = {
1078
1081
  travelExpenseValue,
1079
1082
  restExpenseValue,
@@ -1085,14 +1088,14 @@
1085
1088
  moneyValue: travelExpenseValue,
1086
1089
  step: 500,
1087
1090
  isShowItems: false,
1088
- }, setTravelExpenseValue), renderWantedSumInput('Сумма покупок в остальных категориях, ₽', {
1091
+ }, handleTravelExpenseValue), renderWantedSumInput('Сумма покупок в остальных категориях, ₽', {
1089
1092
  className: 'mt-7',
1090
1093
  minSum: minSumOther,
1091
1094
  maxSum: maxSumOther,
1092
1095
  moneyValue: restExpenseValue,
1093
1096
  step: 500,
1094
1097
  isShowItems: false,
1095
- }, setRestExpenseValue)] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]" })) : null }), jsxs("div", { className: "w-full max-w-[350px]", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonSection(buttons), renderFootnote(footnote)] })] }));
1098
+ }, handleRestExpenseValue)] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]" })) : null }), jsxs("div", { className: "w-full max-w-[350px]", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonSection(buttons), renderFootnote(footnote)] })] }));
1096
1099
  });
1097
1100
 
1098
1101
  const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
@@ -1178,7 +1181,9 @@
1178
1181
  const [isSalaryClient, toggleIsSalaryClient] = useState(false);
1179
1182
  const [isStateEmployee, toggleIsStateEmployee] = useState(false);
1180
1183
  const [moneyValue, setMoneyValue] = useState(DEFAULT_SUM);
1184
+ const handleMoneyValue = useCallback((_) => setMoneyValue(_), []);
1181
1185
  const [monthsValue, setMonthsValue] = useState(DEFAULT_MONTHS);
1186
+ const handleMonthsValue = useCallback((_) => setMonthsValue(_), []);
1182
1187
  const userInputParams = {
1183
1188
  isAnnuity,
1184
1189
  isInsurance,
@@ -1188,7 +1193,7 @@
1188
1193
  monthsValue,
1189
1194
  };
1190
1195
  const calculatorParams = useCreditCalculatorParams(userInputParams, sourceBookDir);
1191
- return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма кредита, ₽', { ...calculatorParams, step: 500 }, setMoneyValue), renderMonthsInput('Срок кредита, месяцев', calculatorParams, setMonthsValue), jsxs("div", { className: "mt-7", children: [jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", checked: isSalaryClient, onChange: toggleIsSalaryClient }), jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", checked: isStateEmployee, onChange: toggleIsStateEmployee }), jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsurance, onChange: toggleIsInsurance })] })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.finalRate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [jsx(CalculatorValueBlock, { title: isAnnuity ? 'Ежемесячный платеж' : 'Платёж в первый месяц', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), jsx(RadioButtonGroup, { items: paymentTypeItems, checkedItem: isAnnuity ? ANNUITY : DIFFERENTIAL, onChange: (text) => toggleIsAnnuity(text === ANNUITY) }), renderButtonSection(buttons), renderFootnote(footnote)] })] }));
1196
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма кредита, ₽', { ...calculatorParams, step: 500 }, handleMoneyValue), renderMonthsInput('Срок кредита, месяцев', calculatorParams, handleMonthsValue), jsxs("div", { className: "mt-7", children: [jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", checked: isSalaryClient, onChange: toggleIsSalaryClient }), jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", checked: isStateEmployee, onChange: toggleIsStateEmployee }), jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsurance, onChange: toggleIsInsurance })] })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.finalRate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [jsx(CalculatorValueBlock, { title: isAnnuity ? 'Ежемесячный платеж' : 'Платёж в первый месяц', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), jsx(RadioButtonGroup, { items: paymentTypeItems, checkedItem: isAnnuity ? ANNUITY : DIFFERENTIAL, onChange: (text) => toggleIsAnnuity(text === ANNUITY) }), renderButtonSection(buttons), renderFootnote(footnote)] })] }));
1192
1197
  });
1193
1198
 
1194
1199
  const useDepositCalculatorParams = (userInputParams, sourceBookDir) => {
@@ -1228,6 +1233,7 @@
1228
1233
  ];
1229
1234
  const DepositCalculatorForm = JSX(({ className = '', sourceBookDir, buttons, footnote }) => {
1230
1235
  const [moneyValue, setMoneyValue] = useState(DEFAULT_SUM);
1236
+ const handleMoneyValue = useCallback((_) => setMoneyValue(_), []);
1231
1237
  const [monthsValue, setMonthsValue] = useState(DEFAULT_MONTHS);
1232
1238
  const [isMonthlyInterestPayment, toggleIsMonthlyInterestPayment] = useState(false);
1233
1239
  const userInputParams = {
@@ -1235,13 +1241,15 @@
1235
1241
  monthsValue,
1236
1242
  isMonthlyInterestPayment,
1237
1243
  };
1244
+ const handleMonthsValue = useCallback((_) => setMonthsValue(_), []);
1245
+ useState(false);
1238
1246
  const calculatorParams = useDepositCalculatorParams(userInputParams, sourceBookDir);
1239
1247
  const { income, finalSum, rate } = calculatorParams;
1240
1248
  return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма вклада, ₽', {
1241
1249
  ...calculatorParams,
1242
- }, setMoneyValue), renderMonthsInput('Срок вклада, месяцев', {
1250
+ }, handleMoneyValue), renderMonthsInput('Срок вклада, месяцев', {
1243
1251
  ...calculatorParams,
1244
- }, setMonthsValue)] }), jsx(Rate, { rate: rate || 1, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [income ? (jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" })) : null, finalSum ? (jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" })) : null, jsx(RadioButtonGroup, { items: depositTypeItems, checkedItem: isMonthlyInterestPayment ? EVERY_MONTH : AT_END_TERM, onChange: (text) => toggleIsMonthlyInterestPayment(text === EVERY_MONTH) }), renderButtonSection(buttons), renderFootnote(footnote)] })] }));
1252
+ }, handleMonthsValue)] }), jsx(Rate, { rate: rate || 1, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [income ? (jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" })) : null, finalSum ? (jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" })) : null, jsx(RadioButtonGroup, { items: depositTypeItems, checkedItem: isMonthlyInterestPayment ? EVERY_MONTH : AT_END_TERM, onChange: (text) => toggleIsMonthlyInterestPayment(text === EVERY_MONTH) }), renderButtonSection(buttons), renderFootnote(footnote)] })] }));
1245
1253
  });
1246
1254
 
1247
1255
  const EmbeddableCalcBlocks = {
@@ -1277,7 +1285,7 @@
1277
1285
  className: 'top-8',
1278
1286
  })] }), jsx("div", { className: "flex", style: { transform: `translateX(-${slideIndexShift}00%)` }, role: "list", children: calculatorBlocks?.length ? calculatorBlocks.map(renderCalculatorBlock) : null })] }));
1279
1287
  });
1280
- function renderNavButton$2({ tab, i, isActive, onClick }) {
1288
+ function renderNavButton$3({ tab, i, isActive, onClick }) {
1281
1289
  const btnClassName = isActive
1282
1290
  ? 'h-[88px] w-[387px] min-w-[387px] p-5 border-none bg-primary-main text-white'
1283
1291
  : `h-[77px] w-[328px] min-w-[328px] px-5 py-4 ease-in duration-300 bg-white text-primary-text`;
@@ -1296,7 +1304,7 @@
1296
1304
  }
1297
1305
  function renderTabs({ activeIndex, tabsNav, slideIndexShift, onClick }) {
1298
1306
  const CARD_SHIFT = 388;
1299
- return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${activeIndex * CARD_SHIFT}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-9 box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$2({
1307
+ return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${activeIndex * CARD_SHIFT}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-9 box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$3({
1300
1308
  tab,
1301
1309
  i,
1302
1310
  isActive: Boolean(i === slideIndexShift),
@@ -1376,40 +1384,143 @@
1376
1384
  return (jsxs(BlockWrapper, { className: `p-[50px] flex flex-col items-center font-sans bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "max-w-[684px] pb-9", headingType: "h2", title: title }) : null, jsxs("form", { className: "w-[468px]", method: "POST", action: FORM_URL, children: [jsx(CurrencyInput, { name: AMOUNT_KEY, value: value, onChange: handleChange, valid: value === '' || !isDisabled, placeholder: placeholder, label: label }), button?.text ? (jsx("button", { type: "submit", className: `w-full p-4 mt-6 ${buttonStyle} `, disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
1377
1385
  });
1378
1386
 
1379
- const childStyleMap = ['[&>*]:min-w-[100%]', '[&>*]:min-w-[50%]', '[&>*]:min-w-[33.33%]'];
1380
- const CarouselContainer = JSX(({ activeIndex, itemCount, visibleItemCount, containerRef, children }) => {
1381
- const scrollWidth = containerRef?.current?.scrollWidth || 0;
1382
- const maxScrollLeft = scrollWidth - (containerRef?.current?.clientWidth || 0);
1383
- const translateX = visibleItemCount
1384
- ? `${-Math.round((100 * activeIndex) / visibleItemCount)}%`
1385
- : `${-Math.round(Math.min((scrollWidth * activeIndex) / (itemCount || 1), maxScrollLeft))}px`;
1386
- return (jsx("div", { className: `flex gap-1 duration-1000 ${visibleItemCount ? childStyleMap[visibleItemCount - 1] : ''}`, style: { transform: `translateX(${translateX})` }, role: "list", ref: containerRef, children: children }));
1387
+ const mapChildren = (mapper) => (children) => {
1388
+ if (children === null || children === undefined) {
1389
+ return children;
1390
+ }
1391
+ return Array.isArray(children) ? children.map(mapper) : mapper(children, 0);
1392
+ };
1393
+
1394
+ const SwipeListItem = JSX(({ className = '', style, idx, activeIndex, observerOptions, children, onIntersection }) => {
1395
+ const observerCallback = useCallback((entries) => {
1396
+ if (entries.length && onIntersection) {
1397
+ onIntersection(idx || 0, entries[entries.length - 1]);
1398
+ }
1399
+ }, [onIntersection, idx]);
1400
+ const ref = useIntersectionObserver(observerCallback, observerOptions);
1401
+ return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, role: "listitem", "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
1402
+ });
1403
+
1404
+ const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]'];
1405
+ const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount, gap = 0, padding = 0, snapAlign = 'snap-center', children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
1406
+ const observerOptions = {
1407
+ sensitivity: 1,
1408
+ rootRef: containerRef,
1409
+ };
1410
+ const itemsVisibilityListRef = useRef([]);
1411
+ const handleIntersection = useCallback((idx, entry) => {
1412
+ const itemsVisibilityList = [...(itemsVisibilityListRef.current || [])];
1413
+ itemsVisibilityList[idx] = entry;
1414
+ itemsVisibilityListRef.current = itemsVisibilityList;
1415
+ onVisibleItemsChange && onVisibleItemsChange(itemsVisibilityList);
1416
+ onVisibleIndicesChange && onVisibleIndicesChange(getVisibleIndices(itemsVisibilityList));
1417
+ }, [onVisibleItemsChange, onVisibleIndicesChange]);
1418
+ return (jsx("div", { className: `box-border overflow-auto flex horizontal-list no-scrollbar ${className}`, style: { ...getContainerStyle(padding), gap: `${gap}px` }, role: "list", ref: containerRef, children: mapChildren((child, idx) => (jsx(SwipeListItem, { className: `${snapAlign} ${visibleItemCount ? childStyleMap[visibleItemCount - 1] : ''}`, style: getContainerStyle(padding / 4), activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
1419
+ });
1420
+ // Styles used to compensate outer container padding to get rid of clipping effect
1421
+ const getContainerStyle = (padding) => ({
1422
+ marginLeft: `${-padding}px`,
1423
+ marginRight: `${-padding}px`,
1424
+ paddingLeft: `${padding}px`,
1425
+ paddingRight: `${padding}px`,
1387
1426
  });
1427
+ const getVisibleIndices = (itemsVisibilityList) => itemsVisibilityList
1428
+ .map((_, i) => [_, i])
1429
+ .filter(([_]) => _ && _.intersectionRatio >= 0.9)
1430
+ .map(([, i]) => i);
1431
+
1432
+ const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
1433
+
1434
+ const defaultDiscriminator = (_) => _;
1435
+ const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
1388
1436
 
1437
+ const minBy = (discriminator = defaultDiscriminator) => maxBy((_) => -discriminator(_));
1438
+
1439
+ const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
1440
+ const scrollBy = (container) => (itemCount, delta) => {
1441
+ container.scrollBy({ left: delta * getItemWidth(container)(itemCount), behavior: 'smooth' });
1442
+ };
1443
+
1444
+ const scrollToEnd = (container) => {
1445
+ container.scrollTo({ left: container.scrollWidth, behavior: 'smooth' });
1446
+ };
1447
+
1448
+ const scrollToStart = (container) => {
1449
+ container.scrollTo({ left: 0, behavior: 'smooth' });
1450
+ };
1451
+
1452
+ const useSwipeListScroll = ({ itemCount, isCyclic, onVisibleIndicesChange, }) => {
1453
+ const containerRef = useRef(null);
1454
+ const [visibleIndices, setVisibleIndices] = useState([]);
1455
+ const handleVisibleIndicesChange = useCallback((indices) => {
1456
+ setVisibleIndices((prevIndices) => areArraysEqual(prevIndices, indices) ? prevIndices : indices);
1457
+ onVisibleIndicesChange && onVisibleIndicesChange(indices);
1458
+ }, [itemCount]);
1459
+ const [minIndex, maxIndex] = visibleIndices.length
1460
+ ? [minBy()(visibleIndices), maxBy()(visibleIndices)]
1461
+ : [-1, -1];
1462
+ const canScrollLeft = minIndex > 0;
1463
+ const canScrollRight = maxIndex < itemCount - 1;
1464
+ const scrollLeft = useCallback(() => {
1465
+ if (!containerRef.current) {
1466
+ return;
1467
+ }
1468
+ if (isCyclic && !canScrollLeft) {
1469
+ scrollToEnd(containerRef.current);
1470
+ }
1471
+ else {
1472
+ scrollBy(containerRef.current)(itemCount, -1);
1473
+ }
1474
+ }, [isCyclic, itemCount, canScrollLeft]);
1475
+ const scrollRight = useCallback(() => {
1476
+ if (!containerRef.current) {
1477
+ return;
1478
+ }
1479
+ if (isCyclic && !canScrollRight) {
1480
+ scrollToStart(containerRef.current);
1481
+ }
1482
+ else {
1483
+ scrollBy(containerRef.current)(itemCount, 1);
1484
+ }
1485
+ }, [itemCount, isCyclic, canScrollRight]);
1486
+ return [
1487
+ containerRef,
1488
+ {
1489
+ scrollLeft,
1490
+ scrollRight,
1491
+ canScrollLeft: isCyclic || canScrollLeft,
1492
+ canScrollRight: isCyclic || canScrollRight,
1493
+ visibleIndicesRange: [minIndex, maxIndex],
1494
+ handleVisibleIndicesChange,
1495
+ },
1496
+ ];
1497
+ };
1498
+
1499
+ const ITEMS_GAP = 4;
1389
1500
  const blurBaseStyle = 'absolute top-0 bottom-0 z-50 w-[84px]';
1501
+ const scrollButtonStyle = 'absolute top-[calc(50%-12px)] z-50';
1390
1502
  const Carousel = JSX(({ className = '', itemCount, visibleItemCount, isBlur = true, isCyclic = false, ...rest }) => {
1391
1503
  const { blocks: childBlocks } = rest.block || {};
1392
1504
  const count = itemCount || childBlocks?.length || 0;
1393
- const containerRef = useRef(null);
1394
- const [activeIndex, controls] = useCarouselControls({
1505
+ const [containerRef, scroll] = useSwipeListScroll({
1395
1506
  itemCount: count,
1396
- visibleItemCount,
1397
1507
  isCyclic,
1398
- container: containerRef.current,
1399
1508
  });
1400
- const { isScrollAvailable } = controls;
1401
- return (jsxs(BlockWrapper, { className: `relative font-sans overflow-hidden ${className}`, ...rest, children: [jsx(CarouselContainer, { activeIndex: activeIndex, itemCount: count, visibleItemCount: visibleItemCount, containerRef: containerRef, children: renderChildren(rest) }), isScrollAvailable && isBlur ? (jsxs("div", { children: [jsx("div", { className: `${blurBaseStyle} left-0 bg-opacity-from-white` }), jsx("div", { className: `${blurBaseStyle} right-0 bg-opacity-to-white` })] })) : null, renderArrows({
1402
- ...controls,
1403
- btnClass: ['left-8', 'right-8'],
1404
- className: 'top-1/2',
1405
- })] }));
1406
- });
1407
- Carousel.childrenTypes = ['CarouselCard', 'CarouselTariffsCard'];
1509
+ return (jsxs(BlockWrapper, { className: `relative font-sans ${className}`, ...rest, children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: ITEMS_GAP, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren(rest) }), (scroll.canScrollLeft || scroll.canScrollRight) && isBlur ? (jsxs("div", { children: [jsx("div", { className: `${blurBaseStyle} left-0 bg-opacity-from-white` }), jsx("div", { className: `${blurBaseStyle} right-0 bg-opacity-to-white` })] })) : null, renderScrollButtons(scroll)] }));
1510
+ });
1511
+ Carousel.childrenTypes = [
1512
+ 'CarouselCard',
1513
+ 'CarouselTariffsCard',
1514
+ 'CarouselLinks',
1515
+ 'CarouselProgramsCard',
1516
+ 'CarouselInvestmentCard',
1517
+ ];
1518
+ const renderScrollButtons = ({ scrollLeft, scrollRight, canScrollLeft, canScrollRight, }) => (jsxs("div", { children: [canScrollLeft ? (jsx(ScrollLeftButton, { className: `${scrollButtonStyle} left-8`, onClick: scrollLeft })) : null, canScrollRight ? (jsx(ScrollRightButton, { className: `${scrollButtonStyle} right-8`, onClick: scrollRight })) : null] }));
1408
1519
 
1409
1520
  const BLOCK_CLASSES = 'absolute border border-solid border-main-stroke w-full h-full';
1410
1521
  const CARD_WIDTH_MAP = {
1411
- normal: `w-[${1007 + 48}px]`,
1412
- mini: `w-[${350 + 48}px]`,
1522
+ normal: 'min-w-[1007px]',
1523
+ mini: 'min-w-[355px]',
1413
1524
  };
1414
1525
  const CarouselCard = JSX(({ className = '', button, description, title, version = 'normal' }) => (jsx("section", { className: `flex pb-9 pl-12 ${CARD_WIDTH_MAP[version]} ${className}`, children: jsxs("div", { className: "relative w-full", children: [jsx("div", { className: `${BLOCK_CLASSES} z-10 top-9 right-12 bg-green-dark` }), jsx("div", { className: `${BLOCK_CLASSES} z-10 top-6 right-8 bg-green` }), jsx("div", { className: `${BLOCK_CLASSES} z-10 top-3 right-4 bg-green-light` }), jsxs("div", { className: "relative bg-white z-10 py-6 px-10 border border-solid border-green-light", children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), button ? jsx("div", { className: "mt-6", children: renderButton({ button }) }) : null] })] }) })));
1415
1526
 
@@ -1435,23 +1546,22 @@
1435
1546
  .map((link, index) => (jsx(LinkButton, { className: "m-1", ...link }, String(index)))) }, String(groupIndex)))) }));
1436
1547
  };
1437
1548
 
1549
+ const CarouselProgramsCard = JSX(({ className = '', title, icon, list = [], version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: `font-sans border border-main-stroke flex min-w-[536px] ${VersionStyleMap[version]} ${className}`, ...rest, children: [jsxs("div", { className: "w-[200px] min-w-[200px] self-end", children: [icon?.icon ? jsx(ImgInner, { image: getIconWithVersion(icon), asSVG: true }) : null, icon?.src ? jsx(ImgInner, { image: icon }) : null] }), jsxs("div", { className: "p-8 pl-3 w-full", children: [title ? jsx(Heading, { className: " mb-3.5", headingType: "h5", title: title }) : null, list.length ? jsx("div", { className: "flex flex-col gap-3", children: list?.map(renderList$2) }) : null] })] })));
1550
+ const renderList$2 = (_, i) => (jsxs("div", { className: "break-words", children: [_.title ? jsx("div", { className: `text-h6`, children: _.title }) : null, _.description ? jsx("span", { className: "text-l-light mt-1", children: _.description }) : null] }, String(i)));
1551
+
1552
+ const VISIBLE_ROWS_COUNT = 1;
1438
1553
  const CarouselTariffsCard = JSX(({ className = '', title, icon, isHighlighting, button, rows = [], ...rest }) => {
1439
- const hitStyle = getHitStyle(Boolean(isHighlighting));
1440
1554
  const rowsNode = rows.map(renderCardInfo);
1441
- const VISIBLE_ROWS_COUNT = 1;
1442
- const [visibleRows, hiddenRows] = [
1443
- rowsNode.slice(0, VISIBLE_ROWS_COUNT),
1444
- rowsNode.slice(VISIBLE_ROWS_COUNT),
1445
- ];
1446
- return (jsxs(BlockWrapper, { className: `font-sans bg-white p-8 border border-main-stroke relative w-[322px] min-w-[322px] -ml-[1px] ${hitStyle} ${className}`, ...rest, children: [isHighlighting ? renderHitIcon() : null, icon?.src ? jsx(ImgInner, { className: "flex justify-center", image: icon }) : null, title ? (jsx(Heading, { className: "text-primary-text text-center pt-2", headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, rows?.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: rows.length > 1 ? renderFoldButton$1 : null })) : null] }));
1555
+ const visibleRows = rowsNode.slice(0, VISIBLE_ROWS_COUNT);
1556
+ const hiddenRows = rowsNode.slice(VISIBLE_ROWS_COUNT);
1557
+ return (jsxs(BlockWrapper, { className: `font-sans relative bg-white border border-main-stroke min-w-[322px] p-8
1558
+ ${getHitStyle(isHighlighting)}
1559
+ ${className}`, ...rest, children: [isHighlighting ? renderHitIcon() : null, icon?.src ? jsx(ImgInner, { image: icon }) : null, title ? (jsx(Heading, { className: "text-primary-text text-center pt-2", headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, rows.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: rows.length > 1 ? renderFoldButton$1 : null })) : null] }));
1447
1560
  });
1448
- const getHitStyle = (isHighlighting) => isHighlighting ? 'mt-9 pt-[71px]' : 'mt-[70px] pt-9';
1561
+ const getHitStyle = (isHighlighting) => isHighlighting ? 'mt-9 pt-[70px]' : 'mt-[70px] pt-9';
1449
1562
  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", asSVG: true })] }));
1450
- const renderCardInfo = (cell, i) => (jsxs("div", { className: "py-5 border-b border-main-divider flex flex-col gap-1", children: [cell?.title ? (jsx("div", { className: "text-secondary-text text-m-light opacity-80", children: cell.title })) : null, cell?.description ? jsx("div", { className: "text-primary-text text-h6", children: cell.description }) : null] }, String(i)));
1451
- const renderHitIcon = () => {
1452
- const POSITION_STYLE = 'absolute -top-7 -right-4';
1453
- return (jsxs("div", { className: `h-[60px] w-[60px] bg-white flex flex-col items-center justify-center shadow-[0_4px_25px_rgba(0,0,0,0.07)] ${POSITION_STYLE}`, children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22", asSVG: true }), jsx("div", { className: "text-center", children: "\u0425\u0438\u0442" })] }));
1454
- };
1563
+ const renderCardInfo = (cell, i) => (jsxs("div", { className: "py-5 border-b border-main-divider", children: [cell?.title ? (jsx("div", { className: "text-secondary-text text-m-light opacity-80", children: cell.title })) : null, cell?.description ? (jsx("div", { className: "text-primary-text text-h6 mt-1", children: cell.description })) : null] }, String(i)));
1564
+ const renderHitIcon = () => (jsxs("div", { className: "absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22", asSVG: true }), jsx("div", { className: "text-center", children: "\u0425\u0438\u0442" })] }));
1455
1565
 
1456
1566
  const cardStyleMap$1 = {
1457
1567
  black: 'bg-black',
@@ -1460,7 +1570,7 @@
1460
1570
  const CatalogCard = JSX(({ className = '', title, description, image, price, button, colors }) => (jsxs("section", { className: `border border-solid box-border border-main-stroke p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(ImgInner, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? jsx("div", { className: "text-m-light text-left mb-4", children: description }) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-s-light text-secondary-text", children: [jsx("div", { className: "mr-1.5", children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }), colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-h3 text-left", children: [price, "\u00A0\u20BD"] }) : null, button ? renderButton({ button, buttonClassName: 'mt-5 w-full' }) : null] })));
1461
1571
  const renderColorOption = (color, i) => (jsx("span", { className: `w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap$1[color]}` }, String(i)));
1462
1572
 
1463
- const BLUR_BLOCK_CLASSES$2 = 'absolute top-0 bottom-0 w-[84px]';
1573
+ const BLUR_BLOCK_CLASSES$1 = 'absolute top-0 bottom-0 w-[84px]';
1464
1574
  const CARD_VIEW_COUNT$1 = 3;
1465
1575
  const CARD_SHIFT$1 = 430;
1466
1576
  const Catalog = JSX(({ cards = [], className = '', title, description, ...rest }) => {
@@ -1472,7 +1582,7 @@
1472
1582
  ...controls,
1473
1583
  btnClass: ['left-8', 'right-8'],
1474
1584
  className: 'top-1/2 z-10 mt-6',
1475
- }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$2} left-0 bg-opacity-from-white` }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$2} right-0 bg-opacity-to-white` })] }));
1585
+ }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$1} left-0 bg-opacity-from-white` }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$1} right-0 bg-opacity-to-white` })] }));
1476
1586
  });
1477
1587
 
1478
1588
  const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
@@ -1537,9 +1647,9 @@
1537
1647
 
1538
1648
  const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
1539
1649
  const [isShowAllRow, setIsShowAllRow] = useState(!visibleRowLength);
1540
- const showToggle = useCallback(() => setIsShowAllRow((_) => !_), []);
1650
+ const handleToggle = useCallback(() => setIsShowAllRow((_) => !_), []);
1541
1651
  return (jsxs(BlockWrapper, { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className}`, ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
1542
- ? renderShowMoreToggleButton({ isShowAllRow, onClick: showToggle })
1652
+ ? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
1543
1653
  : null] }));
1544
1654
  });
1545
1655
  const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans text-xs-light font-medium py-3", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
@@ -1990,7 +2100,12 @@
1990
2100
  return (jsx("section", { className: `${TEXT_STYLE_MAP[version]} ${TEXT_SIZE_MAP[listItemSize]} ${className} ${hasIndent ? ITEM_INDENT_MAP[listItemSize] : ''}`, role: "list", children: items.map((item, i) => (jsx(ListItem, { className: `${itemClassName} mb-1.5`, isDotted: isDotted, version: version, size: listItemSize, children: item }, String(i)))) }));
1991
2101
  });
1992
2102
 
1993
- const GalleryCardInner = JSX(({ title, headlineSmallVersion = 'H6', description, additionalDescription, icon, items, button, version, isDotted = true, align = 'center', }) => (jsxs("div", { className: `h-full flex flex-col justify-between ${AlignText[align]}`, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$1(icon, version), renderCardTitle(headlineSmallVersion, title), renderDescription$2(description, title), items?.length ? renderItems$1(items, isDotted, version) : null, renderAdditionalDescription$1(additionalDescription)] }), button?.text ? renderButton({ button, buttonClassName: 'mt-6' }) : null] })));
2103
+ const GalleryCardInner = JSX(({ title, headlineSmallVersion = 'H6', description, additionalDescription, icon, items, button, version, isFullWidth = true, isDotted = true, align = 'center', }) => (jsxs("div", { className: `h-full flex flex-col justify-between ${AlignText[align]}`, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$1(icon, version), renderCardTitle(headlineSmallVersion, title), renderDescription$2(description, title), items?.length ? renderItems$1(items, isDotted, version) : null, renderAdditionalDescription$1(additionalDescription)] }), button?.text
2104
+ ? renderButton({
2105
+ button,
2106
+ buttonClassName: `mt-6 ${isFullWidth ? '' : 'self-center'}`,
2107
+ })
2108
+ : null] })));
1994
2109
  const renderImage$1 = (image, version) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(ImgInner, { className: "mb-5", image: image }) : null, image?.icon ? (jsx(ImgInner, { className: `w-[32px] h-[32px] min-w-[32px] mb-5 rounded-full`, image: getIconWithVersion(image, version), asSVG: true })) : null] }));
1995
2110
  const renderCardTitle = (headlineSmallVersion, title) => title ? jsx("div", { className: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
1996
2111
  const renderDescription$2 = (description, title) => description ? jsx("div", { className: `text-l ${title ? 'mt-2' : ''}`, children: description }) : null;
@@ -2103,8 +2218,6 @@
2103
2218
  return (jsxs("div", { className: `flex items-center ${className || ''}`, children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: city, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: getCity, bgColor: bgColor }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432", bgColor: bgColor })) : null, jsx(HeaderSecondaryMenuButton, { className: `mr-5 group ${COLORS_MAP[bgColor]}`, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(ImgInner, { image: { icon: 'LoupeIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0 pointer-events-none", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: `${LINKS_COLORS_MAP[bgColor]} group min-w-[32px] min-h-[32px]`, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", children: jsx(ImgInner, { image: { icon: 'GridIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full bg-main-divider/20 rounded-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0", asSVG: true }) })] }));
2104
2219
  });
2105
2220
 
2106
- const maxBy = (discriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
2107
-
2108
2221
  const findActiveSubItem = (router) => (items = []) => {
2109
2222
  const possibleActiveSubItems = items?.filter(isSubItemActive(router));
2110
2223
  return possibleActiveSubItems?.length
@@ -2166,7 +2279,7 @@
2166
2279
  const [visibleItemsCount, setVisibleItemsCount] = useState(subItems.length);
2167
2280
  const dropDownMenuItems = subItems.slice(visibleItemsCount);
2168
2281
  const subItemsListRef = useRef(null);
2169
- const observerOptions = useMemo(() => ({ threshold: 1, root: subItemsListRef.current }), [subItemsListRef.current]);
2282
+ const observerOptions = { rootRef: subItemsListRef };
2170
2283
  const subItemsVisibilityHandlers = useMemo(() => subItems.map((_, index) => (isIntersecting) => {
2171
2284
  setVisibleItemsCount(isIntersecting
2172
2285
  ? handleIntersectionActivation(index)
@@ -2194,6 +2307,11 @@
2194
2307
  return topItems?.find(isTopItemActive(router)) || firstPortal;
2195
2308
  };
2196
2309
 
2310
+ const ImgBlock = JSX((props) => {
2311
+ const { className, image, ...rest } = props;
2312
+ return (jsx(BlockWrapper, { className: className, ...rest, children: jsx(ImgInner, { image: image }) }));
2313
+ });
2314
+
2197
2315
  const InsuranceAmountBlockInner = JSX(({ className = '', cards = [], button }) => {
2198
2316
  const [selectedCardIndex, setSelectedCardIndex] = useState(0);
2199
2317
  const handleSelectedCardIndex = useCallback((_) => setSelectedCardIndex(_), []);
@@ -2221,14 +2339,14 @@
2221
2339
  function renderGallery({ activeIndex, cards, selectedCardIndex, onClick }) {
2222
2340
  const tabsShiftWidth = activeIndex * 460;
2223
2341
  const cardsAlignStyle = cards.length > 2 ? 'justify-start' : 'justify-center';
2224
- return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-[50px]", children: jsx("div", { className: `w-full flex flex-nowrap gap-3.5 pb-12 ${cardsAlignStyle}`, children: cards.map((slide, i) => renderSlide({
2342
+ return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-[50px]", children: jsx("div", { className: `w-full flex flex-nowrap gap-3.5 pb-12 ${cardsAlignStyle}`, children: cards.map((slide, i) => renderNavButton$2({
2225
2343
  slide,
2226
2344
  i,
2227
2345
  isActive: Boolean(i === selectedCardIndex),
2228
2346
  onClick: () => onClick(i),
2229
2347
  })) }) }));
2230
2348
  }
2231
- function renderSlide({ slide, i, isActive, onClick }) {
2349
+ function renderNavButton$2({ slide, i, isActive, onClick }) {
2232
2350
  const btnClassName = isActive
2233
2351
  ? 'shadow-dark-blue/42 border-primary-main'
2234
2352
  : `ease-in duration-300 border-main-stroke`;
@@ -2243,11 +2361,12 @@
2243
2361
 
2244
2362
  const InsuranceAmountBlock = JSX(({ className = '', title, insuranceTabs = [], button, ...rest }) => {
2245
2363
  const [activeSlideIndex, setActiveSlideIndex] = useState(0);
2364
+ const handleActiveSlideIndex = useCallback((_) => setActiveSlideIndex(_), []);
2246
2365
  return (jsxs(BlockWrapper, { className: `box-border py-[50px] overflow-hidden relative font-sans w-100 bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "text-center mb-8", title: title, headingType: "h3" }) : null, insuranceTabs?.length > 1 ? (jsx("div", { className: "p-1.5 bg-secondary-light w-fit mx-auto mb-7 rounded-md", children: insuranceTabs.map((item, i) => renderNavButton$1({
2247
2366
  title: item?.title,
2248
2367
  i,
2249
- activeSlideIndex,
2250
- onClick: () => setActiveSlideIndex(i),
2368
+ isActive: Boolean(i === activeSlideIndex),
2369
+ onClick: () => handleActiveSlideIndex(i),
2251
2370
  })) })) : null, jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: renderInsuranceGalleries({
2252
2371
  insuranceTabs,
2253
2372
  button,
@@ -2259,50 +2378,11 @@
2259
2378
  ? insuranceGalleries.map((cards, i) => (jsx(InsuranceAmountBlockInner, { button: button, cards: cards }, String(i))))
2260
2379
  : null;
2261
2380
  };
2262
- function renderNavButton$1({ title, i, activeSlideIndex, onClick }) {
2263
- const isActiveBtn = i === activeSlideIndex;
2264
- const btnClassName = isActiveBtn
2265
- ? 'bg-primary-main text-white rounded-md'
2266
- : `text-secondary-text`;
2381
+ function renderNavButton$1({ title, i, isActive, onClick }) {
2382
+ const btnClassName = isActive ? 'bg-primary-main text-white rounded-md' : `text-secondary-text`;
2267
2383
  return (jsx("button", { type: "button", onClick: onClick, "aria-label": title, className: `box-border px-4 py-3 text-m-light ${btnClassName}`, children: title }, String(i)));
2268
2384
  }
2269
2385
 
2270
- const BorderVersionStyleMap = {
2271
- primary: 'border-main-stroke',
2272
- secondary: 'border-white/50',
2273
- };
2274
-
2275
- const getItemListFontSize = (colValue) => (colValue === 'single' ? 'text-h6' : 'text-l');
2276
- const cardColumnsModeStyleMap = {
2277
- double: 'flex gap-y-2 gap-x-10 flex-wrap',
2278
- single: 'flex gap-y-2 flex-col',
2279
- };
2280
- const InvestmentGalleryCard = JSX(({ className = '', columnsMode = 'double', description, additionalDescription, image, cardList, title, version = 'primary', }) => {
2281
- const tileTitle = title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "mb-3.5 z-10", title: title })) : null;
2282
- const tileImage = image?.src ? (jsx(ImgInner, { className: "absolute bottom-0 right-0 m-0", image: image })) : null;
2283
- return (jsx("section", { className: `relative overflow-hidden text-left border border-solid box-border
2284
- p-9 min-w-[697px] min-h-[319px]
2285
- ${BorderVersionStyleMap[version]}
2286
- ${className}`, role: "listitem", children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "flex flex-col justify-between", children: [jsxs("div", { className: "flex itens-center justify-between mb-4", children: [description ? jsx("span", { className: "text-h6", children: description }) : null, additionalDescription ? (jsxs("span", { className: "text-m-light text-secondary-text", children: [" ", additionalDescription, " "] })) : null] }), cardList?.length ? (jsx("div", { className: `${cardColumnsModeStyleMap[columnsMode]}`, role: "list", children: renderCardList(cardList, columnsMode) })) : null] }) }) }));
2287
- });
2288
- const renderCardList = (cardList, columnsMode) => cardList.map((item, i) => (jsxs("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: [item?.parameter ? (jsx("span", { className: `pr-2.5 ${getItemListFontSize(columnsMode)}`, children: item.parameter })) : null, item?.parameterDesccription ? (jsx("span", { className: "text-m-light text-secondary-text", children: item.parameterDesccription })) : null] }, String(i))));
2289
-
2290
- const BLUR_BLOCK_CLASSES$1 = 'absolute top-0 bottom-0 w-[84px]';
2291
- const CARD_FULL_VIEW_COUNT = 1;
2292
- const InvestmentGallery = JSX(({ cards = [], className = '', title, version = 'primary', ...rest }) => {
2293
- const cardWidth = 710;
2294
- const [activeIndex, controls] = useCarouselControls({
2295
- itemCount: cards.length,
2296
- visibleItemCount: CARD_FULL_VIEW_COUNT,
2297
- });
2298
- return (jsxs(BlockWrapper, { className: `relative font-sans p-9 overflow-hidden text-center ${VersionStyleMap[version]} ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-9", title: title }) : null, jsxs("div", { children: [jsx("div", { className: "flex duration-1000 gap-3.5", style: { transform: `translateX(-${activeIndex * cardWidth}px)` }, role: "list", children: cards?.length ? cards.map(renderInvestmentGalleryCard(className, version)) : null }), renderArrows({
2299
- ...controls,
2300
- btnClass: ['left-8', 'right-8'],
2301
- className: 'top-1/2 mt-3',
2302
- })] }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$1} left-0 ${version === 'secondary' ? 'bg-opacity-from-main' : 'bg-opacity-from-white'}` }), jsx("div", { className: `${BLUR_BLOCK_CLASSES$1} right-0 ${version === 'secondary' ? 'bg-opacity-to-main' : 'bg-opacity-to-white'}` })] }));
2303
- });
2304
- const renderInvestmentGalleryCard = (className, version) => (card, i) => jsx(InvestmentGalleryCard, { className: className, version: version, ...card }, String(i));
2305
-
2306
2386
  function joinList(sep) {
2307
2387
  return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
2308
2388
  }
@@ -2859,6 +2939,11 @@
2859
2939
  });
2860
2940
  OtherProductsItem.childrenTypes = []; // All types of blocks are suitable
2861
2941
 
2942
+ const ParagraphBlock = JSX((props) => {
2943
+ const { className, text, size, color, align, font, ...rest } = props;
2944
+ return (jsx(BlockWrapper, { className: className, ...rest, children: jsx(Paragraph, { size: size, color: color, align: align, font: font, children: text }) }));
2945
+ });
2946
+
2862
2947
  const titleStyleMap = {
2863
2948
  primary: 'text-primary-text',
2864
2949
  secondary: 'text-white',
@@ -2969,6 +3054,11 @@
2969
3054
  : null, breadcrumbs?.length ? (jsx("div", { className: "text-xs-light mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { className: breadcrumbsStyleMap[version], ...breadcrumb }, String(i))))) })) : null, jsx(ProductBlockInner, { version: version, ...rest })] }));
2970
3055
  });
2971
3056
 
3057
+ const BorderVersionStyleMap = {
3058
+ primary: 'border-main-stroke',
3059
+ secondary: 'border-white/50',
3060
+ };
3061
+
2972
3062
  const productBlockStyleMap = {
2973
3063
  primary: { title: 'text-secondary-text', text: 'text-secondary-text' },
2974
3064
  secondary: { title: 'text-white', text: 'text-white/80' },
@@ -2977,12 +3067,13 @@
2977
3067
  const galleryNav = slides.map((s) => s.nav);
2978
3068
  const galleryBlocks = slides.map((s) => s.productBlock);
2979
3069
  const [activeSlideIndex, setActiveSlideIndex] = useState(0);
3070
+ const handleActiveSlideIndex = useCallback((_) => setActiveSlideIndex(_), []);
2980
3071
  return (jsxs(BlockWrapper, { className: `box-border pt-[50px] overflow-hidden relative font-sans w-100 mb-6 ${className}
2981
3072
  ${VersionStyleMap[version]}`, ...rest, children: [jsx("div", { className: "flex duration-1000 pb-14", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: galleryBlocks.map((_, i) => renderProductBlock({ ..._, ...rest, version }, i)) }), jsx("div", { className: "flex items-center absolute bottom-6 left-0 right-0 px-[26px] box-border h-28", children: galleryNav.map((slide, i) => renderNavButton({
2982
3073
  slide,
2983
3074
  i,
2984
- activeSlideIndex,
2985
- onClick: () => setActiveSlideIndex(i),
3075
+ isActive: Boolean(i === activeSlideIndex),
3076
+ onClick: () => handleActiveSlideIndex(i),
2986
3077
  version,
2987
3078
  })) })] }));
2988
3079
  });
@@ -2991,16 +3082,15 @@
2991
3082
  const additionalClass = version ? productBlockStyleMap[version].title : '';
2992
3083
  return (jsx("section", { className: "box-border relative flex grow-0 shrink-0 basis-full", role: "listitem", children: jsx("div", { className: "flex grow", children: jsx(ProductBlockInner, { className: `pl-[50px] z-10 ${additionalClass}`, textBlockClassName: "mb-[154px]", headlineVersion: "XXL", ...block }) }) }, String(i)));
2993
3084
  }
2994
- function renderNavButton({ slide, i, activeSlideIndex, onClick, version }) {
2995
- const isActiveBtn = i === activeSlideIndex;
2996
- const btnClassName = isActiveBtn
3085
+ function renderNavButton({ slide, i, isActive, onClick, version }) {
3086
+ const btnClassName = isActive
2997
3087
  ? 'bg-white shadow-dark-blue/42 min-w-[350px] border-none p-6'
2998
3088
  : `min-w-[290px] hover:py-[26px] hover:py-[26px] ease-in duration-300 bg-white/10 px-6 py-5 backdrop-blur
2999
3089
  ${VersionStyleMap[version]}`;
3000
- const btnTitleClassName = isActiveBtn
3090
+ const btnTitleClassName = isActive
3001
3091
  ? 'text-primary-text !text-h6 p-2'
3002
3092
  : `text-l pb-1 ${productBlockStyleMap[version].title}`;
3003
- const btnDescClassName = isActiveBtn
3093
+ const btnDescClassName = isActive
3004
3094
  ? 'text-secondary-text text-l-light'
3005
3095
  : `text-m-light ${productBlockStyleMap[version].text}`;
3006
3096
  return (jsx("button", { type: "button", onClick: onClick, "aria-label": slide?.title, className: `box-border relative overflow-hidden border border-white/50 cursor-pointer text-left mx-1 grow basis-0
@@ -3076,7 +3166,16 @@
3076
3166
  });
3077
3167
 
3078
3168
  const RollupItem = JSX(({ className = '', label = 'Развернуть', isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => (jsx("div", { className: `border-b border-solid border-main-divider w-full ${className}`, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx("div", { className: "box-border", children: jsx(FoldableSection, { className: `grid grid-cols-12 gap-1 border-box`, isUnfolded: isUnfolded, children: renderChildren(rest) }) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({ isUnfolded, onToggle, label, version }) }) })));
3079
- RollupItem.childrenTypes = [];
3169
+ RollupItem.childrenTypes = {
3170
+ exclude: [
3171
+ 'RollupItem',
3172
+ 'Accordion',
3173
+ 'AccordionItem',
3174
+ 'OtherProducts',
3175
+ 'OtherProductsItem',
3176
+ 'VerticalLayout',
3177
+ ],
3178
+ };
3080
3179
  const renderFoldButton = ({ isUnfolded, onToggle, label, version }) => {
3081
3180
  const iconsPrimary = ['PlusIcon', 'MinusIcon'];
3082
3181
  const iconsSecondary = ['ArrowDownIcon', 'ArrowUpIcon'];
@@ -3104,15 +3203,13 @@
3104
3203
  return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
3105
3204
  });
3106
3205
 
3107
- const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => {
3108
- return (jsxs("div", { className: "flex justify-between gap-4 mb-6", children: [jsx("div", { className: "max-w-[396px] w-1/2", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "max-w-[396px] w-1/2", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] }));
3109
- });
3206
+ const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex justify-between gap-4 mb-6", children: [jsx("div", { className: "max-w-[396px] w-1/2", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "max-w-[396px] w-1/2", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
3110
3207
 
3111
- const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-checkbox-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: onChange }), text ? jsx("span", { className: "text-primary-text ml-3 cursor-pointer", children: text }) : null] }) })));
3208
+ const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-checkbox-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text ml-3 cursor-pointer", children: text }) : null] }) })));
3112
3209
 
3113
3210
  const RenderRadioButtons = JSX(() => {
3114
3211
  const [selectedOption, setSelectedOption] = useState('option2');
3115
- const onChange = (_) => setSelectedOption(_.target.value);
3212
+ const onChange = useCallback((_) => setSelectedOption(_), []);
3116
3213
  return (jsxs("div", { children: [jsx(Radio, { className: "mb-2", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
3117
3214
  });
3118
3215
 
@@ -3125,8 +3222,8 @@
3125
3222
  return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "mr-4 w-full", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "w-full", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
3126
3223
  });
3127
3224
 
3128
- const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onShowMapToggle, }) => {
3129
- return (jsxs("div", { className: "flex-1 mr-9", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("span", { className: "text-secondary-text text-l-light", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [jsx(RenderRadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onShowMapToggle })] })] }));
3225
+ const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
3226
+ return (jsxs("div", { className: "flex-1 mr-9", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("span", { className: "text-secondary-text text-l-light", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [jsx(RenderRadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick })] })] }));
3130
3227
  });
3131
3228
  const onSelectedBranch = (onChange) => (value) => {
3132
3229
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
@@ -3175,7 +3272,7 @@
3175
3272
  const getBranch = (branches, selectedBranch) => branches.find((_) => _.branchCode === selectedBranch);
3176
3273
 
3177
3274
  const SafeDepositRentalForm = JSX((props) => {
3178
- const { regions, data, branches, onChange, onShowMapToggle } = props;
3275
+ const { regions, data, branches, onChange, onClick } = props;
3179
3276
  useEffect(() => {
3180
3277
  onChange({
3181
3278
  selectedBranch: '',
@@ -3187,7 +3284,7 @@
3187
3284
  const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
3188
3285
  const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
3189
3286
  const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
3190
- return (jsxs("div", { className: "flex justify-between align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onShowMapToggle: onShowMapToggle, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
3287
+ return (jsxs("div", { className: "flex justify-between align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
3191
3288
  });
3192
3289
  const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
3193
3290
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
@@ -3202,6 +3299,7 @@
3202
3299
  const DEFAULT_DAYS = 26;
3203
3300
  const SafeDepositRental = JSX(({ title, footnote, className = '', ...rest }) => {
3204
3301
  const [showMap, setShowMap] = useState(false);
3302
+ const handleShowMap = useCallback(() => setShowMap((_) => !_), []);
3205
3303
  const [safeDepositState, setStateDepositState] = useState({
3206
3304
  selectedRegion: '',
3207
3305
  selectedBranch: '',
@@ -3213,11 +3311,8 @@
3213
3311
  const selectedRegion = normalizeSelectedRegion(safeDepositState.selectedRegion, regions);
3214
3312
  const branches = useSafeBoxes(selectedRegion);
3215
3313
  const handleChangeSafeDepositState = useCallback((state) => setStateDepositState((oldState) => ({ ...oldState, ...state })), [setStateDepositState]);
3216
- const onShowMapToggle = () => {
3217
- setShowMap(!showMap);
3218
- };
3219
3314
  const points = getCoordinates(getBranch(branches, safeDepositState.selectedBranch) || branches);
3220
- return (jsxs(BlockWrapper, { className: className, ...rest, children: [jsxs("div", { className: "font-sans bg-white px-8 py-12", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "text-primary-text mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, branches: branches, data: { ...safeDepositState, selectedRegion }, onShowMapToggle: onShowMapToggle, onChange: handleChangeSafeDepositState }), footnote ? jsx("p", { className: "text-s-light text-secondary-text", children: footnote }) : null] }), points.length && showMap ? jsx(YandexMap, { points: points, className: "h-[640px]" }) : null] }));
3315
+ return (jsxs(BlockWrapper, { className: className, ...rest, children: [jsxs("div", { className: "font-sans bg-white px-8 py-12", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "text-primary-text mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, branches: branches, data: { ...safeDepositState, selectedRegion }, onClick: handleShowMap, onChange: handleChangeSafeDepositState }), footnote ? jsx("p", { className: "text-s-light text-secondary-text", children: footnote }) : null] }), points.length && showMap ? jsx(YandexMap, { points: points, className: "h-[640px]" }) : null] }));
3221
3316
  });
3222
3317
  const normalizeSelectedRegion = (selectedRegion, regions) => !selectedRegion && regions?.length && regions[0]?.code ? regions[0].code : selectedRegion;
3223
3318
 
@@ -3282,10 +3377,8 @@
3282
3377
  className,
3283
3378
  ].join(' '), ...rest, children: [title ? (jsx(Heading, { headingType: "h3", className: "max-w-[752px] text-center", title: title })) : null, steps?.length ? (jsxs("div", { className: `box-border ${titleMargin}`, children: [jsx("div", { className: `flex items-center ${paddingX}`, children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${lineOpacity}` }))(steps.map(renderStepIcon(styleMap, version))) }), jsx("div", { className: `flex justify-between mt-4 ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map(renderStepContent({ styleMap, isMainButton: Boolean(button?.text), version })) })] })) : null, button?.text ? (jsx(Button, { className: "mt-8 min-w-[240px]", version: "primary", ...button })) : null] }));
3284
3379
  });
3285
- const renderStepIcon = (styleMap, version) => ({ icon }, i) => {
3286
- return (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 flex justify-center items-center
3380
+ const renderStepIcon = (styleMap, version) => ({ icon }, i) => (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 flex justify-center items-center
3287
3381
  ${styleMap.iconBackground} ${styleMap.title}`, children: checkIsIconRenderable(icon) ? (jsx(ImgInner, { image: getIconWithVersion(icon || {}, version), width: "48", height: "48", asSVG: true })) : (jsx("span", { className: `text-h4 ${styleMap.iconText}`, children: i + 1 })) }) }, String(i)));
3288
- };
3289
3382
 
3290
3383
  function assertUnreachable(x) {
3291
3384
  throw new Error(x);
@@ -3448,18 +3541,6 @@
3448
3541
  : null }));
3449
3542
  });
3450
3543
 
3451
- function useTariffsInnerTableData(directoryName) {
3452
- const { data } = useAsyncData(tariffsInnerTableDataUrl(directoryName), fetchTariffsInnerTableData);
3453
- return data || {};
3454
- }
3455
- async function fetchTariffsInnerTableData(url) {
3456
- const response = await fetch(url);
3457
- return await response.json();
3458
- }
3459
- function tariffsInnerTableDataUrl(directoryName) {
3460
- return `/wcms-resources/${directoryName || 'tariffs-inner-table-data'}.json`;
3461
- }
3462
-
3463
3544
  const COLUMN_WIDTH = 140;
3464
3545
  const InnerTableBodyItem = JSX(({ rows }) => {
3465
3546
  const rowsLength = rows?.[0]?.length ?? 0;
@@ -3492,33 +3573,46 @@
3492
3573
 
3493
3574
  const InnerTableBody = JSX(({ activeTabIndex, items }) => {
3494
3575
  const [hiddenTables, setHiddenTables] = useState({});
3495
- const toggleTable = (key) => {
3496
- setHiddenTables((oldState) => ({ ...oldState, [key]: !oldState[key] }));
3497
- };
3576
+ const toggleTables = useCallback((key) => setHiddenTables((oldState) => ({ ...oldState, [key]: !oldState[key] })), []);
3498
3577
  return (jsx("div", { children: items.map((_, tableIdx) => {
3499
3578
  const key = `activeTabIdx:${activeTabIndex}-tableIdx:${tableIdx}`;
3500
- return (jsxs("div", { className: "w-full", children: [jsxs("div", { className: "flex p-4 bg-main-stroke text-xl-light text-center justify-center cursor-pointer relative", onClick: () => toggleTable(key), children: [_.title, jsx(ImgInner, { image: hiddenTables[key] ? 'PlusIcon' : 'MinusIcon', className: "absolute right-[22px]", width: "24", height: "24" })] }), jsx("div", { className: `w-full pl-2 overflow-hidden transition-height duration-500 ease-in-out ${hiddenTables[key] ? 'h-0' : ''}`, children: jsx("div", { className: "relative", children: jsx(InnerTableBodyItem, { rows: _.rowsData }) }) })] }, key));
3579
+ return (jsxs("div", { className: "w-full", children: [jsxs("div", { className: "flex p-4 bg-main-stroke text-xl-light text-center justify-center cursor-pointer relative", onClick: () => toggleTables(key), children: [_.title, jsx(ImgInner, { image: hiddenTables[key] ? 'PlusIcon' : 'MinusIcon', className: "absolute right-[22px]", width: "24", height: "24" })] }), jsx("div", { className: `w-full pl-2 overflow-hidden transition-height duration-500 ease-in-out ${hiddenTables[key] ? 'h-0' : ''}`, children: jsx("div", { className: "relative", children: jsx(InnerTableBodyItem, { rows: _.rowsData }) }) })] }, key));
3501
3580
  }) }));
3502
3581
  });
3503
3582
 
3504
3583
  const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full pt-2.5 pb-3", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-1.5 rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl-light px-4 py-3 cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsx(Button, { href: linkToPDF, version: "secondary", target: "_blank", appendLeft: jsx(Icon, { name: "DocDownloadIcon", iconVersion: "color", className: "mr-0.5", width: "20", height: "20", asSVG: true }), text: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })) : null] })));
3505
3584
 
3585
+ function useTariffsInnerTableData(directoryName) {
3586
+ const { data } = useAsyncData(tariffsInnerTableDataUrl(directoryName), fetchTariffsInnerTableData);
3587
+ return data || {};
3588
+ }
3589
+ async function fetchTariffsInnerTableData(url) {
3590
+ const response = await fetch(url);
3591
+ return await response.json();
3592
+ }
3593
+ function tariffsInnerTableDataUrl(directoryName) {
3594
+ return `/wcms-resources/${directoryName || 'tariffs-inner-table-data'}.json`;
3595
+ }
3596
+
3506
3597
  const EMPTY_DATA = 'Данных нет';
3507
3598
  const InnerTable = JSX(({ dataUrl, pdfUrl, onClick }) => {
3508
3599
  const { tableData } = useTariffsInnerTableData(dataUrl);
3509
3600
  const [activeTabIndex, setActiveTabIndex] = useState(0);
3601
+ const handleActiveTabIndex = useCallback((_) => setActiveTabIndex(_), []);
3510
3602
  const items = tableData?.[activeTabIndex]?.items ?? [];
3511
3603
  const currencies = tableData?.map((item) => item.currency ?? '');
3512
- return tableData ? (jsxs("div", { className: "bg-white z-10", children: [jsx(InnerTableHeader, { currencies: currencies, activeTabIndex: activeTabIndex, setActiveTabIndex: setActiveTabIndex, linkToPDF: pdfUrl }), jsx(InnerTableBody, { activeTabIndex: activeTabIndex, items: items }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] })) : (jsxs("div", { className: "my-5 text-h6 text-center", children: [jsx("p", { children: EMPTY_DATA }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] }));
3604
+ return tableData ? (jsxs("div", { className: "bg-white z-10", children: [jsx(InnerTableHeader, { currencies: currencies, activeTabIndex: activeTabIndex, setActiveTabIndex: handleActiveTabIndex, linkToPDF: pdfUrl }), jsx(InnerTableBody, { activeTabIndex: activeTabIndex, items: items }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] })) : (jsxs("div", { className: "my-5 text-h6 text-center", children: [jsx("p", { children: EMPTY_DATA }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] }));
3513
3605
  });
3514
3606
 
3515
3607
  const TariffsTableRowContainer = JSX(({ children, tableInner, onHideContentClick }) => (jsxs("div", { className: "self-start flex flex-col", role: "row", children: [jsx("div", { className: "flex", children: children }), tableInner ? (jsx("div", { className: "origin-top animate-expansion", children: jsx(InnerTable, { ...tableInner, onClick: onHideContentClick }) })) : null] })));
3516
3608
 
3517
3609
  const TariffsTableRow = JSX(({ row: { header, data }, activeIndex, rowIdx, ...rest }) => {
3518
3610
  const [tableInner, setTableInner] = useState(undefined);
3611
+ const handleSetTableInner = useCallback((_) => setTableInner(_), []);
3519
3612
  const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
3613
+ const handleOpenTableInnerIdx = useCallback((_) => setOpenTableInnerIdx(_), []);
3520
3614
  const onHideContentClick = () => setTableInner(undefined);
3521
- return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(ImgInner, { className: "mr-[14px] max-w-6 max-h-6", image: getIconWithVersion(header.icon), width: "24px", height: "24px", asSVG: true })) : null, header?.title ? jsx("div", { className: "text-m-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: setTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: setOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
3615
+ return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(ImgInner, { className: "mr-[14px] max-w-6 max-h-6", image: getIconWithVersion(header.icon), width: "24px", height: "24px", asSVG: true })) : null, header?.title ? jsx("div", { className: "text-m-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
3522
3616
  });
3523
3617
 
3524
3618
  const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
@@ -3532,10 +3626,9 @@
3532
3626
  itemCount: itemCount,
3533
3627
  visibleItemCount: COLS_LENGTH_FOR_SCROLL,
3534
3628
  });
3535
- const { isScrollAvailable } = controls;
3536
3629
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
3537
3630
  const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
3538
- return (jsxs(BlockWrapper, { className: `bg-white font-sans p-[50px] overflow-hidden text-primary-text relative ${itemCount > 1 ? 'pr-0' : ''} ${className}`, ...rest, children: [renderTitle({ title, description }), renderDescription(description), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, isScrollAvailable: isScrollAvailable, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, isScrollAvailable: isScrollAvailable, children: rows }))] }));
3631
+ return (jsxs(BlockWrapper, { className: `bg-white font-sans p-[50px] overflow-hidden text-primary-text relative ${itemCount > 1 ? 'pr-0' : ''} ${className}`, ...rest, children: [renderTitle({ title, description }), renderDescription(description), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
3539
3632
  });
3540
3633
  function renderTitle({ title, description }) {
3541
3634
  return title ? (jsx(Heading, { headingType: "h3", className: `text-center ${description ? 'mb-2.5' : 'mb-8'}`, title: title })) : null;
@@ -3543,13 +3636,14 @@
3543
3636
  function renderDescription(description) {
3544
3637
  return description ? jsx("div", { className: "mb-9 text-center text-l", children: description }) : null;
3545
3638
  }
3546
- const Wrapper = JSX(({ children, controls, isScrollAvailable }) => (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, isScrollAvailable
3547
- ? renderArrows({
3639
+ const Wrapper = JSX(({ children, controls }) => {
3640
+ const { isScrollAvailable } = controls;
3641
+ return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
3548
3642
  ...controls,
3549
3643
  btnClass: ['top-[108px]', 'top-[44px]'],
3550
3644
  className: 'right-7',
3551
- })
3552
- : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] })));
3645
+ })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
3646
+ });
3553
3647
 
3554
3648
  const textBlockStyleMaps = {
3555
3649
  primary: {
@@ -3637,10 +3731,28 @@
3637
3731
  return (jsxs(BlockWrapper, { className: `bg-white ${getPaddings(className)} ${className}`, ...rest, children: [jsx(Headline, { title: title, headlineVersion: "M" }), src ? (jsx("video", { className: "m-auto w-full object-fill", preload: "metadata", poster: previewImg?.src, style: { maxHeight: 524 }, controls: true, children: jsx("source", { src: src }) })) : null] }));
3638
3732
  });
3639
3733
 
3734
+ const getItemListFontSize = (colValue) => (colValue === 1 ? 'text-h6' : 'text-l');
3735
+ const cardColumnsModeStyleMap = {
3736
+ 1: 'flex gap-y-2 flex-col',
3737
+ 2: 'flex gap-y-2 gap-x-10 flex-wrap',
3738
+ };
3739
+ const CarouselInvestmentCard = JSX(({ additionalDescription, cardsList = [], className = '', columnsMode = 1, description, image, title, version = 'primary', ...rest }) => {
3740
+ const tileTitle = title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "mb-3.5 z-10", title: title })) : null;
3741
+ const tileImage = image?.src ? (jsx(ImgInner, { className: "absolute bottom-0 right-0 m-0", image: image })) : null;
3742
+ return (jsx(BlockWrapper, { className: `relative text-left border border-solid box-border
3743
+ p-9 w-[697px]
3744
+ ${BorderVersionStyleMap[version]}
3745
+ ${className}`, ...rest, children: jsxs(BaseTile, { title: tileTitle, image: tileImage, children: [jsxs("div", { className: "flex justify-between mb-4", children: [description ? jsx("span", { className: "text-h6 w-1/3", children: description }) : null, additionalDescription ? (jsx("span", { className: "text-m-light text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: `list-none m-0 p-0 ${cardColumnsModeStyleMap[columnsMode]}`, children: renderCardList(cardsList, columnsMode) })) : null] }) }));
3746
+ });
3747
+ const renderCardList = (cardsList, columnsMode) => {
3748
+ const CARDS_COUNT_MAP = [4, 9];
3749
+ const visibleCardsList = cardsList.slice(0, CARDS_COUNT_MAP[columnsMode - 1]);
3750
+ return visibleCardsList.map((item, i) => (jsxs("li", { className: columnsMode === 2 ? 'basis-[calc(50%-20px)]' : '', children: [item?.parameter ? (jsx("span", { className: `pr-2.5 ${getItemListFontSize(columnsMode)}`, children: item.parameter })) : null, item?.parameterDescription ? (jsx("span", { className: "text-m-light text-secondary-text", children: item.parameterDescription })) : null] }, String(i))));
3751
+ };
3752
+
3640
3753
  const Blocks = {
3641
3754
  Accordion,
3642
3755
  AccordionItem,
3643
- CarouselLinks,
3644
3756
  BenefitsBlock,
3645
3757
  BusinessBlock,
3646
3758
  Bonus,
@@ -3649,6 +3761,8 @@
3649
3761
  Calculator,
3650
3762
  Carousel,
3651
3763
  CarouselCard,
3764
+ CarouselLinks,
3765
+ CarouselProgramsCard,
3652
3766
  CarouselTariffsCard,
3653
3767
  Catalog,
3654
3768
  ContactsBlock,
@@ -3660,12 +3774,13 @@
3660
3774
  GracePeriod,
3661
3775
  Header,
3662
3776
  Headline,
3777
+ ImgBlock,
3663
3778
  InsuranceAmountBlock,
3664
3779
  InvestmentInfo,
3665
- InvestmentGallery,
3666
3780
  LinkDocs,
3667
3781
  MiniGallery,
3668
3782
  MobileAppTile,
3783
+ ParagraphBlock,
3669
3784
  PictureText,
3670
3785
  Placeholder,
3671
3786
  ProductBlock,
@@ -3686,6 +3801,7 @@
3686
3801
  Tile,
3687
3802
  VerticalLayout,
3688
3803
  Video,
3804
+ CarouselInvestmentCard,
3689
3805
  };
3690
3806
 
3691
3807
  const api = LikeAPI();
@@ -3755,7 +3871,7 @@
3755
3871
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
3756
3872
  }
3757
3873
 
3758
- const packageVersion = "0.6.35";
3874
+ const packageVersion = "0.6.37";
3759
3875
 
3760
3876
  exports.Blocks = Blocks;
3761
3877
  exports.ContentPage = ContentPage;