@redneckz/wildless-cms-uni-blocks 0.3.84 → 0.3.86
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.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +495 -394
- package/bundle/bundle.umd.min.js +1 -1
- package/cosmos-static/icons/Logo.svg +1 -0
- package/dist/components/Accordion/useActiveHandler.d.ts +1 -1
- package/dist/components/Accordion/useActiveHandler.js +4 -4
- package/dist/components/Accordion/useActiveHandler.js.map +1 -1
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/BaseTile/BaseTileProps.d.ts +7 -26
- package/dist/components/BaseTile/getTileHeadingType.d.ts +1 -1
- package/dist/components/BaseTile/getTileHeadingType.js +3 -3
- package/dist/components/BaseTile/getTileHeadingType.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/dist/components/Bonus/BonusContent.d.ts +2 -3
- package/dist/components/Calculator/BonusCalculatorForm.d.ts +3 -3
- package/dist/components/Calculator/BonusCalculatorForm.js +23 -29
- package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/Calculator.js +7 -7
- package/dist/components/Calculator/Calculator.js.map +1 -1
- package/dist/components/Calculator/CalculatorContent.d.ts +14 -4
- package/dist/components/Calculator/CreditCalculatorForm.d.ts +4 -2
- package/dist/components/Calculator/CreditCalculatorForm.js +38 -41
- package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/DepositCalculatorForm.js +14 -28
- package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +4 -4
- package/dist/components/Calculator/EmbeddableCalcBlocks.js +2 -2
- package/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/dist/components/Calculator/MortgageCalculatorForm.js +14 -28
- package/dist/components/Calculator/MortgageCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/Rate.d.ts +7 -0
- package/dist/components/Calculator/Rate.js +6 -0
- package/dist/components/Calculator/Rate.js.map +1 -0
- package/dist/components/Calculator/constants.d.ts +13 -4
- package/dist/components/Calculator/constants.js +34 -5
- package/dist/components/Calculator/constants.js.map +1 -1
- package/dist/components/Calculator/getBonus.d.ts +2 -0
- package/dist/components/Calculator/getBonus.js +16 -0
- package/dist/components/Calculator/getBonus.js.map +1 -0
- package/dist/components/Calculator/getDefaultMonths.d.ts +1 -2
- package/dist/components/Calculator/getDefaultMonths.js +1 -4
- package/dist/components/Calculator/getDefaultMonths.js.map +1 -1
- package/dist/components/Calculator/getDefaultSum.d.ts +1 -2
- package/dist/components/Calculator/getDefaultSum.js +1 -3
- package/dist/components/Calculator/getDefaultSum.js.map +1 -1
- package/dist/components/Calculator/getMonthlyPayment.d.ts +6 -11
- package/dist/components/Calculator/getMonthlyPayment.js +10 -11
- package/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/dist/components/Calculator/renderCalculatorBlock.d.ts +1 -1
- package/dist/components/Calculator/renderCalculatorBlock.js +3 -3
- package/dist/components/Calculator/renderCalculatorBlock.js.map +1 -1
- package/dist/components/Calculator/renderInitialFeeInput.d.ts +3 -8
- package/dist/components/Calculator/renderInitialFeeInput.js +7 -6
- package/dist/components/Calculator/renderInitialFeeInput.js.map +1 -1
- package/dist/components/Calculator/renderMonthsInput.d.ts +3 -7
- package/dist/components/Calculator/renderMonthsInput.js +4 -3
- package/dist/components/Calculator/renderMonthsInput.js.map +1 -1
- package/dist/components/Calculator/renderPaymentTypeSelector.d.ts +5 -0
- package/dist/components/Calculator/renderPaymentTypeSelector.js +9 -0
- package/dist/components/Calculator/renderPaymentTypeSelector.js.map +1 -0
- package/dist/components/Calculator/renderRealEstateValue.d.ts +2 -7
- package/dist/components/Calculator/renderRealEstateValue.js +6 -5
- package/dist/components/Calculator/renderRealEstateValue.js.map +1 -1
- package/dist/components/Calculator/renderWantedSumInput.d.ts +6 -9
- package/dist/components/Calculator/renderWantedSumInput.js +5 -7
- package/dist/components/Calculator/renderWantedSumInput.js.map +1 -1
- package/dist/components/Calculator/useBonusCalculatorParams.d.ts +37 -0
- package/dist/components/Calculator/useBonusCalculatorParams.js +18 -0
- package/dist/components/Calculator/useBonusCalculatorParams.js.map +1 -0
- package/dist/components/Calculator/useCalculatorParams.d.ts +2 -0
- package/dist/components/Calculator/useCalculatorParams.js +12 -0
- package/dist/components/Calculator/useCalculatorParams.js.map +1 -0
- package/dist/components/Calculator/useCreditCalculatorParams.d.ts +28 -0
- package/dist/components/Calculator/useCreditCalculatorParams.js +26 -0
- package/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -0
- package/dist/components/Catalog/CatalogContent.d.ts +3 -4
- package/dist/components/ComparisonTable/ComparisonTable.js +2 -2
- package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +1 -1
- package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +4 -4
- package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/dist/components/ComparisonTable/HeaderCell.js +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/dist/components/ContentPage/ContentPageContext.d.ts +1 -2
- package/dist/components/ExchangeRateTile/CurrencyTable.js +2 -2
- package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -0
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +3 -3
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +2 -3
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +2 -0
- package/dist/components/ExchangeRateTile/renderButton.d.ts +1 -1
- package/dist/components/ExchangeRateTile/renderButton.js +2 -2
- package/dist/components/ExchangeRateTile/renderButton.js.map +1 -1
- package/dist/components/ExchangeRateTile/renderInput.js +1 -1
- package/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
- package/dist/components/Footer/HorizontalNavigation.js +2 -2
- package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
- package/dist/components/Footer/HorizontalNavigation.mobile.js +2 -2
- package/dist/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
- package/dist/components/Footer/HorizontalNavigationLink.d.ts +8 -0
- package/dist/components/Footer/HorizontalNavigationLink.js +6 -0
- package/dist/components/Footer/HorizontalNavigationLink.js.map +1 -0
- package/dist/components/Footer/MediaButton.js +2 -1
- package/dist/components/Footer/MediaButton.js.map +1 -1
- package/dist/components/Footer/TextInformation.js +2 -2
- package/dist/components/Footer/TextInformation.js.map +1 -1
- package/dist/components/Footer/TextInformation.mobile.js +2 -2
- package/dist/components/Footer/TextInformation.mobile.js.map +1 -1
- package/dist/components/Footer/TextInformationLink.d.ts +8 -0
- package/dist/components/Footer/TextInformationLink.js +6 -0
- package/dist/components/Footer/TextInformationLink.js.map +1 -0
- package/dist/components/Gallery/Gallery.mobile.js +2 -1
- package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
- package/dist/components/GracePeriod/GracePeriodContent.d.ts +2 -2
- package/dist/components/GroupBlock/GroupBlock.js +1 -1
- package/dist/components/GroupBlock/GroupBlock.js.map +1 -1
- package/dist/components/GroupBlock/GroupBlockTabs.d.ts +2 -3
- package/dist/components/GroupBlock/GroupBlockTabs.js +10 -8
- package/dist/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/dist/components/GroupBlock/GroupBlocksItem.d.ts +1 -1
- package/dist/components/GroupBlock/GroupBlocksItem.js +1 -1
- package/dist/components/GroupBlock/GroupBlocksItem.js.map +1 -1
- package/dist/components/GroupBlock/renderBlocksTypes.js +4 -2
- package/dist/components/GroupBlock/renderBlocksTypes.js.map +1 -1
- package/dist/components/Header/DropdownMenu.d.ts +1 -0
- package/dist/components/Header/DropdownMenu.js +6 -3
- package/dist/components/Header/DropdownMenu.js.map +1 -1
- package/dist/components/Header/Header.js +1 -1
- package/dist/components/Header/HeaderSubMenu.js +1 -1
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/Headline/Headline.js +4 -2
- package/dist/components/Headline/Headline.js.map +1 -1
- package/dist/components/Headline/Headline.mobile.js +1 -1
- package/dist/components/Headline/Headline.mobile.js.map +1 -1
- package/dist/components/Headline/HeadlineContent.d.ts +2 -4
- package/dist/components/Headline/constants.d.ts +9 -0
- package/dist/components/Headline/constants.js +33 -1
- package/dist/components/Headline/constants.js.map +1 -1
- package/dist/components/Insurance/Insurance.js +5 -5
- package/dist/components/Insurance/Insurance.js.map +1 -1
- package/dist/components/Insurance/InsuranceContent.d.ts +2 -5
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +6 -7
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +2 -2
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +18 -16
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocs.js +2 -2
- package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocs.mobile.js +1 -1
- package/dist/components/LinkDocs/LinkDocs.mobile.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +3 -6
- package/dist/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/dist/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/dist/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js +3 -3
- package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +2 -3
- package/dist/components/NavigatorTabs/NavigatorTabItem.d.ts +1 -1
- package/dist/components/NavigatorTabs/NavigatorTabItem.js +3 -3
- package/dist/components/NavigatorTabs/NavigatorTabItem.js.map +1 -1
- package/dist/components/OtherProducts/OtherProductsItem.js +1 -1
- package/dist/components/OtherProducts/OtherProductsItem.js.map +1 -1
- package/dist/components/PictureText/PictureTextContent.d.ts +2 -2
- package/dist/components/Placeholder/Placeholder.js +2 -4
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/Placeholder/PlaceholderContent.d.ts +2 -3
- package/dist/components/ProductBlock/ProductBlock.js +3 -1
- package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +4 -5
- package/dist/components/ProductBlock/ProductBlockInner.js +3 -8
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js +3 -4
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/dist/components/ProductBlock/renderBackwardButton.js +2 -1
- package/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/dist/components/ProductBlock/renderBenefit.js +1 -1
- package/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/dist/components/ProductBlock/renderBenefit.mobile.js +1 -1
- package/dist/components/ProductBlock/renderBenefit.mobile.js.map +1 -1
- package/dist/components/ProductGallery/ProductGalleryBlock.d.ts +3 -3
- package/dist/components/ProductGallery/ProductGalleryBlock.js +2 -2
- package/dist/components/ProductGallery/ProductGalleryBlock.js.map +1 -1
- package/dist/components/ProductTile/ProductTile.js +4 -5
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/ProductTile/ProductTileContent.d.ts +2 -3
- package/dist/components/PromoTile/PromoTile.js +2 -2
- package/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/dist/components/PromoTile/PromoTileContent.d.ts +3 -3
- package/dist/components/Recommendation/RecommendationContent.d.ts +4 -4
- package/dist/components/StepsBlock/StepsBlock.js +5 -3
- package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js +2 -2
- package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -0
- package/dist/components/StepsBlock/StepsBlockStyleMaps.js +3 -1
- package/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.mobile.js +3 -2
- package/dist/components/TariffsTable/TariffsTable.mobile.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableContent.d.ts +3 -4
- package/dist/components/TextBlock/TextBlock.js.map +1 -1
- package/dist/components/TextBlock/TextBlock.mobile.js +2 -1
- package/dist/components/TextBlock/TextBlock.mobile.js.map +1 -1
- package/dist/components/Tile/Tile.js +4 -3
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/components/Tile/TileContent.d.ts +3 -3
- package/dist/content-page-repository/transformPicture.js +7 -3
- package/dist/content-page-repository/transformPicture.js.map +1 -1
- package/dist/hooks/useExchangeRates.js +5 -7
- package/dist/hooks/useExchangeRates.js.map +1 -1
- package/dist/hooks/useLink.d.ts +3 -1
- package/dist/hooks/useLink.js +1 -1
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +2 -0
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/HeadlineType.d.ts +17 -0
- package/dist/{ui-kit/Heading/HeadingContent.js → model/HeadlineType.js} +1 -1
- package/dist/model/HeadlineType.js.map +1 -0
- package/dist/model/Picture.d.ts +4 -3
- package/dist/model/VNode.d.ts +1 -1
- package/dist/services/sitemap/findActiveSubItem.d.ts +1 -1
- package/dist/services/sitemap/findActiveSubItem.js +2 -3
- package/dist/services/sitemap/findActiveSubItem.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/ui-kit/BlocksList/renderBlocksList.js +4 -2
- package/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
- package/dist/ui-kit/Breadcrumb.d.ts +1 -1
- package/dist/ui-kit/Button/Button.d.ts +0 -1
- package/dist/ui-kit/Button/Button.js +4 -4
- package/dist/ui-kit/Button/Button.js.map +1 -1
- package/dist/ui-kit/Button/Button.mobile.js +1 -1
- package/dist/ui-kit/Button/Button.mobile.js.map +1 -1
- package/dist/ui-kit/Button/ButtonInner.js +2 -2
- package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/dist/ui-kit/Button/ButtonProps.d.ts +3 -1
- package/dist/ui-kit/Button/ButtonSection.js +2 -2
- package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/dist/ui-kit/Button/LikeButton.d.ts +1 -1
- package/dist/ui-kit/Button/renderArrows.d.ts +2 -4
- package/dist/ui-kit/Button/renderArrows.js.map +1 -1
- package/dist/ui-kit/Checkbox/Checkbox.js +5 -2
- package/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/dist/ui-kit/Checkbox/CheckboxProps.d.ts +2 -1
- package/dist/ui-kit/Description/Description.d.ts +2 -2
- package/dist/ui-kit/Description/Description.js +1 -1
- package/dist/ui-kit/Description/Description.js.map +1 -1
- package/dist/ui-kit/Foldable/Foldable.js +4 -2
- package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
- package/dist/ui-kit/Foldable/useActiveHandler.d.ts +1 -1
- package/dist/ui-kit/Foldable/useActiveHandler.js.map +1 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.js +2 -2
- package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js +4 -4
- package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
- package/dist/ui-kit/Heading/Heading.d.ts +1 -5
- package/dist/ui-kit/Heading/Heading.js +8 -11
- package/dist/ui-kit/Heading/Heading.js.map +1 -1
- package/dist/ui-kit/Heading/Heading.mobile.d.ts +1 -5
- package/dist/ui-kit/Heading/Heading.mobile.js +2 -5
- package/dist/ui-kit/Heading/Heading.mobile.js.map +1 -1
- package/dist/ui-kit/Heading/HeadingProps.d.ts +20 -0
- package/{mobile/dist/ui-kit/Heading/HeadingContent.js → dist/ui-kit/Heading/HeadingProps.js} +1 -1
- package/dist/ui-kit/Heading/HeadingProps.js.map +1 -0
- package/dist/ui-kit/Img/Img.d.ts +0 -3
- package/dist/ui-kit/Img/Img.js +4 -30
- package/dist/ui-kit/Img/Img.js.map +1 -1
- package/dist/ui-kit/Img/Img.mobile.d.ts +0 -3
- package/dist/ui-kit/Img/Img.mobile.js +4 -31
- package/dist/ui-kit/Img/Img.mobile.js.map +1 -1
- package/dist/ui-kit/Img/ImgAsPicture.d.ts +4 -0
- package/dist/ui-kit/Img/ImgAsPicture.js +32 -0
- package/dist/ui-kit/Img/ImgAsPicture.js.map +1 -0
- package/dist/ui-kit/Img/ImgInner.d.ts +2 -0
- package/dist/ui-kit/Img/ImgInner.js +19 -0
- package/dist/ui-kit/Img/ImgInner.js.map +1 -0
- package/dist/ui-kit/Img/ImgProps.d.ts +1 -0
- package/dist/ui-kit/InputRange/InputRangeProps.d.ts +1 -2
- package/dist/ui-kit/Logo/Logo.js +1 -9
- package/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/dist/ui-kit/Logo/Logo.mobile.js +2 -9
- package/dist/ui-kit/Logo/Logo.mobile.js.map +1 -1
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +12 -0
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +9 -0
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/dist/ui-kit/SVG.d.ts +2 -2
- package/dist/ui-kit/SearchBar/SearchBar.js +3 -8
- package/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/dist/ui-kit/SearchBar/SearchBar.mobile.js +3 -7
- package/dist/ui-kit/SearchBar/SearchBar.mobile.js.map +1 -1
- package/dist/ui-kit/SearchBar/SearchBarInner.d.ts +5 -0
- package/dist/ui-kit/SearchBar/SearchBarInner.js +24 -0
- package/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -0
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +2 -3
- package/dist/ui-kit/Tabs/TabsProps.d.ts +1 -2
- package/dist/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/dist/utils/url.d.ts +1 -0
- package/dist/utils/url.js +3 -1
- package/dist/utils/url.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Accordion/useActiveHandler.d.ts +1 -1
- package/lib/components/Accordion/useActiveHandler.js +4 -4
- package/lib/components/Accordion/useActiveHandler.js.map +1 -1
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/BaseTile/BaseTileProps.d.ts +7 -26
- package/lib/components/BaseTile/getTileHeadingType.d.ts +1 -1
- package/lib/components/BaseTile/getTileHeadingType.js +3 -3
- package/lib/components/BaseTile/getTileHeadingType.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/lib/components/Bonus/BonusContent.d.ts +2 -3
- package/lib/components/Calculator/BonusCalculatorForm.d.ts +3 -3
- package/lib/components/Calculator/BonusCalculatorForm.js +23 -29
- package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/Calculator.js +7 -7
- package/lib/components/Calculator/Calculator.js.map +1 -1
- package/lib/components/Calculator/CalculatorContent.d.ts +14 -4
- package/lib/components/Calculator/CreditCalculatorForm.d.ts +4 -2
- package/lib/components/Calculator/CreditCalculatorForm.js +38 -41
- package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/DepositCalculatorForm.js +15 -29
- package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +4 -4
- package/lib/components/Calculator/EmbeddableCalcBlocks.js +2 -2
- package/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/lib/components/Calculator/MortgageCalculatorForm.js +14 -28
- package/lib/components/Calculator/MortgageCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/Rate.d.ts +7 -0
- package/lib/components/Calculator/Rate.js +4 -0
- package/lib/components/Calculator/Rate.js.map +1 -0
- package/lib/components/Calculator/constants.d.ts +13 -4
- package/lib/components/Calculator/constants.js +33 -4
- package/lib/components/Calculator/constants.js.map +1 -1
- package/lib/components/Calculator/getBonus.d.ts +2 -0
- package/lib/components/Calculator/getBonus.js +13 -0
- package/lib/components/Calculator/getBonus.js.map +1 -0
- package/lib/components/Calculator/getDefaultMonths.d.ts +1 -2
- package/lib/components/Calculator/getDefaultMonths.js +1 -4
- package/lib/components/Calculator/getDefaultMonths.js.map +1 -1
- package/lib/components/Calculator/getDefaultSum.d.ts +1 -2
- package/lib/components/Calculator/getDefaultSum.js +1 -3
- package/lib/components/Calculator/getDefaultSum.js.map +1 -1
- package/lib/components/Calculator/getMonthlyPayment.d.ts +6 -11
- package/lib/components/Calculator/getMonthlyPayment.js +11 -12
- package/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/lib/components/Calculator/renderCalculatorBlock.d.ts +1 -1
- package/lib/components/Calculator/renderCalculatorBlock.js +3 -3
- package/lib/components/Calculator/renderCalculatorBlock.js.map +1 -1
- package/lib/components/Calculator/renderInitialFeeInput.d.ts +3 -8
- package/lib/components/Calculator/renderInitialFeeInput.js +7 -6
- package/lib/components/Calculator/renderInitialFeeInput.js.map +1 -1
- package/lib/components/Calculator/renderMonthsInput.d.ts +3 -7
- package/lib/components/Calculator/renderMonthsInput.js +4 -3
- package/lib/components/Calculator/renderMonthsInput.js.map +1 -1
- package/lib/components/Calculator/renderPaymentTypeSelector.d.ts +5 -0
- package/lib/components/Calculator/renderPaymentTypeSelector.js +6 -0
- package/lib/components/Calculator/renderPaymentTypeSelector.js.map +1 -0
- package/lib/components/Calculator/renderRealEstateValue.d.ts +2 -7
- package/lib/components/Calculator/renderRealEstateValue.js +6 -5
- package/lib/components/Calculator/renderRealEstateValue.js.map +1 -1
- package/lib/components/Calculator/renderWantedSumInput.d.ts +6 -9
- package/lib/components/Calculator/renderWantedSumInput.js +5 -7
- package/lib/components/Calculator/renderWantedSumInput.js.map +1 -1
- package/lib/components/Calculator/useBonusCalculatorParams.d.ts +37 -0
- package/lib/components/Calculator/useBonusCalculatorParams.js +15 -0
- package/lib/components/Calculator/useBonusCalculatorParams.js.map +1 -0
- package/lib/components/Calculator/useCalculatorParams.d.ts +2 -0
- package/lib/components/Calculator/useCalculatorParams.js +9 -0
- package/lib/components/Calculator/useCalculatorParams.js.map +1 -0
- package/lib/components/Calculator/useCreditCalculatorParams.d.ts +28 -0
- package/lib/components/Calculator/useCreditCalculatorParams.js +23 -0
- package/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -0
- package/lib/components/Catalog/CatalogContent.d.ts +3 -4
- package/lib/components/ComparisonTable/ComparisonTable.js +2 -2
- package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +1 -1
- package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +4 -4
- package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/lib/components/ComparisonTable/HeaderCell.js +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/lib/components/ContentPage/ContentPageContext.d.ts +1 -2
- package/lib/components/ExchangeRateTile/CurrencyTable.js +2 -2
- package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -0
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +3 -3
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +2 -3
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +2 -0
- package/lib/components/ExchangeRateTile/renderButton.d.ts +1 -1
- package/lib/components/ExchangeRateTile/renderButton.js +2 -2
- package/lib/components/ExchangeRateTile/renderButton.js.map +1 -1
- package/lib/components/ExchangeRateTile/renderInput.js +1 -1
- package/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
- package/lib/components/Footer/HorizontalNavigation.js +2 -2
- package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
- package/lib/components/Footer/HorizontalNavigation.mobile.js +2 -2
- package/lib/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
- package/lib/components/Footer/HorizontalNavigationLink.d.ts +8 -0
- package/lib/components/Footer/HorizontalNavigationLink.js +4 -0
- package/lib/components/Footer/HorizontalNavigationLink.js.map +1 -0
- package/lib/components/Footer/MediaButton.js +2 -1
- package/lib/components/Footer/MediaButton.js.map +1 -1
- package/lib/components/Footer/TextInformation.js +2 -2
- package/lib/components/Footer/TextInformation.js.map +1 -1
- package/lib/components/Footer/TextInformation.mobile.js +2 -2
- package/lib/components/Footer/TextInformation.mobile.js.map +1 -1
- package/lib/components/Footer/TextInformationLink.d.ts +8 -0
- package/lib/components/Footer/TextInformationLink.js +4 -0
- package/lib/components/Footer/TextInformationLink.js.map +1 -0
- package/lib/components/Gallery/Gallery.mobile.js +2 -1
- package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
- package/lib/components/GracePeriod/GracePeriodContent.d.ts +2 -2
- package/lib/components/GroupBlock/GroupBlock.js +1 -1
- package/lib/components/GroupBlock/GroupBlock.js.map +1 -1
- package/lib/components/GroupBlock/GroupBlockTabs.d.ts +2 -3
- package/lib/components/GroupBlock/GroupBlockTabs.js +10 -8
- package/lib/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/lib/components/GroupBlock/GroupBlocksItem.d.ts +1 -1
- package/lib/components/GroupBlock/GroupBlocksItem.js +1 -1
- package/lib/components/GroupBlock/GroupBlocksItem.js.map +1 -1
- package/lib/components/GroupBlock/renderBlocksTypes.js +4 -2
- package/lib/components/GroupBlock/renderBlocksTypes.js.map +1 -1
- package/lib/components/Header/DropdownMenu.d.ts +1 -0
- package/lib/components/Header/DropdownMenu.js +6 -3
- package/lib/components/Header/DropdownMenu.js.map +1 -1
- package/lib/components/Header/Header.js +1 -1
- package/lib/components/Header/HeaderSubMenu.js +1 -1
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/Headline/Headline.fixture.d.ts +5 -0
- package/lib/components/Headline/Headline.js +5 -3
- package/lib/components/Headline/Headline.js.map +1 -1
- package/lib/components/Headline/Headline.mobile.js +1 -1
- package/lib/components/Headline/Headline.mobile.js.map +1 -1
- package/lib/components/Headline/HeadlineContent.d.ts +2 -4
- package/lib/components/Headline/constants.d.ts +9 -0
- package/lib/components/Headline/constants.js +32 -0
- package/lib/components/Headline/constants.js.map +1 -1
- package/lib/components/Insurance/Insurance.js +5 -5
- package/lib/components/Insurance/Insurance.js.map +1 -1
- package/lib/components/Insurance/InsuranceContent.d.ts +2 -5
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +6 -7
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +2 -2
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +18 -16
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocs.js +2 -2
- package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocs.mobile.js +1 -1
- package/lib/components/LinkDocs/LinkDocs.mobile.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +3 -6
- package/lib/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/lib/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/lib/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js +3 -3
- package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +2 -3
- package/lib/components/NavigatorTabs/NavigatorTabItem.d.ts +1 -1
- package/lib/components/NavigatorTabs/NavigatorTabItem.js +3 -3
- package/lib/components/NavigatorTabs/NavigatorTabItem.js.map +1 -1
- package/lib/components/OtherProducts/OtherProductsItem.js +1 -1
- package/lib/components/OtherProducts/OtherProductsItem.js.map +1 -1
- package/lib/components/PictureText/PictureTextContent.d.ts +2 -2
- package/lib/components/Placeholder/Placeholder.js +2 -4
- package/lib/components/Placeholder/Placeholder.js.map +1 -1
- package/lib/components/Placeholder/PlaceholderContent.d.ts +2 -3
- package/lib/components/ProductBlock/ProductBlock.js +3 -1
- package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +4 -5
- package/lib/components/ProductBlock/ProductBlockInner.js +3 -8
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js +3 -4
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/lib/components/ProductBlock/renderBackwardButton.js +2 -1
- package/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/lib/components/ProductBlock/renderBenefit.js +1 -1
- package/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/lib/components/ProductBlock/renderBenefit.mobile.js +1 -1
- package/lib/components/ProductBlock/renderBenefit.mobile.js.map +1 -1
- package/lib/components/ProductGallery/ProductGalleryBlock.d.ts +3 -3
- package/lib/components/ProductGallery/ProductGalleryBlock.js +2 -2
- package/lib/components/ProductGallery/ProductGalleryBlock.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.js +4 -5
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/ProductTile/ProductTileContent.d.ts +2 -3
- package/lib/components/PromoTile/PromoTile.js +2 -2
- package/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/lib/components/PromoTile/PromoTileContent.d.ts +3 -3
- package/lib/components/Recommendation/RecommendationContent.d.ts +4 -4
- package/lib/components/StepsBlock/StepsBlock.js +5 -3
- package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js +2 -2
- package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -0
- package/lib/components/StepsBlock/StepsBlockStyleMaps.js +3 -1
- package/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.mobile.js +3 -2
- package/lib/components/TariffsTable/TariffsTable.mobile.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableContent.d.ts +3 -4
- package/lib/components/TextBlock/TextBlock.js.map +1 -1
- package/lib/components/TextBlock/TextBlock.mobile.js +2 -1
- package/lib/components/TextBlock/TextBlock.mobile.js.map +1 -1
- package/lib/components/Tile/Tile.js +4 -3
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/components/Tile/TileContent.d.ts +3 -3
- package/lib/content-page-repository/transformPicture.js +7 -3
- package/lib/content-page-repository/transformPicture.js.map +1 -1
- package/lib/hooks/useExchangeRates.js +5 -7
- package/lib/hooks/useExchangeRates.js.map +1 -1
- package/lib/hooks/useLink.d.ts +3 -1
- package/lib/hooks/useLink.js +1 -1
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +2 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/HeadlineType.d.ts +17 -0
- package/lib/model/HeadlineType.js +2 -0
- package/lib/model/HeadlineType.js.map +1 -0
- package/lib/model/Picture.d.ts +4 -3
- package/lib/model/VNode.d.ts +1 -1
- package/lib/services/sitemap/findActiveSubItem.d.ts +1 -1
- package/lib/services/sitemap/findActiveSubItem.js +2 -3
- package/lib/services/sitemap/findActiveSubItem.js.map +1 -1
- package/lib/types.d.ts +0 -1
- package/lib/ui-kit/BlocksList/renderBlocksList.js +4 -2
- package/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
- package/lib/ui-kit/Breadcrumb.d.ts +1 -1
- package/lib/ui-kit/Button/Button.d.ts +0 -1
- package/lib/ui-kit/Button/Button.js +2 -2
- package/lib/ui-kit/Button/Button.js.map +1 -1
- package/lib/ui-kit/Button/Button.mobile.js +1 -1
- package/lib/ui-kit/Button/Button.mobile.js.map +1 -1
- package/lib/ui-kit/Button/ButtonInner.js +2 -2
- package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/lib/ui-kit/Button/ButtonProps.d.ts +3 -1
- package/lib/ui-kit/Button/ButtonSection.js +2 -2
- package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/lib/ui-kit/Button/LikeButton.d.ts +1 -1
- package/lib/ui-kit/Button/renderArrows.d.ts +2 -4
- package/lib/ui-kit/Button/renderArrows.js.map +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +5 -2
- package/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/lib/ui-kit/Checkbox/CheckboxProps.d.ts +2 -1
- package/lib/ui-kit/Description/Description.d.ts +2 -2
- package/lib/ui-kit/Description/Description.js +1 -1
- package/lib/ui-kit/Description/Description.js.map +1 -1
- package/lib/ui-kit/Foldable/Foldable.js +4 -2
- package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
- package/lib/ui-kit/Foldable/useActiveHandler.d.ts +1 -1
- package/lib/ui-kit/Foldable/useActiveHandler.js.map +1 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.js +2 -2
- package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js +4 -4
- package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
- package/lib/ui-kit/Heading/Heading.d.ts +1 -5
- package/lib/ui-kit/Heading/Heading.js +8 -11
- package/lib/ui-kit/Heading/Heading.js.map +1 -1
- package/lib/ui-kit/Heading/Heading.mobile.d.ts +1 -5
- package/lib/ui-kit/Heading/Heading.mobile.js +2 -5
- package/lib/ui-kit/Heading/Heading.mobile.js.map +1 -1
- package/lib/ui-kit/Heading/HeadingProps.d.ts +20 -0
- package/lib/ui-kit/Heading/HeadingProps.js +2 -0
- package/lib/ui-kit/Heading/HeadingProps.js.map +1 -0
- package/lib/ui-kit/Img/Img.d.ts +0 -3
- package/lib/ui-kit/Img/Img.js +4 -29
- package/lib/ui-kit/Img/Img.js.map +1 -1
- package/lib/ui-kit/Img/Img.mobile.d.ts +0 -3
- package/lib/ui-kit/Img/Img.mobile.js +4 -30
- package/lib/ui-kit/Img/Img.mobile.js.map +1 -1
- package/lib/ui-kit/Img/ImgAsPicture.d.ts +4 -0
- package/lib/ui-kit/Img/ImgAsPicture.js +29 -0
- package/lib/ui-kit/Img/ImgAsPicture.js.map +1 -0
- package/lib/ui-kit/Img/ImgInner.d.ts +2 -0
- package/lib/ui-kit/Img/ImgInner.js +17 -0
- package/lib/ui-kit/Img/ImgInner.js.map +1 -0
- package/lib/ui-kit/Img/ImgProps.d.ts +1 -0
- package/lib/ui-kit/InputRange/InputRangeProps.d.ts +1 -2
- package/lib/ui-kit/Logo/Logo.js +1 -9
- package/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/lib/ui-kit/Logo/Logo.mobile.js +2 -9
- package/lib/ui-kit/Logo/Logo.mobile.js.map +1 -1
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +12 -0
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.fixture.d.ts +4 -0
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +7 -0
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/lib/ui-kit/SVG.d.ts +2 -2
- package/lib/ui-kit/SearchBar/SearchBar.js +4 -9
- package/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/lib/ui-kit/SearchBar/SearchBar.mobile.js +4 -8
- package/lib/ui-kit/SearchBar/SearchBar.mobile.js.map +1 -1
- package/lib/ui-kit/SearchBar/SearchBarInner.d.ts +5 -0
- package/lib/ui-kit/SearchBar/SearchBarInner.js +22 -0
- package/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -0
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +2 -3
- package/lib/ui-kit/Tabs/TabsProps.d.ts +1 -2
- package/lib/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/lib/utils/url.d.ts +1 -0
- package/lib/utils/url.js +1 -0
- package/lib/utils/url.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +143 -123
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/Accordion/useActiveHandler.d.ts +1 -1
- package/mobile/dist/components/Accordion/useActiveHandler.js +4 -4
- package/mobile/dist/components/Accordion/useActiveHandler.js.map +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/components/BaseTile/BaseTileProps.d.ts +7 -26
- package/mobile/dist/components/BaseTile/getTileHeadingType.d.ts +1 -1
- package/mobile/dist/components/BaseTile/getTileHeadingType.js +3 -3
- package/mobile/dist/components/BaseTile/getTileHeadingType.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/mobile/dist/components/Bonus/BonusContent.d.ts +2 -3
- package/mobile/dist/components/Calculator/BonusCalculatorForm.d.ts +3 -3
- package/mobile/dist/components/Calculator/BonusCalculatorForm.js +23 -29
- package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/Calculator.js +7 -7
- package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
- package/mobile/dist/components/Calculator/CalculatorContent.d.ts +14 -4
- package/mobile/dist/components/Calculator/CreditCalculatorForm.d.ts +4 -2
- package/mobile/dist/components/Calculator/CreditCalculatorForm.js +38 -41
- package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/DepositCalculatorForm.js +14 -28
- package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +4 -4
- package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js +2 -2
- package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/mobile/dist/components/Calculator/MortgageCalculatorForm.js +14 -28
- package/mobile/dist/components/Calculator/MortgageCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/Rate.d.ts +7 -0
- package/mobile/dist/components/Calculator/Rate.js +6 -0
- package/mobile/dist/components/Calculator/Rate.js.map +1 -0
- package/mobile/dist/components/Calculator/constants.d.ts +13 -4
- package/mobile/dist/components/Calculator/constants.js +34 -5
- package/mobile/dist/components/Calculator/constants.js.map +1 -1
- package/mobile/dist/components/Calculator/getBonus.d.ts +2 -0
- package/mobile/dist/components/Calculator/getBonus.js +16 -0
- package/mobile/dist/components/Calculator/getBonus.js.map +1 -0
- package/mobile/dist/components/Calculator/getDefaultMonths.d.ts +1 -2
- package/mobile/dist/components/Calculator/getDefaultMonths.js +1 -4
- package/mobile/dist/components/Calculator/getDefaultMonths.js.map +1 -1
- package/mobile/dist/components/Calculator/getDefaultSum.d.ts +1 -2
- package/mobile/dist/components/Calculator/getDefaultSum.js +1 -3
- package/mobile/dist/components/Calculator/getDefaultSum.js.map +1 -1
- package/mobile/dist/components/Calculator/getMonthlyPayment.d.ts +6 -11
- package/mobile/dist/components/Calculator/getMonthlyPayment.js +10 -11
- package/mobile/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/mobile/dist/components/Calculator/renderCalculatorBlock.d.ts +1 -1
- package/mobile/dist/components/Calculator/renderCalculatorBlock.js +3 -3
- package/mobile/dist/components/Calculator/renderCalculatorBlock.js.map +1 -1
- package/mobile/dist/components/Calculator/renderInitialFeeInput.d.ts +3 -8
- package/mobile/dist/components/Calculator/renderInitialFeeInput.js +7 -6
- package/mobile/dist/components/Calculator/renderInitialFeeInput.js.map +1 -1
- package/mobile/dist/components/Calculator/renderMonthsInput.d.ts +3 -7
- package/mobile/dist/components/Calculator/renderMonthsInput.js +4 -3
- package/mobile/dist/components/Calculator/renderMonthsInput.js.map +1 -1
- package/mobile/dist/components/Calculator/renderPaymentTypeSelector.d.ts +5 -0
- package/mobile/dist/components/Calculator/renderPaymentTypeSelector.js +9 -0
- package/mobile/dist/components/Calculator/renderPaymentTypeSelector.js.map +1 -0
- package/mobile/dist/components/Calculator/renderRealEstateValue.d.ts +2 -7
- package/mobile/dist/components/Calculator/renderRealEstateValue.js +6 -5
- package/mobile/dist/components/Calculator/renderRealEstateValue.js.map +1 -1
- package/mobile/dist/components/Calculator/renderWantedSumInput.d.ts +6 -9
- package/mobile/dist/components/Calculator/renderWantedSumInput.js +5 -7
- package/mobile/dist/components/Calculator/renderWantedSumInput.js.map +1 -1
- package/mobile/dist/components/Calculator/useBonusCalculatorParams.d.ts +37 -0
- package/mobile/dist/components/Calculator/useBonusCalculatorParams.js +18 -0
- package/mobile/dist/components/Calculator/useBonusCalculatorParams.js.map +1 -0
- package/mobile/dist/components/Calculator/useCalculatorParams.d.ts +2 -0
- package/mobile/dist/components/Calculator/useCalculatorParams.js +12 -0
- package/mobile/dist/components/Calculator/useCalculatorParams.js.map +1 -0
- package/mobile/dist/components/Calculator/useCreditCalculatorParams.d.ts +28 -0
- package/mobile/dist/components/Calculator/useCreditCalculatorParams.js +26 -0
- package/mobile/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -0
- package/mobile/dist/components/Catalog/CatalogContent.d.ts +3 -4
- package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +4 -4
- package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/mobile/dist/components/ContentPage/ContentPageContext.d.ts +1 -2
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +2 -2
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -0
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +3 -3
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +2 -3
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +2 -0
- package/mobile/dist/components/ExchangeRateTile/renderButton.d.ts +1 -1
- package/mobile/dist/components/ExchangeRateTile/renderButton.js +2 -2
- package/mobile/dist/components/ExchangeRateTile/renderButton.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/renderInput.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
- package/mobile/dist/components/Footer/HorizontalNavigation.js +2 -2
- package/mobile/dist/components/Footer/HorizontalNavigation.js.map +1 -1
- package/mobile/dist/components/Footer/HorizontalNavigationLink.d.ts +8 -0
- package/mobile/dist/components/Footer/HorizontalNavigationLink.js +6 -0
- package/mobile/dist/components/Footer/HorizontalNavigationLink.js.map +1 -0
- package/mobile/dist/components/Footer/MediaButton.js +2 -1
- package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
- package/mobile/dist/components/Footer/TextInformation.js +2 -2
- package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
- package/mobile/dist/components/Footer/TextInformationLink.d.ts +8 -0
- package/mobile/dist/components/Footer/TextInformationLink.js +6 -0
- package/mobile/dist/components/Footer/TextInformationLink.js.map +1 -0
- package/mobile/dist/components/Gallery/Gallery.js +2 -1
- package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
- package/mobile/dist/components/GracePeriod/GracePeriodContent.d.ts +2 -2
- package/mobile/dist/components/GroupBlock/GroupBlock.js +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlock.js.map +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlockTabs.d.ts +2 -3
- package/mobile/dist/components/GroupBlock/GroupBlockTabs.js +10 -8
- package/mobile/dist/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlocksItem.d.ts +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlocksItem.js +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlocksItem.js.map +1 -1
- package/mobile/dist/components/GroupBlock/renderBlocksTypes.js +4 -2
- package/mobile/dist/components/GroupBlock/renderBlocksTypes.js.map +1 -1
- package/mobile/dist/components/Header/DropdownMenu.d.ts +1 -0
- package/mobile/dist/components/Header/DropdownMenu.js +6 -3
- package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/Headline/Headline.js +1 -1
- package/mobile/dist/components/Headline/Headline.js.map +1 -1
- package/mobile/dist/components/Headline/HeadlineContent.d.ts +2 -4
- package/mobile/dist/components/Headline/constants.d.ts +9 -0
- package/mobile/dist/components/Headline/constants.js +33 -1
- package/mobile/dist/components/Headline/constants.js.map +1 -1
- package/mobile/dist/components/Insurance/Insurance.js +5 -5
- package/mobile/dist/components/Insurance/Insurance.js.map +1 -1
- package/mobile/dist/components/Insurance/InsuranceContent.d.ts +2 -5
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +6 -7
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +2 -2
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +18 -16
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocs.js +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +3 -6
- package/mobile/dist/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/mobile/dist/components/MobileAppTile/MobileAppTileContent.d.ts +2 -3
- package/mobile/dist/components/NavigatorTabs/NavigatorTabItem.d.ts +1 -1
- package/mobile/dist/components/NavigatorTabs/NavigatorTabItem.js +3 -3
- package/mobile/dist/components/NavigatorTabs/NavigatorTabItem.js.map +1 -1
- package/mobile/dist/components/OtherProducts/OtherProductsItem.js +1 -1
- package/mobile/dist/components/OtherProducts/OtherProductsItem.js.map +1 -1
- package/mobile/dist/components/PictureText/PictureTextContent.d.ts +2 -2
- package/mobile/dist/components/Placeholder/Placeholder.js +2 -4
- package/mobile/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/mobile/dist/components/Placeholder/PlaceholderContent.d.ts +2 -3
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +4 -5
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js +3 -4
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/dist/components/ProductBlock/renderBackwardButton.js +2 -1
- package/mobile/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.js +1 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/dist/components/ProductGallery/ProductGalleryBlock.d.ts +3 -3
- package/mobile/dist/components/ProductGallery/ProductGalleryBlock.js +2 -2
- package/mobile/dist/components/ProductGallery/ProductGalleryBlock.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js +4 -5
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +2 -3
- package/mobile/dist/components/PromoTile/PromoTile.js +2 -2
- package/mobile/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/mobile/dist/components/PromoTile/PromoTileContent.d.ts +3 -3
- package/mobile/dist/components/Recommendation/RecommendationContent.d.ts +4 -4
- package/mobile/dist/components/StepsBlock/StepsBlock.js +2 -2
- package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -0
- package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js +3 -1
- package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTable.js +3 -2
- package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +3 -4
- package/mobile/dist/components/TextBlock/TextBlock.js +2 -1
- package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
- package/mobile/dist/components/Tile/Tile.js +4 -3
- package/mobile/dist/components/Tile/Tile.js.map +1 -1
- package/mobile/dist/components/Tile/TileContent.d.ts +3 -3
- package/mobile/dist/content-page-repository/transformPicture.js +7 -3
- package/mobile/dist/content-page-repository/transformPicture.js.map +1 -1
- package/mobile/dist/hooks/useExchangeRates.js +5 -7
- package/mobile/dist/hooks/useExchangeRates.js.map +1 -1
- package/mobile/dist/hooks/useLink.d.ts +3 -1
- package/mobile/dist/hooks/useLink.js +1 -1
- package/mobile/dist/hooks/useLink.js.map +1 -1
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +2 -0
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/HeadlineType.d.ts +17 -0
- package/{dist/ui-kit/Description/DescriptionContent.js → mobile/dist/model/HeadlineType.js} +1 -1
- package/mobile/dist/model/HeadlineType.js.map +1 -0
- package/mobile/dist/model/Picture.d.ts +4 -3
- package/mobile/dist/model/VNode.d.ts +1 -1
- package/mobile/dist/services/sitemap/findActiveSubItem.d.ts +1 -1
- package/mobile/dist/services/sitemap/findActiveSubItem.js +2 -3
- package/mobile/dist/services/sitemap/findActiveSubItem.js.map +1 -1
- package/mobile/dist/types.d.ts +0 -1
- package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js +4 -2
- package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
- package/mobile/dist/ui-kit/Breadcrumb.d.ts +1 -1
- package/mobile/dist/ui-kit/Button/Button.js +1 -1
- package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonInner.js +2 -2
- package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +3 -1
- package/mobile/dist/ui-kit/Button/ButtonSection.js +2 -2
- package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/dist/ui-kit/Button/LikeButton.d.ts +1 -1
- package/mobile/dist/ui-kit/Button/renderArrows.d.ts +2 -4
- package/mobile/dist/ui-kit/Button/renderArrows.js.map +1 -1
- package/mobile/dist/ui-kit/Checkbox/Checkbox.js +5 -2
- package/mobile/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/mobile/dist/ui-kit/Checkbox/CheckboxProps.d.ts +2 -1
- package/mobile/dist/ui-kit/Description/Description.d.ts +2 -2
- package/mobile/dist/ui-kit/Description/Description.js +1 -1
- package/mobile/dist/ui-kit/Description/Description.js.map +1 -1
- package/mobile/dist/ui-kit/Foldable/Foldable.js +4 -2
- package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/dist/ui-kit/Foldable/useActiveHandler.d.ts +1 -1
- package/mobile/dist/ui-kit/Foldable/useActiveHandler.js.map +1 -1
- package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js +4 -4
- package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/mobile/dist/ui-kit/Heading/Heading.d.ts +1 -5
- package/mobile/dist/ui-kit/Heading/Heading.js +2 -5
- package/mobile/dist/ui-kit/Heading/Heading.js.map +1 -1
- package/mobile/dist/ui-kit/Heading/HeadingProps.d.ts +20 -0
- package/mobile/dist/ui-kit/{Description/DescriptionContent.js → Heading/HeadingProps.js} +1 -1
- package/mobile/dist/ui-kit/Heading/HeadingProps.js.map +1 -0
- package/mobile/dist/ui-kit/Img/Img.d.ts +0 -3
- package/mobile/dist/ui-kit/Img/Img.js +4 -31
- package/mobile/dist/ui-kit/Img/Img.js.map +1 -1
- package/mobile/dist/ui-kit/Img/ImgAsPicture.d.ts +4 -0
- package/mobile/dist/ui-kit/Img/ImgAsPicture.js +32 -0
- package/mobile/dist/ui-kit/Img/ImgAsPicture.js.map +1 -0
- package/mobile/dist/ui-kit/Img/ImgInner.d.ts +2 -0
- package/mobile/dist/ui-kit/Img/ImgInner.js +19 -0
- package/mobile/dist/ui-kit/Img/ImgInner.js.map +1 -0
- package/mobile/dist/ui-kit/Img/ImgProps.d.ts +1 -0
- package/mobile/dist/ui-kit/InputRange/InputRangeProps.d.ts +1 -2
- package/mobile/dist/ui-kit/Logo/Logo.js +2 -9
- package/mobile/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +12 -0
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +9 -0
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/mobile/dist/ui-kit/SVG.d.ts +2 -2
- package/mobile/dist/ui-kit/SearchBar/SearchBar.js +3 -7
- package/mobile/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/mobile/dist/ui-kit/SearchBar/SearchBarInner.d.ts +5 -0
- package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js +24 -0
- package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -0
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +2 -3
- package/mobile/dist/ui-kit/Tabs/TabsProps.d.ts +1 -2
- package/mobile/dist/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/mobile/dist/utils/url.d.ts +1 -0
- package/mobile/dist/utils/url.js +3 -1
- package/mobile/dist/utils/url.js.map +1 -1
- package/mobile/lib/components/Accordion/useActiveHandler.d.ts +1 -1
- package/mobile/lib/components/Accordion/useActiveHandler.js +4 -4
- package/mobile/lib/components/Accordion/useActiveHandler.js.map +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/components/BaseTile/BaseTileProps.d.ts +7 -26
- package/mobile/lib/components/BaseTile/getTileHeadingType.d.ts +1 -1
- package/mobile/lib/components/BaseTile/getTileHeadingType.js +3 -3
- package/mobile/lib/components/BaseTile/getTileHeadingType.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/mobile/lib/components/Bonus/BonusContent.d.ts +2 -3
- package/mobile/lib/components/Calculator/BonusCalculatorForm.d.ts +3 -3
- package/mobile/lib/components/Calculator/BonusCalculatorForm.js +23 -29
- package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/Calculator.js +7 -7
- package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
- package/mobile/lib/components/Calculator/CalculatorContent.d.ts +14 -4
- package/mobile/lib/components/Calculator/CreditCalculatorForm.d.ts +4 -2
- package/mobile/lib/components/Calculator/CreditCalculatorForm.js +38 -41
- package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/DepositCalculatorForm.js +15 -29
- package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +4 -4
- package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js +2 -2
- package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/mobile/lib/components/Calculator/MortgageCalculatorForm.js +14 -28
- package/mobile/lib/components/Calculator/MortgageCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/Rate.d.ts +7 -0
- package/mobile/lib/components/Calculator/Rate.js +4 -0
- package/mobile/lib/components/Calculator/Rate.js.map +1 -0
- package/mobile/lib/components/Calculator/constants.d.ts +13 -4
- package/mobile/lib/components/Calculator/constants.js +33 -4
- package/mobile/lib/components/Calculator/constants.js.map +1 -1
- package/mobile/lib/components/Calculator/getBonus.d.ts +2 -0
- package/mobile/lib/components/Calculator/getBonus.js +13 -0
- package/mobile/lib/components/Calculator/getBonus.js.map +1 -0
- package/mobile/lib/components/Calculator/getDefaultMonths.d.ts +1 -2
- package/mobile/lib/components/Calculator/getDefaultMonths.js +1 -4
- package/mobile/lib/components/Calculator/getDefaultMonths.js.map +1 -1
- package/mobile/lib/components/Calculator/getDefaultSum.d.ts +1 -2
- package/mobile/lib/components/Calculator/getDefaultSum.js +1 -3
- package/mobile/lib/components/Calculator/getDefaultSum.js.map +1 -1
- package/mobile/lib/components/Calculator/getMonthlyPayment.d.ts +6 -11
- package/mobile/lib/components/Calculator/getMonthlyPayment.js +11 -12
- package/mobile/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/mobile/lib/components/Calculator/renderCalculatorBlock.d.ts +1 -1
- package/mobile/lib/components/Calculator/renderCalculatorBlock.js +3 -3
- package/mobile/lib/components/Calculator/renderCalculatorBlock.js.map +1 -1
- package/mobile/lib/components/Calculator/renderInitialFeeInput.d.ts +3 -8
- package/mobile/lib/components/Calculator/renderInitialFeeInput.js +7 -6
- package/mobile/lib/components/Calculator/renderInitialFeeInput.js.map +1 -1
- package/mobile/lib/components/Calculator/renderMonthsInput.d.ts +3 -7
- package/mobile/lib/components/Calculator/renderMonthsInput.js +4 -3
- package/mobile/lib/components/Calculator/renderMonthsInput.js.map +1 -1
- package/mobile/lib/components/Calculator/renderPaymentTypeSelector.d.ts +5 -0
- package/mobile/lib/components/Calculator/renderPaymentTypeSelector.js +6 -0
- package/mobile/lib/components/Calculator/renderPaymentTypeSelector.js.map +1 -0
- package/mobile/lib/components/Calculator/renderRealEstateValue.d.ts +2 -7
- package/mobile/lib/components/Calculator/renderRealEstateValue.js +6 -5
- package/mobile/lib/components/Calculator/renderRealEstateValue.js.map +1 -1
- package/mobile/lib/components/Calculator/renderWantedSumInput.d.ts +6 -9
- package/mobile/lib/components/Calculator/renderWantedSumInput.js +5 -7
- package/mobile/lib/components/Calculator/renderWantedSumInput.js.map +1 -1
- package/mobile/lib/components/Calculator/useBonusCalculatorParams.d.ts +37 -0
- package/mobile/lib/components/Calculator/useBonusCalculatorParams.js +15 -0
- package/mobile/lib/components/Calculator/useBonusCalculatorParams.js.map +1 -0
- package/mobile/lib/components/Calculator/useCalculatorParams.d.ts +2 -0
- package/mobile/lib/components/Calculator/useCalculatorParams.js +9 -0
- package/mobile/lib/components/Calculator/useCalculatorParams.js.map +1 -0
- package/mobile/lib/components/Calculator/useCreditCalculatorParams.d.ts +28 -0
- package/mobile/lib/components/Calculator/useCreditCalculatorParams.js +23 -0
- package/mobile/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -0
- package/mobile/lib/components/Catalog/CatalogContent.d.ts +3 -4
- package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +4 -4
- package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/mobile/lib/components/ContentPage/ContentPageContext.d.ts +1 -2
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +2 -2
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -0
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +3 -3
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +2 -3
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +2 -0
- package/mobile/lib/components/ExchangeRateTile/renderButton.d.ts +1 -1
- package/mobile/lib/components/ExchangeRateTile/renderButton.js +2 -2
- package/mobile/lib/components/ExchangeRateTile/renderButton.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/renderInput.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
- package/mobile/lib/components/Footer/HorizontalNavigation.js +2 -2
- package/mobile/lib/components/Footer/HorizontalNavigation.js.map +1 -1
- package/mobile/lib/components/Footer/HorizontalNavigationLink.d.ts +8 -0
- package/mobile/lib/components/Footer/HorizontalNavigationLink.js +4 -0
- package/mobile/lib/components/Footer/HorizontalNavigationLink.js.map +1 -0
- package/mobile/lib/components/Footer/MediaButton.js +2 -1
- package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
- package/mobile/lib/components/Footer/TextInformation.js +2 -2
- package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
- package/mobile/lib/components/Footer/TextInformationLink.d.ts +8 -0
- package/mobile/lib/components/Footer/TextInformationLink.js +4 -0
- package/mobile/lib/components/Footer/TextInformationLink.js.map +1 -0
- package/mobile/lib/components/Gallery/Gallery.js +2 -1
- package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
- package/mobile/lib/components/GracePeriod/GracePeriodContent.d.ts +2 -2
- package/mobile/lib/components/GroupBlock/GroupBlock.js +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlock.js.map +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlockTabs.d.ts +2 -3
- package/mobile/lib/components/GroupBlock/GroupBlockTabs.js +10 -8
- package/mobile/lib/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlocksItem.d.ts +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlocksItem.js +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlocksItem.js.map +1 -1
- package/mobile/lib/components/GroupBlock/renderBlocksTypes.js +4 -2
- package/mobile/lib/components/GroupBlock/renderBlocksTypes.js.map +1 -1
- package/mobile/lib/components/Header/DropdownMenu.d.ts +1 -0
- package/mobile/lib/components/Header/DropdownMenu.js +6 -3
- package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/Headline/Headline.js +1 -1
- package/mobile/lib/components/Headline/Headline.js.map +1 -1
- package/mobile/lib/components/Headline/HeadlineContent.d.ts +2 -4
- package/mobile/lib/components/Headline/constants.d.ts +9 -0
- package/mobile/lib/components/Headline/constants.js +32 -0
- package/mobile/lib/components/Headline/constants.js.map +1 -1
- package/mobile/lib/components/Insurance/Insurance.js +5 -5
- package/mobile/lib/components/Insurance/Insurance.js.map +1 -1
- package/mobile/lib/components/Insurance/InsuranceContent.d.ts +2 -5
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +6 -7
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockContent.d.ts +2 -2
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +18 -16
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocs.js +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +3 -6
- package/mobile/lib/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/mobile/lib/components/MobileAppTile/MobileAppTileContent.d.ts +2 -3
- package/mobile/lib/components/NavigatorTabs/NavigatorTabItem.d.ts +1 -1
- package/mobile/lib/components/NavigatorTabs/NavigatorTabItem.js +3 -3
- package/mobile/lib/components/NavigatorTabs/NavigatorTabItem.js.map +1 -1
- package/mobile/lib/components/OtherProducts/OtherProductsItem.js +1 -1
- package/mobile/lib/components/OtherProducts/OtherProductsItem.js.map +1 -1
- package/mobile/lib/components/PictureText/PictureTextContent.d.ts +2 -2
- package/mobile/lib/components/Placeholder/Placeholder.js +2 -4
- package/mobile/lib/components/Placeholder/Placeholder.js.map +1 -1
- package/mobile/lib/components/Placeholder/PlaceholderContent.d.ts +2 -3
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +4 -5
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js +3 -4
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/lib/components/ProductBlock/renderBackwardButton.js +2 -1
- package/mobile/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.js +1 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/lib/components/ProductGallery/ProductGalleryBlock.d.ts +3 -3
- package/mobile/lib/components/ProductGallery/ProductGalleryBlock.js +2 -2
- package/mobile/lib/components/ProductGallery/ProductGalleryBlock.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js +4 -5
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +2 -3
- package/mobile/lib/components/PromoTile/PromoTile.js +2 -2
- package/mobile/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/mobile/lib/components/PromoTile/PromoTileContent.d.ts +3 -3
- package/mobile/lib/components/Recommendation/RecommendationContent.d.ts +4 -4
- package/mobile/lib/components/StepsBlock/StepsBlock.js +2 -2
- package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -0
- package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js +3 -1
- package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTable.js +3 -2
- package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +3 -4
- package/mobile/lib/components/TextBlock/TextBlock.js +2 -1
- package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
- package/mobile/lib/components/Tile/Tile.js +4 -3
- package/mobile/lib/components/Tile/Tile.js.map +1 -1
- package/mobile/lib/components/Tile/TileContent.d.ts +3 -3
- package/mobile/lib/content-page-repository/transformPicture.js +7 -3
- package/mobile/lib/content-page-repository/transformPicture.js.map +1 -1
- package/mobile/lib/hooks/useExchangeRates.js +5 -7
- package/mobile/lib/hooks/useExchangeRates.js.map +1 -1
- package/mobile/lib/hooks/useLink.d.ts +3 -1
- package/mobile/lib/hooks/useLink.js +1 -1
- package/mobile/lib/hooks/useLink.js.map +1 -1
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +2 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/HeadlineType.d.ts +17 -0
- package/mobile/lib/model/HeadlineType.js +2 -0
- package/mobile/lib/model/HeadlineType.js.map +1 -0
- package/mobile/lib/model/Picture.d.ts +4 -3
- package/mobile/lib/model/VNode.d.ts +1 -1
- package/mobile/lib/services/sitemap/findActiveSubItem.d.ts +1 -1
- package/mobile/lib/services/sitemap/findActiveSubItem.js +2 -3
- package/mobile/lib/services/sitemap/findActiveSubItem.js.map +1 -1
- package/mobile/lib/types.d.ts +0 -1
- package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js +4 -2
- package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
- package/mobile/lib/ui-kit/Breadcrumb.d.ts +1 -1
- package/mobile/lib/ui-kit/Button/Button.js +1 -1
- package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonInner.js +2 -2
- package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +3 -1
- package/mobile/lib/ui-kit/Button/ButtonSection.js +2 -2
- package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/lib/ui-kit/Button/LikeButton.d.ts +1 -1
- package/mobile/lib/ui-kit/Button/renderArrows.d.ts +2 -4
- package/mobile/lib/ui-kit/Button/renderArrows.js.map +1 -1
- package/mobile/lib/ui-kit/Checkbox/Checkbox.js +5 -2
- package/mobile/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/mobile/lib/ui-kit/Checkbox/CheckboxProps.d.ts +2 -1
- package/mobile/lib/ui-kit/Description/Description.d.ts +2 -2
- package/mobile/lib/ui-kit/Description/Description.js +1 -1
- package/mobile/lib/ui-kit/Description/Description.js.map +1 -1
- package/mobile/lib/ui-kit/Foldable/Foldable.js +4 -2
- package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/lib/ui-kit/Foldable/useActiveHandler.d.ts +1 -1
- package/mobile/lib/ui-kit/Foldable/useActiveHandler.js.map +1 -1
- package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js +4 -4
- package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/mobile/lib/ui-kit/Heading/Heading.d.ts +1 -5
- package/mobile/lib/ui-kit/Heading/Heading.js +2 -5
- package/mobile/lib/ui-kit/Heading/Heading.js.map +1 -1
- package/mobile/lib/ui-kit/Heading/HeadingProps.d.ts +20 -0
- package/mobile/lib/ui-kit/Heading/HeadingProps.js +2 -0
- package/mobile/lib/ui-kit/Heading/HeadingProps.js.map +1 -0
- package/mobile/lib/ui-kit/Img/Img.d.ts +0 -3
- package/mobile/lib/ui-kit/Img/Img.js +4 -30
- package/mobile/lib/ui-kit/Img/Img.js.map +1 -1
- package/mobile/lib/ui-kit/Img/ImgAsPicture.d.ts +4 -0
- package/mobile/lib/ui-kit/Img/ImgAsPicture.js +29 -0
- package/mobile/lib/ui-kit/Img/ImgAsPicture.js.map +1 -0
- package/mobile/lib/ui-kit/Img/ImgInner.d.ts +2 -0
- package/mobile/lib/ui-kit/Img/ImgInner.js +17 -0
- package/mobile/lib/ui-kit/Img/ImgInner.js.map +1 -0
- package/mobile/lib/ui-kit/Img/ImgProps.d.ts +1 -0
- package/mobile/lib/ui-kit/InputRange/InputRangeProps.d.ts +1 -2
- package/mobile/lib/ui-kit/Logo/Logo.js +2 -9
- package/mobile/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +12 -0
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +7 -0
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/mobile/lib/ui-kit/SVG.d.ts +2 -2
- package/mobile/lib/ui-kit/SearchBar/SearchBar.js +4 -8
- package/mobile/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/mobile/lib/ui-kit/SearchBar/SearchBarInner.d.ts +5 -0
- package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js +22 -0
- package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -0
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +2 -3
- package/mobile/lib/ui-kit/Tabs/TabsProps.d.ts +1 -2
- package/mobile/lib/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/mobile/lib/utils/url.d.ts +1 -0
- package/mobile/lib/utils/url.js +1 -0
- package/mobile/lib/utils/url.js.map +1 -1
- package/mobile/src/components/Accordion/useActiveHandler.ts +5 -5
- package/mobile/src/components/BaseTile/BaseTile.tsx +1 -1
- package/mobile/src/components/BaseTile/BaseTileProps.ts +7 -30
- package/mobile/src/components/BaseTile/getTileHeadingType.ts +3 -3
- package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +8 -9
- package/mobile/src/components/Blocks.spec.tsx +74 -0
- package/mobile/src/components/Bonus/BonusContent.ts +5 -7
- package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +43 -51
- package/mobile/src/components/Calculator/Calculator.tsx +10 -10
- package/mobile/src/components/Calculator/CalculatorContent.ts +14 -4
- package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +62 -62
- package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +34 -35
- package/mobile/src/components/Calculator/EmbeddableCalcBlocks.tsx +3 -3
- package/mobile/src/components/Calculator/MortgageCalculatorForm.tsx +29 -37
- package/mobile/src/components/Calculator/Rate.tsx +22 -0
- package/mobile/src/components/Calculator/constants.ts +41 -4
- package/mobile/src/components/Calculator/getBonus.ts +38 -0
- package/mobile/src/components/Calculator/getDefaultMonths.ts +2 -7
- package/mobile/src/components/Calculator/getDefaultSum.ts +2 -5
- package/mobile/src/components/Calculator/getMonthlyPayment.ts +12 -28
- package/mobile/src/components/Calculator/renderCalculatorBlock.tsx +4 -4
- package/mobile/src/components/Calculator/renderInitialFeeInput.tsx +10 -14
- package/mobile/src/components/Calculator/renderMonthsInput.tsx +7 -10
- package/mobile/src/components/Calculator/renderPaymentTypeSelector.tsx +12 -0
- package/mobile/src/components/Calculator/renderRealEstateValue.tsx +9 -13
- package/mobile/src/components/Calculator/renderWantedSumInput.tsx +12 -26
- package/mobile/src/components/Calculator/useBonusCalculatorParams.ts +55 -0
- package/mobile/src/components/Calculator/useCalculatorParams.ts +16 -0
- package/mobile/src/components/Calculator/useCreditCalculatorParams.ts +70 -0
- package/mobile/src/components/Catalog/CatalogContent.ts +6 -8
- package/mobile/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +6 -6
- package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +2 -2
- package/mobile/src/components/ContentPage/ContentPageContext.tsx +1 -2
- package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +5 -9
- package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +6 -4
- package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +10 -8
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.example.json +8 -0
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +6 -12
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +3 -0
- package/mobile/src/components/ExchangeRateTile/renderButton.tsx +3 -8
- package/mobile/src/components/ExchangeRateTile/renderInput.tsx +2 -2
- package/mobile/src/components/Footer/HorizontalNavigation.tsx +2 -20
- package/mobile/src/components/Footer/HorizontalNavigationLink.tsx +21 -0
- package/mobile/src/components/Footer/MediaButton.tsx +2 -7
- package/mobile/src/components/Footer/TextInformation.tsx +2 -22
- package/mobile/src/components/Footer/TextInformationLink.tsx +21 -0
- package/mobile/src/components/Gallery/Gallery.tsx +3 -5
- package/mobile/src/components/GracePeriod/GracePeriodContent.ts +2 -2
- package/mobile/src/components/GroupBlock/GroupBlock.tsx +5 -3
- package/mobile/src/components/GroupBlock/GroupBlockTabs.tsx +24 -25
- package/mobile/src/components/GroupBlock/GroupBlocksItem.tsx +3 -3
- package/mobile/src/components/GroupBlock/renderBlocksTypes.tsx +6 -3
- package/mobile/src/components/Header/DropdownMenu.tsx +23 -10
- package/mobile/src/components/Header/HeaderSubMenu.tsx +2 -1
- package/mobile/src/components/Headline/Headline.example.json +1 -0
- package/mobile/src/components/Headline/Headline.tsx +1 -1
- package/mobile/src/components/Headline/HeadlineContent.ts +2 -5
- package/mobile/src/components/Headline/constants.ts +42 -0
- package/mobile/src/components/Insurance/Insurance.tsx +15 -10
- package/mobile/src/components/Insurance/InsuranceContent.ts +2 -5
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +45 -9
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +22 -27
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +2 -2
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +15 -10
- package/mobile/src/components/LinkDocs/LinkDocs.example.json +1 -0
- package/mobile/src/components/LinkDocs/LinkDocs.tsx +0 -1
- package/mobile/src/components/LinkDocs/LinkDocsContent.ts +3 -6
- package/mobile/src/components/LinkDocs/LinkDocsHorizontalList.tsx +1 -1
- package/mobile/src/components/LinkDocs/LinkDocsVerticalList.tsx +1 -3
- package/mobile/src/components/MobileAppTile/MobileAppTileContent.ts +2 -4
- package/mobile/src/components/NavigatorTabs/NavigatorTabItem.tsx +4 -4
- package/mobile/src/components/OtherProducts/OtherProductsItem.tsx +2 -2
- package/mobile/src/components/PictureText/PictureTextContent.ts +2 -2
- package/mobile/src/components/Placeholder/Placeholder.tsx +8 -19
- package/mobile/src/components/Placeholder/PlaceholderContent.ts +2 -3
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +4 -7
- package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +10 -21
- package/mobile/src/components/ProductBlock/renderBackwardButton.tsx +6 -3
- package/mobile/src/components/ProductBlock/renderBenefit.tsx +2 -6
- package/mobile/src/components/ProductGallery/ProductGalleryBlock.tsx +6 -5
- package/mobile/src/components/ProductTile/ProductTile.example.json +1 -1
- package/mobile/src/components/ProductTile/ProductTile.tsx +10 -15
- package/mobile/src/components/ProductTile/ProductTileContent.ts +2 -5
- package/mobile/src/components/PromoTile/PromoTile.tsx +10 -6
- package/mobile/src/components/PromoTile/PromoTileContent.ts +4 -4
- package/mobile/src/components/Recommendation/RecommendationContent.ts +4 -8
- package/mobile/src/components/StepsBlock/StepsBlock.tsx +3 -9
- package/mobile/src/components/StepsBlock/StepsBlockStyleMaps.ts +4 -1
- package/mobile/src/components/TariffsTable/TariffsTable.tsx +4 -7
- package/mobile/src/components/TariffsTable/TariffsTableContent.ts +12 -14
- package/mobile/src/components/TextBlock/TextBlock.tsx +2 -1
- package/mobile/src/components/Tile/Tile.example.json +0 -1
- package/mobile/src/components/Tile/Tile.tsx +9 -10
- package/mobile/src/components/Tile/TileContent.ts +4 -5
- package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +755 -0
- package/mobile/src/content-page-repository/transformPicture.ts +7 -5
- package/mobile/src/hooks/useExchangeRates.ts +6 -7
- package/mobile/src/hooks/useLink.ts +2 -2
- package/mobile/src/icons/IconName.ts +4 -4
- package/mobile/src/icons/Logo.svg +7 -0
- package/mobile/src/model/HeadlineType.ts +21 -0
- package/mobile/src/model/Picture.ts +5 -3
- package/mobile/src/model/VNode.ts +1 -1
- package/mobile/src/services/sitemap/findActiveSubItem.ts +4 -5
- package/mobile/src/types.ts +0 -2
- package/mobile/src/ui-kit/BlocksList/renderBlocksList.tsx +6 -3
- package/mobile/src/ui-kit/Breadcrumb.tsx +1 -1
- package/mobile/src/ui-kit/Button/Button.tsx +2 -2
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +3 -3
- package/mobile/src/ui-kit/Button/ButtonProps.ts +1 -1
- package/mobile/src/ui-kit/Button/ButtonSection.tsx +2 -2
- package/mobile/src/ui-kit/Button/LikeButton.tsx +1 -1
- package/mobile/src/ui-kit/Button/renderArrows.tsx +2 -3
- package/mobile/src/ui-kit/Checkbox/Checkbox.tsx +18 -13
- package/mobile/src/ui-kit/Checkbox/CheckboxProps.ts +2 -1
- package/mobile/src/ui-kit/Description/Description.tsx +3 -3
- package/mobile/src/ui-kit/Foldable/Foldable.tsx +7 -5
- package/mobile/src/ui-kit/Foldable/useActiveHandler.ts +1 -1
- package/mobile/src/ui-kit/HeaderItem/HeaderItem.tsx +4 -6
- package/mobile/src/ui-kit/Heading/Heading.tsx +3 -13
- package/mobile/src/ui-kit/Heading/HeadingProps.ts +24 -0
- package/mobile/src/ui-kit/Img/Img.tsx +4 -71
- package/mobile/src/ui-kit/Img/ImgAsPicture.tsx +60 -0
- package/mobile/src/ui-kit/Img/ImgInner.tsx +37 -0
- package/mobile/src/ui-kit/Img/ImgProps.ts +1 -0
- package/mobile/src/ui-kit/InputRange/InputRangeProps.ts +1 -3
- package/mobile/src/ui-kit/Logo/Logo.tsx +2 -13
- package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +32 -0
- package/mobile/src/ui-kit/SVG.tsx +2 -2
- package/mobile/src/ui-kit/SearchBar/SearchBar.tsx +3 -41
- package/mobile/src/ui-kit/SearchBar/SearchBarInner.tsx +72 -0
- package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +2 -4
- package/mobile/src/ui-kit/Tabs/TabsProps.ts +1 -2
- package/mobile/src/ui-kit/TopItem/TopItem.tsx +1 -1
- package/mobile/src/utils/url.ts +2 -0
- package/package.json +4 -1
- package/src/components/Accordion/useActiveHandler.ts +5 -5
- package/src/components/BaseTile/BaseTile.tsx +1 -1
- package/src/components/BaseTile/BaseTileProps.ts +7 -30
- package/src/components/BaseTile/getTileHeadingType.ts +3 -3
- package/src/components/BenefitsBlock/BenefitsBlockContent.ts +8 -9
- package/src/components/Blocks.spec.tsx +74 -0
- package/src/components/Bonus/BonusContent.ts +5 -7
- package/src/components/Calculator/BonusCalculatorForm.tsx +43 -51
- package/src/components/Calculator/Calculator.fixture.tsx +2 -14
- package/src/components/Calculator/Calculator.tsx +10 -10
- package/src/components/Calculator/CalculatorContent.ts +14 -4
- package/src/components/Calculator/CreditCalculatorForm.tsx +62 -62
- package/src/components/Calculator/DepositCalculatorForm.tsx +34 -35
- package/src/components/Calculator/EmbeddableCalcBlocks.tsx +3 -3
- package/src/components/Calculator/MortgageCalculatorForm.tsx +29 -37
- package/src/components/Calculator/Rate.tsx +22 -0
- package/src/components/Calculator/constants.ts +41 -4
- package/src/components/Calculator/getBonus.ts +38 -0
- package/src/components/Calculator/getDefaultMonths.ts +2 -7
- package/src/components/Calculator/getDefaultSum.ts +2 -5
- package/src/components/Calculator/getMonthlyPayment.ts +12 -28
- package/src/components/Calculator/renderCalculatorBlock.tsx +4 -4
- package/src/components/Calculator/renderInitialFeeInput.tsx +10 -14
- package/src/components/Calculator/renderMonthsInput.tsx +7 -10
- package/src/components/Calculator/renderPaymentTypeSelector.tsx +12 -0
- package/src/components/Calculator/renderRealEstateValue.tsx +9 -13
- package/src/components/Calculator/renderWantedSumInput.tsx +12 -26
- package/src/components/Calculator/useBonusCalculatorParams.ts +55 -0
- package/src/components/Calculator/useCalculatorParams.ts +16 -0
- package/src/components/Calculator/useCreditCalculatorParams.ts +70 -0
- package/src/components/Catalog/CatalogContent.ts +6 -8
- package/src/components/ComparisonTable/ComparisonTable.tsx +4 -6
- package/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +6 -6
- package/src/components/ComparisonTable/ComparisonTableRows.tsx +2 -2
- package/src/components/ComparisonTable/HeaderCell.tsx +0 -1
- package/src/components/ContentPage/ContentPageContext.tsx +1 -2
- package/src/components/ExchangeRateTile/CurrencyTable.tsx +5 -9
- package/src/components/ExchangeRateTile/CurrentLocation.tsx +6 -4
- package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +10 -8
- package/src/components/ExchangeRateTile/ExchangeRateTile.example.json +8 -0
- package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.tsx +9 -1
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +6 -12
- package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +3 -0
- package/src/components/ExchangeRateTile/renderButton.tsx +3 -8
- package/src/components/ExchangeRateTile/renderInput.tsx +2 -2
- package/src/components/Footer/HorizontalNavigation.mobile.tsx +2 -20
- package/src/components/Footer/HorizontalNavigation.tsx +2 -20
- package/src/components/Footer/HorizontalNavigationLink.tsx +21 -0
- package/src/components/Footer/MediaButton.tsx +2 -7
- package/src/components/Footer/TextInformation.mobile.tsx +2 -22
- package/src/components/Footer/TextInformation.tsx +2 -22
- package/src/components/Footer/TextInformationLink.tsx +21 -0
- package/src/components/Gallery/Gallery.mobile.tsx +3 -5
- package/src/components/GracePeriod/GracePeriodContent.ts +2 -2
- package/src/components/GroupBlock/GroupBlock.tsx +5 -3
- package/src/components/GroupBlock/GroupBlockTabs.tsx +24 -25
- package/src/components/GroupBlock/GroupBlocksItem.tsx +3 -3
- package/src/components/GroupBlock/renderBlocksTypes.tsx +6 -3
- package/src/components/Header/DropdownMenu.tsx +23 -10
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/Header/HeaderSubMenu.tsx +2 -1
- package/src/components/Headline/Headline.example.json +1 -0
- package/src/components/Headline/Headline.fixture.tsx +25 -0
- package/src/components/Headline/Headline.mobile.tsx +1 -1
- package/src/components/Headline/Headline.tsx +13 -7
- package/src/components/Headline/HeadlineContent.ts +2 -5
- package/src/components/Headline/constants.ts +42 -0
- package/src/components/Insurance/Insurance.tsx +15 -10
- package/src/components/Insurance/InsuranceContent.ts +2 -5
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +45 -9
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.fixture.tsx +7 -2
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +22 -27
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockContent.ts +2 -2
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +15 -10
- package/src/components/LinkDocs/LinkDocs.example.json +1 -0
- package/src/components/LinkDocs/LinkDocs.mobile.tsx +0 -1
- package/src/components/LinkDocs/LinkDocs.tsx +5 -4
- package/src/components/LinkDocs/LinkDocsContent.ts +3 -6
- package/src/components/LinkDocs/LinkDocsHorizontalList.tsx +1 -1
- package/src/components/LinkDocs/LinkDocsVerticalList.tsx +1 -3
- package/src/components/MobileAppTile/MobileAppTile.tsx +4 -3
- package/src/components/MobileAppTile/MobileAppTileContent.ts +2 -4
- package/src/components/NavigatorTabs/NavigatorTabItem.tsx +4 -4
- package/src/components/OtherProducts/OtherProductsItem.tsx +2 -2
- package/src/components/PictureText/PictureTextContent.ts +2 -2
- package/src/components/Placeholder/Placeholder.tsx +8 -19
- package/src/components/Placeholder/PlaceholderContent.ts +2 -3
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +5 -5
- package/src/components/ProductBlock/ProductBlock.tsx +8 -2
- package/src/components/ProductBlock/ProductBlockContent.ts +4 -7
- package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +10 -21
- package/src/components/ProductBlock/ProductBlockInner.tsx +11 -26
- package/src/components/ProductBlock/renderBackwardButton.tsx +6 -3
- package/src/components/ProductBlock/renderBenefit.mobile.tsx +2 -6
- package/src/components/ProductBlock/renderBenefit.tsx +2 -4
- package/src/components/ProductGallery/ProductGallery.fixture.tsx +8 -8
- package/src/components/ProductGallery/ProductGalleryBlock.tsx +7 -12
- package/src/components/ProductTile/ProductTile.example.json +1 -1
- package/src/components/ProductTile/ProductTile.fixture.tsx +2 -6
- package/src/components/ProductTile/ProductTile.tsx +10 -15
- package/src/components/ProductTile/ProductTileContent.ts +2 -5
- package/src/components/PromoTile/PromoTile.tsx +10 -6
- package/src/components/PromoTile/PromoTileContent.ts +4 -4
- package/src/components/Recommendation/RecommendationContent.ts +4 -8
- package/src/components/StepsBlock/StepsBlock.mobile.tsx +3 -9
- package/src/components/StepsBlock/StepsBlock.tsx +22 -19
- package/src/components/StepsBlock/StepsBlockStyleMaps.ts +4 -1
- package/src/components/TariffsTable/TariffsTable.mobile.tsx +4 -7
- package/src/components/TariffsTable/TariffsTableContent.ts +12 -14
- package/src/components/TextBlock/TextBlock.mobile.tsx +2 -1
- package/src/components/TextBlock/TextBlock.tsx +1 -1
- package/src/components/Tile/Tile.example.json +0 -1
- package/src/components/Tile/Tile.tsx +9 -10
- package/src/components/Tile/TileContent.ts +4 -5
- package/src/components/__snapshots__/Blocks.spec.tsx.snap +755 -0
- package/src/content-page-repository/transformPicture.ts +7 -5
- package/src/hooks/useExchangeRates.ts +6 -7
- package/src/hooks/useLink.ts +2 -2
- package/src/icons/IconName.ts +4 -1
- package/src/icons/Logo.svg +7 -0
- package/src/model/HeadlineType.ts +21 -0
- package/src/model/Picture.ts +5 -3
- package/src/model/VNode.ts +1 -1
- package/src/services/sitemap/findActiveSubItem.ts +4 -5
- package/src/types.ts +0 -2
- package/src/ui-kit/BlocksList/renderBlocksList.tsx +6 -3
- package/src/ui-kit/Breadcrumb.tsx +1 -1
- package/src/ui-kit/Button/Button.mobile.tsx +2 -2
- package/src/ui-kit/Button/Button.tsx +2 -2
- package/src/ui-kit/Button/ButtonInner.tsx +3 -3
- package/src/ui-kit/Button/ButtonProps.ts +1 -1
- package/src/ui-kit/Button/ButtonSection.tsx +2 -2
- package/src/ui-kit/Button/LikeButton.tsx +1 -1
- package/src/ui-kit/Button/renderArrows.tsx +2 -3
- package/src/ui-kit/Checkbox/Checkbox.tsx +18 -13
- package/src/ui-kit/Checkbox/CheckboxProps.ts +2 -1
- package/src/ui-kit/Description/Description.tsx +3 -3
- package/src/ui-kit/Foldable/Foldable.tsx +7 -5
- package/src/ui-kit/Foldable/useActiveHandler.ts +1 -1
- package/src/ui-kit/HeaderItem/HeaderItem.mobile.tsx +4 -6
- package/src/ui-kit/HeaderItem/HeaderItem.tsx +2 -2
- package/src/ui-kit/Heading/Heading.mobile.tsx +3 -13
- package/src/ui-kit/Heading/Heading.tsx +9 -19
- package/src/ui-kit/Heading/HeadingProps.ts +24 -0
- package/src/ui-kit/Img/Img.mobile.tsx +4 -71
- package/src/ui-kit/Img/Img.tsx +6 -60
- package/src/ui-kit/Img/ImgAsPicture.tsx +60 -0
- package/src/ui-kit/Img/ImgInner.tsx +37 -0
- package/src/ui-kit/Img/ImgProps.ts +1 -0
- package/src/ui-kit/InputRange/InputRangeProps.ts +1 -3
- package/src/ui-kit/Logo/Logo.mobile.tsx +2 -13
- package/src/ui-kit/Logo/Logo.tsx +5 -11
- package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.fixture.tsx +26 -0
- package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +32 -0
- package/src/ui-kit/SVG.tsx +2 -2
- package/src/ui-kit/SearchBar/SearchBar.mobile.tsx +3 -41
- package/src/ui-kit/SearchBar/SearchBar.tsx +3 -43
- package/src/ui-kit/SearchBar/SearchBarInner.tsx +72 -0
- package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +2 -4
- package/src/ui-kit/Tabs/TabsProps.ts +1 -2
- package/src/ui-kit/TopItem/TopItem.tsx +1 -1
- package/src/utils/url.ts +2 -0
- package/dist/components/Calculator/getCalculatorParams.d.ts +0 -7
- package/dist/components/Calculator/getCalculatorParams.js +0 -12
- package/dist/components/Calculator/getCalculatorParams.js.map +0 -1
- package/dist/components/Calculator/renderRate.d.ts +0 -8
- package/dist/components/Calculator/renderRate.js +0 -9
- package/dist/components/Calculator/renderRate.js.map +0 -1
- package/dist/components/ProductGallery/ProductGalleryBlock.mobile.d.ts +0 -8
- package/dist/components/ProductGallery/ProductGalleryBlock.mobile.js +0 -14
- package/dist/components/ProductGallery/ProductGalleryBlock.mobile.js.map +0 -1
- package/dist/hooks/useCreditCalculatorData.d.ts +0 -2
- package/dist/hooks/useCreditCalculatorData.js +0 -15
- package/dist/hooks/useCreditCalculatorData.js.map +0 -1
- package/dist/ui-kit/Description/DescriptionContent.d.ts +0 -4
- package/dist/ui-kit/Description/DescriptionContent.js.map +0 -1
- package/dist/ui-kit/Heading/HeadingContent.d.ts +0 -15
- package/dist/ui-kit/Heading/HeadingContent.js.map +0 -1
- package/dist/ui-kit/SearchBar.mobile.d.ts +0 -2
- package/dist/ui-kit/SearchBar.mobile.js +0 -14
- package/dist/ui-kit/SearchBar.mobile.js.map +0 -1
- package/lib/components/Calculator/getCalculatorParams.d.ts +0 -7
- package/lib/components/Calculator/getCalculatorParams.js +0 -9
- package/lib/components/Calculator/getCalculatorParams.js.map +0 -1
- package/lib/components/Calculator/renderRate.d.ts +0 -8
- package/lib/components/Calculator/renderRate.js +0 -6
- package/lib/components/Calculator/renderRate.js.map +0 -1
- package/lib/components/ProductGallery/ProductGalleryBlock.mobile.d.ts +0 -8
- package/lib/components/ProductGallery/ProductGalleryBlock.mobile.js +0 -12
- package/lib/components/ProductGallery/ProductGalleryBlock.mobile.js.map +0 -1
- package/lib/hooks/useCreditCalculatorData.d.ts +0 -2
- package/lib/hooks/useCreditCalculatorData.js +0 -12
- package/lib/hooks/useCreditCalculatorData.js.map +0 -1
- package/lib/ui-kit/Description/DescriptionContent.d.ts +0 -4
- package/lib/ui-kit/Description/DescriptionContent.js +0 -2
- package/lib/ui-kit/Description/DescriptionContent.js.map +0 -1
- package/lib/ui-kit/Heading/HeadingContent.d.ts +0 -15
- package/lib/ui-kit/Heading/HeadingContent.js +0 -2
- package/lib/ui-kit/Heading/HeadingContent.js.map +0 -1
- package/lib/ui-kit/SearchBar.mobile.d.ts +0 -2
- package/lib/ui-kit/SearchBar.mobile.js +0 -12
- package/lib/ui-kit/SearchBar.mobile.js.map +0 -1
- package/mobile/dist/components/Calculator/getCalculatorParams.d.ts +0 -7
- package/mobile/dist/components/Calculator/getCalculatorParams.js +0 -12
- package/mobile/dist/components/Calculator/getCalculatorParams.js.map +0 -1
- package/mobile/dist/components/Calculator/renderRate.d.ts +0 -8
- package/mobile/dist/components/Calculator/renderRate.js +0 -9
- package/mobile/dist/components/Calculator/renderRate.js.map +0 -1
- package/mobile/dist/hooks/useCreditCalculatorData.d.ts +0 -2
- package/mobile/dist/hooks/useCreditCalculatorData.js +0 -15
- package/mobile/dist/hooks/useCreditCalculatorData.js.map +0 -1
- package/mobile/dist/ui-kit/Description/DescriptionContent.d.ts +0 -4
- package/mobile/dist/ui-kit/Description/DescriptionContent.js.map +0 -1
- package/mobile/dist/ui-kit/Heading/HeadingContent.d.ts +0 -15
- package/mobile/dist/ui-kit/Heading/HeadingContent.js.map +0 -1
- package/mobile/lib/components/Calculator/getCalculatorParams.d.ts +0 -7
- package/mobile/lib/components/Calculator/getCalculatorParams.js +0 -9
- package/mobile/lib/components/Calculator/getCalculatorParams.js.map +0 -1
- package/mobile/lib/components/Calculator/renderRate.d.ts +0 -8
- package/mobile/lib/components/Calculator/renderRate.js +0 -6
- package/mobile/lib/components/Calculator/renderRate.js.map +0 -1
- package/mobile/lib/hooks/useCreditCalculatorData.d.ts +0 -2
- package/mobile/lib/hooks/useCreditCalculatorData.js +0 -12
- package/mobile/lib/hooks/useCreditCalculatorData.js.map +0 -1
- package/mobile/lib/ui-kit/Description/DescriptionContent.d.ts +0 -4
- package/mobile/lib/ui-kit/Description/DescriptionContent.js +0 -2
- package/mobile/lib/ui-kit/Description/DescriptionContent.js.map +0 -1
- package/mobile/lib/ui-kit/Heading/HeadingContent.d.ts +0 -15
- package/mobile/lib/ui-kit/Heading/HeadingContent.js +0 -2
- package/mobile/lib/ui-kit/Heading/HeadingContent.js.map +0 -1
- package/mobile/src/components/Calculator/getCalculatorParams.ts +0 -18
- package/mobile/src/components/Calculator/renderRate.tsx +0 -22
- package/mobile/src/hooks/useCreditCalculatorData.ts +0 -20
- package/mobile/src/ui-kit/Description/DescriptionContent.ts +0 -4
- package/mobile/src/ui-kit/Heading/HeadingContent.ts +0 -17
- package/src/components/Calculator/getCalculatorParams.ts +0 -18
- package/src/components/Calculator/renderRate.tsx +0 -22
- package/src/components/ProductGallery/ProductGalleryBlock.mobile.tsx +0 -32
- package/src/hooks/useCreditCalculatorData.ts +0 -20
- package/src/ui-kit/Description/DescriptionContent.ts +0 -4
- package/src/ui-kit/Heading/HeadingContent.ts +0 -17
- package/src/ui-kit/SearchBar.mobile.tsx +0 -45
package/bundle/bundle.umd.js
CHANGED
|
@@ -200,19 +200,16 @@
|
|
|
200
200
|
});
|
|
201
201
|
|
|
202
202
|
const HEADING_STYLE_MAP = {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
203
|
+
h0: 'text-h0',
|
|
204
|
+
h1: 'text-h1',
|
|
205
|
+
h2: 'text-h2',
|
|
206
|
+
h3: 'text-h3',
|
|
207
|
+
h4: 'text-h4',
|
|
208
|
+
h5: 'text-h5',
|
|
209
|
+
h6: 'text-h6', // 20
|
|
209
210
|
};
|
|
210
211
|
const Heading = JSX((props) => {
|
|
211
|
-
const { className = '', headingType, title, as } = props;
|
|
212
|
-
if (!headingType) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
const Tag = as || headingType;
|
|
212
|
+
const { className = '', headingType = 'h3', title, as: Tag = 'h3' } = props;
|
|
216
213
|
return (jsx(Tag, { className: `font-sans m-0 ${HEADING_STYLE_MAP[headingType]} ${className}`, children: title }));
|
|
217
214
|
});
|
|
218
215
|
|
|
@@ -263,6 +260,7 @@
|
|
|
263
260
|
IconMap["InterestGrowthIcon"] = "InterestGrowthIcon";
|
|
264
261
|
IconMap["InterestIcon"] = "InterestIcon";
|
|
265
262
|
IconMap["JCBIcon"] = "JCBIcon";
|
|
263
|
+
IconMap["Logo"] = "Logo";
|
|
266
264
|
IconMap["LoupeIcon"] = "LoupeIcon";
|
|
267
265
|
IconMap["MasterCardIcon"] = "MasterCardIcon";
|
|
268
266
|
IconMap["MinusIcon"] = "MinusIcon";
|
|
@@ -345,6 +343,7 @@
|
|
|
345
343
|
IconTitleMap["InterestGrowthIcon"] = "\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430 \u0440\u043E\u0441\u0442\u0430";
|
|
346
344
|
IconTitleMap["InterestIcon"] = "\u0421\u043A\u0438\u0434\u043A\u0430";
|
|
347
345
|
IconTitleMap["JCBIcon"] = "JCB";
|
|
346
|
+
IconTitleMap["Logo"] = "Logo";
|
|
348
347
|
IconTitleMap["LoupeIcon"] = "\u041B\u0443\u043F\u0430";
|
|
349
348
|
IconTitleMap["MasterCardIcon"] = "MasterCard";
|
|
350
349
|
IconTitleMap["MinusIcon"] = "\u041C\u0438\u043D\u0443\u0441";
|
|
@@ -431,34 +430,49 @@
|
|
|
431
430
|
return typeof image === 'string' ? 'normal' : image.iconVersion || 'normal';
|
|
432
431
|
}
|
|
433
432
|
|
|
434
|
-
const
|
|
435
|
-
if (
|
|
436
|
-
return
|
|
433
|
+
const sourcesComparator = (a, b) => {
|
|
434
|
+
if (a.media && b.media) {
|
|
435
|
+
return a.media - b.media;
|
|
437
436
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
return icon.length ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: getIconVersion(image), name: icon, ...iconProps })) : null;
|
|
442
|
-
}
|
|
443
|
-
return (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image }));
|
|
444
|
-
});
|
|
445
|
-
const ImgAsPicture = JSX(({ className = '', image, imageClassName = '' }) => {
|
|
437
|
+
return 0;
|
|
438
|
+
};
|
|
439
|
+
const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', isMobile = false }) => {
|
|
446
440
|
if (!image) {
|
|
447
441
|
return null;
|
|
448
442
|
}
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
443
|
+
const pictureStyles = isMobile ? 'flex' : 'flex-none';
|
|
444
|
+
return (jsxs("picture", { className: `${pictureStyles} ${className}`, children: [image?.sources?.length
|
|
445
|
+
? image.sources
|
|
446
|
+
.sort(sourcesComparator)
|
|
447
|
+
.map(({ src, format, media, size }, index) => (jsx("source", { srcSet: src, type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...size }, `${index}_${src}`)))
|
|
448
|
+
: null, renderImg(image, imageClassName, isMobile)] }));
|
|
452
449
|
});
|
|
453
|
-
const renderImg = (image, imageClassName = '') => {
|
|
450
|
+
const renderImg = (image, imageClassName = '', isMobile = false) => {
|
|
454
451
|
const title = image.title || '';
|
|
455
452
|
const alt = image.alt || image.title;
|
|
456
|
-
|
|
453
|
+
const imgStyle = isMobile ? 'm-auto' : 'm-0';
|
|
454
|
+
return (jsx("img", { src: image.src, className: `${imgStyle} ${imageClassName}`, alt: alt, title: title, ...image.size }));
|
|
457
455
|
};
|
|
458
456
|
function formatToMimeType(format) {
|
|
459
457
|
return format ? `image/${String(format)}` : undefined;
|
|
460
458
|
}
|
|
461
459
|
|
|
460
|
+
const ImgInner = JSX(({ className = '', image, imageClassName = '', isMobile, ...iconProps }) => {
|
|
461
|
+
if (!image) {
|
|
462
|
+
return null;
|
|
463
|
+
}
|
|
464
|
+
// backwards compatibility with existing icons in usage
|
|
465
|
+
const icon = typeof image === 'string' ? image : image.icon;
|
|
466
|
+
if (icon || icon === '') {
|
|
467
|
+
return icon.length ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: getIconVersion(image), name: icon, ...iconProps })) : null;
|
|
468
|
+
}
|
|
469
|
+
return (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, isMobile: isMobile }));
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
const Img = JSX(({ className = '', imageClassName, image, ...iconProps }) => {
|
|
473
|
+
return (jsx(ImgInner, { className: className, imageClassName: imageClassName, image: image, ...iconProps }));
|
|
474
|
+
});
|
|
475
|
+
|
|
462
476
|
function style2className(style) {
|
|
463
477
|
return style ? style.filter(Boolean).join(' ') : '';
|
|
464
478
|
}
|
|
@@ -485,10 +499,48 @@
|
|
|
485
499
|
description: 'text-white/80',
|
|
486
500
|
},
|
|
487
501
|
};
|
|
502
|
+
const HEADLINE_VERSION = {
|
|
503
|
+
XXL: {
|
|
504
|
+
descriptionFont: 'text-h4-alt',
|
|
505
|
+
gap: 'gap-[18px]',
|
|
506
|
+
headingType: 'h0',
|
|
507
|
+
as: 'h1',
|
|
508
|
+
},
|
|
509
|
+
XL: {
|
|
510
|
+
descriptionFont: 'text-xl-light',
|
|
511
|
+
gap: 'gap-4',
|
|
512
|
+
headingType: 'h1',
|
|
513
|
+
as: 'h1',
|
|
514
|
+
},
|
|
515
|
+
L: {
|
|
516
|
+
descriptionFont: 'text-xl-light',
|
|
517
|
+
gap: 'gap-4',
|
|
518
|
+
headingType: 'h2',
|
|
519
|
+
as: 'h2',
|
|
520
|
+
},
|
|
521
|
+
M: {
|
|
522
|
+
descriptionFont: 'text-xl-light',
|
|
523
|
+
gap: 'gap-3',
|
|
524
|
+
headingType: 'h3',
|
|
525
|
+
as: 'h3',
|
|
526
|
+
},
|
|
527
|
+
S: {
|
|
528
|
+
descriptionFont: 'text-xl-light',
|
|
529
|
+
gap: 'gap-2',
|
|
530
|
+
headingType: 'h4',
|
|
531
|
+
as: 'h4',
|
|
532
|
+
},
|
|
533
|
+
};
|
|
488
534
|
|
|
489
|
-
const
|
|
535
|
+
const Description = JSX((props) => {
|
|
536
|
+
const { className = '', description } = props;
|
|
537
|
+
return jsx("div", { className: `${className}`, children: description });
|
|
538
|
+
});
|
|
539
|
+
|
|
540
|
+
const Headline = JSX(({ bgColorHeadline = 'transparent', align = 'left', className = '', title, description, headlineVersion = 'XL', ...rest }) => {
|
|
490
541
|
const STYLE_MAPS = HEADLINE_BLOCK_STYLE_MAPS[bgColorHeadline];
|
|
491
|
-
|
|
542
|
+
const SIZE_MAPS = HEADLINE_VERSION[headlineVersion];
|
|
543
|
+
return (jsxs(BlockWrapper, { className: `font-sans flex flex-col p-[50px] ${SIZE_MAPS.gap} ${STYLE_MAPS.background} ${className}`, ...rest, children: [title ? (jsx(Heading, { headingType: SIZE_MAPS?.headingType, as: SIZE_MAPS?.as, className: `whitespace-pre-wrap ${STYLE_MAPS.text} ${ALIGN_TEXT[align]}`, title: title })) : null, description ? (jsx(Description, { className: `${SIZE_MAPS.descriptionFont} ${STYLE_MAPS.text} ${ALIGN_TEXT[align]}`, description: description })) : null] }));
|
|
492
544
|
});
|
|
493
545
|
|
|
494
546
|
const LinkDocsListItemBase = JSX(({ className, iconClassName, textClassName, suffixClassName, doc, icon }) => {
|
|
@@ -519,8 +571,8 @@
|
|
|
519
571
|
double: 'flex gap-x-5 gap-y-[26px] flex-wrap',
|
|
520
572
|
single: 'flex gap-3.5 flex-col',
|
|
521
573
|
};
|
|
522
|
-
const LinkDocs = JSX(({ context, className = '', title, description, align = 'center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
|
|
523
|
-
return (jsxs(BlockWrapper, {
|
|
574
|
+
const LinkDocs = JSX(({ context, className = '', title, description, align = 'center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', headlineVersion = 'M', ...rest }) => {
|
|
575
|
+
return (jsxs(BlockWrapper, { className: `font-sans text-primary-text p-[50px] bg-white ${className}`, context: context, ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, context: context, align: align, headlineVersion: headlineVersion }), jsx(LinkDocsList, { className: `mt-8 ${linkColumnsModeStyleMap[columnsMode]}`, columnsMode: columnsMode, documents: documents, icon: icon })] }));
|
|
524
576
|
});
|
|
525
577
|
|
|
526
578
|
const pictureTextStyleMap = {
|
|
@@ -553,13 +605,15 @@
|
|
|
553
605
|
const hashIndex = href.indexOf('#');
|
|
554
606
|
return hashIndex !== -1 ? href.substring(hashIndex, href.length) : undefined;
|
|
555
607
|
};
|
|
608
|
+
const isHash = (href) => href?.startsWith('#');
|
|
556
609
|
|
|
557
610
|
var url = /*#__PURE__*/Object.freeze({
|
|
558
611
|
__proto__: null,
|
|
559
612
|
isURL: isURL,
|
|
560
613
|
withoutQuery: withoutQuery,
|
|
561
614
|
getOrigin: getOrigin,
|
|
562
|
-
getHash: getHash
|
|
615
|
+
getHash: getHash,
|
|
616
|
+
isHash: isHash
|
|
563
617
|
});
|
|
564
618
|
|
|
565
619
|
const MOBILE_URL_PATH = '/mobile';
|
|
@@ -592,7 +646,7 @@
|
|
|
592
646
|
const isLocalHref = href && !isURL(href);
|
|
593
647
|
const isLocalTarget = !link.target || link.target === '_self';
|
|
594
648
|
if (isLocalHref && isLocalTarget) {
|
|
595
|
-
ev
|
|
649
|
+
ev?.preventDefault();
|
|
596
650
|
router.push(href);
|
|
597
651
|
}
|
|
598
652
|
}, link),
|
|
@@ -614,14 +668,14 @@
|
|
|
614
668
|
|
|
615
669
|
const ButtonInner = JSX((props) => {
|
|
616
670
|
const { text, aboveText, appendLeft, appendRight } = props;
|
|
617
|
-
return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-
|
|
671
|
+
return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-xs text-left", children: aboveText }), jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-0.5' : 'text-base'}`, children: text })] })) : null, appendRight ? appendRight : null] }));
|
|
618
672
|
});
|
|
619
673
|
const getButtonStyle = (props) => {
|
|
620
674
|
const { version, aboveText, rounded } = props;
|
|
621
675
|
if (version === 'link') {
|
|
622
676
|
return '';
|
|
623
677
|
}
|
|
624
|
-
const withTextStyle = `
|
|
678
|
+
const withTextStyle = `gap-2 ${aboveText ? 'py-2.5 px-7' : 'py-4 px-9'}`;
|
|
625
679
|
return [
|
|
626
680
|
'flex items-center justify-center',
|
|
627
681
|
isWithText(props) ? withTextStyle : 'h-12 w-12',
|
|
@@ -650,26 +704,21 @@
|
|
|
650
704
|
return (jsx("a", { className: `${buttonStyle} inline-block cursor-pointer no-underline ${buttonStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className}`, href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: href ? 'link' : 'button', ...rest, children: children }));
|
|
651
705
|
});
|
|
652
706
|
const DisabledButton = JSX(({ className, children, ariaLabel, version = 'none', rounded }) => {
|
|
653
|
-
return (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex:
|
|
707
|
+
return (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: `inline-block ${buttonStyle} ${buttonDisabledStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, children: children }));
|
|
654
708
|
});
|
|
655
709
|
|
|
656
710
|
const ButtonSection = JSX(({ context, className = '', buttons }) => {
|
|
657
711
|
const { handlerDecorator } = context;
|
|
658
712
|
const router = context.useRouter();
|
|
659
|
-
return buttons?.length ? (jsx("div", { className: className, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
|
|
713
|
+
return buttons && buttons?.length ? (jsx("div", { className: className, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
|
|
660
714
|
});
|
|
661
715
|
function renderButton$2({ icon, iconRight, ...button }, i) {
|
|
662
716
|
if (!button?.text) {
|
|
663
|
-
return;
|
|
717
|
+
return null;
|
|
664
718
|
}
|
|
665
719
|
return icon ? (jsx(Button, { appendLeft: jsx(Img, { image: icon, width: "24", height: "24", asSVG: true }), appendRight: jsx(Img, { image: iconRight, width: "24", height: "24", asSVG: true }), ...button }, String(i))) : (jsx(Button, { ...button }, String(i)));
|
|
666
720
|
}
|
|
667
721
|
|
|
668
|
-
const Description = JSX((props) => {
|
|
669
|
-
const { className = '', description } = props;
|
|
670
|
-
return jsx("div", { className: `font-normal text-base ${className}`, children: description });
|
|
671
|
-
});
|
|
672
|
-
|
|
673
722
|
const LIST_STYLE_CLASSES = {
|
|
674
723
|
primary: 'rounded-full inline-block mr-3 mt-2',
|
|
675
724
|
secondary: 'rounded-full inline-block mr-3 mt-2',
|
|
@@ -712,7 +761,7 @@
|
|
|
712
761
|
: null }));
|
|
713
762
|
});
|
|
714
763
|
|
|
715
|
-
const BaseTile = JSX(({ className = '', title, children, buttons, image }) => {
|
|
764
|
+
const BaseTile = JSX(({ className = '', title = '', children, buttons, image }) => {
|
|
716
765
|
return (jsxs("div", { className: `font-sans flex flex-col grow h-full items-start ${className}`, children: [title, jsxs("div", { className: "flex grow w-full justify-between", children: [jsxs("div", { className: "flex flex-col justify-between w-full", children: [jsx("div", { children: children }), buttons ? jsx("div", { children: buttons }) : null] }), image] })] }));
|
|
717
766
|
});
|
|
718
767
|
|
|
@@ -726,7 +775,7 @@
|
|
|
726
775
|
};
|
|
727
776
|
function renderBenefit$1({ benefit, version = 'primary', benefitsVersion = 'normal' }, i) {
|
|
728
777
|
const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
|
|
729
|
-
return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon ? (jsx(Img, { className: renderBenefitIconBgStyle(version, benefitsVersion), image: { ...benefit?.icon, iconVersion: isIconWhite ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true })) : null, jsxs("div", { className: "flex gap-0.5 flex-col h-full max-w-[149px] min-w-[149px]", children: [jsx("div", { className: `text-
|
|
778
|
+
return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon ? (jsx(Img, { className: renderBenefitIconBgStyle(version, benefitsVersion), image: { ...benefit?.icon, iconVersion: isIconWhite ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true })) : null, jsxs("div", { className: "flex gap-0.5 flex-col h-full max-w-[149px] min-w-[149px]", children: [jsx("div", { className: `text-h6 m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description ? (jsx("div", { className: `text-m ${benefitDescStyleMap[version]}`, children: benefit.description })) : null] })] }, String(i)));
|
|
730
779
|
}
|
|
731
780
|
function renderBenefitIconBgStyle(version, benefitsVersion) {
|
|
732
781
|
let bgColorStyle = 'bg-primary-main text-black';
|
|
@@ -739,21 +788,18 @@
|
|
|
739
788
|
return `w-[50px] h-[50px] min-w-[50px] min-h-[50px] rounded-full p-[10px] box-border ${bgColorStyle}`;
|
|
740
789
|
}
|
|
741
790
|
|
|
742
|
-
const ProductBlockInner = JSX(({ className = '', context, title,
|
|
743
|
-
|
|
744
|
-
return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: `flex flex-col ${textBlockClassName}`, children: jsxs(BaseTile, { context: context, title: getTitle(title, headingType), buttons: getButtons(context, buttons), children: [description ? (jsx(Description, { className: `mt-4 max-w-[600px] text-md font-light ${textColor}`, description: description })) : null, benefits?.filter((_) => _.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((benefit, i) => renderBenefit$1({ benefit, version, benefitsVersion }, i)) })) : null, items?.length ? (jsx(List, { className: "mt-5 text-title-2xs font-light", items: items, itemClassName: "mb-[7px]", version: version, isDotted: isDotted })) : null] }) }), image?.src && jsx(Img, { className: "mt-[-50px]", image: image })] }));
|
|
791
|
+
const ProductBlockInner = JSX(({ className = '', context, title, headlineVersion = 'L', description, benefits, benefitsVersion = 'normal', buttons, image, items, version = 'primary', isDotted = true, textBlockClassName = '', }) => {
|
|
792
|
+
return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsxs("div", { className: `flex flex-col ${textBlockClassName}`, children: [jsx(Headline, { context: context, title: title, description: description, className: `!p-0 max-w-[600px]`, bgColorHeadline: version, headlineVersion: headlineVersion }), jsxs(BaseTile, { context: context, buttons: getButtons(context, buttons), children: [benefits?.filter((_) => _.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((benefit, i) => renderBenefit$1({ benefit, version, benefitsVersion }, i)) })) : null, items?.length ? (jsx(List, { className: "mt-5 text-h6 font-light", items: items, itemClassName: "mb-[7px]", version: version, isDotted: isDotted })) : null] })] }), image?.src && jsx(Img, { className: "mt-[-50px]", image: image })] }));
|
|
745
793
|
});
|
|
746
|
-
const getTitle = (title, headingType) => {
|
|
747
|
-
return title ? (jsx(Heading, { headingType: headingType, title: title, className: "whitespace-pre-wrap max-w-[600px]" })) : null;
|
|
748
|
-
};
|
|
749
794
|
const getButtons = (context, buttons) => {
|
|
750
795
|
return buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-4" })) : null;
|
|
751
796
|
};
|
|
752
797
|
|
|
753
798
|
function renderBackwardButton(button, version, className) {
|
|
799
|
+
const { text, href, target, onClick } = button;
|
|
754
800
|
const iconVersion = version === 'primary' ? 'white' : 'black';
|
|
755
801
|
const backwardIcon = button?.icon || { icon: 'ArrowLeftIcon' };
|
|
756
|
-
return (jsxs("div", { className: `flex items-center ${className}`, children: [jsx(Button, { version: version, rounded: true, className: "w-12 h-12 min-h-12 min-w-12 flex items-center justify-center mr-3", ariaLabel:
|
|
802
|
+
return (jsxs("div", { className: `flex items-center ${className}`, children: [jsx(Button, { version: version, rounded: true, className: "w-12 h-12 min-h-12 min-w-12 flex items-center justify-center mr-3", ariaLabel: text, href: href, target: target, onClick: onClick, children: jsx(Img, { className: "w-4 h-4", image: { ...backwardIcon, iconVersion }, asSVG: true }) }), text ? jsx("span", { className: "text-m", children: text }) : null] }));
|
|
757
803
|
}
|
|
758
804
|
|
|
759
805
|
const productBlockStyleMap$1 = {
|
|
@@ -768,7 +814,9 @@
|
|
|
768
814
|
const { context, className = '', breadcrumbs, backwardButton, version = 'primary', ...otherProps } = props;
|
|
769
815
|
const router = context.useRouter();
|
|
770
816
|
const { handlerDecorator } = context;
|
|
771
|
-
return (jsxs(BlockWrapper, { context: context, className: `font-sans overflow-hidden pt-[50px] pl-[50px] pb-[50px] pr-[7.5rem] box-border min-h-[420px] ${productBlockStyleMap$1[version]} ${className}`, ...otherProps, children: [backwardButton?.text
|
|
817
|
+
return (jsxs(BlockWrapper, { context: context, className: `font-sans overflow-hidden pt-[50px] pl-[50px] pb-[50px] pr-[7.5rem] box-border min-h-[420px] ${productBlockStyleMap$1[version]} ${className}`, ...otherProps, children: [backwardButton?.text
|
|
818
|
+
? renderBackwardButton(useLink({ router, handlerDecorator }, backwardButton), version, 'mb-10 -mt-2.5')
|
|
819
|
+
: null, breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { context: context, version: version, ...otherProps })] }));
|
|
772
820
|
});
|
|
773
821
|
|
|
774
822
|
const textBlockStyleMaps = {
|
|
@@ -840,24 +888,25 @@
|
|
|
840
888
|
};
|
|
841
889
|
const Tile = JSX((props) => {
|
|
842
890
|
const { context, title, headingType = 'h3', description, items, children, buttons, image, isDotted = true, className = '', version = 'primary', ...rest } = props;
|
|
843
|
-
return (jsx(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${tileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]
|
|
844
|
-
${version === 'primary' ? 'text-primary-text' : ''}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src
|
|
891
|
+
return (jsx(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${tileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] text-h4
|
|
892
|
+
${version === 'primary' ? 'text-primary-text' : ''}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src ? jsx(Img, { className: "mt-auto ml-7", image: image }) : null, children: [description ? (jsx(Description, { className: "max-w-[600px] text-xl-light mt-2", description: description })) : null, children, renderList$2(items, version, isDotted)] }) }));
|
|
845
893
|
});
|
|
846
894
|
function renderList$2(items, version, isDotted) {
|
|
847
|
-
|
|
895
|
+
const listVersion = version === 'primary' ? 'tile' : 'tile-white';
|
|
896
|
+
return items?.length ? (jsx(List, { items: items, isDotted: isDotted, itemClassName: "text-h6 font-light mt-2", version: listVersion })) : null;
|
|
848
897
|
}
|
|
849
898
|
|
|
850
899
|
const productTileStyleMap = {
|
|
851
900
|
primary: 'bg-white text-primary-text',
|
|
852
901
|
secondary: 'bg-primary-main text-white',
|
|
853
902
|
};
|
|
854
|
-
const ProductTile = JSX(({ context, className = '', title,
|
|
855
|
-
return (jsxs(BlockWrapper, { context: context, className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: [jsxs("div", { className: "z-[1]", children: [
|
|
903
|
+
const ProductTile = JSX(({ context, className = '', title, headlineVersion = 'S', description, additionalDescription, benefits, buttons, image, version = 'primary', ...rest }) => {
|
|
904
|
+
return (jsxs(BlockWrapper, { context: context, className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: [jsxs("div", { className: "z-[1]", children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: headlineVersion }), renderBenefits$1(benefits || [], version), additionalDescription
|
|
856
905
|
? renderAdditionalDescription(additionalDescription, version)
|
|
857
906
|
: null] }), buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-[1]" })) : null, image?.src ? jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
|
|
858
907
|
});
|
|
859
908
|
function renderBenefits$1(benefits, version) {
|
|
860
|
-
return (jsxs("div", { className: "flex mt-4", children: [benefits.length ? (jsx("div", { className: "mr-6 gap-2.5 text-
|
|
909
|
+
return (jsxs("div", { className: "flex mt-4", children: [benefits.length ? (jsx("div", { className: "mr-6 gap-2.5 text-h6", children: benefits.map(renderBenefitLabel) })) : null, benefits.length ? (jsx("div", { className: "pt-1 text-m", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
|
|
861
910
|
}
|
|
862
911
|
function renderBenefitLabel(benefit, i) {
|
|
863
912
|
return (jsx("div", { className: `${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
|
|
@@ -974,11 +1023,13 @@
|
|
|
974
1023
|
|
|
975
1024
|
const renderBlocksList = ({ blocks, context, className = '' }) => blocks?.length ? blocks.map(renderBlock$2({ context, className })) : null;
|
|
976
1025
|
const renderBlock$2 = ({ context, className }) => (block, i) => {
|
|
977
|
-
|
|
1026
|
+
if (!block) {
|
|
1027
|
+
return null;
|
|
1028
|
+
}
|
|
1029
|
+
const { style, blockListType: type, ...rest } = block;
|
|
978
1030
|
if (!type || !(type in EmbeddableBlocks)) {
|
|
979
1031
|
return null;
|
|
980
1032
|
}
|
|
981
|
-
const { style, ...rest } = block;
|
|
982
1033
|
const classNameBlock = style2className(style);
|
|
983
1034
|
const EmbeddedBlock = EmbeddableBlocks[type];
|
|
984
1035
|
return (jsx(EmbeddedBlock, { className: `${className} ${classNameBlock}`, context: context, ...rest }, `block_${i}`));
|
|
@@ -992,15 +1043,15 @@
|
|
|
992
1043
|
const [isActive, setIsActive] = context.useState(initialState);
|
|
993
1044
|
const hasContent = blocks?.length;
|
|
994
1045
|
const icon = isActive ? 'MinusIcon' : 'PlusIcon';
|
|
995
|
-
const getContentBlock = ({ currentTarget }) => currentTarget.nextSibling;
|
|
996
1046
|
const handleToggle = (e) => {
|
|
997
|
-
|
|
1047
|
+
const currentTarget = e.currentTarget;
|
|
1048
|
+
if (!currentTarget) {
|
|
998
1049
|
return;
|
|
999
1050
|
}
|
|
1000
1051
|
setIsActive(!isActive);
|
|
1001
|
-
const contentBlock =
|
|
1052
|
+
const contentBlock = currentTarget.nextSibling;
|
|
1002
1053
|
contentBlock.style.maxHeight = contentBlock.style.maxHeight
|
|
1003
|
-
?
|
|
1054
|
+
? ''
|
|
1004
1055
|
: `${contentBlock.scrollHeight}px`;
|
|
1005
1056
|
};
|
|
1006
1057
|
return { isActive, hasContent, icon, handleToggle };
|
|
@@ -1080,47 +1131,54 @@
|
|
|
1080
1131
|
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: "title-2xs m-0", children: bonusBenefit.label }) : null })] }, String(i)));
|
|
1081
1132
|
};
|
|
1082
1133
|
|
|
1083
|
-
function useCreditCalculatorData(useAsyncData, directoryName) {
|
|
1084
|
-
const { data } = useAsyncData(creditCalculatorUrl(directoryName), fetchCreditCalculatorData);
|
|
1085
|
-
return data || {};
|
|
1086
|
-
}
|
|
1087
|
-
async function fetchCreditCalculatorData(url) {
|
|
1088
|
-
const response = await fetch(url);
|
|
1089
|
-
return await response.json();
|
|
1090
|
-
}
|
|
1091
|
-
function creditCalculatorUrl(directoryName) {
|
|
1092
|
-
return `/wcms-resources/${directoryName || 'credit-calculator-data'}.json`;
|
|
1093
|
-
}
|
|
1094
|
-
|
|
1095
|
-
const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
|
|
1096
|
-
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: className, viewBox: viewBox, fill: fill, width: width, height: height, children: paths.map(({ d, fill: pathFill, ...options }, i) => (jsx("path", { d: d, fill: pathFill || 'currentColor', ...commonOptions, ...options }, i))) }));
|
|
1097
|
-
});
|
|
1098
|
-
|
|
1099
|
-
const CHECK_PATHS = [
|
|
1100
|
-
{
|
|
1101
|
-
d: 'M10.207.793a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L3.5 6.086 8.793.793a1 1 0 0 1 1.414 0Z',
|
|
1102
|
-
fillRule: 'evenodd',
|
|
1103
|
-
clipRule: 'evenodd',
|
|
1104
|
-
fill: 'white',
|
|
1105
|
-
},
|
|
1106
|
-
];
|
|
1107
|
-
const Checkbox = JSX(({ text, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center cursor-pointer relative", children: [jsx("input", { className: `peer appearance-none w-5 h-5 border-solid border ${checked ? 'border-black' : 'border-main-stroke'} rounded checked:bg-primary-main checked:border-primary-main m-0`, type: "checkbox", onChange: (e) => {
|
|
1108
|
-
onChange(e.target.checked);
|
|
1109
|
-
}, checked: checked }), jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }), text ? jsx("span", { className: "font-sans ml-3 text-m-base cursor-pointer", children: text }) : null] }) })));
|
|
1110
|
-
|
|
1111
1134
|
const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
|
|
1112
1135
|
|
|
1113
1136
|
const CalculatorValueBlock = JSX(({ title, value, postfix = '', prefix, className = '' }) => {
|
|
1114
1137
|
return (jsxs("div", { className: `mb-5 ${className}`, children: [title ? jsx("div", { className: "text-base font-light", children: title }) : null, value ? (jsxs("div", { className: "text-title font-normal", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] })) : null] }));
|
|
1115
1138
|
});
|
|
1116
1139
|
|
|
1117
|
-
const DEFAULT_MIN_SUM =
|
|
1118
|
-
const DEFAULT_MAX_SUM =
|
|
1140
|
+
const DEFAULT_MIN_SUM = 60000;
|
|
1141
|
+
const DEFAULT_MAX_SUM = 2000000;
|
|
1119
1142
|
const DEFAULT_SUM = (DEFAULT_MAX_SUM - DEFAULT_MIN_SUM) / 2;
|
|
1120
|
-
const DEFAULT_MIN_MONTHS =
|
|
1121
|
-
const DEFAULT_MAX_MONTHS =
|
|
1143
|
+
const DEFAULT_MIN_MONTHS = 13;
|
|
1144
|
+
const DEFAULT_MAX_MONTHS = 60;
|
|
1122
1145
|
const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS - DEFAULT_MIN_MONTHS) / 2);
|
|
1123
1146
|
const MONTHS_IN_YEAR = 12;
|
|
1147
|
+
const MONTHLY_INTEREST_RATE = MONTHS_IN_YEAR * 100;
|
|
1148
|
+
const DEFAULT_CREDIT_CALCULATOR_PARAMS = {
|
|
1149
|
+
minSum: DEFAULT_MIN_SUM,
|
|
1150
|
+
maxSum: DEFAULT_MAX_SUM,
|
|
1151
|
+
minMonths: DEFAULT_MIN_MONTHS,
|
|
1152
|
+
maxMonths: DEFAULT_MAX_MONTHS,
|
|
1153
|
+
rateBottomRange: 10,
|
|
1154
|
+
rateTopRange: 7,
|
|
1155
|
+
isSalaryClient: true,
|
|
1156
|
+
isStateEmployee: true,
|
|
1157
|
+
isInsurance: true,
|
|
1158
|
+
sumBorder: 999999,
|
|
1159
|
+
};
|
|
1160
|
+
const DEFAULT_TRAVEL_MIN_SUM = 6000;
|
|
1161
|
+
const DEFAULT_REST_MIN_SUM = 6000;
|
|
1162
|
+
const DEFAULT_BONUS_CALCULATOR_PARAMS = {
|
|
1163
|
+
minSumTravel: 6000,
|
|
1164
|
+
maxSumTravel: 200000,
|
|
1165
|
+
minSumOther: 6000,
|
|
1166
|
+
maxSumOther: 200000,
|
|
1167
|
+
maxBonus: 5000,
|
|
1168
|
+
prefMonthsNum: 2,
|
|
1169
|
+
prefTravelBonusRate: 0.015,
|
|
1170
|
+
prefRestBonusRate: 0.01,
|
|
1171
|
+
travelBonusRate: 0.015,
|
|
1172
|
+
restBonusRate: 0.01,
|
|
1173
|
+
};
|
|
1174
|
+
const CREDIT_CALC_DEFAULT_DIR = 'credit-calculator-data';
|
|
1175
|
+
const BONUS_CALC_DEFAULT_DIR = 'bonus-calculator-data';
|
|
1176
|
+
|
|
1177
|
+
const Rate = JSX(({ rate, title = 'Ставка', unit, rateBlockClassName }) => (jsxs("div", { children: [jsx("div", { className: "text-sm font-light ml-3", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `block calc-rate-text font-mohave text-title-huge pr-6 -mt-4 ${rateBlockClassName}`, children: String(rate).replace('.', ',') }), unit ? jsx("span", { className: "calc-rate-text text-[65px] leading-[75px]", children: unit }) : ''] })] })));
|
|
1178
|
+
|
|
1179
|
+
function renderButtonSection(context, buttons) {
|
|
1180
|
+
return buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex flex-col mt-7 gap-2" })) : null;
|
|
1181
|
+
}
|
|
1124
1182
|
|
|
1125
1183
|
const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
|
|
1126
1184
|
const handleChange = (_) => {
|
|
@@ -1148,226 +1206,250 @@
|
|
|
1148
1206
|
outline-none p-0 pl-4 box-border text-primary-text`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 bottom-[-4px] px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsx("span", { className: "text-sm leading-[14px] text-secondary-text pl-4", children: item }, String(i)))) })] }));
|
|
1149
1207
|
});
|
|
1150
1208
|
|
|
1151
|
-
const
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
const maxSum =
|
|
1209
|
+
const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
|
|
1210
|
+
|
|
1211
|
+
const DEFAULT_MONEY_STEP = 1000;
|
|
1212
|
+
function renderWantedSumInput(title, params, callback) {
|
|
1213
|
+
const { moneyValue, minSum, maxSum, step = DEFAULT_MONEY_STEP, isShowItems = true } = params;
|
|
1156
1214
|
const items = [
|
|
1157
1215
|
`От ${addSpacesBetweenNumbers(minSum)} ₽`,
|
|
1158
1216
|
`До ${addSpacesBetweenNumbers(maxSum)} ₽`,
|
|
1159
1217
|
];
|
|
1160
|
-
return (jsx(InputRange, {
|
|
1218
|
+
return (jsx(InputRange, { title: title, items: isShowItems ? items : [], min: minSum, max: maxSum, step: step, value: clamp(moneyValue, minSum, maxSum), onChange: callback }));
|
|
1161
1219
|
}
|
|
1162
1220
|
|
|
1163
|
-
const
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
return DEFAULT_RATE;
|
|
1221
|
+
const getBonus = (params, bonusTravelValue, bonusOtherValue) => {
|
|
1222
|
+
const { minSumTravel, minSumOther, maxBonus, prefMonthsNum, prefTravelBonusRate, prefRestBonusRate, travelBonusRate, restBonusRate, } = params;
|
|
1223
|
+
if (bonusTravelValue === minSumTravel && bonusOtherValue === minSumOther) {
|
|
1224
|
+
return [0, 0];
|
|
1168
1225
|
}
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1226
|
+
const prefBonus = Math.min(Math.round(prefTravelBonusRate * bonusTravelValue) +
|
|
1227
|
+
Math.round(prefRestBonusRate * bonusOtherValue), maxBonus);
|
|
1228
|
+
const bonus = Math.min(Math.round(travelBonusRate * bonusTravelValue) + Math.round(restBonusRate * bonusOtherValue), maxBonus);
|
|
1229
|
+
const yearBonus = prefBonus * prefMonthsNum + bonus * (MONTHS_IN_YEAR - prefMonthsNum);
|
|
1230
|
+
return [prefBonus, yearBonus];
|
|
1172
1231
|
};
|
|
1173
1232
|
|
|
1174
|
-
|
|
1175
|
-
const {
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
const
|
|
1180
|
-
return
|
|
1181
|
-
}
|
|
1233
|
+
function useCalculatorParams(useAsyncData, dir) {
|
|
1234
|
+
const { data } = useAsyncData(`/wcms-resources/${dir}.json`, fetchCalculatorSourceBookParams);
|
|
1235
|
+
return data;
|
|
1236
|
+
}
|
|
1237
|
+
async function fetchCalculatorSourceBookParams(url) {
|
|
1238
|
+
const response = await fetch(url);
|
|
1239
|
+
return await response.json();
|
|
1240
|
+
}
|
|
1182
1241
|
|
|
1183
|
-
const
|
|
1184
|
-
|
|
1185
|
-
|
|
1242
|
+
const getBonusCalculatorParams = (context, userInputParams, sourceBookDir) => {
|
|
1243
|
+
const { travelExpenseValue, restExpenseValue } = userInputParams;
|
|
1244
|
+
const bonusCalculatorSourceBookParams = useCalculatorParams(context.useAsyncData, sourceBookDir || BONUS_CALC_DEFAULT_DIR) || DEFAULT_BONUS_CALCULATOR_PARAMS;
|
|
1245
|
+
const [monthBonus, yearBonus] = getBonus(bonusCalculatorSourceBookParams, travelExpenseValue, restExpenseValue);
|
|
1246
|
+
return {
|
|
1247
|
+
...bonusCalculatorSourceBookParams,
|
|
1248
|
+
...userInputParams,
|
|
1249
|
+
monthBonus,
|
|
1250
|
+
yearBonus,
|
|
1251
|
+
};
|
|
1252
|
+
};
|
|
1186
1253
|
|
|
1187
|
-
const
|
|
1188
|
-
|
|
1189
|
-
|
|
1254
|
+
const BonusCalculatorForm = JSX(({ context, className = '', sourceBookDir, buttons }) => {
|
|
1255
|
+
const [travelExpenseValue, setTravelExpenseValue] = context.useState(DEFAULT_TRAVEL_MIN_SUM);
|
|
1256
|
+
const [restExpenseValue, setRestExpenseValue] = context.useState(DEFAULT_REST_MIN_SUM);
|
|
1257
|
+
const userInputParams = {
|
|
1258
|
+
travelExpenseValue,
|
|
1259
|
+
restExpenseValue,
|
|
1260
|
+
};
|
|
1261
|
+
const { minSumTravel, maxSumTravel, minSumOther, maxSumOther, monthBonus, yearBonus } = getBonusCalculatorParams(context, userInputParams, sourceBookDir);
|
|
1262
|
+
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма покупок в категории путешествия, ₽', {
|
|
1263
|
+
minSum: minSumTravel,
|
|
1264
|
+
maxSum: maxSumTravel,
|
|
1265
|
+
moneyValue: travelExpenseValue,
|
|
1266
|
+
step: 500,
|
|
1267
|
+
isShowItems: false,
|
|
1268
|
+
}, setTravelExpenseValue), renderWantedSumInput('Сумма покупок в остальных категориях, ₽', {
|
|
1269
|
+
className: 'mt-6',
|
|
1270
|
+
minSum: minSumOther,
|
|
1271
|
+
maxSum: maxSumOther,
|
|
1272
|
+
moneyValue: restExpenseValue,
|
|
1273
|
+
step: 500,
|
|
1274
|
+
isShowItems: false,
|
|
1275
|
+
}, 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)] })] }));
|
|
1276
|
+
});
|
|
1190
1277
|
|
|
1191
|
-
const
|
|
1278
|
+
const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
|
|
1279
|
+
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: className, viewBox: viewBox, fill: fill, width: width, height: height, children: paths.map(({ d, fill: pathFill, ...options }, i) => (jsx("path", { d: d, fill: pathFill || 'currentColor', ...commonOptions, ...options }, i))) }));
|
|
1280
|
+
});
|
|
1192
1281
|
|
|
1193
|
-
const
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1282
|
+
const CHECK_PATHS = [
|
|
1283
|
+
{
|
|
1284
|
+
d: 'M10.207.793a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L3.5 6.086 8.793.793a1 1 0 0 1 1.414 0Z',
|
|
1285
|
+
fillRule: 'evenodd',
|
|
1286
|
+
clipRule: 'evenodd',
|
|
1287
|
+
fill: 'white',
|
|
1288
|
+
},
|
|
1289
|
+
];
|
|
1290
|
+
const Checkbox = JSX(({ className, text, checked, isRadio, onChange }) => (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center cursor-pointer relative", children: [jsx("input", { className: `peer appearance-none w-5 h-5 border-solid
|
|
1291
|
+
${isRadio ? 'rounded-full border-2' : 'rounded checked:bg-primary-main border'}
|
|
1292
|
+
${checked ? 'border-black' : 'border-main-stroke'}
|
|
1293
|
+
checked:border-primary-main m-0`, type: "checkbox", onChange: (e) => {
|
|
1294
|
+
onChange(e.target.checked);
|
|
1295
|
+
}, checked: checked }), isRadio ? (jsx("div", { className: "left-1 w-3 h-3 rounded-full bg-primary-main hidden absolute peer-checked:block" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" })), text ? jsx("span", { className: "font-sans ml-3 text-m-base cursor-pointer", children: text }) : null] }) })));
|
|
1207
1296
|
|
|
1208
1297
|
const STEP_MONTHS = 1;
|
|
1209
|
-
function renderMonthsInput(
|
|
1210
|
-
const {
|
|
1298
|
+
function renderMonthsInput(title, params, callback) {
|
|
1299
|
+
const { minMonths, maxMonths, monthsValue } = params;
|
|
1211
1300
|
const monthText = (month) => {
|
|
1212
1301
|
const text = Number(month) % 10 === 1 ? 'месяца' : 'месяцев';
|
|
1213
1302
|
return `${month} ${text}`;
|
|
1214
1303
|
};
|
|
1215
|
-
return (jsx(InputRange, { className: "mt-6", title: title, items: [`От ${monthText(minMonths)}`, `До ${monthText(maxMonths)}`], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: monthsValue
|
|
1304
|
+
return (jsx(InputRange, { className: "mt-6", title: title, items: [`От ${monthText(minMonths)}`, `До ${monthText(maxMonths)}`], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: clamp(monthsValue, minMonths, maxMonths), onChange: callback }));
|
|
1216
1305
|
}
|
|
1217
1306
|
|
|
1218
|
-
|
|
1219
|
-
return
|
|
1220
|
-
}
|
|
1307
|
+
const RadioButtonGroup = JSX(({ items, checkedItem, onChangeCheckedItem }) => {
|
|
1308
|
+
return (jsx("div", { children: items?.map(({ id, text }) => (jsx(Checkbox, { isRadio: true, text: text, checked: checkedItem === id, onChange: () => onChangeCheckedItem(id) }, id))) }));
|
|
1309
|
+
});
|
|
1221
1310
|
|
|
1222
|
-
function
|
|
1223
|
-
|
|
1224
|
-
return (jsxs("div", { children: [jsx("div", { className: "text-sm font-light ml-3", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `calc-rate-text font-mohave text-title-huge pr-4 mt-[-16px] ${className}`, children: rateFormat }), sup ? jsx("span", { className: "calc-rate-text text-[65px] leading-[75px]", children: sup }) : ''] })] }));
|
|
1311
|
+
function renderPaymentTypeSelector(context, { items, checkedItem, onChange }) {
|
|
1312
|
+
return (jsx(RadioButtonGroup, { context: context, items: items, checkedItem: checkedItem, onChangeCheckedItem: onChange }));
|
|
1225
1313
|
}
|
|
1226
1314
|
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1315
|
+
/**
|
|
1316
|
+
* Формулы расчёта аннуитетных и дифференцированных платежей:
|
|
1317
|
+
* https://finuslugi.ru/potrebitelskie_kredity/stat_annuitetnye_i_differentsirovannye_platezhi
|
|
1318
|
+
*/
|
|
1319
|
+
const getMonthlyPayment = (rate, params) => {
|
|
1320
|
+
const { isAnnuity, moneyValue, monthsValue } = params;
|
|
1321
|
+
if (isAnnuity) {
|
|
1322
|
+
const i = rate / MONTHLY_INTEREST_RATE; // Используется значение ставки в процентах
|
|
1323
|
+
return moneyValue * (i + i / (Math.pow(1 + i, monthsValue) - 1));
|
|
1324
|
+
}
|
|
1325
|
+
else {
|
|
1326
|
+
return Math.round(moneyValue / monthsValue) + moneyValue * (rate / (MONTHS_IN_YEAR * 100)); // Используется значение ставки (rate) в процентах, делённое на сто.
|
|
1327
|
+
}
|
|
1328
|
+
};
|
|
1329
|
+
|
|
1330
|
+
const getCreditCalculatorParams = (context, userInputParams, sourceBookDir) => {
|
|
1331
|
+
const { isInsurance, isSalaryClient, isStateEmployee, moneyValue } = userInputParams;
|
|
1332
|
+
const data = useCalculatorParams(context.useAsyncData, sourceBookDir || CREDIT_CALC_DEFAULT_DIR);
|
|
1333
|
+
const creditCalculatorSourceBookParams = data?.rows.find((_) => {
|
|
1334
|
+
return (isInsurance === _.isInsurance &&
|
|
1335
|
+
isSalaryClient === _.isSalaryClient &&
|
|
1336
|
+
isStateEmployee === _.isStateEmployee);
|
|
1337
|
+
}) || DEFAULT_CREDIT_CALCULATOR_PARAMS;
|
|
1338
|
+
const { rateBottomRange, rateTopRange, sumBorder } = creditCalculatorSourceBookParams;
|
|
1339
|
+
const finalRate = moneyValue <= sumBorder ? rateBottomRange : rateTopRange;
|
|
1340
|
+
const monthlyPayment = getMonthlyPayment(finalRate, userInputParams);
|
|
1341
|
+
const extendedCalculatorParams = {
|
|
1342
|
+
...creditCalculatorSourceBookParams,
|
|
1343
|
+
...userInputParams,
|
|
1344
|
+
finalRate,
|
|
1345
|
+
monthlyPayment,
|
|
1346
|
+
};
|
|
1347
|
+
return extendedCalculatorParams;
|
|
1348
|
+
};
|
|
1349
|
+
|
|
1350
|
+
const ANNUITY = 'annuity';
|
|
1351
|
+
const DIFFERENTIAL = 'differential';
|
|
1352
|
+
const paymentTypeItems = [
|
|
1353
|
+
{
|
|
1354
|
+
id: ANNUITY,
|
|
1355
|
+
text: 'Аннуитетный',
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
id: DIFFERENTIAL,
|
|
1359
|
+
text: 'Дифференцированный',
|
|
1360
|
+
},
|
|
1361
|
+
];
|
|
1362
|
+
const CreditCalculatorForm = JSX(({ context, className = '', sourceBookDir, buttons }) => {
|
|
1231
1363
|
const [isAnnuity, toggleIsAnnuity] = context.useState(false);
|
|
1232
|
-
const [
|
|
1233
|
-
const [
|
|
1234
|
-
const
|
|
1235
|
-
const
|
|
1236
|
-
const
|
|
1237
|
-
const
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1364
|
+
const [isInsurance, toggleIsInsurance] = context.useState(true);
|
|
1365
|
+
const [isSalaryClient, toggleIsSalaryClient] = context.useState(false);
|
|
1366
|
+
const [isStateEmployee, toggleIsStateEmployee] = context.useState(false);
|
|
1367
|
+
const [moneyValue, setMoneyValue] = context.useState(DEFAULT_SUM);
|
|
1368
|
+
const [monthsValue, setMonthsValue] = context.useState(DEFAULT_MONTHS);
|
|
1369
|
+
const userInputParams = {
|
|
1370
|
+
isAnnuity,
|
|
1371
|
+
isInsurance,
|
|
1372
|
+
isSalaryClient,
|
|
1373
|
+
isStateEmployee,
|
|
1374
|
+
moneyValue,
|
|
1375
|
+
monthsValue,
|
|
1376
|
+
};
|
|
1377
|
+
const calculatorParams = getCreditCalculatorParams(context, userInputParams, sourceBookDir);
|
|
1378
|
+
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма кредита, ₽', { ...calculatorParams, step: 500 }, setMoneyValue), renderMonthsInput('Срок кредита, месяцев', calculatorParams, setMonthsValue), jsxs("div", { className: "pt-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, {
|
|
1379
|
+
items: paymentTypeItems,
|
|
1380
|
+
checkedItem: isAnnuity ? ANNUITY : DIFFERENTIAL,
|
|
1381
|
+
onChange: (text) => toggleIsAnnuity(text === ANNUITY),
|
|
1382
|
+
}), renderButtonSection(context, buttons)] })] }));
|
|
1383
|
+
});
|
|
1384
|
+
|
|
1385
|
+
const DepositCalculatorForm = JSX(({ context, className = '', buttons, rate }) => {
|
|
1386
|
+
const [moneyValue, setMoneyValue] = context.useState(DEFAULT_SUM);
|
|
1387
|
+
const [monthsValue, setMonthsValue] = context.useState(DEFAULT_MONTHS);
|
|
1388
|
+
const income = 948841;
|
|
1389
|
+
const finallySum = 1218841;
|
|
1390
|
+
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма вклада, ₽', {
|
|
1391
|
+
moneyValue,
|
|
1392
|
+
minSum: DEFAULT_MIN_SUM,
|
|
1393
|
+
maxSum: DEFAULT_MAX_SUM,
|
|
1394
|
+
}, setMoneyValue), renderMonthsInput('Срок вклада, месяцев', {
|
|
1395
|
+
minMonths: DEFAULT_MIN_MONTHS,
|
|
1396
|
+
maxMonths: DEFAULT_MAX_MONTHS,
|
|
1253
1397
|
monthsValue,
|
|
1254
|
-
|
|
1255
|
-
setMonthsValue,
|
|
1256
|
-
}), jsxs("div", { className: "pt-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: isAnnuity, onChange: toggleIsAnnuity }), 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: isBudgetary, onChange: toggleIsBudgetary }), 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("div", { children: rate
|
|
1257
|
-
? renderRate({ rate: rate, title: 'Ставка', sup: '%', className: 'tracking-[-25px]' })
|
|
1258
|
-
: null }), jsxs("div", { className: "w-[351px]", children: [monthlyPayment ? (jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" })) : null, renderButtonSection(context, buttons)] })] }));
|
|
1398
|
+
}, 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)] })] }));
|
|
1259
1399
|
});
|
|
1260
1400
|
|
|
1261
|
-
const
|
|
1262
|
-
|
|
1263
|
-
const { calculatorParams,
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1401
|
+
const DEFAULT_RATE = 10.2;
|
|
1402
|
+
const getCreditRate = (params) => {
|
|
1403
|
+
const { calculatorParams, isInsurance } = params;
|
|
1404
|
+
if (!calculatorParams) {
|
|
1405
|
+
return DEFAULT_RATE;
|
|
1406
|
+
}
|
|
1407
|
+
return isInsurance
|
|
1408
|
+
? calculatorParams?.rateWithInsurance || DEFAULT_RATE
|
|
1409
|
+
: calculatorParams?.rateWithoutInsurance || DEFAULT_RATE;
|
|
1410
|
+
};
|
|
1268
1411
|
|
|
1269
|
-
const STEP_MONEY = 1000;
|
|
1270
|
-
function renderInitialFeeInput(props) {
|
|
1271
|
-
const {
|
|
1272
|
-
const minSum =
|
|
1273
|
-
const maxSum =
|
|
1274
|
-
return (jsx(InputRange, { className: "mt-6", title:
|
|
1412
|
+
const STEP_MONEY$1 = 1000;
|
|
1413
|
+
function renderInitialFeeInput(title, props, callback) {
|
|
1414
|
+
const { moneyValue } = props;
|
|
1415
|
+
const minSum = DEFAULT_MIN_SUM;
|
|
1416
|
+
const maxSum = DEFAULT_MAX_SUM;
|
|
1417
|
+
return (jsx(InputRange, { className: "mt-6", title: title, items: [
|
|
1275
1418
|
`От ${addSpacesBetweenNumbers(minSum)} рублей`,
|
|
1276
1419
|
`До ${addSpacesBetweenNumbers(maxSum)} рублей`,
|
|
1277
|
-
], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue
|
|
1420
|
+
], min: minSum, max: maxSum, step: STEP_MONEY$1, value: moneyValue, onChange: callback }));
|
|
1278
1421
|
}
|
|
1279
1422
|
|
|
1280
1423
|
function renderProposalMortgage({ credit, period, taxRefund }) {
|
|
1281
1424
|
return (jsxs("div", { 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" }), jsx(CalculatorValueBlock, { title: "\u041D\u0430\u043B\u043E\u0433\u043E\u0432\u044B\u0439 \u0432\u044B\u0447\u0435\u0442", value: taxRefund, postfix: "\u20BD" })] }));
|
|
1282
1425
|
}
|
|
1283
1426
|
|
|
1427
|
+
const STEP_MONEY = 1000;
|
|
1428
|
+
function renderRealEstateValue(title, props, callback) {
|
|
1429
|
+
const { moneyValue } = props;
|
|
1430
|
+
const minSum = DEFAULT_MIN_SUM;
|
|
1431
|
+
const maxSum = DEFAULT_MAX_SUM;
|
|
1432
|
+
return (jsx(InputRange, { title: title, items: [`От ${addSpacesBetweenNumbers(minSum)} ₽`, `До ${addSpacesBetweenNumbers(maxSum)} ₽`], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue, onChange: callback }));
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1284
1435
|
const MortgageCalculatorForm = JSX(({ context, className = '', buttons }) => {
|
|
1285
|
-
const [moneyValue, setMoneyValue] = context.useState(
|
|
1286
|
-
const [monthsValue, setMonthsValue] = context.useState(
|
|
1436
|
+
const [moneyValue, setMoneyValue] = context.useState(1000000);
|
|
1437
|
+
const [monthsValue, setMonthsValue] = context.useState(12);
|
|
1287
1438
|
const [isInsurance, toggleIsInsurance] = context.useState(false);
|
|
1288
1439
|
const [isFullInsurance, toggleIsFullInsurance] = context.useState(false);
|
|
1289
|
-
const
|
|
1290
|
-
const
|
|
1291
|
-
const
|
|
1292
|
-
const defaultMonths = getDefaultMonths(calculatorParams);
|
|
1293
|
-
const minMonths = calculatorParams?.minMonths || DEFAULT_MIN_MONTHS;
|
|
1294
|
-
const maxMonths = calculatorParams?.maxMonths || DEFAULT_MAX_MONTHS;
|
|
1440
|
+
const calculatorParams = {}; // getCalculatorParams(context, { isAnnuity: isInsurance });
|
|
1441
|
+
const minMonths = /*calculatorParams?.minMonths ||*/ DEFAULT_MIN_MONTHS;
|
|
1442
|
+
const maxMonths = /* calculatorParams?.maxMonths || */ DEFAULT_MAX_MONTHS;
|
|
1295
1443
|
const rate = getCreditRate({ calculatorParams, isInsurance: isInsurance });
|
|
1296
1444
|
const monthlyPayment = 777777; // TODO: hardcode
|
|
1297
1445
|
const proposalMortgageValue = { credit: 3892000, period: 15, taxRefund: 650000 }; // TODO: hardcode
|
|
1298
|
-
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderRealEstateValue(
|
|
1299
|
-
calculatorParams,
|
|
1446
|
+
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderRealEstateValue('Стоимость недвижимости, ₽', { moneyValue }, setMoneyValue), renderInitialFeeInput('Первоначальный взнос, ₽', {
|
|
1300
1447
|
moneyValue,
|
|
1301
|
-
|
|
1302
|
-
setMoneyValue,
|
|
1303
|
-
}), renderMonthsInput({
|
|
1304
|
-
title: 'Срок ипотеки, месяцев',
|
|
1448
|
+
}, setMoneyValue), renderMonthsInput('Срок ипотеки, месяцев', {
|
|
1305
1449
|
minMonths,
|
|
1306
1450
|
maxMonths,
|
|
1307
1451
|
monthsValue,
|
|
1308
|
-
|
|
1309
|
-
setMonthsValue,
|
|
1310
|
-
}), 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\u043B\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 })] })] }), jsxs("div", { children: [jsx("div", { children: rate
|
|
1311
|
-
? renderRate({ rate: rate, title: 'Ставка', sup: '%', className: 'tracking-[-25px]' })
|
|
1312
|
-
: null }), jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" })] }), jsxs("div", { children: [jsx("div", { className: "w-[351px]", children: renderProposalMortgage(proposalMortgageValue) }), renderButtonSection(context, buttons)] })] }));
|
|
1313
|
-
});
|
|
1314
|
-
|
|
1315
|
-
const DepositCalculatorForm = JSX(({ context, className = '', buttons, rate, minSum, maxSum, minMonths, maxMonths }) => {
|
|
1316
|
-
const [moneyValue, setMoneyValue] = context.useState(undefined);
|
|
1317
|
-
const [monthsValue, setMonthsValue] = context.useState(undefined);
|
|
1318
|
-
const tableRows = useCreditCalculatorData(context.useAsyncData, 'directoryName').rows;
|
|
1319
|
-
const calculatorParams = getCalculatorParams({ tableRows, isAnnuity: false });
|
|
1320
|
-
const defaultSum = getDefaultSum(calculatorParams);
|
|
1321
|
-
const defaultMonths = getDefaultMonths(calculatorParams);
|
|
1322
|
-
const income = 948841;
|
|
1323
|
-
const finallySum = 1218841;
|
|
1324
|
-
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput({
|
|
1325
|
-
title: 'Сумма вклада, ₽',
|
|
1326
|
-
calculatorParams: { minSum, maxSum },
|
|
1327
|
-
moneyValue,
|
|
1328
|
-
defaultSum,
|
|
1329
|
-
setMoneyValue,
|
|
1330
|
-
}), renderMonthsInput({
|
|
1331
|
-
title: 'Срок вклада, месяцев',
|
|
1332
|
-
minMonths: minMonths || DEFAULT_MIN_MONTHS,
|
|
1333
|
-
maxMonths: maxMonths || DEFAULT_MAX_MONTHS,
|
|
1334
|
-
monthsValue,
|
|
1335
|
-
defaultMonths,
|
|
1336
|
-
setMonthsValue,
|
|
1337
|
-
})] }), jsx("div", { children: rate
|
|
1338
|
-
? renderRate({ rate: rate, title: 'Ставка', sup: '%', className: 'tracking-[-25px]' })
|
|
1339
|
-
: null }), 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)] })] }));
|
|
1340
|
-
});
|
|
1341
|
-
|
|
1342
|
-
const BonusCalculatorForm = JSX(({ context, className = '', buttons, bonus, minSumTrip, maxSumTrip, minSumOther, maxSumOther, }) => {
|
|
1343
|
-
const [bonusTripValue, setBonusTripValue] = context.useState(undefined);
|
|
1344
|
-
const [bonusOtherValue, setBonusOtherValue] = context.useState(undefined);
|
|
1345
|
-
const calculatorTripParams = { minSum: minSumTrip, maxSum: maxSumTrip };
|
|
1346
|
-
const calculatorOtherParams = { minSum: minSumOther, maxSum: maxSumOther };
|
|
1347
|
-
const incomeBonus = 948841;
|
|
1348
|
-
const bonusOrDef = bonus || 2528;
|
|
1349
|
-
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput({
|
|
1350
|
-
title: 'Сумма покупок в категории путешествия, ₽',
|
|
1351
|
-
calculatorParams: calculatorTripParams,
|
|
1352
|
-
moneyValue: bonusTripValue,
|
|
1353
|
-
defaultSum: getDefaultSum(calculatorTripParams),
|
|
1354
|
-
setMoneyValue: setBonusTripValue,
|
|
1355
|
-
isShowItems: false,
|
|
1356
|
-
}), renderWantedSumInput({
|
|
1357
|
-
className: 'mt-6',
|
|
1358
|
-
title: 'Сумма покупок в остальных категориях, ₽',
|
|
1359
|
-
calculatorParams: calculatorOtherParams,
|
|
1360
|
-
moneyValue: bonusOtherValue,
|
|
1361
|
-
defaultSum: getDefaultSum(calculatorOtherParams),
|
|
1362
|
-
setMoneyValue: setBonusOtherValue,
|
|
1363
|
-
isShowItems: false,
|
|
1364
|
-
})] }), jsx("div", { children: bonusOrDef
|
|
1365
|
-
? renderRate({
|
|
1366
|
-
rate: bonusOrDef,
|
|
1367
|
-
title: 'Баллов за месяц',
|
|
1368
|
-
className: 'tracking-[-14px]',
|
|
1369
|
-
})
|
|
1370
|
-
: null }), jsxs("div", { className: "w-[240px]", children: [jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: incomeBonus }) , renderButtonSection(context, buttons)] })] }));
|
|
1452
|
+
}, 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\u043B\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 })] })] }), jsxs("div", { children: [jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" })] }), jsxs("div", { children: [jsx("div", { className: "w-[351px]", children: renderProposalMortgage(proposalMortgageValue) }), renderButtonSection(context, buttons)] })] }));
|
|
1371
1453
|
});
|
|
1372
1454
|
|
|
1373
1455
|
const EmbeddableCalcBlocks = {
|
|
@@ -1377,24 +1459,24 @@
|
|
|
1377
1459
|
BonusCalculatorForm,
|
|
1378
1460
|
};
|
|
1379
1461
|
|
|
1380
|
-
const renderCalculatorBlock = ({ context, className }) => (
|
|
1381
|
-
const type =
|
|
1462
|
+
const renderCalculatorBlock = ({ context, className }) => (block, i) => {
|
|
1463
|
+
const type = block?.calcType;
|
|
1382
1464
|
if (!type || !(type in EmbeddableCalcBlocks)) {
|
|
1383
1465
|
return null;
|
|
1384
1466
|
}
|
|
1385
1467
|
const EmbeddedBlock = EmbeddableCalcBlocks[type];
|
|
1386
|
-
return (jsx("section", { className: `box-border relative flex shrink-0 basis-full ${className}`, role: "listitem", children: jsx("div", { className: "box-border p-9 w-full", children: jsx(EmbeddedBlock, { context: context, ...
|
|
1468
|
+
return (jsx("section", { className: `box-border relative flex shrink-0 basis-full ${className}`, role: "listitem", children: jsx("div", { className: "box-border p-9 w-full", children: jsx(EmbeddedBlock, { context: context, ...block, className: "flex justify-between" }) }) }, String(i)));
|
|
1387
1469
|
};
|
|
1388
1470
|
|
|
1389
|
-
const Calculator = JSX(({ className = '', context,
|
|
1390
|
-
const tabsNav =
|
|
1391
|
-
const
|
|
1471
|
+
const Calculator = JSX(({ className = '', context, calculatorTabs = [], ...rest }) => {
|
|
1472
|
+
const tabsNav = calculatorTabs.map((_) => _.nav || {});
|
|
1473
|
+
const calculatorBlocks = calculatorTabs.map(({ calculatorBlock }) => calculatorBlock || {});
|
|
1392
1474
|
const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
|
|
1393
1475
|
const [tabsShift, setTabsShift] = context.useState(0);
|
|
1394
1476
|
const handleNextClick = () => setTabsShift(tabsShift + 1);
|
|
1395
1477
|
const handlePrevClick = () => setTabsShift(tabsShift - 1);
|
|
1396
|
-
const isGalleryScrollAvailable =
|
|
1397
|
-
const showNextButton = isGalleryScrollAvailable &&
|
|
1478
|
+
const isGalleryScrollAvailable = calculatorTabs?.length > 3;
|
|
1479
|
+
const showNextButton = isGalleryScrollAvailable && calculatorTabs?.length > tabsShift + 3;
|
|
1398
1480
|
const showPrevButton = tabsShift > 0;
|
|
1399
1481
|
return (jsxs(BlockWrapper, { context: context, className: `box-border overflow-hidden relative font-sans w-100 bg-white text-primary-text ${className}`, ...rest, children: [jsxs("div", { children: [tabsNav.length > 1
|
|
1400
1482
|
? renderTabs({ tabsShift, tabsNav, activeSlideIndex, setActiveSlideIndex })
|
|
@@ -1403,8 +1485,8 @@
|
|
|
1403
1485
|
isShown: [showPrevButton, showNextButton],
|
|
1404
1486
|
btnClass: ['left-3', 'right-3'],
|
|
1405
1487
|
className: 'top-8',
|
|
1406
|
-
})] }), jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children:
|
|
1407
|
-
?
|
|
1488
|
+
})] }), jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: calculatorBlocks?.length
|
|
1489
|
+
? calculatorBlocks.map(renderCalculatorBlock({ context, className }))
|
|
1408
1490
|
: null })] }));
|
|
1409
1491
|
});
|
|
1410
1492
|
function renderNavButton$2({ tab, i, activeSlideIndex, onClick }) {
|
|
@@ -1464,8 +1546,6 @@
|
|
|
1464
1546
|
});
|
|
1465
1547
|
};
|
|
1466
1548
|
|
|
1467
|
-
const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
|
|
1468
|
-
|
|
1469
1549
|
const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
|
|
1470
1550
|
const BORDER_CLASSES$1 = 'border-main-stroke border-solid border';
|
|
1471
1551
|
const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
|
|
@@ -1473,16 +1553,18 @@
|
|
|
1473
1553
|
const COLS_LENGTH_FOR_SCROLL$1 = 2;
|
|
1474
1554
|
const COLUMN_WIDTH$1 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
|
|
1475
1555
|
|
|
1556
|
+
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES$1} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", image: icon, width: "63", height: "63" })), image?.src && jsx(Img, { className: "mb-[18px]", image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "font-medium text-xs py-[11px]", children: link.text }) }) }))] })));
|
|
1557
|
+
|
|
1476
1558
|
const carouselContainerClassesMap = {
|
|
1477
1559
|
comparison: 'flex gap-4 duration-1000',
|
|
1478
1560
|
tariff: 'flex flex-grow duration-1000',
|
|
1479
1561
|
};
|
|
1480
1562
|
const TableCarouselContainer = JSX(({ children, activeCardIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeCardIndex * columnWidth}px)` }, children: children }) })));
|
|
1481
1563
|
|
|
1482
|
-
const
|
|
1564
|
+
const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
|
|
1483
1565
|
|
|
1484
1566
|
const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeCardIndex, router, handlerDecorator }) => {
|
|
1485
|
-
return (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader"
|
|
1567
|
+
return (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] }));
|
|
1486
1568
|
});
|
|
1487
1569
|
|
|
1488
1570
|
const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
|
|
@@ -1542,10 +1624,10 @@
|
|
|
1542
1624
|
return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeCardIndex: activeCardIndex, router: router, handlerDecorator: handlerDecorator })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn, ...tableArrowScrollProps })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
|
|
1543
1625
|
});
|
|
1544
1626
|
|
|
1545
|
-
const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
|
|
1627
|
+
const ComparisonTable = JSX(({ className = '', context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
|
|
1546
1628
|
const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
|
|
1547
1629
|
const showToggle = () => setIsShowAllRow(!isShowAllRow);
|
|
1548
|
-
return (jsxs(BlockWrapper, { context: context, className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className
|
|
1630
|
+
return (jsxs(BlockWrapper, { context: context, className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className}`, ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { context: context, columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
|
|
1549
1631
|
? renderShowMoreToggleButton({ isShowAllRow, onClick: showToggle })
|
|
1550
1632
|
: null] }));
|
|
1551
1633
|
});
|
|
@@ -1571,6 +1653,7 @@
|
|
|
1571
1653
|
}
|
|
1572
1654
|
catch (err) {
|
|
1573
1655
|
console.error(err);
|
|
1656
|
+
return Promise.resolve();
|
|
1574
1657
|
}
|
|
1575
1658
|
}
|
|
1576
1659
|
const EXCHANGE_RATES_URL = 'https://coins.rshb.ru/api/catalog/vue_storefront_magento_1_currency_rates_average/currency_rates_average/_search?size=10000';
|
|
@@ -1602,33 +1685,17 @@
|
|
|
1602
1685
|
};
|
|
1603
1686
|
const getCurrencyListByRate = (currencyRates) => currencyRates.reduce((result, _) => {
|
|
1604
1687
|
const currencyInfo = _['currency_first'];
|
|
1605
|
-
|
|
1606
|
-
return result;
|
|
1607
|
-
}
|
|
1608
|
-
const currencyCode = currencyInfo.code;
|
|
1688
|
+
const currencyCode = currencyInfo?.code;
|
|
1609
1689
|
if (!result.some((i) => i.code === currencyCode)) {
|
|
1610
1690
|
result.push({
|
|
1611
1691
|
code: currencyCode,
|
|
1612
|
-
buy: Number(_.rate_buy),
|
|
1613
|
-
sell: Number(_.rate_sell),
|
|
1692
|
+
buy: roundRate(Number(_.rate_buy)),
|
|
1693
|
+
sell: roundRate(Number(_.rate_sell)),
|
|
1614
1694
|
});
|
|
1615
1695
|
}
|
|
1616
1696
|
return result;
|
|
1617
1697
|
}, []);
|
|
1618
|
-
const
|
|
1619
|
-
|
|
1620
|
-
function getTileHeadingType(className = '') {
|
|
1621
|
-
const colSpan = getColSpan(className);
|
|
1622
|
-
if (colSpan <= 4) {
|
|
1623
|
-
return 'h4';
|
|
1624
|
-
}
|
|
1625
|
-
else if (colSpan <= 8) {
|
|
1626
|
-
return 'h3';
|
|
1627
|
-
}
|
|
1628
|
-
else {
|
|
1629
|
-
return 'h2';
|
|
1630
|
-
}
|
|
1631
|
-
}
|
|
1698
|
+
const roundRate = (value) => Math.round(value * 1000) / 1000;
|
|
1632
1699
|
|
|
1633
1700
|
var Currency;
|
|
1634
1701
|
(function (Currency) {
|
|
@@ -1643,7 +1710,7 @@
|
|
|
1643
1710
|
});
|
|
1644
1711
|
const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
|
|
1645
1712
|
|
|
1646
|
-
const TABLE_HEAD_STYLE = '
|
|
1713
|
+
const TABLE_HEAD_STYLE = 'text-left text-m text-secondary-text';
|
|
1647
1714
|
const CURRENCY_ICONS_MAP = {
|
|
1648
1715
|
USD: 'DollarIcon',
|
|
1649
1716
|
EUR: 'EuroIcon',
|
|
@@ -1653,10 +1720,10 @@
|
|
|
1653
1720
|
});
|
|
1654
1721
|
const renderCurrencyRow = (exchangeCurrencyItem) => {
|
|
1655
1722
|
const code = exchangeCurrencyItem?.code;
|
|
1656
|
-
return (jsxs("tr", { className: "pb-1", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [code ? jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[code] }, width: "24", height: "24" }) : null, jsx("span", { className: "
|
|
1723
|
+
return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [code ? jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[code] }, width: "24", height: "24" }) : null, jsx("span", { className: "ml-2", children: code })] }) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.sell) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.buy) })] }, code));
|
|
1657
1724
|
};
|
|
1658
1725
|
|
|
1659
|
-
const CurrentLocation = JSX(({ className = '', address, distance }) => (jsxs("div", { className: `flex
|
|
1726
|
+
const CurrentLocation = JSX(({ className = '', address, distance }) => (jsxs("div", { className: `flex ${className}`, children: [jsx(Img, { image: { icon: 'GpsIcon' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-3", children: [address ? jsx("p", { className: "text-primary-main m-0 mb-1 text-l", children: address }) : null, distance ? (jsxs("p", { className: "text-secondary-text m-0 text-m", children: ["\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043E \u043E\u0444\u0438\u0441\u0430 - ", distance] })) : null] })] })));
|
|
1660
1727
|
|
|
1661
1728
|
const roundTo = (value, precision = 2) => {
|
|
1662
1729
|
const factor = Math.pow(10, precision);
|
|
@@ -1686,8 +1753,8 @@
|
|
|
1686
1753
|
[() => true, () => props.handleConvert(props.value)],
|
|
1687
1754
|
])(props)?.();
|
|
1688
1755
|
|
|
1689
|
-
function renderButton() {
|
|
1690
|
-
return (jsx(Button, { className: "
|
|
1756
|
+
function renderButton(button) {
|
|
1757
|
+
return (jsx(Button, { className: "py-4 mr-1", version: button?.version, href: button?.href, target: "_blank", children: button?.text }));
|
|
1691
1758
|
}
|
|
1692
1759
|
|
|
1693
1760
|
const Input = JSX(({ className = '', id, name, type = 'text', placeholder, pattern, value, onChange }) => {
|
|
@@ -1708,10 +1775,10 @@
|
|
|
1708
1775
|
|
|
1709
1776
|
function renderInput(props) {
|
|
1710
1777
|
const { placeholder, rates, selected, value, setValue, setSelected } = props;
|
|
1711
|
-
return (jsxs("div", { className: "relative flex items-center", children: [jsx(Input, { className: "h-
|
|
1778
|
+
return (jsxs("div", { className: "relative flex items-center", children: [jsx(Input, { className: "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: "h-9 -translate-x-4 bg-transparent", value: selected, onChange: (_) => setSelected(_), children: rates.map((_, i) => (jsx(SelectOption, { value: _.code, children: _.code }, String(i)))) })) : null] }));
|
|
1712
1779
|
}
|
|
1713
1780
|
|
|
1714
|
-
const ExchangeCurrencyCalculator = JSX(({ context, className = '', currencyRatesBuy, currencyRatesSell }) => {
|
|
1781
|
+
const ExchangeCurrencyCalculator = JSX(({ context, className = '', currencyRatesBuy, currencyRatesSell, button }) => {
|
|
1715
1782
|
const [calcState, setCalcState] = context.useState({
|
|
1716
1783
|
inputSell: '',
|
|
1717
1784
|
inputBuy: '',
|
|
@@ -1721,7 +1788,7 @@
|
|
|
1721
1788
|
const handleSetCalcState = (newState) => {
|
|
1722
1789
|
setCalcState((oldState) => ({ ...oldState, ...newState }));
|
|
1723
1790
|
};
|
|
1724
|
-
return (jsxs("div", { className: `grid gap-
|
|
1791
|
+
return (jsxs("div", { className: `grid gap-[18px] pt-2 ${className}`, children: [renderInput({
|
|
1725
1792
|
placeholder: 'Хочу продать',
|
|
1726
1793
|
rates: currencyRatesBuy,
|
|
1727
1794
|
selected: calcState.selectSell,
|
|
@@ -1735,7 +1802,7 @@
|
|
|
1735
1802
|
setSelected: handleSelectBuy(calcState, handleSetCalcState, currencyRatesBuy),
|
|
1736
1803
|
value: calcState.inputBuy,
|
|
1737
1804
|
setValue: (value) => handleInputBuy(handleSetCalcState, currencyRatesBuy)(value, calcState.selectBuy, calcState.selectSell),
|
|
1738
|
-
}), renderButton()] }));
|
|
1805
|
+
}), button?.text ? renderButton(button) : null] }));
|
|
1739
1806
|
});
|
|
1740
1807
|
const handleSelectSell = (calcState, setCalcState, currencyRatesSell) => (value) => {
|
|
1741
1808
|
setCalcState({ selectSell: value });
|
|
@@ -1780,22 +1847,15 @@
|
|
|
1780
1847
|
address: 'Москва, ул.Ленина д.28',
|
|
1781
1848
|
distance: '6км',
|
|
1782
1849
|
};
|
|
1783
|
-
const ExchangeRateTile = JSX(({ className = '', context, title = 'Курсы обмена валют', ...rest }) => {
|
|
1850
|
+
const ExchangeRateTile = JSX(({ className = '', context, title = 'Курсы обмена валют', button, ...rest }) => {
|
|
1784
1851
|
const currencyRates = useExchangeRates(context.useAsyncData);
|
|
1785
1852
|
const currencyRatesBuy = currencyRates.filter((_) => _.buy);
|
|
1786
1853
|
currencyRatesBuy.unshift({ code: Currency.RUB });
|
|
1787
1854
|
const currencyRatesSell = currencyRates.filter((_) => _.sell);
|
|
1788
1855
|
currencyRatesSell.push({ code: Currency.RUB });
|
|
1789
|
-
return (jsx(BlockWrapper, { context: context, className: `bg-white text-primary-text font-sans p-9 box-border ${className}`, ...rest, children: jsx(BaseTile, { context: context, title: jsx(Heading, { headingType:
|
|
1856
|
+
return (jsx(BlockWrapper, { context: context, className: `bg-white text-primary-text font-sans p-9 box-border ${className}`, ...rest, children: jsx(BaseTile, { context: context, title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap text-h4" }), children: jsxs("div", { className: "flex", children: [jsxs("div", { className: "mr-14 pt-4", children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-[30px]", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation, { ...DEFAULT_LOCATION })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", context: context, currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
1790
1857
|
});
|
|
1791
1858
|
|
|
1792
|
-
const LOGO_PATHS = [
|
|
1793
|
-
'm13.72 25.51 4.42-4.33v-2.95l-4.42 4.32v2.96Zm0-10.98 4.42-4.35V7.41l-4.42 4.31v2.8Zm0 3.63 4.42-4.33v-2.78l-4.42 4.32v2.8ZM12.46 7.44l-.6-.56V0h-.66v6.22l-.58-.57V0h-.67v5l-.59-.58V0H8.7v6.56l4.44 4.33V0h-.67v7.44Zm1.26 14.35 4.42-4.33v-2.78L13.72 19v2.8Zm-5.03-.61 4.44 4.33v-2.96l-4.44-4.32v2.95Zm8.79-16.76-.59.58V0h-.66v5.66l-.6.56V0h-.66v6.87l-.58.57V0h-.67v10.9l4.42-4.34V0h-.66v4.42Zm-8.79 5.76 4.44 4.35v-2.8L8.69 7.4v2.77Zm0 3.65 4.44 4.33v-2.8l-4.44-4.3v2.77Zm0 3.63 4.44 4.33V19l-4.44-4.31v2.78Zm26.37 2.29H24.3a2.25 2.25 0 0 0 .36-1.22 2.32 2.32 0 0 0-2.33-2.31 2.32 2.32 0 0 0-2.31 2.31c0 .5.16.96.43 1.34a.74.74 0 0 0-.33.61c0 .26.14.49.33.62a2.32 2.32 0 0 0-.43 1.34 2.31 2.31 0 0 0 2.31 2.31 2.32 2.32 0 0 0 2.33-2.31c0-.45-.13-.87-.36-1.22h8.01v.49h-.8v.68h.8v.7h-.8v1.3h.8v-.58h1.17v.58h.79v-1.3h-.79v-.7h.79v-.68h-.79v-.5h1.58a.56.56 0 0 0 .56-.56v-.34a.57.57 0 0 0-.56-.56Zm-11.53 2.7a1.2 1.2 0 0 1-2.4 0c0-.24.08-.47.2-.66l.34-.56a.97.97 0 0 1-.34-.75c0-.3.13-.56.33-.74l-.32-.56a1.13 1.13 0 0 1-.2-.66 1.2 1.2 0 0 1 2.4 0c0 .49-.56 1.65-.56 1.65v.62c-.01.01.55 1.17.55 1.66ZM4.67 18.34v2.89c0 2.75 1.2 4.53 1.9 5.21l4.58 4.5c1.28 1.25 1.5 1.66 1.79 2.37v-3.2c0-2.84-1.44-3.94-2.19-4.67-1.73-1.68-2.89-2.8-3.82-3.73a8.98 8.98 0 0 1-2.26-3.37Zm6.08 14.24c-1.73-1.7-2.89-2.8-3.82-3.73a10 10 0 0 1-2.25-2.98v2.49a7.87 7.87 0 0 0 1.89 5.24l4.58 4.47c1.28 1.25 1.5 1.85 1.79 2.55v-3.37c0-2.85-1.45-3.95-2.19-4.67Z',
|
|
1794
|
-
'M19.88 5.34c-.32 0-.64 0-.96.02V6.7a18.5 18.5 0 1 1 .95 36.94A18.5 18.5 0 0 1 1.35 25.17c0-5.67 2.55-10.73 6.58-14.13V9.32A19.78 19.78 0 0 0 0 25.17C0 36.12 8.9 45 19.88 45a19.85 19.85 0 0 0 19.86-19.83c0-10.95-8.9-19.83-19.87-19.83Z',
|
|
1795
|
-
'M33.93 35.53c.3-.41.6-.85.87-1.3v-2.66h-.87v3.96Zm2.54-4.92c.12-.4.24-.78.34-1.16h-2.88v.7h.43c.77-.02 1.63-.03 2.11.46Zm-19.19-1.27h-.78v7.91h.78v-7.9Z',
|
|
1796
|
-
'M14.7 27.83h2.58c.67 0 1.14.14 1.4.4.27.25.4.72.4 1.38v7.4c0 .66-.12 1.12-.4 1.38-.4.41-1.16.41-1.78.41l-.4-.01v3.5l.78.14v-2.88c1.2 0 1.97-.4 2.34-1.22v4.29h.26l.5-.01V29.74c0-.68.13-1.16.4-1.43.25-.27.72-.4 1.37-.4.67 0 1.65-.1 2.16.4.26.27.38.76.38 1.43v3.8h-1.77v-4.06h-.77v12.99c.26-.03.5-.07.77-.12V34.3h1.77v7.64c.36-.1.72-.21 1.08-.34v-7c0-.8.19-1.4 1-1.67l-.9-4.87h1.8l.3 5.31h.22l.3-5.31h1.88l-1.01 4.87c.84.3 1.01.81 1.01 1.66v4.53a16.63 16.63 0 0 0 1.5-1.27v-9.83h5.25l.1-.72H24.93l.17.89c-.38-.72-1.12-1.08-2.2-1.08h-.77c-1.3 0-2.1.52-2.4 1.55-.27-1.08-1.1-1.62-2.46-1.62h-3.36v14.52c.26.09.52.18.78.25V27.84Zm16.29 5.58-.85-.8.85-4.37v5.17Z',
|
|
1797
|
-
'M27.66 40.79c.27-.14.55-.28.8-.43v-5.98h-.8v6.4Z',
|
|
1798
|
-
];
|
|
1799
1859
|
const SVG_COLOR = {
|
|
1800
1860
|
'bg-white': 'text-primary-main',
|
|
1801
1861
|
transparent: 'text-white',
|
|
@@ -1805,19 +1865,33 @@
|
|
|
1805
1865
|
transparent: 'text-white',
|
|
1806
1866
|
};
|
|
1807
1867
|
const Logo = JSX(({ className = '', href, logo, children = logo?.title, targetBlank, bgColor = 'bg-white', hideTitle, }) => {
|
|
1808
|
-
return (jsxs("a", { className: `inline-flex items-center font-sans no-underline ${className}`, href: href || '/', target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [logo?.image?.src ? (jsx(Img, { image: logo.image, className: SVG_COLOR[bgColor], width: "40", height: "45", asSVG: true })) : (jsx(
|
|
1868
|
+
return (jsxs("a", { className: `inline-flex items-center font-sans no-underline ${className}`, href: href || '/', target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [logo?.image?.src ? (jsx(Img, { image: logo.image, className: SVG_COLOR[bgColor], width: "40", height: "45", asSVG: true })) : (jsx(Img, { image: { icon: 'Logo' }, className: `${SVG_COLOR[bgColor]} w-10`, width: "40", height: "45", asSVG: true })), hideTitle ? null : renderTitle(children, bgColor, logo?.title)] }));
|
|
1809
1869
|
});
|
|
1810
1870
|
const renderTitle = (children, bgColor, title) => {
|
|
1811
1871
|
const text = children || title || 'Россельхозбанк';
|
|
1812
1872
|
return jsx("span", { className: `${TEXT_COLOR[bgColor]} font-medium ml-2.5`, children: text });
|
|
1813
1873
|
};
|
|
1814
1874
|
|
|
1815
|
-
const
|
|
1875
|
+
const SearchBarInner = JSX(({ className, context, isMobile = false }) => {
|
|
1816
1876
|
const { term, setTerm } = context.useSearch();
|
|
1817
|
-
|
|
1877
|
+
const LoupeIconClassName = isMobile ? 'w-[20px] h-[20px]' : 'w-[24px] h-[24px]';
|
|
1878
|
+
const SearchBarLabelClassName = isMobile ? 'font-normal text-sm' : 'font-light text-base';
|
|
1879
|
+
const SearchBarInputClassName = isMobile
|
|
1880
|
+
? ' placeholder-transparent font-normal'
|
|
1881
|
+
: 'font-light h-full';
|
|
1882
|
+
const inputPlaceholder = isMobile ? 'some search' : undefined;
|
|
1883
|
+
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsxs("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: [jsx("div", { className: LoupeIconClassName, children: jsx(Img, { image: "LoupeIcon", width: "24", height: "24" }) }), term ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text ${SearchBarLabelClassName}`, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443" }))] }), jsx("input", { id: "search-bar-input", className: `h-12 pl-12 w-full peer text-base text-black border border-solid rounded box-border
|
|
1884
|
+
outline-none pr-[6%] border-main-divider 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) => {
|
|
1818
1885
|
e.preventDefault();
|
|
1886
|
+
setTerm('');
|
|
1887
|
+
}, 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) => {
|
|
1888
|
+
ev?.preventDefault();
|
|
1819
1889
|
console.log('click');
|
|
1820
|
-
}, children: jsx("div", { className: "font-normal text-sm px-9 py-[9px]", children: "\u041D\u0430\u0439\u0442\u0438" }) })] }));
|
|
1890
|
+
}, children: jsx("div", { className: "font-normal text-sm px-9 py-[9px]", children: "\u041D\u0430\u0439\u0442\u0438" }) }))] }));
|
|
1891
|
+
});
|
|
1892
|
+
|
|
1893
|
+
const SearchBar = JSX(({ className = '', context }) => {
|
|
1894
|
+
return jsx(SearchBarInner, { context: context, className: className });
|
|
1821
1895
|
});
|
|
1822
1896
|
|
|
1823
1897
|
const Contacts = JSX(({ className = '', items, hasButton, context }) => {
|
|
@@ -1845,12 +1919,13 @@
|
|
|
1845
1919
|
};
|
|
1846
1920
|
const formatTel = (s) => s.replaceAll(/\D/g, '');
|
|
1847
1921
|
|
|
1922
|
+
const HorizontalNavigationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `font-sans text-secondary-text hover:text-primary-main inline-block no-underline ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
|
|
1923
|
+
|
|
1848
1924
|
const HorizontalNavigation = JSX(({ links, className = '', context }) => {
|
|
1849
1925
|
const router = context.useRouter();
|
|
1850
1926
|
const { handlerDecorator } = context;
|
|
1851
|
-
return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null }));
|
|
1927
|
+
return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "font-light max-w-[292px]", ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null }));
|
|
1852
1928
|
});
|
|
1853
|
-
const HorizontalNavigationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `font-sans font-light text-secondary-text hover:text-primary-main inline-block no-underline max-w-[292px] ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
|
|
1854
1929
|
|
|
1855
1930
|
const cmp = (a) => (b) => a?.href === b?.href;
|
|
1856
1931
|
const substitute = (items, substitution) => (items || []).map((_) => substitution?.find(cmp(_)) || _);
|
|
@@ -1920,7 +1995,8 @@
|
|
|
1920
1995
|
? 'bg-secondary-light hover:bg-secondary-hover'
|
|
1921
1996
|
: 'border-main-divider border-solid border-[1px] hover:bg-primary-main';
|
|
1922
1997
|
const isPrimary = version === 'primary';
|
|
1923
|
-
|
|
1998
|
+
const imageClassName = isPrimary ? 'group-hover:text-white' : '';
|
|
1999
|
+
return (jsx("a", { className: `flex items-center justify-center rounded-md w-14 h-14 group box-border ${classes} ${isPrimary ? 'hover:text-black' : ''}`, href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", children: icon ? (jsx(Img, { image: icon, imageClassName: imageClassName, width: "24", height: "24", asSVG: true })) : null }));
|
|
1924
2000
|
});
|
|
1925
2001
|
|
|
1926
2002
|
const SocialMedia = JSX(({ className = '', media, version, context, children }) => {
|
|
@@ -1929,12 +2005,13 @@
|
|
|
1929
2005
|
return (jsxs("div", { children: [jsx("div", { className: `flex gap-2.5 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { version: version, ...useLink({ router, handlerDecorator }, _) }, String(index)))) }), jsx("span", { className: "font-light text-sm text-secondary-text", children: children })] }));
|
|
1930
2006
|
});
|
|
1931
2007
|
|
|
2008
|
+
const TextInformationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `font-sans text-xs text-secondary-text visited:text-secondary-text hover:text-primary-text inline-block no-underline max-w-[292px] ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
|
|
2009
|
+
|
|
1932
2010
|
const TextInformation = JSX(({ className, links, context }) => {
|
|
1933
2011
|
const router = context.useRouter();
|
|
1934
2012
|
const { handlerDecorator } = context;
|
|
1935
|
-
return (jsxs("div", { className: `${className || ''}`, children: [jsx("div", { className: "pt-5", children: jsx("span", { className: "font-sans font-light text-xs text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-2.5", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null] }));
|
|
2013
|
+
return (jsxs("div", { className: `${className || ''}`, children: [jsx("div", { className: "pt-5", children: jsx("span", { className: "font-sans font-light text-xs text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-2.5", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, className: "font-light", ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null] }));
|
|
1936
2014
|
});
|
|
1937
|
-
const TextInformationLink = JSX(({ className, index, text, href, target, onClick }) => (jsx("a", { className: `font-sans font-light text-xs text-secondary-text visited:text-secondary-text hover:text-primary-text inline-block no-underline max-w-[292px] ${className || ''}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
|
|
1938
2015
|
|
|
1939
2016
|
const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
|
|
1940
2017
|
const Footer = JSX(({ className, documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems, context, ...rest }) => {
|
|
@@ -1968,7 +2045,7 @@
|
|
|
1968
2045
|
};
|
|
1969
2046
|
|
|
1970
2047
|
const GroupBlocksItem = JSX(({ groupBlocks, context }) => {
|
|
1971
|
-
return (jsx("div", { className: "grid grid-cols-12 gap-
|
|
2048
|
+
return (jsx("div", { className: "grid grid-cols-12 gap-1 box-border", children: groupBlocks?.length ? groupBlocks.map(renderBlock$1(context)) : null }));
|
|
1972
2049
|
});
|
|
1973
2050
|
const renderBlock$1 = (context) => (block, i) => {
|
|
1974
2051
|
const type = block?.blockType;
|
|
@@ -1981,17 +2058,19 @@
|
|
|
1981
2058
|
};
|
|
1982
2059
|
|
|
1983
2060
|
const GroupBlockTabs = JSX((props) => {
|
|
1984
|
-
const { tabs, currentTag,
|
|
1985
|
-
return (jsx("div", { className: `
|
|
2061
|
+
const { className = '', tabs, currentTag, isShowCounter = false, onTabClick } = props;
|
|
2062
|
+
return (jsx("div", { className: `box-border flex gap-x-1 h-14 ${className}`, role: "tablist", children: tabs?.map(renderTab$1({ currentTag, isShowCounter, onTabClick })) }));
|
|
1986
2063
|
});
|
|
1987
|
-
const badgeStyle = 'min-w-[22px] w-[22px] h-[22px] rounded-full text-
|
|
1988
|
-
const renderTab$1 = (
|
|
2064
|
+
const badgeStyle = 'min-w-[22px] w-[22px] h-[22px] rounded-full text-xs ml-2';
|
|
2065
|
+
const renderTab$1 = ({ currentTag, isShowCounter, onTabClick }) => (tab, i) => {
|
|
1989
2066
|
const isActive = currentTag === tab.tag;
|
|
1990
2067
|
const tabBg = isActive ? 'bg-primary-main' : 'group bg-white';
|
|
1991
|
-
const tabText = isActive ? 'text-white' : 'text-secondary-text group-hover:text-primary-main'
|
|
1992
|
-
const counterBlockStyle = `${badgeStyle}
|
|
1993
|
-
${isActive
|
|
1994
|
-
|
|
2068
|
+
const tabText = `text-m ${isActive ? 'text-white' : 'text-secondary-text group-hover:text-primary-main'}`;
|
|
2069
|
+
const counterBlockStyle = `${badgeStyle}
|
|
2070
|
+
${isActive
|
|
2071
|
+
? 'bg-white/30 text-white'
|
|
2072
|
+
: 'bg-main-divider text-secondary-text group-hover:text-primary-main'}`;
|
|
2073
|
+
return (jsxs("div", { className: `flex-1 flex items-center justify-center cursor-pointer ${tabBg}`, role: "tab", onClick: () => onTabClick(tab.tag), "aria-selected": isActive, children: [tab?.title ? jsx("div", { className: tabText, children: tab.title }) : null, isShowCounter ? (jsx("div", { className: `flex items-center justify-center ${counterBlockStyle}`, children: tab.count })) : null] }, String(i)));
|
|
1995
2074
|
};
|
|
1996
2075
|
|
|
1997
2076
|
const GroupBlock = JSX(({ className = '', tabs, context, groupBlocks = [], isShowCounter, ...rest }) => {
|
|
@@ -2003,7 +2082,7 @@
|
|
|
2003
2082
|
: groupBlocks.length;
|
|
2004
2083
|
return { ...tab, count };
|
|
2005
2084
|
});
|
|
2006
|
-
return (jsxs(BlockWrapper, { context: context, className: `box-border
|
|
2085
|
+
return (jsxs(BlockWrapper, { context: context, className: `box-border ${className}`, ...rest, children: [tabsNewMap?.length ? (jsx(GroupBlockTabs, { currentTag: currentTag, onTabClick: setCurrentTag, tabs: tabsNewMap, isShowCounter: isShowCounter })) : null, groupBlocks.length ? (jsx("div", { className: "mt-1", children: jsx(GroupBlocksItem, { context: context, groupBlocks: filteredBlocks }) })) : null] }));
|
|
2007
2086
|
});
|
|
2008
2087
|
|
|
2009
2088
|
const checkIsHrefSameOrigin = (href, router) => getOrigin(href) === getOrigin(router.href);
|
|
@@ -2059,23 +2138,22 @@
|
|
|
2059
2138
|
|
|
2060
2139
|
const findActiveSubItem = (router) => (items = []) => {
|
|
2061
2140
|
const possibleActiveSubItems = items?.filter(isSubItemActive(router));
|
|
2062
|
-
|
|
2141
|
+
return possibleActiveSubItems?.length
|
|
2063
2142
|
? maxBy((_) => _.href?.length || 0)(possibleActiveSubItems) // More specific item with max length
|
|
2064
|
-
:
|
|
2065
|
-
return activeSubItem;
|
|
2143
|
+
: undefined;
|
|
2066
2144
|
};
|
|
2067
2145
|
|
|
2068
2146
|
const TEXT_CLASSES$1 = 'font-sans font-light text-base';
|
|
2069
2147
|
const BORDER_CLASSES = 'absolute left-0 -bottom-3 w-full h-[2px]';
|
|
2070
2148
|
const HeaderItem = JSX(({ className = '', text, href, target, active, onClick, children, bgColor = 'bg-white', dataItemName, }) => (jsxs("a", { className: `relative inline-block bg-transparent text-center no-underline ${className}`, href: href, target: target, onClick: onClick, "data-item-name": dataItemName, children: [jsx("span", { className: getTextClasses$1(bgColor, active), children: text || children }), active ? jsx("div", { className: getBorderClasses(bgColor, active) }) : null] })));
|
|
2071
|
-
const getTextClasses$1 = (bgColor, active) => {
|
|
2149
|
+
const getTextClasses$1 = (bgColor, active = false) => {
|
|
2072
2150
|
let classes = 'text-white';
|
|
2073
2151
|
if (bgColor === 'bg-white') {
|
|
2074
2152
|
classes = active ? 'text-primary-main' : 'text-primary-text hover:text-primary-main';
|
|
2075
2153
|
}
|
|
2076
2154
|
return `${classes} ${TEXT_CLASSES$1}`;
|
|
2077
2155
|
};
|
|
2078
|
-
const getBorderClasses = (bgColor, active) => {
|
|
2156
|
+
const getBorderClasses = (bgColor, active = false) => {
|
|
2079
2157
|
if (!active) {
|
|
2080
2158
|
return BORDER_CLASSES;
|
|
2081
2159
|
}
|
|
@@ -2087,12 +2165,15 @@
|
|
|
2087
2165
|
transparent: 'bg-white',
|
|
2088
2166
|
};
|
|
2089
2167
|
const DropdownMenu = JSX((props) => {
|
|
2090
|
-
const { menuVisible, toggleMenu, menuItems, bgColor, context } = props;
|
|
2168
|
+
const { menuVisible, toggleMenu, menuItems, bgColor, context, activeSubItem } = props;
|
|
2091
2169
|
const { useRouter, handlerDecorator } = context;
|
|
2092
2170
|
const router = useRouter();
|
|
2093
|
-
return (jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${menuVisible ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleMenu, "aria-label": `${menuVisible ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3).fill(bgColor).map(renderDot) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${menuVisible ? '' : 'hidden'}`, "aria-hidden": !menuVisible, children: renderDotsSubMenuItems(menuItems, router, handlerDecorator) })] }));
|
|
2171
|
+
return (jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${menuVisible ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleMenu, "aria-label": `${menuVisible ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3).fill(bgColor).map(renderDot) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${menuVisible ? '' : 'hidden'}`, "aria-hidden": !menuVisible, children: renderDotsSubMenuItems({ menuItems, router, handlerDecorator, activeSubItem }) })] }));
|
|
2094
2172
|
});
|
|
2095
|
-
const renderDotsSubMenuItems = (menuItems, router, handlerDecorator
|
|
2173
|
+
const renderDotsSubMenuItems = ({ menuItems, router, handlerDecorator, activeSubItem, }) => {
|
|
2174
|
+
const isActive = (item) => item === activeSubItem;
|
|
2175
|
+
return menuItems?.map((_) => (jsx("a", { ...useLink({ router, handlerDecorator }, _), className: `text-base font-light pb-4 hover:text-primary-main ${isActive(_) ? 'text-primary-main' : ''}`, children: _.text }, _.href)));
|
|
2176
|
+
};
|
|
2096
2177
|
const renderDot = (bgColor, i) => (jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
|
|
2097
2178
|
|
|
2098
2179
|
const HeaderSubMenu = JSX(({ context, subItems = [], bgColor }) => {
|
|
@@ -2115,7 +2196,7 @@
|
|
|
2115
2196
|
setVisibleItemsCount((prev) => Math.max(prev, itemIndex + 1));
|
|
2116
2197
|
}
|
|
2117
2198
|
};
|
|
2118
|
-
return (jsxs("nav", { className: "relative mt-5", children: [jsx("div", { className: "overflow-hidden whitespace-nowrap mr-52", children: subItems.map((_, i) => (jsx(IntersectionObserverTag, { Tag: "span", observerCallback: observerCallback(i), observerOptions: { threshold: 1 }, children: jsx(HeaderItem, { className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, ...useLink({ router, handlerDecorator }, _), bgColor: bgColor }) }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { context: context, menuVisible: menuVisible, toggleMenu: toggleMenu, menuItems: dropDownMenuItems, bgColor: bgColor })) : null] }));
|
|
2199
|
+
return (jsxs("nav", { className: "relative mt-5", children: [jsx("div", { className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(IntersectionObserverTag, { Tag: "span", observerCallback: observerCallback(i), observerOptions: { threshold: 1 }, children: jsx(HeaderItem, { className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, ...useLink({ router, handlerDecorator }, _), bgColor: bgColor }) }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { context: context, activeSubItem: activeSubItem, menuVisible: menuVisible, toggleMenu: toggleMenu, menuItems: dropDownMenuItems, bgColor: bgColor })) : null] }));
|
|
2119
2200
|
});
|
|
2120
2201
|
|
|
2121
2202
|
const BORDER_COLORS = {
|
|
@@ -2129,14 +2210,14 @@
|
|
|
2129
2210
|
const mergedItems = mergeTopItems(sitemap.topItems, topItems);
|
|
2130
2211
|
const activeTopItem = mergedItems.find(isTopItemActive(router));
|
|
2131
2212
|
const topMenu = mergedItems.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ...useLink({ router, handlerDecorator }, _), "aria-label": _.text, bgColor: bgColor }, String(i))));
|
|
2132
|
-
return (jsx(BlockWrapper, { Tag: "header", context: context, className: `pt-6 pb-
|
|
2213
|
+
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, { context: context, 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] }) }));
|
|
2133
2214
|
});
|
|
2134
2215
|
|
|
2135
|
-
const Insurance = JSX(({ className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
|
|
2136
|
-
return (jsxs(BlockWrapper, { className: `px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`, ...rest, children: [
|
|
2216
|
+
const Insurance = JSX(({ context, className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
|
|
2217
|
+
return (jsxs(BlockWrapper, { className: `px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), jsx("div", { children: jsxs("div", { className: "mt-5 mx-auto flex justify-center gap-[122px] mt-[30px]", children: [image?.src ? jsx(Img, { image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] }) })] }));
|
|
2137
2218
|
});
|
|
2138
2219
|
function renderBenefit(benefit, i) {
|
|
2139
|
-
return (jsxs("div", { className: "flex items-center gap-4", children: [benefit?.icon ? (jsx(Img, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light", image: benefit.icon, asSVG: true })) : null, jsxs("div", { children: [benefit?.label ? jsx("div", { className: "text-
|
|
2220
|
+
return (jsxs("div", { className: "flex items-center gap-4", children: [benefit?.icon ? (jsx(Img, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light", image: benefit.icon, asSVG: true })) : null, jsxs("div", { children: [benefit?.label ? jsx("div", { className: "text-h6", children: benefit.label }) : null, benefit?.description ? (jsx("div", { className: "mt-0.5 text-secondary-text text-m", children: benefit.description })) : null] })] }, String(i)));
|
|
2140
2221
|
}
|
|
2141
2222
|
function renderInsuranceSumMonth(sum, monthLimit) {
|
|
2142
2223
|
return sum || monthLimit ? (jsxs("div", { className: "bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4", children: [Number.isFinite(sum) ? renderValueBlock$1('Страховая сумма:', sum, Boolean(monthLimit)) : null, Number.isFinite(monthLimit)
|
|
@@ -2145,7 +2226,7 @@
|
|
|
2145
2226
|
}
|
|
2146
2227
|
function renderValueBlock$1(title, sum, isAnotherBlock) {
|
|
2147
2228
|
const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
|
|
2148
|
-
return (jsxs("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [jsx("span", { className: "text-secondary-text text-
|
|
2229
|
+
return (jsxs("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [jsx("span", { className: "text-secondary-text text-l-light", children: title }), jsxs("span", { className: "text-primary-main text-h6", children: [addSpacesBetweenNumbers(sum), " \u20BD"] })] }));
|
|
2149
2230
|
}
|
|
2150
2231
|
|
|
2151
2232
|
const InsuranceAmountBlockInner = JSX(({ className = '', context, cards = [] }) => {
|
|
@@ -2158,20 +2239,21 @@
|
|
|
2158
2239
|
const showNextButton = isGalleryScrollAvailable && galleryLength > tabsShift + 2;
|
|
2159
2240
|
const isLastShift = galleryLength === tabsShift + 2;
|
|
2160
2241
|
const showPrevButton = tabsShift > 0;
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2242
|
+
const activeHref = cards[activeSlideIndex]?.href;
|
|
2243
|
+
return (jsxs("section", { role: "listitem", className: `min-w-full text-center ${className}`, children: [jsxs("div", { className: "relative mt-7 overflow-hidden", children: [galleryLength
|
|
2244
|
+
? renderGallery({
|
|
2245
|
+
tabsShift,
|
|
2246
|
+
cards,
|
|
2247
|
+
activeSlideIndex,
|
|
2248
|
+
isLastShift,
|
|
2249
|
+
setActiveSlideIndex,
|
|
2250
|
+
})
|
|
2251
|
+
: null, renderArrows({
|
|
2252
|
+
handler: [handlePrevClick, handleNextClick],
|
|
2253
|
+
isShown: [showPrevButton, showNextButton],
|
|
2254
|
+
btnClass: ['left-[50px]', 'right-[50px]'],
|
|
2255
|
+
className: 'top-[62px]',
|
|
2256
|
+
}), showPrevButton ? (jsx("div", { className: "absolute top-0 left-0 h-full w-[136px] bg-opacity-from-white" })) : null, showNextButton ? (jsx("div", { className: "absolute top-0 right-0 h-full w-[136px] bg-opacity-to-white" })) : null] }), jsx(Button, { className: "w-[240px] p-4 text-center", version: "primary", href: activeHref, children: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0443" })] }));
|
|
2175
2257
|
});
|
|
2176
2258
|
function renderGallery({ tabsShift, cards, activeSlideIndex, isLastShift, setActiveSlideIndex, }) {
|
|
2177
2259
|
const tabsShiftWidth = isLastShift ? tabsShift * 460 - 240 : tabsShift * 460;
|
|
@@ -2187,32 +2269,32 @@
|
|
|
2187
2269
|
const btnClassName = isActiveBtn
|
|
2188
2270
|
? 'shadow-dark-blue/42 border-primary-main'
|
|
2189
2271
|
: `ease-in duration-300 border-main-stroke`;
|
|
2190
|
-
return (jsxs("button", { type: "button", onClick: onClick, className: `p-[30px] min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className:
|
|
2272
|
+
return (jsxs("button", { type: "button", onClick: onClick, className: `p-[30px] min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-3 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "70", height: "70" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActiveBtn)] }, String(i)));
|
|
2191
2273
|
}
|
|
2192
2274
|
function renderValueBlock(title, sum) {
|
|
2193
|
-
return (jsxs("div", { className: "flex flex-col text-left", children: [jsxs("span", { className: "
|
|
2275
|
+
return (jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [jsxs("span", { className: "text-h6", children: [addSpacesBetweenNumbers(sum), " \u20BD"] }), jsx("span", { className: "text-secondary-text text-l mt-1", children: title })] }));
|
|
2194
2276
|
}
|
|
2195
2277
|
function renderDoneIcon(isActive) {
|
|
2196
2278
|
return isActive ? (jsx(Img, { className: `h-[24px] w-[24px] min-w-[24px] min-h-[24px] absolute right-4 top-4`, image: "DoneIcon", width: "24", height: "24" })) : null;
|
|
2197
2279
|
}
|
|
2198
2280
|
|
|
2199
|
-
const InsuranceAmountBlock = JSX(({ className = '', context, title, insuranceTabs = [],
|
|
2281
|
+
const InsuranceAmountBlock = JSX(({ className = '', context, title, insuranceTabs = [], ...rest }) => {
|
|
2200
2282
|
const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
|
|
2201
|
-
return (jsxs(BlockWrapper, { context: context, className: `box-border py-[50px] overflow-hidden relative font-sans w-100 bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "text-center", title: title, headingType: "h3" }) : null, jsx("div", { className: "p-1.5 bg-secondary-light w-fit m-auto rounded-md mt-[34px]", children: insuranceTabs.map((item, i) => renderNavButton$1({
|
|
2283
|
+
return (jsxs(BlockWrapper, { context: context, className: `box-border py-[50px] overflow-hidden relative font-sans w-100 bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "text-center", title: title, headingType: "h3" }) : null, insuranceTabs?.length > 1 ? (jsx("div", { className: "p-1.5 bg-secondary-light w-fit m-auto rounded-md mt-[34px]", children: insuranceTabs.map((item, i) => renderNavButton$1({
|
|
2202
2284
|
title: item?.title,
|
|
2203
2285
|
i,
|
|
2204
2286
|
activeSlideIndex,
|
|
2205
2287
|
onClick: () => setActiveSlideIndex(i),
|
|
2206
|
-
})) }), jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: renderInsuranceGalleries({
|
|
2288
|
+
})) })) : null, jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: renderInsuranceGalleries({
|
|
2207
2289
|
context,
|
|
2208
2290
|
className,
|
|
2209
2291
|
insuranceTabs,
|
|
2210
|
-
}) })
|
|
2292
|
+
}) })] }));
|
|
2211
2293
|
});
|
|
2212
2294
|
const renderInsuranceGalleries = ({ insuranceTabs, context, className = '', }) => {
|
|
2213
2295
|
const insuranceGalleries = insuranceTabs?.map((_) => _.cards);
|
|
2214
2296
|
return insuranceGalleries?.length
|
|
2215
|
-
? insuranceGalleries.map((cards) => (jsx(InsuranceAmountBlockInner, { context: context, className: className, cards: cards })))
|
|
2297
|
+
? insuranceGalleries.map((cards, i) => (jsx(InsuranceAmountBlockInner, { context: context, className: className, cards: cards }, String(i))))
|
|
2216
2298
|
: null;
|
|
2217
2299
|
};
|
|
2218
2300
|
function renderNavButton$1({ title, i, activeSlideIndex, onClick }) {
|
|
@@ -2220,7 +2302,7 @@
|
|
|
2220
2302
|
const btnClassName = isActiveBtn
|
|
2221
2303
|
? 'bg-primary-main text-white rounded-md'
|
|
2222
2304
|
: `text-secondary-text`;
|
|
2223
|
-
return (jsx("button", { type: "button", onClick: onClick, "aria-label": title, className: `box-border px-4 py-3 text-m
|
|
2305
|
+
return (jsx("button", { type: "button", onClick: onClick, "aria-label": title, className: `box-border px-4 py-3 text-m ${btnClassName}`, children: title }, String(i)));
|
|
2224
2306
|
}
|
|
2225
2307
|
|
|
2226
2308
|
const mobileAppStyleMap = {
|
|
@@ -2232,11 +2314,11 @@
|
|
|
2232
2314
|
return (jsxs(BlockWrapper, { context: context, className: `flex justify-between font-sans p-9 box-border relative
|
|
2233
2315
|
${getTileRightPadding(className)} ${getTileMinHeight(className)}
|
|
2234
2316
|
${mobileAppStyleMap[version]}
|
|
2235
|
-
${className}`, ...rest, children: [jsx(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: "h3", title: title, className: `whitespace-pre-wrap max-w-[509px] mb-6
|
|
2236
|
-
${textColorClass}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-[30px] gap-4" })) : null, children: jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "122", height: "122", className: "w-[122px] h-[122px] min-w-[122px] min-h-[122px] bg-secondary-light mr-
|
|
2317
|
+
${className}`, ...rest, children: [jsx(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: "h4", as: "h3", title: title, className: `whitespace-pre-wrap max-w-[509px] mb-6
|
|
2318
|
+
${textColorClass}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-[30px] gap-4" })) : null, children: jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "122", height: "122", className: "w-[122px] h-[122px] min-w-[122px] min-h-[122px] bg-secondary-light mr-4 rounded-md" }) })), renderList$1(version, items)] }) }), image?.src ? (jsx("div", { className: "absolute right-0 bottom-0", children: jsx(Img, { image: image }) })) : null] }));
|
|
2237
2319
|
});
|
|
2238
2320
|
const renderList$1 = (version, items) => {
|
|
2239
|
-
return items?.length ? (jsx(List, { items: items, itemClassName: "base font-light mb-2 last:mb-0", version: version === 'primary' ? 'tile' : 'tile-white' })) : (jsx("span", { className: "
|
|
2321
|
+
return items?.length ? (jsx(List, { items: items, itemClassName: "base font-light mb-2 last:mb-0", version: version === 'primary' ? 'tile' : 'tile-white' })) : (jsx("span", { className: "text-m 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" }));
|
|
2240
2322
|
};
|
|
2241
2323
|
|
|
2242
2324
|
const NavigationItem = JSX(({ className, text, onClick, href, target, isActive }) => (jsx("a", { className: `bg-inherit no-underline px-4 py-2.5 cursor-pointer rounded text-sm border border-solid hover:text-primary-main ${className || ''} ${isActive ? 'border-primary-main text-primary-main' : 'border-white text-secondary-text'}`, onClick: onClick, href: href, target: target, children: text })));
|
|
@@ -2250,14 +2332,14 @@
|
|
|
2250
2332
|
.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] }));
|
|
2251
2333
|
});
|
|
2252
2334
|
|
|
2253
|
-
const TEXT_CLASSES = 'font-sans
|
|
2335
|
+
const TEXT_CLASSES = 'font-sans text-m';
|
|
2254
2336
|
const LINK_CLASSES = 'flex-1 flex items-center justify-center cursor-pointer';
|
|
2255
2337
|
const NavigatorTabItem = JSX(({ className = '', text, active, onClick, href, target = '_self', children }) => (jsx("a", { className: getLinkClasses(className, active), target: target, href: href, onClick: onClick, children: jsx("span", { className: getTextClasses(active), children: text || children }) })));
|
|
2256
|
-
const getLinkClasses = (className, active) => {
|
|
2338
|
+
const getLinkClasses = (className, active = false) => {
|
|
2257
2339
|
const classes = active ? 'bg-primary-main' : 'group bg-white';
|
|
2258
2340
|
return `${classes} ${LINK_CLASSES} ${className}`;
|
|
2259
2341
|
};
|
|
2260
|
-
const getTextClasses = (active) => {
|
|
2342
|
+
const getTextClasses = (active = false) => {
|
|
2261
2343
|
const classes = active ? 'text-white' : 'text-secondary-text group-hover:text-primary-main ';
|
|
2262
2344
|
return `${classes} ${TEXT_CLASSES}`;
|
|
2263
2345
|
};
|
|
@@ -2298,8 +2380,10 @@
|
|
|
2298
2380
|
context,
|
|
2299
2381
|
initialState: isUnfolded,
|
|
2300
2382
|
});
|
|
2301
|
-
|
|
2302
|
-
|
|
2383
|
+
const buttonClassName = foldButtonClasses ||
|
|
2384
|
+
'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-base flex justify-center cursor-pointer';
|
|
2385
|
+
const getFoldButtonLabel = isActive ? 'Скрыть' : foldButtonLabel;
|
|
2386
|
+
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, { name: icon, iconVersion: "white", width: "20", height: "20", asSVG: true }) : null] })) : null] })) : null;
|
|
2303
2387
|
});
|
|
2304
2388
|
const renderBlocks = (blocks, render, { blocksToHide, isActive, containerClasses }) => {
|
|
2305
2389
|
const visibleBlocks = blocks.slice(0, blocks.length - blocksToHide);
|
|
@@ -2312,7 +2396,7 @@
|
|
|
2312
2396
|
context,
|
|
2313
2397
|
blocks,
|
|
2314
2398
|
});
|
|
2315
|
-
return (jsx("div", { className: "border-0 border-b border-solid border-main-divider", children: blocks?.length ? (jsx(Foldable, { foldButtonDataTheme: dataTheme, hiddenBlocksNum: blocks?.length, blocks: foldableBlocks, isUnfolded: isUnfolded, context: context, foldButtonLabel: label, containerClasses: "grid grid-cols-12 gap-1 border-box", render: (children
|
|
2399
|
+
return (jsx("div", { className: "border-0 border-b border-solid border-main-divider", children: blocks?.length ? (jsx(Foldable, { foldButtonDataTheme: dataTheme, hiddenBlocksNum: blocks?.length, blocks: foldableBlocks, isUnfolded: isUnfolded, context: context, foldButtonLabel: label, containerClasses: "grid grid-cols-12 gap-1 border-box", render: (children) => jsx(Wrapper$1, { children: children }) })) : null }));
|
|
2316
2400
|
});
|
|
2317
2401
|
const Wrapper$1 = JSX(({ children }) => {
|
|
2318
2402
|
return jsx("div", { className: "box-border", children: children });
|
|
@@ -2322,9 +2406,22 @@
|
|
|
2322
2406
|
return (jsx(BlockWrapper, { context: context, className: `font-sans text-primary-text ${className}`, ...rest, children: blockItems?.length ? (jsx("div", { className: "box-border1", children: blockItems.map((item, i) => (jsx(OtherProductsItem, { ...item, dataTheme: colorPalette, context: context }, `BlockItem${i}`))) })) : null }));
|
|
2323
2407
|
});
|
|
2324
2408
|
|
|
2409
|
+
function getTileHeadingType(className = '') {
|
|
2410
|
+
const colSpan = getColSpan(className);
|
|
2411
|
+
if (colSpan <= 4) {
|
|
2412
|
+
return 'S';
|
|
2413
|
+
}
|
|
2414
|
+
else if (colSpan <= 8) {
|
|
2415
|
+
return 'M';
|
|
2416
|
+
}
|
|
2417
|
+
else {
|
|
2418
|
+
return 'L';
|
|
2419
|
+
}
|
|
2420
|
+
}
|
|
2421
|
+
|
|
2325
2422
|
const GOLDEN_RATIO = 1.618;
|
|
2326
2423
|
const Placeholder = JSX(({ className, context, title, description = 'Блок в разработке...', ...rest }) => {
|
|
2327
|
-
return (
|
|
2424
|
+
return (jsxs(BlockWrapper, { context: context, className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: [jsx(Headline, { context: context, className: "!p-0 max-w-[600px]", title: title, description: description, headlineVersion: getTileHeadingType(className) }), jsx("figure", { className: "m-0 min-w-[600px]", children: renderShimmer() })] }));
|
|
2328
2425
|
});
|
|
2329
2426
|
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
2330
2427
|
.map((_) => Math.floor(_))
|
|
@@ -2385,7 +2482,7 @@
|
|
|
2385
2482
|
secondary: 'bg-primary-main text-white',
|
|
2386
2483
|
};
|
|
2387
2484
|
const PromoTile = JSX(({ className = '', context, title = 'Акции и спецпредложения', date, description, buttons = [], version = 'primary', ...rest }) => {
|
|
2388
|
-
return (jsx(BlockWrapper, { context: context, className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${promoTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsx(BaseTile, { context: context, title: title ? (jsx(
|
|
2485
|
+
return (jsx(BlockWrapper, { context: context, className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${promoTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsx(BaseTile, { context: context, title: title ? (jsx("div", { children: jsx(Headline, { context: context, title: title, className: `!p-0 max-w-[600px]`, headlineVersion: getTileHeadingType(className), bgColorHeadline: version }) })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: jsxs("div", { className: "mt-1.5", children: [date ? jsx("div", { className: "text-sm mb-2", children: formatDate(date) }) : null, jsx("div", { className: "text-base", children: description })] }) }) }));
|
|
2389
2486
|
});
|
|
2390
2487
|
function formatDate(date) {
|
|
2391
2488
|
const dateObj = new Date(date);
|
|
@@ -2440,13 +2537,15 @@
|
|
|
2440
2537
|
background: 'bg-white',
|
|
2441
2538
|
title: 'text-primary-text',
|
|
2442
2539
|
description: 'text-secondary-text',
|
|
2443
|
-
|
|
2540
|
+
iconText: 'text-secondary-text',
|
|
2541
|
+
iconBackground: 'bg-main-divider',
|
|
2444
2542
|
iconConnector: 'bg-secondary-light',
|
|
2445
2543
|
},
|
|
2446
2544
|
secondary: {
|
|
2447
2545
|
background: 'bg-primary-main',
|
|
2448
2546
|
title: 'text-white',
|
|
2449
2547
|
description: 'text-white/80',
|
|
2548
|
+
iconText: 'text-white',
|
|
2450
2549
|
iconBackground: 'bg-white/30',
|
|
2451
2550
|
iconConnector: 'bg-white',
|
|
2452
2551
|
},
|
|
@@ -2456,6 +2555,8 @@
|
|
|
2456
2555
|
const StepsBlock = JSX(({ className = '', title, showLines = true, steps = [], button, version = 'primary', ...rest }) => {
|
|
2457
2556
|
const styleMap = getStyleMap(version);
|
|
2458
2557
|
const shortGaps = steps.length > 3;
|
|
2558
|
+
const stepGap = shortGaps ? 'gap-x-3' : 'gap-x-[101px]';
|
|
2559
|
+
const lineOpacity = showLines ? '' : 'opacity-0';
|
|
2459
2560
|
return (jsxs(BlockWrapper, { className: [
|
|
2460
2561
|
'box-border font-sans text-primary-text bg-white',
|
|
2461
2562
|
shortGaps ? 'px-20' : 'px-[70px]',
|
|
@@ -2463,13 +2564,13 @@
|
|
|
2463
2564
|
styleMap.background,
|
|
2464
2565
|
styleMap.title,
|
|
2465
2566
|
className,
|
|
2466
|
-
].join(' '), ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center", title: title }), steps?.length ? (jsxs("div", { className:
|
|
2567
|
+
].join(' '), ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: "max-w-[47rem] text-center mb-9", title: title })) : null, steps?.length ? (jsxs("div", { className: "box-border", children: [jsx("div", { className: "flex items-center px-[88px]", children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${lineOpacity}` }))(steps.map(renderStepIcon(styleMap))) }), jsx("div", { className: `flex justify-between whitespace-pre-line ${stepGap}`, children: steps.map(renderStepTitle(styleMap, Boolean(button?.text))) })] })) : null, button?.text ? (jsx(Button, { className: "mt-8 w-full max-w-[240px]", version: "primary", ...button })) : null] }));
|
|
2467
2568
|
});
|
|
2468
2569
|
const renderStepIcon = (styleMap) => ({ icon }, i) => {
|
|
2469
|
-
return (jsx("div", { className: "flex flex-col items-center text-center
|
|
2570
|
+
return (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 flex justify-center items-center ${styleMap.iconBackground}`, children: checkIsIconRenderable(icon) ? (jsx(Img, { image: icon, width: "48", height: "48", asSVG: true })) : (jsx("span", { className: `text-h4 ${styleMap.iconText}`, children: i + 1 })) }) }, String(i)));
|
|
2470
2571
|
};
|
|
2471
2572
|
const renderStepTitle = (styleMap, isMainButton) => (step, i) => {
|
|
2472
|
-
return (jsxs("div", { className: "flex flex-col items-center justify-between text-center
|
|
2573
|
+
return (jsxs("div", { className: "flex flex-col items-center justify-between text-center w-[276px] overflow-hidden", children: [jsxs("div", { children: [step.label ? jsx("div", { className: "text-xl m-0 mt-4", children: step.label }) : null, step.description ? (jsx("div", { className: `text-l ${styleMap.description} ${step.label ? 'mt-2' : 'mt-4'}`, children: step.description })) : null] }), step?.button?.text && !isMainButton ? (jsx(Button, { className: "mt-8 py-4 w-full max-w-[240px]", version: "primary", href: step?.button?.href, children: step.button.text })) : null] }, String(i)));
|
|
2473
2574
|
};
|
|
2474
2575
|
|
|
2475
2576
|
const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
|