@redneckz/wildless-cms-uni-blocks 0.5.5 → 0.5.6

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 (787) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +149 -157
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/ArrowDownIcon.svg +1 -1
  5. package/cosmos-static/icons/ArrowUpIcon.svg +1 -1
  6. package/cosmos-static/icons/BuildingIcon.svg +1 -0
  7. package/cosmos-static/icons/Car2Icon.svg +1 -0
  8. package/cosmos-static/icons/DocDownloadIcon.svg +1 -1
  9. package/cosmos-static/icons/DoneIcon.svg +1 -1
  10. package/cosmos-static/icons/DoneSimpleIcon.svg +1 -0
  11. package/cosmos-static/icons/GpsIcon.svg +1 -1
  12. package/cosmos-static/icons/MoneysIcon.svg +1 -0
  13. package/cosmos-static/icons/StrongBoxIcon.svg +1 -0
  14. package/cosmos-static/icons/UserSquareIcon.svg +1 -0
  15. package/dist/ProjectSettings.d.ts +2 -0
  16. package/dist/ProjectSettings.js +3 -0
  17. package/dist/ProjectSettings.js.map +1 -1
  18. package/dist/components/Accordion/AccordionContent.d.ts +4 -9
  19. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  20. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  21. package/dist/components/BlockContent.d.ts +2 -3
  22. package/dist/components/Blocks.d.ts +0 -1
  23. package/dist/components/Blocks.js +1 -3
  24. package/dist/components/Blocks.js.map +1 -1
  25. package/dist/components/Bonus/BonusContent.d.ts +6 -9
  26. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  27. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  28. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  29. package/dist/components/Calculator/BonusCalculatorForm.js +3 -2
  30. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  31. package/dist/components/Calculator/CalculatorContent.d.ts +7 -40
  32. package/dist/components/Calculator/CalculatorValueBlock.js +1 -1
  33. package/dist/components/Calculator/CreditCalculatorForm.js +4 -3
  34. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  35. package/dist/components/Calculator/DepositCalculatorForm.js +21 -2
  36. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  37. package/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  38. package/dist/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  39. package/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  40. package/dist/components/Calculator/renderFootnote.d.ts +2 -0
  41. package/dist/components/Calculator/renderFootnote.js +6 -0
  42. package/dist/components/Calculator/renderFootnote.js.map +1 -0
  43. package/dist/components/CardTransfer/CardTransferContent.d.ts +3 -6
  44. package/dist/components/Catalog/CatalogCard.js.map +1 -1
  45. package/dist/components/Catalog/CatalogContent.d.ts +2 -5
  46. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  47. package/dist/components/ComparisonTable/TableColumn.d.ts +8 -1
  48. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  49. package/dist/components/ComparisonTable/TableRow.d.ts +5 -1
  50. package/dist/components/ComparisonTable/TableRow.js.map +1 -1
  51. package/dist/components/ContentPage/computeAPIFallback.d.ts +5 -0
  52. package/dist/components/ContentPage/computeAPIFallback.js +68 -0
  53. package/dist/components/ContentPage/computeAPIFallback.js.map +1 -0
  54. package/dist/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  55. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  56. package/dist/components/ExchangeRateTile/renderInput.js +4 -3
  57. package/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  58. package/dist/components/Footer/Footer.js +3 -2
  59. package/dist/components/Footer/Footer.js.map +1 -1
  60. package/dist/components/Footer/Footer.mobile.js +3 -2
  61. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  62. package/dist/components/Footer/FooterContent.d.ts +5 -9
  63. package/dist/components/Footer/HorizontalNavigation.d.ts +2 -2
  64. package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  65. package/dist/components/Footer/HorizontalNavigation.mobile.d.ts +2 -2
  66. package/dist/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  67. package/dist/components/Footer/Sitemap.d.ts +2 -0
  68. package/dist/components/Footer/Sitemap.js +2 -2
  69. package/dist/components/Footer/Sitemap.js.map +1 -1
  70. package/dist/components/Gallery/GalleryContent.d.ts +16 -19
  71. package/dist/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  72. package/dist/components/Header/Header.fallback.d.ts +2 -0
  73. package/dist/components/Header/Header.fallback.js +12 -0
  74. package/dist/components/Header/Header.fallback.js.map +1 -0
  75. package/dist/components/Header/Header.js +4 -3
  76. package/dist/components/Header/Header.js.map +1 -1
  77. package/dist/components/Header/Header.mobile.js +3 -2
  78. package/dist/components/Header/Header.mobile.js.map +1 -1
  79. package/dist/components/Header/HeaderContent.d.ts +14 -23
  80. package/dist/components/Headline/HeadlineContent.d.ts +4 -3
  81. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  82. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  83. package/dist/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  84. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  85. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  86. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  87. package/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  88. package/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  89. package/dist/components/PictureText/PictureText.js +1 -1
  90. package/dist/components/PictureText/PictureTextContent.d.ts +20 -4
  91. package/dist/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  92. package/dist/components/ProductTile/ProductTile.js +13 -8
  93. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  94. package/dist/components/ProductTile/ProductTileContent.d.ts +19 -9
  95. package/dist/components/Recommendation/RecommendationContent.d.ts +20 -2
  96. package/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  97. package/dist/components/SafeDepositRental/YandexMap.js +5 -5
  98. package/dist/components/SafeDepositRental/YandexMap.js.map +1 -1
  99. package/dist/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  100. package/dist/components/Tabs/TabsContent.d.ts +8 -5
  101. package/dist/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -3
  102. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  103. package/dist/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  104. package/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  105. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  106. package/dist/components/TextBlock/TextBlockContent.d.ts +3 -6
  107. package/dist/components/Tile/TileContent.d.ts +17 -2
  108. package/dist/icons/IconName.d.ts +15 -5
  109. package/dist/icons/IconName.js +13 -3
  110. package/dist/icons/IconName.js.map +1 -1
  111. package/dist/model/ButtonVersion.d.ts +1 -1
  112. package/dist/model/Footnote.d.ts +4 -0
  113. package/dist/{components/Navigation/NavigationContent.js → model/Footnote.js} +1 -1
  114. package/dist/model/Footnote.js.map +1 -0
  115. package/dist/model/HeadlineType.d.ts +4 -0
  116. package/dist/model/Picture.d.ts +4 -0
  117. package/dist/model/ProductColorVersion.d.ts +4 -0
  118. package/dist/model/ProductColorVersion.js +2 -0
  119. package/dist/model/ProductColorVersion.js.map +1 -0
  120. package/dist/services/sitemap/useSitemap.d.ts +2 -1
  121. package/dist/services/sitemap/useSitemap.js +2 -2
  122. package/dist/services/sitemap/useSitemap.js.map +1 -1
  123. package/dist/types/Fallback.d.ts +5 -0
  124. package/{mobile/dist/components/Navigation/NavigationContent.js → dist/types/Fallback.js} +1 -1
  125. package/dist/types/Fallback.js.map +1 -0
  126. package/dist/types.d.ts +1 -0
  127. package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  128. package/dist/ui-kit/Button/ButtonProps.d.ts +3 -5
  129. package/dist/ui-kit/Button/ButtonSection.js +2 -1
  130. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  131. package/dist/ui-kit/Button/buttonClassNameConstants.js +4 -3
  132. package/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  133. package/dist/ui-kit/Foldable/Foldable.js +1 -1
  134. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  135. package/dist/ui-kit/Input/Input.js +1 -1
  136. package/dist/ui-kit/Input/Input.js.map +1 -1
  137. package/dist/ui-kit/InputRange/InputRange.js +8 -15
  138. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  139. package/dist/ui-kit/Radio/Radio.js +1 -1
  140. package/dist/ui-kit/Radio/Radio.js.map +1 -1
  141. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  142. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  143. package/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
  144. package/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  145. package/dist/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  146. package/dist/ui-kit/SelectCustom/SelectCustom.js +30 -0
  147. package/dist/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  148. package/lib/ProjectSettings.d.ts +2 -0
  149. package/lib/ProjectSettings.js +3 -0
  150. package/lib/ProjectSettings.js.map +1 -1
  151. package/lib/common.css +1 -1
  152. package/lib/components/Accordion/AccordionContent.d.ts +4 -9
  153. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  154. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  155. package/lib/components/BlockContent.d.ts +2 -3
  156. package/lib/components/Blocks.d.ts +0 -1
  157. package/lib/components/Blocks.js +1 -3
  158. package/lib/components/Blocks.js.map +1 -1
  159. package/lib/components/Bonus/BonusContent.d.ts +6 -9
  160. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  161. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  162. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  163. package/lib/components/Calculator/BonusCalculatorForm.js +3 -2
  164. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  165. package/lib/components/Calculator/CalculatorContent.d.ts +7 -40
  166. package/lib/components/Calculator/CalculatorValueBlock.js +1 -1
  167. package/lib/components/Calculator/CreditCalculatorForm.js +4 -3
  168. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  169. package/lib/components/Calculator/DepositCalculatorForm.js +21 -2
  170. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  171. package/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  172. package/lib/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  173. package/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  174. package/lib/components/Calculator/renderFootnote.d.ts +2 -0
  175. package/lib/components/Calculator/renderFootnote.js +3 -0
  176. package/lib/components/Calculator/renderFootnote.js.map +1 -0
  177. package/lib/components/CardTransfer/CardTransferContent.d.ts +3 -6
  178. package/lib/components/Catalog/CatalogCard.js.map +1 -1
  179. package/lib/components/Catalog/CatalogContent.d.ts +2 -5
  180. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  181. package/lib/components/ComparisonTable/TableColumn.d.ts +8 -1
  182. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  183. package/lib/components/ComparisonTable/TableRow.d.ts +5 -1
  184. package/lib/components/ComparisonTable/TableRow.js.map +1 -1
  185. package/lib/components/ContentPage/computeAPIFallback.d.ts +5 -0
  186. package/lib/components/ContentPage/computeAPIFallback.js +40 -0
  187. package/lib/components/ContentPage/computeAPIFallback.js.map +1 -0
  188. package/lib/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  189. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  190. package/lib/components/ExchangeRateTile/renderInput.js +4 -3
  191. package/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  192. package/lib/components/Footer/Footer.js +3 -2
  193. package/lib/components/Footer/Footer.js.map +1 -1
  194. package/lib/components/Footer/Footer.mobile.js +3 -2
  195. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  196. package/lib/components/Footer/FooterContent.d.ts +5 -9
  197. package/lib/components/Footer/HorizontalNavigation.d.ts +2 -2
  198. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  199. package/lib/components/Footer/HorizontalNavigation.mobile.d.ts +2 -2
  200. package/lib/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  201. package/lib/components/Footer/Sitemap.d.ts +2 -0
  202. package/lib/components/Footer/Sitemap.js +2 -2
  203. package/lib/components/Footer/Sitemap.js.map +1 -1
  204. package/lib/components/Gallery/GalleryContent.d.ts +16 -19
  205. package/lib/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  206. package/lib/components/Header/Header.fallback.d.ts +2 -0
  207. package/lib/components/Header/Header.fallback.js +9 -0
  208. package/lib/components/Header/Header.fallback.js.map +1 -0
  209. package/lib/components/Header/Header.js +4 -3
  210. package/lib/components/Header/Header.js.map +1 -1
  211. package/lib/components/Header/Header.mobile.js +3 -2
  212. package/lib/components/Header/Header.mobile.js.map +1 -1
  213. package/lib/components/Header/HeaderContent.d.ts +14 -23
  214. package/lib/components/Headline/HeadlineContent.d.ts +4 -3
  215. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  216. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  217. package/lib/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  218. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  219. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  220. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  221. package/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  222. package/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  223. package/lib/components/PictureText/PictureText.js +1 -1
  224. package/lib/components/PictureText/PictureTextContent.d.ts +20 -4
  225. package/lib/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  226. package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
  227. package/lib/components/ProductTile/ProductTile.js +13 -8
  228. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  229. package/lib/components/ProductTile/ProductTileContent.d.ts +19 -9
  230. package/lib/components/Recommendation/RecommendationContent.d.ts +20 -2
  231. package/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  232. package/lib/components/SafeDepositRental/YandexMap.js +6 -6
  233. package/lib/components/SafeDepositRental/YandexMap.js.map +1 -1
  234. package/lib/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  235. package/lib/components/Tabs/TabsContent.d.ts +8 -5
  236. package/lib/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -3
  237. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  238. package/lib/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  239. package/lib/components/TariffsTable/TariffsTableRow.js +2 -1
  240. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  241. package/lib/components/TextBlock/TextBlockContent.d.ts +3 -6
  242. package/lib/components/Tile/TileContent.d.ts +17 -2
  243. package/lib/icons/IconName.d.ts +15 -5
  244. package/lib/icons/IconName.js +13 -3
  245. package/lib/icons/IconName.js.map +1 -1
  246. package/lib/model/ButtonVersion.d.ts +1 -1
  247. package/lib/model/Footnote.d.ts +4 -0
  248. package/lib/model/Footnote.js +2 -0
  249. package/lib/model/Footnote.js.map +1 -0
  250. package/lib/model/HeadlineType.d.ts +4 -0
  251. package/lib/model/Picture.d.ts +4 -0
  252. package/lib/model/ProductColorVersion.d.ts +4 -0
  253. package/lib/model/ProductColorVersion.js +2 -0
  254. package/lib/model/ProductColorVersion.js.map +1 -0
  255. package/lib/services/sitemap/useSitemap.d.ts +2 -1
  256. package/lib/services/sitemap/useSitemap.js +2 -2
  257. package/lib/services/sitemap/useSitemap.js.map +1 -1
  258. package/lib/types/Fallback.d.ts +5 -0
  259. package/lib/types/Fallback.js +2 -0
  260. package/lib/types/Fallback.js.map +1 -0
  261. package/lib/types.d.ts +1 -0
  262. package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  263. package/lib/ui-kit/Button/ButtonProps.d.ts +3 -5
  264. package/lib/ui-kit/Button/ButtonSection.js +2 -1
  265. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  266. package/lib/ui-kit/Button/buttonClassNameConstants.js +4 -3
  267. package/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  268. package/lib/ui-kit/Foldable/Foldable.js +1 -1
  269. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  270. package/lib/ui-kit/Input/Input.js +1 -1
  271. package/lib/ui-kit/Input/Input.js.map +1 -1
  272. package/lib/ui-kit/InputRange/InputRange.js +8 -15
  273. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  274. package/lib/ui-kit/Radio/Radio.js +1 -1
  275. package/lib/ui-kit/Radio/Radio.js.map +1 -1
  276. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  277. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  278. package/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
  279. package/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  280. package/lib/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  281. package/lib/{components/Navigation/Navigation.fixture.d.ts → ui-kit/SelectCustom/SelectCustom.fixture.d.ts} +0 -0
  282. package/lib/ui-kit/SelectCustom/SelectCustom.js +28 -0
  283. package/lib/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  284. package/mobile/bundle/bundle.umd.js +53 -22
  285. package/mobile/bundle/bundle.umd.min.js +1 -1
  286. package/mobile/dist/ProjectSettings.d.ts +2 -0
  287. package/mobile/dist/ProjectSettings.js +3 -0
  288. package/mobile/dist/ProjectSettings.js.map +1 -1
  289. package/mobile/dist/components/Accordion/AccordionContent.d.ts +4 -9
  290. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  291. package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  292. package/mobile/dist/components/BlockContent.d.ts +2 -3
  293. package/mobile/dist/components/Bonus/BonusContent.d.ts +6 -9
  294. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  295. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  296. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  297. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +3 -2
  298. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  299. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +7 -40
  300. package/mobile/dist/components/Calculator/CalculatorValueBlock.js +1 -1
  301. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +4 -3
  302. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  303. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +21 -2
  304. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  305. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  306. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  307. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  308. package/mobile/dist/components/Calculator/renderFootnote.d.ts +2 -0
  309. package/mobile/dist/components/Calculator/renderFootnote.js +6 -0
  310. package/mobile/dist/components/Calculator/renderFootnote.js.map +1 -0
  311. package/mobile/dist/components/CardTransfer/CardTransferContent.d.ts +3 -6
  312. package/mobile/dist/components/Catalog/CatalogCard.js.map +1 -1
  313. package/mobile/dist/components/Catalog/CatalogContent.d.ts +2 -5
  314. package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  315. package/mobile/dist/components/ComparisonTable/TableColumn.d.ts +8 -1
  316. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  317. package/mobile/dist/components/ComparisonTable/TableRow.d.ts +5 -1
  318. package/mobile/dist/components/ComparisonTable/TableRow.js.map +1 -1
  319. package/mobile/dist/components/ContentPage/computeAPIFallback.d.ts +5 -0
  320. package/mobile/dist/components/ContentPage/computeAPIFallback.js +68 -0
  321. package/mobile/dist/components/ContentPage/computeAPIFallback.js.map +1 -0
  322. package/mobile/dist/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  323. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  324. package/mobile/dist/components/ExchangeRateTile/renderInput.js +4 -3
  325. package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  326. package/mobile/dist/components/Footer/Footer.js +3 -2
  327. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  328. package/mobile/dist/components/Footer/FooterContent.d.ts +5 -9
  329. package/mobile/dist/components/Footer/HorizontalNavigation.d.ts +2 -2
  330. package/mobile/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  331. package/mobile/dist/components/Footer/Sitemap.d.ts +2 -0
  332. package/mobile/dist/components/Footer/Sitemap.js +2 -2
  333. package/mobile/dist/components/Footer/Sitemap.js.map +1 -1
  334. package/mobile/dist/components/Gallery/GalleryContent.d.ts +16 -19
  335. package/mobile/dist/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  336. package/mobile/dist/components/Header/Header.fallback.d.ts +2 -0
  337. package/mobile/dist/components/Header/Header.fallback.js +12 -0
  338. package/mobile/dist/components/Header/Header.fallback.js.map +1 -0
  339. package/mobile/dist/components/Header/Header.js +3 -2
  340. package/mobile/dist/components/Header/Header.js.map +1 -1
  341. package/mobile/dist/components/Header/HeaderContent.d.ts +14 -23
  342. package/mobile/dist/components/Headline/HeadlineContent.d.ts +4 -3
  343. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  344. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  345. package/mobile/dist/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  346. package/mobile/dist/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  347. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  348. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  349. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  350. package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  351. package/mobile/dist/components/PictureText/PictureText.js +1 -1
  352. package/mobile/dist/components/PictureText/PictureTextContent.d.ts +20 -4
  353. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  354. package/mobile/dist/components/ProductTile/ProductTile.js +13 -8
  355. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  356. package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +19 -9
  357. package/mobile/dist/components/Recommendation/RecommendationContent.d.ts +20 -2
  358. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  359. package/mobile/dist/components/SafeDepositRental/YandexMap.js +5 -5
  360. package/mobile/dist/components/SafeDepositRental/YandexMap.js.map +1 -1
  361. package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  362. package/mobile/dist/components/Tabs/TabsContent.d.ts +8 -5
  363. package/mobile/dist/components/TariffsTable/EmbeddableCellData.d.ts +0 -3
  364. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  365. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  366. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  367. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  368. package/mobile/dist/components/TextBlock/TextBlockContent.d.ts +3 -6
  369. package/mobile/dist/components/Tile/TileContent.d.ts +17 -2
  370. package/mobile/dist/icons/IconName.d.ts +15 -5
  371. package/mobile/dist/icons/IconName.js +13 -3
  372. package/mobile/dist/icons/IconName.js.map +1 -1
  373. package/mobile/dist/model/ButtonVersion.d.ts +1 -1
  374. package/mobile/dist/model/Footnote.d.ts +4 -0
  375. package/mobile/dist/model/Footnote.js +2 -0
  376. package/mobile/dist/model/Footnote.js.map +1 -0
  377. package/mobile/dist/model/HeadlineType.d.ts +4 -0
  378. package/mobile/dist/model/Picture.d.ts +4 -0
  379. package/mobile/dist/model/ProductColorVersion.d.ts +4 -0
  380. package/mobile/dist/model/ProductColorVersion.js +2 -0
  381. package/mobile/dist/model/ProductColorVersion.js.map +1 -0
  382. package/mobile/dist/services/sitemap/useSitemap.d.ts +2 -1
  383. package/mobile/dist/services/sitemap/useSitemap.js +2 -2
  384. package/mobile/dist/services/sitemap/useSitemap.js.map +1 -1
  385. package/mobile/dist/types/Fallback.d.ts +5 -0
  386. package/mobile/dist/types/Fallback.js +2 -0
  387. package/mobile/dist/types/Fallback.js.map +1 -0
  388. package/mobile/dist/types.d.ts +1 -0
  389. package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  390. package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +3 -5
  391. package/mobile/dist/ui-kit/Button/ButtonSection.js +2 -1
  392. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  393. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js +4 -3
  394. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  395. package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
  396. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  397. package/mobile/dist/ui-kit/Input/Input.js +1 -1
  398. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  399. package/mobile/dist/ui-kit/InputRange/InputRange.js +8 -15
  400. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  401. package/mobile/dist/ui-kit/Radio/Radio.js +1 -1
  402. package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -1
  403. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  404. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  405. package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
  406. package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  407. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  408. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.js +30 -0
  409. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  410. package/mobile/lib/ProjectSettings.d.ts +2 -0
  411. package/mobile/lib/ProjectSettings.js +3 -0
  412. package/mobile/lib/ProjectSettings.js.map +1 -1
  413. package/mobile/lib/components/Accordion/AccordionContent.d.ts +4 -9
  414. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  415. package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  416. package/mobile/lib/components/BlockContent.d.ts +2 -3
  417. package/mobile/lib/components/Bonus/BonusContent.d.ts +6 -9
  418. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  419. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  420. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  421. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +3 -2
  422. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  423. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +7 -40
  424. package/mobile/lib/components/Calculator/CalculatorValueBlock.js +1 -1
  425. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +4 -3
  426. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  427. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +21 -2
  428. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  429. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  430. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  431. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  432. package/mobile/lib/components/Calculator/renderFootnote.d.ts +2 -0
  433. package/mobile/lib/components/Calculator/renderFootnote.js +3 -0
  434. package/mobile/lib/components/Calculator/renderFootnote.js.map +1 -0
  435. package/mobile/lib/components/CardTransfer/CardTransferContent.d.ts +3 -6
  436. package/mobile/lib/components/Catalog/CatalogCard.js.map +1 -1
  437. package/mobile/lib/components/Catalog/CatalogContent.d.ts +2 -5
  438. package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  439. package/mobile/lib/components/ComparisonTable/TableColumn.d.ts +8 -1
  440. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  441. package/mobile/lib/components/ComparisonTable/TableRow.d.ts +5 -1
  442. package/mobile/lib/components/ComparisonTable/TableRow.js.map +1 -1
  443. package/mobile/lib/components/ContentPage/computeAPIFallback.d.ts +5 -0
  444. package/mobile/lib/components/ContentPage/computeAPIFallback.js +40 -0
  445. package/mobile/lib/components/ContentPage/computeAPIFallback.js.map +1 -0
  446. package/mobile/lib/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  447. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  448. package/mobile/lib/components/ExchangeRateTile/renderInput.js +4 -3
  449. package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  450. package/mobile/lib/components/Footer/Footer.js +3 -2
  451. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  452. package/mobile/lib/components/Footer/FooterContent.d.ts +5 -9
  453. package/mobile/lib/components/Footer/HorizontalNavigation.d.ts +2 -2
  454. package/mobile/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  455. package/mobile/lib/components/Footer/Sitemap.d.ts +2 -0
  456. package/mobile/lib/components/Footer/Sitemap.js +2 -2
  457. package/mobile/lib/components/Footer/Sitemap.js.map +1 -1
  458. package/mobile/lib/components/Gallery/GalleryContent.d.ts +16 -19
  459. package/mobile/lib/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  460. package/mobile/lib/components/Header/Header.fallback.d.ts +2 -0
  461. package/mobile/lib/components/Header/Header.fallback.js +9 -0
  462. package/mobile/lib/components/Header/Header.fallback.js.map +1 -0
  463. package/mobile/lib/components/Header/Header.js +3 -2
  464. package/mobile/lib/components/Header/Header.js.map +1 -1
  465. package/mobile/lib/components/Header/HeaderContent.d.ts +14 -23
  466. package/mobile/lib/components/Headline/HeadlineContent.d.ts +4 -3
  467. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  468. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  469. package/mobile/lib/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  470. package/mobile/lib/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  471. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  472. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  473. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  474. package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  475. package/mobile/lib/components/PictureText/PictureText.js +1 -1
  476. package/mobile/lib/components/PictureText/PictureTextContent.d.ts +20 -4
  477. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  478. package/mobile/lib/components/ProductTile/ProductTile.js +13 -8
  479. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  480. package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +19 -9
  481. package/mobile/lib/components/Recommendation/RecommendationContent.d.ts +20 -2
  482. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  483. package/mobile/lib/components/SafeDepositRental/YandexMap.js +6 -6
  484. package/mobile/lib/components/SafeDepositRental/YandexMap.js.map +1 -1
  485. package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  486. package/mobile/lib/components/Tabs/TabsContent.d.ts +8 -5
  487. package/mobile/lib/components/TariffsTable/EmbeddableCellData.d.ts +0 -3
  488. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  489. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  490. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +2 -1
  491. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  492. package/mobile/lib/components/TextBlock/TextBlockContent.d.ts +3 -6
  493. package/mobile/lib/components/Tile/TileContent.d.ts +17 -2
  494. package/mobile/lib/icons/IconName.d.ts +15 -5
  495. package/mobile/lib/icons/IconName.js +13 -3
  496. package/mobile/lib/icons/IconName.js.map +1 -1
  497. package/mobile/lib/model/ButtonVersion.d.ts +1 -1
  498. package/mobile/lib/model/Footnote.d.ts +4 -0
  499. package/mobile/lib/model/Footnote.js +2 -0
  500. package/mobile/lib/model/Footnote.js.map +1 -0
  501. package/mobile/lib/model/HeadlineType.d.ts +4 -0
  502. package/mobile/lib/model/Picture.d.ts +4 -0
  503. package/mobile/lib/model/ProductColorVersion.d.ts +4 -0
  504. package/mobile/lib/model/ProductColorVersion.js +2 -0
  505. package/mobile/lib/model/ProductColorVersion.js.map +1 -0
  506. package/mobile/lib/services/sitemap/useSitemap.d.ts +2 -1
  507. package/mobile/lib/services/sitemap/useSitemap.js +2 -2
  508. package/mobile/lib/services/sitemap/useSitemap.js.map +1 -1
  509. package/mobile/lib/types/Fallback.d.ts +5 -0
  510. package/mobile/lib/types/Fallback.js +2 -0
  511. package/mobile/lib/types/Fallback.js.map +1 -0
  512. package/mobile/lib/types.d.ts +1 -0
  513. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  514. package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +3 -5
  515. package/mobile/lib/ui-kit/Button/ButtonSection.js +2 -1
  516. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  517. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js +4 -3
  518. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  519. package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
  520. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  521. package/mobile/lib/ui-kit/Input/Input.js +1 -1
  522. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  523. package/mobile/lib/ui-kit/InputRange/InputRange.js +8 -15
  524. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  525. package/mobile/lib/ui-kit/Radio/Radio.js +1 -1
  526. package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -1
  527. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  528. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  529. package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
  530. package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  531. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  532. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.js +28 -0
  533. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  534. package/mobile/src/ProjectSettings.ts +4 -0
  535. package/mobile/src/components/Accordion/AccordionContent.ts +5 -9
  536. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +8 -14
  537. package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +15 -22
  538. package/mobile/src/components/BlockContent.ts +1 -3
  539. package/mobile/src/components/Bonus/BonusContent.ts +6 -8
  540. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +25 -27
  541. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +5 -11
  542. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +4 -2
  543. package/mobile/src/components/Calculator/CalculatorContent.ts +6 -44
  544. package/mobile/src/components/Calculator/CalculatorValueBlock.tsx +1 -1
  545. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +4 -2
  546. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +25 -2
  547. package/mobile/src/components/Calculator/EmbeddableCalcBlocks.tsx +0 -3
  548. package/mobile/src/components/Calculator/renderFootnote.tsx +2 -0
  549. package/mobile/src/components/CardTransfer/CardTransferContent.ts +9 -10
  550. package/mobile/src/components/Catalog/CatalogCard.tsx +4 -3
  551. package/mobile/src/components/Catalog/CatalogContent.ts +2 -6
  552. package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +9 -47
  553. package/mobile/src/components/ComparisonTable/TableColumn.tsx +10 -1
  554. package/mobile/src/components/ComparisonTable/TableRow.tsx +5 -1
  555. package/mobile/src/components/ContentPage/computeAPIFallback.spec.ts +63 -0
  556. package/mobile/src/components/ContentPage/computeAPIFallback.ts +55 -0
  557. package/mobile/src/components/ErrorBlock/ErrorBlockContent.ts +17 -4
  558. package/mobile/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +3 -4
  559. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +13 -16
  560. package/mobile/src/components/Footer/Footer.tsx +4 -1
  561. package/mobile/src/components/Footer/FooterContent.ts +5 -9
  562. package/mobile/src/components/Footer/HorizontalNavigation.tsx +3 -4
  563. package/mobile/src/components/Footer/Sitemap.tsx +4 -2
  564. package/mobile/src/components/Gallery/GalleryContent.ts +16 -19
  565. package/mobile/src/components/GracePeriod/GracePeriodContent.ts +10 -13
  566. package/mobile/src/components/Header/Header.fallback.ts +14 -0
  567. package/mobile/src/components/Header/Header.tsx +4 -2
  568. package/mobile/src/components/Header/HeaderContent.ts +15 -23
  569. package/mobile/src/components/Headline/HeadlineContent.ts +9 -9
  570. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +8 -13
  571. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +2 -2
  572. package/mobile/src/components/MiniGallery/MiniGalleryContent.ts +8 -3
  573. package/mobile/src/components/MobileAppTile/MobileAppTileContent.ts +19 -6
  574. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +3 -3
  575. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +5 -20
  576. package/mobile/src/components/OtherProducts/OtherProductsContent.ts +3 -4
  577. package/mobile/src/components/PictureText/PictureText.tsx +1 -1
  578. package/mobile/src/components/PictureText/PictureTextContent.ts +20 -5
  579. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +13 -10
  580. package/mobile/src/components/ProductTile/ProductTile.tsx +21 -12
  581. package/mobile/src/components/ProductTile/ProductTileContent.ts +19 -10
  582. package/mobile/src/components/Recommendation/RecommendationContent.ts +20 -2
  583. package/mobile/src/components/SafeDepositRental/SafeDepositRentalContent.ts +8 -6
  584. package/mobile/src/components/SafeDepositRental/YandexMap.tsx +8 -7
  585. package/mobile/src/components/StepsBlock/StepsBlockContent.ts +10 -27
  586. package/mobile/src/components/Tabs/TabsContent.ts +8 -5
  587. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +0 -4
  588. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +19 -36
  589. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +4 -1
  590. package/mobile/src/components/TextBlock/TextBlockContent.ts +3 -6
  591. package/mobile/src/components/Tile/TileContent.ts +17 -3
  592. package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +14 -20
  593. package/mobile/src/icons/ArrowDownIcon.svg +1 -1
  594. package/mobile/src/icons/ArrowUpIcon.svg +1 -1
  595. package/mobile/src/icons/BuildingIcon.svg +10 -0
  596. package/mobile/src/icons/Car2Icon.svg +10 -0
  597. package/mobile/src/icons/DocDownloadIcon.svg +1 -1
  598. package/mobile/src/icons/DoneIcon.svg +3 -3
  599. package/mobile/src/icons/DoneSimpleIcon.svg +3 -0
  600. package/mobile/src/icons/GpsIcon.svg +1 -1
  601. package/mobile/src/icons/IconName.ts +4 -4
  602. package/mobile/src/icons/MoneyIcon.svg +5 -1
  603. package/mobile/src/icons/MoneysIcon.svg +7 -0
  604. package/mobile/src/icons/Profile2UserIcon.svg +6 -1
  605. package/mobile/src/icons/StrongBoxIcon.svg +5 -0
  606. package/mobile/src/icons/UserSquareIcon.svg +5 -0
  607. package/mobile/src/icons/UserTickIcon.svg +5 -1
  608. package/mobile/src/model/ButtonVersion.ts +1 -1
  609. package/mobile/src/model/Footnote.ts +4 -0
  610. package/mobile/src/model/HeadlineType.ts +5 -0
  611. package/mobile/src/model/Picture.ts +5 -0
  612. package/mobile/src/model/ProductColorVersion.ts +4 -0
  613. package/mobile/src/services/sitemap/useSitemap.ts +3 -1
  614. package/mobile/src/types/Fallback.ts +4 -0
  615. package/mobile/src/types.ts +1 -0
  616. package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +3 -8
  617. package/mobile/src/ui-kit/Button/ButtonProps.ts +12 -13
  618. package/mobile/src/ui-kit/Button/ButtonSection.tsx +19 -2
  619. package/mobile/src/ui-kit/Button/buttonClassNameConstants.ts +5 -3
  620. package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
  621. package/mobile/src/ui-kit/Input/Input.tsx +1 -1
  622. package/mobile/src/ui-kit/InputRange/InputRange.tsx +24 -25
  623. package/mobile/src/ui-kit/Radio/Radio.tsx +2 -1
  624. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
  625. package/mobile/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
  626. package/mobile/src/ui-kit/SelectCustom/SelectCustom.tsx +84 -0
  627. package/package.json +2 -2
  628. package/src/ProjectSettings.ts +4 -0
  629. package/src/components/Accordion/AccordionContent.ts +5 -9
  630. package/src/components/BenefitsBlock/BenefitsBlock.tsx +8 -14
  631. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +15 -22
  632. package/src/components/BlockContent.ts +1 -3
  633. package/src/components/Blocks.ts +1 -3
  634. package/src/components/Bonus/BonusContent.ts +6 -8
  635. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +25 -27
  636. package/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +5 -11
  637. package/src/components/Calculator/BonusCalculatorForm.tsx +4 -2
  638. package/src/components/Calculator/Calculator.fixture.tsx +5 -21
  639. package/src/components/Calculator/CalculatorContent.ts +6 -44
  640. package/src/components/Calculator/CalculatorValueBlock.tsx +1 -1
  641. package/src/components/Calculator/CreditCalculatorForm.tsx +4 -2
  642. package/src/components/Calculator/DepositCalculatorForm.tsx +25 -2
  643. package/src/components/Calculator/EmbeddableCalcBlocks.tsx +0 -3
  644. package/src/components/Calculator/renderFootnote.tsx +2 -0
  645. package/src/components/CardTransfer/CardTransferContent.ts +9 -10
  646. package/src/components/Catalog/Catalog.fixture.tsx +2 -2
  647. package/src/components/Catalog/CatalogCard.tsx +4 -3
  648. package/src/components/Catalog/CatalogContent.ts +2 -6
  649. package/src/components/ComparisonTable/ComparisonTableContent.ts +9 -47
  650. package/src/components/ComparisonTable/TableColumn.tsx +10 -1
  651. package/src/components/ComparisonTable/TableRow.tsx +5 -1
  652. package/src/components/ContentPage/computeAPIFallback.spec.ts +63 -0
  653. package/src/components/ContentPage/computeAPIFallback.ts +55 -0
  654. package/src/components/ErrorBlock/ErrorBlockContent.ts +17 -4
  655. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +3 -4
  656. package/src/components/ExchangeRateTile/renderInput.tsx +13 -16
  657. package/src/components/Footer/Footer.mobile.tsx +4 -1
  658. package/src/components/Footer/Footer.tsx +5 -1
  659. package/src/components/Footer/FooterContent.ts +5 -9
  660. package/src/components/Footer/HorizontalNavigation.mobile.tsx +3 -4
  661. package/src/components/Footer/HorizontalNavigation.tsx +3 -4
  662. package/src/components/Footer/Sitemap.tsx +4 -2
  663. package/src/components/Gallery/GalleryContent.ts +16 -19
  664. package/src/components/GracePeriod/GracePeriodContent.ts +10 -13
  665. package/src/components/Header/Header.fallback.ts +14 -0
  666. package/src/components/Header/Header.mobile.tsx +4 -2
  667. package/src/components/Header/Header.tsx +7 -2
  668. package/src/components/Header/HeaderContent.ts +15 -23
  669. package/src/components/Headline/HeadlineContent.ts +9 -9
  670. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +8 -13
  671. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +2 -2
  672. package/src/components/MiniGallery/MiniGalleryContent.ts +8 -3
  673. package/src/components/MobileAppTile/MobileAppTileContent.ts +19 -6
  674. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +3 -3
  675. package/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +5 -20
  676. package/src/components/OtherProducts/OtherProductsContent.ts +3 -4
  677. package/src/components/PictureText/PictureText.tsx +1 -1
  678. package/src/components/PictureText/PictureTextContent.ts +20 -5
  679. package/src/components/ProductBlock/ProductBlock.fixture.tsx +1 -21
  680. package/src/components/ProductBlock/ProductBlockContent.ts +13 -10
  681. package/src/components/ProductTile/ProductTile.fixture.tsx +12 -0
  682. package/src/components/ProductTile/ProductTile.tsx +21 -12
  683. package/src/components/ProductTile/ProductTileContent.ts +19 -10
  684. package/src/components/Recommendation/RecommendationContent.ts +20 -2
  685. package/src/components/SafeDepositRental/SafeDepositRentalContent.ts +8 -6
  686. package/src/components/SafeDepositRental/YandexMap.tsx +8 -7
  687. package/src/components/StepsBlock/StepsBlockContent.ts +10 -27
  688. package/src/components/Tabs/TabsContent.ts +8 -5
  689. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +0 -4
  690. package/src/components/TariffsTable/TariffsTableContent.ts +19 -36
  691. package/src/components/TariffsTable/TariffsTableRow.tsx +4 -1
  692. package/src/components/TextBlock/TextBlockContent.ts +3 -6
  693. package/src/components/Tile/TileContent.ts +17 -3
  694. package/src/components/__snapshots__/Blocks.spec.tsx.snap +14 -20
  695. package/src/icons/ArrowDownIcon.svg +1 -1
  696. package/src/icons/ArrowUpIcon.svg +1 -1
  697. package/src/icons/BuildingIcon.svg +10 -0
  698. package/src/icons/Car2Icon.svg +10 -0
  699. package/src/icons/DocDownloadIcon.svg +1 -1
  700. package/src/icons/DoneIcon.svg +3 -3
  701. package/src/icons/DoneSimpleIcon.svg +3 -0
  702. package/src/icons/GpsIcon.svg +1 -1
  703. package/src/icons/IconName.ts +22 -7
  704. package/src/icons/MoneyIcon.svg +5 -1
  705. package/src/icons/MoneysIcon.svg +7 -0
  706. package/src/icons/Profile2UserIcon.svg +6 -1
  707. package/src/icons/StrongBoxIcon.svg +5 -0
  708. package/src/icons/UserSquareIcon.svg +5 -0
  709. package/src/icons/UserTickIcon.svg +5 -1
  710. package/src/model/ButtonVersion.ts +1 -1
  711. package/src/model/Footnote.ts +4 -0
  712. package/src/model/HeadlineType.ts +5 -0
  713. package/src/model/Picture.ts +5 -0
  714. package/src/model/ProductColorVersion.ts +4 -0
  715. package/src/services/sitemap/useSitemap.ts +3 -1
  716. package/src/types/Fallback.ts +4 -0
  717. package/src/types.ts +1 -0
  718. package/src/ui-kit/BenefitItem/BenefitItemProps.ts +3 -8
  719. package/src/ui-kit/Button/ButtonProps.ts +12 -13
  720. package/src/ui-kit/Button/ButtonSection.tsx +19 -2
  721. package/src/ui-kit/Button/buttonClassNameConstants.ts +5 -3
  722. package/src/ui-kit/Foldable/Foldable.tsx +1 -1
  723. package/src/ui-kit/Input/Input.tsx +1 -1
  724. package/src/ui-kit/InputRange/InputRange.tsx +24 -25
  725. package/src/ui-kit/Radio/Radio.tsx +2 -1
  726. package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
  727. package/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
  728. package/src/ui-kit/SelectCustom/SelectCustom.fixture.tsx +15 -0
  729. package/src/ui-kit/SelectCustom/SelectCustom.tsx +84 -0
  730. package/cosmos-static/icons/StateMortgageIcon.svg +0 -1
  731. package/dist/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  732. package/dist/components/Calculator/MortgageCalculatorForm.js +0 -34
  733. package/dist/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  734. package/dist/components/Navigation/Navigation.d.ts +0 -5
  735. package/dist/components/Navigation/Navigation.js +0 -17
  736. package/dist/components/Navigation/Navigation.js.map +0 -1
  737. package/dist/components/Navigation/NavigationContent.d.ts +0 -10
  738. package/dist/components/Navigation/NavigationContent.js.map +0 -1
  739. package/dist/components/Navigation/NavigationItem.d.ts +0 -4
  740. package/dist/components/Navigation/NavigationItem.js +0 -6
  741. package/dist/components/Navigation/NavigationItem.js.map +0 -1
  742. package/lib/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  743. package/lib/components/Calculator/MortgageCalculatorForm.js +0 -32
  744. package/lib/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  745. package/lib/components/Navigation/Navigation.d.ts +0 -5
  746. package/lib/components/Navigation/Navigation.js +0 -15
  747. package/lib/components/Navigation/Navigation.js.map +0 -1
  748. package/lib/components/Navigation/NavigationContent.d.ts +0 -10
  749. package/lib/components/Navigation/NavigationContent.js +0 -2
  750. package/lib/components/Navigation/NavigationContent.js.map +0 -1
  751. package/lib/components/Navigation/NavigationItem.d.ts +0 -4
  752. package/lib/components/Navigation/NavigationItem.js +0 -4
  753. package/lib/components/Navigation/NavigationItem.js.map +0 -1
  754. package/mobile/dist/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  755. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js +0 -34
  756. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  757. package/mobile/dist/components/Navigation/Navigation.d.ts +0 -5
  758. package/mobile/dist/components/Navigation/Navigation.js +0 -17
  759. package/mobile/dist/components/Navigation/Navigation.js.map +0 -1
  760. package/mobile/dist/components/Navigation/NavigationContent.d.ts +0 -10
  761. package/mobile/dist/components/Navigation/NavigationContent.js.map +0 -1
  762. package/mobile/dist/components/Navigation/NavigationItem.d.ts +0 -4
  763. package/mobile/dist/components/Navigation/NavigationItem.js +0 -6
  764. package/mobile/dist/components/Navigation/NavigationItem.js.map +0 -1
  765. package/mobile/lib/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  766. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js +0 -32
  767. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  768. package/mobile/lib/components/Navigation/Navigation.d.ts +0 -5
  769. package/mobile/lib/components/Navigation/Navigation.js +0 -15
  770. package/mobile/lib/components/Navigation/Navigation.js.map +0 -1
  771. package/mobile/lib/components/Navigation/NavigationContent.d.ts +0 -10
  772. package/mobile/lib/components/Navigation/NavigationContent.js +0 -2
  773. package/mobile/lib/components/Navigation/NavigationContent.js.map +0 -1
  774. package/mobile/lib/components/Navigation/NavigationItem.d.ts +0 -4
  775. package/mobile/lib/components/Navigation/NavigationItem.js +0 -4
  776. package/mobile/lib/components/Navigation/NavigationItem.js.map +0 -1
  777. package/mobile/src/components/Calculator/MortgageCalculatorForm.tsx +0 -75
  778. package/mobile/src/components/Navigation/Navigation.tsx +0 -44
  779. package/mobile/src/components/Navigation/NavigationContent.ts +0 -11
  780. package/mobile/src/components/Navigation/NavigationItem.tsx +0 -17
  781. package/mobile/src/icons/StateMortgageIcon.svg +0 -1
  782. package/src/components/Calculator/MortgageCalculatorForm.tsx +0 -75
  783. package/src/components/Navigation/Navigation.fixture.tsx +0 -30
  784. package/src/components/Navigation/Navigation.tsx +0 -44
  785. package/src/components/Navigation/NavigationContent.ts +0 -11
  786. package/src/components/Navigation/NavigationItem.tsx +0 -17
  787. package/src/icons/StateMortgageIcon.svg +0 -1
