@redneckz/wildless-cms-uni-blocks 0.6.39 → 0.6.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/BlockRenderer/BlockRendererOptions.d.ts +1 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +139 -111
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Carousel/CarouselContent.d.ts +1 -1
- package/bundle/components/CarouselCatalogCard/CarouselCatalogCard.d.ts +7 -0
- package/bundle/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +23 -0
- package/bundle/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +1 -1
- package/bundle/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +4 -4
- package/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +5 -0
- package/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +49 -0
- package/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +4 -0
- package/bundle/model/BlockVersion.d.ts +1 -0
- package/bundle/ui-kit/Button/ButtonSection.d.ts +1 -1
- package/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +1 -1
- package/dist/BlockRenderer/BlockRendererOptions.d.ts +1 -0
- package/dist/BlockRenderer/renderBlock.js +2 -2
- package/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/dist/components/Blocks.js +6 -2
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +3 -2
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/CarouselContent.d.ts +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.d.ts +7 -0
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +17 -0
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -0
- package/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +23 -0
- package/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.js +2 -0
- package/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.js.map +1 -0
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +12 -8
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +4 -4
- package/dist/components/CarouselProductCard/CarouselProductCard.d.ts +5 -0
- package/dist/components/CarouselProductCard/CarouselProductCard.js +32 -0
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -0
- package/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +49 -0
- package/dist/components/CarouselProductCard/CarouselProductCardContent.js +2 -0
- package/dist/components/CarouselProductCard/CarouselProductCardContent.js.map +1 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/dist/components/Gallery/GalleryCardInner.js +3 -2
- package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/dist/components/ProductTile/ProductTile.js +10 -22
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayout.js +18 -13
- package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +4 -0
- package/dist/model/BlockVersion.d.ts +1 -0
- package/dist/model/BlockVersion.js +5 -1
- package/dist/model/BlockVersion.js.map +1 -1
- package/dist/ui-kit/Button/ButtonSection.d.ts +1 -1
- package/dist/ui-kit/Button/ButtonSection.js +2 -2
- package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/lib/BlockRenderer/BlockRendererOptions.d.ts +1 -0
- package/lib/BlockRenderer/renderBlock.js +2 -2
- package/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +6 -2
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Carousel/Carousel.fixture.d.ts +4 -1
- package/lib/components/Carousel/Carousel.js +3 -2
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselContent.d.ts +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.d.ts +7 -0
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.fixture.d.ts +16 -0
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +15 -0
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -0
- package/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +23 -0
- package/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.js +2 -0
- package/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.js.map +1 -0
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +12 -8
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +4 -4
- package/lib/components/CarouselProductCard/CarouselProductCard.d.ts +5 -0
- package/lib/components/CarouselProductCard/CarouselProductCard.fixture.d.ts +8 -0
- package/lib/components/CarouselProductCard/CarouselProductCard.js +30 -0
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -0
- package/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +49 -0
- package/lib/components/CarouselProductCard/CarouselProductCardContent.js +2 -0
- package/lib/components/CarouselProductCard/CarouselProductCardContent.js.map +1 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.fixture.d.ts +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/lib/components/Gallery/GalleryCardInner.js +3 -2
- package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.fixture.d.ts +2 -1
- package/lib/components/ProductTile/ProductTile.js +11 -23
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayout.fixture.d.ts +2 -1
- package/lib/components/VerticalLayout/VerticalLayout.js +18 -13
- package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +4 -0
- package/lib/model/BlockVersion.d.ts +1 -0
- package/lib/model/BlockVersion.js +4 -0
- package/lib/model/BlockVersion.js.map +1 -1
- package/lib/ui-kit/Button/ButtonSection.d.ts +1 -1
- package/lib/ui-kit/Button/ButtonSection.js +2 -2
- package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/bundle/BlockRenderer/BlockRendererOptions.d.ts +1 -0
- package/mobile/bundle/bundle.umd.js +6 -6
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Carousel/CarouselContent.d.ts +1 -1
- package/mobile/bundle/components/CarouselCatalogCard/CarouselCatalogCard.d.ts +7 -0
- package/mobile/bundle/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +23 -0
- package/mobile/bundle/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +1 -1
- package/mobile/bundle/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +4 -4
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +5 -0
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +49 -0
- package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/mobile/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +4 -0
- package/mobile/bundle/model/BlockVersion.d.ts +1 -0
- package/mobile/bundle/ui-kit/Button/ButtonSection.d.ts +1 -1
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +1 -1
- package/mobile/dist/BlockRenderer/BlockRendererOptions.d.ts +1 -0
- package/mobile/dist/BlockRenderer/renderBlock.js +2 -2
- package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/dist/components/Carousel/Carousel.js +3 -2
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/Carousel/CarouselContent.d.ts +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.d.ts +7 -0
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +17 -0
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -0
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +23 -0
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.js +2 -0
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.js.map +1 -0
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +12 -8
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +4 -4
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.d.ts +5 -0
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +32 -0
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -0
- package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +49 -0
- package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.js +2 -0
- package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.js.map +1 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/mobile/dist/components/Gallery/GalleryCardInner.js +3 -2
- package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js +10 -22
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js +18 -13
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +4 -0
- package/mobile/dist/model/BlockVersion.d.ts +1 -0
- package/mobile/dist/model/BlockVersion.js +5 -1
- package/mobile/dist/model/BlockVersion.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonSection.d.ts +1 -1
- package/mobile/dist/ui-kit/Button/ButtonSection.js +2 -2
- package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/lib/BlockRenderer/BlockRendererOptions.d.ts +1 -0
- package/mobile/lib/BlockRenderer/renderBlock.js +2 -2
- package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/lib/components/Carousel/Carousel.js +3 -2
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/Carousel/CarouselContent.d.ts +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.d.ts +7 -0
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +15 -0
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -0
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +23 -0
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.js +2 -0
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.js.map +1 -0
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.d.ts +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +12 -8
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCardContent.d.ts +4 -4
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.d.ts +5 -0
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +30 -0
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -0
- package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +49 -0
- package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.js +2 -0
- package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.js.map +1 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/mobile/lib/components/Gallery/GalleryCardInner.js +3 -2
- package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js +11 -23
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js +18 -13
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +4 -0
- package/mobile/lib/model/BlockVersion.d.ts +1 -0
- package/mobile/lib/model/BlockVersion.js +4 -0
- package/mobile/lib/model/BlockVersion.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonSection.d.ts +1 -1
- package/mobile/lib/ui-kit/Button/ButtonSection.js +2 -2
- package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/src/BlockRenderer/BlockRendererOptions.ts +1 -0
- package/mobile/src/BlockRenderer/renderBlock.tsx +2 -1
- package/mobile/src/components/Carousel/Carousel.example.json +0 -1
- package/mobile/src/components/Carousel/Carousel.tsx +21 -18
- package/mobile/src/components/Carousel/CarouselContent.ts +1 -1
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.example.json +17 -0
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +62 -0
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.ui.json +10 -0
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCardContent.ts +25 -0
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +33 -14
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCardContent.ts +5 -5
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.example.json +21 -0
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +102 -0
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.ui.json +18 -0
- package/mobile/src/components/CarouselProductCard/CarouselProductCardContent.ts +51 -0
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +1 -1
- package/mobile/src/components/ContactsBlock/ContactsBlock.example.json +1 -1
- package/mobile/src/components/Gallery/GalleryCardInner.tsx +6 -3
- package/mobile/src/components/ProductTile/ProductTile.tsx +8 -26
- package/mobile/src/components/VerticalLayout/VerticalLayout.example.json +7 -4
- package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +35 -20
- package/mobile/src/components/VerticalLayout/VerticalLayoutContent.ts +4 -0
- package/mobile/src/model/BlockVersion.ts +5 -0
- package/mobile/src/ui-kit/Button/ButtonSection.tsx +4 -4
- package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +2 -2
- package/package.json +1 -1
- package/src/BlockRenderer/BlockRendererOptions.ts +1 -0
- package/src/BlockRenderer/renderBlock.tsx +2 -1
- package/src/components/Blocks.ts +6 -2
- package/src/components/Carousel/Carousel.example.json +0 -1
- package/src/components/Carousel/Carousel.fixture.tsx +64 -4
- package/src/components/Carousel/Carousel.tsx +21 -18
- package/src/components/Carousel/CarouselContent.ts +1 -1
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.example.json +17 -0
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.tsx +43 -0
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +62 -0
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.ui.json +10 -0
- package/src/components/CarouselCatalogCard/CarouselCatalogCardContent.ts +25 -0
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +33 -14
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCardContent.ts +5 -5
- package/src/components/CarouselProductCard/CarouselProductCard.example.json +21 -0
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +62 -0
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +102 -0
- package/src/components/CarouselProductCard/CarouselProductCard.ui.json +18 -0
- package/src/components/CarouselProductCard/CarouselProductCardContent.ts +51 -0
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.fixture.tsx +1 -1
- package/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +1 -1
- package/src/components/ContactsBlock/ContactsBlock.example.json +1 -1
- package/src/components/Gallery/GalleryCardInner.tsx +6 -3
- package/src/components/ProductTile/ProductTile.fixture.tsx +2 -1
- package/src/components/ProductTile/ProductTile.tsx +8 -26
- package/src/components/VerticalLayout/VerticalLayout.example.json +7 -4
- package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +59 -2
- package/src/components/VerticalLayout/VerticalLayout.tsx +35 -20
- package/src/components/VerticalLayout/VerticalLayoutContent.ts +4 -0
- package/src/model/BlockVersion.ts +5 -0
- package/src/ui-kit/Button/ButtonSection.tsx +4 -4
- package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +2 -2
|
@@ -30,23 +30,25 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
|
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
return (
|
|
33
|
-
<BlockWrapper className={`
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<div
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
33
|
+
<BlockWrapper className={`font-sans p-12 ${className}`} {...rest}>
|
|
34
|
+
<div className="relative max-w-full">
|
|
35
|
+
<SwipeListContainer
|
|
36
|
+
containerRef={containerRef}
|
|
37
|
+
visibleItemCount={visibleItemCount}
|
|
38
|
+
snapAlign="snap-start"
|
|
39
|
+
gap={ITEMS_GAP}
|
|
40
|
+
onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
|
|
41
|
+
>
|
|
42
|
+
{renderChildren(rest)}
|
|
43
|
+
</SwipeListContainer>
|
|
44
|
+
{(scroll.canScrollLeft || scroll.canScrollRight) && isBlur ? (
|
|
45
|
+
<div>
|
|
46
|
+
<div className={`${blurBaseStyle} left-0 bg-opacity-from-white`} />
|
|
47
|
+
<div className={`${blurBaseStyle} right-0 bg-opacity-to-white`} />
|
|
48
|
+
</div>
|
|
49
|
+
) : null}
|
|
50
|
+
{renderScrollButtons(scroll)}
|
|
51
|
+
</div>
|
|
50
52
|
</BlockWrapper>
|
|
51
53
|
);
|
|
52
54
|
},
|
|
@@ -54,8 +56,9 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
|
|
|
54
56
|
|
|
55
57
|
Carousel.childrenTypes = [
|
|
56
58
|
'CarouselCard',
|
|
59
|
+
'CarouselCatalogCard',
|
|
57
60
|
'CarouselTariffsCard',
|
|
58
|
-
'
|
|
61
|
+
'CarouselProductCard',
|
|
59
62
|
'CarouselProgramsCard',
|
|
60
63
|
'CarouselInvestmentCard',
|
|
61
64
|
];
|
|
@@ -6,7 +6,7 @@ export interface CarouselContent {
|
|
|
6
6
|
* @title Количество видимых карточек
|
|
7
7
|
* @enumNames ["auto", "1", "2", "3"]
|
|
8
8
|
*/
|
|
9
|
-
visibleItemCount?: 0 | 1 | 2 | 3;
|
|
9
|
+
visibleItemCount?: 0 | 1 | 2 | 3 | 4;
|
|
10
10
|
/** @title Добавление блюра */
|
|
11
11
|
isBlur?: boolean;
|
|
12
12
|
/** @title Цикличность */
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Заголовок карточки 1",
|
|
3
|
+
"description": "Описание карточки",
|
|
4
|
+
"image": {
|
|
5
|
+
"format": "webp",
|
|
6
|
+
"size": {
|
|
7
|
+
"width": 230,
|
|
8
|
+
"height": 230
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"button": {
|
|
12
|
+
"href": "",
|
|
13
|
+
"text": "Подробнее",
|
|
14
|
+
"target": "_self",
|
|
15
|
+
"version": "primary"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
3
|
+
import { VersionStyleMap } from '../../model/BlockVersion';
|
|
4
|
+
import type { ProductColorVersion } from '../../model/ProductColorVersion';
|
|
5
|
+
import { renderButton } from '../../ui-kit/Button/ButtonSection';
|
|
6
|
+
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
|
+
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
9
|
+
import { Text } from '../../ui-kit/Text/Text';
|
|
10
|
+
import type { CarouselCatalogCardContent } from './CarouselCatalogCardContent';
|
|
11
|
+
|
|
12
|
+
export interface CarouselCatalogCardProps extends CarouselCatalogCardContent {
|
|
13
|
+
className?: string;
|
|
14
|
+
version?: BlockVersion;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const cardStyleMap: Record<ProductColorVersion, string> = {
|
|
18
|
+
black: 'bg-black',
|
|
19
|
+
white: 'bg-white',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const CarouselCatalogCard = JSX<CarouselCatalogCardProps>(
|
|
23
|
+
({ className = '', title, description, image, price, button, colors, version = 'primary' }) => (
|
|
24
|
+
<section
|
|
25
|
+
className={`border box-border border-main-stroke p-7 min-w-[392px] flex flex-col justify-left ${VersionStyleMap[version]} ${className}`}
|
|
26
|
+
role="listitem"
|
|
27
|
+
>
|
|
28
|
+
{image?.src ? <Img className="mb-5 flex justify-center" image={image} /> : null}
|
|
29
|
+
{title ? (
|
|
30
|
+
<Heading headingType="h6" as="h4" className="text-left mb-1.5" title={title} />
|
|
31
|
+
) : null}
|
|
32
|
+
{description ? (
|
|
33
|
+
<div className="mb-4">
|
|
34
|
+
<Paragraph size="text-m" align="text-left" font="font-light">
|
|
35
|
+
{description}
|
|
36
|
+
</Paragraph>
|
|
37
|
+
</div>
|
|
38
|
+
) : null}
|
|
39
|
+
{colors?.length ? (
|
|
40
|
+
<div className="flex mb-4 text-s-light text-secondary-text">
|
|
41
|
+
<div className="mr-1.5">
|
|
42
|
+
<Text>Доступные цвета: </Text>
|
|
43
|
+
</div>
|
|
44
|
+
{colors.map(renderColorOption)}
|
|
45
|
+
</div>
|
|
46
|
+
) : null}
|
|
47
|
+
{price ? (
|
|
48
|
+
<Text size="text-h3" align="text-left">
|
|
49
|
+
{price} ₽
|
|
50
|
+
</Text>
|
|
51
|
+
) : null}
|
|
52
|
+
{button ? renderButton({ button, buttonClassName: 'mt-5 w-full' }) : null}
|
|
53
|
+
</section>
|
|
54
|
+
),
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
const renderColorOption = (color: ProductColorVersion, i: number) => (
|
|
58
|
+
<span
|
|
59
|
+
key={String(i)}
|
|
60
|
+
className={`w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}`}
|
|
61
|
+
/>
|
|
62
|
+
);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
2
|
+
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
3
|
+
import type { ProductColorVersion } from '../../model/ProductColorVersion';
|
|
4
|
+
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
5
|
+
import type { ImageContent } from '../../ui-kit/Img/ImgProps';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @title Карточка каталога
|
|
9
|
+
*/
|
|
10
|
+
export type CarouselCatalogCardContent = HeadlineCommonProps &
|
|
11
|
+
ImageContent & {
|
|
12
|
+
/** @title Цена в рублях */
|
|
13
|
+
price?: number;
|
|
14
|
+
/** @title Доступные цвета */
|
|
15
|
+
colors?: ProductColorVersion[];
|
|
16
|
+
/**
|
|
17
|
+
* @title Кнопка
|
|
18
|
+
* @default {
|
|
19
|
+
* "icon": { "format": "webp", "size": { "width": 24, "height": 24 } },
|
|
20
|
+
* "iconRight" : { "format": "webp", "size": { "width": 24, "height": 24 } }
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
button?: ButtonWithIconProps;
|
|
24
|
+
version?: BlockVersion;
|
|
25
|
+
};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { VersionAdditionalStyleMap, VersionStyleMap } from '../../model/BlockVersion';
|
|
3
3
|
import { BorderVersionStyleMap } from '../../model/BorderVersion';
|
|
4
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
5
|
+
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
6
|
+
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
|
+
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { Text } from '../../ui-kit/Text/Text';
|
|
9
|
+
import type { TextColor } from '../../ui-kit/Text/TextProps';
|
|
10
|
+
import { BaseTile } from '../BaseTile/BaseTile';
|
|
4
11
|
import type {
|
|
5
12
|
CardColumnsMode,
|
|
6
13
|
CardsListItem,
|
|
7
14
|
CarouselInvestmentCardContent,
|
|
8
15
|
} from './CarouselInvestmentCardContent';
|
|
9
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
10
|
-
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
11
|
-
import { Img } from '../../ui-kit/Img/Img';
|
|
12
|
-
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
13
16
|
|
|
14
17
|
export interface CarouselInvestmentCardProps extends CarouselInvestmentCardContent, UniBlockProps {}
|
|
15
18
|
|
|
@@ -42,17 +45,29 @@ export const CarouselInvestmentCard = JSX<CarouselInvestmentCardProps>(
|
|
|
42
45
|
|
|
43
46
|
return (
|
|
44
47
|
<BlockWrapper
|
|
45
|
-
className={
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
className={[
|
|
49
|
+
'relative text-left border border-solid box-border p-9 w-[697px]',
|
|
50
|
+
VersionStyleMap[version],
|
|
51
|
+
BorderVersionStyleMap[version],
|
|
52
|
+
className,
|
|
53
|
+
].join(' ')}
|
|
49
54
|
{...rest}
|
|
50
55
|
>
|
|
51
56
|
<BaseTile title={tileTitle} image={tileImage}>
|
|
52
57
|
<div className="flex justify-between mb-4">
|
|
53
|
-
{description ?
|
|
58
|
+
{description ? (
|
|
59
|
+
<div className="w-1/3">
|
|
60
|
+
<Text size="text-h6">{description}</Text>
|
|
61
|
+
</div>
|
|
62
|
+
) : null}
|
|
54
63
|
{additionalDescription ? (
|
|
55
|
-
<
|
|
64
|
+
<Text
|
|
65
|
+
size="text-m"
|
|
66
|
+
font="font-light"
|
|
67
|
+
color={VersionAdditionalStyleMap[version] as TextColor}
|
|
68
|
+
>
|
|
69
|
+
{additionalDescription}
|
|
70
|
+
</Text>
|
|
56
71
|
) : null}
|
|
57
72
|
</div>
|
|
58
73
|
{cardsList.length ? (
|
|
@@ -73,10 +88,14 @@ const renderCardList = (cardsList: CardsListItem[], columnsMode: number) => {
|
|
|
73
88
|
return visibleCardsList.map((item, i) => (
|
|
74
89
|
<li key={String(i)} className={columnsMode === 2 ? 'basis-[calc(50%-20px)]' : ''}>
|
|
75
90
|
{item?.parameter ? (
|
|
76
|
-
<
|
|
91
|
+
<div className="pr-2.5">
|
|
92
|
+
<Text size={getItemListFontSize(columnsMode)}>{item.parameter}</Text>
|
|
93
|
+
</div>
|
|
77
94
|
) : null}
|
|
78
95
|
{item?.parameterDescription ? (
|
|
79
|
-
<
|
|
96
|
+
<Text size="text-m" font="font-light" color="text-secondary-text">
|
|
97
|
+
{item.parameterDescription}
|
|
98
|
+
</Text>
|
|
80
99
|
) : null}
|
|
81
100
|
</li>
|
|
82
101
|
));
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import type { BlockVersion } from '../../model/BlockVersion';
|
|
2
|
-
import type { Picture } from '../../model/Picture';
|
|
3
2
|
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @title Карточка галереи инвестиций
|
|
7
|
-
*/
|
|
3
|
+
import type { Picture } from '../../model/Picture';
|
|
8
4
|
|
|
9
5
|
/**
|
|
10
6
|
* @title Количество колонок
|
|
@@ -21,6 +17,10 @@ export interface CardsListItem {
|
|
|
21
17
|
/** @title Описание */
|
|
22
18
|
parameterDescription?: string;
|
|
23
19
|
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @title Карточка галереи инвестиций
|
|
23
|
+
*/
|
|
24
24
|
export interface CarouselInvestmentCardContent extends HeadlineCommonProps {
|
|
25
25
|
/** @title Доп. описание карточки */
|
|
26
26
|
additionalDescription?: string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"content": {
|
|
3
|
+
"icon": {
|
|
4
|
+
"format": "webp",
|
|
5
|
+
"size": {
|
|
6
|
+
"width": 140,
|
|
7
|
+
"height": 140
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"title": "Заголовок 1",
|
|
11
|
+
"description": "Описание 1",
|
|
12
|
+
"href": "/credit-cards",
|
|
13
|
+
"version": "primary",
|
|
14
|
+
"isDotted": true,
|
|
15
|
+
"items": [
|
|
16
|
+
{ "text": "Элемент списка 1", "title": "Элемент заголовка 1" },
|
|
17
|
+
{ "text": "Элемент списка 2", "title": "Элемент заголовка 2" },
|
|
18
|
+
{ "text": "Элемент списка 3", "title": "Элемент заголовка 3" }
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { AlignText } from '../../model/AlignText';
|
|
3
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
4
|
+
import { VersionStyleMap } from '../../model/BlockVersion';
|
|
5
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
6
|
+
import type { Picture } from '../../model/Picture';
|
|
7
|
+
import { renderButton } from '../../ui-kit/Button/ButtonSection';
|
|
8
|
+
import { Img } from '../../ui-kit/Img/Img';
|
|
9
|
+
import { List } from '../../ui-kit/List/List';
|
|
10
|
+
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
11
|
+
import { Text } from '../../ui-kit/Text/Text';
|
|
12
|
+
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
13
|
+
import { HEADLINE_SMALL_VERSION } from '../Headline/constants';
|
|
14
|
+
import type { CarouselProductCardContent, ListProps } from './CarouselProductCardContent';
|
|
15
|
+
|
|
16
|
+
export interface CarouselProductCardProps extends CarouselProductCardContent, UniBlockProps {}
|
|
17
|
+
|
|
18
|
+
const descriptionStyleMap: Record<BlockVersion, string> = {
|
|
19
|
+
primary: 'text-secondary-text',
|
|
20
|
+
secondary: 'text-white/80',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const BORDER_STYLE = 'box-border border-solid border border-main-stroke ';
|
|
24
|
+
|
|
25
|
+
export const CarouselProductCard = JSX<CarouselProductCardProps>(
|
|
26
|
+
({
|
|
27
|
+
title,
|
|
28
|
+
headlineSmallVersion = 'H6',
|
|
29
|
+
description,
|
|
30
|
+
additionalDescription,
|
|
31
|
+
icon,
|
|
32
|
+
items = [],
|
|
33
|
+
button = {},
|
|
34
|
+
version = 'primary',
|
|
35
|
+
isDotted = true,
|
|
36
|
+
align = 'center',
|
|
37
|
+
}) => {
|
|
38
|
+
return (
|
|
39
|
+
<section
|
|
40
|
+
className={[
|
|
41
|
+
'flex flex-col justify-between items-stretch min-w-[260px] h-full w-full p-6',
|
|
42
|
+
BORDER_STYLE,
|
|
43
|
+
AlignText[align],
|
|
44
|
+
VersionStyleMap[version],
|
|
45
|
+
].join(' ')}
|
|
46
|
+
role="listitem"
|
|
47
|
+
>
|
|
48
|
+
<div className="flex flex-col h-full">
|
|
49
|
+
{renderImage(icon, version)}
|
|
50
|
+
{renderCardTitle(headlineSmallVersion, title)}
|
|
51
|
+
{renderDescription(description, title)}
|
|
52
|
+
{renderItems(items, isDotted, version)}
|
|
53
|
+
{renderAdditionalDescription(additionalDescription, version)}
|
|
54
|
+
</div>
|
|
55
|
+
{renderButton({ button, buttonClassName: 'mt-6' })}
|
|
56
|
+
</section>
|
|
57
|
+
);
|
|
58
|
+
},
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
const renderImage = (image?: Picture, version?: BlockVersion) => (
|
|
62
|
+
<div className="flex justify-center">
|
|
63
|
+
{image?.src ? <Img className="mb-5" image={image} /> : null}
|
|
64
|
+
{image?.icon ? (
|
|
65
|
+
<Img
|
|
66
|
+
className={`w-[32px] h-[32px] min-w-[32px] mb-5 rounded-full`}
|
|
67
|
+
image={getIconWithVersion(image, version)}
|
|
68
|
+
asSVG
|
|
69
|
+
/>
|
|
70
|
+
) : null}
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
const renderCardTitle = (headlineSmallVersion: string, title?: string) =>
|
|
75
|
+
title ? <Text size={HEADLINE_SMALL_VERSION[headlineSmallVersion]}>{title}</Text> : null;
|
|
76
|
+
|
|
77
|
+
const renderDescription = (description?: string, title?: string) =>
|
|
78
|
+
description ? (
|
|
79
|
+
<div className={title ? 'mt-2' : ''}>
|
|
80
|
+
<Paragraph size="text-l">{description}</Paragraph>
|
|
81
|
+
</div>
|
|
82
|
+
) : null;
|
|
83
|
+
|
|
84
|
+
const renderAdditionalDescription = (additionalDescription?: string, version = 'primary') =>
|
|
85
|
+
additionalDescription ? (
|
|
86
|
+
<div className="mt-auto">
|
|
87
|
+
<Text size="text-m" font="font-light" color={descriptionStyleMap[version]}>
|
|
88
|
+
{additionalDescription}
|
|
89
|
+
</Text>
|
|
90
|
+
</div>
|
|
91
|
+
) : null;
|
|
92
|
+
|
|
93
|
+
const renderItems = (items: ListProps[], isDotted: boolean, version: BlockVersion = 'primary') =>
|
|
94
|
+
items?.length ? (
|
|
95
|
+
<List
|
|
96
|
+
className={`max-w-[308px] mt-2 text-s ${version === 'primary' ? '!text-secondary-text' : ''}`}
|
|
97
|
+
itemClassName="text-left"
|
|
98
|
+
items={items.filter((item) => item?.text).map((item) => item.text as string)}
|
|
99
|
+
isDotted={isDotted}
|
|
100
|
+
version={version}
|
|
101
|
+
/>
|
|
102
|
+
) : null;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { AlignType } from '../../model/AlignType';
|
|
2
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
3
|
+
import type { HeadlineSmallProps } from '../../model/HeadlineType';
|
|
4
|
+
import type { Picture } from '../../model/Picture';
|
|
5
|
+
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @title Элемент списка
|
|
9
|
+
*/
|
|
10
|
+
export interface ListProps {
|
|
11
|
+
/** @title Текст */
|
|
12
|
+
text?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @title Карточка продуктовой карусели
|
|
17
|
+
*/
|
|
18
|
+
export type CarouselProductCardContent = HeadlineSmallProps & {
|
|
19
|
+
/** @title Дополнительное описание */
|
|
20
|
+
additionalDescription?: string;
|
|
21
|
+
/**
|
|
22
|
+
* @default {
|
|
23
|
+
* "format": "webp",
|
|
24
|
+
* "size": {
|
|
25
|
+
* "width": 140
|
|
26
|
+
* },
|
|
27
|
+
* "sources": [{
|
|
28
|
+
* "media": 1279,
|
|
29
|
+
* "width": 84,
|
|
30
|
+
* "format": "webp",
|
|
31
|
+
* "alignment": "center"
|
|
32
|
+
* }]
|
|
33
|
+
* }
|
|
34
|
+
*/
|
|
35
|
+
icon?: Picture;
|
|
36
|
+
/** @title Кнопка */
|
|
37
|
+
button?: ButtonWithIconProps;
|
|
38
|
+
/**
|
|
39
|
+
* @title Буллиты
|
|
40
|
+
* @default true
|
|
41
|
+
*/
|
|
42
|
+
isDotted?: boolean;
|
|
43
|
+
/** @title Список */
|
|
44
|
+
items?: ListProps[];
|
|
45
|
+
version?: BlockVersion;
|
|
46
|
+
/**
|
|
47
|
+
* @title Выравнивание
|
|
48
|
+
* @default center
|
|
49
|
+
*/
|
|
50
|
+
align?: AlignType;
|
|
51
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
1
2
|
import type { HeadlineCommonProps, TitleProps } from '../../model/HeadlineType';
|
|
2
3
|
import type { Picture } from '../../model/Picture';
|
|
3
|
-
import type { BlockVersion } from '../../model/BlockVersion';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @title Карточка программ карусели
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { AlignText } from '../../model/AlignText';
|
|
3
3
|
import type { BlockVersion } from '../../model/BlockVersion';
|
|
4
|
+
import { VersionAdditionalStyleMap } from '../../model/BlockVersion';
|
|
4
5
|
import type { Picture } from '../../model/Picture';
|
|
5
6
|
import { renderButton } from '../../ui-kit/Button/ButtonSection';
|
|
6
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
@@ -29,7 +30,7 @@ export const GalleryCardInner = JSX<GalleryCardProps>(
|
|
|
29
30
|
{renderCardTitle(headlineSmallVersion, title)}
|
|
30
31
|
{renderDescription(description, title)}
|
|
31
32
|
{items?.length ? renderItems(items, isDotted, version) : null}
|
|
32
|
-
{renderAdditionalDescription(additionalDescription)}
|
|
33
|
+
{renderAdditionalDescription(additionalDescription, version)}
|
|
33
34
|
</div>
|
|
34
35
|
{button?.text
|
|
35
36
|
? renderButton({
|
|
@@ -60,9 +61,11 @@ const renderCardTitle = (headlineSmallVersion: string, title?: string) =>
|
|
|
60
61
|
const renderDescription = (description?: string, title?: string) =>
|
|
61
62
|
description ? <div className={`text-l ${title ? 'mt-2' : ''}`}>{description}</div> : null;
|
|
62
63
|
|
|
63
|
-
const renderAdditionalDescription = (additionalDescription?: string) =>
|
|
64
|
+
const renderAdditionalDescription = (additionalDescription?: string, version?: BlockVersion) =>
|
|
64
65
|
additionalDescription ? (
|
|
65
|
-
<div className=
|
|
66
|
+
<div className={`text-m-light mt-auto ${VersionAdditionalStyleMap[version ?? 'primary']}`}>
|
|
67
|
+
{additionalDescription}
|
|
68
|
+
</div>
|
|
66
69
|
) : null;
|
|
67
70
|
|
|
68
71
|
const renderItems = (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { BlockVersion } from '../../model/BlockVersion';
|
|
3
|
-
import { VersionStyleMap } from '../../model/BlockVersion';
|
|
3
|
+
import { VersionAdditionalStyleMap, VersionStyleMap } from '../../model/BlockVersion';
|
|
4
4
|
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
5
5
|
import type { Picture } from '../../model/Picture';
|
|
6
6
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
@@ -41,9 +41,7 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
41
41
|
{...rest}
|
|
42
42
|
/>
|
|
43
43
|
{renderBenefits(benefits, version, image)}
|
|
44
|
-
{additionalDescription
|
|
45
|
-
? renderAdditionalDescription(additionalDescription, image, version)
|
|
46
|
-
: null}
|
|
44
|
+
{additionalDescription ? renderAdditionalDescription(additionalDescription, image) : null}
|
|
47
45
|
{buttons?.length ? (
|
|
48
46
|
<ButtonSection buttons={buttons} className="flex self-end mt-5 gap-4 z-10 text-l" />
|
|
49
47
|
) : null}
|
|
@@ -66,42 +64,26 @@ function renderBenefits(benefits: TextBenefit[], version: BlockVersion, image?:
|
|
|
66
64
|
);
|
|
67
65
|
}
|
|
68
66
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
secondary: 'text-white',
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
return function renderVersionedBenefit(benefit: TextBenefit, i: number) {
|
|
67
|
+
const renderBenefit =
|
|
68
|
+
(version: BlockVersion = 'primary') =>
|
|
69
|
+
(benefit: TextBenefit, i: number) => {
|
|
76
70
|
const { label = '', description = '' } = benefit;
|
|
77
71
|
|
|
78
72
|
return [
|
|
79
73
|
<div key={`label-${i}`} className="text-h6">
|
|
80
74
|
{label}
|
|
81
75
|
</div>,
|
|
82
|
-
<div key={`desc-${i}`} className={`text-m-light ${
|
|
76
|
+
<div key={`desc-${i}`} className={`text-m-light ${VersionAdditionalStyleMap[version]}`}>
|
|
83
77
|
{description}
|
|
84
78
|
</div>,
|
|
85
79
|
];
|
|
86
80
|
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function renderAdditionalDescription(
|
|
90
|
-
additionalDescription: string,
|
|
91
|
-
image?: Picture,
|
|
92
|
-
version: BlockVersion = 'primary',
|
|
93
|
-
) {
|
|
94
|
-
const descStyleMap: Record<BlockVersion, string> = {
|
|
95
|
-
primary: 'text-secondary-text',
|
|
96
|
-
secondary: 'text-white',
|
|
97
|
-
};
|
|
98
81
|
|
|
82
|
+
function renderAdditionalDescription(additionalDescription: string, image?: Picture) {
|
|
99
83
|
// picture width = 242px. Text can overlay picture 20px deep. Outer paddings_x = 36px. 242-36-20 = 186px
|
|
100
84
|
const DESCRIPTION_WIDTH = image?.src ? 'max-w-[calc(100%-186px)]' : '100%';
|
|
101
85
|
|
|
102
86
|
return (
|
|
103
|
-
<div className={`text-m-light mt-2.5 z-10 ${DESCRIPTION_WIDTH}
|
|
104
|
-
{additionalDescription}
|
|
105
|
-
</div>
|
|
87
|
+
<div className={`text-m-light mt-2.5 z-10 ${DESCRIPTION_WIDTH}`}>{additionalDescription}</div>
|
|
106
88
|
);
|
|
107
89
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"content": {
|
|
3
|
+
"version": "transparent",
|
|
4
|
+
"isPadding": false,
|
|
5
|
+
"isInnerPadding": true,
|
|
6
|
+
"align": "left",
|
|
7
|
+
"gap": ""
|
|
8
|
+
},
|
|
6
9
|
"blocks": [
|
|
7
10
|
{
|
|
8
11
|
"type": "Headline",
|