@redneckz/wildless-cms-uni-blocks 0.3.23 → 0.3.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +28 -49
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js +17 -5
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +3 -2
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/Gallery/Gallery.mobile.js +4 -4
- package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
- package/dist/components/Gallery/GalleryCardInner.js +3 -8
- package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/dist/components/Gallery/GalleryContent.d.ts +3 -2
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +3 -9
- package/dist/components/ProductBlock/ProductBlock.mobile.js +7 -5
- package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +4 -0
- package/dist/components/ProductBlock/ProductBlockInner.js +2 -2
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js +8 -3
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/dist/components/ProductBlock/renderBenefit.mobile.d.ts +2 -1
- package/dist/components/ProductBlock/renderBenefit.mobile.js +1 -1
- package/dist/components/ProductBlock/renderBenefit.mobile.js.map +1 -1
- package/dist/components/ProductGallery/ProductGalleryContent.d.ts +4 -1
- package/dist/components/TariffsTable/TariffsTableCell.js +4 -4
- package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/dist/components/TariffsTable/TariffsTableTileCell.js +4 -2
- package/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/dist/components/TextBlock/TextBlock.mobile.js +1 -1
- package/dist/components/TextBlock/TextBlock.mobile.js.map +1 -1
- package/dist/components/Tile/Tile.js +1 -1
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/icons/IconName.d.ts +1 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/ui-kit/Icon/Icon.js +2 -1
- package/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/dist/ui-kit/Icon/IconProps.d.ts +2 -2
- package/dist/ui-kit/Img/Img.js +3 -1
- package/dist/ui-kit/Img/Img.js.map +1 -1
- package/dist/ui-kit/List/List.d.ts +1 -1
- package/dist/ui-kit/List/List.js +7 -2
- package/dist/ui-kit/List/List.js.map +1 -1
- package/dist/ui-kit/List/ListItem.d.ts +1 -1
- package/dist/ui-kit/List/ListItem.js +4 -9
- package/dist/ui-kit/List/ListItem.js.map +1 -1
- package/dist/ui-kit/List/ListProps.d.ts +2 -0
- package/lib/common.css +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js +17 -5
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +3 -2
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/Gallery/Gallery.mobile.js +4 -4
- package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
- package/lib/components/Gallery/GalleryCardInner.js +3 -8
- package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/lib/components/Gallery/GalleryContent.d.ts +3 -2
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +3 -9
- package/lib/components/ProductBlock/ProductBlock.fixture.mobile.d.ts +4 -0
- package/lib/components/ProductBlock/ProductBlock.mobile.js +7 -5
- package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +4 -0
- package/lib/components/ProductBlock/ProductBlockInner.js +2 -2
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js +8 -3
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/lib/components/ProductBlock/renderBenefit.mobile.d.ts +2 -1
- package/lib/components/ProductBlock/renderBenefit.mobile.js +1 -1
- package/lib/components/ProductBlock/renderBenefit.mobile.js.map +1 -1
- package/lib/components/ProductGallery/ProductGalleryContent.d.ts +4 -1
- package/lib/components/TariffsTable/TariffsTableCell.js +4 -4
- package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/lib/components/TariffsTable/TariffsTableTileCell.js +4 -2
- package/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/lib/components/TextBlock/TextBlock.mobile.js +1 -1
- package/lib/components/TextBlock/TextBlock.mobile.js.map +1 -1
- package/lib/components/Tile/Tile.js +1 -1
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/icons/IconName.js.map +1 -1
- package/lib/ui-kit/Icon/Icon.js +2 -1
- package/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/lib/ui-kit/Icon/IconProps.d.ts +2 -2
- package/lib/ui-kit/Img/Img.js +3 -1
- package/lib/ui-kit/Img/Img.js.map +1 -1
- package/lib/ui-kit/List/List.d.ts +1 -1
- package/lib/ui-kit/List/List.fixture.d.ts +10 -0
- package/lib/ui-kit/List/List.js +7 -2
- package/lib/ui-kit/List/List.js.map +1 -1
- package/lib/ui-kit/List/ListItem.d.ts +1 -1
- package/lib/ui-kit/List/ListItem.js +4 -9
- package/lib/ui-kit/List/ListItem.js.map +1 -1
- package/lib/ui-kit/List/ListProps.d.ts +2 -0
- package/mobile/bundle/bundle.umd.js +61 -63
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js +17 -5
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +3 -2
- package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/dist/components/Gallery/Gallery.js +4 -4
- package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
- package/mobile/dist/components/Gallery/GalleryCardInner.js +3 -8
- package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
- package/mobile/dist/components/Gallery/GalleryContent.d.ts +3 -2
- package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +3 -9
- package/mobile/dist/components/ProductBlock/ProductBlock.js +7 -5
- package/mobile/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +4 -0
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js +8 -3
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.d.ts +2 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.js +1 -1
- package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +4 -1
- package/mobile/dist/components/TariffsTable/TariffsTableCell.js +4 -4
- package/mobile/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js +4 -2
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/mobile/dist/components/TextBlock/TextBlock.js +1 -1
- package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
- package/mobile/dist/components/Tile/Tile.js +1 -1
- package/mobile/dist/components/Tile/Tile.js.map +1 -1
- package/mobile/dist/ui-kit/Icon/Icon.js +2 -1
- package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/dist/ui-kit/Icon/IconProps.d.ts +2 -2
- package/mobile/dist/ui-kit/List/List.d.ts +1 -1
- package/mobile/dist/ui-kit/List/List.js +7 -2
- package/mobile/dist/ui-kit/List/List.js.map +1 -1
- package/mobile/dist/ui-kit/List/ListItem.d.ts +1 -1
- package/mobile/dist/ui-kit/List/ListItem.js +4 -9
- package/mobile/dist/ui-kit/List/ListItem.js.map +1 -1
- package/mobile/dist/ui-kit/List/ListProps.d.ts +2 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js +17 -5
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +3 -2
- package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/lib/components/Gallery/Gallery.js +4 -4
- package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
- package/mobile/lib/components/Gallery/GalleryCardInner.js +3 -8
- package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
- package/mobile/lib/components/Gallery/GalleryContent.d.ts +3 -2
- package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +3 -9
- package/mobile/lib/components/ProductBlock/ProductBlock.js +7 -5
- package/mobile/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +4 -0
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js +8 -3
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.d.ts +2 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.js +1 -1
- package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
- package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +4 -1
- package/mobile/lib/components/TariffsTable/TariffsTableCell.js +4 -4
- package/mobile/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js +4 -2
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/mobile/lib/components/TextBlock/TextBlock.js +1 -1
- package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
- package/mobile/lib/components/Tile/Tile.js +1 -1
- package/mobile/lib/components/Tile/Tile.js.map +1 -1
- package/mobile/lib/ui-kit/Icon/Icon.js +2 -1
- package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/lib/ui-kit/Icon/IconProps.d.ts +2 -2
- package/mobile/lib/ui-kit/List/List.d.ts +1 -1
- package/mobile/lib/ui-kit/List/List.js +7 -2
- package/mobile/lib/ui-kit/List/List.js.map +1 -1
- package/mobile/lib/ui-kit/List/ListItem.d.ts +1 -1
- package/mobile/lib/ui-kit/List/ListItem.js +4 -9
- package/mobile/lib/ui-kit/List/ListItem.js.map +1 -1
- package/mobile/lib/ui-kit/List/ListProps.d.ts +2 -0
- package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +51 -30
- package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +3 -2
- package/mobile/src/components/ContentPage/ContentPage.tsx +0 -1
- package/mobile/src/components/Gallery/Gallery.tsx +5 -4
- package/mobile/src/components/Gallery/GalleryCardInner.tsx +12 -17
- package/mobile/src/components/Gallery/GalleryContent.ts +3 -2
- package/mobile/src/components/LinkDocs/LinkDocsContent.ts +3 -10
- package/mobile/src/components/ProductBlock/ProductBlock.example.json +1 -0
- package/mobile/src/components/ProductBlock/ProductBlock.tsx +17 -12
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +4 -0
- package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +25 -5
- package/mobile/src/components/ProductBlock/renderBenefit.tsx +2 -1
- package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +4 -1
- package/mobile/src/components/TariffsTable/TariffsTableCell.tsx +28 -27
- package/mobile/src/components/TariffsTable/TariffsTableContent.ts +1 -1
- package/mobile/src/components/TariffsTable/TariffsTableTileCell.tsx +33 -31
- package/mobile/src/components/TextBlock/TextBlock.example.json +2 -1
- package/mobile/src/components/TextBlock/TextBlock.tsx +2 -2
- package/mobile/src/components/Tile/Tile.tsx +3 -1
- package/mobile/src/ui-kit/Icon/Icon.tsx +7 -1
- package/mobile/src/ui-kit/Icon/IconProps.ts +2 -2
- package/mobile/src/ui-kit/List/List.tsx +9 -3
- package/mobile/src/ui-kit/List/ListItem.tsx +5 -12
- package/mobile/src/ui-kit/List/ListProps.ts +2 -0
- package/package.json +1 -1
- package/src/components/ComparisonTable/ComparisonTable.fixture.mobile.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +51 -30
- package/src/components/ComparisonTable/ComparisonTableContent.ts +3 -2
- package/src/components/ContentPage/ContentPage.tsx +0 -1
- package/src/components/Gallery/Gallery.fixture.mobile.tsx +3 -2
- package/src/components/Gallery/Gallery.mobile.tsx +5 -4
- package/src/components/Gallery/GalleryCardInner.tsx +12 -17
- package/src/components/Gallery/GalleryContent.ts +3 -2
- package/src/components/LinkDocs/LinkDocsContent.ts +3 -10
- package/src/components/ProductBlock/ProductBlock.example.json +1 -0
- package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +49 -13
- package/src/components/ProductBlock/ProductBlock.mobile.tsx +17 -12
- package/src/components/ProductBlock/ProductBlockContent.ts +4 -0
- package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +25 -5
- package/src/components/ProductBlock/ProductBlockInner.tsx +8 -1
- package/src/components/ProductBlock/renderBenefit.mobile.tsx +2 -1
- package/src/components/ProductGallery/ProductGalleryContent.ts +4 -1
- package/src/components/TariffsTable/TariffsTableCell.tsx +28 -27
- package/src/components/TariffsTable/TariffsTableContent.ts +1 -1
- package/src/components/TariffsTable/TariffsTableTileCell.tsx +33 -31
- package/src/components/TextBlock/TextBlock.example.json +2 -1
- package/src/components/TextBlock/TextBlock.fixture.mobile.tsx +8 -0
- package/src/components/TextBlock/TextBlock.mobile.tsx +2 -2
- package/src/components/Tile/Tile.tsx +3 -1
- package/src/icons/IconName.ts +152 -3
- package/src/ui-kit/Icon/Icon.tsx +7 -1
- package/src/ui-kit/Icon/IconProps.ts +2 -2
- package/src/ui-kit/Img/Img.tsx +5 -2
- package/src/ui-kit/List/List.fixture.tsx +37 -0
- package/src/ui-kit/List/List.tsx +9 -3
- package/src/ui-kit/List/ListItem.tsx +5 -12
- package/src/ui-kit/List/ListProps.ts +2 -0
- package/dist/ui-kit/BlockItem/BlockItem.d.ts +0 -2
- package/dist/ui-kit/BlockItem/BlockItem.js +0 -23
- package/dist/ui-kit/BlockItem/BlockItem.js.map +0 -1
- package/dist/ui-kit/BlockItem/BlockItemProps.d.ts +0 -21
- package/dist/ui-kit/BlockItem/BlockItemProps.js +0 -2
- package/dist/ui-kit/BlockItem/BlockItemProps.js.map +0 -1
- package/lib/ui-kit/BlockItem/BlockItem.d.ts +0 -2
- package/lib/ui-kit/BlockItem/BlockItem.fixture.d.ts +0 -8
- package/lib/ui-kit/BlockItem/BlockItem.js +0 -21
- package/lib/ui-kit/BlockItem/BlockItem.js.map +0 -1
- package/lib/ui-kit/BlockItem/BlockItemProps.d.ts +0 -21
- package/lib/ui-kit/BlockItem/BlockItemProps.js +0 -2
- package/lib/ui-kit/BlockItem/BlockItemProps.js.map +0 -1
- package/mobile/dist/ui-kit/BlockItem/BlockItem.d.ts +0 -2
- package/mobile/dist/ui-kit/BlockItem/BlockItem.js +0 -23
- package/mobile/dist/ui-kit/BlockItem/BlockItem.js.map +0 -1
- package/mobile/dist/ui-kit/BlockItem/BlockItemProps.d.ts +0 -21
- package/mobile/dist/ui-kit/BlockItem/BlockItemProps.js +0 -2
- package/mobile/dist/ui-kit/BlockItem/BlockItemProps.js.map +0 -1
- package/mobile/lib/ui-kit/BlockItem/BlockItem.d.ts +0 -2
- package/mobile/lib/ui-kit/BlockItem/BlockItem.js +0 -21
- package/mobile/lib/ui-kit/BlockItem/BlockItem.js.map +0 -1
- package/mobile/lib/ui-kit/BlockItem/BlockItemProps.d.ts +0 -21
- package/mobile/lib/ui-kit/BlockItem/BlockItemProps.js +0 -2
- package/mobile/lib/ui-kit/BlockItem/BlockItemProps.js.map +0 -1
- package/mobile/src/ui-kit/BlockItem/BlockItem.tsx +0 -33
- package/mobile/src/ui-kit/BlockItem/BlockItemProps.ts +0 -23
- package/src/ui-kit/BlockItem/BlockItem.fixture.tsx +0 -12
- package/src/ui-kit/BlockItem/BlockItem.tsx +0 -33
- package/src/ui-kit/BlockItem/BlockItemProps.ts +0 -23
|
@@ -16,7 +16,7 @@ export const ComparisonTable = JSX<ComparisonTableProps>(
|
|
|
16
16
|
columns,
|
|
17
17
|
visibleRowLength = 0,
|
|
18
18
|
isColoredFirstColumn = false,
|
|
19
|
-
useSwiper =
|
|
19
|
+
useSwiper = 'horizontal',
|
|
20
20
|
}) => {
|
|
21
21
|
const tableData =
|
|
22
22
|
columns?.map(({ data, header }) => ({
|
|
@@ -65,41 +65,62 @@ const renderColumns = ({
|
|
|
65
65
|
isColoredFirstColumn,
|
|
66
66
|
columnsViewState,
|
|
67
67
|
handleToggleColumn,
|
|
68
|
-
useSwiper,
|
|
68
|
+
useSwiper = 'horizontal',
|
|
69
69
|
setColumnsViewState,
|
|
70
70
|
}) => (
|
|
71
71
|
<div role="table">
|
|
72
|
-
{tableData?.length
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
context
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
handleToggleColumn,
|
|
85
|
-
}),
|
|
86
|
-
)}
|
|
87
|
-
</SwipeListControl>
|
|
88
|
-
) : (
|
|
89
|
-
tableData.map(
|
|
90
|
-
renderColumn({
|
|
91
|
-
context,
|
|
92
|
-
visibleRowLength,
|
|
93
|
-
isColoredFirstColumn,
|
|
94
|
-
columnsViewState,
|
|
95
|
-
handleToggleColumn,
|
|
96
|
-
}),
|
|
97
|
-
)
|
|
98
|
-
)
|
|
99
|
-
) : null}
|
|
72
|
+
{tableData?.length
|
|
73
|
+
? renderInnerTable({
|
|
74
|
+
useSwiper,
|
|
75
|
+
context,
|
|
76
|
+
columnsViewState,
|
|
77
|
+
setColumnsViewState,
|
|
78
|
+
tableData,
|
|
79
|
+
visibleRowLength,
|
|
80
|
+
isColoredFirstColumn,
|
|
81
|
+
handleToggleColumn,
|
|
82
|
+
})
|
|
83
|
+
: null}
|
|
100
84
|
</div>
|
|
101
85
|
);
|
|
102
86
|
|
|
87
|
+
const renderInnerTable = ({
|
|
88
|
+
useSwiper,
|
|
89
|
+
context,
|
|
90
|
+
columnsViewState,
|
|
91
|
+
setColumnsViewState,
|
|
92
|
+
tableData,
|
|
93
|
+
visibleRowLength,
|
|
94
|
+
isColoredFirstColumn,
|
|
95
|
+
handleToggleColumn,
|
|
96
|
+
}) =>
|
|
97
|
+
useSwiper === 'horizontal' ? (
|
|
98
|
+
tableData.map(
|
|
99
|
+
renderColumn({
|
|
100
|
+
context,
|
|
101
|
+
visibleRowLength,
|
|
102
|
+
isColoredFirstColumn,
|
|
103
|
+
columnsViewState,
|
|
104
|
+
handleToggleColumn,
|
|
105
|
+
}),
|
|
106
|
+
)
|
|
107
|
+
) : (
|
|
108
|
+
<SwipeListControl
|
|
109
|
+
context={context}
|
|
110
|
+
onSlideChange={onSlideChange(columnsViewState, setColumnsViewState)}
|
|
111
|
+
>
|
|
112
|
+
{tableData.map(
|
|
113
|
+
renderColumn({
|
|
114
|
+
context,
|
|
115
|
+
visibleRowLength,
|
|
116
|
+
isColoredFirstColumn,
|
|
117
|
+
columnsViewState,
|
|
118
|
+
handleToggleColumn,
|
|
119
|
+
}),
|
|
120
|
+
)}
|
|
121
|
+
</SwipeListControl>
|
|
122
|
+
);
|
|
123
|
+
|
|
103
124
|
const renderColumn =
|
|
104
125
|
({ context, visibleRowLength, isColoredFirstColumn, columnsViewState, handleToggleColumn }) =>
|
|
105
126
|
(columnData, i) =>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { LinkProps } from '../../model/LinkProps';
|
|
2
2
|
import type { Picture } from '../../model/Picture';
|
|
3
3
|
import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
4
|
+
import type { ListOrientation } from '../../model/ListOrientation';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @hidden
|
|
@@ -81,6 +82,6 @@ export interface ComparisonTableContent {
|
|
|
81
82
|
isColoredFirstColumn?: boolean;
|
|
82
83
|
/** @title Отображать заданное количество строк */
|
|
83
84
|
visibleRowLength?: number;
|
|
84
|
-
/** @title
|
|
85
|
-
useSwiper?:
|
|
85
|
+
/** @title Отображать элементы в моб. версии (прокрутка shift+mouseScroll) */
|
|
86
|
+
useSwiper?: ListOrientation;
|
|
86
87
|
}
|
|
@@ -3,6 +3,7 @@ import { context } from '../../setup-fixture';
|
|
|
3
3
|
import type { ButtonCommonProps } from '../../ui-kit/Button/Button';
|
|
4
4
|
import { Gallery } from './Gallery';
|
|
5
5
|
import { GalleryCard } from './GalleryContent';
|
|
6
|
+
import { ListOrientation } from '../../model/ListOrientation';
|
|
6
7
|
|
|
7
8
|
const image: Picture = {
|
|
8
9
|
src: 'money-1.png',
|
|
@@ -82,7 +83,7 @@ const cards: GalleryCard[] = [
|
|
|
82
83
|
const defaultProps = {
|
|
83
84
|
title: 'Вы можете оплатить бонусными баллами',
|
|
84
85
|
description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
|
|
85
|
-
|
|
86
|
+
useSwiper: 'horizontal' as ListOrientation,
|
|
86
87
|
context,
|
|
87
88
|
cards: cards,
|
|
88
89
|
};
|
|
@@ -90,7 +91,7 @@ const defaultProps = {
|
|
|
90
91
|
const scrollProps = {
|
|
91
92
|
title: 'Вы можете оплатить бонусными баллами',
|
|
92
93
|
description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
|
|
93
|
-
|
|
94
|
+
useSwiper: 'horizontal' as ListOrientation,
|
|
94
95
|
context,
|
|
95
96
|
cards: cards,
|
|
96
97
|
};
|
|
@@ -8,6 +8,7 @@ import { SwipeListControl } from '../../ui-kit/SwipeListControl/SwipeListControl
|
|
|
8
8
|
import type { GalleryCard } from './GalleryContent';
|
|
9
9
|
import { GalleryItem } from './GalleryContent';
|
|
10
10
|
import type { GalleryProps } from './GalleryProps';
|
|
11
|
+
import type { ListOrientation } from '../../model/ListOrientation';
|
|
11
12
|
|
|
12
13
|
const blockStyle: Record<BlockVersion, string> = {
|
|
13
14
|
primary: 'bg-white',
|
|
@@ -15,7 +16,7 @@ const blockStyle: Record<BlockVersion, string> = {
|
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
export const Gallery = JSX<GalleryProps>(
|
|
18
|
-
({ context, title, description, cards = [], className,
|
|
19
|
+
({ context, title, description, cards = [], className, useSwiper = 'horizontal' }) => {
|
|
19
20
|
return (
|
|
20
21
|
<section
|
|
21
22
|
className={`relative font-sans text-primary-text bg-white px-4 py-6 overflow-hidden ${className}`}
|
|
@@ -34,14 +35,14 @@ export const Gallery = JSX<GalleryProps>(
|
|
|
34
35
|
</div>
|
|
35
36
|
) : null}
|
|
36
37
|
</div>
|
|
37
|
-
{renderCardsLayout(
|
|
38
|
+
{renderCardsLayout(useSwiper, cards, context)}
|
|
38
39
|
</section>
|
|
39
40
|
);
|
|
40
41
|
},
|
|
41
42
|
);
|
|
42
43
|
|
|
43
|
-
function renderCardsLayout(
|
|
44
|
-
return
|
|
44
|
+
function renderCardsLayout(useSwiper: ListOrientation, cards: GalleryCard[], context) {
|
|
45
|
+
return useSwiper === 'horizontal' ? (
|
|
45
46
|
<SwipeListControl context={context}>{cards?.map(renderCard)}</SwipeListControl>
|
|
46
47
|
) : (
|
|
47
48
|
<div className="grid gap-[14px]">{cards?.map(renderCard)}</div>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { BlockVersion } from '../../model/BlockVersion';
|
|
3
|
-
import { BlockItem } from '../../ui-kit/BlockItem/BlockItem';
|
|
4
2
|
import { Button } from '../../ui-kit/Button/Button';
|
|
5
3
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
6
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
7
|
-
import
|
|
5
|
+
import { List } from '../../ui-kit/List/List';
|
|
6
|
+
import type { GalleryCard, GalleryItem } from './GalleryContent';
|
|
7
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
8
8
|
|
|
9
9
|
export const GalleryCardInner = JSX<GalleryCard>(
|
|
10
10
|
({ title, description, image, items, button, version }) => {
|
|
@@ -43,21 +43,16 @@ function renderCardTitle(title: string, className: string) {
|
|
|
43
43
|
return <div className={`font-medium text-xl m-0 ${className}`}>{title}</div>;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
function renderItems(items, version) {
|
|
46
|
+
function renderItems(items: GalleryItem[], version: BlockVersion = 'primary') {
|
|
47
47
|
return (
|
|
48
|
-
<
|
|
49
|
-
{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function renderItem(item: string, i: number, version?: BlockVersion) {
|
|
57
|
-
return (
|
|
58
|
-
<BlockItem key={String(i)} version={version ?? 'primary'}>
|
|
59
|
-
<span className="text-sm">{item}</span>
|
|
60
|
-
</BlockItem>
|
|
48
|
+
<List
|
|
49
|
+
className={`max-w-[308px] mt-2 text-sm ${
|
|
50
|
+
version === 'primary' ? '!text-secondary-text' : ''
|
|
51
|
+
}`}
|
|
52
|
+
itemClassName="mt-1 first:mt-0"
|
|
53
|
+
items={items.filter((item) => item?.text).map((item) => item.text as string)}
|
|
54
|
+
version={version}
|
|
55
|
+
/>
|
|
61
56
|
);
|
|
62
57
|
}
|
|
63
58
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BlockVersion } from '../../model/BlockVersion';
|
|
2
2
|
import type { Picture } from '../../model/Picture';
|
|
3
3
|
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
4
|
+
import type { ListOrientation } from '../../model/ListOrientation';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @title Элемент списка
|
|
@@ -41,6 +42,6 @@ export interface GalleryContent {
|
|
|
41
42
|
* @minItems 3
|
|
42
43
|
*/
|
|
43
44
|
cards?: GalleryCard[];
|
|
44
|
-
/** @title
|
|
45
|
-
|
|
45
|
+
/** @title Отображать элементы в моб. версии (прокрутка shift+mouseScroll) */
|
|
46
|
+
useSwiper?: ListOrientation; //TODO: for mobile
|
|
46
47
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { LinkProps } from '../../model/LinkProps';
|
|
2
2
|
import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
3
3
|
import type { AlignType } from '../BaseTile/BaseTileProps';
|
|
4
|
+
import type { ListOrientation } from '../../model/ListOrientation';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @title Отображение списка
|
|
@@ -11,15 +12,6 @@ import type { AlignType } from '../BaseTile/BaseTileProps';
|
|
|
11
12
|
*/
|
|
12
13
|
export type LinkColumnsMode = 'single' | 'double';
|
|
13
14
|
|
|
14
|
-
/**
|
|
15
|
-
* @title Отображение списка (моб.)
|
|
16
|
-
* @enumNames [
|
|
17
|
-
* "Вертикально",
|
|
18
|
-
* "Горизонтально",
|
|
19
|
-
* ]
|
|
20
|
-
*/
|
|
21
|
-
export type LinkListMode = 'vertical' | 'horizontal';
|
|
22
|
-
|
|
23
15
|
/**
|
|
24
16
|
* @title Элемент списка
|
|
25
17
|
*/
|
|
@@ -41,7 +33,8 @@ export interface LinkDocsContent {
|
|
|
41
33
|
/** @title Список */
|
|
42
34
|
documents?: LinkDocsItem[];
|
|
43
35
|
columnsMode?: LinkColumnsMode;
|
|
44
|
-
|
|
36
|
+
/** @title Отображать элементы в моб. версии (прокрутка shift+mouseScroll) */
|
|
37
|
+
listMode?: ListOrientation; // TODO: мобильный проп
|
|
45
38
|
/** @title Рамка элементов (моб.) */ // TODO: мобильный проп
|
|
46
39
|
hasBorder?: boolean;
|
|
47
40
|
align?: AlignType;
|
|
@@ -4,6 +4,11 @@ import { ProductBlock } from './ProductBlock';
|
|
|
4
4
|
import { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
5
5
|
import { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
6
6
|
|
|
7
|
+
const title = 'Кредит до 5 000 000 Р\nбез залога и поручителей';
|
|
8
|
+
const description =
|
|
9
|
+
'Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт.';
|
|
10
|
+
const label = 'Самое лучшее предложение';
|
|
11
|
+
|
|
7
12
|
const image: Picture = {
|
|
8
13
|
src: 'money-1.png',
|
|
9
14
|
format: 'webp',
|
|
@@ -20,7 +25,7 @@ const image: Picture = {
|
|
|
20
25
|
],
|
|
21
26
|
};
|
|
22
27
|
|
|
23
|
-
const benefits = [
|
|
28
|
+
const benefits: Benefit[] = [
|
|
24
29
|
{
|
|
25
30
|
label: 'До 5 млн ₽',
|
|
26
31
|
description: 'Кредитный лимит',
|
|
@@ -38,7 +43,7 @@ const benefits = [
|
|
|
38
43
|
},
|
|
39
44
|
];
|
|
40
45
|
|
|
41
|
-
const buttons = [
|
|
46
|
+
const buttons: ButtonWithIconProps[] = [
|
|
42
47
|
{
|
|
43
48
|
href: 'https://rshb.ru',
|
|
44
49
|
text: 'Оформить карту',
|
|
@@ -51,7 +56,7 @@ const buttons = [
|
|
|
51
56
|
target: '_blank',
|
|
52
57
|
version: 'secondary',
|
|
53
58
|
},
|
|
54
|
-
]
|
|
59
|
+
];
|
|
55
60
|
|
|
56
61
|
const items = [
|
|
57
62
|
'Совершайте любые личные покупки',
|
|
@@ -59,30 +64,61 @@ const items = [
|
|
|
59
64
|
'Расходы для бизнеса на УСН 15% позволят снизить налоговую базу',
|
|
60
65
|
];
|
|
61
66
|
|
|
67
|
+
const props = { title, description, image, buttons };
|
|
68
|
+
|
|
62
69
|
export default {
|
|
63
70
|
default: (
|
|
71
|
+
<div className="container grid grid-cols-12">
|
|
72
|
+
<ProductBlock className="col-span-12" context={context} {...props} benefits={benefits} />
|
|
73
|
+
</div>
|
|
74
|
+
),
|
|
75
|
+
items: (
|
|
76
|
+
<div className="container grid grid-cols-12">
|
|
77
|
+
<ProductBlock className="col-span-12" context={context} {...props} items={items} />
|
|
78
|
+
</div>
|
|
79
|
+
),
|
|
80
|
+
'primary with label': (
|
|
64
81
|
<div className="container grid grid-cols-12">
|
|
65
82
|
<ProductBlock
|
|
66
83
|
className="col-span-12"
|
|
67
84
|
context={context}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
buttons={buttons as ButtonWithIconProps[]}
|
|
72
|
-
image={image}
|
|
85
|
+
{...props}
|
|
86
|
+
benefits={benefits}
|
|
87
|
+
label={label}
|
|
73
88
|
/>
|
|
74
89
|
</div>
|
|
75
90
|
),
|
|
76
|
-
|
|
91
|
+
secondary: (
|
|
77
92
|
<div className="container grid grid-cols-12">
|
|
78
93
|
<ProductBlock
|
|
79
94
|
className="col-span-12"
|
|
80
95
|
context={context}
|
|
81
|
-
|
|
82
|
-
|
|
96
|
+
{...props}
|
|
97
|
+
benefits={benefits}
|
|
98
|
+
version="secondary"
|
|
99
|
+
/>
|
|
100
|
+
</div>
|
|
101
|
+
),
|
|
102
|
+
'secondary with items': (
|
|
103
|
+
<div className="container grid grid-cols-12">
|
|
104
|
+
<ProductBlock
|
|
105
|
+
className="col-span-12"
|
|
106
|
+
context={context}
|
|
107
|
+
{...props}
|
|
83
108
|
items={items}
|
|
84
|
-
|
|
85
|
-
|
|
109
|
+
version="secondary"
|
|
110
|
+
/>
|
|
111
|
+
</div>
|
|
112
|
+
),
|
|
113
|
+
'secondary with label': (
|
|
114
|
+
<div className="container grid grid-cols-12">
|
|
115
|
+
<ProductBlock
|
|
116
|
+
className="col-span-12"
|
|
117
|
+
context={context}
|
|
118
|
+
{...props}
|
|
119
|
+
benefits={benefits}
|
|
120
|
+
label={label}
|
|
121
|
+
version="secondary"
|
|
86
122
|
/>
|
|
87
123
|
</div>
|
|
88
124
|
),
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { ProductBlockInner } from './ProductBlockInner';
|
|
2
3
|
import type { UniBlockProps } from '../../types';
|
|
3
4
|
import type { ProductBlockContent } from './ProductBlockContent';
|
|
4
|
-
import {
|
|
5
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
6
|
+
|
|
7
|
+
const productBlockStyleMap: Record<BlockVersion, string> = {
|
|
8
|
+
primary: 'bg-white text-primary-text',
|
|
9
|
+
secondary: 'bg-primary-main text-white',
|
|
10
|
+
};
|
|
5
11
|
|
|
6
12
|
export interface ProductBlockProps extends ProductBlockContent, UniBlockProps {}
|
|
7
13
|
|
|
8
|
-
export const ProductBlock = JSX<ProductBlockProps>(
|
|
9
|
-
|
|
10
|
-
(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
);
|
|
14
|
+
export const ProductBlock = JSX<ProductBlockProps>((props /* Get rid of image and benefits */) => {
|
|
15
|
+
const { className = '', version = 'primary' } = props;
|
|
16
|
+
return (
|
|
17
|
+
<section
|
|
18
|
+
className={`font-sans bg-white px-4 py-6 ${productBlockStyleMap[version]} ${className}`}
|
|
19
|
+
>
|
|
20
|
+
<ProductBlockInner {...props} />
|
|
21
|
+
</section>
|
|
22
|
+
);
|
|
23
|
+
});
|
|
@@ -20,6 +20,10 @@ export type ProductBlockInnerContent = HeadingContent &
|
|
|
20
20
|
*/
|
|
21
21
|
benefits?: Benefit[];
|
|
22
22
|
version?: BlockVersion;
|
|
23
|
+
/** @title Буллиты */
|
|
24
|
+
isDotted?: boolean;
|
|
25
|
+
/** @title Лейбл (моб.) */
|
|
26
|
+
label?: string;
|
|
23
27
|
/**
|
|
24
28
|
* @title Стиль для текстовой части
|
|
25
29
|
* @hidden
|
|
@@ -7,6 +7,7 @@ import { Img } from '../../ui-kit/Img/Img';
|
|
|
7
7
|
import { List } from '../../ui-kit/List/List';
|
|
8
8
|
import { BaseTile } from '../BaseTile/BaseTile';
|
|
9
9
|
import type { ProductBlockInnerContent } from './ProductBlockContent';
|
|
10
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
10
11
|
import { renderBenefit } from './renderBenefit';
|
|
11
12
|
|
|
12
13
|
export type ProductBlockInnerProps = ProductBlockInnerContent & UniBlockProps;
|
|
@@ -23,10 +24,13 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
23
24
|
image,
|
|
24
25
|
items,
|
|
25
26
|
version = 'primary',
|
|
27
|
+
isDotted = true,
|
|
28
|
+
label,
|
|
26
29
|
}) => {
|
|
27
30
|
return (
|
|
28
|
-
<div className={`w-full
|
|
31
|
+
<div className={`w-full ${className}`}>
|
|
29
32
|
<div>
|
|
33
|
+
{label ? renderLabel(label, version) : null}
|
|
30
34
|
<BaseTile
|
|
31
35
|
context={context}
|
|
32
36
|
title={
|
|
@@ -54,7 +58,14 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
54
58
|
{benefits?.filter((items) => items.label)?.length ? (
|
|
55
59
|
<div className="mt-3">{benefits.map((_, i) => renderBenefit(_, i, version))}</div>
|
|
56
60
|
) : null}
|
|
57
|
-
{items?.length ?
|
|
61
|
+
{items?.length ? (
|
|
62
|
+
<List
|
|
63
|
+
className="mt-3 text-m-md"
|
|
64
|
+
items={items}
|
|
65
|
+
version={version}
|
|
66
|
+
isDotted={isDotted}
|
|
67
|
+
/>
|
|
68
|
+
) : null}
|
|
58
69
|
</BaseTile>
|
|
59
70
|
</div>
|
|
60
71
|
{renderImage(image)}
|
|
@@ -65,8 +76,17 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
65
76
|
|
|
66
77
|
function renderImage(image) {
|
|
67
78
|
return image?.src ? (
|
|
68
|
-
<
|
|
69
|
-
<Img image={{ className: 'block', ...image }} />
|
|
70
|
-
</div>
|
|
79
|
+
<Img imageClassName="mt-5 mx-auto block" image={{ className: 'block', ...image }} />
|
|
71
80
|
) : null;
|
|
72
81
|
}
|
|
82
|
+
|
|
83
|
+
const labelStyleMap: Record<BlockVersion, string> = {
|
|
84
|
+
primary: 'text-primary-main border-secondary-hover',
|
|
85
|
+
secondary: 'text-white/80',
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const renderLabel = (label: string, version: BlockVersion) => (
|
|
89
|
+
<div className={`m-xs px-2.5 py-1.5 mb-5 rounded-md border-2 w-fit ${labelStyleMap[version]}`}>
|
|
90
|
+
{label}
|
|
91
|
+
</div>
|
|
92
|
+
);
|
|
@@ -23,6 +23,7 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
23
23
|
image,
|
|
24
24
|
items,
|
|
25
25
|
version = 'primary',
|
|
26
|
+
isDotted = true,
|
|
26
27
|
textBlockClassName = '',
|
|
27
28
|
}) => {
|
|
28
29
|
const textColor = version === 'secondary' ? 'text-white' : '';
|
|
@@ -43,7 +44,13 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
43
44
|
</div>
|
|
44
45
|
) : null}
|
|
45
46
|
{items?.length ? (
|
|
46
|
-
<List
|
|
47
|
+
<List
|
|
48
|
+
className="mt-5"
|
|
49
|
+
items={items}
|
|
50
|
+
itemClassName="mb-[10px]"
|
|
51
|
+
version={version}
|
|
52
|
+
isDotted={isDotted}
|
|
53
|
+
/>
|
|
47
54
|
) : null}
|
|
48
55
|
</BaseTile>
|
|
49
56
|
</div>
|
|
@@ -11,7 +11,7 @@ const benefitDescStyleMap: Record<BlockVersion, string> = {
|
|
|
11
11
|
secondary: 'text-white',
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
export function renderBenefit(benefit: Benefit, i: number, version:
|
|
14
|
+
export function renderBenefit(benefit: Benefit, i: number, version: BlockVersion) {
|
|
15
15
|
return (
|
|
16
16
|
<div key={String(i)} className="flex gap-3 items-center mb-2.5 last:mb-0">
|
|
17
17
|
{benefit.icon && (
|
|
@@ -21,6 +21,7 @@ export function renderBenefit(benefit: Benefit, i: number, version: string) {
|
|
|
21
21
|
width="24"
|
|
22
22
|
height="24"
|
|
23
23
|
asSVG
|
|
24
|
+
color={version}
|
|
24
25
|
/>
|
|
25
26
|
)}
|
|
26
27
|
<div className={`font-medium text-m-title-xs m-0 ${benefitTitleStyleMap[version]}`}>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { BlockItem } from '../../ui-kit/BlockItem/BlockItem';
|
|
3
2
|
import { Button } from '../../ui-kit/Button/Button';
|
|
4
3
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
5
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
6
|
-
import
|
|
5
|
+
import { List } from '../../ui-kit/List/List';
|
|
6
|
+
import type { TariffsTableCellData, TariffsTableList } from './TariffsTableContent';
|
|
7
|
+
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
7
8
|
|
|
8
9
|
export interface TariffsTableCellProps {
|
|
9
10
|
cell: TariffsTableCellData[];
|
|
@@ -32,31 +33,31 @@ const renderCellInner = (
|
|
|
32
33
|
)}
|
|
33
34
|
{label ? <div className="text-xl font-medium m-0">{label}</div> : null}
|
|
34
35
|
{description ? <div className="text-sm text-secondary-text">{description}</div> : null}
|
|
35
|
-
{list?.items?.length ? (
|
|
36
|
-
<div className="flex flex-col justify-between items-start">
|
|
37
|
-
<div role="list">
|
|
38
|
-
{list.items.map((text, idx) => (
|
|
39
|
-
<BlockItem
|
|
40
|
-
className="text-sm"
|
|
41
|
-
key={String(idx)}
|
|
42
|
-
text={text}
|
|
43
|
-
version="gray"
|
|
44
|
-
isDotted={list.isDotted ?? true}
|
|
45
|
-
/>
|
|
46
|
-
))}
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
) : null}
|
|
36
|
+
{list?.items?.length ? renderList(list) : null}
|
|
50
37
|
{image && <Img image={image} />}
|
|
51
|
-
{buttons?.length
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
38
|
+
{buttons?.length ? renderButtons(buttons) : null}
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const renderList = (list: TariffsTableList) => (
|
|
43
|
+
<List
|
|
44
|
+
className="flex flex-col justify-between items-start text-sm"
|
|
45
|
+
version="gray"
|
|
46
|
+
items={list.items}
|
|
47
|
+
isDotted={list.isDotted ?? true}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
const renderButtons = (buttons: ButtonWithIconProps[]) => (
|
|
52
|
+
<div>
|
|
53
|
+
{buttons.map(({ icon, rounded, ...buttonProps }, idx) => (
|
|
54
|
+
<Button
|
|
55
|
+
className={`${idx > 0 && rounded ? 'ml-3' : ''} w-12 h-12`}
|
|
56
|
+
key={String(idx)}
|
|
57
|
+
rounded={rounded}
|
|
58
|
+
appendLeft={icon && <Icon name={icon} width="24px" height="24px" asSVG />}
|
|
59
|
+
{...buttonProps}
|
|
60
|
+
/>
|
|
61
|
+
))}
|
|
61
62
|
</div>
|
|
62
63
|
);
|
|
@@ -56,7 +56,7 @@ export type TariffsTableContent = HeadingContent &
|
|
|
56
56
|
columns?: TariffsTableColumn[];
|
|
57
57
|
/** @title Параметры */
|
|
58
58
|
rowHeaders?: TariffsTableRowHeader[];
|
|
59
|
-
/** @title
|
|
59
|
+
/** @title Отображать элементы в моб. версии (прокрутка shift+mouseScroll) */
|
|
60
60
|
orientation?: ListOrientation;
|
|
61
61
|
};
|
|
62
62
|
|