@@ -13,6 +13,7 @@
13
13
  const useEffect = lazyHook('useEffect');
14
14
  const useCallback = lazyHook('useCallback');
15
15
  const useMemo = lazyHook('useMemo');
16
+ const useRef = lazyHook('useRef');
16
17
 
17
18
  const setup = (_jsx, _jsxs) => {
18
19
  globalThis._uni = {
@@ -84,6 +85,9 @@
84
85
  get YANDEX_MAP_API_KEY() {
85
86
  return this._.YANDEX_MAP_API_KEY;
86
87
  }
88
+ get YANDEX_METRIKA_ID() {
89
+ return this._.YANDEX_METRIKA_ID;
90
+ }
87
91
  })();
88
92
 
89
93
  const AUTH_PREFIX = 'guest';
@@ -307,11 +311,13 @@
307
311
  IconMap["ArrowUpIcon"] = "ArrowUpIcon";
308
312
  IconMap["AtmIcon"] = "AtmIcon";
309
313
  IconMap["BankIcon"] = "BankIcon";
314
+ IconMap["BuildingIcon"] = "BuildingIcon";
310
315
  IconMap["BurgerIcon"] = "BurgerIcon";
311
316
  IconMap["Calendar2Icon"] = "Calendar2Icon";
312
317
  IconMap["CalendarCircleIcon"] = "CalendarCircleIcon";
