@redneckz/wildless-cms-uni-blocks 0.12.11 → 0.12.12
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/BlockRenderer/renderBlock.d.ts +2 -4
- package/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
- package/bundle/BlockRenderer/renderChildren.d.ts +5 -4
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +241 -323
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
- package/bundle/components/Carousel/CarouselContent.d.ts +3 -9
- package/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
- package/bundle/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
- package/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/bundle/components/Footer/Footer.d.ts +1 -4
- package/bundle/components/Footer/Footer.mobile.d.ts +1 -4
- package/bundle/components/Footer/FooterProps.d.ts +6 -0
- package/bundle/components/Header/Header.d.ts +1 -4
- package/bundle/components/Header/Header.mobile.d.ts +2 -5
- package/bundle/components/Header/HeaderContent.d.ts +0 -2
- package/bundle/components/Header/HeaderProps.d.ts +8 -0
- package/bundle/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
- package/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/bundle/hooks/useCarouselControls.d.ts +1 -1
- package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/dist/BlockRenderer/renderBlock.d.ts +2 -4
- package/dist/BlockRenderer/renderBlock.js +1 -2
- package/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/dist/BlockRenderer/renderBlockList.d.ts +5 -2
- package/dist/BlockRenderer/renderBlockList.js +12 -7
- package/dist/BlockRenderer/renderBlockList.js.map +1 -1
- package/dist/BlockRenderer/renderChildren.d.ts +5 -4
- package/dist/BlockRenderer/renderChildren.js +2 -2
- package/dist/BlockRenderer/renderChildren.js.map +1 -1
- package/dist/components/Blocks.mobile.js +6 -0
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/Bonus/Bonus.js +1 -1
- package/dist/components/Bonus/Bonus.js.map +1 -1
- package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
- package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
- package/dist/components/Calculator/UnknownRate.js +1 -1
- package/dist/components/Calculator/UnknownRate.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +18 -33
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/CarouselContent.d.ts +3 -9
- package/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/dist/components/Carousel/CarouselScrollButtons.js +4 -4
- package/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/dist/components/Carousel/renderControlButtons.d.ts +2 -3
- package/dist/components/Carousel/renderControlButtons.js +3 -3
- package/dist/components/Carousel/renderControlButtons.js.map +1 -1
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
- package/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/dist/components/CarouselCard/CarouselCard.js +6 -5
- package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
- package/dist/components/CarouselCard/constants.js +2 -2
- package/dist/components/CarouselCard/constants.js.map +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/dist/components/CarouselLinks/CarouselLinks.js +2 -2
- package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js +4 -4
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +3 -4
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
- package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/dist/components/ContactsBlock/ContactsBlock.js +1 -1
- package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/dist/components/ContentPage/ContentPage.js +16 -9
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/Footer/Footer.d.ts +1 -4
- package/dist/components/Footer/Footer.js +2 -4
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer/Footer.mobile.d.ts +1 -4
- package/dist/components/Footer/Footer.mobile.js +3 -5
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/FooterProps.d.ts +6 -0
- package/dist/components/Footer/FooterProps.js +2 -0
- package/dist/components/Footer/FooterProps.js.map +1 -0
- package/dist/components/GracePeriod/GracePeriod.js +2 -2
- package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/dist/components/Header/Header.d.ts +1 -4
- package/dist/components/Header/Header.js +3 -9
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/Header.mobile.d.ts +2 -5
- package/dist/components/Header/Header.mobile.js +2 -5
- package/dist/components/Header/Header.mobile.js.map +1 -1
- package/dist/components/Header/HeaderContent.d.ts +0 -2
- package/dist/components/Header/HeaderProps.d.ts +8 -0
- package/dist/components/Header/HeaderProps.js +2 -0
- package/dist/components/Header/HeaderProps.js.map +1 -0
- package/dist/components/Header/HeaderTop.js +1 -1
- package/dist/components/Header/HeaderTop.js.map +1 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
- package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js +8 -0
- package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/dist/components/InvestmentInfo/InvestmentInfo.js +5 -5
- package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocs.js +2 -2
- package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/dist/components/OfficeMap/OfficeMap.js +1 -1
- package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/dist/components/RollupItem/RollupItem.js +4 -1
- package/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/dist/components/SafeDepositRental/RadioButtons.js +13 -0
- package/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/dist/components/StepsBlock/renderStep.js +1 -1
- package/dist/components/StepsBlock/renderStep.js.map +1 -1
- package/dist/components/Tabs/ScrollableTabs.js +0 -1
- package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.js +3 -3
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayout.js +4 -14
- package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/dist/hooks/useCarouselControls.d.ts +1 -1
- package/dist/hooks/useCarouselControls.js +5 -6
- package/dist/hooks/useCarouselControls.js.map +1 -1
- package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
- package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.js +1 -1
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/LinkButton/LinkButton.js +1 -1
- package/dist/ui-kit/LinkList/LinkList.js +2 -2
- package/dist/ui-kit/LinkList/LinkList.js.map +1 -1
- package/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
- package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/dist/ui-kit/YandexMap/YandexMap.js +1 -1
- package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/lib/BlockRenderer/renderBlock.d.ts +2 -4
- package/lib/BlockRenderer/renderBlock.js +1 -2
- package/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/lib/BlockRenderer/renderBlockList.d.ts +5 -2
- package/lib/BlockRenderer/renderBlockList.js +12 -7
- package/lib/BlockRenderer/renderBlockList.js.map +1 -1
- package/lib/BlockRenderer/renderChildren.d.ts +5 -4
- package/lib/BlockRenderer/renderChildren.js +2 -2
- package/lib/BlockRenderer/renderChildren.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Blocks.mobile.js +6 -0
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/Bonus/Bonus.js +1 -1
- package/lib/components/Bonus/Bonus.js.map +1 -1
- package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
- package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
- package/lib/components/Calculator/UnknownRate.js +1 -1
- package/lib/components/Calculator/UnknownRate.js.map +1 -1
- package/lib/components/Carousel/Carousel.js +18 -33
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselContent.d.ts +3 -9
- package/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/lib/components/Carousel/CarouselScrollButtons.js +4 -4
- package/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/lib/components/Carousel/renderControlButtons.d.ts +3 -3
- package/lib/components/Carousel/renderControlButtons.js +3 -3
- package/lib/components/Carousel/renderControlButtons.js.map +1 -1
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
- package/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/lib/components/CarouselCard/CarouselCard.js +6 -5
- package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
- package/lib/components/CarouselCard/constants.js +2 -2
- package/lib/components/CarouselCard/constants.js.map +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/lib/components/CarouselLinks/CarouselLinks.js +2 -2
- package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js +4 -4
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -5
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
- package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/lib/components/ContactsBlock/ContactsBlock.js +1 -1
- package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/lib/components/ContentPage/ContentPage.js +16 -9
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.d.ts +6 -0
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/Footer/Footer.d.ts +1 -4
- package/lib/components/Footer/Footer.js +2 -4
- package/lib/components/Footer/Footer.js.map +1 -1
- package/lib/components/Footer/Footer.mobile.d.ts +1 -4
- package/lib/components/Footer/Footer.mobile.js +3 -5
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/FooterProps.d.ts +6 -0
- package/lib/components/Footer/FooterProps.js +2 -0
- package/lib/components/Footer/FooterProps.js.map +1 -0
- package/lib/components/GracePeriod/GracePeriod.js +2 -2
- package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/lib/components/Header/Header.d.ts +1 -4
- package/lib/components/Header/Header.fixture.d.ts +0 -1
- package/lib/components/Header/Header.js +3 -9
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/Header.mobile.d.ts +2 -5
- package/lib/components/Header/Header.mobile.js +2 -5
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/Header/HeaderContent.d.ts +0 -2
- package/lib/components/Header/HeaderProps.d.ts +8 -0
- package/lib/components/Header/HeaderProps.js +2 -0
- package/lib/components/Header/HeaderProps.js.map +1 -0
- package/lib/components/Header/HeaderTop.js +1 -1
- package/lib/components/Header/HeaderTop.js.map +1 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.fixture.mobile.d.ts +8 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js +6 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/InvestmentInfo/InvestmentInfo.js +5 -5
- package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocs.js +2 -2
- package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/lib/components/OfficeMap/OfficeMap.js +1 -1
- package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.fixture.mobile.d.ts +16 -0
- package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/lib/components/RollupItem/RollupItem.js +4 -1
- package/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/lib/components/SafeDepositRental/RadioButtons.js +11 -0
- package/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRental.fixture.mobile.d.ts +6 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/lib/components/StepsBlock/renderStep.js +1 -1
- package/lib/components/StepsBlock/renderStep.js.map +1 -1
- package/lib/components/Tabs/ScrollableTabs.js +0 -1
- package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.js +3 -3
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayout.fixture.d.ts +2 -2
- package/lib/components/VerticalLayout/VerticalLayout.js +4 -14
- package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/lib/hooks/useCarouselControls.d.ts +1 -1
- package/lib/hooks/useCarouselControls.js +5 -6
- package/lib/hooks/useCarouselControls.js.map +1 -1
- package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
- package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.js +1 -1
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/LinkButton/LinkButton.js +1 -1
- package/lib/ui-kit/LinkList/LinkList.js +2 -2
- package/lib/ui-kit/LinkList/LinkList.js.map +1 -1
- package/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
- package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/lib/ui-kit/YandexMap/YandexMap.js +1 -1
- package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +0 -1
- package/lib/ui-kit/YandexMap/renderSearchField.d.ts +0 -1
- package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +0 -1
- package/mobile/bundle/BlockRenderer/renderBlock.d.ts +2 -4
- package/mobile/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
- package/mobile/bundle/BlockRenderer/renderChildren.d.ts +5 -4
- package/mobile/bundle/bundle.umd.js +1019 -176
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
- package/mobile/bundle/components/Carousel/CarouselContent.d.ts +3 -9
- package/mobile/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/mobile/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
- package/mobile/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/mobile/bundle/components/Footer/Footer.d.ts +1 -4
- package/mobile/bundle/components/Footer/FooterProps.d.ts +6 -0
- package/mobile/bundle/components/Header/Header.d.ts +2 -5
- package/mobile/bundle/components/Header/HeaderContent.d.ts +0 -2
- package/mobile/bundle/components/Header/HeaderProps.d.ts +8 -0
- package/mobile/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/mobile/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/mobile/bundle/hooks/useCarouselControls.d.ts +1 -1
- package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/mobile/dist/BlockRenderer/renderBlock.d.ts +2 -4
- package/mobile/dist/BlockRenderer/renderBlock.js +1 -2
- package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/dist/BlockRenderer/renderBlockList.d.ts +5 -2
- package/mobile/dist/BlockRenderer/renderBlockList.js +12 -7
- package/mobile/dist/BlockRenderer/renderBlockList.js.map +1 -1
- package/mobile/dist/BlockRenderer/renderChildren.d.ts +5 -4
- package/mobile/dist/BlockRenderer/renderChildren.js +2 -2
- package/mobile/dist/BlockRenderer/renderChildren.js.map +1 -1
- package/mobile/dist/components/Blocks.js +6 -0
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/Bonus/Bonus.js +1 -1
- package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
- package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
- package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
- package/mobile/dist/components/Carousel/Carousel.js +18 -33
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/Carousel/CarouselContent.d.ts +3 -9
- package/mobile/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/mobile/dist/components/Carousel/CarouselScrollButtons.js +4 -4
- package/mobile/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/mobile/dist/components/Carousel/renderControlButtons.d.ts +2 -3
- package/mobile/dist/components/Carousel/renderControlButtons.js +3 -3
- package/mobile/dist/components/Carousel/renderControlButtons.js.map +1 -1
- package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
- package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/mobile/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/mobile/dist/components/CarouselCard/CarouselCard.js +6 -5
- package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
- package/mobile/dist/components/CarouselCard/constants.js +2 -2
- package/mobile/dist/components/CarouselCard/constants.js.map +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js +2 -2
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +4 -4
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/dist/components/ContentPage/ContentPage.js +16 -9
- package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/dist/components/Footer/Footer.d.ts +1 -4
- package/mobile/dist/components/Footer/Footer.js +3 -5
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/FooterProps.d.ts +6 -0
- package/mobile/dist/components/Footer/FooterProps.js +2 -0
- package/mobile/dist/components/Footer/FooterProps.js.map +1 -0
- package/mobile/dist/components/GracePeriod/GracePeriod.js +2 -2
- package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/mobile/dist/components/Header/Header.d.ts +2 -5
- package/mobile/dist/components/Header/Header.js +2 -5
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/Header/HeaderContent.d.ts +0 -2
- package/mobile/dist/components/Header/HeaderProps.d.ts +8 -0
- package/mobile/dist/components/Header/HeaderProps.js +2 -0
- package/mobile/dist/components/Header/HeaderProps.js.map +1 -0
- package/mobile/dist/components/Header/HeaderTop.js +1 -1
- package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
- package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js +3 -8
- package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +5 -5
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocs.js +2 -2
- package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/dist/components/OfficeMap/OfficeMap.js +1 -1
- package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/mobile/dist/components/RollupItem/RollupItem.js +4 -1
- package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/mobile/dist/components/SafeDepositRental/RadioButtons.js +13 -0
- package/mobile/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/mobile/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/mobile/dist/components/StepsBlock/renderStep.js +1 -1
- package/mobile/dist/components/StepsBlock/renderStep.js.map +1 -1
- package/mobile/dist/components/Tabs/ScrollableTabs.js +0 -1
- package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js +4 -14
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/mobile/dist/hooks/useCarouselControls.d.ts +1 -1
- package/mobile/dist/hooks/useCarouselControls.js +5 -6
- package/mobile/dist/hooks/useCarouselControls.js.map +1 -1
- package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/LinkButton/LinkButton.js +1 -1
- package/mobile/dist/ui-kit/LinkList/LinkList.js +2 -2
- package/mobile/dist/ui-kit/LinkList/LinkList.js.map +1 -1
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/mobile/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/mobile/dist/ui-kit/YandexMap/YandexMap.js +1 -1
- package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/mobile/lib/BlockRenderer/renderBlock.d.ts +2 -4
- package/mobile/lib/BlockRenderer/renderBlock.js +1 -2
- package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/lib/BlockRenderer/renderBlockList.d.ts +5 -2
- package/mobile/lib/BlockRenderer/renderBlockList.js +12 -7
- package/mobile/lib/BlockRenderer/renderBlockList.js.map +1 -1
- package/mobile/lib/BlockRenderer/renderChildren.d.ts +5 -4
- package/mobile/lib/BlockRenderer/renderChildren.js +2 -2
- package/mobile/lib/BlockRenderer/renderChildren.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/Blocks.js +6 -0
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/Bonus/Bonus.js +1 -1
- package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
- package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
- package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
- package/mobile/lib/components/Carousel/Carousel.js +18 -33
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/Carousel/CarouselContent.d.ts +3 -9
- package/mobile/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/mobile/lib/components/Carousel/CarouselScrollButtons.js +4 -4
- package/mobile/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/mobile/lib/components/Carousel/renderControlButtons.d.ts +2 -3
- package/mobile/lib/components/Carousel/renderControlButtons.js +3 -3
- package/mobile/lib/components/Carousel/renderControlButtons.js.map +1 -1
- package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
- package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/mobile/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/mobile/lib/components/CarouselCard/CarouselCard.js +6 -5
- package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
- package/mobile/lib/components/CarouselCard/constants.js +2 -2
- package/mobile/lib/components/CarouselCard/constants.js.map +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -2
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js +2 -2
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +4 -4
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -4
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/lib/components/ContentPage/ContentPage.js +16 -9
- package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/lib/components/Footer/Footer.d.ts +1 -4
- package/mobile/lib/components/Footer/Footer.js +3 -5
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/FooterProps.d.ts +6 -0
- package/mobile/lib/components/Footer/FooterProps.js +2 -0
- package/mobile/lib/components/Footer/FooterProps.js.map +1 -0
- package/mobile/lib/components/GracePeriod/GracePeriod.js +2 -2
- package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/mobile/lib/components/Header/Header.d.ts +2 -5
- package/mobile/lib/components/Header/Header.js +2 -5
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/Header/HeaderContent.d.ts +0 -2
- package/mobile/lib/components/Header/HeaderProps.d.ts +8 -0
- package/mobile/lib/components/Header/HeaderProps.js +2 -0
- package/mobile/lib/components/Header/HeaderProps.js.map +1 -0
- package/mobile/lib/components/Header/HeaderTop.js +1 -1
- package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
- package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js +3 -8
- package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +5 -5
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocs.js +2 -2
- package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/lib/components/OfficeMap/OfficeMap.js +1 -1
- package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/mobile/lib/components/RollupItem/RollupItem.js +4 -1
- package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/mobile/lib/components/SafeDepositRental/RadioButtons.js +11 -0
- package/mobile/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/mobile/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/mobile/lib/components/StepsBlock/renderStep.js +1 -1
- package/mobile/lib/components/StepsBlock/renderStep.js.map +1 -1
- package/mobile/lib/components/Tabs/ScrollableTabs.js +0 -1
- package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js +4 -14
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/mobile/lib/hooks/useCarouselControls.d.ts +1 -1
- package/mobile/lib/hooks/useCarouselControls.js +5 -6
- package/mobile/lib/hooks/useCarouselControls.js.map +1 -1
- package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/LinkButton/LinkButton.js +1 -1
- package/mobile/lib/ui-kit/LinkList/LinkList.js +2 -2
- package/mobile/lib/ui-kit/LinkList/LinkList.js.map +1 -1
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/mobile/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/mobile/lib/ui-kit/YandexMap/YandexMap.js +1 -1
- package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/mobile/src/BlockRenderer/renderBlock.tsx +3 -6
- package/mobile/src/BlockRenderer/renderBlockList.tsx +29 -12
- package/mobile/src/BlockRenderer/renderChildren.ts +7 -6
- package/mobile/src/components/Blocks.ts +6 -0
- package/mobile/src/components/Bonus/Bonus.tsx +1 -1
- package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefits.tsx +2 -1
- package/mobile/src/components/Calculator/UnknownRate.tsx +1 -1
- package/mobile/src/components/Carousel/Carousel.tsx +47 -45
- package/mobile/src/components/Carousel/CarouselContent.ts +3 -9
- package/mobile/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
- package/mobile/src/components/Carousel/renderControlButtons.tsx +2 -4
- package/mobile/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +1 -2
- package/mobile/src/components/CarouselCard/CarouselCard.tsx +15 -21
- package/mobile/src/components/CarouselCard/constants.ts +2 -2
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +3 -5
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +1 -9
- package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +2 -7
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +6 -11
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -22
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -6
- package/mobile/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
- package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
- package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
- package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
- package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
- package/mobile/src/components/ContentPage/ContentPage.tsx +68 -50
- package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +24 -8
- package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +5 -2
- package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
- package/mobile/src/components/Footer/Footer.tsx +7 -11
- package/mobile/src/components/Footer/FooterProps.ts +7 -0
- package/mobile/src/components/GracePeriod/GracePeriod.tsx +10 -4
- package/mobile/src/components/Header/Header.tsx +4 -15
- package/mobile/src/components/Header/HeaderContent.ts +0 -2
- package/mobile/src/components/Header/HeaderProps.ts +9 -0
- package/mobile/src/components/Header/HeaderTop.tsx +1 -1
- package/mobile/src/components/Header/sitemap.wcms-resource.json +144 -0
- package/mobile/src/components/HorizontalLayout/HorizontalLayout.tsx +3 -25
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
- package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +5 -5
- package/mobile/src/components/LinkDocs/LinkDocs.tsx +3 -2
- package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/mobile/src/components/OfficeMap/OfficeMap.tsx +6 -6
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
- package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
- package/mobile/src/components/RollupItem/RollupItem.tsx +5 -2
- package/mobile/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +7 -2
- package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
- package/mobile/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
- package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
- package/mobile/src/components/StepsBlock/renderStep.tsx +2 -2
- package/mobile/src/components/Tabs/ScrollableTabs.tsx +0 -1
- package/mobile/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
- package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
- package/mobile/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
- package/mobile/src/hooks/useCarouselControls.ts +8 -7
- package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
- package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +5 -3
- package/mobile/src/ui-kit/BlockWrapper.tsx +1 -1
- package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +1 -1
- package/mobile/src/ui-kit/LinkList/LinkList.tsx +2 -2
- package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -3
- package/mobile/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
- package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
- package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
- package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
- package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
- package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
- package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
- package/package.json +2 -1
- package/src/BlockRenderer/renderBlock.tsx +3 -6
- package/src/BlockRenderer/renderBlockList.tsx +29 -12
- package/src/BlockRenderer/renderChildren.ts +7 -6
- package/src/components/Blocks.mobile.ts +6 -0
- package/src/components/Bonus/Bonus.tsx +1 -1
- package/src/components/BonusBenefitsBlock/renderBonusBenefits.mobile.tsx +2 -1
- package/src/components/Calculator/UnknownRate.tsx +1 -1
- package/src/components/Carousel/Carousel.fixture.mobile.tsx +8 -53
- package/src/components/Carousel/Carousel.fixture.tsx +4 -26
- package/src/components/Carousel/Carousel.tsx +47 -45
- package/src/components/Carousel/CarouselContent.ts +3 -9
- package/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
- package/src/components/Carousel/renderControlButtons.tsx +2 -4
- package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.fixture.tsx +2 -7
- package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.tsx +1 -2
- package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +34 -67
- package/src/components/CarouselCard/CarouselCard.fixture.mobile.tsx +1 -1
- package/src/components/CarouselCard/CarouselCard.fixture.tsx +1 -1
- package/src/components/CarouselCard/CarouselCard.tsx +15 -21
- package/src/components/CarouselCard/constants.ts +2 -2
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +3 -5
- package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +5 -3
- package/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +1 -9
- package/src/components/CarouselLinks/CarouselLinks.tsx +2 -7
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +5 -2
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +6 -11
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -22
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +1 -6
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +24 -30
- package/src/components/CarouselRichTextCard/CarouselRichTextCard.fixture.tsx +1 -1
- package/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
- package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +2 -2
- package/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
- package/src/components/ComparisonTable/HeaderCell.tsx +5 -10
- package/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
- package/src/components/ContentPage/ContentPage.tsx +68 -50
- package/src/components/ExchangeRateTile/CurrencyTable.tsx +24 -8
- package/src/components/ExchangeRateTile/CurrentLocation.tsx +5 -2
- package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
- package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.tsx +19 -0
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
- package/src/components/Footer/Footer.fixture.mobile.tsx +3 -1
- package/src/components/Footer/Footer.fixture.tsx +4 -17
- package/src/components/Footer/Footer.mobile.tsx +7 -11
- package/src/components/Footer/Footer.tsx +6 -10
- package/src/components/Footer/FooterProps.ts +7 -0
- package/src/components/GracePeriod/GracePeriod.tsx +10 -4
- package/src/components/Header/Header.fixture.mobile.tsx +5 -2
- package/src/components/Header/Header.fixture.tsx +4 -3
- package/src/components/Header/Header.mobile.tsx +4 -15
- package/src/components/Header/Header.tsx +8 -29
- package/src/components/Header/HeaderContent.ts +0 -2
- package/src/components/Header/HeaderProps.ts +9 -0
- package/src/components/Header/HeaderTop.tsx +1 -1
- package/src/components/Header/sitemap.wcms-resource.json +144 -0
- package/src/components/HorizontalLayout/HorizontalLayout.fixture.mobile.tsx +72 -0
- package/src/components/HorizontalLayout/HorizontalLayout.mobile.tsx +12 -0
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
- package/src/components/InvestmentInfo/InvestmentInfo.tsx +5 -5
- package/src/components/LinkDocs/LinkDocs.tsx +3 -2
- package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/src/components/OfficeMap/OfficeMap.tsx +6 -6
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
- package/src/components/ProductTile/ProductTile.fixture.mobile.tsx +214 -0
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +1 -1
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +1 -1
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
- package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +15 -19
- package/src/components/RollupItem/RollupItem.tsx +5 -2
- package/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +7 -2
- package/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
- package/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
- package/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
- package/src/components/SafeDepositRental/SafeDepositRental.fixture.mobile.tsx +15 -0
- package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
- package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
- package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
- package/src/components/StepsBlock/renderStep.tsx +2 -2
- package/src/components/Tabs/ScrollableTabs.tsx +0 -1
- package/src/components/TariffsTable/TariffsTable.tsx +3 -3
- package/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
- package/src/components/VerticalLayout/VerticalLayout.fixture.mobile.tsx +0 -3
- package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +2 -9
- package/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
- package/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
- package/src/hooks/useCarouselControls.ts +8 -7
- package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
- package/src/ui-kit/BaseTile/BaseTile.tsx +5 -3
- package/src/ui-kit/BlockWrapper.tsx +1 -1
- package/src/ui-kit/LinkButton/LinkButton.tsx +1 -1
- package/src/ui-kit/LinkList/LinkList.tsx +2 -2
- package/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -3
- package/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
- package/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
- package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
- package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
- package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
- package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
- package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
- package/tailwind.config.cjs +1 -7
- package/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/bundle/components/Header/HeaderBurger.d.ts +0 -9
- package/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/dist/components/Calculator/renderProposalMortgage.js +0 -10
- package/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/dist/components/CarouselCard/getCardWidth.js +0 -18
- package/dist/components/CarouselCard/getCardWidth.js.map +0 -1
- package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
- package/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/dist/components/Header/HeaderBurger.d.ts +0 -9
- package/dist/components/Header/HeaderBurger.js +0 -17
- package/dist/components/Header/HeaderBurger.js.map +0 -1
- package/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
- package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/lib/components/Calculator/renderProposalMortgage.js +0 -7
- package/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/lib/components/CarouselCard/getCardWidth.js +0 -15
- package/lib/components/CarouselCard/getCardWidth.js.map +0 -1
- package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
- package/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/lib/components/Header/HeaderBurger.d.ts +0 -9
- package/lib/components/Header/HeaderBurger.js +0 -15
- package/lib/components/Header/HeaderBurger.js.map +0 -1
- package/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
- package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/mobile/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/mobile/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/mobile/bundle/components/Header/HeaderBurger.d.ts +0 -9
- package/mobile/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/mobile/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/mobile/dist/components/Calculator/renderProposalMortgage.js +0 -10
- package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/mobile/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/mobile/dist/components/CarouselCard/getCardWidth.js +0 -18
- package/mobile/dist/components/CarouselCard/getCardWidth.js.map +0 -1
- package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
- package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/mobile/dist/components/Header/HeaderBurger.d.ts +0 -9
- package/mobile/dist/components/Header/HeaderBurger.js +0 -17
- package/mobile/dist/components/Header/HeaderBurger.js.map +0 -1
- package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
- package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/mobile/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/mobile/lib/components/Calculator/renderProposalMortgage.js +0 -7
- package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/mobile/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/mobile/lib/components/CarouselCard/getCardWidth.js +0 -15
- package/mobile/lib/components/CarouselCard/getCardWidth.js.map +0 -1
- package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
- package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/mobile/lib/components/Header/HeaderBurger.d.ts +0 -9
- package/mobile/lib/components/Header/HeaderBurger.js +0 -15
- package/mobile/lib/components/Header/HeaderBurger.js.map +0 -1
- package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
- package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/mobile/src/components/Calculator/renderProposalMortgage.tsx +0 -22
- package/mobile/src/components/CarouselCard/getCardWidth.tsx +0 -16
- package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
- package/mobile/src/components/Header/HeaderBurger.tsx +0 -54
- package/src/components/Calculator/renderProposalMortgage.tsx +0 -22
- package/src/components/CarouselCard/getCardWidth.tsx +0 -16
- package/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
- package/src/components/Header/HeaderBurger.tsx +0 -54
package/bundle/bundle.umd.js
CHANGED
|
@@ -345,7 +345,7 @@
|
|
|
345
345
|
setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
|
|
346
346
|
}), [block]);
|
|
347
347
|
const isGroup = version && isTheme;
|
|
348
|
-
return (jsx(Tag, { className: style('font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
|
|
348
|
+
return (jsx(Tag, { className: style('@container font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
|
|
349
349
|
});
|
|
350
350
|
|
|
351
351
|
const headingTag = (tag) => tag;
|
|
@@ -810,7 +810,7 @@
|
|
|
810
810
|
|
|
811
811
|
const renderAcquiringRegion = ({ regions, field }) => (jsxs("div", { className: "mb-4 pb-1 border-b border-b-main-divider sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES.map(({ name: key = '' }) => ({ key, text: key })), ...withValidator(field('acquiringType'), defaultValidator) }) }), jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) })] }));
|
|
812
812
|
|
|
813
|
-
const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-
|
|
813
|
+
const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-s", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-s rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-1/2' : 'left-[5%]') }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] })));
|
|
814
814
|
|
|
815
815
|
const renderSlideCheckboxes = (field) => (jsxs("div", { className: "sm:mb-5", children: [jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field('onlineCheckout') }), jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })] }));
|
|
816
816
|
|
|
@@ -1263,7 +1263,7 @@
|
|
|
1263
1263
|
|
|
1264
1264
|
const Bonus = JSX((props) => {
|
|
1265
1265
|
const { className = '', title, description, bonusItems, ...rest } = props;
|
|
1266
|
-
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, {
|
|
1266
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems?.length
|
|
1267
1267
|
? bonusItems.map((_, i) => (jsxs("div", { className: "flex-grow w-[49%] border border-gray p-9 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0", children: [_?.title ? jsx(Text, { size: "text-h4", children: _.title }) : null, _?.description ? (jsx("div", { className: "mt-xs", children: jsx(Paragraph, { size: "text-xl", font: "font-light", children: _.description }) })) : null, jsxs("div", { className: "flex justify-between items-end mt-3", children: [renderButtonsSection(_?.buttons), _.bonusItemContent?.bonusType
|
|
1268
1268
|
? renderBonusItemContent(_.bonusItemContent)
|
|
1269
1269
|
: null] })] }, String(i))))
|
|
@@ -1321,12 +1321,14 @@
|
|
|
1321
1321
|
|
|
1322
1322
|
const ButtonsBlock = JSX(({ buttons, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), defaultPadding: "p-0", ...rest, children: renderButtonsSection(buttons) })));
|
|
1323
1323
|
|
|
1324
|
-
const useCarouselControls = (props) => {
|
|
1324
|
+
const useCarouselControls = (props, initialIndex = 0) => {
|
|
1325
1325
|
const { itemCount, visibleItemCount } = props;
|
|
1326
|
-
const [activeIndex, setActiveIndex] = useState(
|
|
1326
|
+
const [activeIndex, setActiveIndex] = useState(initialIndex);
|
|
1327
1327
|
const inc = useCallback(() => setActiveIndex((_) => Math.min(_ + 1, itemCount - 1)), [itemCount]);
|
|
1328
1328
|
const dec = useCallback(() => setActiveIndex((_) => Math.max(_ - 1, 0)), [itemCount]);
|
|
1329
|
-
const canInc =
|
|
1329
|
+
const canInc = visibleItemCount
|
|
1330
|
+
? itemCount > visibleItemCount && activeIndex < itemCount - visibleItemCount
|
|
1331
|
+
: activeIndex < itemCount - 1;
|
|
1330
1332
|
const canDec = activeIndex > 0;
|
|
1331
1333
|
const isScrollAvailable = canDec || canInc;
|
|
1332
1334
|
return [
|
|
@@ -1340,9 +1342,6 @@
|
|
|
1340
1342
|
},
|
|
1341
1343
|
];
|
|
1342
1344
|
};
|
|
1343
|
-
function isScrollable({ itemCount, visibleItemCount }) {
|
|
1344
|
-
return Boolean(visibleItemCount && itemCount > visibleItemCount);
|
|
1345
|
-
}
|
|
1346
1345
|
|
|
1347
1346
|
const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `group/btn shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
|
|
1348
1347
|
? 'bg-secondary-light text-secondary-text'
|
|
@@ -1535,7 +1534,7 @@
|
|
|
1535
1534
|
],
|
|
1536
1535
|
});
|
|
1537
1536
|
|
|
1538
|
-
const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-2xs pt-2xs pl-lg pb-xs", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-
|
|
1537
|
+
const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-2xs pt-2xs pl-lg pb-xs", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-64 mt-m", children: jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] }) })] })));
|
|
1539
1538
|
|
|
1540
1539
|
const defaultDiscriminator = (_) => _;
|
|
1541
1540
|
const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
|
|
@@ -2134,8 +2133,7 @@
|
|
|
2134
2133
|
}
|
|
2135
2134
|
const BlockComponent = type && blocksRegistry[type];
|
|
2136
2135
|
return blockDecorator({
|
|
2137
|
-
blockClassName: style(
|
|
2138
|
-
className, block.style || defaultStyle),
|
|
2136
|
+
blockClassName: style(block.style?.length ? block.style : defaultStyle, className),
|
|
2139
2137
|
block,
|
|
2140
2138
|
ancestors,
|
|
2141
2139
|
// Adjusted by decorator block and blockClassName
|
|
@@ -2149,20 +2147,25 @@
|
|
|
2149
2147
|
const DEFAULT_SLOT_NAME = null;
|
|
2150
2148
|
|
|
2151
2149
|
const EMPTY_ANCESTORS = [];
|
|
2152
|
-
const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, renderProps = renderBlock$1, ...options }) =>
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2150
|
+
const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, extraProps, renderProps = renderBlock$1, ...options }) => {
|
|
2151
|
+
const renderChildBlock = extraProps
|
|
2152
|
+
? (childBlock, childOptions) => renderBlock$1(childBlock, childOptions, extraProps)
|
|
2153
|
+
: renderProps;
|
|
2154
|
+
return (blocks || []).map((_, i) => renderChildBlock(_, {
|
|
2155
|
+
...options,
|
|
2156
|
+
key: `${key ? key : _.type}-${i}`,
|
|
2157
|
+
ancestors: options.parent
|
|
2158
|
+
? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
|
|
2159
|
+
: ancestors,
|
|
2160
|
+
}, i));
|
|
2161
|
+
};
|
|
2159
2162
|
|
|
2160
|
-
function renderChildren({
|
|
2163
|
+
function renderChildren({ block, options, children, extraProps, renderProps, }) {
|
|
2161
2164
|
if (children) {
|
|
2162
2165
|
return children;
|
|
2163
2166
|
}
|
|
2164
2167
|
return block && options
|
|
2165
|
-
? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
|
|
2168
|
+
? renderBlocksList(block.blocks, { ...options, parent: block, extraProps, renderProps })
|
|
2166
2169
|
: null;
|
|
2167
2170
|
}
|
|
2168
2171
|
|
|
@@ -2193,7 +2196,7 @@
|
|
|
2193
2196
|
return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
|
|
2194
2197
|
});
|
|
2195
2198
|
|
|
2196
|
-
const childStyleMap = ['min-w-
|
|
2199
|
+
const childStyleMap = ['min-w-full', 'min-w-1/2', 'min-w-1/3', 'min-w-1/4'];
|
|
2197
2200
|
const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', minHeight, children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
|
|
2198
2201
|
const observerOptions = {
|
|
2199
2202
|
sensitivity: 1,
|
|
@@ -2229,6 +2232,28 @@
|
|
|
2229
2232
|
.filter(([_]) => _ && _.intersectionRatio >= 0.9)
|
|
2230
2233
|
.map(([, i]) => i);
|
|
2231
2234
|
|
|
2235
|
+
const containerStyles = {
|
|
2236
|
+
'horizontal-list': 'mx-auto mt-5 w-fit',
|
|
2237
|
+
'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
|
|
2238
|
+
};
|
|
2239
|
+
const activeDotStyles = {
|
|
2240
|
+
'horizontal-list': 'w-6',
|
|
2241
|
+
'vertical-list': 'h-6',
|
|
2242
|
+
};
|
|
2243
|
+
const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
|
|
2244
|
+
const inactiveDotStyle = 'w-2 h-2 opacity-30';
|
|
2245
|
+
const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
|
|
2246
|
+
const handleClick = (idx) => {
|
|
2247
|
+
if (idx !== activeIndex && containerRef?.current) {
|
|
2248
|
+
containerRef.current.children[idx]?.scrollIntoView({
|
|
2249
|
+
behavior: 'smooth',
|
|
2250
|
+
block: 'nearest',
|
|
2251
|
+
});
|
|
2252
|
+
}
|
|
2253
|
+
};
|
|
2254
|
+
return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
|
|
2255
|
+
});
|
|
2256
|
+
|
|
2232
2257
|
const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
|
|
2233
2258
|
|
|
2234
2259
|
const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
|
|
@@ -2244,7 +2269,7 @@
|
|
|
2244
2269
|
container.scrollTo({ left: 0, behavior: 'smooth' });
|
|
2245
2270
|
};
|
|
2246
2271
|
|
|
2247
|
-
const useSwipeListScroll = ({ itemCount,
|
|
2272
|
+
const useSwipeListScroll = ({ itemCount, onVisibleIndicesChange, }) => {
|
|
2248
2273
|
const containerRef = useRef(null);
|
|
2249
2274
|
const [visibleIndices, setVisibleIndices] = useState([]);
|
|
2250
2275
|
const handleVisibleIndicesChange = useCallback((indices) => {
|
|
@@ -2260,42 +2285,40 @@
|
|
|
2260
2285
|
if (!containerRef.current) {
|
|
2261
2286
|
return;
|
|
2262
2287
|
}
|
|
2263
|
-
if (
|
|
2264
|
-
|
|
2288
|
+
if (canScrollLeft) {
|
|
2289
|
+
scrollBy(containerRef.current)(itemCount, -1);
|
|
2265
2290
|
}
|
|
2266
2291
|
else {
|
|
2267
|
-
|
|
2292
|
+
scrollToEnd(containerRef.current);
|
|
2268
2293
|
}
|
|
2269
|
-
}, [
|
|
2294
|
+
}, [itemCount, canScrollLeft]);
|
|
2270
2295
|
const scrollRight = useCallback(() => {
|
|
2271
2296
|
if (!containerRef.current) {
|
|
2272
2297
|
return;
|
|
2273
2298
|
}
|
|
2274
|
-
if (
|
|
2275
|
-
|
|
2299
|
+
if (canScrollRight) {
|
|
2300
|
+
scrollBy(containerRef.current)(itemCount, 1);
|
|
2276
2301
|
}
|
|
2277
2302
|
else {
|
|
2278
|
-
|
|
2303
|
+
scrollToStart(containerRef.current);
|
|
2279
2304
|
}
|
|
2280
|
-
}, [itemCount,
|
|
2305
|
+
}, [itemCount, canScrollRight]);
|
|
2281
2306
|
return [
|
|
2282
2307
|
containerRef,
|
|
2283
2308
|
{
|
|
2284
2309
|
scrollLeft,
|
|
2285
2310
|
scrollRight,
|
|
2286
|
-
canScrollLeft
|
|
2287
|
-
canScrollRight
|
|
2311
|
+
canScrollLeft,
|
|
2312
|
+
canScrollRight,
|
|
2288
2313
|
visibleIndicesRange: [minIndex, maxIndex],
|
|
2289
2314
|
handleVisibleIndicesChange,
|
|
2290
2315
|
},
|
|
2291
2316
|
];
|
|
2292
2317
|
};
|
|
2293
2318
|
|
|
2294
|
-
const ITEMS_GAP = 16;
|
|
2295
|
-
|
|
2296
2319
|
const scrollButtonStyle$1 = 'absolute top-[calc(50%-24px)] z-40';
|
|
2297
|
-
const blurBaseStyle = 'absolute top-0 bottom-0 z-40 w-
|
|
2298
|
-
const CarouselScrollButtons = JSX(({ scroll,
|
|
2320
|
+
const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
|
|
2321
|
+
const CarouselScrollButtons = JSX(({ scroll, activeIndex, itemCount, arrowsPadded, hasEdgeBlocks, onScrollLeft, onScrollRight, }) => {
|
|
2299
2322
|
const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
|
|
2300
2323
|
const canMoveLeft = hasEdgeBlocks ? activeIndex > 0 : canScrollLeft;
|
|
2301
2324
|
const canMoveRight = hasEdgeBlocks ? activeIndex < itemCount - 1 : canScrollRight;
|
|
@@ -2317,74 +2340,33 @@
|
|
|
2317
2340
|
onScrollRight();
|
|
2318
2341
|
}
|
|
2319
2342
|
}, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
|
|
2320
|
-
return (jsxs("div", { children: [renderBlur(
|
|
2343
|
+
return (jsxs("div", { children: [renderBlur(scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'left-1 @lg:left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'right-1 @lg:right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
|
|
2321
2344
|
});
|
|
2322
|
-
const renderBlur = (
|
|
2345
|
+
const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] }));
|
|
2323
2346
|
|
|
2324
|
-
const
|
|
2325
|
-
'horizontal-list': 'mx-auto mt-5 w-fit',
|
|
2326
|
-
'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
|
|
2327
|
-
};
|
|
2328
|
-
const activeDotStyles = {
|
|
2329
|
-
'horizontal-list': 'w-6',
|
|
2330
|
-
'vertical-list': 'h-6',
|
|
2331
|
-
};
|
|
2332
|
-
const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
|
|
2333
|
-
const inactiveDotStyle = 'w-2 h-2 opacity-30';
|
|
2334
|
-
const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
|
|
2335
|
-
const handleClick = (idx) => {
|
|
2336
|
-
if (idx !== activeIndex && containerRef?.current) {
|
|
2337
|
-
containerRef.current.children[idx]?.scrollIntoView({
|
|
2338
|
-
behavior: 'smooth',
|
|
2339
|
-
block: 'nearest',
|
|
2340
|
-
});
|
|
2341
|
-
}
|
|
2342
|
-
};
|
|
2343
|
-
return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
|
|
2344
|
-
});
|
|
2345
|
-
|
|
2346
|
-
const renderControlButtons = ({ showArrows, showDots, scrollButtonsProps, dotsProps, }) => {
|
|
2347
|
-
return [
|
|
2348
|
-
showArrows ? jsx(CarouselScrollButtons, { ...scrollButtonsProps }, "0") : null,
|
|
2349
|
-
showDots ? jsx(SwipeListControlDots, { ...dotsProps, listType: "horizontal-list" }, "1") : null,
|
|
2350
|
-
];
|
|
2351
|
-
};
|
|
2347
|
+
const ITEMS_GAP = 16;
|
|
2352
2348
|
|
|
2353
|
-
const Carousel = JSX(({ className
|
|
2349
|
+
const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, ...rest }) => {
|
|
2354
2350
|
const { blocks: childBlocks = [] } = rest.block || {};
|
|
2355
2351
|
const count = itemCount || childBlocks?.length;
|
|
2356
|
-
const [activeIndex,
|
|
2357
|
-
const increaseActiveIndex = useCallback(() => setActiveIndex((_) => _ + 1), []);
|
|
2358
|
-
const decreaseActiveIndex = useCallback(() => setActiveIndex((_) => _ - 1), []);
|
|
2359
|
-
const [containerRef, scroll] = useSwipeListScroll({
|
|
2352
|
+
const [activeIndex, { inc: increaseActiveIndex, dec: decreaseActiveIndex }] = useCarouselControls({
|
|
2360
2353
|
itemCount: count,
|
|
2361
|
-
|
|
2362
|
-
});
|
|
2354
|
+
visibleItemCount,
|
|
2355
|
+
}, Math.floor(visibleItemCount / 2));
|
|
2356
|
+
const [containerRef, scroll] = useSwipeListScroll({ itemCount: count });
|
|
2363
2357
|
const [dotsActiveIndex] = scroll.visibleIndicesRange;
|
|
2358
|
+
// TODO Remove
|
|
2364
2359
|
const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
|
|
2365
|
-
return (jsx(BlockWrapper, { className: className, defaultPadding:
|
|
2360
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: style(isAlignCenter ? 'flex justify-center' : '', 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
|
|
2366
2361
|
...rest,
|
|
2367
|
-
renderProps:
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
:
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
showDots,
|
|
2376
|
-
scrollButtonsProps: {
|
|
2377
|
-
scroll,
|
|
2378
|
-
arrowsPadded,
|
|
2379
|
-
isBlur,
|
|
2380
|
-
onScrollLeft: decreaseActiveIndex,
|
|
2381
|
-
onScrollRight: increaseActiveIndex,
|
|
2382
|
-
hasEdgeBlocks: isBankHistoryCarousel,
|
|
2383
|
-
activeIndex,
|
|
2384
|
-
itemCount: count,
|
|
2385
|
-
},
|
|
2386
|
-
dotsProps: { containerRef, activeIndex: dotsActiveIndex, dotCount: count },
|
|
2387
|
-
})] }) }));
|
|
2362
|
+
renderProps: (block, options, blockIndex) => renderBlock$1(block, options, {
|
|
2363
|
+
className: style('h-full min-w-80 sm:min-w-96', noCardBorder
|
|
2364
|
+
? ''
|
|
2365
|
+
: 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'),
|
|
2366
|
+
blockIndex,
|
|
2367
|
+
isActive: activeIndex === blockIndex,
|
|
2368
|
+
}),
|
|
2369
|
+
}) }), jsx(CarouselScrollButtons, { scroll: scroll, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: count, listType: "horizontal-list" })) : null] }) }));
|
|
2388
2370
|
});
|
|
2389
2371
|
Carousel.childrenTypes = [
|
|
2390
2372
|
'CarouselCard',
|
|
@@ -2399,75 +2381,21 @@
|
|
|
2399
2381
|
'CarouselInvestmentCard',
|
|
2400
2382
|
'CarouselEventCard',
|
|
2401
2383
|
];
|
|
2402
|
-
const getPaddingStyle$1 = (isPadding) => (isPadding ? 'p-6xl' : '');
|
|
2403
|
-
const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
|
|
2404
|
-
|
|
2405
|
-
const CarouselBankHistoryCard = JSX(({ title, description, blocksLength = 0, activeIndex, options }) => {
|
|
2406
|
-
const orderNumber = Number(options?.key?.split('-').slice(-1)[0]) || 0;
|
|
2407
|
-
const isActive = orderNumber === activeIndex;
|
|
2408
|
-
return (jsx(BlockWrapper, { className: "flex h-[485px]", defaultPadding: "p-0", children: isActive ? (jsx("div", { className: "relative flex items-center w-full", children: jsx(Headline, { headlineVersion: "M", title: title, description: description, align: "text-left", className: style('absolute z-10 h-[385px] w-[440px] p-3xl text-white shadow-dark-blue', getActiveBlockPosition(orderNumber, blocksLength), getBackgroundColor(orderNumber)) }) })) : (jsx("div", { className: "flex w-full items-center justify-center", children: jsx("div", { className: style('flex justify-center items-center h-[300px] w-[340px] font-mohave text-title-large tracking-[-0.03em]', getBackgroundColor(orderNumber)), children: jsx("span", { className: getTextColor(orderNumber), children: title }) }) })) }));
|
|
2409
|
-
});
|
|
2410
|
-
const getBackgroundColor = (orderNumber) => {
|
|
2411
|
-
const division = orderNumber % 3;
|
|
2412
|
-
switch (division) {
|
|
2413
|
-
case 0:
|
|
2414
|
-
return 'bg-primary-main';
|
|
2415
|
-
case 1:
|
|
2416
|
-
return 'bg-green-light';
|
|
2417
|
-
case 2:
|
|
2418
|
-
return 'bg-yellow-light';
|
|
2419
|
-
default:
|
|
2420
|
-
return 'bg-primary-main';
|
|
2421
|
-
}
|
|
2422
|
-
};
|
|
2423
|
-
const getTextColor = (orderNumber) => {
|
|
2424
|
-
const division = orderNumber % 3;
|
|
2425
|
-
switch (division) {
|
|
2426
|
-
case 1:
|
|
2427
|
-
return 'gradient-color-text-on-yellow';
|
|
2428
|
-
case 2:
|
|
2429
|
-
return 'gradient-color-text-on-yellow';
|
|
2430
|
-
default:
|
|
2431
|
-
return 'gradient-color-text-on-green';
|
|
2432
|
-
}
|
|
2433
|
-
};
|
|
2434
|
-
const getActiveBlockPosition = (orderNumber, blocksLength) => {
|
|
2435
|
-
if (orderNumber === 0) {
|
|
2436
|
-
return 'left-9';
|
|
2437
|
-
}
|
|
2438
|
-
else if (orderNumber === blocksLength - 1) {
|
|
2439
|
-
return 'right-9';
|
|
2440
|
-
}
|
|
2441
|
-
else {
|
|
2442
|
-
return '-left-[25px]';
|
|
2443
|
-
}
|
|
2444
|
-
};
|
|
2445
2384
|
|
|
2446
|
-
const
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
normal: 'min-w-[970px]',
|
|
2454
|
-
small: 'min-w-[355px]',
|
|
2455
|
-
};
|
|
2456
|
-
function getCardWidth(className = '', carouselVersion = 'normal') {
|
|
2457
|
-
const colSpan = getColSpan(className);
|
|
2458
|
-
if (colSpan <= 4) {
|
|
2459
|
-
return 'w-[375px]';
|
|
2460
|
-
}
|
|
2461
|
-
else {
|
|
2462
|
-
return CARD_WIDTH_MAP[carouselVersion];
|
|
2463
|
-
}
|
|
2464
|
-
}
|
|
2385
|
+
const CarouselBankHistoryCard = JSX(({ className, title, description, blockIndex = 0, isActive, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex h-[485px]', isActive ? 'w-[440px] z-10' : 'w-[340px]', className), defaultPadding: "p-0", ...rest, children: jsx("div", { className: style('basis-full self-center', getBackColor(blockIndex)), children: isActive ? (jsx(Headline, { headlineVersion: "M", title: title, description: description, padding: "p-3xl", align: "text-left", className: "h-96 text-white shadow-dark-blue" })) : (jsx("div", { className: "h-[300px] flex justify-center items-center font-mohave text-title-large tracking-[-0.03em]", children: jsx("span", { className: getTextColor(blockIndex), children: title }) })) }) })));
|
|
2386
|
+
const getBackColor = (blockIndex) => ['bg-primary-main', 'bg-green-light', 'bg-yellow-light'][blockIndex % 3];
|
|
2387
|
+
const getTextColor = (blockIndex) => [
|
|
2388
|
+
'gradient-color-text-on-green',
|
|
2389
|
+
'gradient-color-text-on-yellow',
|
|
2390
|
+
'gradient-color-text-on-yellow',
|
|
2391
|
+
][blockIndex % 3];
|
|
2465
2392
|
|
|
2466
2393
|
const titleSize = 'L';
|
|
2467
2394
|
|
|
2468
|
-
const
|
|
2469
|
-
const
|
|
2470
|
-
|
|
2395
|
+
const layerBaseStyle = 'z-10 border border-solid w-full h-full';
|
|
2396
|
+
const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
|
|
2397
|
+
const CarouselCard = JSX(({ className, title, description, button, ...rest }) => (jsx(BlockWrapper, { className: style('sm:pl-12 sm:pb-9', className), defaultPadding: "p-0", ...rest, children: jsxs("div", { className: "relative", children: [jsx("div", { className: style(layerStyle, 'top-9 right-12 bg-green-dark') }), jsx("div", { className: style(layerStyle, 'top-6 right-8 bg-green') }), jsx("div", { className: style(layerStyle, 'top-3 right-4 bg-green-light') }), jsxs("div", { className: style(layerBaseStyle, 'relative p-10 bg-white border-green-light'), children: [jsx(Headline, { title: title, description: description, headlineVersion: titleSize, align: "text-left", isPadding: false }), renderButtonsSection([button], {
|
|
2398
|
+
className: 'mt-6xl sm:justify-center',
|
|
2471
2399
|
isVertical: true,
|
|
2472
2400
|
})] })] }) })));
|
|
2473
2401
|
|
|
@@ -2475,7 +2403,7 @@
|
|
|
2475
2403
|
black: 'bg-black',
|
|
2476
2404
|
white: 'bg-white',
|
|
2477
2405
|
};
|
|
2478
|
-
const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('
|
|
2406
|
+
const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-left gap-m', className), defaultPadding: "p-6xl sm:p-7", ...rest, children: [image?.src ? jsx(Img, { className: "flex justify-center", image: image }) : null, jsx(Headline, { title: title, description: description, headlineVersion: "XS", isPadding: false, align: "text-left" }), colors?.length ? (jsxs("div", { className: "flex text-secondary-text", children: [jsx("div", { className: "mr-xs", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'w-full' })] })));
|
|
2479
2407
|
const renderColorOption = (color, i) => (jsx("div", { role: "figure", className: `w-6 h-6 ml-1 sm:ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
|
|
2480
2408
|
|
|
2481
2409
|
const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
|
|
@@ -2486,7 +2414,7 @@
|
|
|
2486
2414
|
});
|
|
2487
2415
|
|
|
2488
2416
|
const CarouselEventCard = JSX(({ className = '', icon, title, description, href, target, ...rest }) => {
|
|
2489
|
-
return (jsx(BlockWrapper, { className:
|
|
2417
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-0", ...rest, children: jsxs(LinkWrapper, { className: "flex flex-col", href: href, target: target, children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mt-s ml-s mb-xs", title: title })) : null, description ? (jsx("div", { className: "ml-s mb-m", children: jsx(Text, { font: "font-light", size: "text-m", color: "text-secondary-text", children: description }) })) : null] }) }));
|
|
2490
2418
|
});
|
|
2491
2419
|
|
|
2492
2420
|
const imageAlignmentMap = {
|
|
@@ -2494,7 +2422,7 @@
|
|
|
2494
2422
|
center: 'self-center',
|
|
2495
2423
|
end: 'self-end',
|
|
2496
2424
|
};
|
|
2497
|
-
const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [
|
|
2425
|
+
const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap @xl:flex-nowrap justify-between items-stretch gap-3xl", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, { className: '-order-1 @xl:order-1', imageAlign })] })] })));
|
|
2498
2426
|
const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
|
|
2499
2427
|
|
|
2500
2428
|
const getItemListFontSize = (colValue) => (colValue === 1 ? 'text-h6' : 'text-l');
|
|
@@ -2502,7 +2430,7 @@
|
|
|
2502
2430
|
1: 'flex-col',
|
|
2503
2431
|
2: 'gap-x-10 flex-wrap',
|
|
2504
2432
|
};
|
|
2505
|
-
const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('
|
|
2433
|
+
const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('text-left', className), padding: "p-0", ...rest, children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, title: title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-m z-10", title: title }) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, children: [jsxs("div", { className: "flex justify-between mb-4", children: [description ? (jsx("div", { className: "w-1/3", children: jsx(Text, { size: "text-h6", children: description }) })) : null, additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: style('list-none m-0 p-0 flex gap-y-2', cardColumnsModeStyleMap[columnsMode]), children: renderCardList(cardsList, columnsMode) })) : null] }) })));
|
|
2506
2434
|
const renderCardList = (cardsList, columnsMode) => {
|
|
2507
2435
|
const CARDS_COUNT_MAP = [4, 9];
|
|
2508
2436
|
const visibleCardsList = cardsList.slice(0, CARDS_COUNT_MAP[columnsMode - 1]);
|
|
@@ -2510,7 +2438,7 @@
|
|
|
2510
2438
|
};
|
|
2511
2439
|
|
|
2512
2440
|
const LINK_CLASS_NAME = `absolute border border-primary-main ml-s px-xl py-lg
|
|
2513
|
-
text-l font-light bg-white text-primary-text flex w-
|
|
2441
|
+
text-l font-light bg-white text-primary-text flex w-80
|
|
2514
2442
|
justify-between items-center group-hover/link:text-primary-main z-10`;
|
|
2515
2443
|
const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-[316px] top-0';
|
|
2516
2444
|
const LinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
|
|
@@ -2520,10 +2448,10 @@
|
|
|
2520
2448
|
});
|
|
2521
2449
|
|
|
2522
2450
|
const MAX_LINKS_COUNT = 10;
|
|
2523
|
-
const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden
|
|
2451
|
+
const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden', className), ...rest, children: [jsxs("div", { className: "mr-xl flex-auto", children: [jsx(Headline, { isPadding: false, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isPadding: false })) : null] }), links?.length ? renderLinks(links) : null] })));
|
|
2524
2452
|
const renderLinks = (links) => {
|
|
2525
2453
|
const itemCount = Math.ceil(links.length / MAX_LINKS_COUNT);
|
|
2526
|
-
return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "",
|
|
2454
|
+
return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "", itemCount: itemCount, arrowsPadded: false, showDots: true, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: "w-[672px] min-w-[672px] ml-10 mr-10 flex flex-wrap self-start", children: links
|
|
2527
2455
|
.slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
|
|
2528
2456
|
.map((link, index) => (jsx(LinkButton, { className: "m-1", ...link }, String(index)))) }, String(groupIndex)))) }));
|
|
2529
2457
|
};
|
|
@@ -2550,7 +2478,7 @@
|
|
|
2550
2478
|
const alignTextStyle = 'text-center';
|
|
2551
2479
|
|
|
2552
2480
|
const CarouselProductCard = JSX(({ additionalDescription, align = alignTextStyle, button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isButtonFullWidth = true, isImageFullWidth = false, isTopPosition = false, items = [], target, title, version = 'primary', ...rest }) => {
|
|
2553
|
-
return (jsxs(BlockWrapper, { className: style('
|
|
2481
|
+
return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-m flex flex-col gap-xs", href: href, target: target, children: [renderCardTitle(headlineSmallVersion, title), renderDescription$2(description), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription), renderImage$2(icon, isImageFullWidth, isTopPosition)] }), renderButtonsSection([button], {
|
|
2554
2482
|
className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
|
|
2555
2483
|
isVertical: isButtonFullWidth,
|
|
2556
2484
|
})] }));
|
|
@@ -2564,9 +2492,7 @@
|
|
|
2564
2492
|
const cardTitleFont = 'font-normal';
|
|
2565
2493
|
const cardDescriptionColor = 'text-secondary-text';
|
|
2566
2494
|
|
|
2567
|
-
const CarouselProgramsCard = JSX(({ className
|
|
2568
|
-
return (jsx(BlockWrapper, { className: style('border border-gray', className), defaultPadding: "p-3xl sm:p-0", ...rest, children: jsxs(LinkWrapper, { className: "sm:flex sm:items-center", href: href, target: target, children: [jsx("div", { className: "min-w-[200px] flex justify-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }), jsxs("div", { className: "sm:px-s p-5xl", children: [title ? jsx(Heading, { className: "mb-xs sm:mb-m", headingType: "h6", title: title }) : null, list.length ? (jsx("div", { className: "flex flex-col gap-xs sm:gap-s", children: list?.map(renderList$2) })) : null] })] }) }));
|
|
2569
|
-
});
|
|
2495
|
+
const CarouselProgramsCard = JSX(({ className, title, icon, list = [], href, target, ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-3xl sm:p-0", ...rest, children: jsxs(LinkWrapper, { className: "sm:flex sm:items-center", href: href, target: target, children: [jsx("div", { className: "flex justify-center px-xl", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }), jsxs("div", { className: "sm:px-s p-5xl", children: [title ? jsx(Heading, { className: "mb-xs sm:mb-m", headingType: "h6", title: title }) : null, list.length ? (jsx("div", { className: "flex flex-col gap-xs sm:gap-s", children: list?.map(renderList$2) })) : null] })] }) })));
|
|
2570
2496
|
const renderList$2 = (_, i) => (jsxs("div", { className: "flex flex-row-reverse justify-between gap-y-2xs sm:flex-col", children: [_.title ? (jsx(Text, { size: "text-l", font: cardTitleFont, children: _.title })) : null, _.description ? (jsx(Paragraph, { size: "text-l", font: "font-light", color: cardDescriptionColor, children: _.description })) : null] }, String(i)));
|
|
2571
2497
|
|
|
2572
2498
|
const buttonSizeStyles = {
|
|
@@ -2622,19 +2548,16 @@
|
|
|
2622
2548
|
|
|
2623
2549
|
const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-1 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) }), jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })] })));
|
|
2624
2550
|
|
|
2625
|
-
const
|
|
2626
|
-
|
|
2627
|
-
const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', version = 'primary', ...rest }) => {
|
|
2628
|
-
return (jsx(BlockWrapper, { className: style('relative min-w-[524px] min-h-[218px] h-full box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), defaultPadding: "p-m", version: version, ...rest, children: jsxs(LinkWrapper, { href: href, target: target, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "S", isPadding: false, align: align }), jsxs("div", { className: "w-1/2 h-full flex flex-col flex-1 justify-end", children: [items.length ? jsx(List, { items: items, listItemSize: "S" }) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10", media: socialMedia }) : null] }), renderIconBlock$2(icon)] }) }));
|
|
2551
|
+
const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
|
|
2552
|
+
return (jsx(BlockWrapper, { className: style('relative min-h-[218px] group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isPadding: false, align: align })) : null, backImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null, children: items.length ? jsx(List, { items: items, listItemSize: "S" }) : null }) }) }));
|
|
2629
2553
|
});
|
|
2630
|
-
const renderIconBlock$2 = (icon) => (jsxs("div", { className: "absolute bottom-0 right-0", children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null] }));
|
|
2631
2554
|
|
|
2632
2555
|
const RichText = JSX((props) => {
|
|
2633
2556
|
const { __html = '', richVersion = '' } = props;
|
|
2634
2557
|
return (jsx("div", { className: style(richVersion, 'md-container'), dangerouslySetInnerHTML: { __html } }));
|
|
2635
2558
|
});
|
|
2636
2559
|
|
|
2637
|
-
const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className:
|
|
2560
|
+
const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: className, ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
|
|
2638
2561
|
|
|
2639
2562
|
const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
|
|
2640
2563
|
const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
|
|
@@ -2670,9 +2593,9 @@
|
|
|
2670
2593
|
const cellsNode = cardCells.map(renderCardInfo);
|
|
2671
2594
|
const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
|
|
2672
2595
|
const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
|
|
2673
|
-
return (jsxs(BlockWrapper, { className: style('relative
|
|
2596
|
+
return (jsxs(BlockWrapper, { className: style('relative flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock$1(icon), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-m", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
|
|
2674
2597
|
});
|
|
2675
|
-
const renderIconBlock$1 = (icon) => (jsx("div", { className: "
|
|
2598
|
+
const renderIconBlock$1 = (icon) => (jsx("div", { className: "basis-full self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
|
|
2676
2599
|
const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-5 flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
|
|
2677
2600
|
const renderHitIcon = () => (jsxs("div", { className: "absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22" }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: "\u0425\u0418\u0422" })] }));
|
|
2678
2601
|
|
|
@@ -2683,7 +2606,7 @@
|
|
|
2683
2606
|
const COLS_LENGTH_FOR_SCROLL$1 = 3;
|
|
2684
2607
|
const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
|
|
2685
2608
|
|
|
2686
|
-
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
|
|
2609
|
+
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col gap-m items-center rounded-t-md border-b-0 p-2xl ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })), image?.src && jsx(Img, { 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: "w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-s", children: link.text }) }) }))] })));
|
|
2687
2610
|
|
|
2688
2611
|
const carouselContainerClassesMap = {
|
|
2689
2612
|
comparison: 'flex gap-4 duration-1000',
|
|
@@ -2712,7 +2635,7 @@
|
|
|
2712
2635
|
return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeIndex: activeIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable
|
|
2713
2636
|
? renderArrows({
|
|
2714
2637
|
...controls,
|
|
2715
|
-
btnClass: ['top-
|
|
2638
|
+
btnClass: ['top-28', 'top-12'],
|
|
2716
2639
|
className: 'right-7',
|
|
2717
2640
|
isDisabled: true,
|
|
2718
2641
|
})
|
|
@@ -2733,7 +2656,7 @@
|
|
|
2733
2656
|
visibleItemCount: COLS_LENGTH_FOR_SCROLL$1,
|
|
2734
2657
|
});
|
|
2735
2658
|
const { isScrollAvailable } = controls;
|
|
2736
|
-
return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-
|
|
2659
|
+
return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
|
|
2737
2660
|
});
|
|
2738
2661
|
|
|
2739
2662
|
const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
|
|
@@ -2743,11 +2666,11 @@
|
|
|
2743
2666
|
? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
|
|
2744
2667
|
: null] }));
|
|
2745
2668
|
});
|
|
2746
|
-
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-
|
|
2669
|
+
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-6xl", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-m py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
|
|
2747
2670
|
|
|
2748
2671
|
const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
|
|
2749
2672
|
const renderBlocks = (info) => (jsx("div", { className: "flex grow basis-0", children: info.map((column, index) => renderBlocksColumn({ column, index })) }));
|
|
2750
|
-
const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-xl first:mt-0", children: [jsx(Headline, {
|
|
2673
|
+
const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-xl first:mt-0", children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isPadding: false }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, button?.href ? jsx(Button, { className: "mt-xl", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
|
|
2751
2674
|
|
|
2752
2675
|
const isEmpty = (v) => v === null ||
|
|
2753
2676
|
v === undefined ||
|
|
@@ -2936,18 +2859,19 @@
|
|
|
2936
2859
|
const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
|
|
2937
2860
|
|
|
2938
2861
|
const TABLE_HEAD_STYLE = 'text-left text-m font-light text-secondary-text';
|
|
2939
|
-
const
|
|
2862
|
+
const TABLE_HEAD_STYLE_WITH_PADDING = `${TABLE_HEAD_STYLE} pl-5xl`;
|
|
2940
2863
|
const CURRENCY_ICONS_MAP = {
|
|
2941
2864
|
USD: 'DollarIcon',
|
|
2942
2865
|
EUR: 'EuroIcon',
|
|
2943
2866
|
};
|
|
2944
|
-
const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx("th", { className:
|
|
2867
|
+
const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: jsx(Text, { size: "text-m", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041A\u0443\u043F\u0438\u0442\u044C" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" }) })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map(renderCurrencyRow) })] })));
|
|
2945
2868
|
const renderCurrencyRow = (exchangeCurrencyItem) => {
|
|
2946
2869
|
const currency = exchangeCurrencyItem?.currency?.currency;
|
|
2947
|
-
return (jsxs("tr", { className: "pb-2xs text-h6", children: [jsx("td", { className: "pt-m", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24" })) : null, jsx(
|
|
2870
|
+
return (jsxs("tr", { className: "pb-2xs text-h6", children: [jsx("td", { className: "pt-m", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24", className: "mr-2" })) : null, jsx(Text, { size: "text-h6", children: currency })] }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) }) })] }, currency));
|
|
2948
2871
|
};
|
|
2949
2872
|
|
|
2950
|
-
const
|
|
2873
|
+
const icon = { icon: 'GpsIcon' };
|
|
2874
|
+
const CurrentLocation$1 = JSX(({ className = '', address }) => (jsxs("div", { className: `flex gap-s ${className}`, children: [jsx(RoundedIcon, { ...icon, iconBgVersion: "primary" }), jsxs("div", { className: "space-y-2xs", children: [address ? jsx("p", { className: "text-primary-main text-l", children: address }) : null, jsx("p", { className: "text-secondary-text text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
|
|
2951
2875
|
|
|
2952
2876
|
const roundTo = (value, precision = 2) => {
|
|
2953
2877
|
const factor = 10 ** precision;
|
|
@@ -2995,7 +2919,7 @@
|
|
|
2995
2919
|
selectBuy: currencyRatesSell?.[0]?.currency?.currency || Currency.USD,
|
|
2996
2920
|
});
|
|
2997
2921
|
const handleSetCalcState = useCallback((newState) => setCalcState((oldState) => ({ ...oldState, ...newState })), []);
|
|
2998
|
-
return (jsxs("div", { className: `grid gap-
|
|
2922
|
+
return (jsxs("div", { className: `grid gap-m pt-2xl ${className}`, children: [renderInput({
|
|
2999
2923
|
placeholder: 'Хочу продать',
|
|
3000
2924
|
rates: currencyRatesSell,
|
|
3001
2925
|
selected: calcState.selectSell,
|
|
@@ -3090,7 +3014,7 @@
|
|
|
3090
3014
|
currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
|
|
3091
3015
|
const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
|
|
3092
3016
|
currencyRatesSell.push({ currency: { currency: Currency.RUB } });
|
|
3093
|
-
return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-6xl", children: [jsxs("div", { children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-xl", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
3017
|
+
return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-6xl flex-wrap", children: [jsxs("div", { children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-xl", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
3094
3018
|
});
|
|
3095
3019
|
const getCurrencyRates = (currencies) => {
|
|
3096
3020
|
return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
|
|
@@ -3382,7 +3306,7 @@
|
|
|
3382
3306
|
});
|
|
3383
3307
|
const searchItems = useMemo(() => combineTopItemsAndSearchResult(topItems)(searchResult), [topItems, searchResult]);
|
|
3384
3308
|
useEffect(() => printSearchItems(searchItems), [searchItems]); // Temp
|
|
3385
|
-
return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, {
|
|
3309
|
+
return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
|
|
3386
3310
|
});
|
|
3387
3311
|
const combineTopItemsAndSearchResult = (topItems) => (searchResult) => topItems?.length && searchResult?.length
|
|
3388
3312
|
? zip(topItems, searchResult).map(([_, portalSearchResult]) => ({
|
|
@@ -3451,14 +3375,12 @@
|
|
|
3451
3375
|
const TextInformation = JSX(({ className = '', links }) => (jsxs("div", { className: className, children: [jsx("div", { className: "pt-4 xl:pt-5", children: jsx(Text, { size: "text-xs", font: "font-light", color: "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-4", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, ..._ }, String(i)))) })) : null] })));
|
|
3452
3376
|
|
|
3453
3377
|
const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
|
|
3454
|
-
const Footer = JSX(({ className
|
|
3455
|
-
const
|
|
3456
|
-
const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
|
|
3457
|
-
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
|
|
3378
|
+
const Footer = JSX(({ className, sitemap, ...rest }) => {
|
|
3379
|
+
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', rest.options?.page?.fallback);
|
|
3458
3380
|
return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden space-y-xl`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: sitemap?.topItems })] }), jsx(HorizontalNavigation, { className: "mt-24", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
3459
3381
|
});
|
|
3460
3382
|
|
|
3461
|
-
const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "
|
|
3383
|
+
const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "M", isPadding: false }), calendar ? renderCalendar(calendar) : null] })));
|
|
3462
3384
|
const renderCalendar = (calendar) => {
|
|
3463
3385
|
const colCount = calendar.reduce((accumulator, currentValue) => currentValue?.month?.length ? accumulator + currentValue.month.length : accumulator, 0) || 1;
|
|
3464
3386
|
const colSize = 100 / colCount;
|
|
@@ -3469,61 +3391,27 @@
|
|
|
3469
3391
|
// Condition lower is always true, TS does not understand this, notice filter above
|
|
3470
3392
|
flexBasis: `${_?.month?.length ? _.month.length * colSize : ''}%`,
|
|
3471
3393
|
}));
|
|
3472
|
-
return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-
|
|
3394
|
+
return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex gap-s w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-s border-r border-main-divider last:border-r-0 last:pr-0", style: { flexBasis: _.flexBasis }, children: [jsx("div", { className: "flex", children: renderMonthImages(_) }), jsxs("div", { className: "text-s font-light text-primary-text mt-s", children: [jsx("span", { children: _.text }), "\u2009", jsx("span", { className: "text-primary-main", children: _.greenText })] })] }, `monthItem-${ind}`))) })] }));
|
|
3473
3395
|
};
|
|
3474
3396
|
const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
|
|
3475
3397
|
const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r pr-3 mr-3 border-main-divider last:border-r-0 last:pr-0 last:mr-0", children: jsx(Img, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
|
|
3476
3398
|
|
|
3477
|
-
const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
|
|
3478
|
-
function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
|
|
3479
|
-
const cachedFetcher = useCallback(async (...args) => {
|
|
3480
|
-
const storageKey = `async:${key}`;
|
|
3481
|
-
const storageData = storage.getItem(storageKey);
|
|
3482
|
-
const cachedData = getParsedData(storageData);
|
|
3483
|
-
if (cachedData) {
|
|
3484
|
-
return cachedData;
|
|
3485
|
-
}
|
|
3486
|
-
const data = await fetcher(...args);
|
|
3487
|
-
storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
|
|
3488
|
-
return data;
|
|
3489
|
-
}, [key, fetcher]);
|
|
3490
|
-
return useAsyncData(key, cachedFetcher);
|
|
3491
|
-
}
|
|
3492
|
-
function getParsedData(storageData) {
|
|
3493
|
-
const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
|
|
3494
|
-
return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
|
|
3495
|
-
}
|
|
3496
|
-
|
|
3497
|
-
const REGION_URL = '/api/v1/region';
|
|
3498
|
-
function useLocation(defaultLocation = 'Москва') {
|
|
3499
|
-
const currentLocation = getLocalStorageLocation();
|
|
3500
|
-
const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
|
|
3501
|
-
const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
3502
|
-
useEffect(() => {
|
|
3503
|
-
setLocation(currentLocation?.region && currentLocation?.manual
|
|
3504
|
-
? currentLocation.region
|
|
3505
|
-
: data || { name: defaultLocation });
|
|
3506
|
-
}, [data]);
|
|
3507
|
-
const onChangeLocation = useCallback((region) => {
|
|
3508
|
-
globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
|
|
3509
|
-
setLocation(region);
|
|
3510
|
-
}, []);
|
|
3511
|
-
return [location, onChangeLocation];
|
|
3512
|
-
}
|
|
3513
|
-
const getLocalStorageLocation = () => {
|
|
3514
|
-
const localStorageLocation = globalThis.localStorage?.getItem('location');
|
|
3515
|
-
try {
|
|
3516
|
-
return localStorageLocation ? JSON.parse(localStorageLocation) : null;
|
|
3517
|
-
}
|
|
3518
|
-
catch (_) {
|
|
3519
|
-
return null;
|
|
3520
|
-
}
|
|
3521
|
-
};
|
|
3522
|
-
|
|
3523
3399
|
const isHrefActive = (router) => ({ href }) => withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
|
|
3524
3400
|
|
|
3525
3401
|
const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
|
|
3526
3402
|
|
|
3403
|
+
const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
|
|
3404
|
+
const link = useLink({ isRemote: true });
|
|
3405
|
+
const { href, target, text, onClick } = link(rest);
|
|
3406
|
+
return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
|
|
3407
|
+
});
|
|
3408
|
+
const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
|
|
3409
|
+
? 'rounded-md border-primary-main group-data-transparent:border-white'
|
|
3410
|
+
: 'border-transparent', flat ? '' : 'px-4 py-2');
|
|
3411
|
+
const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
|
|
3412
|
+
? 'text-primary-main'
|
|
3413
|
+
: style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
|
|
3414
|
+
|
|
3527
3415
|
const REGIONS_URL = '/api/v1/regions';
|
|
3528
3416
|
function useRegions() {
|
|
3529
3417
|
const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
|
|
@@ -3541,7 +3429,7 @@
|
|
|
3541
3429
|
};
|
|
3542
3430
|
|
|
3543
3431
|
const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
|
|
3544
|
-
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-
|
|
3432
|
+
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-44 gap-3.5 pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-4 w-full peer text-l text-black border border-solid rounded-md box-border
|
|
3545
3433
|
outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value.toLowerCase()), type: "text", name: "location-search-bar-input" })] }));
|
|
3546
3434
|
});
|
|
3547
3435
|
|
|
@@ -3556,7 +3444,7 @@
|
|
|
3556
3444
|
dialogProps.onClose && dialogProps.onClose();
|
|
3557
3445
|
onChangeLocation && onChangeLocation(region);
|
|
3558
3446
|
}, [dialogProps.onClose, onChangeLocation]);
|
|
3559
|
-
return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query
|
|
3447
|
+
return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
|
|
3560
3448
|
.filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
|
|
3561
3449
|
.map(renderRegion(handleChangeLocation)) })) : (jsx("div", { className: "columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation)) })), jsx(ForeignOffices, { foreignOffices: foreignOffices })] }));
|
|
3562
3450
|
});
|
|
@@ -3568,7 +3456,7 @@
|
|
|
3568
3456
|
const CurrentLocation = JSX(({ currentLocation, onChangeLocation }) => currentLocation ? (jsxs("div", { className: "mb-4", children: [jsx(Text, { size: "text-l", font: "font-light", children: "\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:\u00A0" }), jsx("button", { className: "cursor-pointer", onClick: () => {
|
|
3569
3457
|
onChangeLocation && onChangeLocation(currentLocation);
|
|
3570
3458
|
}, children: jsx(Text, { color: "text-primary-main", children: currentLocation.name }) })] })) : null);
|
|
3571
|
-
const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-
|
|
3459
|
+
const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-56", children: [jsx("div", { className: "mb-s", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
|
|
3572
3460
|
const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-2xs", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
|
|
3573
3461
|
onChangeLocation && onChangeLocation(region);
|
|
3574
3462
|
}, children: region.name || '' }) }, region.id));
|
|
@@ -3579,18 +3467,6 @@
|
|
|
3579
3467
|
return (jsxs("div", { className: "flex gap-x-3", children: [icon ? jsx(Img, { pathPrefix: "/wcms-resources/", image: icon }) : null, text ? (jsx("a", { className: "hover:text-primary-hover", href: href, target: target, onClick: onClick, children: text })) : null] }));
|
|
3580
3468
|
});
|
|
3581
3469
|
|
|
3582
|
-
const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
|
|
3583
|
-
const link = useLink({ isRemote: true });
|
|
3584
|
-
const { href, target, text, onClick } = link(rest);
|
|
3585
|
-
return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
|
|
3586
|
-
});
|
|
3587
|
-
const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
|
|
3588
|
-
? 'rounded-md border-primary-main group-data-transparent:border-white'
|
|
3589
|
-
: 'border-transparent', flat ? '' : 'px-4 py-2');
|
|
3590
|
-
const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
|
|
3591
|
-
? 'text-primary-main'
|
|
3592
|
-
: style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
|
|
3593
|
-
|
|
3594
3470
|
const BUTTON_SIZE_STYLE = {
|
|
3595
3471
|
default: 'w-6 h-6',
|
|
3596
3472
|
large: 'w-12 h-12',
|
|
@@ -3732,12 +3608,11 @@
|
|
|
3732
3608
|
'bg-white': 'primary',
|
|
3733
3609
|
transparent: 'transparent',
|
|
3734
3610
|
};
|
|
3735
|
-
const Header = JSX(({ bgColor = 'bg-white',
|
|
3611
|
+
const Header = JSX(({ className, bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], sitemap, location, ...rest }) => {
|
|
3736
3612
|
const router = useRouter();
|
|
3737
|
-
const { topItems, logo,
|
|
3613
|
+
const { topItems, logo, officesLink, internetBankUrl } = sitemap || {};
|
|
3738
3614
|
const activeTopItem = topItems?.find(isTopItemActive(router));
|
|
3739
|
-
|
|
3740
|
-
return (jsxs(BlockWrapper, { tag: "header", className: style('pt-3xl px-20', showSubMenu && activeTopItem?.items?.length ? 'pb-m' : 'pb-lg', className), defaultPadding: "", version: version, ...rest, children: [jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-xl h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }), jsx(SearchDialog, { topItems: topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation })] }));
|
|
3615
|
+
return (jsx(BlockWrapper, { tag: "header", className: style('pt-3xl px-20', activeTopItem?.items?.length ? 'pb-m' : 'pb-lg', className), defaultPadding: "", version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location?.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-xl h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }) }));
|
|
3741
3616
|
});
|
|
3742
3617
|
|
|
3743
3618
|
const gapStyles = {
|
|
@@ -3798,7 +3673,7 @@
|
|
|
3798
3673
|
const btnClassName = isActive
|
|
3799
3674
|
? 'shadow-dark-blue border-primary-main'
|
|
3800
3675
|
: `ease-in duration-300 border-gray`;
|
|
3801
|
-
return (jsxs("button", { type: "button", onClick: onClick, className: `p-
|
|
3676
|
+
return (jsxs("button", { type: "button", onClick: onClick, className: `p-3xl min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-5 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "108", height: "108" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock$1('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock$1('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
|
|
3802
3677
|
}
|
|
3803
3678
|
function renderValueBlock$1(title, sum) {
|
|
3804
3679
|
return (jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [jsxs("span", { className: "text-h6", children: [toLocalNumberFormat(2)(sum), " \u20BD"] }), jsx("span", { className: "text-secondary-text text-l mt-1", children: title })] }));
|
|
@@ -3840,11 +3715,11 @@
|
|
|
3840
3715
|
'green-dark': 'bg-green-dark',
|
|
3841
3716
|
};
|
|
3842
3717
|
const investmentCellSizeMap = {
|
|
3843
|
-
XS: 'h-
|
|
3844
|
-
S: 'h-
|
|
3845
|
-
M: 'h-
|
|
3846
|
-
L: 'h-
|
|
3847
|
-
XL: 'h-
|
|
3718
|
+
XS: 'h-10',
|
|
3719
|
+
S: 'h-16',
|
|
3720
|
+
M: 'h-24',
|
|
3721
|
+
L: 'h-32',
|
|
3722
|
+
XL: 'h-52',
|
|
3848
3723
|
};
|
|
3849
3724
|
const InvestmentInfo = JSX((props) => {
|
|
3850
3725
|
const { className = '', items, isDotted, investmentZeroColumn, investmentColumns, ...rest } = props;
|
|
@@ -3906,7 +3781,7 @@
|
|
|
3906
3781
|
};
|
|
3907
3782
|
const LinkDocs = JSX(({ className = '', title, description, align = 'text-center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
|
|
3908
3783
|
const router = useRouter();
|
|
3909
|
-
return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, {
|
|
3784
|
+
return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, align: align, headlineVersion: "M", as: "h2", isPadding: false }), documents?.length ? (jsx("div", { className: style('mt-5 sm:mt-8 flex flex-col gap-6', linkColumnsModeStyleMap[columnsMode]), role: "list", children: documents.map(renderLinkDocItem(router, columnsMode, icon)) })) : null] }));
|
|
3910
3785
|
});
|
|
3911
3786
|
const renderLinkDocItem = (router, columnsMode, icon) => (docBlockDef, i) => {
|
|
3912
3787
|
const href = docBlockDef?.docType === 'Attachment'
|
|
@@ -3915,7 +3790,7 @@
|
|
|
3915
3790
|
const fileSize = docBlockDef?.docType === 'Attachment'
|
|
3916
3791
|
? formatBytes(docBlockDef?.attachment?.fileSize || 0)
|
|
3917
3792
|
: docBlockDef?.fileSize;
|
|
3918
|
-
return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, {
|
|
3793
|
+
return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { text: docBlockDef?.text, target: docBlockDef?.target, href: href, fileSize: fileSize, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
|
|
3919
3794
|
};
|
|
3920
3795
|
|
|
3921
3796
|
const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-5 pt-3xs sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
|
|
@@ -3925,7 +3800,7 @@
|
|
|
3925
3800
|
};
|
|
3926
3801
|
|
|
3927
3802
|
const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
|
|
3928
|
-
const containerStyle = version === 'secondary' ? 'p-m min-w-
|
|
3803
|
+
const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
|
|
3929
3804
|
return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-6xl", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 4 }), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-m items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items), image?.src ? jsx(Img, { image: image }) : null] })] }) }));
|
|
3930
3805
|
});
|
|
3931
3806
|
|
|
@@ -4145,7 +4020,7 @@
|
|
|
4145
4020
|
setPointsToRender(normalizedPoints);
|
|
4146
4021
|
}
|
|
4147
4022
|
};
|
|
4148
|
-
return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-
|
|
4023
|
+
return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-1/2 ${zIndex}`, children: showSearchField
|
|
4149
4024
|
? renderSearchField(mockPoints, yandexMaps, updatePointsToRender)
|
|
4150
4025
|
: renderOpenMap(pointsCenter) }), jsx("div", { className: `${Object.values(FULLSCREEN_STYLES).join(' ')} ${zIndex} right-2 top-4 bg-white`, onClick: toggleFullscreen, children: jsx(Icon, { name: "FullScreenIcon", width: "16", height: "16" }) }), jsxs("div", { className: `absolute right-2 top-52 z-10 w-12 overflow-hidden border border-transparent rounded-md ${zIndex}`, children: [jsx(ZoomButton, { yandexMaps: map }), jsx(ZoomButton, { yandexMaps: map, direction: "out" })] }), renderUserGeolocation(map.current, yandexMaps, `right-2 top-80 ${zIndex}`)] }));
|
|
4151
4026
|
});
|
|
@@ -4287,11 +4162,11 @@
|
|
|
4287
4162
|
];
|
|
4288
4163
|
const currentWeekDayInd = new Date().getDay();
|
|
4289
4164
|
const currentWeekDay = currentWeekDayInd > 0 ? workScheduleWeek[currentWeekDayInd - 1] : workScheduleWeek[6];
|
|
4290
|
-
return (jsxs("div", { className: `flex flex-col font-sans
|
|
4165
|
+
return (jsxs("div", { className: `flex flex-col font-sans w-full ${className}`, children: [jsxs("div", { className: "flex flex-col gap-m p-6xl pb-3xl", children: [jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "text-h2", children: name }), renderCurrentDaySchedule(currentWeekDay)] }), jsxs("div", { className: "flex text-l font-light", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24", className: "pr-1" }), address] }), jsx("div", { className: "flex", children: nearbyOffices.map(renderNearbyOffice) })] }), jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "flex-grow h-full w-full overflow-hidden", children: point ? jsx(YandexMap, { points: [point], className: "h-full" }) : null }), jsx("div", { className: "w-[434px] min-w-[434px] p-6xl pt-0 flex flex-col", children: workScheduleWeek.map(renderDay) })] })] }));
|
|
4291
4166
|
});
|
|
4292
4167
|
|
|
4293
|
-
const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5",
|
|
4294
|
-
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex
|
|
4168
|
+
const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col gap-lg', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none space-y-lg", children: servicesList.map(renderListItems) })) : null] })));
|
|
4169
|
+
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex gap-s list-none ", children: [itemList.icon ? (jsx(Img, { className: "min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", image: itemList.icon })) : null, itemList.label ? (jsx(Text, { size: "text-l", font: "font-light", children: itemList.label })) : null] }, `list_item_${String(i)}`));
|
|
4295
4170
|
|
|
4296
4171
|
const ParagraphBlock = JSX(({ text, size, align, font, children, ...rest }) => (jsx(BlockWrapper, { defaultPadding: "p-0", ...rest, children: jsx(Paragraph, { size: size, align: align, font: font, children: text || children }) })));
|
|
4297
4172
|
|
|
@@ -4393,14 +4268,10 @@
|
|
|
4393
4268
|
return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
|
|
4394
4269
|
}
|
|
4395
4270
|
|
|
4396
|
-
const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left', className), version: version, ...rest, children: [jsxs("div", { className: "w-full
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
: null] })] })));
|
|
4401
|
-
const renderIconBlock = (icon) => (jsxs("div", { className: 'w-10 h-7 sm:w-24 sm:h-16 mb-3 sm:mb-0 sm:mt-3', children: [icon?.src ? jsx(Img, { image: icon }) : null, icon?.icon ? jsx(Img, { image: icon }) : null] }));
|
|
4402
|
-
const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5 my-5", children: jsx(RichText, { __html: __html }) }));
|
|
4403
|
-
const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex mb-4", children: [jsx(Icon, { className: "pr-4", iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col first:pb-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
|
|
4271
|
+
const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h4", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock('Адрес', address, 'GeolocationIcon'), renderBlock('Телефон', telephone, 'PhoneIcon'), renderBlock('E-mail', email, 'MailIcon'), button?.text ? renderButtonsSection([button]) : null] })] })));
|
|
4272
|
+
const renderIconBlock = (icon) => (jsx("div", { className: 'w-10 h-7 sm:w-24 sm:h-16', children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
|
|
4273
|
+
const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5", children: jsx(RichText, { __html: __html }) }));
|
|
4274
|
+
const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex gap-m", children: [jsx(Icon, { iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
|
|
4404
4275
|
|
|
4405
4276
|
const RichTextBlock = JSX((props) => {
|
|
4406
4277
|
const { __html, richVersion, ...rest } = props;
|
|
@@ -4419,7 +4290,10 @@
|
|
|
4419
4290
|
const rollupItemStyles = 'border-0 border-b border-solid border-main-divider last:border-b-0';
|
|
4420
4291
|
|
|
4421
4292
|
const RollupItem = JSX(({ className = '', label = 'Развернуть', labelIcon, labelIconBgVersion, isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => {
|
|
4422
|
-
return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5
|
|
4293
|
+
return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren({
|
|
4294
|
+
...rest,
|
|
4295
|
+
extraProps: { className: 'w-full', padding: 'p-0' },
|
|
4296
|
+
}) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({
|
|
4423
4297
|
version,
|
|
4424
4298
|
label,
|
|
4425
4299
|
labelIcon,
|
|
@@ -4453,27 +4327,27 @@
|
|
|
4453
4327
|
return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
|
|
4454
4328
|
});
|
|
4455
4329
|
|
|
4456
|
-
const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex
|
|
4330
|
+
const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col sm:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
|
|
4457
4331
|
|
|
4458
4332
|
const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-primary-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text ml-3 cursor-pointer", children: text }) : null] }) })));
|
|
4459
4333
|
|
|
4460
|
-
const
|
|
4334
|
+
const RadioButtons = JSX(({ className }) => {
|
|
4461
4335
|
const [selectedOption, setSelectedOption] = useState('option2');
|
|
4462
4336
|
const onChange = useCallback((_) => setSelectedOption(_), []);
|
|
4463
|
-
return (jsxs("div", { children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
|
|
4337
|
+
return (jsxs("div", { className: style('order-4', className), children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
|
|
4464
4338
|
});
|
|
4465
4339
|
|
|
4466
4340
|
const ITEMS = ['От 1 дня', 'До 365 дней'];
|
|
4467
4341
|
const MIN = 1;
|
|
4468
4342
|
const MAX = 365;
|
|
4469
|
-
const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "
|
|
4343
|
+
const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "order-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
|
|
4470
4344
|
|
|
4471
4345
|
const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
|
|
4472
|
-
return (jsxs("div", { className: "flex
|
|
4346
|
+
return (jsxs("div", { className: "flex flex-col sm:flex-row gap-4 order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
|
|
4473
4347
|
});
|
|
4474
4348
|
|
|
4475
4349
|
const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
|
|
4476
|
-
return (jsxs("div", { className: "flex-1
|
|
4350
|
+
return (jsxs("div", { className: "contents sm:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents sm:flex justify-between items-center", children: [jsx(RadioButtons, { className: "mb-4 sm:mb-0" }), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] }));
|
|
4477
4351
|
});
|
|
4478
4352
|
const onSelectedBranch = (onChange) => (value) => {
|
|
4479
4353
|
onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
|
|
@@ -4484,10 +4358,11 @@
|
|
|
4484
4358
|
|
|
4485
4359
|
const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
|
|
4486
4360
|
const price = calculatePrice(days, tariffs);
|
|
4487
|
-
|
|
4361
|
+
const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
|
|
4362
|
+
return (jsxs("div", { className: "contents sm:flex flex-col justify-between order-2", children: [jsxs("div", { className: "flex flex-col sm:flex-row gap-x-11 gap-y-7 order-5 sm:order-none py-7 sm:py-0 border-t border-main-divider sm:border-none", children: [renderTotal('Аренда за', days), renderTotal('Цена', price + ' ₽')] }), jsx("span", { className: "sm:hidden order-3 mb-2 text-s-light text-secondary-text", children: imageDescription }), jsxs("div", { className: "flex flex-col items-center gap-3 order-3 sm:order-none mb-6 sm:mb-0 bg-primary-main py-3 sm:p-8 text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, className: "sm:h-[246px]" }), jsx("span", { className: "hidden sm:inline text-s font-light text-white opacity-80 whitespace-pre-line", children: imageDescription })] })] }));
|
|
4488
4363
|
});
|
|
4489
|
-
const renderTotal = (label, total
|
|
4490
|
-
return (jsxs("div", { className:
|
|
4364
|
+
const renderTotal = (label, total) => {
|
|
4365
|
+
return (jsxs("div", { className: "flex justify-between items-center gap-y-1 sm:flex-col sm:items-start", children: [jsx("div", { className: "text-l font-light text-secondary-text", children: label }), jsx("span", { className: "text-l sm:text-h3 text-primary-text", children: total })] }));
|
|
4491
4366
|
};
|
|
4492
4367
|
const calculatePrice = (days, tariffs) => {
|
|
4493
4368
|
const tariffType = getTariffType(days);
|
|
@@ -4534,7 +4409,7 @@
|
|
|
4534
4409
|
const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
|
|
4535
4410
|
const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
|
|
4536
4411
|
const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
|
|
4537
|
-
return (jsxs("div", { className: "flex
|
|
4412
|
+
return (jsxs("div", { className: "flex flex-col sm:flex-row gap-x-9 align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
|
|
4538
4413
|
});
|
|
4539
4414
|
const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
|
|
4540
4415
|
const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
|
|
@@ -4590,7 +4465,7 @@
|
|
|
4590
4465
|
};
|
|
4591
4466
|
const renderDefaultStep = ({ styleMap, isMainButton, version }) => (step, i, arr) => {
|
|
4592
4467
|
const { label, description, button, items, isDotted } = step;
|
|
4593
|
-
return (jsxs("div", { className: style('relative flex flex-col items-center text-center whitespace-pre-line overflow-hidden space-y-3xl', getContainerWidth(arr.length)), children: [jsxs("div", { className: "text-center space-y-xs", children: [label ? (jsx("div", { children: jsx(Text, { size: "text-h6", children: label }) })) : null, jsxs("div", { className: "flex flex-col items-center gap-3xs", children: [description ? jsx("div", { className: styleMap.description, children: description }) : null, jsx(List, { className: styleMap.description, items: items, listItemSize: "M", isDotted: isDotted })] })] }), button?.text && !isMainButton ? (jsx(Button, { className: "box-border py-s
|
|
4468
|
+
return (jsxs("div", { className: style('relative flex flex-col items-center text-center justify-between whitespace-pre-line overflow-hidden space-y-3xl', getContainerWidth(arr.length)), children: [jsxs("div", { className: "text-center space-y-xs", children: [label ? (jsx("div", { children: jsx(Text, { size: "text-h6", children: label }) })) : null, jsxs("div", { className: "flex flex-col items-center gap-3xs", children: [description ? jsx("div", { className: styleMap.description, children: description }) : null, jsx(List, { className: styleMap.description, items: items, listItemSize: "M", isDotted: isDotted })] })] }), button?.text && !isMainButton ? (jsx(Button, { className: "box-border py-s w-full max-w-60 mt-auto", version: version, ...button, children: button?.text })) : null] }, String(i)));
|
|
4594
4469
|
};
|
|
4595
4470
|
const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[200px]');
|
|
4596
4471
|
|
|
@@ -4734,7 +4609,6 @@
|
|
|
4734
4609
|
const { tabs, ...rest } = props;
|
|
4735
4610
|
const [containerRef, scroll] = useSwipeListScroll({
|
|
4736
4611
|
itemCount: tabs?.length || 0,
|
|
4737
|
-
isCyclic: false,
|
|
4738
4612
|
});
|
|
4739
4613
|
return (jsxs("div", { className: "relative max-w-full m-auto", children: [jsx("div", { className: `font-sans max-w-full w-full overflow-hidden relative bg-white`, children: jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: tabs?.map(renderTab({ ...rest })) }) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: `${scrollButtonStyle} left-6`, onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: `${scrollButtonStyle} rotate-180 right-6`, onClick: scroll.scrollRight })) : null] }));
|
|
4740
4614
|
});
|
|
@@ -4941,15 +4815,15 @@
|
|
|
4941
4815
|
});
|
|
4942
4816
|
const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
|
|
4943
4817
|
const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
|
|
4944
|
-
return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding:
|
|
4818
|
+
return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
|
|
4945
4819
|
});
|
|
4946
4820
|
const Wrapper = JSX(({ children, controls }) => {
|
|
4947
4821
|
const { isScrollAvailable } = controls;
|
|
4948
4822
|
return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
|
|
4949
4823
|
...controls,
|
|
4950
|
-
btnClass: ['top-
|
|
4824
|
+
btnClass: ['top-28', 'top-11'],
|
|
4951
4825
|
className: 'right-7',
|
|
4952
|
-
})] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-
|
|
4826
|
+
})] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
|
|
4953
4827
|
});
|
|
4954
4828
|
|
|
4955
4829
|
const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-3 sm:gap-4 bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? jsx("div", { className: "mt-1", children: renderIcon() }) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-1 sm:gap-2", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
|
|
@@ -4963,21 +4837,18 @@
|
|
|
4963
4837
|
|
|
4964
4838
|
const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, listItemSize: listItemSize, ...rest }) })));
|
|
4965
4839
|
|
|
4966
|
-
const
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
right: 'items-end',
|
|
4971
|
-
};
|
|
4972
|
-
const VerticalLayout = JSX(({ className = '', gap = '', align = 'stretch', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => {
|
|
4973
|
-
const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
|
|
4974
|
-
return (jsx(BlockWrapper, { className: style('relative', 'flex flex-col [&>*]:max-w-full', gapStyles[gap], align && alignStyle[align], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
|
|
4975
|
-
...rest,
|
|
4976
|
-
renderProps: (block, options) => renderBlock$1(block, options, { className: innerPaddingStyle }),
|
|
4977
|
-
}) }));
|
|
4978
|
-
});
|
|
4840
|
+
const VerticalLayout = JSX(({ className = '', gap = '', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex flex-col', gapStyles[gap], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
|
|
4841
|
+
...rest,
|
|
4842
|
+
extraProps: { className: 'w-full', padding: isInnerPadding ? '' : 'p-0' },
|
|
4843
|
+
}) })));
|
|
4979
4844
|
VerticalLayout.childrenTypes = [];
|
|
4980
4845
|
|
|
4846
|
+
const getColSpan = (className) => {
|
|
4847
|
+
const colSpanPrefix = 'col-span-';
|
|
4848
|
+
const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
4849
|
+
return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
|
|
4850
|
+
};
|
|
4851
|
+
|
|
4981
4852
|
const MIN_COL_SPAN = 10;
|
|
4982
4853
|
const getPaddings = (className) => getColSpan(className) < MIN_COL_SPAN ? 'py-6 px-11' : 'py-12 px-32';
|
|
4983
4854
|
|
|
@@ -5047,6 +4918,52 @@
|
|
|
5047
4918
|
ExchangeRateOffice,
|
|
5048
4919
|
};
|
|
5049
4920
|
|
|
4921
|
+
const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
|
|
4922
|
+
function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
|
|
4923
|
+
const cachedFetcher = useCallback(async (...args) => {
|
|
4924
|
+
const storageKey = `async:${key}`;
|
|
4925
|
+
const storageData = storage.getItem(storageKey);
|
|
4926
|
+
const cachedData = getParsedData(storageData);
|
|
4927
|
+
if (cachedData) {
|
|
4928
|
+
return cachedData;
|
|
4929
|
+
}
|
|
4930
|
+
const data = await fetcher(...args);
|
|
4931
|
+
storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
|
|
4932
|
+
return data;
|
|
4933
|
+
}, [key, fetcher]);
|
|
4934
|
+
return useAsyncData(key, cachedFetcher);
|
|
4935
|
+
}
|
|
4936
|
+
function getParsedData(storageData) {
|
|
4937
|
+
const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
|
|
4938
|
+
return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
|
|
4939
|
+
}
|
|
4940
|
+
|
|
4941
|
+
const REGION_URL = '/api/v1/region';
|
|
4942
|
+
function useLocation(defaultLocation = 'Москва') {
|
|
4943
|
+
const currentLocation = getLocalStorageLocation();
|
|
4944
|
+
const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
|
|
4945
|
+
const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
4946
|
+
useEffect(() => {
|
|
4947
|
+
setLocation(currentLocation?.region && currentLocation?.manual
|
|
4948
|
+
? currentLocation.region
|
|
4949
|
+
: data || { name: defaultLocation });
|
|
4950
|
+
}, [data]);
|
|
4951
|
+
const onChangeLocation = useCallback((region) => {
|
|
4952
|
+
globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
|
|
4953
|
+
setLocation(region);
|
|
4954
|
+
}, []);
|
|
4955
|
+
return [location, onChangeLocation];
|
|
4956
|
+
}
|
|
4957
|
+
const getLocalStorageLocation = () => {
|
|
4958
|
+
const localStorageLocation = globalThis.localStorage?.getItem('location');
|
|
4959
|
+
try {
|
|
4960
|
+
return localStorageLocation ? JSON.parse(localStorageLocation) : null;
|
|
4961
|
+
}
|
|
4962
|
+
catch (_) {
|
|
4963
|
+
return null;
|
|
4964
|
+
}
|
|
4965
|
+
};
|
|
4966
|
+
|
|
5050
4967
|
const debounce = (fn, delay = 600) => {
|
|
5051
4968
|
let timerId;
|
|
5052
4969
|
const debouncedCallback = (...args) => {
|
|
@@ -5160,9 +5077,8 @@
|
|
|
5160
5077
|
return (jsxs("div", { className: `border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${className}`, children: [jsx(LikeButton, { onClick: handlerDecorator(likeService.like), ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u043B\u0430\u0439\u043A\u00BB" }), jsx(LikeButton, { onClick: handlerDecorator(likeService.dislike), className: "rotate-180", ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u0434\u0438\u0437\u043B\u0430\u0439\u043A\u00BB" }), jsx("span", { className: "select-none", children: likeService.likeCount })] }));
|
|
5161
5078
|
});
|
|
5162
5079
|
|
|
5163
|
-
const ContentPage = JSX((
|
|
5164
|
-
const {
|
|
5165
|
-
const { style: pageStyle, blocks, slots, likeControl, colorPalette = 'pc' } = data;
|
|
5080
|
+
const ContentPage = JSX(({ className, blocksRegistry, blockDecorator, data = {} }) => {
|
|
5081
|
+
const { style: pageStyle, slots, likeControl, colorPalette = 'pc' } = data;
|
|
5166
5082
|
const options = {
|
|
5167
5083
|
key: '',
|
|
5168
5084
|
page: data,
|
|
@@ -5170,6 +5086,8 @@
|
|
|
5170
5086
|
blockDecorator,
|
|
5171
5087
|
parent: data,
|
|
5172
5088
|
};
|
|
5089
|
+
const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', data?.fallback);
|
|
5090
|
+
const [location, onChangeLocation] = useLocation(sitemap?.defaultLocation);
|
|
5173
5091
|
useBlockRouterProvider();
|
|
5174
5092
|
const [isSomeDialogOpened, { setTrue: setSomeDialogOpened, setFalse: resetSomeDialogOpened }] = useBool();
|
|
5175
5093
|
useDialogHandlers({
|
|
@@ -5179,12 +5097,12 @@
|
|
|
5179
5097
|
return (jsxs("section", { className: style('relative', pageStyle, className, isSomeDialogOpened ? 'overflow-hidden h-screen' : ''), "data-theme": colorPalette, children: [slots?.header ? (jsx("div", { className: "mb-5 shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, {
|
|
5180
5098
|
...options,
|
|
5181
5099
|
slotName: 'header',
|
|
5182
|
-
|
|
5183
|
-
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
}
|
|
5187
|
-
|
|
5100
|
+
extraProps: { sitemap, location },
|
|
5101
|
+
}) })) : null, jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, {
|
|
5102
|
+
...options,
|
|
5103
|
+
slotName: 'footer',
|
|
5104
|
+
extraProps: { sitemap, location },
|
|
5105
|
+
})] }), likeControl ? renderLikeControl() : null, jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } }), jsx(SearchDialog, { topItems: sitemap?.topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: sitemap?.foreignOffices, onChangeLocation: onChangeLocation })] }));
|
|
5188
5106
|
});
|
|
5189
5107
|
ContentPage.childrenTypes = [];
|
|
5190
5108
|
ContentPage.slots = () => ['header', 'footer'];
|
|
@@ -5192,7 +5110,7 @@
|
|
|
5192
5110
|
return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
|
|
5193
5111
|
}
|
|
5194
5112
|
|
|
5195
|
-
const packageVersion = "0.12.
|
|
5113
|
+
const packageVersion = "0.12.12";
|
|
5196
5114
|
|
|
5197
5115
|
exports.Blocks = Blocks;
|
|
5198
5116
|
exports.ContentPage = ContentPage;
|