@redneckz/wildless-cms-uni-blocks 0.6.22 → 0.6.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +253 -259
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/bundle/components/Calculator/CalculatorContent.d.ts +4 -50
- package/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
- package/bundle/components/ContentPage/useContentPageData.d.ts +3 -0
- package/bundle/components/Header/DropdownMenu.d.ts +5 -7
- package/bundle/components/Header/HeaderSubMenuItem.d.ts +12 -0
- package/bundle/components/Headline/HeadlineContent.d.ts +1 -0
- package/bundle/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
- package/bundle/components/Tile/TileContent.d.ts +2 -1
- package/bundle/hooks/useIntersectionObserver.d.ts +3 -0
- package/bundle/hooks/useOutsideClick.d.ts +3 -5
- package/bundle/model/IconVersion.d.ts +4 -2
- package/bundle/ui-kit/Tags/Tags.d.ts +6 -0
- package/bundle/ui-kit/Tags/TagsContent.d.ts +6 -0
- package/bundle/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/bundle/utils/getIconWithVersion.d.ts +3 -0
- package/dist/components/AccordionItem/AccordionItem.mobile.js +2 -1
- package/dist/components/AccordionItem/AccordionItem.mobile.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js +7 -20
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/dist/components/Calculator/Calculator.js +6 -1
- package/dist/components/Calculator/Calculator.js.map +1 -1
- package/dist/components/Calculator/CalculatorContent.d.ts +4 -50
- package/dist/components/Catalog/Catalog.js +1 -1
- package/dist/components/Catalog/Catalog.js.map +1 -1
- package/dist/components/Catalog/CatalogCard.js +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js +2 -1
- package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/dist/components/ContactsBlock/ContactsBlock.js +2 -2
- package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/dist/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
- package/dist/components/ContentPage/ContentPage.page.json +35 -0
- package/dist/components/ContentPage/useContentPageData.d.ts +3 -0
- package/dist/components/ContentPage/useContentPageData.js +67 -0
- package/dist/components/ContentPage/useContentPageData.js.map +1 -0
- package/dist/components/ErrorBlock/ErrorBlock.js +1 -1
- package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/dist/components/Footer/Footer.mobile.js +3 -2
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/MediaButton.js +2 -1
- package/dist/components/Footer/MediaButton.js.map +1 -1
- package/dist/components/Gallery/GalleryCardInner.js +3 -2
- package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/dist/components/Header/DropdownMenu.d.ts +5 -7
- package/dist/components/Header/DropdownMenu.js +8 -7
- package/dist/components/Header/DropdownMenu.js.map +1 -1
- package/dist/components/Header/HeaderSubMenu.js +8 -21
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/Header/HeaderSubMenuItem.d.ts +12 -0
- package/dist/components/Header/HeaderSubMenuItem.js +23 -0
- package/dist/components/Header/HeaderSubMenuItem.js.map +1 -0
- package/dist/components/Headline/HeadlineContent.d.ts +1 -0
- package/dist/components/InvestmentInfo/InvestmentInfo.js +4 -4
- package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/dist/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
- package/dist/components/LinkDocs/LinkDocsListItemBase.js +2 -1
- package/dist/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js.map +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/OfficeMap.js +3 -3
- package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -2
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductBlock/renderBenefit.js +1 -3
- package/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.js +4 -3
- package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js +2 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/dist/components/Tabs/renderLinkTab.js +1 -1
- package/dist/components/Tabs/renderLinkTab.js.map +1 -1
- package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +1 -0
- package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js +2 -1
- package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/dist/components/Tile/Tile.js +3 -2
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/components/Tile/TileContent.d.ts +2 -1
- package/dist/hooks/useIntersectionObserver.d.ts +3 -0
- package/dist/hooks/useIntersectionObserver.js +19 -0
- package/dist/hooks/useIntersectionObserver.js.map +1 -0
- package/dist/hooks/useOutsideClick.d.ts +3 -5
- package/dist/hooks/useOutsideClick.js +11 -9
- package/dist/hooks/useOutsideClick.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model/IconVersion.d.ts +4 -2
- package/dist/model/IconVersion.js +10 -0
- package/dist/model/IconVersion.js.map +1 -1
- package/dist/ui-kit/BenefitItem/BenefitItem.js +3 -4
- package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.js +19 -27
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/Button/ButtonSection.js +5 -5
- package/dist/ui-kit/Button/ButtonSection.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/Icon/Icon.js +4 -3
- package/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/dist/ui-kit/Logo/Logo.js +1 -1
- package/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/dist/ui-kit/Logo/Logo.mobile.js +5 -1
- package/dist/ui-kit/Logo/Logo.mobile.js.map +1 -1
- package/dist/ui-kit/Select/Select.js +2 -2
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/Tags/Tags.d.ts +6 -0
- package/dist/ui-kit/Tags/Tags.js +10 -0
- package/dist/ui-kit/Tags/Tags.js.map +1 -0
- package/dist/ui-kit/Tags/TagsContent.d.ts +6 -0
- package/dist/ui-kit/Tags/TagsContent.js +2 -0
- package/dist/ui-kit/Tags/TagsContent.js.map +1 -0
- package/dist/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/dist/utils/getIconWithVersion.d.ts +3 -0
- package/dist/utils/getIconWithVersion.js +8 -0
- package/dist/utils/getIconWithVersion.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/AccordionItem/AccordionItem.mobile.js +2 -1
- package/lib/components/AccordionItem/AccordionItem.mobile.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js +7 -20
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/lib/components/Calculator/Calculator.js +6 -1
- package/lib/components/Calculator/Calculator.js.map +1 -1
- package/lib/components/Calculator/CalculatorContent.d.ts +4 -50
- package/lib/components/Catalog/Catalog.js +1 -1
- package/lib/components/Catalog/Catalog.js.map +1 -1
- package/lib/components/Catalog/CatalogCard.js +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js +2 -1
- package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/lib/components/ContactsBlock/ContactsBlock.fixture.d.ts +2 -1
- package/lib/components/ContactsBlock/ContactsBlock.js +2 -2
- package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/lib/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
- package/lib/components/ContentPage/ContentPage.fixture.d.ts +2 -2
- package/lib/components/ContentPage/ContentPage.fixture.mobile.d.ts +1 -1
- package/lib/components/ContentPage/ContentPage.page.json +35 -0
- package/lib/components/ContentPage/useContentPageData.d.ts +3 -0
- package/lib/components/ContentPage/useContentPageData.js +38 -0
- package/lib/components/ContentPage/useContentPageData.js.map +1 -0
- package/lib/components/ErrorBlock/ErrorBlock.js +1 -1
- package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/lib/components/Footer/Footer.mobile.js +3 -2
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/MediaButton.js +2 -1
- package/lib/components/Footer/MediaButton.js.map +1 -1
- package/lib/components/Gallery/GalleryCardInner.js +3 -2
- package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/lib/components/Header/DropdownMenu.d.ts +5 -7
- package/lib/components/Header/DropdownMenu.js +8 -7
- package/lib/components/Header/DropdownMenu.js.map +1 -1
- package/lib/components/Header/HeaderSubMenu.js +8 -21
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/Header/HeaderSubMenuItem.d.ts +12 -0
- package/lib/components/Header/HeaderSubMenuItem.js +21 -0
- package/lib/components/Header/HeaderSubMenuItem.js.map +1 -0
- package/lib/components/Headline/HeadlineContent.d.ts +1 -0
- package/lib/components/InvestmentInfo/InvestmentInfo.js +4 -4
- package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/lib/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
- package/lib/components/LinkDocs/LinkDocsListItemBase.js +2 -1
- package/lib/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js.map +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/OfficeMap.js +3 -3
- package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -2
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductBlock/renderBenefit.js +1 -3
- package/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.js +4 -3
- package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js +2 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/lib/components/Tabs/renderLinkTab.js +1 -1
- package/lib/components/Tabs/renderLinkTab.js.map +1 -1
- package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +1 -0
- package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js +2 -1
- package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/lib/components/Tile/Tile.fixture.d.ts +1 -0
- package/lib/components/Tile/Tile.js +3 -2
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/components/Tile/TileContent.d.ts +2 -1
- package/lib/hooks/useIntersectionObserver.d.ts +3 -0
- package/lib/hooks/useIntersectionObserver.js +16 -0
- package/lib/hooks/useIntersectionObserver.js.map +1 -0
- package/lib/hooks/useOutsideClick.d.ts +3 -5
- package/lib/hooks/useOutsideClick.js +12 -10
- package/lib/hooks/useOutsideClick.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/model/IconVersion.d.ts +4 -2
- package/lib/model/IconVersion.js +10 -0
- package/lib/model/IconVersion.js.map +1 -1
- package/lib/ui-kit/BenefitItem/BenefitItem.js +3 -4
- package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.js +19 -27
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/Button/ButtonSection.js +5 -5
- package/lib/ui-kit/Button/ButtonSection.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/Icon/Icon.js +4 -3
- package/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/lib/ui-kit/Logo/Logo.js +1 -1
- package/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/lib/ui-kit/Logo/Logo.mobile.js +5 -1
- package/lib/ui-kit/Logo/Logo.mobile.js.map +1 -1
- package/lib/ui-kit/Select/Select.js +3 -3
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/Tags/Tags.d.ts +6 -0
- package/lib/ui-kit/Tags/Tags.fixture.d.ts +3 -0
- package/lib/ui-kit/Tags/Tags.js +8 -0
- package/lib/ui-kit/Tags/Tags.js.map +1 -0
- package/lib/ui-kit/Tags/TagsContent.d.ts +6 -0
- package/lib/ui-kit/Tags/TagsContent.js +2 -0
- package/lib/ui-kit/Tags/TagsContent.js.map +1 -0
- package/lib/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/lib/utils/getIconWithVersion.d.ts +3 -0
- package/lib/utils/getIconWithVersion.js +5 -0
- package/lib/utils/getIconWithVersion.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +65 -72
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +4 -50
- package/mobile/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
- package/mobile/bundle/components/ContentPage/useContentPageData.d.ts +3 -0
- package/mobile/bundle/components/Header/DropdownMenu.d.ts +5 -7
- package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +12 -0
- package/mobile/bundle/components/Headline/HeadlineContent.d.ts +1 -0
- package/mobile/bundle/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
- package/mobile/bundle/components/Tile/TileContent.d.ts +2 -1
- package/mobile/bundle/hooks/useIntersectionObserver.d.ts +3 -0
- package/mobile/bundle/hooks/useOutsideClick.d.ts +3 -5
- package/mobile/bundle/model/IconVersion.d.ts +4 -2
- package/mobile/bundle/ui-kit/Tags/Tags.d.ts +6 -0
- package/mobile/bundle/ui-kit/Tags/TagsContent.d.ts +6 -0
- package/mobile/bundle/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/mobile/bundle/utils/getIconWithVersion.d.ts +3 -0
- package/mobile/dist/components/AccordionItem/AccordionItem.js +2 -1
- package/mobile/dist/components/AccordionItem/AccordionItem.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +7 -20
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/mobile/dist/components/Calculator/Calculator.js +6 -1
- package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
- package/mobile/dist/components/Calculator/CalculatorContent.d.ts +4 -50
- package/mobile/dist/components/Catalog/Catalog.js +1 -1
- package/mobile/dist/components/Catalog/Catalog.js.map +1 -1
- package/mobile/dist/components/Catalog/CatalogCard.js +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js +2 -2
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
- package/mobile/dist/components/ContentPage/ContentPage.page.json +35 -0
- package/mobile/dist/components/ContentPage/useContentPageData.d.ts +3 -0
- package/mobile/dist/components/ContentPage/useContentPageData.js +67 -0
- package/mobile/dist/components/ContentPage/useContentPageData.js.map +1 -0
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js +1 -1
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/dist/components/Footer/Footer.js +3 -2
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/MediaButton.js +2 -1
- package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
- package/mobile/dist/components/Gallery/GalleryCardInner.js +3 -2
- package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/mobile/dist/components/Header/DropdownMenu.d.ts +5 -7
- package/mobile/dist/components/Header/DropdownMenu.js +8 -7
- package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js +8 -21
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +12 -0
- package/mobile/dist/components/Header/HeaderSubMenuItem.js +23 -0
- package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -0
- package/mobile/dist/components/Headline/HeadlineContent.d.ts +1 -0
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +4 -4
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/dist/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
- package/mobile/dist/components/LinkDocs/LinkDocsListItemBase.js +2 -1
- package/mobile/dist/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/dist/components/OfficeMap/OfficeMap.js +3 -3
- package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -2
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.js +1 -3
- package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlock.js +2 -1
- package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/dist/components/Tabs/renderLinkTab.js +1 -1
- package/mobile/dist/components/Tabs/renderLinkTab.js.map +1 -1
- package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +1 -0
- package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRow.js +2 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/mobile/dist/components/Tile/Tile.js +3 -2
- package/mobile/dist/components/Tile/Tile.js.map +1 -1
- package/mobile/dist/components/Tile/TileContent.d.ts +2 -1
- package/mobile/dist/hooks/useIntersectionObserver.d.ts +3 -0
- package/mobile/dist/hooks/useIntersectionObserver.js +19 -0
- package/mobile/dist/hooks/useIntersectionObserver.js.map +1 -0
- package/mobile/dist/hooks/useOutsideClick.d.ts +3 -5
- package/mobile/dist/hooks/useOutsideClick.js +11 -9
- package/mobile/dist/hooks/useOutsideClick.js.map +1 -1
- package/mobile/dist/index.js +1 -1
- package/mobile/dist/index.js.map +1 -1
- package/mobile/dist/model/IconVersion.d.ts +4 -2
- package/mobile/dist/model/IconVersion.js +10 -0
- package/mobile/dist/model/IconVersion.js.map +1 -1
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +3 -4
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +19 -27
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonSection.js +5 -5
- package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/dist/ui-kit/Icon/Icon.js +4 -3
- package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/dist/ui-kit/Logo/Logo.js +5 -1
- package/mobile/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/dist/ui-kit/Select/Select.js +2 -2
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/Tags/Tags.d.ts +6 -0
- package/mobile/dist/ui-kit/Tags/Tags.js +10 -0
- package/mobile/dist/ui-kit/Tags/Tags.js.map +1 -0
- package/mobile/dist/ui-kit/Tags/TagsContent.d.ts +6 -0
- package/mobile/dist/ui-kit/Tags/TagsContent.js +2 -0
- package/mobile/dist/ui-kit/Tags/TagsContent.js.map +1 -0
- package/mobile/dist/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/mobile/dist/utils/getIconWithVersion.d.ts +3 -0
- package/mobile/dist/utils/getIconWithVersion.js +8 -0
- package/mobile/dist/utils/getIconWithVersion.js.map +1 -0
- package/mobile/lib/components/AccordionItem/AccordionItem.js +2 -1
- package/mobile/lib/components/AccordionItem/AccordionItem.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +7 -20
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/mobile/lib/components/Calculator/Calculator.js +6 -1
- package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
- package/mobile/lib/components/Calculator/CalculatorContent.d.ts +4 -50
- package/mobile/lib/components/Catalog/Catalog.js +1 -1
- package/mobile/lib/components/Catalog/Catalog.js.map +1 -1
- package/mobile/lib/components/Catalog/CatalogCard.js +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js +2 -2
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
- package/mobile/lib/components/ContentPage/ContentPage.page.json +35 -0
- package/mobile/lib/components/ContentPage/useContentPageData.d.ts +3 -0
- package/mobile/lib/components/ContentPage/useContentPageData.js +38 -0
- package/mobile/lib/components/ContentPage/useContentPageData.js.map +1 -0
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js +1 -1
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/lib/components/Footer/Footer.js +3 -2
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/MediaButton.js +2 -1
- package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
- package/mobile/lib/components/Gallery/GalleryCardInner.js +3 -2
- package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/mobile/lib/components/Header/DropdownMenu.d.ts +5 -7
- package/mobile/lib/components/Header/DropdownMenu.js +8 -7
- package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js +8 -21
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +12 -0
- package/mobile/lib/components/Header/HeaderSubMenuItem.js +21 -0
- package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -0
- package/mobile/lib/components/Headline/HeadlineContent.d.ts +1 -0
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +4 -4
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/lib/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
- package/mobile/lib/components/LinkDocs/LinkDocsListItemBase.js +2 -1
- package/mobile/lib/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/lib/components/OfficeMap/OfficeMap.js +3 -3
- package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -2
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.js +1 -3
- package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlock.js +2 -1
- package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/lib/components/Tabs/renderLinkTab.js +1 -1
- package/mobile/lib/components/Tabs/renderLinkTab.js.map +1 -1
- package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +1 -0
- package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRow.js +2 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/mobile/lib/components/Tile/Tile.js +3 -2
- package/mobile/lib/components/Tile/Tile.js.map +1 -1
- package/mobile/lib/components/Tile/TileContent.d.ts +2 -1
- package/mobile/lib/hooks/useIntersectionObserver.d.ts +3 -0
- package/mobile/lib/hooks/useIntersectionObserver.js +16 -0
- package/mobile/lib/hooks/useIntersectionObserver.js.map +1 -0
- package/mobile/lib/hooks/useOutsideClick.d.ts +3 -5
- package/mobile/lib/hooks/useOutsideClick.js +12 -10
- package/mobile/lib/hooks/useOutsideClick.js.map +1 -1
- package/mobile/lib/index.js +1 -1
- package/mobile/lib/index.js.map +1 -1
- package/mobile/lib/model/IconVersion.d.ts +4 -2
- package/mobile/lib/model/IconVersion.js +10 -0
- package/mobile/lib/model/IconVersion.js.map +1 -1
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +3 -4
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +19 -27
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonSection.js +5 -5
- package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/lib/ui-kit/Icon/Icon.js +4 -3
- package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/lib/ui-kit/Logo/Logo.js +5 -1
- package/mobile/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/lib/ui-kit/Select/Select.js +3 -3
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/Tags/Tags.d.ts +6 -0
- package/mobile/lib/ui-kit/Tags/Tags.js +8 -0
- package/mobile/lib/ui-kit/Tags/Tags.js.map +1 -0
- package/mobile/lib/ui-kit/Tags/TagsContent.d.ts +6 -0
- package/mobile/lib/ui-kit/Tags/TagsContent.js +2 -0
- package/mobile/lib/ui-kit/Tags/TagsContent.js.map +1 -0
- package/mobile/lib/ui-kit/TopItem/TopItem.d.ts +1 -1
- package/mobile/lib/utils/getIconWithVersion.d.ts +3 -0
- package/mobile/lib/utils/getIconWithVersion.js +5 -0
- package/mobile/lib/utils/getIconWithVersion.js.map +1 -0
- package/mobile/src/components/Accordion/Accordion.example.json +52 -2
- package/mobile/src/components/AccordionItem/AccordionItem.example.json +23 -5
- package/mobile/src/components/AccordionItem/AccordionItem.tsx +15 -2
- package/mobile/src/components/BenefitsBlock/BenefitsBlock.example.json +32 -30
- package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +44 -66
- package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
- package/mobile/src/components/Bonus/Bonus.example.json +10 -8
- package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +94 -91
- package/mobile/src/components/Calculator/Calculator.example.json +21 -19
- package/mobile/src/components/Calculator/Calculator.tsx +6 -1
- package/mobile/src/components/Calculator/CalculatorContent.ts +2 -53
- package/mobile/src/components/CardTransfer/CardTransfer.example.json +10 -8
- package/mobile/src/components/Catalog/Catalog.example.json +51 -49
- package/mobile/src/components/Catalog/Catalog.tsx +1 -1
- package/mobile/src/components/Catalog/CatalogCard.tsx +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTable.example.json +79 -77
- package/mobile/src/components/ContactsBlock/ContactsBlock.example.json +45 -43
- package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +2 -2
- package/mobile/src/components/ContactsBlock/ContactsBlockContent.ts +2 -1
- package/mobile/src/components/ContentPage/ContentPage.page.json +3 -2318
- package/mobile/src/components/ContentPage/useContentPageData.ts +49 -0
- package/mobile/src/components/ErrorBlock/ErrorBlock.example.json +12 -10
- package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +1 -4
- package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +1 -1
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.example.json +7 -5
- package/mobile/src/components/Footer/Footer.tsx +15 -5
- package/mobile/src/components/Footer/MediaButton.tsx +8 -1
- package/mobile/src/components/Gallery/Gallery.example.json +62 -60
- package/mobile/src/components/Gallery/Gallery.tsx +1 -1
- package/mobile/src/components/Gallery/GalleryCardInner.tsx +8 -3
- package/mobile/src/components/GracePeriod/GracePeriod.example.json +61 -74
- package/mobile/src/components/Header/DropdownMenu.tsx +46 -63
- package/mobile/src/components/Header/Header.example.json +6 -4
- package/mobile/src/components/Header/HeaderSubMenu.tsx +21 -40
- package/mobile/src/components/Header/HeaderSubMenuItem.tsx +61 -0
- package/mobile/src/components/Headline/Headline.example.json +15 -13
- package/mobile/src/components/Headline/HeadlineContent.ts +1 -0
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +76 -74
- package/mobile/src/components/InvestmentInfo/InvestmentInfo.example.json +48 -45
- package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +14 -10
- package/mobile/src/components/InvestmentInfo/InvestmentInfo.ui.json +5 -12
- package/mobile/src/components/InvestmentInfo/InvestmentInfoContent.ts +1 -2
- package/mobile/src/components/LinkDocs/LinkDocs.example.json +31 -29
- package/mobile/src/components/LinkDocs/LinkDocsListItemBase.tsx +8 -1
- package/mobile/src/components/LinkList/LinkList.example.json +21 -19
- package/mobile/src/components/MiniGallery/MiniGallery.example.json +51 -49
- package/mobile/src/components/MobileAppTile/MobileAppTile.example.json +33 -30
- package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/mobile/src/components/OfficeMap/OfficeMap.tsx +3 -3
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +47 -45
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -2
- package/mobile/src/components/OtherProducts/OtherProducts.example.json +28 -1
- package/mobile/src/components/OtherProductsItem/OtherProductsItem.example.json +20 -2
- package/mobile/src/components/PictureText/PictureText.example.json +28 -26
- package/mobile/src/components/ProductBlock/ProductBlock.example.json +37 -35
- package/mobile/src/components/ProductBlock/renderBenefit.tsx +2 -3
- package/mobile/src/components/ProductGallery/ProductGallery.example.json +66 -64
- package/mobile/src/components/ProductTile/ProductTile.example.json +31 -29
- package/mobile/src/components/PromoTile/PromoTile.example.json +14 -12
- package/mobile/src/components/Recommendation/Recommendation.example.json +52 -50
- package/mobile/src/components/StepsBlock/StepsBlock.example.json +54 -52
- package/mobile/src/components/StepsBlock/StepsBlock.tsx +2 -1
- package/mobile/src/components/Tabs/Tabs.example.json +20 -18
- package/mobile/src/components/Tabs/renderLinkTab.tsx +1 -0
- package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +1 -1
- package/mobile/src/components/TariffsTable/TariffsTable.example.json +91 -89
- package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +2 -1
- package/mobile/src/components/TextBlock/TextBlock.example.json +14 -12
- package/mobile/src/components/Tile/Tile.example.json +21 -19
- package/mobile/src/components/Tile/Tile.tsx +3 -0
- package/mobile/src/components/Tile/TileContent.ts +3 -1
- package/mobile/src/hooks/useIntersectionObserver.ts +23 -0
- package/mobile/src/hooks/useOutsideClick.ts +13 -13
- package/mobile/src/index.ts +1 -1
- package/mobile/src/model/IconVersion.ts +5 -2
- package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +3 -8
- package/mobile/src/ui-kit/BlockWrapper.tsx +29 -41
- package/mobile/src/ui-kit/Button/ButtonSection.tsx +5 -12
- package/mobile/src/ui-kit/Icon/Icon.tsx +4 -3
- package/mobile/src/ui-kit/Logo/Logo.tsx +10 -2
- package/mobile/src/ui-kit/Select/Select.tsx +3 -4
- package/mobile/src/ui-kit/Tags/Tags.tsx +26 -0
- package/mobile/src/ui-kit/Tags/TagsContent.ts +6 -0
- package/mobile/src/ui-kit/TopItem/TopItem.tsx +1 -1
- package/mobile/src/utils/getIconWithVersion.ts +7 -0
- package/package.json +22 -2
- package/src/components/Accordion/Accordion.example.json +52 -2
- package/src/components/AccordionItem/AccordionItem.example.json +23 -5
- package/src/components/AccordionItem/AccordionItem.mobile.tsx +15 -2
- package/src/components/BenefitsBlock/BenefitsBlock.example.json +32 -30
- package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +6 -6
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +44 -66
- package/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
- package/src/components/Bonus/Bonus.example.json +10 -8
- package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +94 -91
- package/src/components/Calculator/Calculator.example.json +21 -19
- package/src/components/Calculator/Calculator.tsx +6 -1
- package/src/components/Calculator/CalculatorContent.ts +2 -53
- package/src/components/CardTransfer/CardTransfer.example.json +10 -8
- package/src/components/Catalog/Catalog.example.json +51 -49
- package/src/components/Catalog/Catalog.tsx +1 -1
- package/src/components/Catalog/CatalogCard.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTable.example.json +79 -77
- package/src/components/ComparisonTable/HeaderCell.tsx +3 -1
- package/src/components/ContactsBlock/ContactsBlock.example.json +45 -43
- package/src/components/ContactsBlock/ContactsBlock.fixture.tsx +46 -39
- package/src/components/ContactsBlock/ContactsBlock.tsx +2 -2
- package/src/components/ContactsBlock/ContactsBlockContent.ts +2 -1
- package/src/components/ContentPage/ContentPage.fixture.mobile.tsx +13 -10
- package/src/components/ContentPage/ContentPage.fixture.tsx +24 -16
- package/src/components/ContentPage/ContentPage.page.json +3 -2318
- package/src/components/ContentPage/useContentPageData.ts +49 -0
- package/src/components/ErrorBlock/ErrorBlock.example.json +12 -10
- package/src/components/ErrorBlock/ErrorBlock.tsx +1 -4
- package/src/components/ExchangeRateTile/CurrentLocation.tsx +1 -1
- package/src/components/ExchangeRateTile/ExchangeRateTile.example.json +7 -5
- package/src/components/Footer/Footer.mobile.tsx +15 -5
- package/src/components/Footer/MediaButton.tsx +8 -1
- package/src/components/Gallery/Gallery.example.json +62 -60
- package/src/components/Gallery/Gallery.fixture.tsx +1 -0
- package/src/components/Gallery/Gallery.mobile.tsx +1 -1
- package/src/components/Gallery/GalleryCardInner.tsx +8 -3
- package/src/components/GracePeriod/GracePeriod.example.json +61 -74
- package/src/components/Header/DropdownMenu.tsx +46 -63
- package/src/components/Header/Header.example.json +6 -4
- package/src/components/Header/HeaderSubMenu.tsx +21 -40
- package/src/components/Header/HeaderSubMenuItem.tsx +61 -0
- package/src/components/Headline/Headline.example.json +15 -13
- package/src/components/Headline/HeadlineContent.ts +1 -0
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +76 -74
- package/src/components/InvestmentInfo/InvestmentInfo.example.json +48 -45
- package/src/components/InvestmentInfo/InvestmentInfo.fixture.tsx +3 -4
- package/src/components/InvestmentInfo/InvestmentInfo.tsx +14 -10
- package/src/components/InvestmentInfo/InvestmentInfo.ui.json +5 -12
- package/src/components/InvestmentInfo/InvestmentInfoContent.ts +1 -2
- package/src/components/LinkDocs/LinkDocs.example.json +31 -29
- package/src/components/LinkDocs/LinkDocsListItemBase.tsx +8 -1
- package/src/components/LinkList/LinkList.example.json +21 -19
- package/src/components/MiniGallery/MiniGallery.example.json +51 -49
- package/src/components/MobileAppTile/MobileAppTile.example.json +33 -30
- package/src/components/MobileAppTile/MobileAppTile.mobile.tsx +1 -1
- package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/src/components/OfficeMap/OfficeMap.tsx +3 -3
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +47 -45
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -2
- package/src/components/OtherProducts/OtherProducts.example.json +28 -1
- package/src/components/OtherProductsItem/OtherProductsItem.example.json +20 -2
- package/src/components/PictureText/PictureText.example.json +28 -26
- package/src/components/ProductBlock/ProductBlock.example.json +37 -35
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +3 -1
- package/src/components/ProductBlock/ProductBlockInner.tsx +1 -1
- package/src/components/ProductBlock/renderBenefit.tsx +2 -3
- package/src/components/ProductGallery/ProductGallery.example.json +66 -64
- package/src/components/ProductTile/ProductTile.example.json +31 -29
- package/src/components/PromoTile/PromoTile.example.json +14 -12
- package/src/components/Recommendation/Recommendation.example.json +52 -50
- package/src/components/StepsBlock/StepsBlock.example.json +54 -52
- package/src/components/StepsBlock/StepsBlock.fixture.mobile.tsx +4 -4
- package/src/components/StepsBlock/StepsBlock.fixture.tsx +4 -3
- package/src/components/StepsBlock/StepsBlock.mobile.tsx +2 -1
- package/src/components/StepsBlock/StepsBlock.tsx +5 -3
- package/src/components/Tabs/Tabs.example.json +20 -18
- package/src/components/Tabs/renderLinkTab.tsx +1 -0
- package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +1 -1
- package/src/components/TariffsTable/TariffsTable.example.json +91 -89
- package/src/components/TariffsTable/TariffsTableRow.tsx +2 -1
- package/src/components/TextBlock/TextBlock.example.json +14 -12
- package/src/components/Tile/Tile.example.json +21 -19
- package/src/components/Tile/Tile.fixture.tsx +7 -0
- package/src/components/Tile/Tile.tsx +3 -0
- package/src/components/Tile/TileContent.ts +3 -1
- package/src/hooks/useIntersectionObserver.ts +23 -0
- package/src/hooks/useOutsideClick.ts +13 -13
- package/src/index.ts +1 -1
- package/src/model/IconVersion.ts +5 -2
- package/src/ui-kit/BenefitItem/BenefitItem.tsx +3 -8
- package/src/ui-kit/BlockWrapper.tsx +29 -41
- package/src/ui-kit/Button/ButtonSection.tsx +5 -12
- package/src/ui-kit/HeaderItem/HeaderItem.tsx +3 -3
- package/src/ui-kit/Icon/Icon.tsx +4 -3
- package/src/ui-kit/Logo/Logo.mobile.tsx +10 -2
- package/src/ui-kit/Logo/Logo.tsx +1 -1
- package/src/ui-kit/Select/Select.tsx +3 -4
- package/src/ui-kit/Tags/Tags.fixture.tsx +9 -0
- package/src/ui-kit/Tags/Tags.tsx +26 -0
- package/src/ui-kit/Tags/TagsContent.ts +6 -0
- package/src/ui-kit/TopItem/TopItem.tsx +1 -1
- package/src/utils/getIconWithVersion.ts +7 -0
- package/tailwind.config.cjs +2 -1
- package/bundle/ui-kit/IntersectionObserverTag.d.ts +0 -11
- package/dist/ui-kit/IntersectionObserverTag.d.ts +0 -11
- package/dist/ui-kit/IntersectionObserverTag.js +0 -22
- package/dist/ui-kit/IntersectionObserverTag.js.map +0 -1
- package/lib/ui-kit/IntersectionObserverTag.d.ts +0 -11
- package/lib/ui-kit/IntersectionObserverTag.js +0 -20
- package/lib/ui-kit/IntersectionObserverTag.js.map +0 -1
- package/mobile/bundle/ui-kit/IntersectionObserverTag.d.ts +0 -11
- package/mobile/dist/ui-kit/IntersectionObserverTag.d.ts +0 -11
- package/mobile/dist/ui-kit/IntersectionObserverTag.js +0 -22
- package/mobile/dist/ui-kit/IntersectionObserverTag.js.map +0 -1
- package/mobile/lib/ui-kit/IntersectionObserverTag.d.ts +0 -11
- package/mobile/lib/ui-kit/IntersectionObserverTag.js +0 -20
- package/mobile/lib/ui-kit/IntersectionObserverTag.js.map +0 -1
- package/mobile/src/ui-kit/IntersectionObserverTag.tsx +0 -45
- package/src/ui-kit/IntersectionObserverTag.tsx +0 -45
package/bundle/bundle.umd.js
CHANGED
|
@@ -261,6 +261,21 @@
|
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
+
function useIntersectionObserver(observerCallback, observerOptions) {
|
|
265
|
+
const ref = useRef(null);
|
|
266
|
+
useEffect(() => {
|
|
267
|
+
if (!ref.current) {
|
|
268
|
+
return undefined;
|
|
269
|
+
}
|
|
270
|
+
const intersectionObserver = new IntersectionObserver(observerCallback, observerOptions);
|
|
271
|
+
intersectionObserver.observe(ref.current);
|
|
272
|
+
return () => {
|
|
273
|
+
intersectionObserver.disconnect();
|
|
274
|
+
};
|
|
275
|
+
}, [observerCallback, observerOptions]);
|
|
276
|
+
return ref;
|
|
277
|
+
}
|
|
278
|
+
|
|
264
279
|
const changeHashOnObserve = ({ anchor, anchorClickRef }) => (entries) => {
|
|
265
280
|
if (!entries?.length) {
|
|
266
281
|
return;
|
|
@@ -278,58 +293,33 @@
|
|
|
278
293
|
}
|
|
279
294
|
};
|
|
280
295
|
|
|
281
|
-
const IntersectionObserverTag = JSX((props) => {
|
|
282
|
-
const { tag = 'section', observerCallback, observerOptions, className = '', anchor = null, children, } = props;
|
|
283
|
-
const tagRef = useRef(null);
|
|
284
|
-
useEffect(() => {
|
|
285
|
-
if (!tagRef.current) {
|
|
286
|
-
return undefined;
|
|
287
|
-
}
|
|
288
|
-
const intersectionObserver = new IntersectionObserver(observerCallback, observerOptions);
|
|
289
|
-
intersectionObserver.observe(tagRef.current);
|
|
290
|
-
return () => {
|
|
291
|
-
intersectionObserver.disconnect();
|
|
292
|
-
};
|
|
293
|
-
}, [observerCallback, observerOptions]);
|
|
294
|
-
const Tag = tag;
|
|
295
|
-
return (jsx(Tag, { ref: tagRef, className: className, id: anchor, children: children }));
|
|
296
|
-
});
|
|
297
|
-
|
|
298
296
|
const THRESHOLD_ACCURACY = 100; // Decimals number (100 is for two decimals number, 0.**)
|
|
299
297
|
const THRESHOLD_ARRAY_LENGTH = 18;
|
|
300
298
|
const THRESHOLD_ARRAY_START_VALUE = (THRESHOLD_ACCURACY - THRESHOLD_ARRAY_LENGTH) / THRESHOLD_ACCURACY;
|
|
301
299
|
const OBSERVER_OPTIONS = {
|
|
302
300
|
threshold: new Array(THRESHOLD_ARRAY_LENGTH).fill(0).map(getIntersectionThreshold),
|
|
303
301
|
};
|
|
304
|
-
const BlockWrapper = JSX(({ anchor, className, children, tag = 'section', labels }) => {
|
|
302
|
+
const BlockWrapper = JSX(({ anchor, className, children, tag = 'section', labels, role }) => {
|
|
305
303
|
const Tag = tag;
|
|
306
|
-
const [
|
|
304
|
+
const [isVisible, setVisible] = useState(true);
|
|
307
305
|
const anchorClickRef = useRef({});
|
|
308
306
|
const observerCallback = useMemo(() => changeHashOnObserve({ anchor, anchorClickRef }), [anchor]);
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
anchorClickCleanup();
|
|
326
|
-
tabCleanup();
|
|
327
|
-
};
|
|
328
|
-
}, []);
|
|
329
|
-
if (!shouldRenderBlock) {
|
|
330
|
-
return null;
|
|
331
|
-
}
|
|
332
|
-
return anchor ? (jsx(IntersectionObserverTag, { tag: tag, className: className, observerCallback: observerCallback, observerOptions: OBSERVER_OPTIONS, anchor: anchor, children: children })) : (jsx(Tag, { className: className, children: children }));
|
|
307
|
+
const ref = useIntersectionObserver(observerCallback, OBSERVER_OPTIONS);
|
|
308
|
+
useEffect(() => EventBus.inst.subscribe('anchorClick', (e) => {
|
|
309
|
+
setVisible(true);
|
|
310
|
+
anchorClickRef.current = e;
|
|
311
|
+
}), []);
|
|
312
|
+
useEffect(() => EventBus.inst.subscribe('tab', (event) => {
|
|
313
|
+
if (event.type === 'group') {
|
|
314
|
+
const hasSettings = labels?.length || anchor;
|
|
315
|
+
setVisible(event.label ? !hasSettings || Boolean(labels?.includes(event.label)) : true);
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
changeHash(event.label);
|
|
319
|
+
setVisible(true);
|
|
320
|
+
}
|
|
321
|
+
}), []);
|
|
322
|
+
return isVisible ? (jsx(Tag, { className: className, role: role, ...(anchor ? { id: anchor, ref } : {}), children: children })) : null;
|
|
333
323
|
});
|
|
334
324
|
function getIntersectionThreshold(_, i) {
|
|
335
325
|
const value = (i + 1) / THRESHOLD_ACCURACY + THRESHOLD_ARRAY_START_VALUE;
|
|
@@ -383,13 +373,14 @@
|
|
|
383
373
|
});
|
|
384
374
|
|
|
385
375
|
const svgUseStyleMap = {
|
|
386
|
-
normal: '
|
|
376
|
+
normal: '',
|
|
377
|
+
color: 'text-primary-main',
|
|
387
378
|
black: 'text-black',
|
|
388
379
|
white: 'text-black',
|
|
389
380
|
};
|
|
390
|
-
const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = '
|
|
381
|
+
const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', asSVG, ...imgProps }) => {
|
|
391
382
|
const href = `${projectSettings.CDN || ''}icons/${name}.svg`;
|
|
392
|
-
if (asSVG) {
|
|
383
|
+
if (asSVG && iconVersion !== 'normal') {
|
|
393
384
|
return (jsx(Background, { className: className, children: jsxs("svg", { className: [
|
|
394
385
|
getSvgSize(className, imgProps.width),
|
|
395
386
|
svgUseStyleMap[iconVersion],
|
|
@@ -403,7 +394,7 @@
|
|
|
403
394
|
const getSvgSize = (className, width) => width ? `width: ${width}px ` : 'w-full h-full';
|
|
404
395
|
const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
|
|
405
396
|
|
|
406
|
-
function getIconVersion
|
|
397
|
+
function getIconVersion(image) {
|
|
407
398
|
return typeof image === 'string' ? 'normal' : image?.iconVersion || 'normal';
|
|
408
399
|
}
|
|
409
400
|
|
|
@@ -445,7 +436,7 @@
|
|
|
445
436
|
// backwards compatibility with existing icons in usage
|
|
446
437
|
const icon = typeof image === 'string' ? image : image.icon;
|
|
447
438
|
if (icon || icon === '') {
|
|
448
|
-
return icon.length ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: getIconVersion
|
|
439
|
+
return icon.length ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: getIconVersion(image), name: icon, ...iconProps })) : null;
|
|
449
440
|
}
|
|
450
441
|
return (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, isMobile: isMobile }));
|
|
451
442
|
});
|
|
@@ -455,6 +446,11 @@
|
|
|
455
446
|
AccordionItem.childrenTypes = [];
|
|
456
447
|
const FoldButton = JSX(({ label, icon, onClick }) => (jsxs("button", { className: "border-none bg-transparent px-0 pt-5 pb-3.5 flex justify-between text-left w-full font-sans text-h6 group cursor-pointer", onClick: onClick, children: [jsx("span", { className: "text-xl font-medium pr-2.5", children: label }), jsx(ImgInner, { image: icon, className: "text-primary-main flex-shrink-0", width: "24", height: "24", asSVG: true })] })));
|
|
457
448
|
|
|
449
|
+
const getIconWithVersion = (icon, version = 'primary') => ({
|
|
450
|
+
...icon,
|
|
451
|
+
iconVersion: icon?.iconVersion ?? (version === 'secondary' ? 'white' : 'color'),
|
|
452
|
+
});
|
|
453
|
+
|
|
458
454
|
const benefitsBlockStyleMap = {
|
|
459
455
|
primary: 'bg-white',
|
|
460
456
|
secondary: 'bg-primary-main',
|
|
@@ -471,29 +467,15 @@
|
|
|
471
467
|
primary: 'bg-main-divider text-primary-main',
|
|
472
468
|
secondary: 'bg-white/30 text-black',
|
|
473
469
|
};
|
|
474
|
-
const BenefitsBlock = JSX(({ className = '', title, benefitList,
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
const renderBenefits$1 = (benefitList, benefitsBlockVersion) => {
|
|
478
|
-
return (jsx("div", { className: "flex flex-wrap w-full justify-center gap-x-20 mt-8", children: benefitList.map(renderStep(benefitsBlockVersion)) }));
|
|
479
|
-
};
|
|
480
|
-
const setIconVersion = (benefitIcon, benefitsBlockVersion) => {
|
|
481
|
-
if (!benefitIcon.icon || benefitIcon?.iconVersion) {
|
|
482
|
-
return benefitIcon;
|
|
483
|
-
}
|
|
484
|
-
benefitIcon.iconVersion = benefitsBlockVersion === 'secondary' ? 'white' : 'normal';
|
|
485
|
-
return benefitIcon;
|
|
486
|
-
};
|
|
487
|
-
const renderStep = (benefitsBlockVersion) => (benefit, i) => {
|
|
470
|
+
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} ${benefitsBlockStyleMap[version]}`, ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: `max-w-[47rem] text-center ${benefitsTextStyleMap[version]}`, title: title })) : null, benefitList?.length ? renderBenefits$1(benefitList, version) : null] })));
|
|
471
|
+
const renderBenefits$1 = (benefitList, version) => (jsx("div", { className: "flex flex-wrap w-full justify-center gap-x-20 mt-8", children: benefitList.map(renderStep(version)) }));
|
|
472
|
+
const renderStep = (version) => (benefit, i) => {
|
|
488
473
|
const description = (benefit?.description || undefined);
|
|
489
|
-
return (jsxs("div", { className: "flex items-center basis-1/2 max-w-[500px] mb-14", children: [benefit?.icon?.icon ? (jsx(ImgInner, { className: `w-[50px] h-[50px] min-w-[50px] p-3 rounded-full ${benefitsIconStyleMap[
|
|
474
|
+
return (jsxs("div", { className: "flex items-center basis-1/2 max-w-[500px] mb-14", children: [benefit?.icon?.icon ? (jsx(ImgInner, { className: `w-[50px] h-[50px] min-w-[50px] 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)));
|
|
490
475
|
};
|
|
491
|
-
const renderDescription$3 = (description,
|
|
476
|
+
const renderDescription$3 = (description, version) => {
|
|
492
477
|
const benefitType = description ? description?.benefitType : null;
|
|
493
|
-
|
|
494
|
-
return null;
|
|
495
|
-
}
|
|
496
|
-
return description ? (jsx("div", { className: `text-l-light mt-2 ${benefitsDescriptionStyleMap[benefitsBlockVersion]}`, children: benefitType === 'list'
|
|
478
|
+
return description && benefitType ? (jsx("div", { className: `text-l-light mt-2 ${benefitsDescriptionStyleMap[version]}`, children: benefitType === 'list'
|
|
497
479
|
? renderListBenefit(description)
|
|
498
480
|
: renderTextBenefit(description) })) : null;
|
|
499
481
|
};
|
|
@@ -644,17 +626,17 @@
|
|
|
644
626
|
});
|
|
645
627
|
function renderButton({ button, buttonClassName, index }) {
|
|
646
628
|
const { icon, iconRight, version, ...rest } = button;
|
|
647
|
-
const iconVersion = version === 'secondary' ? '
|
|
648
|
-
const leftIcon = renderButtonIcon({ icon, iconVersion });
|
|
649
|
-
const rightIcon = renderButtonIcon({
|
|
629
|
+
const iconVersion = version === 'secondary' ? 'color' : 'white';
|
|
630
|
+
const leftIcon = renderButtonIcon({ ...icon, iconVersion: iconVersion });
|
|
631
|
+
const rightIcon = renderButtonIcon({ ...iconRight, iconVersion: iconVersion });
|
|
650
632
|
return (jsx(Button, { className: buttonClassName, appendLeft: leftIcon, appendRight: rightIcon, version: version, ...rest }, index ? String(index) : ''));
|
|
651
633
|
}
|
|
652
|
-
const renderButtonIcon = (
|
|
634
|
+
const renderButtonIcon = (icon) => {
|
|
653
635
|
if (!icon?.icon && !icon?.src) {
|
|
654
636
|
return null;
|
|
655
637
|
}
|
|
656
638
|
const iconWidth = icon?.size?.width ? `${icon.size.width}` : '24';
|
|
657
|
-
return jsx(ImgInner, { image: { ...icon
|
|
639
|
+
return jsx(ImgInner, { image: { ...icon }, width: iconWidth, height: "24", asSVG: true });
|
|
658
640
|
};
|
|
659
641
|
|
|
660
642
|
const Description = JSX((props) => {
|
|
@@ -1164,8 +1146,13 @@
|
|
|
1164
1146
|
? 'text-l-light text-white'
|
|
1165
1147
|
: `text-m-light text-secondary-text`;
|
|
1166
1148
|
const iconClassName = isActiveBtn ? '' : `text-primary-main`;
|
|
1149
|
+
const iconVersion = tab?.icon?.iconVersion;
|
|
1150
|
+
const activeIconStyle = isActiveBtn ? 'white' : 'normal';
|
|
1167
1151
|
return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: `box-border relative border border-main-stroke cursor-pointer text-left border-b-0 flex hover:h-[88px]
|
|
1168
|
-
${btnClassName}`, children: [jsx(ImgInner, { className: `h-6 w-6 min-w-6 min-h-6 mr-4 ${iconClassName}`, image: {
|
|
1152
|
+
${btnClassName}`, children: [jsx(ImgInner, { className: `h-6 w-6 min-w-6 min-h-6 mr-4 ${iconClassName}`, image: {
|
|
1153
|
+
...tab?.icon,
|
|
1154
|
+
iconVersion: iconVersion ?? activeIconStyle,
|
|
1155
|
+
}, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "border-0", children: [jsx("div", { className: `${btnTitleClassName}`, children: tab?.title }), jsx("div", { className: `${btnDescClassName}`, children: tab.description })] })] }, String(i)));
|
|
1169
1156
|
}
|
|
1170
1157
|
function renderTabs({ tabsShift, tabsNav, activeSlideIndex, setActiveSlideIndex }) {
|
|
1171
1158
|
return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${tabsShift * 388}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-9 box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$2({
|
|
@@ -1253,7 +1240,7 @@
|
|
|
1253
1240
|
white: 'bg-white',
|
|
1254
1241
|
};
|
|
1255
1242
|
const CatalogCard = JSX(({ className = '', title, description, image, price, button, colors }) => {
|
|
1256
|
-
return (jsxs("section", { className: `border border-solid box-border border-main-stroke p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(ImgInner, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? jsx("div", { className: "text-m-light text-left mb-4", children: description }) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-
|
|
1243
|
+
return (jsxs("section", { className: `border border-solid box-border border-main-stroke p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(ImgInner, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? jsx("div", { className: "text-m-light text-left mb-4", children: description }) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-s-light text-secondary-text", children: [jsx("div", { className: "mr-1.5", children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }), colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-h3 text-left", children: [price, "\u00A0\u20BD"] }) : null, button ? renderButton({ button, buttonClassName: 'mt-5 w-full' }) : null] }));
|
|
1257
1244
|
});
|
|
1258
1245
|
const renderColorOption = (color, i) => (jsx("span", { className: `w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap$1[color]}` }, String(i)));
|
|
1259
1246
|
|
|
@@ -1262,7 +1249,7 @@
|
|
|
1262
1249
|
const CARD_SHIFT$1 = 430;
|
|
1263
1250
|
const Catalog = JSX(({ context, cards = [], className = '', title, description, ...rest }) => {
|
|
1264
1251
|
const [activeCardIndex, setActiveCardIndex] = useState(0);
|
|
1265
|
-
return (jsxs(BlockWrapper, { context: context, className: `bg-white relative font-sans p-
|
|
1252
|
+
return (jsxs(BlockWrapper, { context: context, className: `bg-white relative font-sans p-[50px] overflow-hidden text-center ${className}`, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), jsx("div", { className: "flex duration-1000 gap-3.5 mt-8", style: { transform: `translateX(-${activeCardIndex * CARD_SHIFT$1}px)` }, role: "list", children: cards?.length ? cards.map(renderCatalogCard(context)) : null }), renderNavButtons$1({
|
|
1266
1253
|
cardsCount: cards.length,
|
|
1267
1254
|
activeCardIndex,
|
|
1268
1255
|
setActiveCardIndex,
|
|
@@ -1301,7 +1288,7 @@
|
|
|
1301
1288
|
const COLS_LENGTH_FOR_SCROLL$1 = 2;
|
|
1302
1289
|
const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
|
|
1303
1290
|
|
|
1304
|
-
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES$1} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(ImgInner, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", image: icon, width: "63", height: "63" })), image?.src && jsx(ImgInner, { className: "mb-[18px]", image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs-light font-medium py-[11px]", children: link.text }) }) }))] })));
|
|
1291
|
+
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES$1} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(ImgInner, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", image: getIconWithVersion(icon), width: "63", height: "63", asSVG: true })), image?.src && jsx(ImgInner, { className: "mb-[18px]", image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs-light font-medium py-[11px]", children: link.text }) }) }))] })));
|
|
1305
1292
|
|
|
1306
1293
|
const carouselContainerClassesMap = {
|
|
1307
1294
|
comparison: 'flex gap-4 duration-1000',
|
|
@@ -1378,8 +1365,8 @@
|
|
|
1378
1365
|
primary: 'bg-white',
|
|
1379
1366
|
secondary: 'bg-primary-main text-white',
|
|
1380
1367
|
};
|
|
1381
|
-
const ContactsBlock = JSX(({ className = '', contacts, context, info,
|
|
1382
|
-
return (jsxs(BlockWrapper, { context: context, className: `${contactsBlockStyleMap[
|
|
1368
|
+
const ContactsBlock = JSX(({ className = '', contacts, context, info, version = 'secondary', ...rest }) => {
|
|
1369
|
+
return (jsxs(BlockWrapper, { context: context, className: `${contactsBlockStyleMap[version]} flex p-12 ${className}`, ...rest, children: [info ? renderInfo(info) : null, contacts ? renderContacts(contacts) : null] }));
|
|
1383
1370
|
});
|
|
1384
1371
|
const renderInfo = (info) => (jsx("div", { className: "flex grow basis-0 pr-11", children: info.map(({ title, description, button }, index) => (jsxs("div", { className: "grow basis-0 pr-11 last:pr-0", children: [jsx(Heading, { as: "h5", headingType: "h5", title: title, className: "pb-2.5" }), jsx(Description, { className: "text-l-light pb-6", description: description }), button ? jsx(Button, { ...button }) : null] }, String(index)))) }));
|
|
1385
1372
|
const renderContacts = (contacts) => (jsx("div", { className: "flex grow basis-0", children: contacts.map((contactsColumn, index) => renderContactsColumn({ contactsColumn, index })) }));
|
|
@@ -1397,7 +1384,7 @@
|
|
|
1397
1384
|
const ErrorBlock = JSX(({ context, className = '', title, subtitle, error, button }) => {
|
|
1398
1385
|
const { useRouter, handlerDecorator } = context;
|
|
1399
1386
|
const router = useRouter();
|
|
1400
|
-
return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`,
|
|
1387
|
+
return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
|
|
1401
1388
|
});
|
|
1402
1389
|
|
|
1403
1390
|
const BaseTile = JSX(({ className = '', title = '', children, buttons, image }) => {
|
|
@@ -1430,7 +1417,7 @@
|
|
|
1430
1417
|
return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(ImgInner, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-2", children: currency })] }) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) })] }, currency));
|
|
1431
1418
|
};
|
|
1432
1419
|
|
|
1433
|
-
const CurrentLocation = JSX(({ className = '', address }) => (jsxs("div", { className: `flex ${className}`, children: [jsx(ImgInner, { image: { icon: 'GpsIcon' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-3", children: [address ? jsx("p", { className: "text-primary-main m-0 mb-1 text-l", children: address }) : null, jsx("p", { className: "text-secondary-text m-0 text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \
|
|
1420
|
+
const CurrentLocation = JSX(({ className = '', address }) => (jsxs("div", { className: `flex ${className}`, children: [jsx(ImgInner, { image: { icon: 'GpsIcon' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-3", children: [address ? jsx("p", { className: "text-primary-main m-0 mb-1 text-l", children: address }) : null, jsx("p", { className: "text-secondary-text m-0 text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
|
|
1434
1421
|
|
|
1435
1422
|
const roundTo = (value, precision = 2) => {
|
|
1436
1423
|
const factor = 10 ** precision;
|
|
@@ -1460,28 +1447,30 @@
|
|
|
1460
1447
|
[() => true, () => props.handleConvert(props.value)],
|
|
1461
1448
|
])(props)?.();
|
|
1462
1449
|
|
|
1463
|
-
function useOutsideClick(
|
|
1450
|
+
function useOutsideClick(onClick) {
|
|
1451
|
+
const targetRef = useRef(null);
|
|
1464
1452
|
useEffect(() => {
|
|
1465
|
-
|
|
1466
|
-
if (
|
|
1467
|
-
|
|
1468
|
-
event.target instanceof
|
|
1469
|
-
!
|
|
1470
|
-
|
|
1453
|
+
const handleClickOutside = (event) => {
|
|
1454
|
+
if (targetRef &&
|
|
1455
|
+
targetRef.current &&
|
|
1456
|
+
event.target instanceof Node &&
|
|
1457
|
+
!targetRef.current.contains(event.target)) {
|
|
1458
|
+
onClick();
|
|
1471
1459
|
}
|
|
1472
|
-
}
|
|
1460
|
+
};
|
|
1473
1461
|
document.addEventListener('click', handleClickOutside);
|
|
1474
1462
|
return () => {
|
|
1475
1463
|
document.removeEventListener('click', handleClickOutside);
|
|
1476
1464
|
};
|
|
1477
|
-
}, []);
|
|
1465
|
+
}, [onClick]);
|
|
1466
|
+
return targetRef;
|
|
1478
1467
|
}
|
|
1479
1468
|
|
|
1480
1469
|
const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
|
|
1481
1470
|
const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
|
|
1482
1471
|
const [isOpen, setIsOpen] = useState(false);
|
|
1483
|
-
const
|
|
1484
|
-
useOutsideClick(
|
|
1472
|
+
const handleClickOutside = useCallback(() => setIsOpen(false), []);
|
|
1473
|
+
const wrapperRef = useOutsideClick(handleClickOutside);
|
|
1485
1474
|
const choiceOption = (option) => {
|
|
1486
1475
|
setSelectedItem(option);
|
|
1487
1476
|
setIsOpen(false);
|
|
@@ -1626,7 +1615,7 @@
|
|
|
1626
1615
|
};
|
|
1627
1616
|
|
|
1628
1617
|
const ICON_VERSION_MAP = {
|
|
1629
|
-
'bg-white': '
|
|
1618
|
+
'bg-white': 'color',
|
|
1630
1619
|
transparent: 'white',
|
|
1631
1620
|
};
|
|
1632
1621
|
const SVG_COLOR = {
|
|
@@ -1767,7 +1756,7 @@
|
|
|
1767
1756
|
? 'bg-white hover:bg-secondary-hover'
|
|
1768
1757
|
: 'border-solid border-[1px] border-main-divider hover:border-transparent hover:bg-primary-main';
|
|
1769
1758
|
const isPrimary = version === 'primary';
|
|
1770
|
-
return (jsx("a", { className: `flex items-center justify-center rounded-md w-14 h-14 group box-border ${classes} ${isPrimary ? 'hover:text-black' : ''}`, href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", children: icon ? (jsx(ImgInner, { image: icon, imageClassName: "group-hover:text-white", width: "24", height: "24", asSVG: true })) : null }));
|
|
1759
|
+
return (jsx("a", { className: `flex items-center justify-center rounded-md w-14 h-14 group box-border ${classes} ${isPrimary ? 'hover:text-black' : ''}`, href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", children: icon ? (jsx(ImgInner, { image: getIconWithVersion(icon), imageClassName: "group-hover:text-white", width: "24", height: "24", asSVG: true })) : null }));
|
|
1771
1760
|
});
|
|
1772
1761
|
|
|
1773
1762
|
const SocialMedia = JSX(({ className = '', media, version, context, children }) => {
|
|
@@ -1846,9 +1835,9 @@
|
|
|
1846
1835
|
});
|
|
1847
1836
|
|
|
1848
1837
|
const GalleryCardInner = JSX(({ title, headlineSmallVersion = 'H6', description, additionalDescription, icon, items, button, version, isDotted = true, align = 'center', }) => {
|
|
1849
|
-
return (jsxs("div", { className: `h-full flex flex-col justify-between ${AlignText[align]}`, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$1(icon), renderCardTitle(headlineSmallVersion, title), renderDescription$2(description, title), items?.length ? renderItems$1(items, isDotted, version) : null, renderAdditionalDescription$1(additionalDescription)] }), button?.text ? renderButton({ button, buttonClassName: 'mt-6' }) : null] }));
|
|
1838
|
+
return (jsxs("div", { className: `h-full flex flex-col justify-between ${AlignText[align]}`, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$1(icon, version), renderCardTitle(headlineSmallVersion, title), renderDescription$2(description, title), items?.length ? renderItems$1(items, isDotted, version) : null, renderAdditionalDescription$1(additionalDescription)] }), button?.text ? renderButton({ button, buttonClassName: 'mt-6' }) : null] }));
|
|
1850
1839
|
});
|
|
1851
|
-
const renderImage$1 = (image) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(ImgInner, { className: "mb-5", image: image }) : null, image?.icon ? (jsx(ImgInner, { className: `w-[32px] h-[32px] min-w-[32px] mb-5 rounded-full`, image: image, asSVG: true })) : null] }));
|
|
1840
|
+
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-[32px] h-[32px] min-w-[32px] mb-5 rounded-full`, image: getIconWithVersion(image, version), asSVG: true })) : null] }));
|
|
1852
1841
|
const renderCardTitle = (headlineSmallVersion, title) => title ? jsx("div", { className: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
|
|
1853
1842
|
const renderDescription$2 = (description, title) => description ? jsx("div", { className: `text-l ${title ? 'mt-2' : ''}`, children: description }) : null;
|
|
1854
1843
|
const renderAdditionalDescription$1 = (additionalDescription) => additionalDescription ? (jsx("div", { className: "text-m-light text-secondary-text mt-auto", children: additionalDescription })) : null;
|
|
@@ -1972,9 +1961,24 @@
|
|
|
1972
1961
|
: undefined;
|
|
1973
1962
|
};
|
|
1974
1963
|
|
|
1964
|
+
const DOT_BG_COLORS_MAP = {
|
|
1965
|
+
'bg-white': 'bg-primary-text',
|
|
1966
|
+
transparent: 'bg-white',
|
|
1967
|
+
};
|
|
1968
|
+
const DropdownMenu = JSX(({ context, className, items, activeItem, bgColor }) => {
|
|
1969
|
+
const { useRouter, handlerDecorator } = context;
|
|
1970
|
+
const router = useRouter();
|
|
1971
|
+
const [visible, setVisible] = useState(false);
|
|
1972
|
+
const handleToggle = useCallback(() => setVisible((_) => !_), []);
|
|
1973
|
+
const handleClickOutside = useCallback(() => setVisible(false), []);
|
|
1974
|
+
const ref = useOutsideClick(handleClickOutside);
|
|
1975
|
+
return (jsxs("div", { className: `${visible ? 'bg-white rounded-md shadow-blue-gray/24' : ''} ${className || ''}`, ref: ref, children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", "aria-label": `${visible ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, onClick: handleToggle, children: Array(3).fill(bgColor).map(renderDot) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${visible ? '' : 'hidden'}`, "aria-hidden": !visible, children: items?.map((item, i) => (jsx("a", { className: `text-l-light pb-4 hover:text-primary-main ${item === activeItem ? 'text-primary-main' : ''}`, ...useLink({ router, handlerDecorator }, item), children: item.text }, item.href || String(i)))) })] }));
|
|
1976
|
+
});
|
|
1977
|
+
const renderDot = (bgColor, i) => (jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
|
|
1978
|
+
|
|
1975
1979
|
const TEXT_CLASSES$1 = 'font-sans text-l-light';
|
|
1976
1980
|
const BORDER_CLASSES = 'absolute left-0 -bottom-3 w-full h-[2px]';
|
|
1977
|
-
const HeaderItem = JSX(({ className = '', text, href, target, active,
|
|
1981
|
+
const HeaderItem = JSX(({ className = '', text, href, target, active, bgColor = 'bg-white', dataItemName, children, onClick, }) => (jsxs("a", { className: `relative inline-block bg-transparent text-center no-underline ${className}`, href: href, target: target, "data-item-name": dataItemName, onClick: onClick, children: [jsx("span", { className: getTextClasses(bgColor, active), children: text || children }), active ? jsx("div", { className: getBorderClasses(bgColor, active) }) : null] })));
|
|
1978
1982
|
const getTextClasses = (bgColor, active = false) => {
|
|
1979
1983
|
let classes = 'text-white';
|
|
1980
1984
|
if (bgColor === 'bg-white') {
|
|
@@ -1989,46 +1993,34 @@
|
|
|
1989
1993
|
return `${bgColor === 'bg-white' ? 'bg-primary-main' : bgColor} ${BORDER_CLASSES}`;
|
|
1990
1994
|
};
|
|
1991
1995
|
|
|
1992
|
-
const
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
1996
|
+
const HeaderSubMenuItem = JSX(({ context, className, active, bgColor, observerOptions, onVisibilityChange, children, ...linkProps }) => {
|
|
1997
|
+
const { handlerDecorator } = context;
|
|
1998
|
+
const router = context.useRouter();
|
|
1999
|
+
const observerCallback = useCallback((entries) => {
|
|
2000
|
+
if (!entries.length || !onVisibilityChange) {
|
|
2001
|
+
return;
|
|
2002
|
+
}
|
|
2003
|
+
// Assumption about entries order (by time)
|
|
2004
|
+
const entry = entries[entries.length - 1];
|
|
2005
|
+
onVisibilityChange(entry.isIntersecting);
|
|
2006
|
+
}, [onVisibilityChange]);
|
|
2007
|
+
const ref = useIntersectionObserver(observerCallback, observerOptions);
|
|
2008
|
+
return (jsx("span", { ref: ref, children: jsx(HeaderItem, { className: className, active: active, bgColor: bgColor, ...useLink({ router, handlerDecorator }, linkProps), children: children }) }));
|
|
2001
2009
|
});
|
|
2002
|
-
const renderDotsSubMenuItems = ({ menuItems, router, handlerDecorator, activeSubItem, }) => {
|
|
2003
|
-
const isActive = (item) => item === activeSubItem;
|
|
2004
|
-
return menuItems?.map(({ text, ...rest }) => (jsx("a", { ...useLink({ router, handlerDecorator }, rest), className: `text-l-light pb-4 hover:text-primary-main ${isActive(rest) ? 'text-primary-main' : ''}`, children: text }, rest.href)));
|
|
2005
|
-
};
|
|
2006
|
-
const renderDot = (bgColor, i) => (jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
|
|
2007
2010
|
|
|
2008
2011
|
const HeaderSubMenu = JSX(({ context, subItems = [], bgColor }) => {
|
|
2009
|
-
const { handlerDecorator } = context;
|
|
2010
2012
|
const router = context.useRouter();
|
|
2011
|
-
const
|
|
2012
|
-
const [menuVisible, setMenuVisible] = useState(false);
|
|
2013
|
+
const activeSubItem = findActiveSubItem(router)(subItems);
|
|
2013
2014
|
const [visibleItemsCount, setVisibleItemsCount] = useState(subItems.length);
|
|
2014
2015
|
const dropDownMenuItems = subItems.slice(visibleItemsCount);
|
|
2016
|
+
const subItemsListRef = useRef(null);
|
|
2015
2017
|
const observerOptions = useMemo(() => ({ threshold: 1, root: subItemsListRef.current }), [subItemsListRef.current]);
|
|
2016
|
-
const
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
// Assumption about sorting entries by time
|
|
2021
|
-
const entry = entries[entries.length - 1];
|
|
2022
|
-
if (entry.isIntersecting) {
|
|
2023
|
-
setVisibleItemsCount(handleIntersectionActivation(index));
|
|
2024
|
-
}
|
|
2025
|
-
else {
|
|
2026
|
-
setVisibleItemsCount(handleIntersectionDeactivation(index));
|
|
2027
|
-
}
|
|
2018
|
+
const subItemsVisibilityHandlers = useMemo(() => subItems.map((_, index) => (isIntersecting) => {
|
|
2019
|
+
setVisibleItemsCount(isIntersecting
|
|
2020
|
+
? handleIntersectionActivation(index)
|
|
2021
|
+
: handleIntersectionDeactivation(index));
|
|
2028
2022
|
}), [subItems]);
|
|
2029
|
-
|
|
2030
|
-
const toggleMenu = () => setMenuVisible(!menuVisible);
|
|
2031
|
-
return (jsxs("nav", { className: "relative mt-6", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(IntersectionObserverTag, { tag: "span", observerCallback: observerCallbacks[i], observerOptions: observerOptions, children: jsx(HeaderItem, { className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, ...useLink({ router, handlerDecorator }, _), bgColor: bgColor }) }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { context: context, activeSubItem: activeSubItem, menuVisible: menuVisible, toggleMenu: toggleMenu, menuItems: dropDownMenuItems, bgColor: bgColor })) : null] }));
|
|
2023
|
+
return (jsxs("nav", { className: "relative mt-6", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(HeaderSubMenuItem, { context: context, className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, bgColor: bgColor, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { context: context, className: "absolute w-52 -top-4 right-0 pt-4 z-40", items: dropDownMenuItems, activeItem: activeSubItem, bgColor: bgColor })) : null] }));
|
|
2032
2024
|
});
|
|
2033
2025
|
const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
|
|
2034
2026
|
const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
|
|
@@ -2152,17 +2144,17 @@
|
|
|
2152
2144
|
if (investmentZeroColumn) {
|
|
2153
2145
|
colums.unshift(investmentZeroColumn);
|
|
2154
2146
|
}
|
|
2155
|
-
return (jsx(BlockWrapper, { className: `font-sans bg-white
|
|
2147
|
+
return (jsx(BlockWrapper, { className: `font-sans bg-white px-9 py-12 ${className}`, context: context, ...rest, children: jsxs("div", { className: "container text-m-light", children: [colums?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end relative pl-9 pr-5 text-white", children: [joinList(jsx("div", { className: "w-px h-4 bg-main-stroke" }))(colums.map(renderInvestmentColumn)), jsx("div", { className: "absolute right-[30px] w-px h-4 bg-main-stroke" })] }), jsx("div", { className: "border-t border-main-stroke -mt-2 ml-9 mr-8" }), jsx("div", { className: "flex justify-between text-primary-text mt-3 -mx-10", children: colums.map(renderInvestmentColumnTitle) })] })) : null, items?.length ? (jsx(List, { className: "mt-9 text-l-light max-w-[657px]", items: items, itemClassName: "mb-[7px]", isDotted: isDotted })) : null] }) }));
|
|
2156
2148
|
});
|
|
2157
2149
|
const renderInvestmentColumn = (column, i, arr) => {
|
|
2158
2150
|
const isSecondColumn = i === 1;
|
|
2159
2151
|
const isLastColumn = i === arr.length - 1;
|
|
2160
|
-
return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-1' : ''}`, children: column.cells.map(renderInvestmentCell) })) : null }, `column_${i}`));
|
|
2152
|
+
return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-1.5 min-w-[290px]' : ''}`, children: column.cells.reverse().map(renderInvestmentCell) })) : null }, `column_${i}`));
|
|
2161
2153
|
};
|
|
2162
2154
|
const getColumnClasses = (isSecondColumn, isLastColumn, cells = []) => [
|
|
2163
2155
|
cells.length ? 'flex-1' : 'flex-0',
|
|
2164
2156
|
cells.length && !isSecondColumn && !isLastColumn ? 'pl-2.5' : '',
|
|
2165
|
-
cells.length && !isLastColumn ? 'pr-2.5 pb-8' : 'pb-
|
|
2157
|
+
cells.length && !isLastColumn ? 'pr-2.5 pb-8' : 'pb-[22px]',
|
|
2166
2158
|
].join(' ');
|
|
2167
2159
|
const renderInvestmentCell = (cell, i) => {
|
|
2168
2160
|
const cellSize = cell.cellSize || 'XS';
|
|
@@ -2172,12 +2164,12 @@
|
|
|
2172
2164
|
const renderInvestmentColumnTitle = (column, i, arr) => {
|
|
2173
2165
|
const isFirstColumn = i === 0;
|
|
2174
2166
|
const isLastColumn = i === arr.length - 1;
|
|
2175
|
-
return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-2 ${isFirstColumn ? 'pl-9' : ''} ${isLastColumn ? '
|
|
2167
|
+
return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-2 ${isFirstColumn ? 'pl-9' : ''} ${isLastColumn ? 'mr-3.5' : ' '}`, children: column.title }, `title_${i}`));
|
|
2176
2168
|
};
|
|
2177
2169
|
|
|
2178
2170
|
const LinkDocsListItemBase = JSX(({ className, iconClassName, textClassName, suffixClassName, doc, icon }) => {
|
|
2179
2171
|
const { text, fileSize, ...linkProps } = doc;
|
|
2180
|
-
return (jsxs("a", { className: className, role: "link", ...linkProps, children: [icon ? (jsx(ImgInner, { className: iconClassName, image: icon, width: "24px", height: "24px", asSVG: true })) : null, text ? (jsxs("span", { className: textClassName, children: [text, jsx("span", { className: suffixClassName, children: linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize) })] })) : null] }));
|
|
2172
|
+
return (jsxs("a", { className: className, role: "link", ...linkProps, children: [icon ? (jsx(ImgInner, { className: iconClassName, image: getIconWithVersion(icon), width: "24px", height: "24px", asSVG: true })) : null, text ? (jsxs("span", { className: textClassName, children: [text, jsx("span", { className: suffixClassName, children: linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize) })] })) : null] }));
|
|
2181
2173
|
});
|
|
2182
2174
|
const formatSuffix = (ext, fileSize) => {
|
|
2183
2175
|
const prefix = ext || fileSize ? ',' : '';
|
|
@@ -2236,119 +2228,13 @@
|
|
|
2236
2228
|
${getTileMinHeight(className)}
|
|
2237
2229
|
${VersionStyleMap[version]}
|
|
2238
2230
|
${className}`, ...rest, children: [jsxs(BaseTile, { context: context, className: "z-10", title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[509px] mb-6
|
|
2239
|
-
${textColorClass} ${AlignText[alignTitle]}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttonsWithClass, className: "flex gap-4" })) : null, children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src ? (jsx("div", { className: `flex justify-center mr-5 bg-white rounded-md ${containerStyle}`, children: jsx(ImgInner, { className: "w-fit", image: qr
|
|
2231
|
+
${textColorClass} ${AlignText[alignTitle]}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttonsWithClass, className: "flex gap-4" })) : null, children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src ? (jsx("div", { className: `flex justify-center mr-5 bg-white rounded-md ${containerStyle}`, children: jsx(ImgInner, { className: "w-fit", image: qr }) })) : null, renderList$1(version, items)] })] }), image?.src ? (jsx("div", { className: "absolute right-0 bottom-0", children: jsx(ImgInner, { image: image }) })) : null] }));
|
|
2240
2232
|
});
|
|
2241
2233
|
const renderList$1 = (version, items) => {
|
|
2242
2234
|
return items?.length ? (jsx(List, { items: items, itemClassName: "text-l-light mb-2 last:mb-0", version: version })) : (jsx("span", { className: "text-m-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
|
|
2243
2235
|
};
|
|
2244
2236
|
const renderDescription$1 = (description) => description ? jsx("p", { className: "text-xl-light mb-5", children: description }) : null;
|
|
2245
2237
|
|
|
2246
|
-
const OFFICE_MAP_URL = '/api/v1/branches';
|
|
2247
|
-
// TODO: regionCode - внутренний идентификатор банка. Не соответствует государственной нумерации регионов РФ
|
|
2248
|
-
// TODO: Список регионов можно получить через api/v1/regions
|
|
2249
|
-
function useOfficeMap(regionCode) {
|
|
2250
|
-
const { data } = useAsyncData(regionCode ? `${OFFICE_MAP_URL}?regionCode=${regionCode}` : undefined, fetchOfficeMap);
|
|
2251
|
-
return data;
|
|
2252
|
-
}
|
|
2253
|
-
const fetchOfficeMap = (url) => {
|
|
2254
|
-
if (!url) {
|
|
2255
|
-
return {};
|
|
2256
|
-
}
|
|
2257
|
-
return fetchJSON(url, { method: 'GET' });
|
|
2258
|
-
};
|
|
2259
|
-
|
|
2260
|
-
const OFFICE_MAP = {
|
|
2261
|
-
id: 123,
|
|
2262
|
-
branchType: {
|
|
2263
|
-
id: 7,
|
|
2264
|
-
code: '21',
|
|
2265
|
-
name: 'Отделение на балансе филиала',
|
|
2266
|
-
},
|
|
2267
|
-
shortName: 'Ейский ДО',
|
|
2268
|
-
name: 'ДО №3349/3/05',
|
|
2269
|
-
address: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
|
|
2270
|
-
lawAddress: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
|
|
2271
|
-
openDate: '2000-12-05',
|
|
2272
|
-
closeDate: null,
|
|
2273
|
-
bik: '040349536',
|
|
2274
|
-
corAcc: '30101810700000000536',
|
|
2275
|
-
registrationNumber: '3349/3/05',
|
|
2276
|
-
phone: '+7(XXX)XXX-XX-XX',
|
|
2277
|
-
fax: '+7(XXX)XXX-XX-XY',
|
|
2278
|
-
okpo: '55105921',
|
|
2279
|
-
ogrn: '1027700342890',
|
|
2280
|
-
kpp: '231002002',
|
|
2281
|
-
inn: '7725114488',
|
|
2282
|
-
branchCode: '0305',
|
|
2283
|
-
upperBranchCode: '0300',
|
|
2284
|
-
timeZone: '+03:00',
|
|
2285
|
-
exchangeRate: {
|
|
2286
|
-
currencies: [
|
|
2287
|
-
{
|
|
2288
|
-
buyExchangeRate: 0.0,
|
|
2289
|
-
saleExchangeRate: 0.0,
|
|
2290
|
-
currency: {
|
|
2291
|
-
id: 3,
|
|
2292
|
-
code: '156',
|
|
2293
|
-
currency: 'CNY',
|
|
2294
|
-
name: 'Китайский юань',
|
|
2295
|
-
},
|
|
2296
|
-
},
|
|
2297
|
-
{
|
|
2298
|
-
buyExchangeRate: 59.15,
|
|
2299
|
-
saleExchangeRate: 69.25,
|
|
2300
|
-
currency: {
|
|
2301
|
-
id: 2,
|
|
2302
|
-
code: '978',
|
|
2303
|
-
currency: 'EUR',
|
|
2304
|
-
name: 'Евро',
|
|
2305
|
-
},
|
|
2306
|
-
},
|
|
2307
|
-
{
|
|
2308
|
-
buyExchangeRate: 58.4,
|
|
2309
|
-
saleExchangeRate: 70.05,
|
|
2310
|
-
currency: {
|
|
2311
|
-
id: 1,
|
|
2312
|
-
code: '840',
|
|
2313
|
-
currency: 'USD',
|
|
2314
|
-
name: 'Американский доллар',
|
|
2315
|
-
},
|
|
2316
|
-
},
|
|
2317
|
-
],
|
|
2318
|
-
lastUpdate: '2022-11-11 03:56:17',
|
|
2319
|
-
},
|
|
2320
|
-
workSchedule: {
|
|
2321
|
-
id: 413,
|
|
2322
|
-
workTime: '09.00–16.30',
|
|
2323
|
-
lunchHour: 'без перерыва',
|
|
2324
|
-
workTimeSaturday: '09.00–15.00',
|
|
2325
|
-
lunchHourSaturday: 'без перерыва',
|
|
2326
|
-
workingMonday: false,
|
|
2327
|
-
workingTuesday: false,
|
|
2328
|
-
workingWednesday: true,
|
|
2329
|
-
workingThursday: true,
|
|
2330
|
-
workingFriday: true,
|
|
2331
|
-
workingSaturday: true,
|
|
2332
|
-
workingSunday: false,
|
|
2333
|
-
},
|
|
2334
|
-
gpsLatitude: 46.709744,
|
|
2335
|
-
gpsLongitude: 38.260703,
|
|
2336
|
-
range: null,
|
|
2337
|
-
safeBoxCaseVolumes: null,
|
|
2338
|
-
};
|
|
2339
|
-
|
|
2340
|
-
const renderCurrentDaySchedule = ({ lunchHour, status, workTime }) => {
|
|
2341
|
-
const hasTime = /\d+/gi.test(lunchHour);
|
|
2342
|
-
const lunchHourText = hasTime ? `Перерыв ${lunchHour}` : lunchHour;
|
|
2343
|
-
return status ? (jsxs("div", { className: "flex", children: [jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-primary-main border-green-light mr-4", children: workTime ? workTime : null }), jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-golden border-golden", children: lunchHour ? lunchHourText : null })] })) : (jsx("div", { className: "flex", children: jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-error border-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }) }));
|
|
2344
|
-
};
|
|
2345
|
-
const renderNearbyOffice = ({ icon, title, distance, time }, index) => (jsxs("div", { className: "flex mr-4", children: [jsx(Icon, { name: icon, width: "16", height: "16", asSVG: true, className: "mr-1" }), title ? jsxs("span", { className: "text-m", children: [title, "\u00A0"] }) : null, jsxs("span", { className: "text-m-light", children: [distance ? ` (${distance})` : null, time ? `, ${time}` : null] })] }, `nearbyOffice${index}`));
|
|
2346
|
-
const renderDay = ({ title, status, workTime, lunchHour, description }, inx) => (jsxs("div", { className: "flex flex-col pb-3 border-b border-solid border-main-divider mb-3 last:border-0", children: [jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-l text-primary-text", children: [jsx("div", { children: title }), status ? null : jsx("div", { className: "text-m-light text-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }), status && workTime ? jsx("div", { children: workTime }) : null] }), status && lunchHour ? renderLunchHour(lunchHour) : null, description ? (jsx("div", { className: "pb-1 text-s-light text-secondary-text", children: description })) : null] }, `day${inx}`));
|
|
2347
|
-
const renderLunchHour = (lunchHour) => {
|
|
2348
|
-
const hasTime = /\d+/gi.test(lunchHour);
|
|
2349
|
-
return hasTime ? (jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-error", children: [jsx("div", { children: "\u041F\u0435\u0440\u0435\u0440\u044B\u0432" }), jsx("div", { children: lunchHour })] })) : (jsx("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-primary-main", children: jsx("div", { children: lunchHour }) }));
|
|
2350
|
-
};
|
|
2351
|
-
|
|
2352
2238
|
function renderClusterer(yandexMaps, map, points) {
|
|
2353
2239
|
map.geoObjects.removeAll();
|
|
2354
2240
|
const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
|
|
@@ -2603,6 +2489,86 @@
|
|
|
2603
2489
|
const getArraySumAndAverage = (arr) => arr.reduce((a, b) => a + b) / arr.length;
|
|
2604
2490
|
const normalizePoints = (points) => (points ? points.map((_) => _.coords) : null);
|
|
2605
2491
|
|
|
2492
|
+
const OFFICE_MAP = {
|
|
2493
|
+
id: 123,
|
|
2494
|
+
branchType: {
|
|
2495
|
+
id: 7,
|
|
2496
|
+
code: '21',
|
|
2497
|
+
name: 'Отделение на балансе филиала',
|
|
2498
|
+
},
|
|
2499
|
+
shortName: 'Ейский ДО',
|
|
2500
|
+
name: 'ДО №3349/3/05',
|
|
2501
|
+
address: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
|
|
2502
|
+
lawAddress: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
|
|
2503
|
+
openDate: '2000-12-05',
|
|
2504
|
+
closeDate: null,
|
|
2505
|
+
bik: '040349536',
|
|
2506
|
+
corAcc: '30101810700000000536',
|
|
2507
|
+
registrationNumber: '3349/3/05',
|
|
2508
|
+
phone: '+7(XXX)XXX-XX-XX',
|
|
2509
|
+
fax: '+7(XXX)XXX-XX-XY',
|
|
2510
|
+
okpo: '55105921',
|
|
2511
|
+
ogrn: '1027700342890',
|
|
2512
|
+
kpp: '231002002',
|
|
2513
|
+
inn: '7725114488',
|
|
2514
|
+
branchCode: '0305',
|
|
2515
|
+
upperBranchCode: '0300',
|
|
2516
|
+
timeZone: '+03:00',
|
|
2517
|
+
exchangeRate: {
|
|
2518
|
+
currencies: [
|
|
2519
|
+
{
|
|
2520
|
+
buyExchangeRate: 0.0,
|
|
2521
|
+
saleExchangeRate: 0.0,
|
|
2522
|
+
currency: {
|
|
2523
|
+
id: 3,
|
|
2524
|
+
code: '156',
|
|
2525
|
+
currency: 'CNY',
|
|
2526
|
+
name: 'Китайский юань',
|
|
2527
|
+
},
|
|
2528
|
+
},
|
|
2529
|
+
{
|
|
2530
|
+
buyExchangeRate: 59.15,
|
|
2531
|
+
saleExchangeRate: 69.25,
|
|
2532
|
+
currency: {
|
|
2533
|
+
id: 2,
|
|
2534
|
+
code: '978',
|
|
2535
|
+
currency: 'EUR',
|
|
2536
|
+
name: 'Евро',
|
|
2537
|
+
},
|
|
2538
|
+
},
|
|
2539
|
+
{
|
|
2540
|
+
buyExchangeRate: 58.4,
|
|
2541
|
+
saleExchangeRate: 70.05,
|
|
2542
|
+
currency: {
|
|
2543
|
+
id: 1,
|
|
2544
|
+
code: '840',
|
|
2545
|
+
currency: 'USD',
|
|
2546
|
+
name: 'Американский доллар',
|
|
2547
|
+
},
|
|
2548
|
+
},
|
|
2549
|
+
],
|
|
2550
|
+
lastUpdate: '2022-11-11 03:56:17',
|
|
2551
|
+
},
|
|
2552
|
+
workSchedule: {
|
|
2553
|
+
id: 413,
|
|
2554
|
+
workTime: '09.00–16.30',
|
|
2555
|
+
lunchHour: 'без перерыва',
|
|
2556
|
+
workTimeSaturday: '09.00–15.00',
|
|
2557
|
+
lunchHourSaturday: 'без перерыва',
|
|
2558
|
+
workingMonday: false,
|
|
2559
|
+
workingTuesday: false,
|
|
2560
|
+
workingWednesday: true,
|
|
2561
|
+
workingThursday: true,
|
|
2562
|
+
workingFriday: true,
|
|
2563
|
+
workingSaturday: true,
|
|
2564
|
+
workingSunday: false,
|
|
2565
|
+
},
|
|
2566
|
+
gpsLatitude: 46.709744,
|
|
2567
|
+
gpsLongitude: 38.260703,
|
|
2568
|
+
range: null,
|
|
2569
|
+
safeBoxCaseVolumes: null,
|
|
2570
|
+
};
|
|
2571
|
+
|
|
2606
2572
|
// Добавлено для проверки
|
|
2607
2573
|
const nearbyOffices = [
|
|
2608
2574
|
{ title: 'Деловой центр', time: '1 мин', distance: '~30 м.', icon: 'MetroIcon' },
|
|
@@ -2610,6 +2576,32 @@
|
|
|
2610
2576
|
{ title: 'Деловой центр', time: '8 мин', distance: '~350 м.', icon: 'MetroIcon' },
|
|
2611
2577
|
];
|
|
2612
2578
|
|
|
2579
|
+
const renderCurrentDaySchedule = ({ lunchHour, status, workTime }) => {
|
|
2580
|
+
const hasTime = /\d+/gi.test(lunchHour);
|
|
2581
|
+
const lunchHourText = hasTime ? `Перерыв ${lunchHour}` : lunchHour;
|
|
2582
|
+
return status ? (jsxs("div", { className: "flex", children: [jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-primary-main border-green-light mr-4", children: workTime ? workTime : null }), jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-golden border-golden", children: lunchHour ? lunchHourText : null })] })) : (jsx("div", { className: "flex", children: jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-error border-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }) }));
|
|
2583
|
+
};
|
|
2584
|
+
const renderNearbyOffice = ({ icon, title, distance, time }, index) => (jsxs("div", { className: "flex mr-4", children: [jsx(Icon, { name: icon, width: "16", height: "16", asSVG: true, className: "mr-1" }), title ? jsxs("span", { className: "text-m", children: [title, "\u00A0"] }) : null, jsxs("span", { className: "text-m-light", children: [distance ? ` (${distance})` : null, time ? `, ${time}` : null] })] }, `nearbyOffice${index}`));
|
|
2585
|
+
const renderDay = ({ title, status, workTime, lunchHour, description }, inx) => (jsxs("div", { className: "flex flex-col pb-3 border-b border-solid border-main-divider mb-3 last:border-0", children: [jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-l text-primary-text", children: [jsx("div", { children: title }), status ? null : jsx("div", { className: "text-m-light text-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }), status && workTime ? jsx("div", { children: workTime }) : null] }), status && lunchHour ? renderLunchHour(lunchHour) : null, description ? (jsx("div", { className: "pb-1 text-s-light text-secondary-text", children: description })) : null] }, `day${inx}`));
|
|
2586
|
+
const renderLunchHour = (lunchHour) => {
|
|
2587
|
+
const hasTime = /\d+/gi.test(lunchHour);
|
|
2588
|
+
return hasTime ? (jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-error", children: [jsx("div", { children: "\u041F\u0435\u0440\u0435\u0440\u044B\u0432" }), jsx("div", { children: lunchHour })] })) : (jsx("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-primary-main", children: jsx("div", { children: lunchHour }) }));
|
|
2589
|
+
};
|
|
2590
|
+
|
|
2591
|
+
const OFFICE_MAP_URL = '/api/v1/branches';
|
|
2592
|
+
// TODO: regionCode - внутренний идентификатор банка. Не соответствует государственной нумерации регионов РФ
|
|
2593
|
+
// TODO: Список регионов можно получить через api/v1/regions
|
|
2594
|
+
function useOfficeMap(regionCode) {
|
|
2595
|
+
const { data } = useAsyncData(regionCode ? `${OFFICE_MAP_URL}?regionCode=${regionCode}` : undefined, fetchOfficeMap);
|
|
2596
|
+
return data;
|
|
2597
|
+
}
|
|
2598
|
+
const fetchOfficeMap = (url) => {
|
|
2599
|
+
if (!url) {
|
|
2600
|
+
return {};
|
|
2601
|
+
}
|
|
2602
|
+
return fetchJSON(url, { method: 'GET' });
|
|
2603
|
+
};
|
|
2604
|
+
|
|
2613
2605
|
const OfficeMap = JSX(({ className = '' }) => {
|
|
2614
2606
|
const resultOfficeMap = useOfficeMap('063') || OFFICE_MAP;
|
|
2615
2607
|
const { name, address, gpsLatitude, gpsLongitude, workSchedule } = resultOfficeMap;
|
|
@@ -2642,9 +2634,9 @@
|
|
|
2642
2634
|
});
|
|
2643
2635
|
|
|
2644
2636
|
const OfficeServicesBlock = JSX(({ className = '', context, title, servicesList, anchor = '', ...rest }) => {
|
|
2645
|
-
return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-8 flex flex-col ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? servicesList.map(renderListItems) : null] }));
|
|
2637
|
+
return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-8 flex flex-col ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none m-0 p-0", children: servicesList.map(renderListItems) })) : null] }));
|
|
2646
2638
|
});
|
|
2647
|
-
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(ImgInner, { className: "mr-3 min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", asSVG: true, image: itemList.icon })) : null, itemList.label ? jsx("span", { className: "text-l-light", children: itemList.label }) : null] }, `list_item_${String(i)}`));
|
|
2639
|
+
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(ImgInner, { className: "mr-3 min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", asSVG: true, image: getIconWithVersion(itemList.icon) })) : null, itemList.label ? jsx("span", { className: "text-l-light", children: itemList.label }) : null] }, `list_item_${String(i)}`));
|
|
2648
2640
|
|
|
2649
2641
|
const OtherProducts = JSX(({ context, className = '', children, ...rest }) => (jsx(BlockWrapper, { context: context, className: `font-sans text-primary-text ${className}`, ...rest, children: children })));
|
|
2650
2642
|
OtherProducts.childrenTypes = ['OtherProductsItem'];
|
|
@@ -2698,10 +2690,9 @@
|
|
|
2698
2690
|
};
|
|
2699
2691
|
const BenefitItem = JSX((props) => {
|
|
2700
2692
|
const { className = '', icon, label, description, version = 'primary', benefitsVersion = 'normal', } = props;
|
|
2701
|
-
const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
|
|
2702
2693
|
const listItemAlign = description ? 'items-start' : 'items-center';
|
|
2703
|
-
const
|
|
2704
|
-
return (jsxs("div", { className: `flex gap-5 ${listItemAlign} ${className}`, children: [icon ? (jsx("div", { className: renderBenefitIconBgStyle(version, benefitsVersion), children: jsx(ImgInner, { className: "w-6 h-6", image:
|
|
2694
|
+
const calcVersion = benefitsVersion === 'white' ? 'secondary' : 'primary';
|
|
2695
|
+
return (jsxs("div", { className: `flex gap-5 ${listItemAlign} ${className}`, children: [icon ? (jsx("div", { className: renderBenefitIconBgStyle(version, benefitsVersion), children: jsx(ImgInner, { className: "w-6 h-6", image: getIconWithVersion(icon, calcVersion), asSVG: true }) })) : null, jsxs("div", { className: "gap-0.5", children: [label ? jsx("div", { className: `text-h6 ${titleStyleMap[version]}`, children: label }) : null, description ? (jsx("div", { className: `text-m-light ${descStyleMap[version]}`, children: description })) : null] })] }));
|
|
2705
2696
|
});
|
|
2706
2697
|
function renderBenefitIconBgStyle(version, benefitsVersion) {
|
|
2707
2698
|
let bgColorStyle = 'bg-primary-main text-black';
|
|
@@ -2713,7 +2704,6 @@
|
|
|
2713
2704
|
}
|
|
2714
2705
|
return `w-[50px] h-[50px] min-w-[50px] rounded-full p-2.5 box-border flex items-center justify-center ${bgColorStyle}`;
|
|
2715
2706
|
}
|
|
2716
|
-
const getIconVersion = (isIconWhite, icon) => icon?.iconVersion || isIconWhite ? 'white' : 'normal';
|
|
2717
2707
|
|
|
2718
2708
|
const PictureText = JSX(({ className = '', context, title, description, image, benefits, version = 'primary', sum, monthLimit, directionRight = false, ...rest }) => {
|
|
2719
2709
|
return (jsxs(BlockWrapper, { className: `relative font-sans py-12 px-24 ${VersionStyleMap[version]} ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", bgColorHeadline: version, align: "center" }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src ? jsx(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))] })] })] }));
|
|
@@ -2774,11 +2764,9 @@
|
|
|
2774
2764
|
}
|
|
2775
2765
|
});
|
|
2776
2766
|
|
|
2777
|
-
const renderBenefit$1 = (version = 'primary', benefitsVersion = 'normal') => ({ icon, label, description }, i) => {
|
|
2778
|
-
return (jsx(BenefitItem, { icon: icon, label: label, description: description, version: version, benefitsVersion: benefitsVersion }, String(i)));
|
|
2779
|
-
};
|
|
2767
|
+
const renderBenefit$1 = (version = 'primary', benefitsVersion = 'normal') => ({ icon, label, description }, i) => (jsx(BenefitItem, { icon: icon, label: label, description: description, version: version, benefitsVersion: benefitsVersion }, String(i)));
|
|
2780
2768
|
|
|
2781
|
-
const ProductBlockInner = JSX(({ className = '', context, title, headlineVersion = 'L', description, benefits, benefitsVersion
|
|
2769
|
+
const ProductBlockInner = JSX(({ className = '', context, title, headlineVersion = 'L', description, benefits, benefitsVersion, buttons, image, items, version = 'primary', isDotted = true, textBlockClassName = '', }) => {
|
|
2782
2770
|
const benefitsCount = benefits?.filter((_) => _.label)?.length;
|
|
2783
2771
|
const benefitsContainerStyles = getBenefitsContainerStyles(benefitsCount);
|
|
2784
2772
|
return (jsxs("div", { className: `flex grow justify-between items-stretch h-full ${className}`, children: [jsxs("div", { className: `flex flex-col ${textBlockClassName}`, children: [jsx(Headline, { context: context, title: title, description: description, className: `!p-0 max-w-[600px]`, bgColorHeadline: version, headlineVersion: headlineVersion, align: "left" }), jsxs(BaseTile, { context: context, buttons: getButtons(context, buttons), children: [benefitsCount ? (jsx("div", { className: benefitsContainerStyles, children: benefits.map(renderBenefit$1(version, benefitsVersion)) })) : null, items?.length ? (jsx(List, { className: "mt-5 text-h6", items: items, itemClassName: "mb-[7px]", version: version, isDotted: isDotted })) : null] })] }), image?.src && jsx(ImgInner, { className: "mt-[-50px]", image: image })] }));
|
|
@@ -3132,7 +3120,7 @@
|
|
|
3132
3120
|
styleMap.background,
|
|
3133
3121
|
styleMap.title,
|
|
3134
3122
|
className,
|
|
3135
|
-
].join(' '), context: context, ...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))) }), jsx("div", { className: `flex justify-between mt-4 ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map(renderStepContent({
|
|
3123
|
+
].join(' '), context: context, ...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({
|
|
3136
3124
|
styleMap,
|
|
3137
3125
|
isMainButton: Boolean(button?.text),
|
|
3138
3126
|
version,
|
|
@@ -3140,9 +3128,9 @@
|
|
|
3140
3128
|
handlerDecorator,
|
|
3141
3129
|
})) })] })) : null, button?.text ? (jsx(Button, { className: "mt-8 min-w-[240px]", version: "primary", ...useLink({ router, handlerDecorator }, button) })) : null] }));
|
|
3142
3130
|
});
|
|
3143
|
-
const renderStepIcon = (styleMap) => ({ icon }, i) => {
|
|
3131
|
+
const renderStepIcon = (styleMap, version) => ({ icon }, i) => {
|
|
3144
3132
|
return (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 flex justify-center items-center
|
|
3145
|
-
${styleMap.iconBackground} ${styleMap.title}`, children: checkIsIconRenderable(icon) ? (jsx(ImgInner, { image: icon, width: "48", height: "48", asSVG: true })) : (jsx("span", { className: `text-h4 ${styleMap.iconText}`, children: i + 1 })) }) }, String(i)));
|
|
3133
|
+
${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)));
|
|
3146
3134
|
};
|
|
3147
3135
|
|
|
3148
3136
|
function assertUnreachable(x) {
|
|
@@ -3171,7 +3159,7 @@
|
|
|
3171
3159
|
|
|
3172
3160
|
const renderLinkTab = ({ text, currentTab, onClick, href, target = '_self', i, }) => {
|
|
3173
3161
|
const active = currentTab?.type === 'link' && currentTab.href === href;
|
|
3174
|
-
return (jsx("a", { className: `${LINK_CLASSES} ${active ? ACTIVE_LINK_CLASSES : INACTIVE_LINK_CLASSES}`, target: target, href: href, onClick: onClick, children: jsx("span", { className: `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`, children: text }) }, String(i)));
|
|
3162
|
+
return (jsx("a", { role: "tab", className: `${LINK_CLASSES} ${active ? ACTIVE_LINK_CLASSES : INACTIVE_LINK_CLASSES}`, target: target, href: href, onClick: onClick, children: jsx("span", { className: `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`, children: text }) }, String(i)));
|
|
3175
3163
|
};
|
|
3176
3164
|
|
|
3177
3165
|
const renderTab = ({ onClick, currentTab, showCounter, page, context }) =>
|
|
@@ -3389,7 +3377,7 @@
|
|
|
3389
3377
|
const [tableInner, setTableInner] = useState(undefined);
|
|
3390
3378
|
const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
|
|
3391
3379
|
const onHideContentClick = () => setTableInner(undefined);
|
|
3392
|
-
return (jsxs(TariffsTableRowContainer, { context: context, onHideContentClick: onHideContentClick, tableInner: tableInner, 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-[14px] max-w-6 max-h-6", image: 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, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, context: context, setTableInner: setTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: setOpenTableInnerIdx }, String(i)))) })) : null] }));
|
|
3380
|
+
return (jsxs(TariffsTableRowContainer, { context: context, onHideContentClick: onHideContentClick, tableInner: tableInner, 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-[14px] 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, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, context: context, setTableInner: setTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: setOpenTableInnerIdx }, String(i)))) })) : null] }));
|
|
3393
3381
|
});
|
|
3394
3382
|
|
|
3395
3383
|
const TariffsTable = JSX(({ className = '', context, title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
|
|
@@ -3452,10 +3440,16 @@
|
|
|
3452
3440
|
return image?.src ? jsx(ImgInner, { className: "pt-0.5 pr-3", image: image }) : null;
|
|
3453
3441
|
}
|
|
3454
3442
|
|
|
3443
|
+
const Tags = JSX((props) => {
|
|
3444
|
+
const { tags, className = '' } = props;
|
|
3445
|
+
return tags?.length ? (jsx("div", { className: `flex flex-wrap gap-2 ${className}`, children: tags.map((_, i) => renderTag(_, String(i))) })) : null;
|
|
3446
|
+
});
|
|
3447
|
+
const renderTag = (tag, key) => (jsx("span", { className: "text-m-light py-2 px-2.5 border-solid border rounded-md border-color-stroke", children: tag }, key));
|
|
3448
|
+
|
|
3455
3449
|
const Tile = JSX((props) => {
|
|
3456
|
-
const { context, title, headingType = 'h3', description, items, children, buttons, image, isDotted = true, listItemSize = 'M', className = '', version = 'primary', ...rest } = props;
|
|
3450
|
+
const { context, title, headingType = 'h3', description, items, children, buttons, image, isDotted = true, listItemSize = 'M', className = '', version = 'primary', tags, ...rest } = props;
|
|
3457
3451
|
const headingClassName = version === 'primary' ? 'text-primary-text' : '';
|
|
3458
|
-
return (jsx(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h2", title: title, className: `whitespace-pre-wrap max-w-[600px] ${headingClassName}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'min-w-[158px]' })), className: "flex mt-8 gap-3" })) : null, image: image?.src ? jsx(ImgInner, { className: "mt-auto ml-7", image: image }) : null, children: [description ? (jsx(Description, { className: "max-w-[600px] text-xl-light mt-2.5", description: description })) : null, children, renderList({ version, isDotted, listItemSize }, items)] }) }));
|
|
3452
|
+
return (jsx(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h2", title: title, className: `whitespace-pre-wrap max-w-[600px] ${headingClassName}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'min-w-[158px]' })), className: "flex mt-8 gap-3" })) : null, image: image?.src ? jsx(ImgInner, { className: "mt-auto ml-7", image: image }) : null, children: [description ? (jsx(Description, { className: "max-w-[600px] text-xl-light mt-2.5", description: description })) : null, children, renderList({ version, isDotted, listItemSize }, items), tags?.length ? jsx(Tags, { tags: tags, className: "mt-5" }) : null] }) }));
|
|
3459
3453
|
});
|
|
3460
3454
|
function renderList({ version, isDotted, listItemSize }, items) {
|
|
3461
3455
|
return items?.length ? (jsx(List, { items: items, isDotted: isDotted, className: "mt-2.5", listItemSize: listItemSize, itemClassName: "mb-1.5", version: version })) : null;
|
|
@@ -3619,7 +3613,7 @@
|
|
|
3619
3613
|
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", context: context }, "LikeControl") }));
|
|
3620
3614
|
}
|
|
3621
3615
|
|
|
3622
|
-
const packageVersion = "0.6.
|
|
3616
|
+
const packageVersion = "0.6.24";
|
|
3623
3617
|
|
|
3624
3618
|
exports.Blocks = Blocks;
|
|
3625
3619
|
exports.ContentPage = ContentPage;
|