313
318
  IconMap["CalendarIcon"] = "CalendarIcon";
314
319
  IconMap["CalendarTickIcon"] = "CalendarTickIcon";
320
+ IconMap["Car2Icon"] = "Car2Icon";
315
321
  IconMap["CardIcon"] = "CardIcon";
316
322
  IconMap["CardPosIcon"] = "CardPosIcon";
317
323
  IconMap["CardTickIcon"] = "CardTickIcon";
@@ -331,6 +337,7 @@
331
337
  IconMap["DocumentTextIcon"] = "DocumentTextIcon";
332
338
  IconMap["DollarIcon"] = "DollarIcon";
333
339
  IconMap["DoneIcon"] = "DoneIcon";
340
+ IconMap["DoneSimpleIcon"] = "DoneSimpleIcon";
334
341
  IconMap["EarthIcon"] = "EarthIcon";
335
342
  IconMap["EmptyWalletChangeIcon"] = "EmptyWalletChangeIcon";
336
343
  IconMap["EmptyWalletIcon"] = "EmptyWalletIcon";
@@ -352,6 +359,7 @@
352
359
  IconMap["MirIcon"] = "MirIcon";
353
360
  IconMap["MoneyIcon"] = "MoneyIcon";
354
361
  IconMap["MoneyInsuranceIcon"] = "MoneyInsuranceIcon";
