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

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 (880) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +218 -255
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/AirPlaneIcon.svg +1 -1
  5. package/cosmos-static/icons/ArrowDownIcon.svg +1 -1
  6. package/cosmos-static/icons/ArrowUpIcon.svg +1 -1
  7. package/cosmos-static/icons/BuildingIcon.svg +1 -0
  8. package/cosmos-static/icons/Car2Icon.svg +1 -0
  9. package/cosmos-static/icons/CarIcon.svg +1 -1
  10. package/cosmos-static/icons/CinemaIcon.svg +1 -1
  11. package/cosmos-static/icons/DocDownloadIcon.svg +1 -1
  12. package/cosmos-static/icons/DocsIcon.svg +1 -1
  13. package/cosmos-static/icons/DoneIcon.svg +1 -1
  14. package/cosmos-static/icons/DoneSimpleIcon.svg +1 -0
  15. package/cosmos-static/icons/GpsIcon.svg +1 -1
  16. package/cosmos-static/icons/MoneysIcon.svg +1 -0
  17. package/cosmos-static/icons/PackA4Icon.svg +1 -1
  18. package/cosmos-static/icons/PowerIcon.svg +1 -1
  19. package/cosmos-static/icons/PumpkinIcon.svg +1 -1
  20. package/cosmos-static/icons/SoundIcon.svg +1 -1
  21. package/cosmos-static/icons/StrongBoxIcon.svg +1 -0
  22. package/cosmos-static/icons/UserSquareIcon.svg +1 -0
  23. package/cosmos-static/icons/WateringCanIcon.svg +1 -1
  24. package/dist/ProjectSettings.d.ts +2 -0
  25. package/dist/ProjectSettings.js +3 -0
  26. package/dist/ProjectSettings.js.map +1 -1
  27. package/dist/components/Accordion/AccordionContent.d.ts +4 -9
  28. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  29. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  30. package/dist/components/BlockContent.d.ts +2 -3
  31. package/dist/components/Blocks.d.ts +0 -1
  32. package/dist/components/Blocks.js +1 -3
  33. package/dist/components/Blocks.js.map +1 -1
  34. package/dist/components/Bonus/BonusContent.d.ts +6 -9
  35. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  36. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  37. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  38. package/dist/components/Calculator/BonusCalculatorForm.js +3 -2
  39. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  40. package/dist/components/Calculator/CalculatorContent.d.ts +7 -40
  41. package/dist/components/Calculator/CalculatorValueBlock.js +1 -1
  42. package/dist/components/Calculator/CreditCalculatorForm.js +4 -3
  43. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  44. package/dist/components/Calculator/DepositCalculatorForm.js +21 -2
  45. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  46. package/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  47. package/dist/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  48. package/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  49. package/dist/components/Calculator/renderFootnote.d.ts +2 -0
  50. package/dist/components/Calculator/renderFootnote.js +6 -0
  51. package/dist/components/Calculator/renderFootnote.js.map +1 -0
  52. package/dist/components/CardTransfer/CardTransferContent.d.ts +3 -6
  53. package/dist/components/Catalog/CatalogCard.js.map +1 -1
  54. package/dist/components/Catalog/CatalogContent.d.ts +2 -5
  55. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  56. package/dist/components/ComparisonTable/TableColumn.d.ts +8 -1
  57. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  58. package/dist/components/ComparisonTable/TableRow.d.ts +5 -1
  59. package/dist/components/ComparisonTable/TableRow.js.map +1 -1
  60. package/dist/components/ContentPage/computeAPIFallback.d.ts +5 -0
  61. package/dist/components/ContentPage/computeAPIFallback.js +68 -0
  62. package/dist/components/ContentPage/computeAPIFallback.js.map +1 -0
  63. package/dist/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  64. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  65. package/dist/components/ExchangeRateTile/renderInput.js +4 -3
  66. package/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  67. package/dist/components/Footer/Footer.js +3 -2
  68. package/dist/components/Footer/Footer.js.map +1 -1
  69. package/dist/components/Footer/Footer.mobile.js +3 -2
  70. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  71. package/dist/components/Footer/FooterContent.d.ts +5 -9
  72. package/dist/components/Footer/HorizontalNavigation.d.ts +2 -2
  73. package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  74. package/dist/components/Footer/HorizontalNavigation.mobile.d.ts +2 -2
  75. package/dist/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  76. package/dist/components/Footer/Sitemap.d.ts +2 -0
  77. package/dist/components/Footer/Sitemap.js +2 -2
  78. package/dist/components/Footer/Sitemap.js.map +1 -1
  79. package/dist/components/Gallery/GalleryContent.d.ts +16 -19
  80. package/dist/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  81. package/dist/components/Header/Header.fallback.d.ts +2 -0
  82. package/dist/components/Header/Header.fallback.js +12 -0
  83. package/dist/components/Header/Header.fallback.js.map +1 -0
  84. package/dist/components/Header/Header.js +4 -3
  85. package/dist/components/Header/Header.js.map +1 -1
  86. package/dist/components/Header/Header.mobile.js +3 -2
  87. package/dist/components/Header/Header.mobile.js.map +1 -1
  88. package/dist/components/Header/HeaderContent.d.ts +14 -23
  89. package/dist/components/Headline/HeadlineContent.d.ts +4 -3
  90. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  91. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  92. package/dist/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  93. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  94. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  95. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  96. package/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  97. package/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  98. package/dist/components/PictureText/PictureText.js +1 -1
  99. package/dist/components/PictureText/PictureTextContent.d.ts +20 -4
  100. package/dist/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  101. package/dist/components/ProductTile/ProductTile.js +13 -8
  102. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  103. package/dist/components/ProductTile/ProductTileContent.d.ts +19 -9
  104. package/dist/components/Recommendation/RecommendationContent.d.ts +20 -2
  105. package/dist/components/SafeDepositRental/SafeDepositRental.js +1 -6
  106. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  107. package/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  108. package/dist/components/SafeDepositRental/YandexMap.js +14 -7
  109. package/dist/components/SafeDepositRental/YandexMap.js.map +1 -1
  110. package/dist/components/SafeDepositRental/renderClusterer.d.ts +2 -1
  111. package/dist/components/SafeDepositRental/renderClusterer.js +16 -18
  112. package/dist/components/SafeDepositRental/renderClusterer.js.map +1 -1
  113. package/dist/components/SafeDepositRental/useYandexMaps.d.ts +2 -0
  114. package/dist/components/SafeDepositRental/useYandexMaps.js +12 -0
  115. package/dist/components/SafeDepositRental/useYandexMaps.js.map +1 -0
  116. package/dist/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  117. package/dist/components/Tabs/TabsContent.d.ts +8 -5
  118. package/dist/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -3
  119. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  120. package/dist/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  121. package/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  122. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  123. package/dist/components/TextBlock/TextBlockContent.d.ts +3 -6
  124. package/dist/components/Tile/TileContent.d.ts +17 -2
  125. package/dist/hooks/useExternalNS.d.ts +2 -0
  126. package/dist/hooks/useExternalNS.js +39 -0
  127. package/dist/hooks/useExternalNS.js.map +1 -0
  128. package/dist/icons/IconName.d.ts +18 -8
  129. package/dist/icons/IconName.js +16 -6
  130. package/dist/icons/IconName.js.map +1 -1
  131. package/dist/model/ButtonVersion.d.ts +1 -1
  132. package/dist/model/Footnote.d.ts +4 -0
  133. package/dist/{components/Navigation/NavigationContent.js → model/Footnote.js} +1 -1
  134. package/dist/model/Footnote.js.map +1 -0
  135. package/dist/model/HeadlineType.d.ts +4 -0
  136. package/dist/model/Picture.d.ts +4 -0
  137. package/dist/model/ProductColorVersion.d.ts +4 -0
  138. package/dist/model/ProductColorVersion.js +2 -0
  139. package/dist/model/ProductColorVersion.js.map +1 -0
  140. package/dist/services/sitemap/useSitemap.d.ts +2 -1
  141. package/dist/services/sitemap/useSitemap.js +2 -2
  142. package/dist/services/sitemap/useSitemap.js.map +1 -1
  143. package/dist/types/Fallback.d.ts +5 -0
  144. package/{mobile/dist/components/Navigation/NavigationContent.js → dist/types/Fallback.js} +1 -1
  145. package/dist/types/Fallback.js.map +1 -0
  146. package/dist/types.d.ts +1 -0
  147. package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  148. package/dist/ui-kit/Button/ButtonProps.d.ts +3 -5
  149. package/dist/ui-kit/Button/ButtonSection.js +2 -1
  150. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  151. package/dist/ui-kit/Button/buttonClassNameConstants.js +4 -3
  152. package/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  153. package/dist/ui-kit/Foldable/Foldable.js +1 -1
  154. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  155. package/dist/ui-kit/Input/Input.js +1 -1
  156. package/dist/ui-kit/Input/Input.js.map +1 -1
  157. package/dist/ui-kit/InputRange/InputRange.js +8 -15
  158. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  159. package/dist/ui-kit/Radio/Radio.js +1 -1
  160. package/dist/ui-kit/Radio/Radio.js.map +1 -1
  161. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  162. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  163. package/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
  164. package/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  165. package/dist/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  166. package/dist/ui-kit/SelectCustom/SelectCustom.js +30 -0
  167. package/dist/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  168. package/lib/ProjectSettings.d.ts +2 -0
  169. package/lib/ProjectSettings.js +3 -0
  170. package/lib/ProjectSettings.js.map +1 -1
  171. package/lib/common.css +1 -1
  172. package/lib/components/Accordion/AccordionContent.d.ts +4 -9
  173. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  174. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  175. package/lib/components/BlockContent.d.ts +2 -3
  176. package/lib/components/Blocks.d.ts +0 -1
  177. package/lib/components/Blocks.js +1 -3
  178. package/lib/components/Blocks.js.map +1 -1
  179. package/lib/components/Bonus/BonusContent.d.ts +6 -9
  180. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  181. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  182. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  183. package/lib/components/Calculator/BonusCalculatorForm.js +3 -2
  184. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  185. package/lib/components/Calculator/CalculatorContent.d.ts +7 -40
  186. package/lib/components/Calculator/CalculatorValueBlock.js +1 -1
  187. package/lib/components/Calculator/CreditCalculatorForm.js +4 -3
  188. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  189. package/lib/components/Calculator/DepositCalculatorForm.js +21 -2
  190. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  191. package/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  192. package/lib/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  193. package/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  194. package/lib/components/Calculator/renderFootnote.d.ts +2 -0
  195. package/lib/components/Calculator/renderFootnote.js +3 -0
  196. package/lib/components/Calculator/renderFootnote.js.map +1 -0
  197. package/lib/components/CardTransfer/CardTransferContent.d.ts +3 -6
  198. package/lib/components/Catalog/CatalogCard.js.map +1 -1
  199. package/lib/components/Catalog/CatalogContent.d.ts +2 -5
  200. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  201. package/lib/components/ComparisonTable/TableColumn.d.ts +8 -1
  202. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  203. package/lib/components/ComparisonTable/TableRow.d.ts +5 -1
  204. package/lib/components/ComparisonTable/TableRow.js.map +1 -1
  205. package/lib/components/ContentPage/computeAPIFallback.d.ts +5 -0
  206. package/lib/components/ContentPage/computeAPIFallback.js +40 -0
  207. package/lib/components/ContentPage/computeAPIFallback.js.map +1 -0
  208. package/lib/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  209. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  210. package/lib/components/ExchangeRateTile/renderInput.js +4 -3
  211. package/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  212. package/lib/components/Footer/Footer.js +3 -2
  213. package/lib/components/Footer/Footer.js.map +1 -1
  214. package/lib/components/Footer/Footer.mobile.js +3 -2
  215. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  216. package/lib/components/Footer/FooterContent.d.ts +5 -9
  217. package/lib/components/Footer/HorizontalNavigation.d.ts +2 -2
  218. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  219. package/lib/components/Footer/HorizontalNavigation.mobile.d.ts +2 -2
  220. package/lib/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  221. package/lib/components/Footer/Sitemap.d.ts +2 -0
  222. package/lib/components/Footer/Sitemap.js +2 -2
  223. package/lib/components/Footer/Sitemap.js.map +1 -1
  224. package/lib/components/Gallery/GalleryContent.d.ts +16 -19
  225. package/lib/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  226. package/lib/components/Header/Header.fallback.d.ts +2 -0
  227. package/lib/components/Header/Header.fallback.js +9 -0
  228. package/lib/components/Header/Header.fallback.js.map +1 -0
  229. package/lib/components/Header/Header.js +4 -3
  230. package/lib/components/Header/Header.js.map +1 -1
  231. package/lib/components/Header/Header.mobile.js +3 -2
  232. package/lib/components/Header/Header.mobile.js.map +1 -1
  233. package/lib/components/Header/HeaderContent.d.ts +14 -23
  234. package/lib/components/Headline/HeadlineContent.d.ts +4 -3
  235. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  236. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  237. package/lib/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  238. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  239. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  240. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  241. package/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  242. package/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  243. package/lib/components/PictureText/PictureText.js +1 -1
  244. package/lib/components/PictureText/PictureTextContent.d.ts +20 -4
  245. package/lib/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  246. package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
  247. package/lib/components/ProductTile/ProductTile.js +13 -8
  248. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  249. package/lib/components/ProductTile/ProductTileContent.d.ts +19 -9
  250. package/lib/components/Recommendation/RecommendationContent.d.ts +20 -2
  251. package/lib/components/SafeDepositRental/SafeDepositRental.js +1 -6
  252. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  253. package/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  254. package/lib/components/SafeDepositRental/YandexMap.js +15 -8
  255. package/lib/components/SafeDepositRental/YandexMap.js.map +1 -1
  256. package/lib/components/SafeDepositRental/renderClusterer.d.ts +2 -1
  257. package/lib/components/SafeDepositRental/renderClusterer.js +16 -18
  258. package/lib/components/SafeDepositRental/renderClusterer.js.map +1 -1
  259. package/lib/components/SafeDepositRental/useYandexMaps.d.ts +2 -0
  260. package/lib/components/SafeDepositRental/useYandexMaps.js +9 -0
  261. package/lib/components/SafeDepositRental/useYandexMaps.js.map +1 -0
  262. package/lib/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  263. package/lib/components/Tabs/TabsContent.d.ts +8 -5
  264. package/lib/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -3
  265. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  266. package/lib/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  267. package/lib/components/TariffsTable/TariffsTableRow.js +2 -1
  268. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  269. package/lib/components/TextBlock/TextBlockContent.d.ts +3 -6
  270. package/lib/components/Tile/TileContent.d.ts +17 -2
  271. package/lib/hooks/useExternalNS.d.ts +2 -0
  272. package/lib/hooks/useExternalNS.js +35 -0
  273. package/lib/hooks/useExternalNS.js.map +1 -0
  274. package/lib/icons/IconName.d.ts +18 -8
  275. package/lib/icons/IconName.js +16 -6
  276. package/lib/icons/IconName.js.map +1 -1
  277. package/lib/model/ButtonVersion.d.ts +1 -1
  278. package/lib/model/Footnote.d.ts +4 -0
  279. package/lib/model/Footnote.js +2 -0
  280. package/lib/model/Footnote.js.map +1 -0
  281. package/lib/model/HeadlineType.d.ts +4 -0
  282. package/lib/model/Picture.d.ts +4 -0
  283. package/lib/model/ProductColorVersion.d.ts +4 -0
  284. package/lib/model/ProductColorVersion.js +2 -0
  285. package/lib/model/ProductColorVersion.js.map +1 -0
  286. package/lib/services/sitemap/useSitemap.d.ts +2 -1
  287. package/lib/services/sitemap/useSitemap.js +2 -2
  288. package/lib/services/sitemap/useSitemap.js.map +1 -1
  289. package/lib/types/Fallback.d.ts +5 -0
  290. package/lib/types/Fallback.js +2 -0
  291. package/lib/types/Fallback.js.map +1 -0
  292. package/lib/types.d.ts +1 -0
  293. package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  294. package/lib/ui-kit/Button/ButtonProps.d.ts +3 -5
  295. package/lib/ui-kit/Button/ButtonSection.js +2 -1
  296. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  297. package/lib/ui-kit/Button/buttonClassNameConstants.js +4 -3
  298. package/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  299. package/lib/ui-kit/Foldable/Foldable.js +1 -1
  300. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  301. package/lib/ui-kit/Input/Input.js +1 -1
  302. package/lib/ui-kit/Input/Input.js.map +1 -1
  303. package/lib/ui-kit/InputRange/InputRange.js +8 -15
  304. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  305. package/lib/ui-kit/Radio/Radio.js +1 -1
  306. package/lib/ui-kit/Radio/Radio.js.map +1 -1
  307. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  308. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  309. package/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
  310. package/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  311. package/lib/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  312. package/lib/{components/Navigation/Navigation.fixture.d.ts → ui-kit/SelectCustom/SelectCustom.fixture.d.ts} +0 -0
  313. package/lib/ui-kit/SelectCustom/SelectCustom.js +28 -0
  314. package/lib/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  315. package/mobile/bundle/bundle.umd.js +56 -25
  316. package/mobile/bundle/bundle.umd.min.js +1 -1
  317. package/mobile/dist/ProjectSettings.d.ts +2 -0
  318. package/mobile/dist/ProjectSettings.js +3 -0
  319. package/mobile/dist/ProjectSettings.js.map +1 -1
  320. package/mobile/dist/components/Accordion/AccordionContent.d.ts +4 -9
  321. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  322. package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  323. package/mobile/dist/components/BlockContent.d.ts +2 -3
  324. package/mobile/dist/components/Bonus/BonusContent.d.ts +6 -9
  325. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  326. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  327. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  328. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +3 -2
  329. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  330. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +7 -40
  331. package/mobile/dist/components/Calculator/CalculatorValueBlock.js +1 -1
  332. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +4 -3
  333. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  334. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +21 -2
  335. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  336. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  337. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  338. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  339. package/mobile/dist/components/Calculator/renderFootnote.d.ts +2 -0
  340. package/mobile/dist/components/Calculator/renderFootnote.js +6 -0
  341. package/mobile/dist/components/Calculator/renderFootnote.js.map +1 -0
  342. package/mobile/dist/components/CardTransfer/CardTransferContent.d.ts +3 -6
  343. package/mobile/dist/components/Catalog/CatalogCard.js.map +1 -1
  344. package/mobile/dist/components/Catalog/CatalogContent.d.ts +2 -5
  345. package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  346. package/mobile/dist/components/ComparisonTable/TableColumn.d.ts +8 -1
  347. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  348. package/mobile/dist/components/ComparisonTable/TableRow.d.ts +5 -1
  349. package/mobile/dist/components/ComparisonTable/TableRow.js.map +1 -1
  350. package/mobile/dist/components/ContentPage/computeAPIFallback.d.ts +5 -0
  351. package/mobile/dist/components/ContentPage/computeAPIFallback.js +68 -0
  352. package/mobile/dist/components/ContentPage/computeAPIFallback.js.map +1 -0
  353. package/mobile/dist/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  354. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  355. package/mobile/dist/components/ExchangeRateTile/renderInput.js +4 -3
  356. package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  357. package/mobile/dist/components/Footer/Footer.js +3 -2
  358. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  359. package/mobile/dist/components/Footer/FooterContent.d.ts +5 -9
  360. package/mobile/dist/components/Footer/HorizontalNavigation.d.ts +2 -2
  361. package/mobile/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  362. package/mobile/dist/components/Footer/Sitemap.d.ts +2 -0
  363. package/mobile/dist/components/Footer/Sitemap.js +2 -2
  364. package/mobile/dist/components/Footer/Sitemap.js.map +1 -1
  365. package/mobile/dist/components/Gallery/GalleryContent.d.ts +16 -19
  366. package/mobile/dist/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  367. package/mobile/dist/components/Header/Header.fallback.d.ts +2 -0
  368. package/mobile/dist/components/Header/Header.fallback.js +12 -0
  369. package/mobile/dist/components/Header/Header.fallback.js.map +1 -0
  370. package/mobile/dist/components/Header/Header.js +3 -2
  371. package/mobile/dist/components/Header/Header.js.map +1 -1
  372. package/mobile/dist/components/Header/HeaderContent.d.ts +14 -23
  373. package/mobile/dist/components/Headline/HeadlineContent.d.ts +4 -3
  374. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  375. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  376. package/mobile/dist/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  377. package/mobile/dist/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  378. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  379. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  380. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  381. package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  382. package/mobile/dist/components/PictureText/PictureText.js +1 -1
  383. package/mobile/dist/components/PictureText/PictureTextContent.d.ts +20 -4
  384. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  385. package/mobile/dist/components/ProductTile/ProductTile.js +13 -8
  386. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  387. package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +19 -9
  388. package/mobile/dist/components/Recommendation/RecommendationContent.d.ts +20 -2
  389. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +1 -6
  390. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  391. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  392. package/mobile/dist/components/SafeDepositRental/YandexMap.js +14 -7
  393. package/mobile/dist/components/SafeDepositRental/YandexMap.js.map +1 -1
  394. package/mobile/dist/components/SafeDepositRental/renderClusterer.d.ts +2 -1
  395. package/mobile/dist/components/SafeDepositRental/renderClusterer.js +16 -18
  396. package/mobile/dist/components/SafeDepositRental/renderClusterer.js.map +1 -1
  397. package/mobile/dist/components/SafeDepositRental/useYandexMaps.d.ts +2 -0
  398. package/mobile/dist/components/SafeDepositRental/useYandexMaps.js +12 -0
  399. package/mobile/dist/components/SafeDepositRental/useYandexMaps.js.map +1 -0
  400. package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  401. package/mobile/dist/components/Tabs/TabsContent.d.ts +8 -5
  402. package/mobile/dist/components/TariffsTable/EmbeddableCellData.d.ts +0 -3
  403. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  404. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  405. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  406. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  407. package/mobile/dist/components/TextBlock/TextBlockContent.d.ts +3 -6
  408. package/mobile/dist/components/Tile/TileContent.d.ts +17 -2
  409. package/mobile/dist/hooks/useExternalNS.d.ts +2 -0
  410. package/mobile/dist/hooks/useExternalNS.js +39 -0
  411. package/mobile/dist/hooks/useExternalNS.js.map +1 -0
  412. package/mobile/dist/icons/IconName.d.ts +18 -8
  413. package/mobile/dist/icons/IconName.js +16 -6
  414. package/mobile/dist/icons/IconName.js.map +1 -1
  415. package/mobile/dist/model/ButtonVersion.d.ts +1 -1
  416. package/mobile/dist/model/Footnote.d.ts +4 -0
  417. package/mobile/dist/model/Footnote.js +2 -0
  418. package/mobile/dist/model/Footnote.js.map +1 -0
  419. package/mobile/dist/model/HeadlineType.d.ts +4 -0
  420. package/mobile/dist/model/Picture.d.ts +4 -0
  421. package/mobile/dist/model/ProductColorVersion.d.ts +4 -0
  422. package/mobile/dist/model/ProductColorVersion.js +2 -0
  423. package/mobile/dist/model/ProductColorVersion.js.map +1 -0
  424. package/mobile/dist/services/sitemap/useSitemap.d.ts +2 -1
  425. package/mobile/dist/services/sitemap/useSitemap.js +2 -2
  426. package/mobile/dist/services/sitemap/useSitemap.js.map +1 -1
  427. package/mobile/dist/types/Fallback.d.ts +5 -0
  428. package/mobile/dist/types/Fallback.js +2 -0
  429. package/mobile/dist/types/Fallback.js.map +1 -0
  430. package/mobile/dist/types.d.ts +1 -0
  431. package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  432. package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +3 -5
  433. package/mobile/dist/ui-kit/Button/ButtonSection.js +2 -1
  434. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  435. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js +4 -3
  436. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  437. package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
  438. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  439. package/mobile/dist/ui-kit/Input/Input.js +1 -1
  440. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  441. package/mobile/dist/ui-kit/InputRange/InputRange.js +8 -15
  442. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  443. package/mobile/dist/ui-kit/Radio/Radio.js +1 -1
  444. package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -1
  445. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  446. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  447. package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
  448. package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  449. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  450. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.js +30 -0
  451. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  452. package/mobile/lib/ProjectSettings.d.ts +2 -0
  453. package/mobile/lib/ProjectSettings.js +3 -0
  454. package/mobile/lib/ProjectSettings.js.map +1 -1
  455. package/mobile/lib/components/Accordion/AccordionContent.d.ts +4 -9
  456. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  457. package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +12 -19
  458. package/mobile/lib/components/BlockContent.d.ts +2 -3
  459. package/mobile/lib/components/Bonus/BonusContent.d.ts +6 -9
  460. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -5
  461. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  462. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +5 -11
  463. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +3 -2
  464. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  465. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +7 -40
  466. package/mobile/lib/components/Calculator/CalculatorValueBlock.js +1 -1
  467. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +4 -3
  468. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  469. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +21 -2
  470. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  471. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +1 -3
  472. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js +0 -2
  473. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
  474. package/mobile/lib/components/Calculator/renderFootnote.d.ts +2 -0
  475. package/mobile/lib/components/Calculator/renderFootnote.js +3 -0
  476. package/mobile/lib/components/Calculator/renderFootnote.js.map +1 -0
  477. package/mobile/lib/components/CardTransfer/CardTransferContent.d.ts +3 -6
  478. package/mobile/lib/components/Catalog/CatalogCard.js.map +1 -1
  479. package/mobile/lib/components/Catalog/CatalogContent.d.ts +2 -5
  480. package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +9 -43
  481. package/mobile/lib/components/ComparisonTable/TableColumn.d.ts +8 -1
  482. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  483. package/mobile/lib/components/ComparisonTable/TableRow.d.ts +5 -1
  484. package/mobile/lib/components/ComparisonTable/TableRow.js.map +1 -1
  485. package/mobile/lib/components/ContentPage/computeAPIFallback.d.ts +5 -0
  486. package/mobile/lib/components/ContentPage/computeAPIFallback.js +40 -0
  487. package/mobile/lib/components/ContentPage/computeAPIFallback.js.map +1 -0
  488. package/mobile/lib/components/ErrorBlock/ErrorBlockContent.d.ts +17 -4
  489. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +3 -4
  490. package/mobile/lib/components/ExchangeRateTile/renderInput.js +4 -3
  491. package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  492. package/mobile/lib/components/Footer/Footer.js +3 -2
  493. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  494. package/mobile/lib/components/Footer/FooterContent.d.ts +5 -9
  495. package/mobile/lib/components/Footer/HorizontalNavigation.d.ts +2 -2
  496. package/mobile/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  497. package/mobile/lib/components/Footer/Sitemap.d.ts +2 -0
  498. package/mobile/lib/components/Footer/Sitemap.js +2 -2
  499. package/mobile/lib/components/Footer/Sitemap.js.map +1 -1
  500. package/mobile/lib/components/Gallery/GalleryContent.d.ts +16 -19
  501. package/mobile/lib/components/GracePeriod/GracePeriodContent.d.ts +10 -14
  502. package/mobile/lib/components/Header/Header.fallback.d.ts +2 -0
  503. package/mobile/lib/components/Header/Header.fallback.js +9 -0
  504. package/mobile/lib/components/Header/Header.fallback.js.map +1 -0
  505. package/mobile/lib/components/Header/Header.js +3 -2
  506. package/mobile/lib/components/Header/Header.js.map +1 -1
  507. package/mobile/lib/components/Header/HeaderContent.d.ts +14 -23
  508. package/mobile/lib/components/Headline/HeadlineContent.d.ts +4 -3
  509. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +8 -13
  510. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +2 -2
  511. package/mobile/lib/components/MiniGallery/MiniGalleryContent.d.ts +8 -3
  512. package/mobile/lib/components/MobileAppTile/MobileAppTileContent.d.ts +19 -5
  513. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  514. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  515. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +5 -20
  516. package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -4
  517. package/mobile/lib/components/PictureText/PictureText.js +1 -1
  518. package/mobile/lib/components/PictureText/PictureTextContent.d.ts +20 -4
  519. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +13 -10
  520. package/mobile/lib/components/ProductTile/ProductTile.js +13 -8
  521. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  522. package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +19 -9
  523. package/mobile/lib/components/Recommendation/RecommendationContent.d.ts +20 -2
  524. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +1 -6
  525. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  526. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +4 -4
  527. package/mobile/lib/components/SafeDepositRental/YandexMap.js +15 -8
  528. package/mobile/lib/components/SafeDepositRental/YandexMap.js.map +1 -1
  529. package/mobile/lib/components/SafeDepositRental/renderClusterer.d.ts +2 -1
  530. package/mobile/lib/components/SafeDepositRental/renderClusterer.js +16 -18
  531. package/mobile/lib/components/SafeDepositRental/renderClusterer.js.map +1 -1
  532. package/mobile/lib/components/SafeDepositRental/useYandexMaps.d.ts +2 -0
  533. package/mobile/lib/components/SafeDepositRental/useYandexMaps.js +9 -0
  534. package/mobile/lib/components/SafeDepositRental/useYandexMaps.js.map +1 -0
  535. package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +6 -25
  536. package/mobile/lib/components/Tabs/TabsContent.d.ts +8 -5
  537. package/mobile/lib/components/TariffsTable/EmbeddableCellData.d.ts +0 -3
  538. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  539. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +19 -36
  540. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +2 -1
  541. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  542. package/mobile/lib/components/TextBlock/TextBlockContent.d.ts +3 -6
  543. package/mobile/lib/components/Tile/TileContent.d.ts +17 -2
  544. package/mobile/lib/hooks/useExternalNS.d.ts +2 -0
  545. package/mobile/lib/hooks/useExternalNS.js +35 -0
  546. package/mobile/lib/hooks/useExternalNS.js.map +1 -0
  547. package/mobile/lib/icons/IconName.d.ts +18 -8
  548. package/mobile/lib/icons/IconName.js +16 -6
  549. package/mobile/lib/icons/IconName.js.map +1 -1
  550. package/mobile/lib/model/ButtonVersion.d.ts +1 -1
  551. package/mobile/lib/model/Footnote.d.ts +4 -0
  552. package/mobile/lib/model/Footnote.js +2 -0
  553. package/mobile/lib/model/Footnote.js.map +1 -0
  554. package/mobile/lib/model/HeadlineType.d.ts +4 -0
  555. package/mobile/lib/model/Picture.d.ts +4 -0
  556. package/mobile/lib/model/ProductColorVersion.d.ts +4 -0
  557. package/mobile/lib/model/ProductColorVersion.js +2 -0
  558. package/mobile/lib/model/ProductColorVersion.js.map +1 -0
  559. package/mobile/lib/services/sitemap/useSitemap.d.ts +2 -1
  560. package/mobile/lib/services/sitemap/useSitemap.js +2 -2
  561. package/mobile/lib/services/sitemap/useSitemap.js.map +1 -1
  562. package/mobile/lib/types/Fallback.d.ts +5 -0
  563. package/mobile/lib/types/Fallback.js +2 -0
  564. package/mobile/lib/types/Fallback.js.map +1 -0
  565. package/mobile/lib/types.d.ts +1 -0
  566. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +3 -8
  567. package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +3 -5
  568. package/mobile/lib/ui-kit/Button/ButtonSection.js +2 -1
  569. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  570. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js +4 -3
  571. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  572. package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
  573. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  574. package/mobile/lib/ui-kit/Input/Input.js +1 -1
  575. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  576. package/mobile/lib/ui-kit/InputRange/InputRange.js +8 -15
  577. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  578. package/mobile/lib/ui-kit/Radio/Radio.js +1 -1
  579. package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -1
  580. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  581. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  582. package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
  583. package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
  584. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.d.ts +13 -0
  585. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.js +28 -0
  586. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.js.map +1 -0
  587. package/mobile/src/ProjectSettings.ts +4 -0
  588. package/mobile/src/components/Accordion/AccordionContent.ts +5 -9
  589. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +8 -14
  590. package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +15 -22
  591. package/mobile/src/components/BlockContent.ts +1 -3
  592. package/mobile/src/components/Bonus/BonusContent.ts +6 -8
  593. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +25 -27
  594. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +5 -11
  595. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +4 -2
  596. package/mobile/src/components/Calculator/CalculatorContent.ts +6 -44
  597. package/mobile/src/components/Calculator/CalculatorValueBlock.tsx +1 -1
  598. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +4 -2
  599. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +25 -2
  600. package/mobile/src/components/Calculator/EmbeddableCalcBlocks.tsx +0 -3
  601. package/mobile/src/components/Calculator/renderFootnote.tsx +2 -0
  602. package/mobile/src/components/CardTransfer/CardTransferContent.ts +9 -10
  603. package/mobile/src/components/Catalog/CatalogCard.tsx +4 -3
  604. package/mobile/src/components/Catalog/CatalogContent.ts +2 -6
  605. package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +9 -47
  606. package/mobile/src/components/ComparisonTable/TableColumn.tsx +10 -1
  607. package/mobile/src/components/ComparisonTable/TableRow.tsx +5 -1
  608. package/mobile/src/components/ContentPage/computeAPIFallback.spec.ts +63 -0
  609. package/mobile/src/components/ContentPage/computeAPIFallback.ts +55 -0
  610. package/mobile/src/components/ErrorBlock/ErrorBlockContent.ts +17 -4
  611. package/mobile/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +3 -4
  612. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +13 -16
  613. package/mobile/src/components/Footer/Footer.tsx +4 -1
  614. package/mobile/src/components/Footer/FooterContent.ts +5 -9
  615. package/mobile/src/components/Footer/HorizontalNavigation.tsx +3 -4
  616. package/mobile/src/components/Footer/Sitemap.tsx +4 -2
  617. package/mobile/src/components/Gallery/GalleryContent.ts +16 -19
  618. package/mobile/src/components/GracePeriod/GracePeriodContent.ts +10 -13
  619. package/mobile/src/components/Header/Header.fallback.ts +14 -0
  620. package/mobile/src/components/Header/Header.tsx +4 -2
  621. package/mobile/src/components/Header/HeaderContent.ts +15 -23
  622. package/mobile/src/components/Headline/HeadlineContent.ts +9 -9
  623. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +8 -13
  624. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +2 -2
  625. package/mobile/src/components/MiniGallery/MiniGalleryContent.ts +8 -3
  626. package/mobile/src/components/MobileAppTile/MobileAppTileContent.ts +19 -6
  627. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +3 -3
  628. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +5 -20
  629. package/mobile/src/components/OtherProducts/OtherProductsContent.ts +3 -4
  630. package/mobile/src/components/PictureText/PictureText.tsx +1 -1
  631. package/mobile/src/components/PictureText/PictureTextContent.ts +20 -5
  632. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +13 -10
  633. package/mobile/src/components/ProductTile/ProductTile.tsx +21 -12
  634. package/mobile/src/components/ProductTile/ProductTileContent.ts +19 -10
  635. package/mobile/src/components/Recommendation/RecommendationContent.ts +20 -2
  636. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -12
  637. package/mobile/src/components/SafeDepositRental/SafeDepositRentalContent.ts +8 -6
  638. package/mobile/src/components/SafeDepositRental/YandexMap.tsx +19 -11
  639. package/mobile/src/components/SafeDepositRental/renderClusterer.ts +29 -23
  640. package/mobile/src/components/SafeDepositRental/useYandexMaps.ts +13 -0
  641. package/mobile/src/components/StepsBlock/StepsBlockContent.ts +10 -27
  642. package/mobile/src/components/Tabs/TabsContent.ts +8 -5
  643. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +0 -4
  644. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +19 -36
  645. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +4 -1
  646. package/mobile/src/components/TextBlock/TextBlockContent.ts +3 -6
  647. package/mobile/src/components/Tile/TileContent.ts +17 -3
  648. package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +16 -22
  649. package/mobile/src/hooks/useExternalNS.ts +44 -0
  650. package/mobile/src/icons/AirPlaneIcon.svg +1 -98
  651. package/mobile/src/icons/ArrowDownIcon.svg +1 -1
  652. package/mobile/src/icons/ArrowUpIcon.svg +1 -1
  653. package/mobile/src/icons/BuildingIcon.svg +10 -0
  654. package/mobile/src/icons/Car2Icon.svg +10 -0
  655. package/mobile/src/icons/CarIcon.svg +1 -466
  656. package/mobile/src/icons/CinemaIcon.svg +1 -274
  657. package/mobile/src/icons/DocDownloadIcon.svg +1 -1
  658. package/mobile/src/icons/DocsIcon.svg +1 -238
  659. package/mobile/src/icons/DoneIcon.svg +3 -3
  660. package/mobile/src/icons/DoneSimpleIcon.svg +3 -0
  661. package/mobile/src/icons/GpsIcon.svg +1 -1
  662. package/mobile/src/icons/IconName.ts +4 -4
  663. package/mobile/src/icons/MoneyIcon.svg +5 -1
  664. package/mobile/src/icons/MoneysIcon.svg +7 -0
  665. package/mobile/src/icons/PackA4Icon.svg +1 -1
  666. package/mobile/src/icons/PowerIcon.svg +1 -135
  667. package/mobile/src/icons/Profile2UserIcon.svg +6 -1
  668. package/mobile/src/icons/PumpkinIcon.svg +1 -236
  669. package/mobile/src/icons/SoundIcon.svg +1 -113
  670. package/mobile/src/icons/StrongBoxIcon.svg +5 -0
  671. package/mobile/src/icons/UserSquareIcon.svg +5 -0
  672. package/mobile/src/icons/UserTickIcon.svg +5 -1
  673. package/mobile/src/icons/WateringCanIcon.svg +1 -497
  674. package/mobile/src/model/ButtonVersion.ts +1 -1
  675. package/mobile/src/model/Footnote.ts +4 -0
  676. package/mobile/src/model/HeadlineType.ts +5 -0
  677. package/mobile/src/model/Picture.ts +5 -0
  678. package/mobile/src/model/ProductColorVersion.ts +4 -0
  679. package/mobile/src/services/sitemap/useSitemap.ts +3 -1
  680. package/mobile/src/types/Fallback.ts +4 -0
  681. package/mobile/src/types.ts +1 -0
  682. package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +3 -8
  683. package/mobile/src/ui-kit/Button/ButtonProps.ts +12 -13
  684. package/mobile/src/ui-kit/Button/ButtonSection.tsx +19 -2
  685. package/mobile/src/ui-kit/Button/buttonClassNameConstants.ts +5 -3
  686. package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
  687. package/mobile/src/ui-kit/Input/Input.tsx +1 -1
  688. package/mobile/src/ui-kit/InputRange/InputRange.tsx +24 -25
  689. package/mobile/src/ui-kit/Radio/Radio.tsx +2 -1
  690. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
  691. package/mobile/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
  692. package/mobile/src/ui-kit/SelectCustom/SelectCustom.tsx +91 -0
  693. package/package.json +3 -2
  694. package/src/ProjectSettings.ts +4 -0
  695. package/src/components/Accordion/AccordionContent.ts +5 -9
  696. package/src/components/BenefitsBlock/BenefitsBlock.tsx +8 -14
  697. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +15 -22
  698. package/src/components/BlockContent.ts +1 -3
  699. package/src/components/Blocks.ts +1 -3
  700. package/src/components/Bonus/BonusContent.ts +6 -8
  701. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +25 -27
  702. package/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +5 -11
  703. package/src/components/Calculator/BonusCalculatorForm.tsx +4 -2
  704. package/src/components/Calculator/Calculator.fixture.tsx +5 -21
  705. package/src/components/Calculator/CalculatorContent.ts +6 -44
  706. package/src/components/Calculator/CalculatorValueBlock.tsx +1 -1
  707. package/src/components/Calculator/CreditCalculatorForm.tsx +4 -2
  708. package/src/components/Calculator/DepositCalculatorForm.tsx +25 -2
  709. package/src/components/Calculator/EmbeddableCalcBlocks.tsx +0 -3
  710. package/src/components/Calculator/renderFootnote.tsx +2 -0
  711. package/src/components/CardTransfer/CardTransferContent.ts +9 -10
  712. package/src/components/Catalog/Catalog.fixture.tsx +2 -2
  713. package/src/components/Catalog/CatalogCard.tsx +4 -3
  714. package/src/components/Catalog/CatalogContent.ts +2 -6
  715. package/src/components/ComparisonTable/ComparisonTableContent.ts +9 -47
  716. package/src/components/ComparisonTable/TableColumn.tsx +10 -1
  717. package/src/components/ComparisonTable/TableRow.tsx +5 -1
  718. package/src/components/ContentPage/computeAPIFallback.spec.ts +63 -0
  719. package/src/components/ContentPage/computeAPIFallback.ts +55 -0
  720. package/src/components/ErrorBlock/ErrorBlockContent.ts +17 -4
  721. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +3 -4
  722. package/src/components/ExchangeRateTile/renderInput.tsx +13 -16
  723. package/src/components/Footer/Footer.mobile.tsx +4 -1
  724. package/src/components/Footer/Footer.tsx +5 -1
  725. package/src/components/Footer/FooterContent.ts +5 -9
  726. package/src/components/Footer/HorizontalNavigation.mobile.tsx +3 -4
  727. package/src/components/Footer/HorizontalNavigation.tsx +3 -4
  728. package/src/components/Footer/Sitemap.tsx +4 -2
  729. package/src/components/Gallery/GalleryContent.ts +16 -19
  730. package/src/components/GracePeriod/GracePeriodContent.ts +10 -13
  731. package/src/components/Header/Header.fallback.ts +14 -0
  732. package/src/components/Header/Header.mobile.tsx +4 -2
  733. package/src/components/Header/Header.tsx +7 -2
  734. package/src/components/Header/HeaderContent.ts +15 -23
  735. package/src/components/Headline/HeadlineContent.ts +9 -9
  736. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +8 -13
  737. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +2 -2
  738. package/src/components/MiniGallery/MiniGalleryContent.ts +8 -3
  739. package/src/components/MobileAppTile/MobileAppTileContent.ts +19 -6
  740. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +3 -3
  741. package/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +5 -20
  742. package/src/components/OtherProducts/OtherProductsContent.ts +3 -4
  743. package/src/components/PictureText/PictureText.tsx +1 -1
  744. package/src/components/PictureText/PictureTextContent.ts +20 -5
  745. package/src/components/ProductBlock/ProductBlock.fixture.tsx +1 -21
  746. package/src/components/ProductBlock/ProductBlockContent.ts +13 -10
  747. package/src/components/ProductTile/ProductTile.fixture.tsx +12 -0
  748. package/src/components/ProductTile/ProductTile.tsx +21 -12
  749. package/src/components/ProductTile/ProductTileContent.ts +19 -10
  750. package/src/components/Recommendation/RecommendationContent.ts +20 -2
  751. package/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -12
  752. package/src/components/SafeDepositRental/SafeDepositRentalContent.ts +8 -6
  753. package/src/components/SafeDepositRental/YandexMap.tsx +19 -11
  754. package/src/components/SafeDepositRental/renderClusterer.ts +29 -23
  755. package/src/components/SafeDepositRental/useYandexMaps.ts +13 -0
  756. package/src/components/StepsBlock/StepsBlockContent.ts +10 -27
  757. package/src/components/Tabs/TabsContent.ts +8 -5
  758. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +0 -4
  759. package/src/components/TariffsTable/TariffsTableContent.ts +19 -36
  760. package/src/components/TariffsTable/TariffsTableRow.tsx +4 -1
  761. package/src/components/TextBlock/TextBlockContent.ts +3 -6
  762. package/src/components/Tile/TileContent.ts +17 -3
  763. package/src/components/__snapshots__/Blocks.spec.tsx.snap +16 -22
  764. package/src/hooks/useExternalNS.ts +44 -0
  765. package/src/icons/AirPlaneIcon.svg +1 -98
  766. package/src/icons/ArrowDownIcon.svg +1 -1
  767. package/src/icons/ArrowUpIcon.svg +1 -1
  768. package/src/icons/BuildingIcon.svg +10 -0
  769. package/src/icons/Car2Icon.svg +10 -0
  770. package/src/icons/CarIcon.svg +1 -466
  771. package/src/icons/CinemaIcon.svg +1 -274
  772. package/src/icons/DocDownloadIcon.svg +1 -1
  773. package/src/icons/DocsIcon.svg +1 -238
  774. package/src/icons/DoneIcon.svg +3 -3
  775. package/src/icons/DoneSimpleIcon.svg +3 -0
  776. package/src/icons/GpsIcon.svg +1 -1
  777. package/src/icons/IconName.ts +25 -10
  778. package/src/icons/MoneyIcon.svg +5 -1
  779. package/src/icons/MoneysIcon.svg +7 -0
  780. package/src/icons/PackA4Icon.svg +1 -1
  781. package/src/icons/PowerIcon.svg +1 -135
  782. package/src/icons/Profile2UserIcon.svg +6 -1
  783. package/src/icons/PumpkinIcon.svg +1 -236
  784. package/src/icons/SoundIcon.svg +1 -113
  785. package/src/icons/StrongBoxIcon.svg +5 -0
  786. package/src/icons/UserSquareIcon.svg +5 -0
  787. package/src/icons/UserTickIcon.svg +5 -1
  788. package/src/icons/WateringCanIcon.svg +1 -497
  789. package/src/model/ButtonVersion.ts +1 -1
  790. package/src/model/Footnote.ts +4 -0
  791. package/src/model/HeadlineType.ts +5 -0
  792. package/src/model/Picture.ts +5 -0
  793. package/src/model/ProductColorVersion.ts +4 -0
  794. package/src/services/sitemap/useSitemap.ts +3 -1
  795. package/src/types/Fallback.ts +4 -0
  796. package/src/types.ts +1 -0
  797. package/src/ui-kit/BenefitItem/BenefitItemProps.ts +3 -8
  798. package/src/ui-kit/Button/ButtonProps.ts +12 -13
  799. package/src/ui-kit/Button/ButtonSection.tsx +19 -2
  800. package/src/ui-kit/Button/buttonClassNameConstants.ts +5 -3
  801. package/src/ui-kit/Foldable/Foldable.tsx +1 -1
  802. package/src/ui-kit/Input/Input.tsx +1 -1
  803. package/src/ui-kit/InputRange/InputRange.tsx +24 -25
  804. package/src/ui-kit/Radio/Radio.tsx +2 -1
  805. package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
  806. package/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
  807. package/src/ui-kit/SelectCustom/SelectCustom.fixture.tsx +15 -0
  808. package/src/ui-kit/SelectCustom/SelectCustom.tsx +91 -0
  809. package/cosmos-static/icons/StateMortgageIcon.svg +0 -1
  810. package/dist/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  811. package/dist/components/Calculator/MortgageCalculatorForm.js +0 -34
  812. package/dist/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  813. package/dist/components/Navigation/Navigation.d.ts +0 -5
  814. package/dist/components/Navigation/Navigation.js +0 -17
  815. package/dist/components/Navigation/Navigation.js.map +0 -1
  816. package/dist/components/Navigation/NavigationContent.d.ts +0 -10
  817. package/dist/components/Navigation/NavigationContent.js.map +0 -1
  818. package/dist/components/Navigation/NavigationItem.d.ts +0 -4
  819. package/dist/components/Navigation/NavigationItem.js +0 -6
  820. package/dist/components/Navigation/NavigationItem.js.map +0 -1
  821. package/dist/hooks/useScript.d.ts +0 -6
  822. package/dist/hooks/useScript.js +0 -75
  823. package/dist/hooks/useScript.js.map +0 -1
  824. package/lib/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  825. package/lib/components/Calculator/MortgageCalculatorForm.js +0 -32
  826. package/lib/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  827. package/lib/components/Navigation/Navigation.d.ts +0 -5
  828. package/lib/components/Navigation/Navigation.js +0 -15
  829. package/lib/components/Navigation/Navigation.js.map +0 -1
  830. package/lib/components/Navigation/NavigationContent.d.ts +0 -10
  831. package/lib/components/Navigation/NavigationContent.js +0 -2
  832. package/lib/components/Navigation/NavigationContent.js.map +0 -1
  833. package/lib/components/Navigation/NavigationItem.d.ts +0 -4
  834. package/lib/components/Navigation/NavigationItem.js +0 -4
  835. package/lib/components/Navigation/NavigationItem.js.map +0 -1
  836. package/lib/hooks/useScript.d.ts +0 -6
  837. package/lib/hooks/useScript.js +0 -72
  838. package/lib/hooks/useScript.js.map +0 -1
  839. package/mobile/dist/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  840. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js +0 -34
  841. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  842. package/mobile/dist/components/Navigation/Navigation.d.ts +0 -5
  843. package/mobile/dist/components/Navigation/Navigation.js +0 -17
  844. package/mobile/dist/components/Navigation/Navigation.js.map +0 -1
  845. package/mobile/dist/components/Navigation/NavigationContent.d.ts +0 -10
  846. package/mobile/dist/components/Navigation/NavigationContent.js.map +0 -1
  847. package/mobile/dist/components/Navigation/NavigationItem.d.ts +0 -4
  848. package/mobile/dist/components/Navigation/NavigationItem.js +0 -6
  849. package/mobile/dist/components/Navigation/NavigationItem.js.map +0 -1
  850. package/mobile/dist/hooks/useScript.d.ts +0 -6
  851. package/mobile/dist/hooks/useScript.js +0 -75
  852. package/mobile/dist/hooks/useScript.js.map +0 -1
  853. package/mobile/lib/components/Calculator/MortgageCalculatorForm.d.ts +0 -5
  854. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js +0 -32
  855. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js.map +0 -1
  856. package/mobile/lib/components/Navigation/Navigation.d.ts +0 -5
  857. package/mobile/lib/components/Navigation/Navigation.js +0 -15
  858. package/mobile/lib/components/Navigation/Navigation.js.map +0 -1
  859. package/mobile/lib/components/Navigation/NavigationContent.d.ts +0 -10
  860. package/mobile/lib/components/Navigation/NavigationContent.js +0 -2
  861. package/mobile/lib/components/Navigation/NavigationContent.js.map +0 -1
  862. package/mobile/lib/components/Navigation/NavigationItem.d.ts +0 -4
  863. package/mobile/lib/components/Navigation/NavigationItem.js +0 -4
  864. package/mobile/lib/components/Navigation/NavigationItem.js.map +0 -1
  865. package/mobile/lib/hooks/useScript.d.ts +0 -6
  866. package/mobile/lib/hooks/useScript.js +0 -72
  867. package/mobile/lib/hooks/useScript.js.map +0 -1
  868. package/mobile/src/components/Calculator/MortgageCalculatorForm.tsx +0 -75
  869. package/mobile/src/components/Navigation/Navigation.tsx +0 -44
  870. package/mobile/src/components/Navigation/NavigationContent.ts +0 -11
  871. package/mobile/src/components/Navigation/NavigationItem.tsx +0 -17
  872. package/mobile/src/hooks/useScript.ts +0 -97
  873. package/mobile/src/icons/StateMortgageIcon.svg +0 -1
  874. package/src/components/Calculator/MortgageCalculatorForm.tsx +0 -75
  875. package/src/components/Navigation/Navigation.fixture.tsx +0 -30
  876. package/src/components/Navigation/Navigation.tsx +0 -44
  877. package/src/components/Navigation/NavigationContent.ts +0 -11
  878. package/src/components/Navigation/NavigationItem.tsx +0 -17
  879. package/src/hooks/useScript.ts +0 -97
  880. 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";
