@redneckz/wildless-cms-uni-blocks 0.6.40 → 0.6.42
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 +161 -47
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ButtonBlock/ButtonBlock.d.ts +6 -0
- package/bundle/components/ButtonBlock/ButtonBlockContent.d.ts +8 -0
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +5 -0
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +44 -0
- package/bundle/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/bundle/components/Header/HeaderTop.d.ts +2 -0
- package/bundle/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/bundle/hooks/useCachedAsyncData.d.ts +2 -0
- package/bundle/hooks/useLocation.d.ts +6 -0
- package/bundle/hooks/useRegions.d.ts +6 -0
- package/bundle/model/LogoType.d.ts +5 -0
- package/bundle/services/sitemap/SitemapProps.d.ts +10 -4
- package/bundle/ui-kit/Location/Location.d.ts +19 -0
- package/bundle/ui-kit/Location/SearchBar.d.ts +6 -0
- package/bundle/ui-kit/Logo/Logo.d.ts +2 -5
- package/bundle/ui-kit/Logo/Logo.mobile.d.ts +2 -0
- package/bundle/ui-kit/Logo/renderImage.d.ts +6 -0
- package/bundle/ui-kit/Logo/renderTitle.d.ts +3 -0
- package/bundle/utils/groupBy.d.ts +1 -0
- package/dist/components/Blocks.js +6 -2
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/ButtonBlock/ButtonBlock.d.ts +6 -0
- package/dist/components/ButtonBlock/ButtonBlock.js +11 -0
- package/dist/components/ButtonBlock/ButtonBlock.js.map +1 -0
- package/dist/components/ButtonBlock/ButtonBlockContent.d.ts +8 -0
- package/dist/components/ButtonBlock/ButtonBlockContent.js +2 -0
- package/dist/components/ButtonBlock/ButtonBlockContent.js.map +1 -0
- package/dist/components/Calculator/constants.js +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +5 -0
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +22 -0
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -0
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +44 -0
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js +2 -0
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js.map +1 -0
- package/dist/components/Header/Header.js +2 -2
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/Header.mobile.js +2 -2
- package/dist/components/Header/Header.mobile.js.map +1 -1
- package/dist/components/Header/HeaderBurger.js +4 -3
- package/dist/components/Header/HeaderBurger.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/dist/components/Header/HeaderSecondaryMenu.js +13 -4
- package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/dist/components/Header/HeaderTop.d.ts +2 -0
- package/dist/components/Header/HeaderTop.js +1 -1
- package/dist/components/Header/HeaderTop.js.map +1 -1
- package/dist/components/ProductTile/ProductTile.js +8 -2
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/dist/components/Recommendation/RecommendationCard.js +1 -1
- package/dist/components/Recommendation/RecommendationCard.js.map +1 -1
- package/dist/hooks/useCachedAsyncData.d.ts +2 -0
- package/dist/hooks/useCachedAsyncData.js +25 -0
- package/dist/hooks/useCachedAsyncData.js.map +1 -0
- package/dist/hooks/useLocation.d.ts +6 -0
- package/dist/hooks/useLocation.js +26 -0
- package/dist/hooks/useLocation.js.map +1 -0
- package/dist/hooks/useRegions.d.ts +6 -0
- package/dist/hooks/useRegions.js +11 -0
- package/dist/hooks/useRegions.js.map +1 -0
- package/dist/model/LogoType.d.ts +5 -0
- package/dist/model/LogoType.js +2 -0
- package/dist/model/LogoType.js.map +1 -0
- package/dist/services/sitemap/SitemapProps.d.ts +10 -4
- package/dist/ui-kit/Location/Location.d.ts +19 -0
- package/dist/ui-kit/Location/Location.js +44 -0
- package/dist/ui-kit/Location/Location.js.map +1 -0
- package/dist/ui-kit/Location/SearchBar.d.ts +6 -0
- package/dist/ui-kit/Location/SearchBar.js +9 -0
- package/dist/ui-kit/Location/SearchBar.js.map +1 -0
- package/dist/ui-kit/Logo/Logo.d.ts +2 -5
- package/dist/ui-kit/Logo/Logo.js +3 -21
- package/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/dist/ui-kit/Logo/Logo.mobile.d.ts +2 -0
- package/dist/ui-kit/Logo/Logo.mobile.js +4 -15
- package/dist/ui-kit/Logo/Logo.mobile.js.map +1 -1
- package/dist/ui-kit/Logo/renderImage.d.ts +6 -0
- package/dist/ui-kit/Logo/renderImage.js +20 -0
- package/dist/ui-kit/Logo/renderImage.js.map +1 -0
- package/dist/ui-kit/Logo/renderTitle.d.ts +3 -0
- package/dist/ui-kit/Logo/renderTitle.js +12 -0
- package/dist/ui-kit/Logo/renderTitle.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +8 -4
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/dist/utils/groupBy.d.ts +1 -0
- package/dist/utils/groupBy.js +13 -0
- package/dist/utils/groupBy.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +6 -2
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/ButtonBlock/ButtonBlock.d.ts +6 -0
- package/lib/components/ButtonBlock/ButtonBlock.fixture.d.ts +6 -0
- package/lib/components/ButtonBlock/ButtonBlock.js +9 -0
- package/lib/components/ButtonBlock/ButtonBlock.js.map +1 -0
- package/lib/components/ButtonBlock/ButtonBlockContent.d.ts +8 -0
- package/lib/components/ButtonBlock/ButtonBlockContent.js +2 -0
- package/lib/components/ButtonBlock/ButtonBlockContent.js.map +1 -0
- package/lib/components/Calculator/constants.js +1 -1
- package/lib/components/Carousel/Carousel.fixture.d.ts +1 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +5 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.d.ts +9 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +20 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +44 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js +2 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js.map +1 -0
- package/lib/components/Header/Header.js +2 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/Header.mobile.js +2 -2
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/Header/HeaderBurger.js +4 -3
- package/lib/components/Header/HeaderBurger.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/lib/components/Header/HeaderSecondaryMenu.js +13 -4
- package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/lib/components/Header/HeaderTop.d.ts +2 -0
- package/lib/components/Header/HeaderTop.js +1 -1
- package/lib/components/Header/HeaderTop.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
- package/lib/components/ProductTile/ProductTile.js +8 -2
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/lib/components/Recommendation/Recommendation.fixture.d.ts +1 -1
- package/lib/components/Recommendation/RecommendationCard.js +1 -1
- package/lib/components/Recommendation/RecommendationCard.js.map +1 -1
- package/lib/hooks/useCachedAsyncData.d.ts +2 -0
- package/lib/hooks/useCachedAsyncData.js +22 -0
- package/lib/hooks/useCachedAsyncData.js.map +1 -0
- package/lib/hooks/useLocation.d.ts +6 -0
- package/lib/hooks/useLocation.js +23 -0
- package/lib/hooks/useLocation.js.map +1 -0
- package/lib/hooks/useRegions.d.ts +6 -0
- package/lib/hooks/useRegions.js +8 -0
- package/lib/hooks/useRegions.js.map +1 -0
- package/lib/model/LogoType.d.ts +5 -0
- package/lib/model/LogoType.js +2 -0
- package/lib/model/LogoType.js.map +1 -0
- package/lib/services/sitemap/SitemapProps.d.ts +10 -4
- package/lib/ui-kit/Location/Location.d.ts +19 -0
- package/lib/ui-kit/Location/Location.fixture.d.ts +6 -0
- package/lib/ui-kit/Location/Location.js +42 -0
- package/lib/ui-kit/Location/Location.js.map +1 -0
- package/lib/ui-kit/Location/SearchBar.d.ts +6 -0
- package/lib/ui-kit/Location/SearchBar.js +7 -0
- package/lib/ui-kit/Location/SearchBar.js.map +1 -0
- package/lib/ui-kit/Logo/Logo.d.ts +2 -5
- package/lib/ui-kit/Logo/Logo.js +4 -22
- package/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/lib/ui-kit/Logo/Logo.mobile.d.ts +2 -0
- package/lib/ui-kit/Logo/Logo.mobile.js +5 -16
- package/lib/ui-kit/Logo/Logo.mobile.js.map +1 -1
- package/lib/ui-kit/Logo/renderImage.d.ts +5 -0
- package/lib/ui-kit/Logo/renderImage.js +17 -0
- package/lib/ui-kit/Logo/renderImage.js.map +1 -0
- package/lib/ui-kit/Logo/renderTitle.d.ts +2 -0
- package/lib/ui-kit/Logo/renderTitle.js +9 -0
- package/lib/ui-kit/Logo/renderTitle.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +8 -4
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/lib/utils/groupBy.d.ts +1 -0
- package/lib/utils/groupBy.js +10 -0
- package/lib/utils/groupBy.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +65 -26
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ButtonBlock/ButtonBlock.d.ts +6 -0
- package/mobile/bundle/components/ButtonBlock/ButtonBlockContent.d.ts +8 -0
- package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +5 -0
- package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +44 -0
- package/mobile/bundle/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/mobile/bundle/components/Header/HeaderTop.d.ts +2 -0
- package/mobile/bundle/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/bundle/hooks/useCachedAsyncData.d.ts +2 -0
- package/mobile/bundle/hooks/useLocation.d.ts +6 -0
- package/mobile/bundle/hooks/useRegions.d.ts +6 -0
- package/mobile/bundle/model/LogoType.d.ts +5 -0
- package/mobile/bundle/services/sitemap/SitemapProps.d.ts +10 -4
- package/mobile/bundle/ui-kit/Location/Location.d.ts +19 -0
- package/mobile/bundle/ui-kit/Location/SearchBar.d.ts +6 -0
- package/mobile/bundle/ui-kit/Logo/Logo.d.ts +2 -0
- package/mobile/bundle/ui-kit/Logo/renderImage.d.ts +6 -0
- package/mobile/bundle/ui-kit/Logo/renderTitle.d.ts +3 -0
- package/mobile/bundle/utils/groupBy.d.ts +1 -0
- package/mobile/dist/components/ButtonBlock/ButtonBlock.d.ts +6 -0
- package/mobile/dist/components/ButtonBlock/ButtonBlock.js +11 -0
- package/mobile/dist/components/ButtonBlock/ButtonBlock.js.map +1 -0
- package/mobile/dist/components/ButtonBlock/ButtonBlockContent.d.ts +8 -0
- package/mobile/dist/components/ButtonBlock/ButtonBlockContent.js +2 -0
- package/mobile/dist/components/ButtonBlock/ButtonBlockContent.js.map +1 -0
- package/mobile/dist/components/Calculator/constants.js +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +5 -0
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +22 -0
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -0
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +44 -0
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js +2 -0
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js.map +1 -0
- package/mobile/dist/components/Header/Header.js +2 -2
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/Header/HeaderBurger.js +4 -3
- package/mobile/dist/components/Header/HeaderBurger.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js +13 -4
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderTop.d.ts +2 -0
- package/mobile/dist/components/Header/HeaderTop.js +1 -1
- package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js +8 -2
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/dist/components/Recommendation/RecommendationCard.js +1 -1
- package/mobile/dist/components/Recommendation/RecommendationCard.js.map +1 -1
- package/mobile/dist/hooks/useCachedAsyncData.d.ts +2 -0
- package/mobile/dist/hooks/useCachedAsyncData.js +25 -0
- package/mobile/dist/hooks/useCachedAsyncData.js.map +1 -0
- package/mobile/dist/hooks/useLocation.d.ts +6 -0
- package/mobile/dist/hooks/useLocation.js +26 -0
- package/mobile/dist/hooks/useLocation.js.map +1 -0
- package/mobile/dist/hooks/useRegions.d.ts +6 -0
- package/mobile/dist/hooks/useRegions.js +11 -0
- package/mobile/dist/hooks/useRegions.js.map +1 -0
- package/mobile/dist/model/LogoType.d.ts +5 -0
- package/mobile/dist/model/LogoType.js +2 -0
- package/mobile/dist/model/LogoType.js.map +1 -0
- package/mobile/dist/services/sitemap/SitemapProps.d.ts +10 -4
- package/mobile/dist/ui-kit/Location/Location.d.ts +19 -0
- package/mobile/dist/ui-kit/Location/Location.js +44 -0
- package/mobile/dist/ui-kit/Location/Location.js.map +1 -0
- package/mobile/dist/ui-kit/Location/SearchBar.d.ts +6 -0
- package/mobile/dist/ui-kit/Location/SearchBar.js +9 -0
- package/mobile/dist/ui-kit/Location/SearchBar.js.map +1 -0
- package/mobile/dist/ui-kit/Logo/Logo.d.ts +2 -0
- package/mobile/dist/ui-kit/Logo/Logo.js +4 -15
- package/mobile/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/dist/ui-kit/Logo/renderImage.d.ts +6 -0
- package/mobile/dist/ui-kit/Logo/renderImage.js +20 -0
- package/mobile/dist/ui-kit/Logo/renderImage.js.map +1 -0
- package/mobile/dist/ui-kit/Logo/renderTitle.d.ts +3 -0
- package/mobile/dist/ui-kit/Logo/renderTitle.js +12 -0
- package/mobile/dist/ui-kit/Logo/renderTitle.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +8 -4
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/dist/utils/groupBy.d.ts +1 -0
- package/mobile/dist/utils/groupBy.js +13 -0
- package/mobile/dist/utils/groupBy.js.map +1 -0
- package/mobile/lib/components/ButtonBlock/ButtonBlock.d.ts +6 -0
- package/mobile/lib/components/ButtonBlock/ButtonBlock.js +9 -0
- package/mobile/lib/components/ButtonBlock/ButtonBlock.js.map +1 -0
- package/mobile/lib/components/ButtonBlock/ButtonBlockContent.d.ts +8 -0
- package/mobile/lib/components/ButtonBlock/ButtonBlockContent.js +2 -0
- package/mobile/lib/components/ButtonBlock/ButtonBlockContent.js.map +1 -0
- package/mobile/lib/components/Calculator/constants.js +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +5 -0
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +20 -0
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -0
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +44 -0
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js +2 -0
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.js.map +1 -0
- package/mobile/lib/components/Header/Header.js +2 -2
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/Header/HeaderBurger.js +4 -3
- package/mobile/lib/components/Header/HeaderBurger.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js +13 -4
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderTop.d.ts +2 -0
- package/mobile/lib/components/Header/HeaderTop.js +1 -1
- package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js +8 -2
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/lib/components/Recommendation/RecommendationCard.js +1 -1
- package/mobile/lib/components/Recommendation/RecommendationCard.js.map +1 -1
- package/mobile/lib/hooks/useCachedAsyncData.d.ts +2 -0
- package/mobile/lib/hooks/useCachedAsyncData.js +22 -0
- package/mobile/lib/hooks/useCachedAsyncData.js.map +1 -0
- package/mobile/lib/hooks/useLocation.d.ts +6 -0
- package/mobile/lib/hooks/useLocation.js +23 -0
- package/mobile/lib/hooks/useLocation.js.map +1 -0
- package/mobile/lib/hooks/useRegions.d.ts +6 -0
- package/mobile/lib/hooks/useRegions.js +8 -0
- package/mobile/lib/hooks/useRegions.js.map +1 -0
- package/mobile/lib/model/LogoType.d.ts +5 -0
- package/mobile/lib/model/LogoType.js +2 -0
- package/mobile/lib/model/LogoType.js.map +1 -0
- package/mobile/lib/services/sitemap/SitemapProps.d.ts +10 -4
- package/mobile/lib/ui-kit/Location/Location.d.ts +19 -0
- package/mobile/lib/ui-kit/Location/Location.js +42 -0
- package/mobile/lib/ui-kit/Location/Location.js.map +1 -0
- package/mobile/lib/ui-kit/Location/SearchBar.d.ts +6 -0
- package/mobile/lib/ui-kit/Location/SearchBar.js +7 -0
- package/mobile/lib/ui-kit/Location/SearchBar.js.map +1 -0
- package/mobile/lib/ui-kit/Logo/Logo.d.ts +2 -0
- package/mobile/lib/ui-kit/Logo/Logo.js +5 -16
- package/mobile/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/lib/ui-kit/Logo/renderImage.d.ts +6 -0
- package/mobile/lib/ui-kit/Logo/renderImage.js +17 -0
- package/mobile/lib/ui-kit/Logo/renderImage.js.map +1 -0
- package/mobile/lib/ui-kit/Logo/renderTitle.d.ts +3 -0
- package/mobile/lib/ui-kit/Logo/renderTitle.js +9 -0
- package/mobile/lib/ui-kit/Logo/renderTitle.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +8 -4
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/lib/utils/groupBy.d.ts +1 -0
- package/mobile/lib/utils/groupBy.js +10 -0
- package/mobile/lib/utils/groupBy.js.map +1 -0
- package/mobile/src/components/ButtonBlock/ButtonBlock.example.json +10 -0
- package/mobile/src/components/ButtonBlock/ButtonBlock.tsx +17 -0
- package/mobile/src/components/ButtonBlock/ButtonBlock.ui.json +12 -0
- package/mobile/src/components/ButtonBlock/ButtonBlockContent.ts +9 -0
- package/mobile/src/components/Calculator/constants.ts +1 -1
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +19 -0
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +62 -0
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.ui.json +9 -0
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +45 -0
- package/mobile/src/components/Header/Header.tsx +2 -2
- package/mobile/src/components/Header/HeaderBurger.tsx +5 -7
- package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +32 -5
- package/mobile/src/components/Header/HeaderTop.tsx +4 -2
- package/mobile/src/components/MiniGallery/MiniGallery.ui.json +1 -1
- package/mobile/src/components/ProductTile/ProductTile.example.json +2 -1
- package/mobile/src/components/ProductTile/ProductTile.tsx +34 -18
- package/mobile/src/components/ProductTile/ProductTileContent.ts +2 -0
- package/mobile/src/components/Recommendation/Recommendation.example.json +6 -5
- package/mobile/src/components/Recommendation/Recommendation.ui.json +8 -0
- package/mobile/src/components/Recommendation/RecommendationCard.tsx +1 -1
- package/mobile/src/hooks/useCachedAsyncData.ts +37 -0
- package/mobile/src/hooks/useLocation.ts +48 -0
- package/mobile/src/hooks/useRegions.ts +16 -0
- package/mobile/src/model/LogoType.ts +6 -0
- package/mobile/src/services/sitemap/SitemapProps.ts +11 -4
- package/mobile/src/ui-kit/Location/Location.tsx +168 -0
- package/mobile/src/ui-kit/Location/SearchBar.tsx +30 -0
- package/mobile/src/ui-kit/Logo/Logo.tsx +16 -31
- package/mobile/src/ui-kit/Logo/renderImage.tsx +40 -0
- package/mobile/src/ui-kit/Logo/renderTitle.tsx +15 -0
- package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +8 -4
- package/mobile/src/utils/groupBy.ts +10 -0
- package/package.json +2 -2
- package/src/components/Blocks.ts +6 -2
- package/src/components/ButtonBlock/ButtonBlock.example.json +10 -0
- package/src/components/ButtonBlock/ButtonBlock.fixture.tsx +18 -0
- package/src/components/ButtonBlock/ButtonBlock.tsx +17 -0
- package/src/components/ButtonBlock/ButtonBlock.ui.json +12 -0
- package/src/components/ButtonBlock/ButtonBlockContent.ts +9 -0
- package/src/components/Calculator/constants.ts +1 -1
- package/src/components/Carousel/Carousel.fixture.tsx +22 -4
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +19 -0
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +47 -0
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +62 -0
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.ui.json +9 -0
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +45 -0
- package/src/components/Header/Header.mobile.tsx +2 -2
- package/src/components/Header/Header.tsx +6 -4
- package/src/components/Header/HeaderBurger.tsx +5 -7
- package/src/components/Header/HeaderSecondaryMenu.tsx +32 -5
- package/src/components/Header/HeaderTop.tsx +4 -2
- package/src/components/MiniGallery/MiniGallery.ui.json +1 -1
- package/src/components/ProductTile/ProductTile.example.json +2 -1
- package/src/components/ProductTile/ProductTile.fixture.tsx +13 -0
- package/src/components/ProductTile/ProductTile.tsx +34 -18
- package/src/components/ProductTile/ProductTileContent.ts +2 -0
- package/src/components/Recommendation/Recommendation.example.json +6 -5
- package/src/components/Recommendation/Recommendation.fixture.tsx +11 -10
- package/src/components/Recommendation/Recommendation.ui.json +8 -0
- package/src/components/Recommendation/RecommendationCard.tsx +1 -1
- package/src/hooks/useCachedAsyncData.ts +37 -0
- package/src/hooks/useLocation.ts +48 -0
- package/src/hooks/useRegions.ts +16 -0
- package/src/model/LogoType.ts +6 -0
- package/src/services/sitemap/SitemapProps.ts +11 -4
- package/src/ui-kit/Location/Location.fixture.tsx +81 -0
- package/src/ui-kit/Location/Location.tsx +168 -0
- package/src/ui-kit/Location/SearchBar.tsx +30 -0
- package/src/ui-kit/Logo/Logo.mobile.tsx +16 -31
- package/src/ui-kit/Logo/Logo.tsx +6 -43
- package/src/ui-kit/Logo/renderImage.tsx +40 -0
- package/src/ui-kit/Logo/renderTitle.tsx +15 -0
- package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +8 -4
- package/src/utils/groupBy.ts +10 -0
- package/bundle/hooks/useGeolocation.d.ts +0 -1
- package/dist/hooks/useGeolocation.d.ts +0 -1
- package/dist/hooks/useGeolocation.js +0 -21
- package/dist/hooks/useGeolocation.js.map +0 -1
- package/lib/hooks/useGeolocation.d.ts +0 -1
- package/lib/hooks/useGeolocation.js +0 -18
- package/lib/hooks/useGeolocation.js.map +0 -1
- package/mobile/bundle/hooks/useGeolocation.d.ts +0 -1
- package/mobile/dist/hooks/useGeolocation.d.ts +0 -1
- package/mobile/dist/hooks/useGeolocation.js +0 -21
- package/mobile/dist/hooks/useGeolocation.js.map +0 -1
- package/mobile/lib/hooks/useGeolocation.d.ts +0 -1
- package/mobile/lib/hooks/useGeolocation.js +0 -18
- package/mobile/lib/hooks/useGeolocation.js.map +0 -1
- package/mobile/src/hooks/useGeolocation.ts +0 -22
- package/src/hooks/useGeolocation.ts +0 -22
package/bundle/bundle.umd.js
CHANGED
|
@@ -868,6 +868,11 @@
|
|
|
868
868
|
|
|
869
869
|
const BusinessBlock = JSX(({ className = '', title, cards, ...rest }) => (jsxs(BlockWrapper, { className: `font-sans bg-white p-12 pb-9 ${className}`, ...rest, children: [jsx(Heading, { headingType: "h3", title: title, className: "text-center mb-8" }), jsx("div", { className: "flex gap-5", children: cards?.length ? cards.map((_, i) => jsx(BusinessCard, { ..._ }, String(i))) : null })] })));
|
|
870
870
|
|
|
871
|
+
const ButtonBlock = JSX((props) => {
|
|
872
|
+
const { className, button, ...rest } = props;
|
|
873
|
+
return (jsx(BlockWrapper, { className: className, ...rest, children: button ? renderButton({ button }) : null }));
|
|
874
|
+
});
|
|
875
|
+
|
|
871
876
|
const useCarouselControls = (props) => {
|
|
872
877
|
const { itemCount, visibleItemCount, isCyclic } = props;
|
|
873
878
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
@@ -927,7 +932,7 @@
|
|
|
927
932
|
maxSum: DEFAULT_MAX_SUM,
|
|
928
933
|
minMonths: DEFAULT_MIN_MONTHS,
|
|
929
934
|
maxMonths: DEFAULT_MAX_MONTHS,
|
|
930
|
-
rateBottomRange:
|
|
935
|
+
rateBottomRange: 12,
|
|
931
936
|
rateTopRange: 7,
|
|
932
937
|
isSalaryClient: true,
|
|
933
938
|
isStateEmployee: true,
|
|
@@ -1439,7 +1444,7 @@
|
|
|
1439
1444
|
});
|
|
1440
1445
|
|
|
1441
1446
|
const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
|
|
1442
|
-
const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount, gap = 0, padding = 0, snapAlign = 'snap-center', children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
|
|
1447
|
+
const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, snapAlign = 'snap-center', children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
|
|
1443
1448
|
const observerOptions = {
|
|
1444
1449
|
sensitivity: 1,
|
|
1445
1450
|
rootRef: containerRef,
|
|
@@ -1452,14 +1457,18 @@
|
|
|
1452
1457
|
onVisibleItemsChange && onVisibleItemsChange(itemsVisibilityList);
|
|
1453
1458
|
onVisibleIndicesChange && onVisibleIndicesChange(getVisibleIndices(itemsVisibilityList));
|
|
1454
1459
|
}, [onVisibleItemsChange, onVisibleIndicesChange]);
|
|
1455
|
-
|
|
1460
|
+
const additionPadding = visibleItemCount > 0 ? gap * Number(visibleItemCount) - 1 : 0;
|
|
1461
|
+
return (jsx("div", { className: `box-border overflow-auto flex horizontal-list no-scrollbar ${className}`, style: {
|
|
1462
|
+
...getContainerStyle(padding, additionPadding),
|
|
1463
|
+
gap: `${gap}px`,
|
|
1464
|
+
}, role: "list", ref: containerRef, children: mapChildren((child, idx) => (jsx(SwipeListItem, { className: `${snapAlign} ${visibleItemCount ? childStyleMap[visibleItemCount - 1] : ''}`, style: getContainerStyle(padding / 4), activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
|
|
1456
1465
|
});
|
|
1457
1466
|
// Styles used to compensate outer container padding to get rid of clipping effect
|
|
1458
|
-
const getContainerStyle = (padding) => ({
|
|
1467
|
+
const getContainerStyle = (padding, additionalPadding = 0) => ({
|
|
1459
1468
|
marginLeft: `${-padding}px`,
|
|
1460
1469
|
marginRight: `${-padding}px`,
|
|
1461
1470
|
paddingLeft: `${padding}px`,
|
|
1462
|
-
paddingRight: `${padding}px`,
|
|
1471
|
+
paddingRight: `${padding + additionalPadding}px`,
|
|
1463
1472
|
});
|
|
1464
1473
|
const getVisibleIndices = (itemsVisibilityList) => itemsVisibilityList
|
|
1465
1474
|
.map((_, i) => [_, i])
|
|
@@ -1667,9 +1676,9 @@
|
|
|
1667
1676
|
BORDER_STYLE,
|
|
1668
1677
|
AlignText[align],
|
|
1669
1678
|
VersionStyleMap[version],
|
|
1670
|
-
].join(' '), role: "listitem", children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$
|
|
1679
|
+
].join(' '), role: "listitem", children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$4(icon, version), renderCardTitle$1(headlineSmallVersion, title), renderDescription$3(description, title), renderItems$2(items, isDotted, version), renderAdditionalDescription$2(additionalDescription, version)] }), renderButton({ button, buttonClassName: 'mt-6' })] }));
|
|
1671
1680
|
});
|
|
1672
|
-
const renderImage$
|
|
1681
|
+
const renderImage$4 = (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] }));
|
|
1673
1682
|
const renderCardTitle$1 = (headlineSmallVersion, title) => title ? jsx(Text, { size: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
|
|
1674
1683
|
const renderDescription$3 = (description, title) => description ? (jsx("div", { className: title ? 'mt-2' : '', children: jsx(Paragraph, { size: "text-l", children: description }) })) : null;
|
|
1675
1684
|
const renderAdditionalDescription$2 = (additionalDescription, version = 'primary') => additionalDescription ? (jsx("div", { className: "mt-auto", children: jsx(Text, { size: "text-m", font: "font-light", color: descriptionStyleMap[version], children: additionalDescription }) })) : null;
|
|
@@ -1822,7 +1831,7 @@
|
|
|
1822
1831
|
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));
|
|
1823
1832
|
};
|
|
1824
1833
|
|
|
1825
|
-
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" })] })] })));
|
|
1834
|
+
const CurrentLocation$1 = 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" })] })] })));
|
|
1826
1835
|
|
|
1827
1836
|
const roundTo = (value, precision = 2) => {
|
|
1828
1837
|
const factor = 10 ** precision;
|
|
@@ -1970,7 +1979,7 @@
|
|
|
1970
1979
|
};
|
|
1971
1980
|
|
|
1972
1981
|
const EXCHANGE_RATES_URL = '/api/v1/exchangerates';
|
|
1973
|
-
const REGION_URL = '/api/v1/region';
|
|
1982
|
+
const REGION_URL$1 = '/api/v1/region';
|
|
1974
1983
|
function useFetchExchangeRateData() {
|
|
1975
1984
|
const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchData);
|
|
1976
1985
|
return data || {};
|
|
@@ -1983,7 +1992,7 @@
|
|
|
1983
1992
|
};
|
|
1984
1993
|
const fetchRegion = async () => {
|
|
1985
1994
|
try {
|
|
1986
|
-
return await fetchJSONUnsafe(REGION_URL, { method: 'GET' });
|
|
1995
|
+
return await fetchJSONUnsafe(REGION_URL$1, { method: 'GET' });
|
|
1987
1996
|
}
|
|
1988
1997
|
catch (error) {
|
|
1989
1998
|
console.log(error);
|
|
@@ -2009,7 +2018,7 @@
|
|
|
2009
2018
|
currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
|
|
2010
2019
|
const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
|
|
2011
2020
|
currencyRatesSell.push({ currency: { currency: Currency.RUB } });
|
|
2012
|
-
return (jsx(BlockWrapper, { className: `bg-white text-primary-text font-sans p-9 box-border min-h-80 ${className}`, ...rest, children: jsx(BaseTile, { title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap text-h4 mb-5" }), children: jsxs("div", { className: "flex", children: [jsxs("div", { className: "mr-14 pt-4", children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-[30px]", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
2021
|
+
return (jsx(BlockWrapper, { className: `bg-white text-primary-text font-sans p-9 box-border min-h-80 ${className}`, ...rest, children: jsx(BaseTile, { title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap text-h4 mb-5" }), children: jsxs("div", { className: "flex", children: [jsxs("div", { className: "mr-14 pt-4", children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-[30px]", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
2013
2022
|
});
|
|
2014
2023
|
const getCurrencyRates = (currencies) => {
|
|
2015
2024
|
return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
|
|
@@ -2030,20 +2039,24 @@
|
|
|
2030
2039
|
'bg-white': 'text-primary-main',
|
|
2031
2040
|
transparent: 'text-white',
|
|
2032
2041
|
};
|
|
2042
|
+
const renderImage$3 = (bgColor, image, size) => {
|
|
2043
|
+
return image?.src ? (jsx(ImgInner, { image: image, className: SVG_COLOR[bgColor], width: size?.width, height: size?.height, asSVG: true })) : (jsx(ImgInner, { image: {
|
|
2044
|
+
icon: image?.icon || 'LogoIcon',
|
|
2045
|
+
iconVersion: ICON_VERSION_MAP[bgColor],
|
|
2046
|
+
}, className: SVG_COLOR[bgColor], width: size?.width, height: size?.height, asSVG: true }));
|
|
2047
|
+
};
|
|
2048
|
+
|
|
2033
2049
|
const TEXT_COLOR = {
|
|
2034
2050
|
'bg-white': 'text-primary-text',
|
|
2035
2051
|
transparent: 'text-white',
|
|
2036
2052
|
};
|
|
2053
|
+
const renderTitle$2 = (title, bgColor, className) => {
|
|
2054
|
+
return (jsx("span", { className: `${TEXT_COLOR[bgColor]} ml-2.5 font-medium ${className || ''}`, children: title || 'Россельхозбанк' }));
|
|
2055
|
+
};
|
|
2056
|
+
|
|
2037
2057
|
const Logo = JSX(({ className = '', href, logo, children = logo?.title, targetBlank, bgColor = 'bg-white', showTitle = true, }) => {
|
|
2038
|
-
return (jsxs("a", { className: `inline-flex items-center font-sans no-underline ${className}`, href: href || '/', target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [
|
|
2039
|
-
icon: logo?.image?.icon || 'LogoIcon',
|
|
2040
|
-
iconVersion: ICON_VERSION_MAP[bgColor],
|
|
2041
|
-
}, className: `${SVG_COLOR[bgColor]} w-10`, width: "40", height: "45", asSVG: true })), showTitle ? renderTitle$2(children, bgColor, logo?.title) : null] }));
|
|
2058
|
+
return (jsxs("a", { className: `inline-flex items-center font-sans no-underline ${className}`, href: href || '/', target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [renderImage$3(bgColor, logo?.image, { width: '40', height: '45' }), showTitle ? renderTitle$2(children || logo?.title, bgColor) : null] }));
|
|
2042
2059
|
});
|
|
2043
|
-
const renderTitle$2 = (children, bgColor, title) => {
|
|
2044
|
-
const text = children || title || 'Россельхозбанк';
|
|
2045
|
-
return jsx("span", { className: `${TEXT_COLOR[bgColor]} font-medium ml-2.5`, children: text });
|
|
2046
|
-
};
|
|
2047
2060
|
|
|
2048
2061
|
const useSearch = () => {
|
|
2049
2062
|
const [term, setTerm] = useState('');
|
|
@@ -2069,7 +2082,7 @@
|
|
|
2069
2082
|
}, children: jsx("div", { className: "text-s px-9 py-2.5", children: "\u041D\u0430\u0439\u0442\u0438" }) }))] }));
|
|
2070
2083
|
});
|
|
2071
2084
|
|
|
2072
|
-
const SearchBar = JSX((props) => jsx(SearchBarInner, { ...props }));
|
|
2085
|
+
const SearchBar$1 = JSX((props) => jsx(SearchBarInner, { ...props }));
|
|
2073
2086
|
|
|
2074
2087
|
const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContact) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
|
|
2075
2088
|
const renderContact = (item, index) => {
|
|
@@ -2174,7 +2187,7 @@
|
|
|
2174
2187
|
const Footer = JSX(({ className, ...rest }) => {
|
|
2175
2188
|
const fallback = rest.options?.page?.fallback;
|
|
2176
2189
|
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
|
|
2177
|
-
return (jsxs(BlockWrapper, { tag: "footer", className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", items: topItems, fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
2190
|
+
return (jsxs(BlockWrapper, { tag: "footer", className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", items: topItems, fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
2178
2191
|
});
|
|
2179
2192
|
|
|
2180
2193
|
const galleryLengthForScrollMap = {
|
|
@@ -2190,13 +2203,13 @@
|
|
|
2190
2203
|
mini: 276,
|
|
2191
2204
|
};
|
|
2192
2205
|
|
|
2193
|
-
const GalleryCardInner = JSX(({ title, headlineSmallVersion = 'H6', description, additionalDescription, icon, items, button, version, isFullWidth = true, isDotted = true, align = 'center', }) => (jsxs("div", { className: `h-full flex flex-col justify-between ${AlignText[align]}`, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$
|
|
2206
|
+
const GalleryCardInner = JSX(({ title, headlineSmallVersion = 'H6', description, additionalDescription, icon, items, button, version, isFullWidth = true, isDotted = true, align = 'center', }) => (jsxs("div", { className: `h-full flex flex-col justify-between ${AlignText[align]}`, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$2(icon, version), renderCardTitle(headlineSmallVersion, title), renderDescription$2(description, title), items?.length ? renderItems$1(items, isDotted, version) : null, renderAdditionalDescription$1(additionalDescription, version)] }), button?.text
|
|
2194
2207
|
? renderButton({
|
|
2195
2208
|
button,
|
|
2196
2209
|
buttonClassName: `mt-6 ${isFullWidth ? '' : 'self-center'}`,
|
|
2197
2210
|
})
|
|
2198
2211
|
: null] })));
|
|
2199
|
-
const renderImage$
|
|
2212
|
+
const renderImage$2 = (image, version) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(ImgInner, { className: "mb-5", image: image }) : null, image?.icon ? (jsx(ImgInner, { className: `w-8 h-8 min-w-8 mb-5 rounded-full`, image: getIconWithVersion(image, version), asSVG: true })) : null] }));
|
|
2200
2213
|
const renderCardTitle = (headlineSmallVersion, title) => title ? jsx("div", { className: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
|
|
2201
2214
|
const renderDescription$2 = (description, title) => description ? jsx("div", { className: `text-l ${title ? 'mt-2' : ''}`, children: description }) : null;
|
|
2202
2215
|
const renderAdditionalDescription$1 = (additionalDescription, version) => additionalDescription ? (jsx("div", { className: `text-m-light mt-auto ${VersionAdditionalStyleMap[version ?? 'primary']}`, children: additionalDescription })) : null;
|
|
@@ -2273,22 +2286,99 @@
|
|
|
2273
2286
|
return `${active ? 'text-primary-main' : nonActiveAtoms} ${TEXT_CLASSES$2}`;
|
|
2274
2287
|
};
|
|
2275
2288
|
|
|
2276
|
-
const
|
|
2277
|
-
function
|
|
2278
|
-
const
|
|
2289
|
+
const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
|
|
2290
|
+
function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
|
|
2291
|
+
const cachedFetcher = useCallback(async (...args) => {
|
|
2292
|
+
const storageKey = `async:${key}`;
|
|
2293
|
+
const storageData = storage.getItem(storageKey);
|
|
2294
|
+
const cachedData = getParsedData(storageData);
|
|
2295
|
+
if (cachedData) {
|
|
2296
|
+
return cachedData;
|
|
2297
|
+
}
|
|
2298
|
+
const data = await fetcher(...args);
|
|
2299
|
+
storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
|
|
2300
|
+
return data;
|
|
2301
|
+
}, [key, fetcher]);
|
|
2302
|
+
return useAsyncData(key, cachedFetcher);
|
|
2303
|
+
}
|
|
2304
|
+
function getParsedData(storageData) {
|
|
2305
|
+
const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
|
|
2306
|
+
return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
|
|
2307
|
+
}
|
|
2308
|
+
|
|
2309
|
+
const REGION_URL = '/api/v1/region';
|
|
2310
|
+
const localStorageLocation = globalThis?.localStorage.getItem('location');
|
|
2311
|
+
const currentLocation = localStorageLocation
|
|
2312
|
+
? JSON.parse(localStorageLocation)
|
|
2313
|
+
: null;
|
|
2314
|
+
function useLocation(defaultLocation) {
|
|
2315
|
+
const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
|
|
2316
|
+
const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
2279
2317
|
useEffect(() => {
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2318
|
+
setLocation(currentLocation?.region && currentLocation?.manual
|
|
2319
|
+
? currentLocation.region
|
|
2320
|
+
: data || { name: defaultLocation });
|
|
2321
|
+
}, [data]);
|
|
2322
|
+
const onChangeLocation = useCallback((region) => {
|
|
2323
|
+
globalThis?.localStorage.setItem('location', JSON.stringify({ manual: true, region }));
|
|
2324
|
+
setLocation(region);
|
|
2325
|
+
}, [setLocation]);
|
|
2326
|
+
return [location, onChangeLocation];
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
const REGIONS_URL$1 = '/api/v1/regions';
|
|
2330
|
+
function useRegions() {
|
|
2331
|
+
const { data } = useAsyncData(REGIONS_URL$1, fetchJSONUnsafe);
|
|
2332
|
+
return data || [];
|
|
2290
2333
|
}
|
|
2291
2334
|
|
|
2335
|
+
const groupBy = (list, keyGetter) => {
|
|
2336
|
+
const map = new Map();
|
|
2337
|
+
list.forEach((item) => {
|
|
2338
|
+
const key = keyGetter(item);
|
|
2339
|
+
const collection = map.get(key);
|
|
2340
|
+
map.set(key, [...(collection || []), item]);
|
|
2341
|
+
});
|
|
2342
|
+
return map;
|
|
2343
|
+
};
|
|
2344
|
+
|
|
2345
|
+
const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
|
|
2346
|
+
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-4 w-full peer text-l text-black border border-solid rounded-md box-border
|
|
2347
|
+
outline-none border-main-stroke hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value), type: "text", name: "location-search-bar-input" })] }));
|
|
2348
|
+
});
|
|
2349
|
+
|
|
2350
|
+
const SEARCH_TERM_MIN_LENGTH = 3;
|
|
2351
|
+
const Location = JSX(({ currentLocation, onChangeLocation, close, foreignOffices }) => {
|
|
2352
|
+
const { term, setTerm } = useSearch();
|
|
2353
|
+
const handleSearch = useCallback((_) => setTerm(_), []);
|
|
2354
|
+
const regions = cleanUpRegions(useRegions()).sort((a, b) => a.name.localeCompare(b.name));
|
|
2355
|
+
const regionsGroupByLetter = groupBy(regions, regionFirstLetter);
|
|
2356
|
+
return (jsxs("div", { className: "absolute h-full w-full inset-0 bg-white text-l-light z-50", children: [jsx(CloseButton, { close: close }), jsxs("div", { className: "container py-12", children: [jsx(CurrentLocation, { currentLocation: currentLocation }), jsx(SearchBar, { onSearch: handleSearch, searchTerm: term, className: "mb-7" }), term && term.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
|
|
2357
|
+
.filter((region) => region.name?.startsWith(term))
|
|
2358
|
+
.map(renderRegion({ onChangeLocation, close })) })) : (jsx("div", { className: "columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup({ onChangeLocation, close })) })), jsx(ForeignOffices, { foreignOffices: foreignOffices })] })] }));
|
|
2359
|
+
});
|
|
2360
|
+
const regionFirstLetter = (region) => region.name?.charAt(0) || '';
|
|
2361
|
+
const cleanUpRegions = (regions) => regions.map((region) => ({
|
|
2362
|
+
...region,
|
|
2363
|
+
name: region.name?.replace(/республика|область|край'/gi, '').trim() || '',
|
|
2364
|
+
}));
|
|
2365
|
+
const CurrentLocation = JSX(({ currentLocation }) => currentLocation ? (jsxs("div", { className: "mb-4", children: [jsx(Text, { size: "text-l", font: "font-light", children: "\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:\u00A0" }), jsx("button", { className: "cursor-pointer", onClick: close, children: jsx(Text, { color: "text-green", children: currentLocation.name }) })] })) : null);
|
|
2366
|
+
const CloseButton = JSX(({ close }) => (jsx("button", { className: "visible peer-placeholder-shown:invisible absolute top-6 right-6 w-6 h-6 p-1 bg-transparent cursor-pointer border-none", onClick: (e) => {
|
|
2367
|
+
e.preventDefault();
|
|
2368
|
+
close && close();
|
|
2369
|
+
}, children: jsx(ImgInner, { image: "CloseIcon", width: "24", height: "24" }) })));
|
|
2370
|
+
const renderRegionGroup = ({ onChangeLocation, close }) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-7 w-[224px]", children: [jsx("div", { className: "mb-2.5", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion({ onChangeLocation, close }))] }, letter));
|
|
2371
|
+
const renderRegion = ({ onChangeLocation, close }) => (region) => (jsx("div", { className: "mb-1", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
|
|
2372
|
+
onChangeLocation && onChangeLocation(region);
|
|
2373
|
+
close && close();
|
|
2374
|
+
}, children: region.name }) }, region.id));
|
|
2375
|
+
const ForeignOffices = JSX(({ foreignOffices }) => foreignOffices?.length ? (jsxs("div", { className: "border-t border-main-divider mt-7 pt-7", children: [jsx("div", { className: "mb-4", children: jsx(Text, { size: "text-m-light", color: "text-secondary-text", children: "\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0437\u0430 \u0440\u0443\u0431\u0435\u0436\u043E\u043C:" }) }), jsx("div", { className: "flex gap-10", children: foreignOffices.map((office, i) => (jsx(ForeignOffice, { ...office }, String(i)))) })] })) : null);
|
|
2376
|
+
const ForeignOffice = JSX(({ icon, ...rest }) => {
|
|
2377
|
+
const link = useLink();
|
|
2378
|
+
const { text, target, href, onClick } = link(rest);
|
|
2379
|
+
return (jsxs("div", { className: "flex gap-x-3", children: [jsx(ImgInner, { image: icon }), jsx("a", { className: "hover:text-primary-hover", href: href, target: target, onClick: onClick, children: text })] }));
|
|
2380
|
+
});
|
|
2381
|
+
|
|
2292
2382
|
const HeaderSecondaryMenuButton = JSX(({ className = '', children, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 p-0 w-6 h-6 flex items-center bg-inherit cursor-pointer ${className}`, disabled: true, "aria-label": ariaLabel, children: children })));
|
|
2293
2383
|
|
|
2294
2384
|
const COLORS_MAP = {
|
|
@@ -2303,9 +2393,16 @@
|
|
|
2303
2393
|
'bg-white': 'black',
|
|
2304
2394
|
transparent: 'white',
|
|
2305
2395
|
};
|
|
2306
|
-
const HeaderSecondaryMenu = JSX(({ className, officesLink, defaultLocation = 'Москва', bgColor = 'bg-white' }) => {
|
|
2307
|
-
const [
|
|
2308
|
-
|
|
2396
|
+
const HeaderSecondaryMenu = JSX(({ className, officesLink, defaultLocation = 'Москва', foreignOffices, bgColor = 'bg-white', }) => {
|
|
2397
|
+
const [isShowLocationModal, setShowLocationModal] = useState(false);
|
|
2398
|
+
const [location, onChangeLocation] = useLocation(defaultLocation);
|
|
2399
|
+
const showLocationModal = () => {
|
|
2400
|
+
setShowLocationModal(true);
|
|
2401
|
+
};
|
|
2402
|
+
const hideLocationModal = () => {
|
|
2403
|
+
setShowLocationModal(false);
|
|
2404
|
+
};
|
|
2405
|
+
return (jsxs("div", { className: `flex items-center ${className || ''}`, children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: location.name, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: showLocationModal, bgColor: bgColor }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432", bgColor: bgColor })) : null, jsx(HeaderSecondaryMenuButton, { className: `mr-5 group ${COLORS_MAP[bgColor]}`, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(ImgInner, { image: { icon: 'LoupeIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0 pointer-events-none", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: `${LINKS_COLORS_MAP[bgColor]} group min-w-8 min-h-8`, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", children: jsx(ImgInner, { image: { icon: 'GridIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full bg-main-divider/20 rounded-full pointer-events-none", imageClassName: "group-hover:text-primary-hover group-hover:invert-0", asSVG: true }) }), isShowLocationModal ? (jsx(Location, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation, close: hideLocationModal })) : null] }));
|
|
2309
2406
|
});
|
|
2310
2407
|
|
|
2311
2408
|
const findActiveSubItem = (router) => (items = []) => {
|
|
@@ -2386,10 +2483,10 @@
|
|
|
2386
2483
|
};
|
|
2387
2484
|
const Header = JSX(({ bgColor = 'bg-white', className = '', showSubMenu = true, ...rest }) => {
|
|
2388
2485
|
const router = useRouter();
|
|
2389
|
-
const { topItems, logo, defaultLocation, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
|
|
2486
|
+
const { topItems, logo, defaultLocation, foreignOffices, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
|
|
2390
2487
|
const activeTopItem = showSubMenu ? getActiveItem(topItems, router) : null;
|
|
2391
2488
|
const topMenu = topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, "aria-label": _.text, bgColor: bgColor, ..._ }, String(i))));
|
|
2392
|
-
return (jsx(BlockWrapper, { tag: "header", className: `pt-6 px-20 ${bgColor} ${className} ${showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5'}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { className: "ml-auto", defaultLocation: defaultLocation, officesLink: officesLink, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-px ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
|
|
2489
|
+
return (jsx(BlockWrapper, { tag: "header", className: `pt-6 px-20 ${bgColor} ${className} ${showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5'}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { className: "ml-auto", foreignOffices: foreignOffices, defaultLocation: defaultLocation, officesLink: officesLink, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-px ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
|
|
2393
2490
|
});
|
|
2394
2491
|
const getActiveItem = (topItems, router) => {
|
|
2395
2492
|
const [firstPortal] = topItems || [];
|
|
@@ -3182,8 +3279,8 @@
|
|
|
3182
3279
|
`, children: jsxs("div", { className: "border-0 px-6", children: [jsx("div", { className: `last:pb-0 ${btnTitleClassName}`, children: slide?.title }), jsx("div", { className: `text-secondary-text ${btnDescClassName}`, children: slide?.description })] }) }, String(i)));
|
|
3183
3280
|
}
|
|
3184
3281
|
|
|
3185
|
-
const ProductTile = JSX(({ className = '', title, headlineVersion = 'S', description, additionalDescription, benefits = [], buttons, image, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: `overflow-hidden font-sans p-9 box-border relative
|
|
3186
|
-
${
|
|
3282
|
+
const ProductTile = JSX(({ className = '', title, headlineVersion = 'S', description, additionalDescription, benefits = [], buttons, image, isImageOnRightSide = true, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: `overflow-hidden font-sans p-9 box-border relative min-h-[364px]
|
|
3283
|
+
${VersionStyleMap[version]} ${getTileRightPadding(className)} ${className}`, ...rest, children: [jsxs("div", { className: `flex flex-col ${isImageOnRightSide ? '' : 'items-end'}`, children: [jsx(Headline, { className: `!p-0 !bg-transparent z-10 ${title || description ? 'mb-3.5' : ''}`, as: "h2", title: title, description: description, headlineVersion: headlineVersion, bgColorHeadline: version, align: "left", ...rest }), renderBenefits(benefits, version, image), additionalDescription ? renderAdditionalDescription(additionalDescription, image) : null, buttons?.length ? (jsx(ButtonSection, { buttons: buttons, className: "mt-5 gap-4 z-10 text-l" })) : null] }), renderImage$1(image, isImageOnRightSide)] })));
|
|
3187
3284
|
function renderBenefits(benefits, version, image) {
|
|
3188
3285
|
// picture width = 242px. Text can overlay picture 20px deep. Outer paddings_x = 36px. 242-36-20 = 186px
|
|
3189
3286
|
const BENEFITS_WIDTH = image?.src ? 'max-w-[calc(100%-186px)]' : '100%';
|
|
@@ -3202,6 +3299,12 @@
|
|
|
3202
3299
|
const DESCRIPTION_WIDTH = image?.src ? 'max-w-[calc(100%-186px)]' : '100%';
|
|
3203
3300
|
return (jsx("div", { className: `text-m-light mt-2.5 z-10 ${DESCRIPTION_WIDTH}`, children: additionalDescription }));
|
|
3204
3301
|
}
|
|
3302
|
+
function renderImage$1(image, isImageOnRightSide) {
|
|
3303
|
+
if (!image?.src) {
|
|
3304
|
+
return null;
|
|
3305
|
+
}
|
|
3306
|
+
return (jsx(ImgInner, { className: `absolute ${isImageOnRightSide ? 'right-0' : 'left-0'} bottom-0`, image: image }));
|
|
3307
|
+
}
|
|
3205
3308
|
|
|
3206
3309
|
const PromoTile = JSX(({ className = '', title = 'Акции и спецпредложения', date, description, buttons = [], version = 'primary', ...rest }) => (jsx(BlockWrapper, { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsx(BaseTile, { title: title ? (jsx(Headline, { title: title, className: `!p-0 max-w-[600px]`, headlineVersion: getTileHeadingType(className), bgColorHeadline: version, align: "left", as: "h2", ...rest })) : null, buttons: buttons?.length ? jsx(ButtonSection, { buttons: buttons, className: "flex gap-3" }) : null, children: jsxs("div", { className: "mt-1.5", children: [date ? jsx("div", { className: "text-s mb-2", children: formatDate(date) }) : null, jsx("div", { className: "text-l", children: description })] }) }) })));
|
|
3207
3310
|
function formatDate(date) {
|
|
@@ -3214,10 +3317,19 @@
|
|
|
3214
3317
|
return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
|
|
3215
3318
|
}
|
|
3216
3319
|
|
|
3320
|
+
const CarouselRecommendationCard = JSX(({ button, className = '', description, image, items = [], socialMedia = [], title, version = 'primary', ...rest }) => {
|
|
3321
|
+
const tileTitle = title ? (jsx(Heading, { headingType: "h5", as: "h3", className: "mb-3.5 z-10", title: title })) : null;
|
|
3322
|
+
const tileImage = image?.src ? (jsx(ImgInner, { className: "absolute bottom-0 right-0 m-0", image: image })) : null;
|
|
3323
|
+
return (jsx(BlockWrapper, { className: `relative text-left border border-solid box-border p-7 min-w-[524px]
|
|
3324
|
+
${BorderVersionStyleMap[version]}
|
|
3325
|
+
${VersionStyleMap[version]}
|
|
3326
|
+
${className}`, ...rest, children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? jsx("span", { className: "mb-2", children: description }) : null, items.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items, version: version })) : null, socialMedia.length ? (jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia, version: version })) : null, button?.text ? jsx("div", { className: "pt-2 mt-16", children: renderButton({ button }) }) : null] }) }) }));
|
|
3327
|
+
});
|
|
3328
|
+
|
|
3217
3329
|
const RecommendationCard = JSX(({ className = '', title, description, items, image, version, socialMedia, button }) => {
|
|
3218
3330
|
const tileTitle = title ? (jsx(Heading, { headingType: "h5", as: "h3", className: "mb-3.5 z-10", title: title })) : null;
|
|
3219
3331
|
const tileImage = image?.src ? (jsx(ImgInner, { className: "absolute bottom-0 right-0 m-0", image: image })) : null;
|
|
3220
|
-
return (jsx("section", { className: `relative overflow-hidden text-left border border-solid box-border p-7 min-w-[524px] min-h-[218px] ${className}`, role: "listitem", children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? jsx("span", { className: "mb-2", children: description }) : null, items?.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items, version: version })) : null, socialMedia ? (jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia, version: version })) : null, button?.text ? (jsx("div", { className: "pt-2", children: renderButton({ button, buttonClassName: 'mt-16' }) })) : null] }) }) }));
|
|
3332
|
+
return (jsx("section", { className: `relative overflow-hidden text-left border border-solid box-border p-7 min-w-[524px] min-h-[218px] ${className}`, role: "listitem", children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? jsx("span", { className: "mb-2", children: description }) : null, items?.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items, version: version })) : null, socialMedia ? (jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia, version: version })) : null, button?.text ? (jsx("div", { className: "pt-2", children: renderButton({ button, buttonClassName: 'mt-16 px-5' }) })) : null] }) }) }));
|
|
3221
3333
|
});
|
|
3222
3334
|
|
|
3223
3335
|
const BLUR_BLOCK_CLASSES = 'absolute top-0 bottom-0 w-[84px]';
|
|
@@ -3803,6 +3915,7 @@
|
|
|
3803
3915
|
AccordionItem,
|
|
3804
3916
|
BenefitsBlock,
|
|
3805
3917
|
BusinessBlock,
|
|
3918
|
+
ButtonBlock,
|
|
3806
3919
|
Bonus,
|
|
3807
3920
|
BonusBenefitsBlock,
|
|
3808
3921
|
CardTransfer,
|
|
@@ -3838,11 +3951,10 @@
|
|
|
3838
3951
|
ProductGallery,
|
|
3839
3952
|
ProductTile,
|
|
3840
3953
|
PromoTile,
|
|
3841
|
-
OfficeMap,
|
|
3842
3954
|
OfficeServicesBlock,
|
|
3843
3955
|
OtherProducts,
|
|
3844
3956
|
OtherProductsItem,
|
|
3845
|
-
|
|
3957
|
+
CarouselRecommendationCard,
|
|
3846
3958
|
RollupItem,
|
|
3847
3959
|
SafeDepositRental,
|
|
3848
3960
|
StepsBlock,
|
|
@@ -3852,6 +3964,8 @@
|
|
|
3852
3964
|
Tile,
|
|
3853
3965
|
VerticalLayout,
|
|
3854
3966
|
Video,
|
|
3967
|
+
Recommendation,
|
|
3968
|
+
OfficeMap,
|
|
3855
3969
|
};
|
|
3856
3970
|
|
|
3857
3971
|
const debounce = (fn, delay = 600) => {
|
|
@@ -3979,7 +4093,7 @@
|
|
|
3979
4093
|
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" }) }));
|
|
3980
4094
|
}
|
|
3981
4095
|
|
|
3982
|
-
const packageVersion = "0.6.
|
|
4096
|
+
const packageVersion = "0.6.42";
|
|
3983
4097
|
|
|
3984
4098
|
exports.Blocks = Blocks;
|
|
3985
4099
|
exports.ContentPage = ContentPage;
|