362
+ IconMap["MoneysIcon"] = "MoneysIcon";
355
363
  IconMap["MonitorMobileIcon"] = "MonitorMobileIcon";
356
364
  IconMap["NewDocIcon"] = "NewDocIcon";
357
365
  IconMap["OfficeIcon"] = "OfficeIcon";
@@ -373,9 +381,10 @@
373
381
  IconMap["SignDocsIcon"] = "SignDocsIcon";
374
382
  IconMap["SmallClockIcon"] = "SmallClockIcon";
375
383
  IconMap["SoundIcon"] = "SoundIcon";
376
- IconMap["StateMortgageIcon"] = "StateMortgageIcon";
384
+ IconMap["StrongBoxIcon"] = "StrongBoxIcon";
377
385
  IconMap["TelegramIcon"] = "TelegramIcon";
378
386
  IconMap["UnionPayIcon"] = "UnionPayIcon";
387
+ IconMap["UserSquareIcon"] = "UserSquareIcon";
379
388
  IconMap["UserTickIcon"] = "UserTickIcon";
380
389
  IconMap["VisaIcon"] = "VisaIcon";
381
390
  IconMap["VKIcon"] = "VKIcon";
@@ -395,11 +404,13 @@
395
404
  IconTitleMap["ArrowUpIcon"] = "\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u0432\u0435\u0440\u0445";
396
405
  IconTitleMap["AtmIcon"] = "\u0411\u0430\u043D\u043A\u043E\u043C\u0430\u0442";
397
406
  IconTitleMap["BankIcon"] = "\u0411\u0430\u043D\u043A";
407
+ IconTitleMap["BuildingIcon"] = "\u0417\u0434\u0430\u043D\u0438\u0435 \u0441 \u0434\u0435\u0440\u0435\u0432\u043E\u043C";
398
408
  IconTitleMap["BurgerIcon"] = "\u0411\u0443\u0440\u0433\u0435\u0440";
399
409
  IconTitleMap["Calendar2Icon"] = "\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C 2";
