@redneckz/wildless-cms-uni-blocks 0.6.37 → 0.6.38
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/EventBus/EventBus.d.ts +6 -5
- package/bundle/EventBus/EventMap.d.ts +1 -4
- package/bundle/ProjectSettings.d.ts +2 -0
- package/bundle/bundle.umd.js +183 -99
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Footer/FooterDataProps.d.ts +8 -3
- package/bundle/components/Tabs/LinkTab.d.ts +0 -1
- package/bundle/components/Tabs/Tabs.d.ts +0 -4
- package/bundle/services/BlockRouter/BlockIntersection.d.ts +2 -0
- package/bundle/services/BlockRouter/BlockRouter.d.ts +23 -0
- package/bundle/services/BlockRouter/findActiveBlock.d.ts +3 -0
- package/bundle/services/BlockRouter/useBlockIntersectionObserver.d.ts +5 -0
- package/bundle/services/BlockRouter/useBlockRouter.d.ts +2 -0
- package/bundle/services/BlockRouter/useBlockRouterProvider.d.ts +2 -0
- package/bundle/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
- package/bundle/ui-kit/InnerTable/InnerTableProps.d.ts +0 -3
- package/bundle/utils/debounce.d.ts +5 -0
- package/dist/EventBus/EventBus.d.ts +6 -5
- package/dist/EventBus/EventBus.js +5 -3
- package/dist/EventBus/EventBus.js.map +1 -1
- package/dist/EventBus/EventMap.d.ts +1 -4
- package/dist/ProjectSettings.d.ts +2 -0
- package/dist/ProjectSettings.js +3 -0
- package/dist/ProjectSettings.js.map +1 -1
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/AccordionItem/AccordionItem.mobile.js +1 -1
- package/dist/components/AccordionItem/AccordionItem.mobile.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/Bonus/Bonus.js +2 -2
- package/dist/components/Bonus/Bonus.js.map +1 -1
- package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
- package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/dist/components/BusinessBlock/BusinessBlock.js +1 -1
- package/dist/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/dist/components/Calculator/DepositCalculatorForm.js +0 -1
- package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/renderProposal.js +2 -2
- package/dist/components/Calculator/renderProposal.js.map +1 -1
- package/dist/components/CardTransfer/CardTransfer.js +1 -1
- package/dist/components/CardTransfer/CardTransfer.js.map +1 -1
- package/dist/components/Catalog/Catalog.js +1 -1
- package/dist/components/Catalog/Catalog.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.js +2 -2
- package/dist/components/ComparisonTable/ComparisonTable.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 +2 -0
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/ContentPage/useContentPageData.js +4 -8
- package/dist/components/ContentPage/useContentPageData.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.js +2 -2
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer/FooterDataProps.d.ts +8 -3
- package/dist/components/Footer/MediaButton.js +1 -1
- package/dist/components/Footer/MediaButton.js.map +1 -1
- package/dist/components/Gallery/Gallery.mobile.js +1 -1
- package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
- package/dist/components/Gallery/GalleryCardInner.js +1 -1
- package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/dist/components/GracePeriod/GracePeriod.js +2 -2
- package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/dist/components/Header/Header.js +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/Header.mobile.js +1 -1
- package/dist/components/Header/Header.mobile.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
- package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.js +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/dist/components/Header/HeaderTop.js +1 -1
- package/dist/components/Header/HeaderTop.js.map +1 -1
- package/dist/components/Headline/Headline.js +1 -1
- package/dist/components/Headline/Headline.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +3 -3
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocs.js +1 -1
- package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/dist/components/LinkList/LinkList.js +1 -1
- package/dist/components/LinkList/LinkList.js.map +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.mobile.js +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
- package/dist/components/OfficeMap/useOfficeMap.js +3 -4
- package/dist/components/OfficeMap/useOfficeMap.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlock.js +1 -1
- package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.js +2 -2
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.js +2 -2
- package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js +3 -3
- package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/dist/components/Tabs/LinkTab.d.ts +0 -1
- package/dist/components/Tabs/LinkTab.js +2 -8
- package/dist/components/Tabs/LinkTab.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +0 -4
- package/dist/components/Tabs/Tabs.js +6 -12
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.js +1 -1
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/dist/hooks/useLink.js +11 -2
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/services/BlockRouter/BlockIntersection.d.ts +2 -0
- package/dist/services/BlockRouter/BlockIntersection.js +2 -0
- package/dist/services/BlockRouter/BlockIntersection.js.map +1 -0
- package/dist/services/BlockRouter/BlockRouter.d.ts +23 -0
- package/dist/services/BlockRouter/BlockRouter.js +32 -0
- package/dist/services/BlockRouter/BlockRouter.js.map +1 -0
- package/dist/services/BlockRouter/findActiveBlock.d.ts +3 -0
- package/dist/services/BlockRouter/findActiveBlock.js +15 -0
- package/dist/services/BlockRouter/findActiveBlock.js.map +1 -0
- package/dist/services/BlockRouter/useBlockIntersectionObserver.d.ts +5 -0
- package/dist/services/BlockRouter/useBlockIntersectionObserver.js +28 -0
- package/dist/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -0
- package/dist/services/BlockRouter/useBlockRouter.d.ts +2 -0
- package/dist/services/BlockRouter/useBlockRouter.js +8 -0
- package/dist/services/BlockRouter/useBlockRouter.js.map +1 -0
- package/dist/services/BlockRouter/useBlockRouterProvider.d.ts +2 -0
- package/dist/services/BlockRouter/useBlockRouterProvider.js +37 -0
- package/dist/services/BlockRouter/useBlockRouterProvider.js.map +1 -0
- package/dist/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.js +6 -20
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.js +1 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js +1 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
- package/dist/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
- package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/dist/ui-kit/InnerTable/InnerTableProps.d.ts +0 -3
- package/dist/ui-kit/Select/Select.js +1 -1
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/YandexMap/useYandexMaps.js +1 -1
- package/dist/ui-kit/YandexMap/useYandexMaps.js.map +1 -1
- package/dist/utils/adjustHref.js +3 -1
- package/dist/utils/adjustHref.js.map +1 -1
- package/dist/utils/debounce.d.ts +5 -0
- package/dist/utils/debounce.js +19 -0
- package/dist/utils/debounce.js.map +1 -0
- package/lib/EventBus/EventBus.d.ts +6 -5
- package/lib/EventBus/EventBus.js +5 -3
- package/lib/EventBus/EventBus.js.map +1 -1
- package/lib/EventBus/EventMap.d.ts +1 -4
- package/lib/ProjectSettings.d.ts +2 -0
- package/lib/ProjectSettings.js +3 -0
- package/lib/ProjectSettings.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Accordion/Accordion.js +1 -1
- package/lib/components/Accordion/Accordion.js.map +1 -1
- package/lib/components/AccordionItem/AccordionItem.mobile.js +1 -1
- package/lib/components/AccordionItem/AccordionItem.mobile.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/Bonus/Bonus.js +2 -2
- package/lib/components/Bonus/Bonus.js.map +1 -1
- package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
- package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/lib/components/BusinessBlock/BusinessBlock.js +1 -1
- package/lib/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/lib/components/Calculator/DepositCalculatorForm.js +0 -1
- package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/renderProposal.js +2 -2
- package/lib/components/Calculator/renderProposal.js.map +1 -1
- package/lib/components/CardTransfer/CardTransfer.js +1 -1
- package/lib/components/CardTransfer/CardTransfer.js.map +1 -1
- package/lib/components/Catalog/Catalog.js +1 -1
- package/lib/components/Catalog/Catalog.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.js +2 -2
- package/lib/components/ComparisonTable/ComparisonTable.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 +2 -0
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/ContentPage/useContentPageData.js +4 -8
- package/lib/components/ContentPage/useContentPageData.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/Footer/Footer.js +2 -2
- package/lib/components/Footer/Footer.js.map +1 -1
- package/lib/components/Footer/FooterDataProps.d.ts +8 -3
- package/lib/components/Footer/MediaButton.js +1 -1
- package/lib/components/Footer/MediaButton.js.map +1 -1
- package/lib/components/Gallery/Gallery.mobile.js +1 -1
- package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
- package/lib/components/Gallery/GalleryCardInner.js +1 -1
- package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/lib/components/GracePeriod/GracePeriod.js +2 -2
- package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/lib/components/Header/Header.js +1 -1
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/Header.mobile.js +1 -1
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenu.js +1 -1
- package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.js +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/lib/components/Header/HeaderTop.js +1 -1
- package/lib/components/Header/HeaderTop.js.map +1 -1
- package/lib/components/Headline/Headline.js +1 -1
- package/lib/components/Headline/Headline.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +3 -3
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocs.js +1 -1
- package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/lib/components/LinkList/LinkList.js +1 -1
- package/lib/components/LinkList/LinkList.js.map +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.mobile.js +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
- package/lib/components/OfficeMap/useOfficeMap.js +3 -4
- package/lib/components/OfficeMap/useOfficeMap.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlock.js +1 -1
- package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.js +2 -2
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/components/Recommendation/Recommendation.fixture.d.ts +3 -1
- package/lib/components/StepsBlock/StepsBlock.js +2 -2
- package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js +3 -3
- package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/lib/components/Tabs/LinkTab.d.ts +0 -1
- package/lib/components/Tabs/LinkTab.js +2 -8
- package/lib/components/Tabs/LinkTab.js.map +1 -1
- package/lib/components/Tabs/Tabs.d.ts +0 -4
- package/lib/components/Tabs/Tabs.js +7 -13
- package/lib/components/Tabs/Tabs.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.js +1 -1
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/lib/hooks/useLink.js +11 -2
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/services/BlockRouter/BlockIntersection.d.ts +2 -0
- package/lib/services/BlockRouter/BlockIntersection.js +2 -0
- package/lib/services/BlockRouter/BlockIntersection.js.map +1 -0
- package/lib/services/BlockRouter/BlockRouter.d.ts +23 -0
- package/lib/services/BlockRouter/BlockRouter.js +29 -0
- package/lib/services/BlockRouter/BlockRouter.js.map +1 -0
- package/lib/services/BlockRouter/findActiveBlock.d.ts +3 -0
- package/lib/services/BlockRouter/findActiveBlock.js +12 -0
- package/lib/services/BlockRouter/findActiveBlock.js.map +1 -0
- package/lib/services/BlockRouter/useBlockIntersectionObserver.d.ts +5 -0
- package/lib/services/BlockRouter/useBlockIntersectionObserver.js +25 -0
- package/lib/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -0
- package/lib/services/BlockRouter/useBlockRouter.d.ts +2 -0
- package/lib/services/BlockRouter/useBlockRouter.js +5 -0
- package/lib/services/BlockRouter/useBlockRouter.js.map +1 -0
- package/lib/services/BlockRouter/useBlockRouterProvider.d.ts +2 -0
- package/lib/services/BlockRouter/useBlockRouterProvider.js +34 -0
- package/lib/services/BlockRouter/useBlockRouterProvider.js.map +1 -0
- package/lib/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.js +7 -21
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.js +1 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js +1 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
- package/lib/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
- package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/lib/ui-kit/InnerTable/InnerTableProps.d.ts +0 -3
- package/lib/ui-kit/Select/Select.js +1 -1
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/YandexMap/useYandexMaps.js +1 -1
- package/lib/ui-kit/YandexMap/useYandexMaps.js.map +1 -1
- package/lib/utils/adjustHref.js +3 -1
- package/lib/utils/adjustHref.js.map +1 -1
- package/lib/utils/debounce.d.ts +5 -0
- package/lib/utils/debounce.js +16 -0
- package/lib/utils/debounce.js.map +1 -0
- package/mobile/bundle/EventBus/EventBus.d.ts +6 -5
- package/mobile/bundle/EventBus/EventMap.d.ts +1 -4
- package/mobile/bundle/ProjectSettings.d.ts +2 -0
- package/mobile/bundle/bundle.umd.js +145 -49
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Footer/FooterDataProps.d.ts +8 -3
- package/mobile/bundle/components/Tabs/LinkTab.d.ts +0 -1
- package/mobile/bundle/components/Tabs/Tabs.d.ts +0 -4
- package/mobile/bundle/services/BlockRouter/BlockIntersection.d.ts +2 -0
- package/mobile/bundle/services/BlockRouter/BlockRouter.d.ts +23 -0
- package/mobile/bundle/services/BlockRouter/findActiveBlock.d.ts +3 -0
- package/mobile/bundle/services/BlockRouter/useBlockIntersectionObserver.d.ts +5 -0
- package/mobile/bundle/services/BlockRouter/useBlockRouter.d.ts +2 -0
- package/mobile/bundle/services/BlockRouter/useBlockRouterProvider.d.ts +2 -0
- package/mobile/bundle/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
- package/mobile/bundle/ui-kit/InnerTable/InnerTableProps.d.ts +0 -3
- package/mobile/bundle/utils/debounce.d.ts +5 -0
- package/mobile/dist/EventBus/EventBus.d.ts +6 -5
- package/mobile/dist/EventBus/EventBus.js +5 -3
- package/mobile/dist/EventBus/EventBus.js.map +1 -1
- package/mobile/dist/EventBus/EventMap.d.ts +1 -4
- package/mobile/dist/ProjectSettings.d.ts +2 -0
- package/mobile/dist/ProjectSettings.js +3 -0
- package/mobile/dist/ProjectSettings.js.map +1 -1
- package/mobile/dist/components/AccordionItem/AccordionItem.js +1 -1
- package/mobile/dist/components/AccordionItem/AccordionItem.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/dist/components/Bonus/Bonus.js +2 -2
- package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/mobile/dist/components/BusinessBlock/BusinessBlock.js +1 -1
- package/mobile/dist/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/mobile/dist/components/Calculator/DepositCalculatorForm.js +0 -1
- package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/renderProposal.js +2 -2
- package/mobile/dist/components/Calculator/renderProposal.js.map +1 -1
- package/mobile/dist/components/CardTransfer/CardTransfer.js +1 -1
- package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -1
- package/mobile/dist/components/Catalog/Catalog.js +1 -1
- package/mobile/dist/components/Catalog/Catalog.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 +2 -0
- package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/dist/components/ContentPage/useContentPageData.js +4 -8
- package/mobile/dist/components/ContentPage/useContentPageData.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/FooterDataProps.d.ts +8 -3
- package/mobile/dist/components/Footer/MediaButton.js +1 -1
- package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
- package/mobile/dist/components/Gallery/Gallery.js +1 -1
- package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
- package/mobile/dist/components/Gallery/GalleryCardInner.js +1 -1
- package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- 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.js +1 -1
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/dist/components/Header/HeaderTop.js +1 -1
- package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +3 -3
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/dist/components/LinkList/LinkList.js +1 -1
- package/mobile/dist/components/LinkList/LinkList.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/useOfficeMap.js +3 -4
- package/mobile/dist/components/OfficeMap/useOfficeMap.js.map +1 -1
- package/mobile/dist/components/ProductGallery/ProductGallery.js +2 -2
- package/mobile/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlock.js +3 -3
- package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/dist/components/Tabs/LinkTab.d.ts +0 -1
- package/mobile/dist/components/Tabs/LinkTab.js +2 -8
- package/mobile/dist/components/Tabs/LinkTab.js.map +1 -1
- package/mobile/dist/components/Tabs/Tabs.d.ts +0 -4
- package/mobile/dist/components/Tabs/Tabs.js +6 -12
- package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRow.js +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/mobile/dist/hooks/useLink.js +11 -2
- package/mobile/dist/hooks/useLink.js.map +1 -1
- package/mobile/dist/services/BlockRouter/BlockIntersection.d.ts +2 -0
- package/mobile/dist/services/BlockRouter/BlockIntersection.js +2 -0
- package/mobile/dist/services/BlockRouter/BlockIntersection.js.map +1 -0
- package/mobile/dist/services/BlockRouter/BlockRouter.d.ts +23 -0
- package/mobile/dist/services/BlockRouter/BlockRouter.js +32 -0
- package/mobile/dist/services/BlockRouter/BlockRouter.js.map +1 -0
- package/mobile/dist/services/BlockRouter/findActiveBlock.d.ts +3 -0
- package/mobile/dist/services/BlockRouter/findActiveBlock.js +15 -0
- package/mobile/dist/services/BlockRouter/findActiveBlock.js.map +1 -0
- package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.d.ts +5 -0
- package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.js +28 -0
- package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -0
- package/mobile/dist/services/BlockRouter/useBlockRouter.d.ts +2 -0
- package/mobile/dist/services/BlockRouter/useBlockRouter.js +8 -0
- package/mobile/dist/services/BlockRouter/useBlockRouter.js.map +1 -0
- package/mobile/dist/services/BlockRouter/useBlockRouterProvider.d.ts +2 -0
- package/mobile/dist/services/BlockRouter/useBlockRouterProvider.js +37 -0
- package/mobile/dist/services/BlockRouter/useBlockRouterProvider.js.map +1 -0
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +6 -20
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js +1 -1
- package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
- package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableProps.d.ts +0 -3
- package/mobile/dist/ui-kit/Select/Select.js +1 -1
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/YandexMap/useYandexMaps.js +1 -1
- package/mobile/dist/ui-kit/YandexMap/useYandexMaps.js.map +1 -1
- package/mobile/dist/utils/adjustHref.js +3 -1
- package/mobile/dist/utils/adjustHref.js.map +1 -1
- package/mobile/dist/utils/debounce.d.ts +5 -0
- package/mobile/dist/utils/debounce.js +19 -0
- package/mobile/dist/utils/debounce.js.map +1 -0
- package/mobile/lib/EventBus/EventBus.d.ts +6 -5
- package/mobile/lib/EventBus/EventBus.js +5 -3
- package/mobile/lib/EventBus/EventBus.js.map +1 -1
- package/mobile/lib/EventBus/EventMap.d.ts +1 -4
- package/mobile/lib/ProjectSettings.d.ts +2 -0
- package/mobile/lib/ProjectSettings.js +3 -0
- package/mobile/lib/ProjectSettings.js.map +1 -1
- package/mobile/lib/components/AccordionItem/AccordionItem.js +1 -1
- package/mobile/lib/components/AccordionItem/AccordionItem.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/lib/components/Bonus/Bonus.js +2 -2
- package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/mobile/lib/components/BusinessBlock/BusinessBlock.js +1 -1
- package/mobile/lib/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/mobile/lib/components/Calculator/DepositCalculatorForm.js +0 -1
- package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/renderProposal.js +2 -2
- package/mobile/lib/components/Calculator/renderProposal.js.map +1 -1
- package/mobile/lib/components/CardTransfer/CardTransfer.js +1 -1
- package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -1
- package/mobile/lib/components/Catalog/Catalog.js +1 -1
- package/mobile/lib/components/Catalog/Catalog.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 +2 -0
- package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/lib/components/ContentPage/useContentPageData.js +4 -8
- package/mobile/lib/components/ContentPage/useContentPageData.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/FooterDataProps.d.ts +8 -3
- package/mobile/lib/components/Footer/MediaButton.js +1 -1
- package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
- package/mobile/lib/components/Gallery/Gallery.js +1 -1
- package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
- package/mobile/lib/components/Gallery/GalleryCardInner.js +1 -1
- package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- 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.js +1 -1
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/lib/components/Header/HeaderTop.js +1 -1
- package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +3 -3
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/LinkList/LinkList.js +1 -1
- package/mobile/lib/components/LinkList/LinkList.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/useOfficeMap.js +3 -4
- package/mobile/lib/components/OfficeMap/useOfficeMap.js.map +1 -1
- package/mobile/lib/components/ProductGallery/ProductGallery.js +2 -2
- package/mobile/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlock.js +3 -3
- package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/lib/components/Tabs/LinkTab.d.ts +0 -1
- package/mobile/lib/components/Tabs/LinkTab.js +2 -8
- package/mobile/lib/components/Tabs/LinkTab.js.map +1 -1
- package/mobile/lib/components/Tabs/Tabs.d.ts +0 -4
- package/mobile/lib/components/Tabs/Tabs.js +7 -13
- package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRow.js +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/mobile/lib/hooks/useLink.js +11 -2
- package/mobile/lib/hooks/useLink.js.map +1 -1
- package/mobile/lib/services/BlockRouter/BlockIntersection.d.ts +2 -0
- package/mobile/lib/services/BlockRouter/BlockIntersection.js +2 -0
- package/mobile/lib/services/BlockRouter/BlockIntersection.js.map +1 -0
- package/mobile/lib/services/BlockRouter/BlockRouter.d.ts +23 -0
- package/mobile/lib/services/BlockRouter/BlockRouter.js +29 -0
- package/mobile/lib/services/BlockRouter/BlockRouter.js.map +1 -0
- package/mobile/lib/services/BlockRouter/findActiveBlock.d.ts +3 -0
- package/mobile/lib/services/BlockRouter/findActiveBlock.js +12 -0
- package/mobile/lib/services/BlockRouter/findActiveBlock.js.map +1 -0
- package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.d.ts +5 -0
- package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.js +25 -0
- package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -0
- package/mobile/lib/services/BlockRouter/useBlockRouter.d.ts +2 -0
- package/mobile/lib/services/BlockRouter/useBlockRouter.js +5 -0
- package/mobile/lib/services/BlockRouter/useBlockRouter.js.map +1 -0
- package/mobile/lib/services/BlockRouter/useBlockRouterProvider.d.ts +2 -0
- package/mobile/lib/services/BlockRouter/useBlockRouterProvider.js +34 -0
- package/mobile/lib/services/BlockRouter/useBlockRouterProvider.js.map +1 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +7 -21
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js +1 -1
- package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
- package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableProps.d.ts +0 -3
- package/mobile/lib/ui-kit/Select/Select.js +1 -1
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/YandexMap/useYandexMaps.js +1 -1
- package/mobile/lib/ui-kit/YandexMap/useYandexMaps.js.map +1 -1
- package/mobile/lib/utils/adjustHref.js +3 -1
- package/mobile/lib/utils/adjustHref.js.map +1 -1
- package/mobile/lib/utils/debounce.d.ts +5 -0
- package/mobile/lib/utils/debounce.js +16 -0
- package/mobile/lib/utils/debounce.js.map +1 -0
- package/mobile/src/EventBus/EventBus.ts +18 -14
- package/mobile/src/EventBus/EventMap.ts +1 -4
- package/mobile/src/ProjectSettings.ts +4 -0
- package/mobile/src/components/AccordionItem/AccordionItem.tsx +1 -1
- package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
- package/mobile/src/components/Bonus/Bonus.tsx +2 -4
- package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +1 -1
- package/mobile/src/components/BusinessBlock/BusinessBlock.tsx +1 -1
- package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +0 -1
- package/mobile/src/components/Calculator/renderProposal.tsx +2 -2
- package/mobile/src/components/CardTransfer/CardTransfer.tsx +1 -1
- package/mobile/src/components/Catalog/Catalog.example.json +1 -1
- package/mobile/src/components/Catalog/Catalog.tsx +1 -1
- package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
- package/mobile/src/components/ContentPage/ContentPage.tsx +3 -0
- package/mobile/src/components/ContentPage/useContentPageData.ts +4 -8
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
- package/mobile/src/components/Footer/FooterDataProps.ts +8 -3
- package/mobile/src/components/Footer/MediaButton.tsx +1 -1
- package/mobile/src/components/Gallery/Gallery.tsx +1 -1
- package/mobile/src/components/Gallery/GalleryCardInner.tsx +1 -1
- package/mobile/src/components/GracePeriod/GracePeriod.tsx +2 -2
- package/mobile/src/components/Header/Header.tsx +1 -1
- package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +1 -1
- package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
- package/mobile/src/components/Header/HeaderTop.tsx +1 -1
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +1 -1
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -6
- package/mobile/src/components/LinkList/LinkList.tsx +1 -1
- package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/mobile/src/components/OfficeMap/useOfficeMap.ts +4 -4
- package/mobile/src/components/ProductGallery/ProductGallery.tsx +2 -2
- package/mobile/src/components/StepsBlock/StepsBlock.tsx +3 -3
- package/mobile/src/components/Tabs/LinkTab.tsx +2 -10
- package/mobile/src/components/Tabs/Tabs.tsx +11 -19
- package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +1 -1
- package/mobile/src/hooks/useLink.ts +13 -2
- package/mobile/src/services/BlockRouter/BlockIntersection.ts +3 -0
- package/mobile/src/services/BlockRouter/BlockRouter.ts +51 -0
- package/mobile/src/services/BlockRouter/findActiveBlock.ts +20 -0
- package/mobile/src/services/BlockRouter/useBlockIntersectionObserver.ts +37 -0
- package/mobile/src/services/BlockRouter/useBlockRouter.ts +5 -0
- package/mobile/src/services/BlockRouter/useBlockRouterProvider.ts +49 -0
- package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +1 -1
- package/mobile/src/ui-kit/BlockWrapper.tsx +9 -32
- package/mobile/src/ui-kit/HeaderItem/HeaderItem.tsx +1 -1
- package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +5 -2
- package/mobile/src/ui-kit/InnerTable/InnerTableProps.ts +0 -6
- package/mobile/src/ui-kit/Select/Select.tsx +2 -2
- package/mobile/src/ui-kit/YandexMap/useYandexMaps.ts +3 -1
- package/mobile/src/utils/adjustHref.ts +3 -1
- package/mobile/src/utils/debounce.ts +24 -0
- package/package.json +1 -1
- package/src/EventBus/EventBus.ts +18 -14
- package/src/EventBus/EventMap.ts +1 -4
- package/src/ProjectSettings.ts +4 -0
- package/src/components/Accordion/Accordion.tsx +1 -1
- package/src/components/AccordionItem/AccordionItem.mobile.tsx +1 -1
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
- package/src/components/Bonus/Bonus.tsx +2 -4
- package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +1 -1
- package/src/components/BusinessBlock/BusinessBlock.tsx +1 -1
- package/src/components/Calculator/DepositCalculatorForm.tsx +0 -1
- package/src/components/Calculator/renderProposal.tsx +2 -2
- package/src/components/CardTransfer/CardTransfer.tsx +1 -1
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.fixture.tsx +0 -1
- package/src/components/Catalog/Catalog.example.json +1 -1
- package/src/components/Catalog/Catalog.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
- package/src/components/ContactsBlock/ContactsBlock.tsx +1 -1
- package/src/components/ContentPage/ContentPage.tsx +3 -0
- package/src/components/ContentPage/useContentPageData.ts +4 -8
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
- package/src/components/Footer/Footer.tsx +2 -2
- package/src/components/Footer/FooterDataProps.ts +8 -3
- package/src/components/Footer/MediaButton.tsx +1 -1
- package/src/components/Gallery/Gallery.mobile.tsx +1 -1
- package/src/components/Gallery/GalleryCardInner.tsx +1 -1
- package/src/components/GracePeriod/GracePeriod.tsx +2 -2
- package/src/components/Header/Header.mobile.tsx +1 -1
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/Header/HeaderSecondaryMenu.tsx +1 -1
- package/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
- package/src/components/Header/HeaderTop.tsx +1 -1
- package/src/components/Headline/Headline.tsx +1 -1
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +1 -1
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -6
- package/src/components/LinkDocs/LinkDocs.tsx +1 -4
- package/src/components/LinkList/LinkList.tsx +1 -1
- package/src/components/MobileAppTile/MobileAppTile.mobile.tsx +1 -1
- package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/src/components/OfficeMap/useOfficeMap.ts +4 -4
- package/src/components/ProductBlock/ProductBlock.tsx +1 -1
- package/src/components/ProductGallery/ProductGallery.tsx +2 -2
- package/src/components/Recommendation/Recommendation.fixture.tsx +38 -1
- package/src/components/StepsBlock/StepsBlock.mobile.tsx +3 -3
- package/src/components/StepsBlock/StepsBlock.tsx +2 -4
- package/src/components/Tabs/LinkTab.tsx +2 -10
- package/src/components/Tabs/Tabs.tsx +11 -19
- package/src/components/TariffsTable/TariffsTable.tsx +1 -1
- package/src/components/TariffsTable/TariffsTableRow.tsx +1 -1
- package/src/components/TextBlock/TextBlock.fixture.mobile.tsx +3 -3
- package/src/hooks/useLink.ts +13 -2
- package/src/services/BlockRouter/BlockIntersection.ts +3 -0
- package/src/services/BlockRouter/BlockRouter.ts +51 -0
- package/src/services/BlockRouter/findActiveBlock.ts +20 -0
- package/src/services/BlockRouter/useBlockIntersectionObserver.ts +37 -0
- package/src/services/BlockRouter/useBlockRouter.ts +5 -0
- package/src/services/BlockRouter/useBlockRouterProvider.ts +49 -0
- package/src/ui-kit/BenefitItem/BenefitItem.tsx +1 -1
- package/src/ui-kit/BlockWrapper.tsx +9 -32
- package/src/ui-kit/HeaderItem/HeaderItem.mobile.tsx +1 -1
- package/src/ui-kit/HeaderItem/HeaderItem.tsx +1 -1
- package/src/ui-kit/InnerTable/InnerTableButton.tsx +5 -2
- package/src/ui-kit/InnerTable/InnerTableProps.ts +0 -6
- package/src/ui-kit/Select/Select.tsx +2 -2
- package/src/ui-kit/YandexMap/useYandexMaps.ts +3 -1
- package/src/utils/adjustHref.ts +3 -1
- package/src/utils/debounce.ts +24 -0
- package/bundle/components/SafeDepositRental/YandexMap.d.ts +0 -5
- package/bundle/components/SafeDepositRental/useYandexMaps.d.ts +0 -2
- package/bundle/utils/changeHashOnObserve.d.ts +0 -9
- package/dist/components/SafeDepositRental/YandexMap.d.ts +0 -5
- package/dist/components/SafeDepositRental/YandexMap.js +0 -31
- package/dist/components/SafeDepositRental/YandexMap.js.map +0 -1
- package/dist/components/SafeDepositRental/useYandexMaps.d.ts +0 -2
- package/dist/components/SafeDepositRental/useYandexMaps.js +0 -12
- package/dist/components/SafeDepositRental/useYandexMaps.js.map +0 -1
- package/dist/utils/changeHashOnObserve.d.ts +0 -9
- package/dist/utils/changeHashOnObserve.js +0 -21
- package/dist/utils/changeHashOnObserve.js.map +0 -1
- package/lib/components/SafeDepositRental/YandexMap.d.ts +0 -5
- package/lib/components/SafeDepositRental/YandexMap.js +0 -29
- package/lib/components/SafeDepositRental/YandexMap.js.map +0 -1
- package/lib/components/SafeDepositRental/useYandexMaps.d.ts +0 -2
- package/lib/components/SafeDepositRental/useYandexMaps.js +0 -9
- package/lib/components/SafeDepositRental/useYandexMaps.js.map +0 -1
- package/lib/utils/changeHashOnObserve.d.ts +0 -9
- package/lib/utils/changeHashOnObserve.js +0 -18
- package/lib/utils/changeHashOnObserve.js.map +0 -1
- package/mobile/bundle/components/SafeDepositRental/YandexMap.d.ts +0 -5
- package/mobile/bundle/components/SafeDepositRental/useYandexMaps.d.ts +0 -2
- package/mobile/bundle/utils/changeHashOnObserve.d.ts +0 -9
- package/mobile/dist/components/SafeDepositRental/YandexMap.d.ts +0 -5
- package/mobile/dist/components/SafeDepositRental/YandexMap.js +0 -31
- package/mobile/dist/components/SafeDepositRental/YandexMap.js.map +0 -1
- package/mobile/dist/components/SafeDepositRental/useYandexMaps.d.ts +0 -2
- package/mobile/dist/components/SafeDepositRental/useYandexMaps.js +0 -12
- package/mobile/dist/components/SafeDepositRental/useYandexMaps.js.map +0 -1
- package/mobile/dist/utils/changeHashOnObserve.d.ts +0 -9
- package/mobile/dist/utils/changeHashOnObserve.js +0 -21
- package/mobile/dist/utils/changeHashOnObserve.js.map +0 -1
- package/mobile/lib/components/SafeDepositRental/YandexMap.d.ts +0 -5
- package/mobile/lib/components/SafeDepositRental/YandexMap.js +0 -29
- package/mobile/lib/components/SafeDepositRental/YandexMap.js.map +0 -1
- package/mobile/lib/components/SafeDepositRental/useYandexMaps.d.ts +0 -2
- package/mobile/lib/components/SafeDepositRental/useYandexMaps.js +0 -9
- package/mobile/lib/components/SafeDepositRental/useYandexMaps.js.map +0 -1
- package/mobile/lib/utils/changeHashOnObserve.d.ts +0 -9
- package/mobile/lib/utils/changeHashOnObserve.js +0 -18
- package/mobile/lib/utils/changeHashOnObserve.js.map +0 -1
- package/mobile/src/components/SafeDepositRental/YandexMap.tsx +0 -43
- package/mobile/src/components/SafeDepositRental/useYandexMaps.ts +0 -13
- package/mobile/src/utils/changeHashOnObserve.ts +0 -30
- package/src/components/SafeDepositRental/YandexMap.tsx +0 -43
- package/src/components/SafeDepositRental/useYandexMaps.ts +0 -13
- package/src/utils/changeHashOnObserve.ts +0 -30
package/bundle/bundle.umd.js
CHANGED
|
@@ -85,6 +85,9 @@
|
|
|
85
85
|
get CDN() {
|
|
86
86
|
return this._.CDN;
|
|
87
87
|
}
|
|
88
|
+
get BASE_PATH() {
|
|
89
|
+
return this._.BASE_PATH;
|
|
90
|
+
}
|
|
88
91
|
get YANDEX_MAP_API_KEY() {
|
|
89
92
|
return this._.YANDEX_MAP_API_KEY;
|
|
90
93
|
}
|
|
@@ -289,8 +292,7 @@
|
|
|
289
292
|
subscribers = {};
|
|
290
293
|
subjectsStateMap = {};
|
|
291
294
|
subscribe(type, listener) {
|
|
292
|
-
this.subscribers[type]
|
|
293
|
-
this.subscribers[type]?.push(listener);
|
|
295
|
+
this.subscribers[type] = (this.subscribers[type] || []).concat(listener);
|
|
294
296
|
const latestEvent = this.subjectsStateMap[type];
|
|
295
297
|
if (latestEvent) {
|
|
296
298
|
listener(latestEvent);
|
|
@@ -303,7 +305,10 @@
|
|
|
303
305
|
this.subscribers[type] = this.subscribers[type]?.filter((s) => s !== listener);
|
|
304
306
|
}
|
|
305
307
|
fire(type, event) {
|
|
306
|
-
this.subjectsStateMap
|
|
308
|
+
const isSubjectDeclared = type in this.subjectsStateMap;
|
|
309
|
+
if (isSubjectDeclared) {
|
|
310
|
+
this.subjectsStateMap[type] = event;
|
|
311
|
+
}
|
|
307
312
|
this.subscribers[type]?.forEach((s) => s(event));
|
|
308
313
|
}
|
|
309
314
|
subject(type, event) {
|
|
@@ -335,51 +340,71 @@
|
|
|
335
340
|
.concat(1);
|
|
336
341
|
}
|
|
337
342
|
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
|
|
343
|
+
const normalizeAnchor = (rawAnchor) => rawAnchor?.replace('#', '');
|
|
344
|
+
class BlockRouter {
|
|
345
|
+
static inst = new BlockRouter();
|
|
346
|
+
eventBus = new EventBus();
|
|
347
|
+
constructor() {
|
|
348
|
+
const anchor = normalizeAnchor(globalThis.location?.hash);
|
|
349
|
+
if (anchor) {
|
|
350
|
+
this.eventBus.subject('goto', { anchor });
|
|
351
|
+
}
|
|
341
352
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
353
|
+
goto(rawAnchor) {
|
|
354
|
+
const anchor = normalizeAnchor(rawAnchor);
|
|
355
|
+
if (anchor) {
|
|
356
|
+
this.push(anchor);
|
|
357
|
+
this.eventBus.fire('goto', { anchor });
|
|
358
|
+
}
|
|
345
359
|
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
EventBus.inst.fire('tab', { type: 'link', label: anchor });
|
|
360
|
+
push(rawAnchor) {
|
|
361
|
+
globalThis.history?.pushState(null, '', `#${normalizeAnchor(rawAnchor)}`);
|
|
349
362
|
}
|
|
350
|
-
|
|
351
|
-
|
|
363
|
+
replace(rawAnchor) {
|
|
364
|
+
globalThis.history?.replaceState(null, '', `#${normalizeAnchor(rawAnchor)}`);
|
|
352
365
|
}
|
|
353
|
-
|
|
366
|
+
reset() {
|
|
367
|
+
globalThis.history?.replaceState(null, '', '#');
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
function useBlockIntersectionObserver(block, router = BlockRouter.inst) {
|
|
372
|
+
const observerCallback = useCallback((entries) => {
|
|
373
|
+
if (!block || !entries?.length) {
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
const intersection = entries[entries.length - 1];
|
|
377
|
+
router.eventBus.fire('intersection', { block, intersection });
|
|
378
|
+
}, [block, router]);
|
|
379
|
+
const ref = useIntersectionObserver(observerCallback, { sensitivity: 1 });
|
|
380
|
+
useEffect(() => {
|
|
381
|
+
if (!ref.current) {
|
|
382
|
+
return undefined;
|
|
383
|
+
}
|
|
384
|
+
return router.eventBus.subscribe('goto', ({ anchor }) => {
|
|
385
|
+
if (ref.current && block?.anchor === anchor) {
|
|
386
|
+
ref.current.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
}, [block, router]);
|
|
390
|
+
return ref;
|
|
391
|
+
}
|
|
354
392
|
|
|
355
393
|
const BlockWrapper = JSX(({ className, block, tag = 'section', role, children }) => {
|
|
356
394
|
const Tag = tag;
|
|
357
|
-
const
|
|
395
|
+
const ref = useBlockIntersectionObserver(block);
|
|
358
396
|
const [isVisible, setVisible] = useState(true);
|
|
359
|
-
const anchorClickRef = useRef({});
|
|
360
|
-
const observerCallback = useMemo(() => changeHashOnObserve({ anchor, anchorClickRef }), [anchor]);
|
|
361
|
-
const ref = useIntersectionObserver(observerCallback, { sensitivity: 1 });
|
|
362
|
-
useEffect(() => EventBus.inst.subscribe('anchorClick', (e) => {
|
|
363
|
-
setVisible(true);
|
|
364
|
-
anchorClickRef.current = e;
|
|
365
|
-
}), []);
|
|
366
397
|
useEffect(() => EventBus.inst.subscribe('tab', (event) => {
|
|
367
398
|
if (event.type === 'group') {
|
|
368
|
-
const hasSettings = labels?.length || block?.anchor;
|
|
369
|
-
setVisible(event.label ? !hasSettings || Boolean(labels?.includes(event.label)) : true);
|
|
399
|
+
const hasSettings = block?.labels?.length || block?.anchor;
|
|
400
|
+
setVisible(event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true);
|
|
370
401
|
}
|
|
371
402
|
else {
|
|
372
|
-
changeHash(event.label);
|
|
373
403
|
setVisible(true);
|
|
374
404
|
}
|
|
375
|
-
}), []);
|
|
376
|
-
return isVisible ? (jsx(Tag, { className: className, role: role, ...(anchor ? { id: anchor, ref } : {}), children: children })) : null;
|
|
405
|
+
}), [block]);
|
|
406
|
+
return isVisible ? (jsx(Tag, { className: className, role: role, ...(block?.anchor ? { id: block.anchor, ref } : {}), children: children })) : null;
|
|
377
407
|
});
|
|
378
|
-
function changeHash(label) {
|
|
379
|
-
if (label) {
|
|
380
|
-
globalThis.document.location.hash = label;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
408
|
|
|
384
409
|
const HEADING_STYLE_MAP = {
|
|
385
410
|
h0: 'text-h0',
|
|
@@ -403,7 +428,7 @@
|
|
|
403
428
|
|
|
404
429
|
const AccordionItemsList = JSX(({ children }) => (jsx("ul", { className: "list-none m-0 p-0", children: children })));
|
|
405
430
|
|
|
406
|
-
const Accordion = JSX(({ className = '', title, accordionAlignTitle = 'center', description, ...rest }) => (jsxs(BlockWrapper, { className: `p-
|
|
431
|
+
const Accordion = JSX(({ className = '', title, accordionAlignTitle = 'center', description, ...rest }) => (jsxs(BlockWrapper, { className: `p-12 mb-1 last:mb-0 bg-white text-primary-text ${className}`, ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: `mb-2.5 ${AlignText[accordionAlignTitle]}`, title: title })) : null, description ? (jsx("div", { className: "mb-2.5", children: jsx(Paragraph, { size: "text-l", children: description }) })) : null, jsx(AccordionItemsList, { children: renderChildren(rest) })] })));
|
|
407
432
|
Accordion.childrenTypes = ['AccordionItem'];
|
|
408
433
|
|
|
409
434
|
const Foldable = JSX(({ isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
|
|
@@ -533,7 +558,7 @@
|
|
|
533
558
|
const BenefitsBlock = JSX(({ className = '', title, benefitList, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: `font-sans text-primary-text p-12 flex flex-col items-center ${className} ${VersionStyleMap[version]}`, ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: `max-w-[47rem] text-center ${benefitsTextStyleMap[version]}`, title: title })) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full justify-center gap-x-20 mt-8", children: benefitList.map(renderStep(version)) })) : null] })));
|
|
534
559
|
const renderStep = (version) => (benefit, i) => {
|
|
535
560
|
const description = benefit.description;
|
|
536
|
-
return (jsxs("div", { className: "flex items-center basis-1/2 max-w-[500px] mb-14", children: [benefit?.icon?.icon ? (jsx(ImgInner, { className: `w-
|
|
561
|
+
return (jsxs("div", { className: "flex items-center basis-1/2 max-w-[500px] mb-14", children: [benefit?.icon?.icon ? (jsx(ImgInner, { className: `w-12 h-12 min-w-12 p-3 rounded-full ${benefitsIconStyleMap[version]}`, image: getIconWithVersion(benefit.icon, version), asSVG: true })) : null, benefit?.icon?.src ? jsx(ImgInner, { image: benefit.icon }) : null, jsxs("div", { className: "ml-5", children: [benefit?.label ? (jsx("h3", { className: `text-h6 m-0 ${benefitsTextStyleMap[version]}`, children: benefit.label })) : null, renderDescription$3(description, version)] })] }, String(i)));
|
|
537
562
|
};
|
|
538
563
|
const renderDescription$3 = (description, version) => {
|
|
539
564
|
const benefitType = description?.benefitType || null;
|
|
@@ -547,6 +572,10 @@
|
|
|
547
572
|
return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
|
|
548
573
|
};
|
|
549
574
|
|
|
575
|
+
function useBlockRouter() {
|
|
576
|
+
return BlockRouter.inst;
|
|
577
|
+
}
|
|
578
|
+
|
|
550
579
|
const isURL = (href) => href?.includes('//');
|
|
551
580
|
const withoutQuery = (href) => (href || '').replace(/\/?\?.*/, '');
|
|
552
581
|
const getOrigin = (href) => {
|
|
@@ -581,9 +610,10 @@
|
|
|
581
610
|
if (!href) {
|
|
582
611
|
return href;
|
|
583
612
|
}
|
|
613
|
+
const hrefWithBasePath = `${projectSettings.BASE_PATH || ''}${href}`;
|
|
584
614
|
const origin = getOrigin(router?.href);
|
|
585
615
|
// Relative URL
|
|
586
|
-
return origin ?
|
|
616
|
+
return origin ? hrefWithBasePath.replace(origin, '') || '/' : hrefWithBasePath;
|
|
587
617
|
};
|
|
588
618
|
|
|
589
619
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
@@ -615,6 +645,7 @@
|
|
|
615
645
|
|
|
616
646
|
function useLink() {
|
|
617
647
|
const router = useRouter();
|
|
648
|
+
const blockRouter = useBlockRouter();
|
|
618
649
|
return (props) => {
|
|
619
650
|
const href = adjustHref(props.href, router);
|
|
620
651
|
return {
|
|
@@ -625,8 +656,15 @@
|
|
|
625
656
|
props.onClick && props.onClick(ev);
|
|
626
657
|
const isLocalHref = href && !isURL(href);
|
|
627
658
|
const isLocalTarget = !props.target || props.target === '_self';
|
|
628
|
-
if (isLocalHref
|
|
629
|
-
|
|
659
|
+
if (!isLocalHref || !isLocalTarget) {
|
|
660
|
+
// Default handle
|
|
661
|
+
return;
|
|
662
|
+
}
|
|
663
|
+
ev?.preventDefault();
|
|
664
|
+
if (isHash(href)) {
|
|
665
|
+
blockRouter.goto(href);
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
630
668
|
router.push(href);
|
|
631
669
|
}
|
|
632
670
|
}, props),
|
|
@@ -783,12 +821,12 @@
|
|
|
783
821
|
const Headline = JSX(({ className = '', bgColorHeadline = 'transparent', align = 'center', title, description, headlineVersion = 'XL', as, ...rest }) => {
|
|
784
822
|
const STYLE_MAPS = HEADLINE_BLOCK_STYLE_MAPS[bgColorHeadline];
|
|
785
823
|
const SIZE_MAPS = HEADLINE_VERSION[headlineVersion];
|
|
786
|
-
return (jsxs(BlockWrapper, { className: `font-sans flex flex-col p-
|
|
824
|
+
return (jsxs(BlockWrapper, { className: `font-sans flex flex-col p-12 ${SIZE_MAPS.gap} ${STYLE_MAPS.background} ${className}`, ...rest, children: [title ? (jsx(Heading, { headingType: SIZE_MAPS?.headingType, as: as || SIZE_MAPS?.as, className: `whitespace-pre-wrap ${STYLE_MAPS.text} ${AlignText[align]}`, title: title })) : null, description ? (jsx("p", { className: `${SIZE_MAPS.descriptionFont} ${STYLE_MAPS.text} ${AlignText[align]}`, children: description })) : null] }));
|
|
787
825
|
});
|
|
788
826
|
|
|
789
827
|
const Bonus = JSX((props) => {
|
|
790
828
|
const { className = '', title, description, bonusItems, ...rest } = props;
|
|
791
|
-
return (jsx(BlockWrapper, { className: `font-sans bg-white p-
|
|
829
|
+
return (jsx(BlockWrapper, { className: `font-sans bg-white p-12 pb-9 ${className}`, ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center", ...rest }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems?.length
|
|
792
830
|
? bonusItems.map((_, i) => {
|
|
793
831
|
return (jsx("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: jsxs("div", { className: "flex justify-between w-full", children: [jsxs("div", { className: "flex flex-col justify-between mr-4", children: [jsxs("div", { children: [jsx("div", { className: "text-h4", children: _.title }), jsx("div", { className: "text-xl-light mt-2 max-w-[488px]", children: _.description })] }), _?.buttons?.length ? jsx(ButtonSection, { buttons: _?.buttons }) : null] }), _.bonusItemContent?.bonusType
|
|
794
832
|
? renderBonusItemContent(_.bonusItemContent)
|
|
@@ -800,9 +838,9 @@
|
|
|
800
838
|
? renderBonusCount(bonusItemContent)
|
|
801
839
|
: renderBonusImage(bonusItemContent) }));
|
|
802
840
|
const renderBonusCount = (_) => (jsxs("div", { className: "relative -bottom-3 h-auto flex items-end mt-14 shrink-0", children: [_.bonusCount ? (jsx("span", { className: "font-mohave -tracking-[5px] text-title-extra bg-clip-text text-transparent bg-green-to-yellow -mb-7", children: _.bonusCount })) : null, _.bonusName ? (jsx("span", { className: "text-h2 bg-clip-text text-transparent bg-green-to-yellow", children: _.bonusName })) : null] }));
|
|
803
|
-
const renderBonusImage = (_) => _.image ?
|
|
841
|
+
const renderBonusImage = (_) => _.image ? jsx(ImgInner, { className: `w-12 h-12 min-w-12 p-3 rounded-full`, image: _.image }) : null;
|
|
804
842
|
|
|
805
|
-
const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans text-primary-text bg-white p-
|
|
843
|
+
const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans text-primary-text bg-white p-12 flex flex-col text-center ${className}`, ...rest, children: [jsx(Headline, { className: "!p-0 mb-8", title: title, description: subtitle, headlineVersion: "M", align: "center", ...rest }), bonusBenefits?.length ? (jsx("div", { className: `grid gap-1 ${AlignText[cardTextAlign]} ${getElementsColsValue(columnsCount)}`, children: bonusBenefits.map(renderBonusBenefit) })) : null] })));
|
|
806
844
|
const renderBonusBenefit = ({ icon, label, description }, i) => {
|
|
807
845
|
return (jsxs("div", { className: "flex flex-col items-center text-h6", children: [description ? jsx("span", { children: description }) : null, icon ? jsx(ImgInner, { image: icon, height: "180", width: "auto", className: "h-[180px] w-auto" }) : null, jsx("div", { children: label ? jsx("span", { children: label }) : null })] }, String(i)));
|
|
808
846
|
};
|
|
@@ -828,7 +866,7 @@
|
|
|
828
866
|
return (jsxs("li", { className: "flex items-center gap-3.5 mb-3 last:mb-0", children: [icon?.icon ? (jsx(ImgInner, { className: `w-12 h-12 min-w-12 p-3 rounded-full bg-main-divider`, image: icon.icon, asSVG: true })) : null, icon?.src ? jsx(ImgInner, { image: icon.icon }) : null, jsx("span", { className: "text-xl-light", children: text })] }, key));
|
|
829
867
|
};
|
|
830
868
|
|
|
831
|
-
const BusinessBlock = JSX(({ className = '', title, cards, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans bg-white p-
|
|
869
|
+
const BusinessBlock = JSX(({ className = '', title, cards, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans bg-white p-12 pb-9 ${className}`, ...rest, children: [jsx(Heading, { headingType: "h3", title: title, className: "text-center mb-8" }), jsx("div", { className: "flex gap-5", children: cards?.length ? cards.map((_, i) => jsx(BusinessCard, { ..._ }, String(i))) : null })] })));
|
|
832
870
|
|
|
833
871
|
const useCarouselControls = (props) => {
|
|
834
872
|
const { itemCount, visibleItemCount, isCyclic } = props;
|
|
@@ -1242,7 +1280,6 @@
|
|
|
1242
1280
|
isMonthlyInterestPayment,
|
|
1243
1281
|
};
|
|
1244
1282
|
const handleMonthsValue = useCallback((_) => setMonthsValue(_), []);
|
|
1245
|
-
useState(false);
|
|
1246
1283
|
const calculatorParams = useDepositCalculatorParams(userInputParams, sourceBookDir);
|
|
1247
1284
|
const { income, finalSum, rate } = calculatorParams;
|
|
1248
1285
|
return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма вклада, ₽', {
|
|
@@ -1381,7 +1418,7 @@
|
|
|
1381
1418
|
? getDisabledButtonClasses({ version: button?.version })
|
|
1382
1419
|
: getRegularButtonClasses({ className: 'text-white', version: button?.version });
|
|
1383
1420
|
const link = useLink();
|
|
1384
|
-
return (jsxs(BlockWrapper, { className: `p-
|
|
1421
|
+
return (jsxs(BlockWrapper, { className: `p-12 flex flex-col items-center font-sans bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "max-w-[684px] pb-9", headingType: "h2", title: title }) : null, jsxs("form", { className: "w-[468px]", method: "POST", action: FORM_URL, children: [jsx(CurrencyInput, { name: AMOUNT_KEY, value: value, onChange: handleChange, valid: value === '' || !isDisabled, placeholder: placeholder, label: label }), button?.text ? (jsx("button", { type: "submit", className: `w-full p-4 mt-6 ${buttonStyle} `, disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
|
|
1385
1422
|
});
|
|
1386
1423
|
|
|
1387
1424
|
const mapChildren = (mapper) => (children) => {
|
|
@@ -1578,7 +1615,7 @@
|
|
|
1578
1615
|
itemCount: cards?.length,
|
|
1579
1616
|
visibleItemCount: CARD_VIEW_COUNT$1,
|
|
1580
1617
|
});
|
|
1581
|
-
return (jsxs(BlockWrapper, { className: `bg-white relative font-sans p-
|
|
1618
|
+
return (jsxs(BlockWrapper, { className: `bg-white relative font-sans p-12 overflow-hidden text-center ${className}`, ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center", ...rest }), jsx("div", { className: "flex duration-1000 gap-3.5 mt-8", style: { transform: `translateX(-${activeIndex * CARD_SHIFT$1}px)` }, role: "list", children: cards?.length ? cards.map((card, i) => jsx(CatalogCard, { ...card }, String(i))) : null }), renderArrows({
|
|
1582
1619
|
...controls,
|
|
1583
1620
|
btnClass: ['left-8', 'right-8'],
|
|
1584
1621
|
className: 'top-1/2 z-10 mt-6',
|
|
@@ -1648,13 +1685,13 @@
|
|
|
1648
1685
|
const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
|
|
1649
1686
|
const [isShowAllRow, setIsShowAllRow] = useState(!visibleRowLength);
|
|
1650
1687
|
const handleToggle = useCallback(() => setIsShowAllRow((_) => !_), []);
|
|
1651
|
-
return (jsxs(BlockWrapper, { className: `bg-white font-sans py-
|
|
1688
|
+
return (jsxs(BlockWrapper, { className: `bg-white font-sans py-12 pl-12 overflow-hidden text-primary-text relative ${className}`, ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
|
|
1652
1689
|
? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
|
|
1653
1690
|
: null] }));
|
|
1654
1691
|
});
|
|
1655
|
-
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-
|
|
1692
|
+
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-12", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans text-xs-light font-medium py-3", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
|
|
1656
1693
|
|
|
1657
|
-
const ContactsBlock = JSX(({ className = '', contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: `${VersionStyleMap[version]} flex p-
|
|
1694
|
+
const ContactsBlock = JSX(({ className = '', contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: `${VersionStyleMap[version]} flex p-12 ${className}`, ...rest, children: [info?.length ? renderBlocks(info, version) : null, contacts?.length ? renderBlocks(contacts, version) : null] })));
|
|
1658
1695
|
const renderBlocks = (info, version) => (jsx("div", { className: "flex grow basis-0", children: info.map((column, index) => renderBlocksColumn({ column, index, version })) }));
|
|
1659
1696
|
const renderBlocksColumn = ({ column, index, version }) => 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-6 first:mt-0", children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "XS", align: "left", bgColorHeadline: version }), additionalDescription ? (jsx("div", { className: "mt-1.5 opacity-80", children: jsx(Paragraph, { size: "text-m-light", children: additionalDescription }) })) : null, button ? jsx(Button, { className: "mt-6", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
|
|
1660
1697
|
|
|
@@ -1759,7 +1796,7 @@
|
|
|
1759
1796
|
setSelectedItem(value || { key: '', text: '' });
|
|
1760
1797
|
}, [value]);
|
|
1761
1798
|
return (jsxs("div", { className: `${className}`, ref: wrapperRef, children: [label ? jsx("span", { className: "mb-2 flex text-primary-text", children: label }) : null, jsxs("div", { className: `relative ${isOpen ? 'z-20' : 'z-10'}`, children: [jsxs("div", { className: `text-l flex justify-between items-center mb-0.5 text-primary-text cursor-pointer
|
|
1762
|
-
${getBorderStyle(isBorder)}`, onClick: () => setIsOpen(!isOpen), children: [jsx("p", { className: "p-4 pr-8 h-
|
|
1799
|
+
${getBorderStyle(isBorder)}`, onClick: () => setIsOpen(!isOpen), children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: selectedItem?.text || placeholder }), jsx(Icon, { name: "ArrowUpIcon", width: "16", height: "16", className: `absolute right-3 ${isOpen ? '' : 'rotate-180'}` })] }), options?.length ? (jsx("div", { className: `h-0 ${renderOptionsStyle(isOpen)}`, children: jsx("div", { className: `bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]`, children: options.map(renderOption(choiceOption, isOpen, isSelected)) }) })) : null] })] }));
|
|
1763
1800
|
});
|
|
1764
1801
|
const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
|
|
1765
1802
|
const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
|
|
@@ -1882,7 +1919,7 @@
|
|
|
1882
1919
|
currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
|
|
1883
1920
|
const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
|
|
1884
1921
|
currencyRatesSell.push({ currency: { currency: Currency.RUB } });
|
|
1885
|
-
return (jsx(BlockWrapper, { className: `bg-white text-primary-text font-sans p-9 box-border min-h-
|
|
1922
|
+
return (jsx(BlockWrapper, { className: `bg-white text-primary-text font-sans p-9 box-border min-h-80 ${className}`, ...rest, children: jsx(BaseTile, { title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap text-h4 mb-5" }), children: jsxs("div", { className: "flex", children: [jsxs("div", { className: "mr-14 pt-4", children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-[30px]", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
1886
1923
|
});
|
|
1887
1924
|
const getCurrencyRates = (currencies) => {
|
|
1888
1925
|
return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
|
|
@@ -2028,7 +2065,7 @@
|
|
|
2028
2065
|
}
|
|
2029
2066
|
const classes = version === 'secondary'
|
|
2030
2067
|
? 'bg-white hover:bg-secondary-hover'
|
|
2031
|
-
: 'border-solid border
|
|
2068
|
+
: 'border-solid border border-main-divider hover:border-transparent hover:bg-primary-main';
|
|
2032
2069
|
const isPrimary = version === 'primary';
|
|
2033
2070
|
return (jsx("a", { className: `flex items-center justify-center rounded-md w-14 h-14 group box-border ${classes} ${isPrimary ? 'hover:text-black' : ''}`, href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", onClick: onClick, children: icon ? (jsx(ImgInner, { image: getIconWithVersion(icon), imageClassName: "group-hover:text-white", width: "24", height: "24", asSVG: true })) : null }));
|
|
2034
2071
|
});
|
|
@@ -2046,8 +2083,8 @@
|
|
|
2046
2083
|
const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
|
|
2047
2084
|
const Footer = JSX(({ className, ...rest }) => {
|
|
2048
2085
|
const fallback = rest.options?.page?.fallback;
|
|
2049
|
-
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
|
|
2050
|
-
return (jsxs(BlockWrapper, { tag: "footer", className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD }), jsx(SearchBar, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", 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: "pt-[3px]", items: topItems, fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
2086
|
+
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
|
|
2087
|
+
return (jsxs(BlockWrapper, { tag: "footer", className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", 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: "pt-[3px]", items: topItems, fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
2051
2088
|
});
|
|
2052
2089
|
|
|
2053
2090
|
const galleryLengthForScrollMap = {
|
|
@@ -2106,7 +2143,7 @@
|
|
|
2106
2143
|
buttonClassName: `mt-6 ${isFullWidth ? '' : 'self-center'}`,
|
|
2107
2144
|
})
|
|
2108
2145
|
: null] })));
|
|
2109
|
-
const renderImage$1 = (image, version) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(ImgInner, { className: "mb-5", image: image }) : null, image?.icon ? (jsx(ImgInner, { className: `w-
|
|
2146
|
+
const renderImage$1 = (image, version) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(ImgInner, { className: "mb-5", image: image }) : null, image?.icon ? (jsx(ImgInner, { className: `w-8 h-8 min-w-8 mb-5 rounded-full`, image: getIconWithVersion(image, version), asSVG: true })) : null] }));
|
|
2110
2147
|
const renderCardTitle = (headlineSmallVersion, title) => title ? jsx("div", { className: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
|
|
2111
2148
|
const renderDescription$2 = (description, title) => description ? jsx("div", { className: `text-l ${title ? 'mt-2' : ''}`, children: description }) : null;
|
|
2112
2149
|
const renderAdditionalDescription$1 = (additionalDescription) => additionalDescription ? (jsx("div", { className: "text-m-light text-secondary-text mt-auto", children: additionalDescription })) : null;
|
|
@@ -2133,7 +2170,7 @@
|
|
|
2133
2170
|
|
|
2134
2171
|
const Gallery = JSX((props) => jsx(GalleryInner, { ...props, version: "normal" }));
|
|
2135
2172
|
|
|
2136
|
-
const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans bg-white p-
|
|
2173
|
+
const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans bg-white p-12 ${className}`, ...rest, children: [jsx(Headline, { className: "!p-0 mb-4", title: title, description: description, headlineVersion: "M", align: "center", ...rest }), calendar ? renderCalendar(calendar) : null] })));
|
|
2137
2174
|
const renderCalendar = (calendar) => {
|
|
2138
2175
|
const colCount = calendar.reduce((accumulator, currentValue) => currentValue?.month?.length ? accumulator + currentValue.month.length : accumulator, 0) || 1;
|
|
2139
2176
|
const colSize = 100 / colCount;
|
|
@@ -2147,7 +2184,7 @@
|
|
|
2147
2184
|
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-[11px] mr-3 border-r border-main-divider last:border-r-0 last:pr-0 last:mr-0", style: { flexBasis: _.flexBasis }, children: [jsx("div", { className: "flex", children: renderMonthImages(_) }), jsxs("div", { className: "text-s-light text-primary-text mt-3", children: [jsx("span", { children: _.text }), "\u2009", jsx("span", { className: "text-primary-main", children: _.greenText })] })] }, `monthItem-${ind}`))) })] }));
|
|
2148
2185
|
};
|
|
2149
2186
|
const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
|
|
2150
|
-
const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r
|
|
2187
|
+
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(ImgInner, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
|
|
2151
2188
|
|
|
2152
2189
|
const checkIsHrefSameOrigin = (href, router) => getOrigin(href) === getOrigin(router.href);
|
|
2153
2190
|
|
|
@@ -2199,7 +2236,7 @@
|
|
|
2199
2236
|
return [city, getCity];
|
|
2200
2237
|
}
|
|
2201
2238
|
|
|
2202
|
-
const HeaderSecondaryMenuButton = JSX(({ className = '', children, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 p-0 w-
|
|
2239
|
+
const HeaderSecondaryMenuButton = JSX(({ className = '', children, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 p-0 w-6 h-6 flex items-center bg-inherit cursor-pointer ${className}`, disabled: true, "aria-label": ariaLabel, children: children })));
|
|
2203
2240
|
|
|
2204
2241
|
const COLORS_MAP = {
|
|
2205
2242
|
'bg-white': 'text-primary-text hover:text-primary-main',
|
|
@@ -2215,7 +2252,7 @@
|
|
|
2215
2252
|
};
|
|
2216
2253
|
const HeaderSecondaryMenu = JSX(({ className, officesLink, defaultLocation = 'Москва', bgColor = 'bg-white' }) => {
|
|
2217
2254
|
const [city, getCity] = useGeolocation(defaultLocation);
|
|
2218
|
-
return (jsxs("div", { className: `flex items-center ${className || ''}`, children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: city, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: getCity, bgColor: bgColor }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432", bgColor: bgColor })) : null, jsx(HeaderSecondaryMenuButton, { className: `mr-5 group ${COLORS_MAP[bgColor]}`, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(ImgInner, { image: { icon: 'LoupeIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0 pointer-events-none", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: `${LINKS_COLORS_MAP[bgColor]} group min-w-
|
|
2255
|
+
return (jsxs("div", { className: `flex items-center ${className || ''}`, children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: city, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: getCity, bgColor: bgColor }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432", bgColor: bgColor })) : null, jsx(HeaderSecondaryMenuButton, { className: `mr-5 group ${COLORS_MAP[bgColor]}`, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(ImgInner, { image: { icon: 'LoupeIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0 pointer-events-none", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: `${LINKS_COLORS_MAP[bgColor]} group min-w-8 min-h-8`, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", children: jsx(ImgInner, { image: { icon: 'GridIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full bg-main-divider/20 rounded-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0", asSVG: true }) })] }));
|
|
2219
2256
|
});
|
|
2220
2257
|
|
|
2221
2258
|
const findActiveSubItem = (router) => (items = []) => {
|
|
@@ -2240,7 +2277,7 @@
|
|
|
2240
2277
|
const renderDot = (bgColor, i) => (jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
|
|
2241
2278
|
|
|
2242
2279
|
const TEXT_CLASSES$1 = 'font-sans text-l-light';
|
|
2243
|
-
const BORDER_CLASSES = 'absolute left-0 -bottom-3 w-full h-
|
|
2280
|
+
const BORDER_CLASSES = 'absolute left-0 -bottom-3 w-full h-0.5';
|
|
2244
2281
|
const HeaderItem = JSX(({ className = '', active, bgColor = 'bg-white', dataItemName, children, ...rest }) => {
|
|
2245
2282
|
const link = useLink();
|
|
2246
2283
|
const { href, target, text, onClick } = link(rest);
|
|
@@ -2299,7 +2336,7 @@
|
|
|
2299
2336
|
const { topItems, logo, defaultLocation, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
|
|
2300
2337
|
const activeTopItem = showSubMenu ? getActiveItem(topItems, router) : null;
|
|
2301
2338
|
const topMenu = topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, "aria-label": _.text, bgColor: bgColor, ..._ }, String(i))));
|
|
2302
|
-
return (jsx(BlockWrapper, { tag: "header", className: `pt-6 px-20 ${bgColor} ${className} ${showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5'}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { className: "ml-auto", defaultLocation: defaultLocation, officesLink: officesLink, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-
|
|
2339
|
+
return (jsx(BlockWrapper, { tag: "header", className: `pt-6 px-20 ${bgColor} ${className} ${showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5'}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { className: "ml-auto", defaultLocation: defaultLocation, officesLink: officesLink, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-px ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
|
|
2303
2340
|
});
|
|
2304
2341
|
const getActiveItem = (topItems, router) => {
|
|
2305
2342
|
const [firstPortal] = topItems || [];
|
|
@@ -2332,14 +2369,14 @@
|
|
|
2332
2369
|
})
|
|
2333
2370
|
: null, renderArrows({
|
|
2334
2371
|
...controls,
|
|
2335
|
-
btnClass: ['left-
|
|
2372
|
+
btnClass: ['left-12', 'right-12'],
|
|
2336
2373
|
className: 'top-[62px]',
|
|
2337
|
-
}), canDec ? (jsx("div", { className: "absolute top-0 left-0 h-full w-[136px] bg-opacity-from-white" })) : null, canInc ? (jsx("div", { className: "absolute top-0 right-0 h-full w-[136px] bg-opacity-to-white" })) : null] }), jsx(Button, { className: "w-
|
|
2374
|
+
}), canDec ? (jsx("div", { className: "absolute top-0 left-0 h-full w-[136px] bg-opacity-from-white" })) : null, canInc ? (jsx("div", { className: "absolute top-0 right-0 h-full w-[136px] bg-opacity-to-white" })) : null] }), jsx(Button, { className: "w-60 text-center", version: "primary", ...button, href: activeHref })] }));
|
|
2338
2375
|
});
|
|
2339
2376
|
function renderGallery({ activeIndex, cards, selectedCardIndex, onClick }) {
|
|
2340
2377
|
const tabsShiftWidth = activeIndex * 460;
|
|
2341
2378
|
const cardsAlignStyle = cards.length > 2 ? 'justify-start' : 'justify-center';
|
|
2342
|
-
return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-
|
|
2379
|
+
return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-12", children: jsx("div", { className: `w-full flex flex-nowrap gap-3.5 pb-12 ${cardsAlignStyle}`, children: cards.map((slide, i) => renderNavButton$2({
|
|
2343
2380
|
slide,
|
|
2344
2381
|
i,
|
|
2345
2382
|
isActive: Boolean(i === selectedCardIndex),
|
|
@@ -2362,7 +2399,7 @@
|
|
|
2362
2399
|
const InsuranceAmountBlock = JSX(({ className = '', title, insuranceTabs = [], button, ...rest }) => {
|
|
2363
2400
|
const [activeSlideIndex, setActiveSlideIndex] = useState(0);
|
|
2364
2401
|
const handleActiveSlideIndex = useCallback((_) => setActiveSlideIndex(_), []);
|
|
2365
|
-
return (jsxs(BlockWrapper, { className: `box-border py-
|
|
2402
|
+
return (jsxs(BlockWrapper, { className: `box-border py-12 overflow-hidden relative font-sans w-100 bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "text-center mb-8", title: title, headingType: "h3" }) : null, insuranceTabs?.length > 1 ? (jsx("div", { className: "p-1.5 bg-secondary-light w-fit mx-auto mb-7 rounded-md", children: insuranceTabs.map((item, i) => renderNavButton$1({
|
|
2366
2403
|
title: item?.title,
|
|
2367
2404
|
i,
|
|
2368
2405
|
isActive: Boolean(i === activeSlideIndex),
|
|
@@ -2457,7 +2494,7 @@
|
|
|
2457
2494
|
double: 'flex gap-x-5 gap-y-[26px] flex-wrap',
|
|
2458
2495
|
single: 'flex gap-3.5 flex-col',
|
|
2459
2496
|
};
|
|
2460
|
-
const LinkDocs = JSX(({ className = '', title, description, align = 'center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => (jsxs(BlockWrapper, { className: `font-sans text-primary-text p-
|
|
2497
|
+
const LinkDocs = JSX(({ className = '', title, description, align = 'center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => (jsxs(BlockWrapper, { className: `font-sans text-primary-text p-12 bg-white ${className}`, ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, align: align, headlineVersion: "M", as: "h2", ...rest }), jsx(LinkDocsList, { className: `mt-8 ${linkColumnsModeStyleMap[columnsMode]}`, columnsMode: columnsMode, documents: documents, icon: icon })] })));
|
|
2461
2498
|
|
|
2462
2499
|
const MiniGallery = JSX((props) => (jsx(GalleryInner, { ...props, version: "mini" })));
|
|
2463
2500
|
|
|
@@ -2484,7 +2521,7 @@
|
|
|
2484
2521
|
const textColorClass = version === 'primary' ? 'text-primary-text' : '';
|
|
2485
2522
|
const containerStyle = version === 'secondary' ? 'p-3.5 min-w-[120px]' : 'min-w-[92px]';
|
|
2486
2523
|
const buttonsWithClass = buttons?.map((_) => ({ ..._, className: 'min-w-[168px]' }));
|
|
2487
|
-
return (jsxs(BlockWrapper, { className: `flex justify-between font-sans p-
|
|
2524
|
+
return (jsxs(BlockWrapper, { className: `flex justify-between font-sans p-12 box-border relative min-h-80
|
|
2488
2525
|
${getTileMinHeight(className)}
|
|
2489
2526
|
${VersionStyleMap[version]}
|
|
2490
2527
|
${className}`, ...rest, children: [jsxs(BaseTile, { className: "z-10", title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap mb-7 w-full
|
|
@@ -2629,7 +2666,7 @@
|
|
|
2629
2666
|
|
|
2630
2667
|
const YMAPS_NAMESPACE = 'ymaps';
|
|
2631
2668
|
const useYandexMaps = () => {
|
|
2632
|
-
const url = `https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY}&lang=ru_RU`;
|
|
2669
|
+
const url = `https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY || ''}&lang=ru_RU`;
|
|
2633
2670
|
return useExternalNS(YMAPS_NAMESPACE, url);
|
|
2634
2671
|
};
|
|
2635
2672
|
|
|
@@ -2853,16 +2890,15 @@
|
|
|
2853
2890
|
// TODO: Список регионов можно получить через api/v1/regions
|
|
2854
2891
|
function useOfficeMap(regionCode) {
|
|
2855
2892
|
const { data } = useAsyncData(regionCode ? `${OFFICE_MAP_URL}?regionCode=${regionCode}` : undefined, fetchOfficeMap);
|
|
2856
|
-
console.warn('
|
|
2857
|
-
console.log('Hook useOfficeMap get this data:', data);
|
|
2893
|
+
console.warn('Hook useOfficeMap RETURNs MOCK object for testing', data);
|
|
2858
2894
|
return OFFICE_MAP;
|
|
2859
2895
|
}
|
|
2860
|
-
|
|
2896
|
+
function fetchOfficeMap(url) {
|
|
2861
2897
|
if (!url) {
|
|
2862
2898
|
return {};
|
|
2863
2899
|
}
|
|
2864
2900
|
return fetchJSON(url, { method: 'GET' });
|
|
2865
|
-
}
|
|
2901
|
+
}
|
|
2866
2902
|
|
|
2867
2903
|
const OfficeMap = JSX(({ className = '' }) => {
|
|
2868
2904
|
// TODO: useOfficeMap endpoint had use /api/v1/branches. This endpoint now is`t correct/
|
|
@@ -2966,7 +3002,7 @@
|
|
|
2966
3002
|
else if (benefitsVersion === 'normal') {
|
|
2967
3003
|
bgColorStyle = 'bg-secondary-light text-primary-main';
|
|
2968
3004
|
}
|
|
2969
|
-
return `w-
|
|
3005
|
+
return `w-12 h-12 min-w-12 rounded-full p-2.5 box-border flex items-center justify-center ${bgColorStyle}`;
|
|
2970
3006
|
}
|
|
2971
3007
|
|
|
2972
3008
|
const PictureText = JSX(({ className = '', title, description, image, benefits, version = 'primary', sum, monthLimit, directionRight = false, ...rest }) => (jsxs(BlockWrapper, { className: `relative font-sans py-12 px-24 ${VersionStyleMap[version]} ${className}`, ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "M", bgColorHeadline: version, align: "center", ...rest }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src ? jsx(ImgInner, { className: directionRight ? 'order-2' : '', image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits?.length ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit$2(version)) })) : null, renderInsuranceSumMonth(Number(sum), Number(monthLimit))] })] })] })));
|
|
@@ -3049,7 +3085,7 @@
|
|
|
3049
3085
|
const ProductBlock = JSX((props) => {
|
|
3050
3086
|
const { className = '', breadcrumbs, backwardButton, version = 'primary', ...rest } = props;
|
|
3051
3087
|
const buttonVersion = version === 'primary' ? version : 'white';
|
|
3052
|
-
return (jsxs(BlockWrapper, { className: `font-sans overflow-hidden p-
|
|
3088
|
+
return (jsxs(BlockWrapper, { className: `font-sans overflow-hidden p-12 flex flex-col box-border min-h-[454px] ${VersionStyleMap[version]} ${className}`, ...rest, children: [backwardButton?.text
|
|
3053
3089
|
? renderBackwardButton(backwardButton, buttonVersion, 'mb-10 -mt-2.5')
|
|
3054
3090
|
: null, breadcrumbs?.length ? (jsx("div", { className: "text-xs-light mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { className: breadcrumbsStyleMap[version], ...breadcrumb }, String(i))))) })) : null, jsx(ProductBlockInner, { version: version, ...rest })] }));
|
|
3055
3091
|
});
|
|
@@ -3068,7 +3104,7 @@
|
|
|
3068
3104
|
const galleryBlocks = slides.map((s) => s.productBlock);
|
|
3069
3105
|
const [activeSlideIndex, setActiveSlideIndex] = useState(0);
|
|
3070
3106
|
const handleActiveSlideIndex = useCallback((_) => setActiveSlideIndex(_), []);
|
|
3071
|
-
return (jsxs(BlockWrapper, { className: `box-border pt-
|
|
3107
|
+
return (jsxs(BlockWrapper, { className: `box-border pt-12 overflow-hidden relative font-sans w-100 mb-6 ${className}
|
|
3072
3108
|
${VersionStyleMap[version]}`, ...rest, children: [jsx("div", { className: "flex duration-1000 pb-14", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: galleryBlocks.map((_, i) => renderProductBlock({ ..._, ...rest, version }, i)) }), jsx("div", { className: "flex items-center absolute bottom-6 left-0 right-0 px-[26px] box-border h-28", children: galleryNav.map((slide, i) => renderNavButton({
|
|
3073
3109
|
slide,
|
|
3074
3110
|
i,
|
|
@@ -3080,7 +3116,7 @@
|
|
|
3080
3116
|
function renderProductBlock(block, i) {
|
|
3081
3117
|
const { version } = block;
|
|
3082
3118
|
const additionalClass = version ? productBlockStyleMap[version].title : '';
|
|
3083
|
-
return (jsx("section", { className: "box-border relative flex grow-0 shrink-0 basis-full", role: "listitem", children: jsx("div", { className: "flex grow", children: jsx(ProductBlockInner, { className: `pl-
|
|
3119
|
+
return (jsx("section", { className: "box-border relative flex grow-0 shrink-0 basis-full", role: "listitem", children: jsx("div", { className: "flex grow", children: jsx(ProductBlockInner, { className: `pl-12 z-10 ${additionalClass}`, textBlockClassName: "mb-[154px]", headlineVersion: "XXL", ...block }) }) }, String(i)));
|
|
3084
3120
|
}
|
|
3085
3121
|
function renderNavButton({ slide, i, isActive, onClick, version }) {
|
|
3086
3122
|
const btnClassName = isActive
|
|
@@ -3369,13 +3405,13 @@
|
|
|
3369
3405
|
const titleMargin = title ? 'mt-9' : '';
|
|
3370
3406
|
const paddingX = getPaddingX(steps.length);
|
|
3371
3407
|
return (jsxs(BlockWrapper, { className: [
|
|
3372
|
-
'box-border py-
|
|
3408
|
+
'box-border py-12 font-sans',
|
|
3373
3409
|
shortGaps ? 'px-20' : 'px-[70px]',
|
|
3374
3410
|
'flex flex-col items-center overflow-hidden',
|
|
3375
3411
|
styleMap.background,
|
|
3376
3412
|
styleMap.title,
|
|
3377
3413
|
className,
|
|
3378
|
-
].join(' '), ...rest, children: [title ? (jsx(Heading, { headingType: "h3", className: "max-w-[752px] text-center", title: title })) : null, steps?.length ? (jsxs("div", { className: `box-border ${titleMargin}`, children: [jsx("div", { className: `flex items-center ${paddingX}`, children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${lineOpacity}` }))(steps.map(renderStepIcon(styleMap, version))) }), jsx("div", { className: `flex justify-between mt-4 ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map(renderStepContent({ styleMap, isMainButton: Boolean(button?.text), version })) })] })) : null, button?.text ?
|
|
3414
|
+
].join(' '), ...rest, children: [title ? (jsx(Heading, { headingType: "h3", className: "max-w-[752px] text-center", title: title })) : null, steps?.length ? (jsxs("div", { className: `box-border ${titleMargin}`, children: [jsx("div", { className: `flex items-center ${paddingX}`, children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${lineOpacity}` }))(steps.map(renderStepIcon(styleMap, version))) }), jsx("div", { className: `flex justify-between mt-4 ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map(renderStepContent({ styleMap, isMainButton: Boolean(button?.text), version })) })] })) : null, button?.text ? jsx(Button, { className: "mt-8 min-w-60", version: "primary", ...button }) : null] }));
|
|
3379
3415
|
});
|
|
3380
3416
|
const renderStepIcon = (styleMap, version) => ({ icon }, i) => (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 flex justify-center items-center
|
|
3381
3417
|
${styleMap.iconBackground} ${styleMap.title}`, children: checkIsIconRenderable(icon) ? (jsx(ImgInner, { image: getIconWithVersion(icon || {}, version), width: "48", height: "48", asSVG: true })) : (jsx("span", { className: `text-h4 ${styleMap.iconText}`, children: i + 1 })) }) }, String(i)));
|
|
@@ -3392,14 +3428,10 @@
|
|
|
3392
3428
|
const INACTIVE_TEXT_CLASSES = 'text-secondary-text group-hover:text-primary-main';
|
|
3393
3429
|
|
|
3394
3430
|
const LinkTab = JSX((props) => {
|
|
3395
|
-
const { tab, currentTab
|
|
3431
|
+
const { tab, currentTab } = props;
|
|
3396
3432
|
const active = currentTab?.type === 'link' && currentTab.href === tab.href;
|
|
3397
|
-
const handleClick = useCallback(() => {
|
|
3398
|
-
onClick && onClick(tab);
|
|
3399
|
-
EventBus.inst.fire('anchorClick', { isScrolling: true, label: tab.href });
|
|
3400
|
-
}, [tab, onClick]);
|
|
3401
3433
|
const link = useLink();
|
|
3402
|
-
const adjustedProps = link(
|
|
3434
|
+
const adjustedProps = link(tab);
|
|
3403
3435
|
return (jsx("a", { role: "tab", className: `${LINK_CLASSES} ${active ? ACTIVE_LINK_CLASSES : INACTIVE_LINK_CLASSES}`, target: tab.target, href: adjustedProps.href, onClick: adjustedProps.onClick, children: jsx("span", { className: `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`, children: tab.text }) }));
|
|
3404
3436
|
});
|
|
3405
3437
|
|
|
@@ -3439,26 +3471,20 @@
|
|
|
3439
3471
|
const { className = '', tabs, showCounter, isSticky, ...rest } = props;
|
|
3440
3472
|
const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
|
|
3441
3473
|
useEffect(() => EventBus.inst.subscribe('tab', (event) => {
|
|
3442
|
-
|
|
3443
|
-
return;
|
|
3444
|
-
}
|
|
3445
|
-
const tab = tabs.find(checkTab(event));
|
|
3474
|
+
const tab = tabs?.find(checkTab(event));
|
|
3446
3475
|
if (event.type === 'link' && tab) {
|
|
3447
3476
|
setCurrentTab(tab);
|
|
3448
3477
|
}
|
|
3449
3478
|
}), [tabs]);
|
|
3450
|
-
useEffect(() =>
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
return undefined;
|
|
3455
|
-
}, [currentTab]);
|
|
3456
|
-
const handleClick = (selectedTab) => {
|
|
3479
|
+
useEffect(() => currentTab?.type === 'group'
|
|
3480
|
+
? EventBus.inst.subject('tab', { label: currentTab.ref })
|
|
3481
|
+
: undefined, [currentTab]);
|
|
3482
|
+
const handleClick = useCallback((selectedTab) => {
|
|
3457
3483
|
if (selectedTab?.type === 'group') {
|
|
3458
3484
|
EventBus.inst.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
|
|
3459
3485
|
}
|
|
3460
3486
|
setCurrentTab(selectedTab);
|
|
3461
|
-
};
|
|
3487
|
+
}, []);
|
|
3462
3488
|
return (jsx(BlockWrapper, { className: `${isSticky ? 'sticky top-1 z-20 ' : ''}box-border flex gap-x-1 ${className}`, role: "tablist", ...rest, children: tabs?.map(renderTab({ onClick: handleClick, currentTab, showCounter, ...rest })) }));
|
|
3463
3489
|
});
|
|
3464
3490
|
const checkTab = (event) => (_) => _.type === 'link' && _.href === `#${event.label}`;
|
|
@@ -3612,7 +3638,7 @@
|
|
|
3612
3638
|
const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
|
|
3613
3639
|
const handleOpenTableInnerIdx = useCallback((_) => setOpenTableInnerIdx(_), []);
|
|
3614
3640
|
const onHideContentClick = () => setTableInner(undefined);
|
|
3615
|
-
return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(ImgInner, { className: "mr-
|
|
3641
|
+
return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(ImgInner, { className: "mr-3.5 max-w-6 max-h-6", image: getIconWithVersion(header.icon), width: "24px", height: "24px", asSVG: true })) : null, header?.title ? jsx("div", { className: "text-m-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
|
|
3616
3642
|
});
|
|
3617
3643
|
|
|
3618
3644
|
const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
|
|
@@ -3628,7 +3654,7 @@
|
|
|
3628
3654
|
});
|
|
3629
3655
|
const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
|
|
3630
3656
|
const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
|
|
3631
|
-
return (jsxs(BlockWrapper, { className: `bg-white font-sans p-
|
|
3657
|
+
return (jsxs(BlockWrapper, { className: `bg-white font-sans p-12 overflow-hidden text-primary-text relative ${itemCount > 1 ? 'pr-0' : ''} ${className}`, ...rest, children: [renderTitle({ title, description }), renderDescription(description), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
|
|
3632
3658
|
});
|
|
3633
3659
|
function renderTitle({ title, description }) {
|
|
3634
3660
|
return title ? (jsx(Heading, { headingType: "h3", className: `text-center ${description ? 'mb-2.5' : 'mb-8'}`, title: title })) : null;
|
|
@@ -3804,6 +3830,63 @@
|
|
|
3804
3830
|
CarouselInvestmentCard,
|
|
3805
3831
|
};
|
|
3806
3832
|
|
|
3833
|
+
const debounce = (fn, delay = 600) => {
|
|
3834
|
+
let timerId;
|
|
3835
|
+
const debouncedCallback = (...args) => {
|
|
3836
|
+
debouncedCallback.dispose();
|
|
3837
|
+
timerId = setTimeout(() => {
|
|
3838
|
+
fn(...args);
|
|
3839
|
+
}, delay);
|
|
3840
|
+
};
|
|
3841
|
+
debouncedCallback.dispose = () => {
|
|
3842
|
+
if (timerId) {
|
|
3843
|
+
clearTimeout(timerId);
|
|
3844
|
+
}
|
|
3845
|
+
};
|
|
3846
|
+
return debouncedCallback;
|
|
3847
|
+
};
|
|
3848
|
+
|
|
3849
|
+
const SPECIAL_BLOCK_TYPES = ['Header', 'Footer'];
|
|
3850
|
+
const EPS = 0.01;
|
|
3851
|
+
const topLineDelta = ([, { target }]) => Math.abs(target.getBoundingClientRect().top);
|
|
3852
|
+
function findActiveBlock(intersections) {
|
|
3853
|
+
const visibleIntersections = intersections
|
|
3854
|
+
.filter(([block]) => !SPECIAL_BLOCK_TYPES.includes(block.type || ''))
|
|
3855
|
+
.filter(([, { intersectionRatio }]) => intersectionRatio > EPS);
|
|
3856
|
+
const [activeBlock] = visibleIntersections.length > 0 ? minBy(topLineDelta)(visibleIntersections) : [];
|
|
3857
|
+
return activeBlock;
|
|
3858
|
+
}
|
|
3859
|
+
|
|
3860
|
+
const isScrolledEnough = () => globalThis.scrollY > (globalThis.innerHeight * 3) / 4;
|
|
3861
|
+
function useBlockRouterProvider(router = BlockRouter.inst, scrollTarget = globalThis) {
|
|
3862
|
+
const intersectionsMapRef = useRef(new Map());
|
|
3863
|
+
useEffect(() => router.eventBus.subscribe('intersection', ({ block, intersection }) => {
|
|
3864
|
+
if (intersectionsMapRef.current) {
|
|
3865
|
+
intersectionsMapRef.current.set(block, intersection);
|
|
3866
|
+
}
|
|
3867
|
+
}), [router]);
|
|
3868
|
+
useEffect(() => {
|
|
3869
|
+
const handleScroll = debounce(() => {
|
|
3870
|
+
if (!isScrolledEnough()) {
|
|
3871
|
+
router.reset();
|
|
3872
|
+
return;
|
|
3873
|
+
}
|
|
3874
|
+
const activeBlock = findActiveBlock([...(intersectionsMapRef.current || [])]);
|
|
3875
|
+
if (activeBlock?.anchor) {
|
|
3876
|
+
router.replace(activeBlock.anchor);
|
|
3877
|
+
}
|
|
3878
|
+
else if (!activeBlock) {
|
|
3879
|
+
router.reset();
|
|
3880
|
+
}
|
|
3881
|
+
}, 100);
|
|
3882
|
+
scrollTarget.addEventListener('scroll', handleScroll);
|
|
3883
|
+
return () => {
|
|
3884
|
+
handleScroll.dispose();
|
|
3885
|
+
scrollTarget.removeEventListener('scroll', handleScroll);
|
|
3886
|
+
};
|
|
3887
|
+
}, [router, scrollTarget]);
|
|
3888
|
+
}
|
|
3889
|
+
|
|
3807
3890
|
const api = LikeAPI();
|
|
3808
3891
|
function useLikeService(pagePath) {
|
|
3809
3892
|
const [likeCount, setLikeCount] = useState(0);
|
|
@@ -3855,6 +3938,7 @@
|
|
|
3855
3938
|
blockDecorator,
|
|
3856
3939
|
parent: data,
|
|
3857
3940
|
};
|
|
3941
|
+
useBlockRouterProvider();
|
|
3858
3942
|
return (jsxs("section", { className: `relative ${style2className(pageStyle)} ${className}`, "data-theme": colorPalette, children: [slots?.header ? (jsx("div", { className: "mb-5 shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, {
|
|
3859
3943
|
...options,
|
|
3860
3944
|
slotName: 'header',
|
|
@@ -3871,7 +3955,7 @@
|
|
|
3871
3955
|
return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
|
|
3872
3956
|
}
|
|
3873
3957
|
|
|
3874
|
-
const packageVersion = "0.6.
|
|
3958
|
+
const packageVersion = "0.6.38";
|
|
3875
3959
|
|
|
3876
3960
|
exports.Blocks = Blocks;
|
|
3877
3961
|
exports.ContentPage = ContentPage;
|