@@ -388,25 +397,27 @@
388
397
  var IconTitleMap;
389
398
  (function (IconTitleMap) {
390
399
  IconTitleMap["ActualBalanceIcon"] = "\u0414\u0435\u043D\u044C\u0433\u0438";
391
- IconTitleMap["AirPlaneIcon"] = "\u0421\u0430\u043C\u043E\u043B\u0435\u0442";
400
+ IconTitleMap["AirPlaneIcon"] = "\u0421\u0430\u043C\u043E\u043B\u0451\u0442";
392
401
  IconTitleMap["AppleIcon"] = "\u041B\u043E\u0433\u043E \u00ABApple\u00BB";
393
402
  IconTitleMap["ArrowDownIcon"] = "\u0421\u0442\u0440\u0435\u043B\u043A\u0430 '\u0412\u043D\u0438\u0437'";
394
403
  IconTitleMap["ArrowLeftIcon"] = "\u0421\u0442\u0440\u0435\u043B\u043A\u0430";
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";
406
417
  IconTitleMap["CardWithGemIcon"] = "\u041A\u0430\u0440\u0442\u0430 \u0441 \u0434\u0440\u0430\u0433\u043E\u0446\u0435\u043D\u043D\u043E\u0441\u0442\u044F\u043C\u0438";
407
418
  IconTitleMap["CarIcon"] = "\u041C\u0430\u0448\u0438\u043D\u0430";
408
419
  IconTitleMap["ChartSquareIcon"] = "\u0414\u0435\u043D\u044C\u0433\u0438 \u0432\u043D\u0443\u0442\u0440\u0438 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430";
409
- IconTitleMap["CinemaIcon"] = "\u041A\u0438\u043D\u043E";
420
+ IconTitleMap["CinemaIcon"] = "\u041A\u0438\u043D\u043E\u0442\u0435\u0430\u0442\u0440";
410
421
  IconTitleMap["ClockIcon"] = "\u0427\u0430\u0441\u044B";
411
422
  IconTitleMap["CloseIcon"] = "\u041A\u0440\u0435\u0441\u0442\u0438\u043A";
412
423
  IconTitleMap["ComfortableCompIcon"] = "\u041A\u0440\u0435\u0441\u043B\u043E";
@@ -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,11 +452,12 @@
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";
446
459
  IconTitleMap["OkIcon"] = "\u041B\u043E\u0433\u043E \u00AB\u041E\u0434\u043D\u043E\u043A\u043B\u0430\u0441\u0441\u043D\u0438\u043A\u0438\u00BB";
447
- IconTitleMap["PackA4Icon"] = "PackA4Icon";
460
+ IconTitleMap["PackA4Icon"] = "\u041F\u0430\u0447\u043A\u0430 \u0431\u0443\u043C\u0430\u0433\u0438 \u04104";
448
461
  IconTitleMap["PassSendIcon"] = "\u0411\u0438\u0437\u043D\u0435\u0441";
449
462
  IconTitleMap["PercentageRoundIcon"] = "\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B (\u043A\u0440\u0443\u0433.)";
450
463
  IconTitleMap["PercentageSquareIcon"] = "\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B";
@@ -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 items-center 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", width: "16", height: "16", 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", width: "16", height: "16", 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
  });