400
410
  IconTitleMap["CalendarCircleIcon"] = "\u0421\u043A\u0440\u0443\u0433\u043B\u0451\u043D\u043D\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C";
401
411
  IconTitleMap["CalendarIcon"] = "\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C";
402
412
  IconTitleMap["CalendarTickIcon"] = "\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u0441 \u0433\u0430\u043B\u043E\u0447\u043A\u043E\u0439";
413
+ IconTitleMap["Car2Icon"] = "\u041C\u0430\u0448\u0438\u043D\u04302";
403
414
  IconTitleMap["CardIcon"] = "\u041A\u0440\u0435\u0434. \u043A\u0430\u0440\u0442\u0430";
404
415
  IconTitleMap["CardPosIcon"] = "\u041A\u0440\u0435\u0434. \u043A\u0430\u0440\u0442\u0430 \u043F\u043E\u0434 \u043D\u0430\u043A\u043B\u043E\u043D\u043E\u043C";
405
416
  IconTitleMap["CardTickIcon"] = "\u041A\u0440\u0435\u0434. \u043A\u0430\u0440\u0442\u0430 \u0441 \u0433\u0430\u043B\u043E\u0447\u043A\u043E\u0439";
@@ -418,7 +429,8 @@
418
429
  IconTitleMap["DocsIcon"] = "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B";
419
430
  IconTitleMap["DocumentTextIcon"] = "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441 \u0442\u0435\u043A\u0441\u0442\u043E\u043C";
420
431
  IconTitleMap["DollarIcon"] = "\u0414\u043E\u043B\u043B\u0430\u0440";
421
- IconTitleMap["DoneIcon"] = "\u0417\u0435\u043B\u0451\u043D\u0430\u044F '\u0433\u0430\u043B\u043E\u0447\u043A\u0430'";
432
+ IconTitleMap["DoneIcon"] = "\u0417\u0435\u043B\u0451\u043D\u0430\u044F '\u0433\u0430\u043B\u043E\u0447\u043A\u0430' \u0432 \u043A\u0440\u0443\u0433\u0435";
433
+ IconTitleMap["DoneSimpleIcon"] = "\u0417\u0435\u043B\u0451\u043D\u0430\u044F '\u0433\u0430\u043B\u043E\u0447\u043A\u0430'";
422
434
  IconTitleMap["EarthIcon"] = "\u0417\u0435\u043C\u043B\u044F";
423
435
  IconTitleMap["EmptyWalletChangeIcon"] = "\u041F\u0443\u0441\u0442\u043E\u0439 \u043A\u043E\u0448\u0435\u043B\u0451\u043A \u0441 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u043E\u043C";
424
436
  IconTitleMap["EmptyWalletIcon"] = "\u041F\u0443\u0441\u0442\u043E\u0439 \u043A\u043E\u0448\u0435\u043B\u0451\u043A";
@@ -440,6 +452,7 @@
440
452
  IconTitleMap["MirIcon"] = "\u041C\u0418\u0420";
441
453
  IconTitleMap["MoneyIcon"] = "\u0414\u0435\u043D\u044C\u0433\u0438";
442
454
  IconTitleMap["MoneyInsuranceIcon"] = "\u0414\u0435\u043D\u0435\u0436\u043D\u043E\u0435 \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435";
455
+ IconTitleMap["MoneysIcon"] = "MoneysIcon";
443
456
  IconTitleMap["MonitorMobileIcon"] = "\u041C\u043E\u043D\u0438\u0442\u043E\u0440 \u0438 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0439";
444
457
  IconTitleMap["NewDocIcon"] = "\u041D\u043E\u0432\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442";
445
458
  IconTitleMap["OfficeIcon"] = "\u041E\u0444\u0438\u0441";
@@ -461,9 +474,10 @@
461
474
  IconTitleMap["SignDocsIcon"] = "\u041F\u043E\u0434\u043F\u0438\u0441\u0430\u043D\u043D\u044B\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B";
462
475
  IconTitleMap["SmallClockIcon"] = "\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0435 \u0447\u0430\u0441\u044B";
463
476
  IconTitleMap["SoundIcon"] = "\u0417\u0432\u0443\u043A";
464
- IconTitleMap["StateMortgageIcon"] = "StateMortgageIcon";
477
+ IconTitleMap["StrongBoxIcon"] = "\u042F\u0449\u0438\u043A \u0441 \u0437\u0430\u043C\u043E\u0447\u043D\u043E\u0439 \u0441\u043A\u0432\u0430\u0436\u0438\u043D\u043E\u0439";
465
478
  IconTitleMap["TelegramIcon"] = "\u041B\u043E\u0433\u043E \u00ABTelegram\u00BB";
466
479
  IconTitleMap["UnionPayIcon"] = "UnionPay";
480
+ IconTitleMap["UserSquareIcon"] = "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0432 \u0440\u0430\u043C\u043A\u0435";
467
481
  IconTitleMap["UserTickIcon"] = "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C";
468
482
  IconTitleMap["VisaIcon"] = "Visa";
469
483
  IconTitleMap["VKIcon"] = "\u041B\u043E\u0433\u043E \u00ABVK\u00BB";
@@ -673,7 +687,7 @@
673
687
  const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
674
688
 
675
689
  const PictureText = JSX(({ className = '', context, title, description, image, benefits, version = 'primary', sum, monthLimit, directionRight = false, ...rest }) => {
676
- return (jsxs(BlockWrapper, { className: `relative font-sans py-12 px-28 ${VersionStyleMap[version]} ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", bgColorHeadline: version, align: "center" }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src ? jsx(Img, { className: directionRight ? 'order-2' : '', image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits?.length ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit$2(version)) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] })] }));
690
+ return (jsxs(BlockWrapper, { className: `relative font-sans py-12 px-24 ${VersionStyleMap[version]} ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", bgColorHeadline: version, align: "center" }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src ? jsx(Img, { className: directionRight ? 'order-2' : '', image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits?.length ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit$2(version)) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] })] }));
677
691
  });
678
692
  const renderBenefit$2 = (version) => (benefit, i) => (jsx(BenefitItem, { icon: benefit.icon, label: benefit.label, description: benefit.description, version: version }, String(i)));
679
693
  function renderInsuranceSumMonth(sum, monthLimit) {
@@ -791,10 +805,11 @@
791
805
  white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white',
792
806
  link: '',
793
807
  };
808
+ const DisabledStyle = 'bg-main-divider text-main-disabled';
794
809
  const buttonDisabledStyleMap = {
795
- primary: 'bg-secondary-dark text-secondary-text',
796
- secondary: 'bg-secondary-light text-secondary-text',
797
- white: 'bg-white text-primary-text',
810
+ primary: DisabledStyle,
811
+ secondary: DisabledStyle,
812
+ white: DisabledStyle,
798
813
  link: '',
799
814
  };
800
815
  const buttonStyle = 'text-center font-sans select-none';
@@ -840,7 +855,8 @@
840
855
  return null;
841
856
  }
842
857
  const imgStyle = version === 'primary' ? 'group-hover:text-black' : 'group-hover:text-white';
843
- return icon ? (jsx(Button, { appendLeft: jsx(Img, { imageClassName: imgStyle, image: icon, width: "24", height: "24", asSVG: true }), appendRight: jsx(Img, { imageClassName: imgStyle, image: iconRight, width: "24", height: "24", asSVG: true }), version: version, ...button }, String(i))) : (jsx(Button, { version: version, ...button }, String(i)));
858
+ const iconVersion = version === 'secondary' ? 'normal' : 'white';
859
+ return icon ? (jsx(Button, { appendLeft: jsx(Img, { imageClassName: imgStyle, image: { ...icon, iconVersion: iconVersion }, width: "24", height: "24", asSVG: true }), appendRight: jsx(Img, { imageClassName: imgStyle, image: { ...iconRight, iconVersion: iconVersion }, width: "24", height: "24", asSVG: true }), version: version, ...button }, String(i))) : (jsx(Button, { version: version, ...button }, String(i)));
844
860
  }
845
861
 
846
862
  const LIST_STYLE_CLASSES = {
@@ -998,12 +1014,16 @@
998
1014
  }
999
1015
 
1000
1016
  const ProductTile = JSX(({ context, className = '', title, headlineVersion = 'S', description, additionalDescription, benefits = [], buttons, image, version = 'primary', ...rest }) => {
1001
- return (jsxs(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 box-border relative justify-between grid ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)}`, ...rest, children: [jsx(Headline, { context: context, className: `!p-0 !bg-transparent z-10 ${title || description ? 'mb-3.5' : ''}`, as: "h2", title: title, description: description, headlineVersion: headlineVersion, bgColorHeadline: version, align: "left" }), renderBenefits$1(benefits, version), additionalDescription ? renderAdditionalDescription(additionalDescription, version) : null, buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-10 text-l" })) : null, image?.src ? jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
1017
+ return (jsxs(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 box-border relative justify-between grid min-h-[364px]
1018
+ ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)}`, ...rest, children: [jsx(Headline, { context: context, className: `!p-0 !bg-transparent z-10 ${title || description ? 'mb-3.5' : ''}`, as: "h2", title: title, description: description, headlineVersion: headlineVersion, bgColorHeadline: version, align: "left" }), renderBenefits$1(benefits, version, image), additionalDescription
1019
+ ? renderAdditionalDescription(additionalDescription, image, version)
1020
+ : null, buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-10 text-l" })) : null, image?.src ? jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
1002
1021
  });
1003
- // picture width = 242px. Text can overlay picture 20px deep. Outer paddings_x = 36px. 242-36-20 = 186px
1004
- const BENEFITS_WIDTH = 'max-w-[calc(100%-186px)]';
1005
- function renderBenefits$1(benefits, version) {
1006
- return (jsx("div", { className: `z-10 grid grid-cols-[max-content_1fr] auto-rows-auto gap-x-6 gap-y-2.5 items-baseline ${BENEFITS_WIDTH}`, children: benefits.length ? benefits.map(renderBenefit(version)) : null }));
1022
+ function renderBenefits$1(benefits, version, image) {
1023
+ // picture width = 242px. Text can overlay picture 20px deep. Outer paddings_x = 36px. 242-36-20 = 186px
1024
+ const BENEFITS_WIDTH = image?.src ? 'max-w-[calc(100%-186px)]' : '100%';
1025
+ return (jsx("div", { className: `z-10 grid grid-cols-[max-content_1fr] auto-rows-auto gap-x-6 gap-y-2.5 items-baseline
1026
+ ${BENEFITS_WIDTH}`, children: benefits.length ? benefits.map(renderBenefit(version)) : null }));
1007
1027
  }
1008
1028
  function renderBenefit(version = 'primary') {
1009
1029
  const labelStyleMap = {
@@ -1018,12 +1038,14 @@
1018
1038
  ];
1019
1039
  };
1020
1040
  }
1021
- function renderAdditionalDescription(additionalDescription, version = 'primary') {
1041
+ function renderAdditionalDescription(additionalDescription, image, version = 'primary') {
1022
1042
  const descStyleMap = {
1023
1043
  primary: 'text-secondary-text',
1024
1044
  secondary: 'text-white',
1025
1045
  };
1026
- return (jsx("div", { className: `text-m-light mt-2.5 z-10 ${descStyleMap[version]}`, children: additionalDescription }));
1046
+ // picture width = 242px. Text can overlay picture 20px deep. Outer paddings_x = 36px. 242-36-20 = 186px
1047
+ const DESCRIPTION_WIDTH = image?.src ? 'max-w-[calc(100%-186px)]' : '100%';
1048
+ return (jsx("div", { className: `text-m-light mt-2.5 z-10 ${DESCRIPTION_WIDTH} ${descStyleMap[version]}`, children: additionalDescription }));
1027
1049
  }
1028
1050
 
1029
1051
  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
@@ -1242,15 +1264,13 @@
1242
1264
  }
1243
1265
  }
1244
1266
 
1245
- const BonusBenefitsBlock = JSX(({ context, className = '', title, subtitle, bonusBenefits, ...rest }) => {
1246
- return (jsxs(BlockWrapper, { className: `font-sans text-primary-text bg-white p-50 flex flex-col text-center ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: subtitle, headlineVersion: "M", align: "center" }), bonusBenefits?.length ? (jsx("div", { className: `grid gap-1 mt-8 ${getElementsColsValue(className)}`, children: bonusBenefits.map(renderBonusBenefit) })) : null] }));
1247
- });
1267
+ const BonusBenefitsBlock = JSX(({ context, className = '', title, subtitle, bonusBenefits, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans text-primary-text bg-white p-[50px] flex flex-col text-center ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: subtitle, headlineVersion: "M", align: "center" }), bonusBenefits?.length ? (jsx("div", { className: `grid gap-1 mt-8 ${getElementsColsValue(className)}`, children: bonusBenefits.map(renderBonusBenefit) })) : null] })));
1248
1268
  const renderBonusBenefit = (bonusBenefit, i) => {
1249
- return (jsxs("div", { className: "flex flex-col items-center max-w-[292px]", children: [bonusBenefit?.icon ? (jsx(Img, { className: "h-[180px] w-[160px] min-w-[160px] min-h-[160px]", image: bonusBenefit.icon, width: "160", height: "180" })) : null, jsx("div", { children: bonusBenefit?.label ? jsx("span", { className: "text-h6 m-0", children: bonusBenefit.label }) : null })] }, String(i)));
1269
+ return (jsxs("div", { className: "flex flex-col items-center max-w-[292px]", children: [bonusBenefit?.icon ? (jsx(Img, { className: "h-[160px] w-[180px] min-w-[180px] min-h-[160px]", image: bonusBenefit.icon, width: "180", height: "160" })) : null, jsx("div", { children: bonusBenefit?.label ? jsx("span", { className: "text-h6 m-0", children: bonusBenefit.label }) : null })] }, String(i)));
1250
1270
  };
1251
1271
 
1252
1272
  const CalculatorValueBlock = JSX(({ title, value, postfix = '', prefix, className = '' }) => {
1253
- return (jsxs("div", { className: `mb-5 ${className}`, children: [title ? jsx("div", { className: "text-l-light text-secondary-text", children: title }) : null, value ? (jsxs("div", { className: "text-h3", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] })) : null] }));
1273
+ return (jsxs("div", { className: `mb-7 ${className}`, children: [title ? jsx("div", { className: "text-l-light text-secondary-text", children: title }) : null, value ? (jsxs("div", { className: "text-h3", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] })) : null] }));
1254
1274
  });
1255
1275
 
1256
1276
  const DEFAULT_MIN_SUM = 60000;
@@ -1296,34 +1316,26 @@
1296
1316
  return buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex flex-col mt-7 gap-2" })) : null;
1297
1317
  }
1298
1318
 
1319
+ const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
1320
+
1299
1321
  const DISABLED_INPUT_CLASSES = 'disabled:border-main-stroke disabled:bg-main-divider';
1300
1322
  const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, disabled = false, onChange, }) => {
1301
- const handleChange = (_) => {
1323
+ const getSanitizedValue = (_) => Number(_.replace(/\D/g, ''));
1324
+ const handleChange = (e) => {
1302
1325
  if (!onChange) {
1303
1326
  return;
1304
1327
  }
1305
- const sanitizedValue = Number(_.replace(/\D/g, ''));
1306
- onChange(sanitizedValue);
1328
+ onChange(clamp(getSanitizedValue(e.target.value), min, max));
1307
1329
  };
1308
1330
  const inputStyle = {
1309
1331
  backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
1310
1332
  };
1311
- const handleBlur = () => {
1312
- if (!onChange) {
1313
- return;
1314
- }
1315
- if (value < min) {
1316
- onChange(min);
1317
- }
1318
- if (value > max) {
1319
- onChange(max);
1320
- }
1321
- };
1322
1333
  return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? jsx("span", { className: "text-m-light", children: title }) : null, jsx("input", { className: `m-0 mt-2 font-sans text-h3 w-full h-14 border border-solid border-main-stroke rounded-md
1323
- outline-none p-0 pl-4 box-border text-primary-text hover:border-primary-hover focus:border-primary-focus ${DISABLED_INPUT_CLASSES}`, value: addSpacesBetweenNumbers(value), disabled: disabled, onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 -bottom-1 px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, disabled: disabled, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx("span", { className: "text-s-light text-secondary-text", children: item }, String(i)))) })] }));
1334
+ outline-none p-0 pl-4 box-border text-primary-text hover:border-primary-hover focus:border-primary-focus ${DISABLED_INPUT_CLASSES}`, value: addSpacesBetweenNumbers(value), disabled: disabled, onChange: handleChange, onBlur: handleChange }), jsx("div", { className: "absolute inset-x-0 -bottom-1 px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, disabled: disabled, onChange: handleChange, style: inputStyle }) })] }), renderRangeCaption(items)] }));
1324
1335
  });
1325
-
1326
- const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
1336
+ function renderRangeCaption(items) {
1337
+ return (jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx("span", { className: "text-s-light text-secondary-text", children: item }, String(i)))) }));
1338
+ }
1327
1339
 
