@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
|
@@ -15,10 +15,10 @@ const alignStyle: Record<AlignType, string> = {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
const gapStyleMap: Record<GapVersion, string> = {
|
|
18
|
-
XXL: 'gap-
|
|
19
|
-
XL: 'gap-
|
|
20
|
-
L: 'gap-
|
|
21
|
-
M: 'gap-
|
|
18
|
+
XXL: 'gap-12',
|
|
19
|
+
XL: 'gap-10',
|
|
20
|
+
L: 'gap-8',
|
|
21
|
+
M: 'gap-4',
|
|
22
22
|
S: 'gap-2',
|
|
23
23
|
XS: 'gap-1',
|
|
24
24
|
'': '',
|
|
@@ -31,22 +31,37 @@ const backgroundStyleMap: Record<BlockVersionWithTransparent, string> = {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
export const VerticalLayout: JSXBlock<VerticalLayoutProps> = JSX<VerticalLayoutProps>(
|
|
34
|
-
({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
({
|
|
35
|
+
className = '',
|
|
36
|
+
gap = '',
|
|
37
|
+
align,
|
|
38
|
+
isPadding = false,
|
|
39
|
+
isInnerPadding = true,
|
|
40
|
+
version = 'transparent',
|
|
41
|
+
options,
|
|
42
|
+
...rest
|
|
43
|
+
}) => {
|
|
44
|
+
const paddingStyle = isPadding ? 'p-12' : '';
|
|
45
|
+
const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<BlockWrapper
|
|
49
|
+
className={[
|
|
50
|
+
'flex flex-col [&>*]:max-w-full',
|
|
51
|
+
paddingStyle,
|
|
52
|
+
gapStyleMap[gap],
|
|
53
|
+
align && alignStyle[align],
|
|
54
|
+
backgroundStyleMap[version],
|
|
55
|
+
className,
|
|
56
|
+
]
|
|
57
|
+
.filter(Boolean)
|
|
58
|
+
.join(' ')}
|
|
59
|
+
{...rest}
|
|
60
|
+
>
|
|
61
|
+
{renderChildren({ ...rest, options: { ...options, className: innerPaddingStyle } })}
|
|
62
|
+
</BlockWrapper>
|
|
63
|
+
);
|
|
64
|
+
},
|
|
50
65
|
);
|
|
51
66
|
|
|
52
67
|
VerticalLayout.childrenTypes = {
|
|
@@ -16,4 +16,8 @@ export interface VerticalLayoutContent {
|
|
|
16
16
|
version?: BlockVersionWithTransparent;
|
|
17
17
|
align?: AlignType;
|
|
18
18
|
gap?: GapVersion;
|
|
19
|
+
/** @title Внутренний отступ компоновщика */
|
|
20
|
+
isPadding?: boolean;
|
|
21
|
+
/** @title Отступы вложенных компонентов */
|
|
22
|
+
isInnerPadding?: boolean;
|
|
19
23
|
}
|
|
@@ -15,6 +15,11 @@ export const VersionStyleMap: Record<BlockVersion, string> = {
|
|
|
15
15
|
secondary: 'bg-primary-main text-white',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
+
export const VersionAdditionalStyleMap: Record<BlockVersion, string> = {
|
|
19
|
+
primary: 'text-secondary-text',
|
|
20
|
+
secondary: 'text-white',
|
|
21
|
+
};
|
|
22
|
+
|
|
18
23
|
export const VersionWithTransparentStyleMap: Record<BlockVersionWithTransparent, string> = {
|
|
19
24
|
transparent: '',
|
|
20
25
|
primary: 'bg-white text-primary-text',
|
|
@@ -22,23 +22,23 @@ export const ButtonSection = JSX<ButtonSectionProps>(({ className = '', buttons
|
|
|
22
22
|
);
|
|
23
23
|
|
|
24
24
|
export function renderButton({ button, buttonClassName, index }: RenderButtonProps) {
|
|
25
|
-
const { icon, iconRight, version, ...rest } = button;
|
|
25
|
+
const { icon, iconRight, version, text, ...rest } = button;
|
|
26
26
|
|
|
27
27
|
const iconVersion = version === 'secondary' ? 'color' : 'white';
|
|
28
|
-
|
|
29
28
|
const leftIcon = renderButtonIcon({ ...icon, iconVersion: iconVersion } as Picture);
|
|
30
29
|
const rightIcon = renderButtonIcon({ ...iconRight, iconVersion: iconVersion } as Picture);
|
|
31
30
|
|
|
32
|
-
return (
|
|
31
|
+
return text ? (
|
|
33
32
|
<Button
|
|
34
33
|
key={index ? String(index) : ''}
|
|
35
34
|
className={buttonClassName}
|
|
36
35
|
appendLeft={leftIcon}
|
|
37
36
|
appendRight={rightIcon}
|
|
38
37
|
version={version}
|
|
38
|
+
text={text}
|
|
39
39
|
{...rest}
|
|
40
40
|
/>
|
|
41
|
-
);
|
|
41
|
+
) : null;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
const renderButtonIcon = (icon: Picture) => {
|
|
@@ -16,13 +16,13 @@ interface SwipeListContainerProps extends SwipeContainerProps {
|
|
|
16
16
|
className?: string;
|
|
17
17
|
containerRef?: { current: HTMLDivElement | null };
|
|
18
18
|
activeIndex?: number;
|
|
19
|
-
visibleItemCount?: SwipeListItemWidthAuto | 1 | 2 | 3;
|
|
19
|
+
visibleItemCount?: SwipeListItemWidthAuto | 1 | 2 | 3 | 4;
|
|
20
20
|
snapAlign?: 'snap-start' | 'snap-center' | 'snap-end';
|
|
21
21
|
onVisibleItemsChange?: (itemsVisibilityList: ItemsVisibilityList) => void;
|
|
22
22
|
onVisibleIndicesChange?: (indices: number[]) => void;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]'];
|
|
25
|
+
const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
|
|
26
26
|
|
|
27
27
|
export const SwipeListContainer = JSX<SwipeListContainerProps>(
|
|
28
28
|
({
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ export function renderBlock(block: BlockDef, options: BlockRendererOptions) {
|
|
|
13
13
|
blockDecorator = defaultBlockDecorator,
|
|
14
14
|
blocksRegistry = {},
|
|
15
15
|
ancestors = DEFAULT_ANCESTORS,
|
|
16
|
+
className = '',
|
|
16
17
|
} = options;
|
|
17
18
|
const { type } = block;
|
|
18
19
|
|
|
@@ -24,7 +25,7 @@ export function renderBlock(block: BlockDef, options: BlockRendererOptions) {
|
|
|
24
25
|
|
|
25
26
|
return blockDecorator(
|
|
26
27
|
{
|
|
27
|
-
blockClassName: `scroll-mt-12 ${style2className(block.style || DEFAULT_STYLE)}`, // TODO scroll-mt-12 ? here?
|
|
28
|
+
blockClassName: `scroll-mt-12 ${className} ${style2className(block.style || DEFAULT_STYLE)}`, // TODO scroll-mt-12 ? here?
|
|
28
29
|
block,
|
|
29
30
|
ancestors,
|
|
30
31
|
// Adjusted by decorator block and blockClassName
|
package/src/components/Blocks.ts
CHANGED
|
@@ -9,7 +9,10 @@ import { Calculator } from './Calculator/Calculator';
|
|
|
9
9
|
import { CardTransfer } from './CardTransfer/CardTransfer';
|
|
10
10
|
import { Carousel } from './Carousel/Carousel';
|
|
11
11
|
import { CarouselCard } from './CarouselCard/CarouselCard';
|
|
12
|
+
import { CarouselCatalogCard } from './CarouselCatalogCard/CarouselCatalogCard';
|
|
13
|
+
import { CarouselInvestmentCard } from './CarouselInvestmentCard/CarouselInvestmentCard';
|
|
12
14
|
import { CarouselLinks } from './CarouselLinks/CarouselLinks';
|
|
15
|
+
import { CarouselProductCard } from './CarouselProductCard/CarouselProductCard';
|
|
13
16
|
import { CarouselProgramsCard } from './CarouselProgramsCard/CarouselProgramsCard';
|
|
14
17
|
import { CarouselTariffsCard } from './CarouselTariffsCard/CarouselTariffsCard';
|
|
15
18
|
import { Catalog } from './Catalog/Catalog';
|
|
@@ -49,7 +52,6 @@ import { TextBlock } from './TextBlock/TextBlock';
|
|
|
49
52
|
import { Tile } from './Tile/Tile';
|
|
50
53
|
import { VerticalLayout } from './VerticalLayout/VerticalLayout';
|
|
51
54
|
import { Video } from './Video/Video';
|
|
52
|
-
import { CarouselInvestmentCard } from './CarouselInvestmentCard/CarouselInvestmentCard';
|
|
53
55
|
|
|
54
56
|
export const Blocks: BlocksRegistry = {
|
|
55
57
|
Accordion,
|
|
@@ -62,7 +64,10 @@ export const Blocks: BlocksRegistry = {
|
|
|
62
64
|
Calculator,
|
|
63
65
|
Carousel,
|
|
64
66
|
CarouselCard,
|
|
67
|
+
CarouselCatalogCard,
|
|
68
|
+
CarouselInvestmentCard,
|
|
65
69
|
CarouselLinks,
|
|
70
|
+
CarouselProductCard,
|
|
66
71
|
CarouselProgramsCard,
|
|
67
72
|
CarouselTariffsCard,
|
|
68
73
|
Catalog,
|
|
@@ -102,5 +107,4 @@ export const Blocks: BlocksRegistry = {
|
|
|
102
107
|
Tile,
|
|
103
108
|
VerticalLayout,
|
|
104
109
|
Video,
|
|
105
|
-
CarouselInvestmentCard,
|
|
106
110
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import type { BlockRendererOptions } from '../../BlockRenderer/BlockRendererOptions';
|
|
1
2
|
import '../../setup-fixture';
|
|
2
3
|
import { Blocks } from '../Blocks';
|
|
3
4
|
import { CARD, CARD_MINI, CARD_NEW } from '../CarouselCard/CarouselCard.fixture';
|
|
4
|
-
import {
|
|
5
|
+
import { CATALOG_CARD } from '../CarouselCatalogCard/CarouselCatalogCard.fixture';
|
|
6
|
+
import { INVESTMENT_CARD_WITH_SINGLE_COLUMN } from '../CarouselInvestmentCard/CarouselInvestmentCard.fixture';
|
|
7
|
+
import { PRODUCT_CARD } from '../CarouselProductCard/CarouselProductCard.fixture';
|
|
5
8
|
import { BUSINESS_CARD } from '../CarouselProgramsCard/CarouselProgramsCard.fixture';
|
|
9
|
+
import { TARIFFS_CARD, TARIFFS_CARD_HIT } from '../CarouselTariffsCard/CarouselTariffsCard.fixture';
|
|
6
10
|
import { Carousel } from './Carousel';
|
|
7
|
-
import { INVESTMENT_CARD_WITH_SINGLE_COLUMN } from '../CarouselInvestmentCard/CarouselInvestmentCard.fixture';
|
|
8
|
-
import type { BlockRendererOptions } from '../../BlockRenderer/BlockRendererOptions';
|
|
9
11
|
|
|
10
12
|
const options = {
|
|
11
13
|
blocksRegistry: Blocks,
|
|
@@ -30,7 +32,7 @@ export default {
|
|
|
30
32
|
/>
|
|
31
33
|
</div>
|
|
32
34
|
),
|
|
33
|
-
'
|
|
35
|
+
'mini cards': (
|
|
34
36
|
<div className="container grid grid-cols-12">
|
|
35
37
|
<Carousel
|
|
36
38
|
className="col-span-12"
|
|
@@ -48,6 +50,25 @@ export default {
|
|
|
48
50
|
/>
|
|
49
51
|
</div>
|
|
50
52
|
),
|
|
53
|
+
catalog: (
|
|
54
|
+
<div className="container grid grid-cols-12">
|
|
55
|
+
<Carousel
|
|
56
|
+
className="col-span-12"
|
|
57
|
+
visibleItemCount={3}
|
|
58
|
+
isBlur={false}
|
|
59
|
+
block={{
|
|
60
|
+
type: 'Carousel',
|
|
61
|
+
blocks: new Array(6)
|
|
62
|
+
.fill({
|
|
63
|
+
type: 'CarouselCatalogCard',
|
|
64
|
+
content: CATALOG_CARD,
|
|
65
|
+
})
|
|
66
|
+
.map((_, i) => (i === 1 ? { ..._, content: CATALOG_CARD } : _)),
|
|
67
|
+
}}
|
|
68
|
+
options={options}
|
|
69
|
+
/>
|
|
70
|
+
</div>
|
|
71
|
+
),
|
|
51
72
|
tariffs: (
|
|
52
73
|
<div className="container grid grid-cols-12">
|
|
53
74
|
<Carousel
|
|
@@ -68,6 +89,45 @@ export default {
|
|
|
68
89
|
/>
|
|
69
90
|
</div>
|
|
70
91
|
),
|
|
92
|
+
product: (
|
|
93
|
+
<div className="container grid grid-cols-12">
|
|
94
|
+
<Carousel
|
|
95
|
+
className="col-span-12"
|
|
96
|
+
visibleItemCount={3}
|
|
97
|
+
isBlur={true}
|
|
98
|
+
block={{
|
|
99
|
+
type: 'Carousel',
|
|
100
|
+
blocks: new Array(6)
|
|
101
|
+
.fill({
|
|
102
|
+
type: 'CarouselProductCard',
|
|
103
|
+
content: PRODUCT_CARD,
|
|
104
|
+
})
|
|
105
|
+
.map((_, i) => (i === 1 ? { ..._, content: PRODUCT_CARD } : _)),
|
|
106
|
+
}}
|
|
107
|
+
options={options}
|
|
108
|
+
/>
|
|
109
|
+
</div>
|
|
110
|
+
),
|
|
111
|
+
'mini-product': (
|
|
112
|
+
<div className="container grid grid-cols-12">
|
|
113
|
+
<Carousel
|
|
114
|
+
className="col-span-12"
|
|
115
|
+
visibleItemCount={4}
|
|
116
|
+
isBlur={true}
|
|
117
|
+
block={{
|
|
118
|
+
type: 'Carousel',
|
|
119
|
+
blocks: new Array(6)
|
|
120
|
+
.fill({
|
|
121
|
+
type: 'CarouselProductCard',
|
|
122
|
+
content: PRODUCT_CARD,
|
|
123
|
+
})
|
|
124
|
+
.map((_, i) => (i === 1 ? { ..._, content: PRODUCT_CARD } : _)),
|
|
125
|
+
}}
|
|
126
|
+
options={options}
|
|
127
|
+
/>
|
|
128
|
+
</div>
|
|
129
|
+
),
|
|
130
|
+
|
|
71
131
|
program: (
|
|
72
132
|
<div className="container grid grid-cols-12">
|
|
73
133
|
<Carousel
|
|
@@ -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,43 @@
|
|
|
1
|
+
import type { Picture } from '../../model/Picture';
|
|
2
|
+
import type { ProductColorVersion } from '../../model/ProductColorVersion';
|
|
3
|
+
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
4
|
+
import { CarouselCatalogCard } from './CarouselCatalogCard';
|
|
5
|
+
|
|
6
|
+
const payRing: Picture = {
|
|
7
|
+
src: 'pay-ring.png',
|
|
8
|
+
format: 'webp',
|
|
9
|
+
size: {
|
|
10
|
+
width: 230,
|
|
11
|
+
height: 230,
|
|
12
|
+
},
|
|
13
|
+
title: 'pay-ring',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const colors: ProductColorVersion[] = ['black', 'white'];
|
|
17
|
+
|
|
18
|
+
const buttonPrimary: ButtonWithIconProps = {
|
|
19
|
+
href: '/credit-cards',
|
|
20
|
+
text: 'Подробнее',
|
|
21
|
+
target: '_blank',
|
|
22
|
+
version: 'primary',
|
|
23
|
+
icon: {
|
|
24
|
+
icon: 'AppleIcon',
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const CATALOG_CARD = {
|
|
29
|
+
title: 'SATURN S-VI',
|
|
30
|
+
description: 'Керамическое кольцо с глянцевой поверхностью и огранкой по внешним контурам',
|
|
31
|
+
image: payRing,
|
|
32
|
+
price: 5600,
|
|
33
|
+
colors: colors,
|
|
34
|
+
button: buttonPrimary,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export default {
|
|
38
|
+
default: (
|
|
39
|
+
<div className="container grid grid-cols-12">
|
|
40
|
+
<CarouselCatalogCard {...CATALOG_CARD} />
|
|
41
|
+
</div>
|
|
42
|
+
),
|
|
43
|
+
};
|
|
@@ -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
|
+
}
|