@@ -2697,77 +2694,6 @@
2697
2694
  }) }));
2698
2695
  };
2699
2696
 
2700
- const cachedScriptStatuses = {};
2701
- function getScriptNode(src) {
2702
- const node = document.querySelector(`script[src="${src}"]`);
2703
- const status = node?.getAttribute('data-status');
2704
- return {
2705
- node,
2706
- status,
2707
- };
2708
- }
2709
- function getScriptStatus(type) {
2710
- return type === 'load' ? 'ready' : 'error';
2711
- }
2712
- function getInitialValueStatus(src, options) {
2713
- if (!src || options?.shouldPreventLoad) {
2714
- return 'idle';
2715
- }
2716
- if (typeof window === 'undefined') {
2717
- return 'loading';
2718
- }
2719
- return cachedScriptStatuses[src] ?? 'loading';
2720
- }
2721
- function useScript(src, options) {
2722
- const [status, setStatus] = useState(getInitialValueStatus(src, options));
2723
- // eslint-disable-next-line complexity
2724
- useEffect(() => {
2725
- if (!src || options?.shouldPreventLoad) {
2726
- return undefined;
2727
- }
2728
- const cachedScriptStatus = cachedScriptStatuses[src];
2729
- if (cachedScriptStatus === 'ready' || cachedScriptStatus === 'error') {
2730
- setStatus(cachedScriptStatus);
2731
- return undefined;
2732
- }
2733
- const script = getScriptNode(src);
2734
- let scriptNode = script.node;
2735
- if (!scriptNode) {
2736
- scriptNode = document.createElement('script');
2737
- scriptNode.src = src;
2738
- scriptNode.async = true;
2739
- scriptNode.setAttribute('data-status', 'loading');
2740
- document.body.appendChild(scriptNode);
2741
- const setAttributeFromEvent = (event) => {
2742
- const scriptStatus = getScriptStatus(event.type);
2743
- scriptNode?.setAttribute('data-status', scriptStatus);
2744
- };
2745
- scriptNode.addEventListener('load', setAttributeFromEvent);
2746
- scriptNode.addEventListener('error', setAttributeFromEvent);
2747
- }
2748
- else {
2749
- setStatus(script.status ?? cachedScriptStatus ?? 'loading');
2750
- }
2751
- const setStateFromEvent = (event) => {
2752
- const newStatus = getScriptStatus(event.type);
2753
- setStatus(newStatus);
2754
- cachedScriptStatuses[src] = newStatus;
2755
- };
2756
- scriptNode.addEventListener('load', setStateFromEvent);
2757
- scriptNode.addEventListener('error', setStateFromEvent);
2758
- return () => {
2759
- if (scriptNode) {
2760
- scriptNode.removeEventListener('load', setStateFromEvent);
2761
- scriptNode.removeEventListener('error', setStateFromEvent);
2762
- }
2763
- if (scriptNode && options?.removeOnUnmount) {
2764
- scriptNode.remove();
2765
- }
2766
- };
2767
- }, [src, options?.shouldPreventLoad, options?.removeOnUnmount]);
2768
- return status;
2769
- }
2770
-
2771
2697
  const SAFEBOXES_URL = '/api/v1/safeboxes';