1328
1340
  const DEFAULT_MONEY_STEP = 1000;
1329
1341
  function renderWantedSumInput(title, params, callback) {
@@ -1448,7 +1460,9 @@
1448
1460
  };
1449
1461
  };
1450
1462
 
1451
- const BonusCalculatorForm = JSX(({ context, className = '', sourceBookDir = '', buttons }) => {
1463
+ const renderFootnote = (text) => text ? jsx("p", { className: "text-s-light text-secondary-text mt-7", children: text }) : null;
1464
+
1465
+ const BonusCalculatorForm = JSX(({ context, className = '', sourceBookDir = '', buttons, footnote }) => {
1452
1466
  const [travelExpenseValue, setTravelExpenseValue] = useState(DEFAULT_TRAVEL_MIN_SUM);
1453
1467
  const [restExpenseValue, setRestExpenseValue] = useState(DEFAULT_REST_MIN_SUM);
1454
1468
  const userInputParams = {
@@ -1469,7 +1483,7 @@
1469
1483
  moneyValue: restExpenseValue,
1470
1484
  step: 500,
1471
1485
  isShowItems: false,
1472
- }, 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-[240px]", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonSection(context, buttons)] })] }));
1486
+ }, 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(context, buttons), renderFootnote(footnote)] })] }));
1473
1487
  });
1474
1488
 
1475
1489
  const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
@@ -1504,7 +1518,7 @@
1504
1518
  }
1505
1519
 
1506
1520
  const RadioButtonGroup = JSX(({ items, checkedItem, onChangeCheckedItem }) => {
1507
- return (jsx("div", { children: items?.map(({ id, text }) => (jsx(Checkbox, { isRadio: true, text: text, checked: checkedItem === id, onChange: () => onChangeCheckedItem(id) }, id))) }));
1521
+ return (jsx("div", { className: "flex flex-col gap-3", children: items?.map(({ id, text }) => (jsx(Checkbox, { isRadio: true, text: text, checked: checkedItem === id, onChange: () => onChangeCheckedItem(id) }, id))) }));
1508
1522
  });
1509
1523
 
1510
1524
  function renderPaymentTypeSelector(context, { items, checkedItem, onChange }) {
@@ -1557,7 +1571,7 @@
1557
1571
  text: 'Дифференцированный',
1558
1572
  },
1559
1573
  ];
1560
- const CreditCalculatorForm = JSX(({ context, className = '', sourceBookDir, buttons }) => {
1574
+ const CreditCalculatorForm = JSX(({ context, className = '', sourceBookDir, buttons, footnote }) => {
1561
1575
  const [isAnnuity, toggleIsAnnuity] = useState(false);
1562
1576
  const [isInsurance, toggleIsInsurance] = useState(true);
1563
1577
  const [isSalaryClient, toggleIsSalaryClient] = useState(false);
@@ -1573,16 +1587,29 @@
1573
1587
  monthsValue,
1574
1588
  };
1575
1589
  const calculatorParams = useCreditCalculatorParams(userInputParams, sourceBookDir);
1576
- 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-[351px]", children: [jsx(CalculatorValueBlock, { title: isAnnuity ? 'Ежемесячный платеж' : 'Платёж в первый месяц', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), renderPaymentTypeSelector(context, {
1590
+ 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" }), renderPaymentTypeSelector(context, {
1577
1591
  items: paymentTypeItems,
1578
1592
  checkedItem: isAnnuity ? ANNUITY : DIFFERENTIAL,
1579
1593
  onChange: (text) => toggleIsAnnuity(text === ANNUITY),
1580
- }), renderButtonSection(context, buttons)] })] }));
1594
+ }), renderButtonSection(context, buttons), renderFootnote(footnote)] })] }));
1581
1595
  });
1582
1596
 
1583
- const DepositCalculatorForm = JSX(({ context, className = '', buttons, rate }) => {
1597
+ const EVERY_MONTH = 'everyMonth';
1598
+ const AT_END_TERM = 'atEndTerm';
1599
+ const depositTypeItems = [
1600
+ {
1601
+ id: EVERY_MONTH,
1602
+ text: 'Ежемесячно',
1603
+ },
1604
+ {
1605
+ id: AT_END_TERM,
1606
+ text: 'В конце срока',
1607
+ },
1608
+ ];
1609
+ const DepositCalculatorForm = JSX(({ context, className = '', rate, buttons, footnote }) => {
1584
1610
  const [moneyValue, setMoneyValue] = useState(DEFAULT_SUM);
1585
1611
  const [monthsValue, setMonthsValue] = useState(DEFAULT_MONTHS);
1612
+ const [isEveryMonth, toggleIsEveryMonth] = useState(false);
1586
1613
  const income = 948841;
1587
1614
  const finallySum = 1218841;
1588
1615
  return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма вклада, ₽', {
@@ -1593,66 +1620,15 @@
1593
1620
  minMonths: DEFAULT_MIN_MONTHS,
1594
1621
  maxMonths: DEFAULT_MAX_MONTHS,
1595
1622
  monthsValue,
1596
- }, setMonthsValue)] }), jsx(Rate, { rate: rate || 1, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-[351px]", children: [(jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" })) , (jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finallySum, postfix: "\u20BD" })) , renderButtonSection(context, buttons)] })] }));
1597
- });
1598
-
1599
- const DEFAULT_RATE = 10.2;
1600
- const getCreditRate = (params) => {
1601
- const { calculatorParams, isInsurance } = params;
1602
- if (!calculatorParams) {
1603
- return DEFAULT_RATE;
1604
- }
1605
- return isInsurance
1606
- ? calculatorParams?.rateWithInsurance || DEFAULT_RATE
1607
- : calculatorParams?.rateWithoutInsurance || DEFAULT_RATE;
1608
- };
1609
-
1610
- const STEP_MONEY$1 = 1000;
1611
- function renderInitialFeeInput(title, props, callback) {
1612
- const { moneyValue } = props;
1613
- const minSum = DEFAULT_MIN_SUM;
1614
- const maxSum = DEFAULT_MAX_SUM;
1615
- return (jsx(InputRange, { className: "mt-7", title: title, items: [
1616
- `От ${addSpacesBetweenNumbers(minSum)} рублей`,
1617
- `До ${addSpacesBetweenNumbers(maxSum)} рублей`,
1618
- ], min: minSum, max: maxSum, step: STEP_MONEY$1, value: moneyValue, onChange: callback }));
1619
- }
1620
-
1621
- const monthlyPayment = 777777; // TODO: hardcode
1622
- function renderProposalMortgage({ credit, period, taxRefund }) {
1623
- return (jsxs("div", { children: [jsxs("div", { className: "flex justify-between", children: [jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430", value: credit, postfix: "\u20BD" }), jsx(CalculatorValueBlock, { title: "\u0421\u0440\u043E\u043A", value: period, postfix: "\u043B\u0435\u0442", className: "w-[120px]" })] }), jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" }), jsx(CalculatorValueBlock, { title: "\u041D\u0430\u043B\u043E\u0433\u043E\u0432\u044B\u0439 \u0432\u044B\u0447\u0435\u0442", value: taxRefund, postfix: "\u20BD" })] }));
1624
- }
1625
-
1626
- const STEP_MONEY = 1000;
1627
- function renderRealEstateValue(title, props, callback) {
1628
- const { moneyValue } = props;
1629
- const minSum = DEFAULT_MIN_SUM;
1630
- const maxSum = DEFAULT_MAX_SUM;
1631
- return (jsx(InputRange, { title: title, items: [`От ${addSpacesBetweenNumbers(minSum)} ₽`, `До ${addSpacesBetweenNumbers(maxSum)} ₽`], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue, onChange: callback }));
1632
- }
1633
-
1634
- const MortgageCalculatorForm = JSX(({ context, className = '', buttons }) => {
1635
- const [moneyValue, setMoneyValue] = useState(1000000);
1636
- const [monthsValue, setMonthsValue] = useState(12);
1637
- const [isInsurance, toggleIsInsurance] = useState(false);
1638
- const [isFullInsurance, toggleIsFullInsurance] = useState(false);
1639
- const calculatorParams = {}; // getCalculatorParams(context, { isAnnuity: isInsurance });
1640
- const minMonths = /*calculatorParams?.minMonths ||*/ DEFAULT_MIN_MONTHS;
1641
- const maxMonths = /* calculatorParams?.maxMonths || */ DEFAULT_MAX_MONTHS;
1642
- const rate = getCreditRate({ calculatorParams, isInsurance: isInsurance });
1643
- const proposalMortgageValue = { credit: 3892000, period: 15, taxRefund: 650000 }; // TODO: hardcode
1644
- return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderRealEstateValue('Стоимость недвижимости, ₽', { moneyValue }, setMoneyValue), renderInitialFeeInput('Первоначальный взнос, ₽', {
1645
- moneyValue,
1646
- }, setMoneyValue), renderMonthsInput('Срок ипотеки, месяцев', {
1647
- minMonths,
1648
- maxMonths,
1649
- monthsValue,
1650
- }, setMonthsValue), jsxs("div", { className: "mt-7", children: [jsx(Checkbox, { text: "\u0421\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435 \u0436\u0438\u0437\u043D\u0438", checked: isInsurance, onChange: toggleIsInsurance }), jsx(Checkbox, { className: "mt-4", text: "\u0421\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435 \u0436\u0438\u0437\u043D\u0438, \u0437\u0434\u043E\u0440\u043E\u0432\u044C\u044F \u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0443\u0442\u0440\u0430\u0442\u044B \u0442\u0440\u0443\u0434\u043E\u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438", checked: isFullInsurance, onChange: toggleIsFullInsurance })] })] }), jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { children: [jsx("div", { className: "w-[351px]", children: renderProposalMortgage(proposalMortgageValue) }), renderButtonSection(context, buttons)] })] }));
1623
+ }, setMonthsValue)] }), jsx(Rate, { rate: rate || 1, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-full max-w-[350px]", children: [(jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" })) , (jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finallySum, postfix: "\u20BD" })) , renderPaymentTypeSelector(context, {
1624
+ items: depositTypeItems,
1625
+ checkedItem: isEveryMonth ? EVERY_MONTH : AT_END_TERM,
1626
+ onChange: (text) => toggleIsEveryMonth(text === EVERY_MONTH),
1627
+ }), renderButtonSection(context, buttons), renderFootnote(footnote)] })] }));
1651
1628
  });
