@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
|
@@ -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;
|
|
@@ -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
|
+
);
|
|
@@ -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
|
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { TableTileHeader } from './TableTileHeader';
|
|
3
|
-
import { BlockItem } from '../../ui-kit/BlockItem/BlockItem';
|
|
4
3
|
import { Img } from '../../ui-kit/Img/Img';
|
|
5
4
|
import { Button } from '../../ui-kit/Button/Button';
|
|
6
5
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
7
|
-
import
|
|
6
|
+
import { List } from '../../ui-kit/List/List';
|
|
7
|
+
import type {
|
|
8
|
+
TariffsTableCellData,
|
|
9
|
+
TariffsTableList,
|
|
10
|
+
TariffsTableTileCellProps,
|
|
11
|
+
} from './TariffsTableContent';
|
|
12
|
+
import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
|
|
8
13
|
|
|
9
14
|
export const TariffsTableTileCell = JSX<TariffsTableTileCellProps>(({ header, data }) => {
|
|
10
15
|
return (
|
|
@@ -27,35 +32,32 @@ const renderCellInner = (
|
|
|
27
32
|
{description ? (
|
|
28
33
|
<div className="text-m-sm text-secondary-text mt-[3px]">{description}</div>
|
|
29
34
|
) : null}
|
|
30
|
-
{list?.items?.length ? (
|
|
31
|
-
<div className="flex flex-col justify-between items-start">
|
|
32
|
-
<div role="list">
|
|
33
|
-
{list.items.map((text, idx) => (
|
|
34
|
-
<BlockItem
|
|
35
|
-
className="text-m-sm"
|
|
36
|
-
key={String(idx)}
|
|
37
|
-
text={text}
|
|
38
|
-
version="gray"
|
|
39
|
-
isDotted={list.isDotted ?? true}
|
|
40
|
-
/>
|
|
41
|
-
))}
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
) : null}
|
|
35
|
+
{list?.items?.length ? renderList(list) : null}
|
|
45
36
|
{image && <Img image={{ ...image, className: 'm-0' }} />}
|
|
46
|
-
{buttons?.length ? (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
37
|
+
{buttons?.length ? renderButtons(buttons) : null}
|
|
38
|
+
</div>
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
const renderList = (list: TariffsTableList) => (
|
|
42
|
+
<List
|
|
43
|
+
className="flex flex-col justify-between items-start text-m-sm"
|
|
44
|
+
version="gray"
|
|
45
|
+
items={list.items}
|
|
46
|
+
isDotted={list.isDotted ?? true}
|
|
47
|
+
/>
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const renderButtons = (buttons: ButtonWithIconProps[]) => (
|
|
51
|
+
<div>
|
|
52
|
+
{buttons.map(({ icon, rounded, ...buttonProps }, idx) => (
|
|
53
|
+
<Button
|
|
54
|
+
className={`mt-3 ${idx > 0 && rounded ? 'ml-2.5' : ''} ${icon ? 'w-12 h-12' : ''}`}
|
|
55
|
+
key={String(idx)}
|
|
56
|
+
rounded={rounded}
|
|
57
|
+
appendLeft={icon && <Icon name={icon} width="24px" height="24px" asSVG />}
|
|
58
|
+
{...buttonProps}
|
|
59
|
+
aria-label={icon}
|
|
60
|
+
/>
|
|
61
|
+
))}
|
|
60
62
|
</div>
|
|
61
63
|
);
|
|
@@ -55,10 +55,10 @@ export const TextBlock = JSX<TextBlockProps>(
|
|
|
55
55
|
) : null}
|
|
56
56
|
{items?.length ? (
|
|
57
57
|
<List
|
|
58
|
-
className="mt-1"
|
|
58
|
+
className="mt-1 text-m-md"
|
|
59
59
|
items={items}
|
|
60
60
|
isDotted={isDotted}
|
|
61
|
-
version={blockVersion
|
|
61
|
+
version={blockVersion === 'secondary' ? 'secondary' : 'gray'}
|
|
62
62
|
/>
|
|
63
63
|
) : null}
|
|
64
64
|
</div>
|
|
@@ -70,5 +70,7 @@ export const Tile = JSX<TileProps>((props) => {
|
|
|
70
70
|
});
|
|
71
71
|
|
|
72
72
|
function renderList(items, version) {
|
|
73
|
-
return items?.length ?
|
|
73
|
+
return items?.length ? (
|
|
74
|
+
<List items={items} itemClassName="mt-2.5 first:mt-0" version={version} />
|
|
75
|
+
) : null;
|
|
74
76
|
}
|
|
@@ -6,6 +6,7 @@ import { IconTitleMap } from '../../icons/IconName';
|
|
|
6
6
|
const svgColorsMap: Record<IconColor, string> = {
|
|
7
7
|
none: '',
|
|
8
8
|
primary: 'text-primary-main',
|
|
9
|
+
secondary: 'text-primary-text',
|
|
9
10
|
};
|
|
10
11
|
|
|
11
12
|
export const Icon = JSX<IconProps>(
|
|
@@ -22,7 +23,12 @@ export const Icon = JSX<IconProps>(
|
|
|
22
23
|
|
|
23
24
|
if (asSVG) {
|
|
24
25
|
return (
|
|
25
|
-
<svg
|
|
26
|
+
<svg
|
|
27
|
+
className={`${svgColorsMap[color]} ${className}`}
|
|
28
|
+
{...imgProps}
|
|
29
|
+
aria-hidden="true"
|
|
30
|
+
style={color === 'secondary' ? { filter: 'invert(1)' } : null}
|
|
31
|
+
>
|
|
26
32
|
{title ? <title>{title}</title> : null}
|
|
27
33
|
{alt ? <desc>{alt}</desc> : null}
|
|
28
34
|
<use href={`${href}#icon`} xlinkHref={`${href}#icon`} />
|
|
@@ -4,9 +4,9 @@ export type { IconName };
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @title Цвет иконки (svg)
|
|
7
|
-
* @enumNames ["Нет", "Основной"]
|
|
7
|
+
* @enumNames ["Нет", "Основной", "Второстепенный"]
|
|
8
8
|
*/
|
|
9
|
-
export type IconColor = 'none' | 'primary';
|
|
9
|
+
export type IconColor = 'none' | 'primary' | 'secondary';
|
|
10
10
|
|
|
11
11
|
export interface IconProps {
|
|
12
12
|
className?: string;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { ListItem } from './ListItem';
|
|
3
|
-
import { ListProps } from './ListProps';
|
|
3
|
+
import type { ListProps, ListItemVersion } from './ListProps';
|
|
4
|
+
|
|
5
|
+
const TEXT_STYLE_MAP: Record<ListItemVersion, string> = {
|
|
6
|
+
primary: 'text-primary-text',
|
|
7
|
+
secondary: 'text-white',
|
|
8
|
+
gray: 'text-secondary-text',
|
|
9
|
+
};
|
|
4
10
|
|
|
5
11
|
export const List = JSX<ListProps>((props) => {
|
|
6
|
-
const { className = '', itemClassName, isDotted, items, version } = props;
|
|
12
|
+
const { className = '', itemClassName, isDotted, items, version = 'primary' } = props;
|
|
7
13
|
|
|
8
14
|
return (
|
|
9
|
-
<section className={`${className}`} role="list">
|
|
15
|
+
<section className={`${TEXT_STYLE_MAP[version]} ${className}`} role="list">
|
|
10
16
|
{items?.length
|
|
11
17
|
? items.map((_, i) => (
|
|
12
18
|
<ListItem
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { ListItemVersion } from './ListProps';
|
|
2
|
+
import type { ListItemVersion } from './ListProps';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @title Параметры элемента списка
|
|
@@ -13,13 +13,7 @@ export interface ListItemProps {
|
|
|
13
13
|
|
|
14
14
|
const LIST_STYLE_CLASSES = 'rounded-full inline-block mr-3 mt-2';
|
|
15
15
|
|
|
16
|
-
const
|
|
17
|
-
primary: 'text-primary-text',
|
|
18
|
-
secondary: 'text-white',
|
|
19
|
-
gray: 'text-secondary-text',
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const LIST_STYLE_MAP: Record<ListItemVersion, string> = {
|
|
16
|
+
const LIST_DOT_STYLE_MAP: Record<ListItemVersion, string> = {
|
|
23
17
|
primary: 'bg-primary-main',
|
|
24
18
|
secondary: 'bg-white',
|
|
25
19
|
gray: 'bg-secondary-text',
|
|
@@ -30,14 +24,13 @@ export const ListItem = JSX<ListItemProps>(
|
|
|
30
24
|
return (
|
|
31
25
|
<div className={`font-sans flex items-start ${className}`} role="listitem">
|
|
32
26
|
{isDotted && <div className={getListStyle(version)} />}
|
|
33
|
-
<span
|
|
27
|
+
<span>{children}</span>
|
|
34
28
|
</div>
|
|
35
29
|
);
|
|
36
30
|
},
|
|
37
31
|
);
|
|
38
32
|
|
|
39
33
|
const getListStyle = (version: ListItemVersion) => {
|
|
40
|
-
const size =
|
|
41
|
-
|
|
42
|
-
return `${LIST_STYLE_CLASSES} ${LIST_STYLE_MAP[version]} ${size}`;
|
|
34
|
+
const size = version === 'gray' ? 'w-1.5 h-1.5 min-w-1.5 min-h-1.5' : 'w-2 h-2 min-w-2 min-h-2';
|
|
35
|
+
return `${LIST_STYLE_CLASSES} ${LIST_DOT_STYLE_MAP[version]} ${size}`;
|
|
43
36
|
};
|
|
@@ -2,6 +2,7 @@ import type { ListContent } from './ListContent';
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @title Версия списка
|
|
5
|
+
* @enumNames ["Основной", "Второстепенный", "Серый"]
|
|
5
6
|
*/
|
|
6
7
|
export type ListItemVersion = 'primary' | 'secondary' | 'gray';
|
|
7
8
|
|
|
@@ -10,6 +11,7 @@ export type ListItemVersion = 'primary' | 'secondary' | 'gray';
|
|
|
10
11
|
*/
|
|
11
12
|
export interface ListProps extends ListContent {
|
|
12
13
|
className?: string;
|
|
14
|
+
/** @title Буллиты */
|
|
13
15
|
isDotted?: boolean;
|
|
14
16
|
version?: ListItemVersion;
|
|
15
17
|
itemClassName?: string;
|
package/package.json
CHANGED