2772
2698
  function useFetchSafeBoxes(regionCode) {
2773
2699
  const { data } = useAsyncData(regionCode ? `${SAFEBOXES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
@@ -2780,6 +2706,17 @@
2780
2706
  return fetchJSON(url, { method: 'GET' });
2781
2707
  };
2782
2708
 
2709
+ const selectStyle = {
2710
+ background: `url('/icons/ArrowDownIcon.svg') no-repeat right 16px top 50%`,
2711
+ };
2712
+ const Select = JSX(({ className = '', id, name, children, value, onChange }) => {
2713
+ 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 }));
2714
+ });
2715
+
2716
+ const SelectOption = JSX(({ className = '', value, selected, disabled = false, children }) => {
2717
+ return (jsx("option", { className: className, value: `${value}`, selected: selected, disabled: disabled, children: children }));
2718
+ });
2719
+
2783
2720
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder, setSelected, label }) => {
2784
2721
  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
2722
  });
@@ -2788,7 +2725,7 @@
2788
2725
  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
2726
  });
2790
2727
 
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] }) })));
2728
+ 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
2729
 
2793
2730
  const RenderRadioButtons = JSX(() => {
2794
2731
  const [selectedOption, setSelectedOption] = useState('option2');
@@ -2900,11 +2837,10 @@
2900
2837
  return data || [];
2901
2838
  }
2902
2839
 
2903
- function renderClusterer(Map, points) {
2904
- Map.geoObjects.removeAll();
2905
- const pointsList = points;
2906
- const clusterIconContentLayout = ymaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
2907
- const clusterer = new ymaps.Clusterer({
2840
+ function renderClusterer(yandexMaps, map, points) {
2841
+ map.geoObjects.removeAll();
2842
+ const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
2843
+ const clusterer = new yandexMaps.Clusterer({
2908
2844
  clusterIcons: [
2909
2845
  {
2910
2846
  href: 'icons/MapMarkerClusterIcon.svg',
@@ -2916,37 +2852,83 @@
2916
2852
  clusterHideIconOnBalloonOpen: false,
2917
2853
  geoObjectHideIconOnBalloonOpen: false,
2918
2854
  });
2919
- const geoObjects = [];
2920
- for (let i = 0, len = pointsList.length; i < len; i++) {
2921
- geoObjects[i] = new ymaps.Placemark(pointsList[i], null, {
2922
- iconLayout: 'default#image',
2923
- iconImageHref: 'icons/MapMarkerSingleIcon.svg',
2924
- iconImageSize: [78, 84],
2925
- iconImageOffset: [-35, -50],
2926
- });
2927
- }
2855
+ const geoObjects = points.map((point) => new yandexMaps.Placemark(point, {}, {
2856
+ iconLayout: 'default#image',
2857
+ iconImageHref: 'icons/MapMarkerSingleIcon.svg',
2858
+ iconImageSize: [78, 84],
2859
+ iconImageOffset: [-35, -50],
2860
+ }));
2928
2861
  clusterer.add(geoObjects);
2929
- Map.geoObjects.add(clusterer);
2930
- Map.setBounds(ymaps.util.bounds.fromPoints(pointsList)).then(() => {
2931
- if (Map.getZoom() > 10) {
2932
- Map.setZoom(10);
2862
+ map.geoObjects.add(clusterer);
2863
+ // TODO: Fix
2864
+ // @ts-ignore
2865
+ map.setBounds(yandexMaps.util.bounds.fromPoints(points)).then(() => {
2866
+ if (map.getZoom() > 10) {
2867
+ map.setZoom(10);
2933
2868
  }
2934
2869
  });
2935
2870
  }
2936
2871
 
2937
- let Map$1 = null;
2872
+ const getNS = (_) => globalThis[_];
2873
+ function useExternalNS(namespaceName, url) {
2874
+ const [externalNS, setExternalNS] = useState();
2875
+ const setNS = useCallback(() => setExternalNS(getNS(namespaceName)), [namespaceName]);
2876
+ useEffect(() => {
2877
+ const script = document.getElementById(url);
2878
+ if (script) {
2879
+ if (getNS(namespaceName)) {
2880
+ setNS();
2881
+ }
2882
+ else {
2883
+ script.addEventListener('load', setNS);
2884
+ return () => {
2885
+ script.removeEventListener('load', setNS);
2886
+ };
2887
+ }
2888
+ }
2889
+ else {
2890
+ const newScript = document.createElement('script');
2891
+ newScript.src = url;
2892
+ newScript.async = true;
2893
+ newScript.id = url;
2894
+ newScript.addEventListener('load', setNS);
2895
+ document.head.appendChild(newScript);
2896
+ return () => {
2897
+ document.head.removeChild(newScript);
2898
+ setExternalNS(undefined);
2899
+ };
2900
+ }
2901
+ return undefined;
2902
+ }, [namespaceName, url]);
2903
+ return externalNS;
2904
+ }
2905
+
2906
+ const YMAPS_NAMESPACE = 'ymaps';
2907
+ const useYandexMaps = () => {
2908
+ const url = `https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY}&lang=ru_RU`;
2909
+ const yandexMaps = useExternalNS(YMAPS_NAMESPACE, url);
2910
+ return yandexMaps;
2911
+ };
2912
+
2938
2913
  const YandexMap = JSX(({ points }) => {
2914
+ const map = useRef(null);
2915
+ const yandexMaps = useYandexMaps();
2939
2916
  useEffect(() => {
2940
- ymaps.ready(() => {
2941
- Map$1 = new ymaps.Map('map', {
2917
+ yandexMaps?.ready(() => {
2918
+ map.current = new yandexMaps.Map('map', {
2942
2919
  center: points[0],
2943
2920
  zoom: 10,
2944
2921
  });
2945
- renderClusterer(Map$1, points);
2922
+ renderClusterer(yandexMaps, map.current, points);
2946
2923
  });
2947
- }, []);
2948
- if (Map$1 && points) {
2949
- renderClusterer(Map$1, points);
2924
+ }, [yandexMaps]);
2925
+ useEffect(() => {
2926
+ if (map.current && points && yandexMaps) {
2927
+ renderClusterer(yandexMaps, map.current, points);
2928
+ }
2929
+ }, [map, points, yandexMaps]);
2930
+ if (!yandexMaps) {
2931
+ return null;
2950
2932
  }
2951
2933
  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
2934
  });
@@ -2955,13 +2937,10 @@
2955
2937
  const [points, setPoints] = useState([]);
2956
2938
  const [showMap, setShowMap] = useState(false);
2957
2939
  const regions = useGetRegions();
2958
- const statusScript = useScript(`https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY}&lang=ru_RU`, {
2959
- removeOnUnmount: true,
2960
- });
2961
2940
  const toggleShowMap = () => {
2962
2941
  setShowMap(!showMap);
2963
2942
  };
2964
- return (jsxs(BlockWrapper, { context: context, className: className, ...rest, children: [jsxs("div", { className: "bg-white px-8 py-12", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, setPoints: setPoints, toggleShowMap: toggleShowMap }), footnote ? jsx("p", { className: "text-s-light text-secondary-text", children: footnote }) : null] }), statusScript === 'ready' && points.length && showMap ? (jsx(YandexMap, { points: points })) : null] }));
2943
+ return (jsxs(BlockWrapper, { context: context, className: className, ...rest, children: [jsxs("div", { className: "bg-white px-8 py-12", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, setPoints: setPoints, toggleShowMap: toggleShowMap }), footnote ? jsx("p", { className: "text-s-light text-secondary-text", children: footnote }) : null] }), points.length && showMap ? jsx(YandexMap, { points: points }) : null] }));
2965
2944
  });
2966
2945
 
2967
2946
  const checkIsIconRenderable = (icon) => Boolean(icon?.icon || icon?.src);
@@ -3212,7 +3191,7 @@
3212
3191
  });
3213
3192
 
3214
3193
  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] }));
3194
+ 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
3195
  });
3217
3196
 
3218
3197
  const TariffsTable = JSX(({ className = '', context, title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
@@ -3237,21 +3216,6 @@
3237
3216
  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
3217
  });
3239
3218
 
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
3219
  const Blocks = {
3256
3220
  Accordion,
3257
3221
  BenefitsBlock,
@@ -3281,7 +3245,6 @@
3281
3245
  TariffsTable,
3282
3246
  TextBlock,
3283
3247
  Tile,
3284
- Navigation,
3285
3248
  Placeholder,
3286
3249
  BonusBenefitsBlock,
3287
3250
  SafeDepositRental,