1652
1629
 
1653
1630
  const EmbeddableCalcBlocks = {
1654
1631
  CreditCalculatorForm,
1655
- MortgageCalculatorForm,
1656
1632
  DepositCalculatorForm,
1657
1633
  BonusCalculatorForm,
1658
1634
  };
@@ -1886,6 +1862,21 @@
1886
1862
  return (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans text-xs-light font-medium py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
1887
1863
  };
1888
1864
 
1865
+ const renderErrorContent = (error) => {
1866
+ if (error?.errorContentType === 'Image' && error?.image) {
1867
+ return jsx(Img, { image: error.image });
1868
+ }
1869
+ if (error?.errorContentType === 'Code' && error.code) {
1870
+ return jsx("div", { className: "font-mohave text-title-extra gradient-color-text", children: error.code });
1871
+ }
1872
+ return null;
1873
+ };
1874
+ const ErrorBlock = JSX(({ context, className = '', title, subtitle, error, button }) => {
1875
+ const { useRouter, handlerDecorator } = context;
1876
+ const router = useRouter();
1877
+ return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, role: "listitem", children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light text-left mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
1878
+ });
1879
+
1889
1880
  const roundTo = (value, precision = 2) => {
1890
1881
  const factor = 10 ** precision;
1891
1882
  return Math.round(parseFloat(String(value)) * factor) / factor;
@@ -1998,23 +1989,38 @@
1998
1989
  const validInputValue = e.target.validity.valid ? e.target.value : value;
1999
1990
  onChange(validInputValue);
2000
1991
  };
2001
- return (jsx("input", { className: `border-main-stroke hover:border-primary-hover active:border-primary-text focus:border-primary-text ${className}`, id: id, name: name || id, type: type, pattern: pattern, placeholder: placeholder, value: value, onChange: handleChange }));
1992
+ return (jsx("input", { className: `border rounded-md border-main-stroke hover:border-primary-hover active:border-primary-text focus:border-primary-text text-primary-text outline-none ${className}`, id: id, name: name || id, type: type, pattern: pattern, placeholder: placeholder, value: value, onChange: handleChange }));
2002
1993
  });
2003
1994
 
