@redneckz/wildless-cms-uni-blocks 0.4.1 → 0.4.3
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 +108 -85
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/dist/components/BlockContent.d.ts +1 -2
- package/dist/components/Blocks.d.ts +0 -1
- package/dist/components/Blocks.js +0 -2
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Footer/MediaButton.d.ts +1 -1
- package/dist/components/Footer/SocialMedia.d.ts +1 -1
- package/dist/components/Footer/SocialMedia.mobile.d.ts +1 -1
- package/dist/components/Gallery/GalleryContainer.js.map +1 -1
- package/dist/components/PictureText/PictureText.js +14 -5
- package/dist/components/PictureText/PictureText.js.map +1 -1
- package/dist/components/PictureText/PictureTextContent.d.ts +8 -16
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +3 -15
- package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/dist/components/ProductBlock/renderBenefit.d.ts +4 -2
- package/dist/components/ProductBlock/renderBenefit.js +3 -22
- package/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.js +5 -5
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/components/ProductTile/ProductTile.js +1 -1
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/PromoTile/PromoTile.js +1 -1
- package/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/dist/components/Recommendation/RecommendationCard.d.ts +1 -1
- package/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +2 -1
- package/dist/components/Tabs/Tabs.js +3 -3
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/TabsContent.d.ts +8 -2
- package/dist/components/Tabs/renderGroupTab.d.ts +4 -0
- package/dist/components/Tabs/renderGroupTab.js +18 -0
- package/dist/components/Tabs/renderGroupTab.js.map +1 -0
- package/dist/components/Tabs/renderLinkTab.d.ts +8 -0
- package/dist/components/Tabs/renderLinkTab.js +7 -0
- package/dist/components/Tabs/renderLinkTab.js.map +1 -0
- package/dist/components/Tabs/renderTab.d.ts +5 -5
- package/dist/components/Tabs/renderTab.js +14 -14
- package/dist/components/Tabs/renderTab.js.map +1 -1
- package/dist/components/Tabs/tabItemClasses.d.ts +6 -0
- package/dist/components/Tabs/tabItemClasses.js +9 -0
- package/dist/components/Tabs/tabItemClasses.js.map +1 -0
- package/dist/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
- package/dist/ui-kit/BenefitItem/BenefitItem.js +29 -0
- package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
- package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
- package/dist/{components/Insurance/InsuranceContent.js → ui-kit/BenefitItem/BenefitItemProps.js} +1 -1
- package/dist/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
- package/dist/ui-kit/BlockWrapper.js +10 -1
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/Foldable/Foldable.js +1 -1
- package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/lib/components/BlockContent.d.ts +1 -2
- package/lib/components/Blocks.d.ts +0 -1
- package/lib/components/Blocks.js +0 -2
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Footer/MediaButton.d.ts +1 -1
- package/lib/components/Footer/SocialMedia.d.ts +1 -1
- package/lib/components/Footer/SocialMedia.mobile.d.ts +1 -1
- package/lib/components/Gallery/GalleryContainer.js.map +1 -1
- package/lib/components/PictureText/PictureText.fixture.d.ts +4 -0
- package/lib/components/PictureText/PictureText.js +14 -5
- package/lib/components/PictureText/PictureText.js.map +1 -1
- package/lib/components/PictureText/PictureTextContent.d.ts +8 -16
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +3 -15
- package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/lib/components/ProductBlock/renderBenefit.d.ts +4 -3
- package/lib/components/ProductBlock/renderBenefit.js +4 -23
- package/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.js +5 -5
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.js +1 -1
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/PromoTile/PromoTile.js +1 -1
- package/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/lib/components/Recommendation/RecommendationCard.d.ts +1 -1
- package/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
- package/lib/components/Tabs/Tabs.d.ts +2 -1
- package/lib/components/Tabs/Tabs.js +3 -3
- package/lib/components/Tabs/Tabs.js.map +1 -1
- package/lib/components/Tabs/TabsContent.d.ts +8 -2
- package/lib/components/Tabs/renderGroupTab.d.ts +4 -0
- package/lib/components/Tabs/renderGroupTab.js +15 -0
- package/lib/components/Tabs/renderGroupTab.js.map +1 -0
- package/lib/components/Tabs/renderLinkTab.d.ts +8 -0
- package/lib/components/Tabs/renderLinkTab.js +4 -0
- package/lib/components/Tabs/renderLinkTab.js.map +1 -0
- package/lib/components/Tabs/renderTab.d.ts +5 -5
- package/lib/components/Tabs/renderTab.js +14 -14
- package/lib/components/Tabs/renderTab.js.map +1 -1
- package/lib/components/Tabs/tabItemClasses.d.ts +6 -0
- package/lib/components/Tabs/tabItemClasses.js +7 -0
- package/lib/components/Tabs/tabItemClasses.js.map +1 -0
- package/lib/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
- package/lib/ui-kit/BenefitItem/BenefitItem.js +27 -0
- package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
- package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
- package/lib/ui-kit/BenefitItem/BenefitItemProps.js +2 -0
- package/lib/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
- package/lib/ui-kit/BlockWrapper.js +10 -1
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/Foldable/Foldable.js +1 -1
- package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +30 -13
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/mobile/dist/components/BlockContent.d.ts +1 -2
- package/mobile/dist/components/Footer/MediaButton.d.ts +1 -1
- package/mobile/dist/components/Footer/SocialMedia.d.ts +1 -1
- package/mobile/dist/components/Gallery/GalleryContainer.js.map +1 -1
- package/mobile/dist/components/PictureText/PictureText.js +14 -5
- package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
- package/mobile/dist/components/PictureText/PictureTextContent.d.ts +8 -16
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +3 -15
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.d.ts +4 -2
- package/mobile/dist/components/ProductBlock/renderBenefit.js +3 -19
- package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/PromoTile/PromoTile.js +1 -1
- package/mobile/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/mobile/dist/components/Recommendation/RecommendationCard.d.ts +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
- package/mobile/dist/components/Tabs/Tabs.d.ts +2 -1
- package/mobile/dist/components/Tabs/Tabs.js +3 -3
- package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
- package/mobile/dist/components/Tabs/TabsContent.d.ts +8 -2
- package/mobile/dist/components/Tabs/renderGroupTab.d.ts +4 -0
- package/mobile/dist/components/Tabs/renderGroupTab.js +18 -0
- package/mobile/dist/components/Tabs/renderGroupTab.js.map +1 -0
- package/mobile/dist/components/Tabs/renderLinkTab.d.ts +8 -0
- package/mobile/dist/components/Tabs/renderLinkTab.js +7 -0
- package/mobile/dist/components/Tabs/renderLinkTab.js.map +1 -0
- package/mobile/dist/components/Tabs/renderTab.d.ts +5 -5
- package/mobile/dist/components/Tabs/renderTab.js +14 -14
- package/mobile/dist/components/Tabs/renderTab.js.map +1 -1
- package/mobile/dist/components/Tabs/tabItemClasses.d.ts +6 -0
- package/mobile/dist/components/Tabs/tabItemClasses.js +9 -0
- package/mobile/dist/components/Tabs/tabItemClasses.js.map +1 -0
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +29 -0
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
- package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
- package/mobile/dist/{components/Insurance/InsuranceContent.js → ui-kit/BenefitItem/BenefitItemProps.js} +1 -1
- package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
- package/mobile/dist/ui-kit/BlockWrapper.js +10 -1
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
- package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
- package/mobile/lib/components/BlockContent.d.ts +1 -2
- package/mobile/lib/components/Footer/MediaButton.d.ts +1 -1
- package/mobile/lib/components/Footer/SocialMedia.d.ts +1 -1
- package/mobile/lib/components/Gallery/GalleryContainer.js.map +1 -1
- package/mobile/lib/components/PictureText/PictureText.js +14 -5
- package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
- package/mobile/lib/components/PictureText/PictureTextContent.d.ts +8 -16
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +3 -15
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.d.ts +4 -2
- package/mobile/lib/components/ProductBlock/renderBenefit.js +4 -20
- package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/PromoTile/PromoTile.js +1 -1
- package/mobile/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/mobile/lib/components/Recommendation/RecommendationCard.d.ts +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
- package/mobile/lib/components/Tabs/Tabs.d.ts +2 -1
- package/mobile/lib/components/Tabs/Tabs.js +3 -3
- package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
- package/mobile/lib/components/Tabs/TabsContent.d.ts +8 -2
- package/mobile/lib/components/Tabs/renderGroupTab.d.ts +4 -0
- package/mobile/lib/components/Tabs/renderGroupTab.js +15 -0
- package/mobile/lib/components/Tabs/renderGroupTab.js.map +1 -0
- package/mobile/lib/components/Tabs/renderLinkTab.d.ts +8 -0
- package/mobile/lib/components/Tabs/renderLinkTab.js +4 -0
- package/mobile/lib/components/Tabs/renderLinkTab.js.map +1 -0
- package/mobile/lib/components/Tabs/renderTab.d.ts +5 -5
- package/mobile/lib/components/Tabs/renderTab.js +14 -14
- package/mobile/lib/components/Tabs/renderTab.js.map +1 -1
- package/mobile/lib/components/Tabs/tabItemClasses.d.ts +6 -0
- package/mobile/lib/components/Tabs/tabItemClasses.js +7 -0
- package/mobile/lib/components/Tabs/tabItemClasses.js.map +1 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +27 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.js +2 -0
- package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
- package/mobile/lib/ui-kit/BlockWrapper.js +10 -1
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
- package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/src/components/BaseTile/BaseTile.tsx +2 -2
- package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +2 -2
- package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +2 -2
- package/mobile/src/components/BlockContent.ts +0 -2
- package/mobile/src/components/ContentPage/ContentPage.page.json +41 -41
- package/mobile/src/components/Footer/MediaButton.tsx +1 -1
- package/mobile/src/components/Footer/SocialMedia.tsx +1 -1
- package/mobile/src/components/Gallery/Gallery.tsx +1 -1
- package/mobile/src/components/Gallery/GalleryContainer.tsx +0 -1
- package/mobile/src/components/PictureText/PictureText.example.json +7 -4
- package/mobile/src/components/PictureText/PictureText.tsx +55 -34
- package/mobile/src/components/PictureText/PictureTextContent.ts +8 -17
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +3 -17
- package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +1 -5
- package/mobile/src/components/ProductBlock/renderBenefit.tsx +17 -42
- package/mobile/src/components/ProductTile/ProductTile.tsx +1 -1
- package/mobile/src/components/PromoTile/PromoTile.tsx +1 -1
- package/mobile/src/components/Recommendation/RecommendationCard.tsx +1 -1
- package/mobile/src/components/StepsBlock/StepsBlockStyleMaps.ts +1 -1
- package/mobile/src/components/Tabs/Tabs.example.json +3 -3
- package/mobile/src/components/Tabs/Tabs.tsx +5 -4
- package/mobile/src/components/Tabs/TabsContent.ts +9 -2
- package/mobile/src/components/Tabs/renderGroupTab.tsx +51 -0
- package/mobile/src/components/Tabs/renderLinkTab.tsx +25 -0
- package/mobile/src/components/Tabs/renderTab.tsx +18 -38
- package/mobile/src/components/Tabs/tabItemClasses.ts +7 -0
- package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +15 -30
- package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +58 -0
- package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +27 -0
- package/mobile/src/ui-kit/BlockWrapper.tsx +12 -1
- package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
- package/package.json +1 -1
- package/src/components/BaseTile/BaseTile.tsx +2 -2
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +2 -2
- package/src/components/BenefitsBlock/BenefitsBlockContent.ts +2 -2
- package/src/components/BlockContent.ts +0 -2
- package/src/components/Blocks.ts +0 -2
- package/src/components/ContentPage/ContentPage.page.json +41 -41
- package/src/components/Footer/MediaButton.tsx +1 -1
- package/src/components/Footer/SocialMedia.mobile.tsx +1 -1
- package/src/components/Footer/SocialMedia.tsx +1 -1
- package/src/components/Gallery/Gallery.mobile.tsx +1 -1
- package/src/components/Gallery/GalleryContainer.tsx +0 -1
- package/src/components/PictureText/PictureText.example.json +7 -4
- package/src/components/PictureText/PictureText.fixture.tsx +74 -5
- package/src/components/PictureText/PictureText.tsx +55 -34
- package/src/components/PictureText/PictureTextContent.ts +8 -17
- package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +3 -3
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +28 -6
- package/src/components/ProductBlock/ProductBlockContent.ts +3 -17
- package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +1 -5
- package/src/components/ProductBlock/ProductBlockInner.tsx +1 -3
- package/src/components/ProductBlock/renderBenefit.tsx +17 -51
- package/src/components/ProductGallery/ProductGallery.tsx +5 -4
- package/src/components/ProductTile/ProductTile.tsx +1 -1
- package/src/components/PromoTile/PromoTile.tsx +1 -1
- package/src/components/Recommendation/RecommendationCard.tsx +1 -1
- package/src/components/StepsBlock/StepsBlockStyleMaps.ts +1 -1
- package/src/components/Tabs/Tabs.example.json +3 -3
- package/src/components/Tabs/Tabs.fixture.tsx +3 -3
- package/src/components/Tabs/Tabs.tsx +5 -4
- package/src/components/Tabs/TabsContent.ts +9 -2
- package/src/components/Tabs/renderGroupTab.tsx +51 -0
- package/src/components/Tabs/renderLinkTab.tsx +25 -0
- package/src/components/Tabs/renderTab.tsx +18 -38
- package/src/components/Tabs/tabItemClasses.ts +7 -0
- package/src/components/__snapshots__/Blocks.spec.tsx.snap +15 -30
- package/src/ui-kit/BenefitItem/BenefitItem.tsx +58 -0
- package/src/ui-kit/BenefitItem/BenefitItemProps.ts +27 -0
- package/src/ui-kit/BlockWrapper.tsx +12 -1
- package/src/ui-kit/Foldable/Foldable.tsx +1 -1
- package/dist/components/Insurance/Insurance.d.ts +0 -5
- package/dist/components/Insurance/Insurance.js +0 -24
- package/dist/components/Insurance/Insurance.js.map +0 -1
- package/dist/components/Insurance/InsuranceContent.d.ts +0 -27
- package/dist/components/Insurance/InsuranceContent.js.map +0 -1
- package/dist/components/ProductBlock/renderBenefit.mobile.d.ts +0 -3
- package/dist/components/ProductBlock/renderBenefit.mobile.js +0 -25
- package/dist/components/ProductBlock/renderBenefit.mobile.js.map +0 -1
- package/lib/components/Insurance/Insurance.d.ts +0 -5
- package/lib/components/Insurance/Insurance.fixture.d.ts +0 -6
- package/lib/components/Insurance/Insurance.js +0 -22
- package/lib/components/Insurance/Insurance.js.map +0 -1
- package/lib/components/Insurance/InsuranceContent.d.ts +0 -27
- package/lib/components/Insurance/InsuranceContent.js +0 -2
- package/lib/components/Insurance/InsuranceContent.js.map +0 -1
- package/lib/components/ProductBlock/renderBenefit.mobile.d.ts +0 -3
- package/lib/components/ProductBlock/renderBenefit.mobile.js +0 -22
- package/lib/components/ProductBlock/renderBenefit.mobile.js.map +0 -1
- package/mobile/dist/components/Insurance/Insurance.d.ts +0 -5
- package/mobile/dist/components/Insurance/Insurance.js +0 -24
- package/mobile/dist/components/Insurance/Insurance.js.map +0 -1
- package/mobile/dist/components/Insurance/InsuranceContent.d.ts +0 -27
- package/mobile/dist/components/Insurance/InsuranceContent.js.map +0 -1
- package/mobile/lib/components/Insurance/Insurance.d.ts +0 -5
- package/mobile/lib/components/Insurance/Insurance.js +0 -22
- package/mobile/lib/components/Insurance/Insurance.js.map +0 -1
- package/mobile/lib/components/Insurance/InsuranceContent.d.ts +0 -27
- package/mobile/lib/components/Insurance/InsuranceContent.js +0 -2
- package/mobile/lib/components/Insurance/InsuranceContent.js.map +0 -1
- package/mobile/src/components/Insurance/Insurance.example.json +0 -29
- package/mobile/src/components/Insurance/Insurance.tsx +0 -83
- package/mobile/src/components/Insurance/InsuranceContent.ts +0 -29
- package/src/components/Insurance/Insurance.example.json +0 -29
- package/src/components/Insurance/Insurance.fixture.tsx +0 -70
- package/src/components/Insurance/Insurance.tsx +0 -83
- package/src/components/Insurance/InsuranceContent.ts +0 -29
- package/src/components/ProductBlock/renderBenefit.mobile.tsx +0 -44
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { GalleryVersion } from '../../model/GalleryVersion';
|
|
3
|
-
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
4
3
|
import type { ContentPageContext } from '../ContentPage/ContentPageContext';
|
|
5
4
|
import { cardStyleMap, cardVersionMap, cardWidthMap, galleryLengthForScrollMap } from './constants';
|
|
6
5
|
import { GalleryCardInner } from './GalleryCardInner';
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"image": {
|
|
5
5
|
"format": "webp",
|
|
6
6
|
"size": {
|
|
7
|
-
"width":
|
|
7
|
+
"width": 400,
|
|
8
|
+
"height": 300
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
11
|
"version": "primary",
|
|
@@ -13,14 +14,16 @@
|
|
|
13
14
|
{
|
|
14
15
|
"label": "Преимущество №1",
|
|
15
16
|
"icon": {
|
|
16
|
-
"icon": "
|
|
17
|
+
"icon": "ShieldTickIcon"
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
{
|
|
20
21
|
"label": "Преимущество №2",
|
|
21
22
|
"icon": {
|
|
22
|
-
"icon": "
|
|
23
|
+
"icon": "ShieldTickIcon"
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
]
|
|
26
|
+
],
|
|
27
|
+
"sum": 500000,
|
|
28
|
+
"monthLimit": 25000
|
|
26
29
|
}
|
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
import { context } from '../../react/setup-fixture';
|
|
2
|
-
|
|
3
2
|
import type { Picture } from '../../model/Picture';
|
|
4
|
-
import { PictureText } from './PictureText';
|
|
5
3
|
import type { PictureTextContent } from './PictureTextContent';
|
|
4
|
+
import { PictureText } from './PictureText';
|
|
6
5
|
|
|
7
6
|
const image: Picture = {
|
|
8
7
|
src: 'legal-support-business.png',
|
|
9
8
|
format: 'webp',
|
|
10
9
|
size: {
|
|
11
|
-
width:
|
|
12
|
-
height:
|
|
10
|
+
width: 400,
|
|
11
|
+
height: 300,
|
|
13
12
|
},
|
|
14
13
|
alt: 'Варианты потребительского кредита',
|
|
15
14
|
};
|
|
16
15
|
|
|
16
|
+
const imageInsurance: Picture = {
|
|
17
|
+
src: 'insurance.png',
|
|
18
|
+
format: 'webp',
|
|
19
|
+
alt: 'Страховые риски и продукты',
|
|
20
|
+
size: {
|
|
21
|
+
width: 400,
|
|
22
|
+
height: 300,
|
|
23
|
+
},
|
|
24
|
+
sources: [
|
|
25
|
+
{
|
|
26
|
+
src: 'insurance.png 1x, insurance-2x.png 2x',
|
|
27
|
+
format: 'png',
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
|
|
17
32
|
export const PICTURE_TEXT: PictureTextContent = {
|
|
18
|
-
title: '
|
|
33
|
+
title: 'Обменивайте бонусы на путешествия',
|
|
34
|
+
description:
|
|
35
|
+
'Получайте 1% бонусными баллами с любых покупок и 1,5% баллами с покупок в категории «Путешествия». Обменивайте ' +
|
|
36
|
+
'бонусные баллы на авиа и ж/д билеты, бронирование отелей и прокат автомобилей.',
|
|
19
37
|
benefits: [
|
|
20
38
|
{
|
|
21
39
|
label: 'Кредит по одному документу',
|
|
@@ -31,10 +49,61 @@ export const PICTURE_TEXT: PictureTextContent = {
|
|
|
31
49
|
image,
|
|
32
50
|
};
|
|
33
51
|
|
|
52
|
+
export const INSURANCE_TEXT: PictureTextContent = {
|
|
53
|
+
title: 'Страховые риски и продукты',
|
|
54
|
+
description: 'Покрываемые риски программы «Защита вас и ваших близких»',
|
|
55
|
+
benefits: [
|
|
56
|
+
{
|
|
57
|
+
label: 'Телесное повреждение',
|
|
58
|
+
description: 'Описание',
|
|
59
|
+
icon: { icon: 'ShieldTickIcon' },
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
label: 'Госпитализация застрахованного',
|
|
63
|
+
icon: { icon: 'ShieldTickIcon' },
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: 'Сокращение численности работников организации',
|
|
67
|
+
icon: { icon: 'ShieldTickIcon' },
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: 'Смерть застрахованного',
|
|
71
|
+
icon: { icon: 'ShieldTickIcon' },
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
image: imageInsurance,
|
|
75
|
+
sum: 500000,
|
|
76
|
+
};
|
|
77
|
+
|
|
34
78
|
export default {
|
|
35
79
|
default: (
|
|
36
80
|
<div className="container grid grid-cols-12">
|
|
37
81
|
<PictureText className="col-span-12" context={context} {...PICTURE_TEXT} />
|
|
38
82
|
</div>
|
|
39
83
|
),
|
|
84
|
+
secondary: (
|
|
85
|
+
<div className="container grid grid-cols-12">
|
|
86
|
+
<PictureText
|
|
87
|
+
className="col-span-12"
|
|
88
|
+
context={context}
|
|
89
|
+
{...PICTURE_TEXT}
|
|
90
|
+
version="secondary"
|
|
91
|
+
/>
|
|
92
|
+
</div>
|
|
93
|
+
),
|
|
94
|
+
'insurance sum': (
|
|
95
|
+
<div className="container grid grid-cols-12">
|
|
96
|
+
<PictureText context={context} className="col-span-12" {...INSURANCE_TEXT} />
|
|
97
|
+
</div>
|
|
98
|
+
),
|
|
99
|
+
'insurance monthPay': (
|
|
100
|
+
<div className="container grid grid-cols-12">
|
|
101
|
+
<PictureText
|
|
102
|
+
context={context}
|
|
103
|
+
className="col-span-12"
|
|
104
|
+
{...INSURANCE_TEXT}
|
|
105
|
+
monthLimit={25000}
|
|
106
|
+
/>
|
|
107
|
+
</div>
|
|
108
|
+
),
|
|
40
109
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { UniBlockProps } from '../../types';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
import {
|
|
3
|
+
import type { PictureTextContent } from './PictureTextContent';
|
|
4
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
5
|
+
import type { BenefitItemProps } from '../../ui-kit/BenefitItem/BenefitItemProps';
|
|
6
6
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
7
|
-
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
8
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { BenefitItem } from '../../ui-kit/BenefitItem/BenefitItem';
|
|
9
|
+
import { Headline } from '../Headline/Headline';
|
|
10
|
+
import { addSpacesBetweenNumbers } from '../../utils/addSpacesBetweenNumbers';
|
|
9
11
|
|
|
10
12
|
export interface PictureTextProps extends PictureTextContent, UniBlockProps {}
|
|
11
13
|
|
|
@@ -17,56 +19,75 @@ const pictureTextStyleMap: Record<BlockVersion, string> = {
|
|
|
17
19
|
export const PictureText = JSX<PictureTextProps>(
|
|
18
20
|
({
|
|
19
21
|
className = '',
|
|
22
|
+
context,
|
|
20
23
|
title,
|
|
24
|
+
description,
|
|
21
25
|
image,
|
|
22
26
|
benefits,
|
|
23
27
|
version = 'primary',
|
|
28
|
+
sum,
|
|
29
|
+
monthLimit,
|
|
24
30
|
directionRight = false,
|
|
25
31
|
...rest
|
|
26
32
|
}) => {
|
|
27
33
|
return (
|
|
28
34
|
<BlockWrapper
|
|
29
35
|
className={`relative font-sans p-14 ${pictureTextStyleMap[version]} ${className}`}
|
|
36
|
+
context={context}
|
|
30
37
|
{...rest}
|
|
31
38
|
>
|
|
32
|
-
<
|
|
33
|
-
|
|
39
|
+
<Headline
|
|
40
|
+
context={context}
|
|
41
|
+
className="!p-0"
|
|
42
|
+
title={title}
|
|
43
|
+
description={description}
|
|
44
|
+
headlineVersion="M"
|
|
45
|
+
bgColorHeadline={version}
|
|
46
|
+
align="center"
|
|
47
|
+
/>
|
|
48
|
+
<div className={'flex justify-center gap-[122px] mt-[30px]'}>
|
|
34
49
|
{image?.src && <Img className={directionRight ? 'order-2 ml-6' : 'mr-6'} image={image} />}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{benefits.map(
|
|
38
|
-
|
|
39
|
-
|
|
50
|
+
<div className="w-[558px] m-auto">
|
|
51
|
+
{benefits?.length ? (
|
|
52
|
+
<div className="flex flex-col gap-4">{benefits.map(renderBenefit(version))}</div>
|
|
53
|
+
) : null}
|
|
54
|
+
{renderInsuranceSumMonth(sum, monthLimit)}
|
|
55
|
+
</div>
|
|
40
56
|
</div>
|
|
41
57
|
</BlockWrapper>
|
|
42
58
|
);
|
|
43
59
|
},
|
|
44
60
|
);
|
|
45
61
|
|
|
46
|
-
|
|
62
|
+
const renderBenefit = (version: BlockVersion) => (benefit: BenefitItemProps, i: number) =>
|
|
63
|
+
(
|
|
64
|
+
<BenefitItem
|
|
65
|
+
key={String(i)}
|
|
66
|
+
icon={benefit.icon}
|
|
67
|
+
label={benefit.label}
|
|
68
|
+
description={benefit.description}
|
|
69
|
+
version={version}
|
|
70
|
+
/>
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
function renderInsuranceSumMonth(sum?: number, monthLimit?: number) {
|
|
74
|
+
return sum || monthLimit ? (
|
|
75
|
+
<div className="bg-main-divider rounded-md flex mt-7 gap-6 px-5 py-4">
|
|
76
|
+
{Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null}
|
|
77
|
+
{Number.isFinite(monthLimit)
|
|
78
|
+
? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
|
|
79
|
+
: null}
|
|
80
|
+
</div>
|
|
81
|
+
) : null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function renderValueBlock(title: string, sum = 0, isAnotherBlock = false) {
|
|
85
|
+
const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
|
|
86
|
+
|
|
47
87
|
return (
|
|
48
|
-
<div
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
className="w-[48px] h-[48px] bg-main rounded-full box-border p-[12px]"
|
|
52
|
-
image={benefit.icon}
|
|
53
|
-
width="48"
|
|
54
|
-
height="48"
|
|
55
|
-
asSVG
|
|
56
|
-
/>
|
|
57
|
-
) : null}
|
|
58
|
-
<div className="flex gap-1 flex-col h-full ml-5 max-w-[490px]">
|
|
59
|
-
{benefit?.label ? (
|
|
60
|
-
<div className={`text-xl m-0 ${version === 'primary' ? 'text-primary-text' : ''}`}>
|
|
61
|
-
{benefit.label}
|
|
62
|
-
</div>
|
|
63
|
-
) : null}
|
|
64
|
-
{benefit?.description ? (
|
|
65
|
-
<div className={`text-s ${version === 'primary' ? 'text-secondary-text' : ''}`}>
|
|
66
|
-
{benefit.description}
|
|
67
|
-
</div>
|
|
68
|
-
) : null}
|
|
69
|
-
</div>
|
|
88
|
+
<div className={`flex justify-between items-center gap-2 w-full ${widthStyle}`}>
|
|
89
|
+
<span className="text-secondary-text text-l-light">{title}</span>
|
|
90
|
+
<span className="text-primary-main text-h6">{addSpacesBetweenNumbers(sum)} ₽</span>
|
|
70
91
|
</div>
|
|
71
92
|
);
|
|
72
93
|
}
|
|
@@ -1,29 +1,20 @@
|
|
|
1
|
-
import { BlockVersion } from '../../model/BlockVersion';
|
|
2
|
-
import type { TitleProp } from '../../model/HeadlineType';
|
|
3
1
|
import type { ImageContent } from '../../ui-kit/Img/ImgProps';
|
|
4
|
-
import type {
|
|
2
|
+
import type { BenefitsProps } from '../../ui-kit/BenefitItem/BenefitItemProps';
|
|
3
|
+
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
5
4
|
|
|
6
|
-
export type TitleWithImageContent =
|
|
7
|
-
|
|
8
|
-
export interface PictureTextBenefit {
|
|
9
|
-
/** @title Иконка */
|
|
10
|
-
icon?: Picture;
|
|
11
|
-
/** @title Название */
|
|
12
|
-
label?: string;
|
|
13
|
-
/** @title Описание */
|
|
14
|
-
description?: string;
|
|
15
|
-
}
|
|
5
|
+
export type TitleWithImageContent = HeadlineCommonProps & ImageContent;
|
|
16
6
|
|
|
17
7
|
/**
|
|
18
8
|
* @title Картинка с текстом
|
|
19
9
|
*/
|
|
20
|
-
export interface PictureTextContent extends TitleWithImageContent {
|
|
21
|
-
version?: BlockVersion;
|
|
22
|
-
/** @title Список преимуществ */
|
|
23
|
-
benefits?: PictureTextBenefit[];
|
|
10
|
+
export interface PictureTextContent extends BenefitsProps, TitleWithImageContent {
|
|
24
11
|
/**
|
|
25
12
|
* @title Картинка справа/текст слева
|
|
26
13
|
* @default false
|
|
27
14
|
*/
|
|
28
15
|
directionRight?: boolean;
|
|
16
|
+
/** @title Ежемесячный лимит */
|
|
17
|
+
monthLimit?: number;
|
|
18
|
+
/** @title Страховая сумма */
|
|
19
|
+
sum?: number;
|
|
29
20
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Picture } from '../../model/Picture';
|
|
2
1
|
import { context } from '../../react/setup-fixture';
|
|
3
2
|
import { ProductBlock } from './ProductBlock';
|
|
3
|
+
import type { Picture } from '../../model/Picture';
|
|
4
4
|
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
5
|
-
import type {
|
|
5
|
+
import type { BenefitItemProps } from '../../ui-kit/BenefitItem/BenefitItemProps';
|
|
6
6
|
|
|
7
7
|
const title = 'Кредит до 5 000 000 Р\nбез залога и поручителей';
|
|
8
8
|
const description =
|
|
@@ -25,7 +25,7 @@ const image: Picture = {
|
|
|
25
25
|
],
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
const benefits:
|
|
28
|
+
const benefits: BenefitItemProps[] = [
|
|
29
29
|
{
|
|
30
30
|
label: 'До 5 млн ₽',
|
|
31
31
|
description: 'Кредитный лимит',
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { Picture } from '../../model/Picture';
|
|
2
1
|
import { context } from '../../react/setup-fixture';
|
|
3
|
-
import type { BackwardButtonProps, ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
4
2
|
import { ProductBlock } from './ProductBlock';
|
|
5
|
-
import type {
|
|
3
|
+
import type { Picture } from '../../model/Picture';
|
|
4
|
+
import type { BackwardButtonProps, ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
5
|
+
import type { ProductBlockContent } from './ProductBlockContent';
|
|
6
|
+
import type { BenefitItemProps } from '../../ui-kit/BenefitItem/BenefitItemProps';
|
|
6
7
|
|
|
7
8
|
const image: Picture = {
|
|
8
9
|
src: 'money-1.png',
|
|
@@ -14,7 +15,7 @@ const image: Picture = {
|
|
|
14
15
|
},
|
|
15
16
|
};
|
|
16
17
|
|
|
17
|
-
const benefits:
|
|
18
|
+
const benefits: BenefitItemProps[] = [
|
|
18
19
|
{
|
|
19
20
|
label: 'До 5 млн ₽',
|
|
20
21
|
description: 'Кредитный лимит',
|
|
@@ -81,14 +82,35 @@ export default {
|
|
|
81
82
|
<ProductBlock
|
|
82
83
|
className="col-span-12"
|
|
83
84
|
context={context}
|
|
84
|
-
|
|
85
|
-
headlineVersion="XL"
|
|
85
|
+
headlineVersion="L"
|
|
86
86
|
title="Потребительский кредит наличными"
|
|
87
87
|
description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
|
|
88
88
|
benefits={benefits}
|
|
89
|
+
benefitsVersion="normal"
|
|
89
90
|
buttons={buttons}
|
|
90
91
|
image={image}
|
|
91
92
|
/>
|
|
93
|
+
<ProductBlock
|
|
94
|
+
className="col-span-12"
|
|
95
|
+
context={context}
|
|
96
|
+
title="Потребительский кредит наличными"
|
|
97
|
+
headlineVersion="L"
|
|
98
|
+
description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
|
|
99
|
+
benefits={benefits}
|
|
100
|
+
benefitsVersion="white"
|
|
101
|
+
image={image}
|
|
102
|
+
/>
|
|
103
|
+
<ProductBlock
|
|
104
|
+
className="col-span-12"
|
|
105
|
+
context={context}
|
|
106
|
+
title="Потребительский кредит наличными"
|
|
107
|
+
headlineVersion="L"
|
|
108
|
+
description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
|
|
109
|
+
benefits={benefits}
|
|
110
|
+
benefitsVersion="white"
|
|
111
|
+
image={image}
|
|
112
|
+
version="secondary"
|
|
113
|
+
/>
|
|
92
114
|
</div>
|
|
93
115
|
),
|
|
94
116
|
'primary with color benefits': (
|
|
@@ -4,33 +4,19 @@ import type { LinkProps } from '../../model/LinkProps';
|
|
|
4
4
|
import type { ButtonContent, BackwardButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
5
5
|
import type { ImageContent } from '../../ui-kit/Img/ImgProps';
|
|
6
6
|
import type { ListContent } from '../../ui-kit/List/ListContent';
|
|
7
|
-
import type { Picture } from '../../model/Picture';
|
|
8
7
|
import type { HeadlineProps } from '../../model/HeadlineType';
|
|
9
|
-
|
|
10
|
-
export interface ProductBlockBenefit {
|
|
11
|
-
icon?: Picture;
|
|
12
|
-
/** @title Название */
|
|
13
|
-
label?: string;
|
|
14
|
-
/** @title Описание */
|
|
15
|
-
description?: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type BenefitItemProps = {
|
|
19
|
-
benefit: ProductBlockBenefit;
|
|
20
|
-
version?: BlockVersion;
|
|
21
|
-
benefitsVersion?: IconVersion;
|
|
22
|
-
};
|
|
8
|
+
import type { BenefitItemProps } from '../../ui-kit/BenefitItem/BenefitItemProps';
|
|
23
9
|
|
|
24
10
|
export type ProductBlockInnerContent = HeadlineProps &
|
|
25
11
|
ListContent &
|
|
26
12
|
ButtonContent &
|
|
27
13
|
ImageContent & {
|
|
28
14
|
/**
|
|
29
|
-
* @title
|
|
15
|
+
* @title Список преимуществ
|
|
30
16
|
* @minItems 2
|
|
31
17
|
* @maxItems 3
|
|
32
18
|
*/
|
|
33
|
-
benefits?:
|
|
19
|
+
benefits?: BenefitItemProps[];
|
|
34
20
|
benefitsVersion?: IconVersion;
|
|
35
21
|
version?: BlockVersion;
|
|
36
22
|
/**
|
|
@@ -52,11 +52,7 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
52
52
|
}
|
|
53
53
|
>
|
|
54
54
|
{benefits?.filter((_) => _.label)?.length ? (
|
|
55
|
-
<div className="mt-3">
|
|
56
|
-
{benefits.map((benefit, i) =>
|
|
57
|
-
renderBenefit({ benefit, version, benefitsVersion }, i),
|
|
58
|
-
)}
|
|
59
|
-
</div>
|
|
55
|
+
<div className="mt-3">{benefits.map(renderBenefit(version, benefitsVersion))}</div>
|
|
60
56
|
) : null}
|
|
61
57
|
{items?.length ? (
|
|
62
58
|
<List className="mt-3 text-m" items={items} version={version} isDotted={isDotted} />
|
|
@@ -41,9 +41,7 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
41
41
|
<BaseTile context={context} buttons={getButtons(context, buttons)}>
|
|
42
42
|
{benefits?.filter((_) => _.label)?.length ? (
|
|
43
43
|
<div className="flex gap-6 mt-6">
|
|
44
|
-
{benefits.map((
|
|
45
|
-
renderBenefit({ benefit, version, benefitsVersion }, i),
|
|
46
|
-
)}
|
|
44
|
+
{benefits.map(renderBenefit(version, benefitsVersion))}
|
|
47
45
|
</div>
|
|
48
46
|
) : null}
|
|
49
47
|
{items?.length ? (
|
|
@@ -1,53 +1,19 @@
|
|
|
1
1
|
import type { BlockVersion } from '../../model/BlockVersion';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { BenefitItemProps } from '../../ui-kit/BenefitItem/BenefitItemProps';
|
|
3
|
+
import type { IconVersion } from '../../model/IconVersion';
|
|
4
|
+
import { BenefitItem } from '../../ui-kit/BenefitItem/BenefitItem';
|
|
4
5
|
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return (
|
|
21
|
-
<div key={String(i)} className="flex gap-4 items-center">
|
|
22
|
-
{benefit.icon ? (
|
|
23
|
-
<Img
|
|
24
|
-
className={renderBenefitIconBgStyle(version, benefitsVersion)}
|
|
25
|
-
image={{ ...benefit?.icon, iconVersion: isIconWhite ? 'white' : 'normal' }}
|
|
26
|
-
width="24"
|
|
27
|
-
height="24"
|
|
28
|
-
asSVG
|
|
29
|
-
/>
|
|
30
|
-
) : null}
|
|
31
|
-
<div className="flex gap-0.5 flex-col h-full max-w-[149px] min-w-[149px]">
|
|
32
|
-
<div className={`text-h6 m-0 ${benefitTitleStyleMap[version]}`}>{benefit.label}</div>
|
|
33
|
-
{benefit.description ? (
|
|
34
|
-
<div className={`text-m-light ${benefitDescStyleMap[version]}`}>
|
|
35
|
-
{benefit.description}
|
|
36
|
-
</div>
|
|
37
|
-
) : null}
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function renderBenefitIconBgStyle(version, benefitsVersion) {
|
|
44
|
-
let bgColorStyle = 'bg-primary-main text-black';
|
|
45
|
-
|
|
46
|
-
if (version === 'secondary') {
|
|
47
|
-
bgColorStyle = 'bg-white/30 text-black';
|
|
48
|
-
} else if (benefitsVersion === 'normal') {
|
|
49
|
-
bgColorStyle = 'bg-secondary-light text-primary-main';
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return `w-[50px] h-[50px] min-w-[50px] min-h-[50px] rounded-full p-[10px] box-border ${bgColorStyle}`;
|
|
53
|
-
}
|
|
6
|
+
export const renderBenefit =
|
|
7
|
+
(version: BlockVersion = 'primary', benefitsVersion: IconVersion = 'normal') =>
|
|
8
|
+
({ icon, label, description }: BenefitItemProps, i: number) => {
|
|
9
|
+
return (
|
|
10
|
+
<BenefitItem
|
|
11
|
+
key={String(i)}
|
|
12
|
+
icon={icon}
|
|
13
|
+
label={label}
|
|
14
|
+
description={description}
|
|
15
|
+
version={version}
|
|
16
|
+
benefitsVersion={benefitsVersion}
|
|
17
|
+
/>
|
|
18
|
+
);
|
|
19
|
+
};
|
|
@@ -50,7 +50,7 @@ export const ProductGallery = JSX<ProductGalleryProps>(
|
|
|
50
50
|
{galleryBlocks.map((_, i) => renderProductBlock({ ..._, version }, i, context))}
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
|
-
<div className="flex items-center absolute bottom-6 left-0 right-0 px-[26px] box-border">
|
|
53
|
+
<div className="flex items-center absolute bottom-6 left-0 right-0 px-[26px] box-border h-28">
|
|
54
54
|
{galleryNav.map((slide, i) =>
|
|
55
55
|
renderNavButton({
|
|
56
56
|
slide,
|
|
@@ -82,6 +82,7 @@ function renderProductBlock(block: ProductBlockInnerContent, i: number, context)
|
|
|
82
82
|
context={context}
|
|
83
83
|
textBlockClassName="mb-[154px]"
|
|
84
84
|
{...block}
|
|
85
|
+
headlineVersion="XXL"
|
|
85
86
|
/>
|
|
86
87
|
</div>
|
|
87
88
|
</section>
|
|
@@ -92,8 +93,8 @@ function renderNavButton({ slide, i, activeSlideIndex, onClick, version }) {
|
|
|
92
93
|
const isActiveBtn = i === activeSlideIndex;
|
|
93
94
|
|
|
94
95
|
const btnClassName = isActiveBtn
|
|
95
|
-
? 'bg-white shadow-dark-blue/42
|
|
96
|
-
: `min-w-[277px]
|
|
96
|
+
? 'bg-white shadow-dark-blue/42 w-[354px] min-w-[354px] border-none'
|
|
97
|
+
: `min-w-[277px] hover:py-[26px] hover:py-[26px] ease-in duration-300 bg-white/10
|
|
97
98
|
${productSlideStyleMap[version]}`;
|
|
98
99
|
const btnTitleClassName = isActiveBtn
|
|
99
100
|
? 'text-primary-text text-h6'
|
|
@@ -110,7 +111,7 @@ function renderNavButton({ slide, i, activeSlideIndex, onClick, version }) {
|
|
|
110
111
|
key={String(i)}
|
|
111
112
|
onClick={onClick}
|
|
112
113
|
aria-label={slide?.title}
|
|
113
|
-
className={`box-border font-sans relative overflow-hidden border border-white/50 cursor-pointer text-left mx-1 grow basis-0
|
|
114
|
+
className={`box-border font-sans relative overflow-hidden border border-white/50 cursor-pointer text-left mx-1 grow basis-0 pt-5 pb-[23px]
|
|
114
115
|
${btnClassName} ${additionalBorder}
|
|
115
116
|
`}
|
|
116
117
|
>
|
|
@@ -69,7 +69,7 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
69
69
|
|
|
70
70
|
function renderBenefits(benefits: TextBenefit[], version: BlockVersion) {
|
|
71
71
|
return (
|
|
72
|
-
<div className="flex mt-
|
|
72
|
+
<div className="flex mt-3.5">
|
|
73
73
|
{benefits.length ? (
|
|
74
74
|
<div className="mr-6 gap-2.5 text-h6">{benefits.map(renderBenefitLabel)}</div>
|
|
75
75
|
) : null}
|
|
@@ -55,7 +55,7 @@ export const PromoTile = JSX<PromoTileProps>(
|
|
|
55
55
|
}
|
|
56
56
|
buttons={
|
|
57
57
|
buttons?.length ? (
|
|
58
|
-
<ButtonSection context={context} buttons={buttons} className="flex
|
|
58
|
+
<ButtonSection context={context} buttons={buttons} className="flex gap-3" />
|
|
59
59
|
) : null
|
|
60
60
|
}
|
|
61
61
|
>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { BlockVersion } from '../../model/BlockVersion';
|
|
2
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
3
3
|
import type { UniBlockProps } from '../../types';
|
|
4
4
|
import { Description } from '../../ui-kit/Description/Description';
|
|
5
5
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"showCounter": true,
|
|
3
3
|
"tabs": [
|
|
4
4
|
{
|
|
5
|
-
"
|
|
5
|
+
"ref": "tab1",
|
|
6
6
|
"title": "Вкладка 1"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
|
-
"
|
|
9
|
+
"ref": "tab2",
|
|
10
10
|
"title": "Вкладка 2"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
"
|
|
13
|
+
"ref": "tab3",
|
|
14
14
|
"title": "Вкладка 3"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
@@ -8,9 +8,9 @@ export default {
|
|
|
8
8
|
context={context}
|
|
9
9
|
className="col-span-12"
|
|
10
10
|
tabs={[
|
|
11
|
-
{
|
|
12
|
-
{
|
|
13
|
-
{
|
|
11
|
+
{ ref: 'tab1', title: 'Вкладка 1' },
|
|
12
|
+
{ ref: 'tab2', title: 'Вкладка 2' },
|
|
13
|
+
{ ref: 'https://google.com', title: 'Вкладка 3' },
|
|
14
14
|
]}
|
|
15
15
|
/>
|
|
16
16
|
</div>
|
|
@@ -4,9 +4,10 @@ import { EventBus } from '../../EventBus/EventBus';
|
|
|
4
4
|
import type { UniBlockProps } from '../../types';
|
|
5
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
6
6
|
import { renderTab } from './renderTab';
|
|
7
|
-
import type { Tab, TabsContent } from './TabsContent';
|
|
7
|
+
import type { Tab, TabsContent, TabType } from './TabsContent';
|
|
8
8
|
|
|
9
9
|
export interface TabActivationEvent {
|
|
10
|
+
type?: TabType;
|
|
10
11
|
label?: string;
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -17,10 +18,10 @@ export const Tabs = JSX<TabsProps>((props) => {
|
|
|
17
18
|
|
|
18
19
|
const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
|
|
19
20
|
|
|
20
|
-
useEffect(() => EventBus.inst.subject('tab', { label: currentTab?.
|
|
21
|
+
useEffect(() => EventBus.inst.subject('tab', { label: currentTab?.ref }), [currentTab]);
|
|
21
22
|
|
|
22
23
|
const handleClick = (selectedTab: Tab) => {
|
|
23
|
-
EventBus.inst.fire('tab', { label: selectedTab.
|
|
24
|
+
EventBus.inst.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
|
|
24
25
|
setCurrentTab(selectedTab);
|
|
25
26
|
};
|
|
26
27
|
|
|
@@ -30,7 +31,7 @@ export const Tabs = JSX<TabsProps>((props) => {
|
|
|
30
31
|
className={`mb-2 box-border flex gap-x-1 ${className}`}
|
|
31
32
|
role="tablist"
|
|
32
33
|
>
|
|
33
|
-
{tabs?.map(renderTab({ onClick: handleClick, currentTab, page, showCounter }))}
|
|
34
|
+
{tabs?.map(renderTab({ onClick: handleClick, currentTab, page, showCounter, context }))}
|
|
34
35
|
</BlockWrapper>
|
|
35
36
|
);
|
|
36
37
|
});
|