2004
- const selectStyle = {
2005
- background: `url('/icons/ArrowDownIcon.svg') no-repeat right 16px top 50%`,
2006
- };
2007
- const Select = JSX(({ className = '', id, name, children, value, onChange }) => {
2008
- return (jsx("select", { className: `appearance-none pl-0.5 ${className}`, style: selectStyle, id: id, name: name || id, value: value, onChange: (e) => onChange(e.target.value), placeholder: "", children: children }));
2009
- });
2010
-
2011
- const SelectOption = JSX(({ className = '', value, selected, disabled = false, children }) => {
2012
- return (jsx("option", { className: className, value: `${value}`, selected: selected, disabled: disabled, children: children }));
1995
+ const SelectCustom = JSX(({ className = '', isBorder = true, label, options = [], value, onChange }) => {
1996
+ const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
1997
+ const [isOpen, setIsOpen] = useState(false);
1998
+ const choiceOption = (option) => {
1999
+ setSelectedItem(option);
2000
+ setIsOpen(false);
2001
+ onChange(option);
2002
+ };
2003
+ const isSelected = (option) => Boolean(option.key === selectedItem.key);
2004
+ useEffect(() => {
2005
+ setSelectedItem(value || { key: '', text: '' });
2006
+ }, [value]);
2007
+ return (jsxs("div", { className: `${isOpen ? 'z-10' : ''} ${className}`, children: [label ? jsx("span", { className: "mb-2", children: label }) : null, jsxs("div", { className: `relative w-fit`, children: [jsxs("div", { className: `text-m-light flex justify-between min-h-[56px] mb-0.5 p-4 pr-8 text-primary-text cursor-pointer
2008
+ ${getBorderStyle(isBorder)}`, onClick: () => setIsOpen(!isOpen), children: [selectedItem.text, jsx(Icon, { name: "ArrowUpIcon", className: `absolute right-3 ${isOpen ? '' : 'rotate-180'}` })] }), options.length > 0 ? (jsx("div", { className: `h-0 ${isOpen ? '' : 'overflow-hidden'}`, children: jsx("div", { className: `bg-white text-l rounded-md`, children: options.map(renderOption(choiceOption, isOpen, isSelected)) }) })) : null] })] }));
2013
2009
  });
2010
+ const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
2011
+ return (jsxs("div", { onClick: () => {
2012
+ choiceOption(option);
2013
+ }, className: "flex px-4 py-3 cursor-pointer hover:bg-main-divider pr-11", children: [jsx("span", { children: option.text }), jsx(Icon, { name: "DoneSimpleIcon", className: ['absolute right-4 pt-0.5', isSelected(option) && isOpen ? '' : 'hidden'].join(' ') })] }, String(i)));
2014
+ };
2015
+ function getBorderStyle(isBorder) {
2016
+ return isBorder ? 'border border-main-stroke rounded-md hover:border-primary-hover' : '';
2017
+ }
2014
2018
 
2015
2019
  function renderInput(props) {
2016
2020
  const { placeholder, rates, selected, value, setValue, setSelected } = props;
2017
- return (jsxs("div", { className: "relative flex items-center", children: [jsx(Input, { className: "shrink-0 h-13 border pl-4 pt-4 pb-4 rounded-md text-l w-full appearance-none -mr-12", placeholder: placeholder, type: "text", value: value, onChange: setValue }), rates.length ? (jsx(Select, { className: "shrink-0 w-20 h-9 -translate-x-8 bg-transparent", value: selected, onChange: (_) => setSelected(_), children: rates.map((_, i) => (jsx(SelectOption, { value: _.code, children: _.code }, String(i)))) })) : null] }));
2021
+ const ratesOptions = rates.map((_) => ({ key: _.code ?? '', text: _.code ?? '' }));
2022
+ const selectedValue = { key: selected, text: selected };
2023
+ return (jsxs("div", { className: "relative flex", children: [jsx(Input, { className: "shrink-0 h-14 pl-4 pt-4 pb-4 text-l w-full appearance-none mr-[-90px]", placeholder: placeholder, type: "text", value: value, onChange: setValue }), ratesOptions.length ? (jsx(SelectCustom, { isBorder: false, onChange: (_) => setSelected(_.key), options: ratesOptions, value: selectedValue })) : null] }));
2018
2024
  }
2019
2025
 
2020
2026
  const ExchangeCurrencyCalculator = JSX(({ context, className = '', currencyRatesBuy, currencyRatesSell, button }) => {
@@ -2135,7 +2141,7 @@
2135
2141
  outline-none pr-[6%] border-main-stroke hover:border-primary-hover active:border-primary-text focus:border-primary-text ${SearchBarInputClassName}`, value: term, onChange: (e) => setTerm(e.target.value), type: "text", name: "search-bar-input", placeholder: inputPlaceholder }), isMobile ? (jsx("button", { className: "visible peer-placeholder-shown:invisible absolute top-2 right-3 w-6 h-6 p-1 bg-transparent cursor-pointer border-none", onClick: (e) => {
2136
2142
  e.preventDefault();
2137
2143
  setTerm('');
2138
- }, children: jsx(Img, { image: "CloseIcon", width: "24", height: "24" }) })) : (jsx(Button, { version: "primary", text: "\u041D\u0430\u0439\u0442\u0438", className: "invisible peer-focus:visible absolute top-1 right-1", onClick: (ev) => {
2144
+ }, children: jsx(Img, { image: "CloseIcon", width: "24", height: "24" }) })) : (jsx(Button, { version: "primary", text: "\u041D\u0430\u0439\u0442\u0438", className: "invisible peer-focus:visible absolute top-[3px] right-1", onClick: (ev) => {
2139
2145
  ev?.preventDefault();
2140
2146
  console.log('click');
2141
2147
  }, children: jsx("div", { className: "text-s px-9 py-2.5", children: "\u041D\u0430\u0439\u0442\u0438" }) }))] }));
@@ -2183,13 +2189,13 @@
2183
2189
  const subtract = (minuend, subtrahend) => (minuend || []).filter((_) => !subtrahend?.find(cmp(_)));
2184
2190
  const mergeTopItems = (left, right) => substitute(left, right).concat(subtract(right, left));
2185
2191
 
2186
- function useSitemap() {
2187
- const { data } = useAsyncData(`/wcms-resources/${projectSettings.SITEMAP || 'sitemap'}.json`, fetchJSONUnsafe);
2192
+ function useSitemap(fallback = {}) {
2193
+ const { data } = useAsyncData(`/wcms-resources/${projectSettings.SITEMAP || 'sitemap'}.json`, fetchJSONUnsafe, { fallback });
2188
2194
  return data || {};
2189
2195
  }
2190
2196
 
2191
- const Sitemap = JSX(({ className = '', items, context }) => {
2192
- const sitemap = useSitemap();
2197
+ const Sitemap = JSX(({ className = '', items, fallback, context }) => {
2198
+ const sitemap = useSitemap(fallback);
2193
2199
  const mergedItems = mergeTopItems(sitemap.topItems, items);
2194
2200
  const linkParams = {
2195
2201
  router: context.useRouter(),
@@ -2257,8 +2263,9 @@
2257
2263
  });
2258
2264
 
2259
2265
  const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
2260
- const Footer = JSX(({ className, documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems, context, ...rest }) => {
2261
- return (jsxs(BlockWrapper, { tag: "footer", context: context, className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD }), jsx(SearchBar, { context: context, className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, context: context, hasButton: true }), jsx(SocialMedia, { media: socialMedia, context: context, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, context: context, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", context: context, items: topItems })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises, context: context }), jsx(TextInformation, { links: documents, context: context })] }));
2266
+ const Footer = JSX(({ className, documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems, context, page, ...rest }) => {
2267
+ const fallback = page?.fallback;
2268
+ return (jsxs(BlockWrapper, { tag: "footer", context: context, className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD }), jsx(SearchBar, { context: context, className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, context: context, hasButton: true }), jsx(SocialMedia, { media: socialMedia, context: context, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, context: context, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", context: context, items: topItems, fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises, context: context }), jsx(TextInformation, { links: documents, context: context })] }));
2262
2269
  });
2263
2270
 
2264
2271
  const GracePeriod = JSX(({ context, className = '', title, description, calendar, ...rest }) => {
@@ -2412,9 +2419,10 @@
2412
2419
  'bg-white': 'bg-main-divider',
2413
2420
  transparent: 'bg-main-divider opacity-30',
2414
2421
  };
2415
- const Header = JSX(({ className = '', defaultLocation = 'Москва', showSubMenu = true, bgColor = 'bg-white', context, topItems, logo, ...rest }) => {
2422
+ const Header = JSX(({ className = '', defaultLocation = 'Москва', showSubMenu = true, bgColor = 'bg-white', context, topItems, logo, page, ...rest }) => {
2416
2423
  const router = context.useRouter();
2417
- const sitemap = useSitemap();
2424
+ const fallback = page?.fallback;
2425
+ const sitemap = useSitemap(fallback);
2418
2426
  const { handlerDecorator } = context;
2419
2427
  const mergedItems = mergeTopItems(sitemap.topItems, topItems);
2420
2428
  const [firstPortal] = mergedItems;
@@ -2422,7 +2430,7 @@
2422
2430
  ? mergedItems.find(isTopItemActive(router)) || firstPortal // Если по слагу невозможно понять к какому подпорталу этот слаг относиться, то выбираем первый подпортал.
2423
2431
  : null;
2424
2432
  const topMenu = mergedItems.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ...useLink({ router, handlerDecorator }, _), "aria-label": _.text, bgColor: bgColor }, String(i))));
2425
- return (jsx(BlockWrapper, { tag: "header", context: context, className: `pt-6 pb-5 px-20 ${bgColor} ${className}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { context: context, subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
2433
+ return (jsx(BlockWrapper, { tag: "header", context: context, className: `pt-6 px-20 ${bgColor} ${className} ${showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5'}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { context: context, subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
2426
2434
  });
2427
2435
 
2428
2436
  const InsuranceAmountBlockInner = JSX(({ className = '', cards = [], button }) => {
@@ -2517,21 +2525,10 @@
2517
2525
  return items?.length ? (jsx(List, { items: items, itemClassName: "text-l-light mb-2 last:mb-0", version: version === 'primary' ? 'tile' : 'tile-white' })) : (jsx("span", { className: "text-m-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
2518
2526
  };
2519
2527
 
2520
- const NavigationItem = JSX(({ className, text, onClick, href, target, isActive }) => (jsx("a", { className: `bg-inherit no-underline px-4 py-2.5 cursor-pointer rounded text-s border border-solid hover:text-primary-main ${className || ''} ${isActive ? 'border-primary-main text-primary-main' : 'border-white text-secondary-text'}`, onClick: onClick, href: href, target: target, children: text })));
2521
-
2522
- const Navigation = JSX(({ className, context, title, buttons, ...rest }) => {
2523
- const router = context.useRouter();
2524
- const { handlerDecorator } = context;
2525
- const activeButton = findActiveSubItem(router)(buttons);
2526
- return (jsxs(BlockWrapper, { context: context, className: `font-sans text-primary-text flex items-center justify-between ${className || ''}`, ...rest, children: [jsx("h2", { className: "text-xl font-medium m-0", children: title }), buttons?.length ? (jsx("div", { className: "flex rounded-md overflow-hidden bg-white", children: buttons
2527
- .filter(({ text }) => text)
2528
- .map((button, i) => (jsx(NavigationItem, { className: "first:rounded-tl-md first:rounded-bl-md last:rounded-tr-md last:rounded-br-md", isActive: button === activeButton, ...useLink({ router, handlerDecorator }, button) }, String(i)))) })) : null] }));
2529
- });
2530
-
2531
2528
  const OfficeServicesBlock = JSX(({ className = '', context, title, servicesList, anchor = '', ...rest }) => {
2532
2529
  return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-8 flex flex-col ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? servicesList.map(renderListItems) : null] }));
2533
2530
  });
2534
- const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(Img, { className: "mr-3 max-w-6 max-h-6", width: "24px", height: "24px", asSVG: true, image: itemList.icon })) : null, itemList.label ? jsx("span", { className: "text-l-light", children: itemList.label }) : null] }, `list_item_${String(i)}`));
2531
+ const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(Img, { className: "mr-3 min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", asSVG: true, image: itemList.icon })) : null, itemList.label ? jsx("span", { className: "text-l-light", children: itemList.label }) : null] }, `list_item_${String(i)}`));
2535
2532
 
2536
2533
  const foldableBlockClassNames = 'transition-all duration-300 max-h-0 overflow-hidden';
2537
2534
  const useActiveHandler = ({ initialState = false }) => {
@@ -2558,7 +2555,7 @@
2558
2555
  initialState: isUnfolded,
2559
2556
  });
2560
2557
  const buttonClassName = foldButtonClasses ||
2561
- 'border-none bg-primary-main hover:bg-primary-hover px-0 py-5 mb-[1px] w-full font-sans text-white text-h4 flex justify-center cursor-pointer';
2558
+ 'border-none bg-primary-main hover:bg-primary-hover focus:bg-primary-main active:bg-primary-active px-0 py-5 mb-[1px] w-full font-sans text-white text-h4 flex justify-center cursor-pointer';
2562
2559
  const getFoldButtonLabel = isActive ? 'Скрыть' : foldButtonLabel;
2563
2560
  return blocks ? (jsxs("div", { children: [renderBlocks(blocks, render, { blocksToHide, isActive, containerClasses }), hiddenBlocksNum ? (jsxs("button", { className: buttonClassName, "data-theme": foldButtonDataTheme, onClick: handleToggle, children: [jsx("span", { className: "pr-3", children: getFoldButtonLabel }), icon ? (jsx(Icon, { className: "my-auto", name: icon, iconVersion: "white", width: "20", height: "20", asSVG: true })) : null] })) : null] })) : null;
2564
2561
  });
@@ -2780,6 +2777,17 @@
2780
2777
  return fetchJSON(url, { method: 'GET' });
2781
2778
  };
2782
2779
 
2780
+ const selectStyle = {
2781
+ background: `url('/icons/ArrowDownIcon.svg') no-repeat right 16px top 50%`,
2782
+ };
2783
+ const Select = JSX(({ className = '', id, name, children, value, onChange }) => {
2784
+ return (jsx("select", { className: `appearance-none pl-0.5 ${className}`, style: selectStyle, id: id, name: name || id, value: value, onChange: (e) => onChange(e.target.value), placeholder: "", children: children }));
2785
+ });
2786
+
2787
+ const SelectOption = JSX(({ className = '', value, selected, disabled = false, children }) => {
2788
+ return (jsx("option", { className: className, value: `${value}`, selected: selected, disabled: disabled, children: children }));
2789
+ });
2790
+
2783
2791
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder, setSelected, label }) => {
2784
2792
  return (jsxs("div", { children: [jsx("span", { className: "block text-m-light mb-2", children: label }), jsxs(Select, { className: `h-14 border border-gray p-4 rounded-md text-s w-full cursor-pointer ${!selected ? 'text-secondary-text' : ''}`, value: selected, onChange: (_) => setSelected(_), children: [placeholder ? jsx(SelectOption, { value: "", children: placeholder }) : null, data.map((_, i) => (jsx(SelectOption, { value: _?.[fieldValue || fieldLabel], children: _?.[fieldLabel] }, String(i))))] })] }));
2785
2793
  });
@@ -2788,7 +2796,7 @@
2788
2796
  return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "w-full mr-4", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0413\u043E\u0440\u043E\u0434" }) }), jsx("div", { className: "w-full", 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" }) })] }));
2789
2797
  });
2790
2798
 
2791
- const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border-2 border-primary-main rounded-full cursor-pointer after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main", type: "radio", value: value, name: name, checked: checked, onChange: onChange }), text ? jsx("span", { className: "font-sans ml-3 cursor-pointer", children: text }) : null] }) })));
2799
+ const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border-2 border-primary-main\n rounded-full cursor-pointer after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main", type: "radio", value: value, name: name, checked: checked, onChange: onChange }), text ? jsx("span", { className: "font-sans ml-3 cursor-pointer", children: text }) : null] }) })));
2792
2800
 
2793
2801
  const RenderRadioButtons = JSX(() => {
2794
2802
  const [selectedOption, setSelectedOption] = useState('option2');
@@ -2934,19 +2942,19 @@
2934
2942
  });
2935
2943
  }
2936
2944
 
2937
- let Map$1 = null;
2938
2945
  const YandexMap = JSX(({ points }) => {
2946
+ const map = useRef(null);
2939
2947
  useEffect(() => {
2940
2948
  ymaps.ready(() => {
2941
- Map$1 = new ymaps.Map('map', {
2949
+ map.current = new ymaps.Map('map', {
2942
2950
  center: points[0],
2943
2951
  zoom: 10,
2944
2952
  });
2945
- renderClusterer(Map$1, points);
2953
+ renderClusterer(map.current, points);
2946
2954
  });
2947
2955
  }, []);
2948
- if (Map$1 && points) {
2949
- renderClusterer(Map$1, points);
2956
+ if (map.current && points) {
2957
+ renderClusterer(map.current, points);
2950
2958
  }
2951
2959
  return (jsxs("div", { className: "pt-12 mt-1 bg-white", children: [jsx(Heading, { title: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", headingType: "h3", className: "mb-8 text-center" }), jsx("div", { id: "map", className: "h-[640px]" })] }));
2952
2960
  });
@@ -3212,7 +3220,7 @@
3212
3220
  });
3213
3221
 
3214
3222
  const TariffsTableRow = JSX(({ row: { header, data }, activeCardIndex, isLastRow, context, rowIdx }) => {
3215
- return (jsxs(TariffsTableRowContainer, { context: context, rowIdx: rowIdx, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES} ${!isLastRow ? 'border-solid' : ''}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "mr-[14px] max-w-6 max-h-6", image: header.icon, width: "24px", height: "24px", asSVG: true })) : null, header?.title] }) }), data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, isLastRow: isLastRow, rowIdx: rowIdx, cellIdx: i, context: context }, String(i)))) })) : null] }));
3223
+ return (jsxs(TariffsTableRowContainer, { context: context, rowIdx: rowIdx, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES} ${!isLastRow ? 'border-solid' : ''}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "mr-[14px] max-w-6 max-h-6", image: header.icon, width: "24px", height: "24px", asSVG: true })) : null, header?.title ? (jsx(Heading, { headingType: header?.headingType || 'h6', as: "h6", title: header?.title })) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, isLastRow: isLastRow, rowIdx: rowIdx, cellIdx: i, context: context }, String(i)))) })) : null] }));
3216
3224
  });
3217
3225
 
3218
3226
  const TariffsTable = JSX(({ className = '', context, title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
@@ -3237,21 +3245,6 @@
3237
3245
  return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, jsx(TableArrowScrollControl, { ...tableArrowScrollControlProps })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
3238
3246
  });
3239
3247
 
3240
- const renderErrorContent = (error) => {
3241
- if (error?.errorContentType === 'Image' && error?.image) {
3242
- return jsx(Img, { image: error.image });
3243
- }
3244
- if (error?.errorContentType === 'Code' && error.code) {
3245
- return jsx("div", { className: "font-mohave text-title-extra gradient-color-text", children: error.code });
3246
- }
3247
- return null;
3248
- };
3249
- const ErrorBlock = JSX(({ context, className = '', title, subtitle, error, button }) => {
3250
- const { useRouter, handlerDecorator } = context;
3251
- const router = useRouter();
3252
- return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, role: "listitem", children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light text-left mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
3253
- });
3254
-
3255
3248
  const Blocks = {
3256
3249
  Accordion,
3257
3250
  BenefitsBlock,
@@ -3281,7 +3274,6 @@
3281
3274
  TariffsTable,
3282
3275
  TextBlock,
3283
3276
  Tile,
3284
- Navigation,
3285
3277
  Placeholder,
3286
3278
  BonusBenefitsBlock,
3287
3279
  SafeDepositRental,