@redneckz/wildless-cms-uni-blocks 0.2.85 → 0.2.86
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 -945
- package/bundle/bundle.umd.js +194 -195
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +29 -10
- package/dist/components/Accordion/AccordionItem.d.ts +2 -2
- package/dist/components/Accordion/AccordionItem.js +5 -6
- package/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/components/BaseTile/BaseTile.d.ts +2 -2
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/BaseTile/BaseTileProps.d.ts +31 -0
- package/dist/{model/SitemapContent.js → components/BaseTile/BaseTileProps.js} +1 -1
- package/dist/components/BaseTile/BaseTileProps.js.map +1 -0
- package/dist/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js +2 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
- package/dist/components/BlockContent.d.ts +4 -1
- package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
- package/dist/components/ComparisonTable/HeaderCell.d.ts +2 -2
- package/dist/components/ContentPage/ContentPage.d.ts +3 -2
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
- package/dist/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
- package/dist/components/Footer/Contacts.js +2 -2
- package/dist/components/Footer/Contacts.js.map +1 -1
- package/dist/components/Footer/FooterContent.d.ts +35 -9
- package/dist/components/Footer/FooterLink.d.ts +2 -2
- package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
- package/dist/components/Footer/Sitemap.d.ts +1 -1
- package/dist/components/Footer/Sitemap.js +1 -1
- package/dist/components/Footer/Sitemap.js.map +1 -1
- package/dist/components/Footer/SocialMedia.d.ts +2 -2
- package/dist/components/Footer/TextInformation.js.map +1 -1
- package/dist/components/Gallery/GalleryContent.d.ts +13 -0
- package/dist/components/Header/HeaderContent.d.ts +10 -2
- package/dist/components/Header/isSubItemActive.d.ts +2 -2
- package/dist/components/Header/isSubItemActive.js.map +1 -1
- package/dist/components/Header/isTopItemActive.d.ts +2 -2
- package/dist/components/Header/isTopItemActive.js.map +1 -1
- package/dist/components/MiniGallery/MiniGallery.d.ts +3 -3
- package/dist/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
- package/dist/components/MiniGallery/MiniGalleryContent.js +2 -0
- package/dist/components/MiniGallery/MiniGalleryContent.js.map +1 -0
- package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
- package/dist/components/Placeholder/PlaceholderContent.d.ts +3 -0
- package/dist/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
- package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +10 -5
- package/dist/components/ProductBlock/ProductBlockInner.d.ts +2 -2
- package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
- package/dist/components/ProductTile/ProductTileContent.d.ts +6 -2
- package/dist/components/PromoTile/PromoTileContent.d.ts +6 -2
- package/dist/components/StepsBlock/StepsBlockContent.d.ts +13 -0
- package/dist/components/TextBlock/TextBlockContent.d.ts +13 -0
- package/dist/components/Tile/TileContent.d.ts +5 -2
- package/dist/hooks/useLink.d.ts +3 -3
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/mergeTopItems.d.ts +2 -2
- package/dist/mergeTopItems.js.map +1 -1
- package/dist/model/BlockVersion.d.ts +4 -0
- package/dist/model/ButtonVersion.d.ts +4 -0
- package/dist/model/LinkProps.d.ts +21 -0
- package/dist/model/{LinkContent.js → LinkProps.js} +1 -1
- package/dist/model/LinkProps.js.map +1 -0
- package/dist/model/Picture.d.ts +11 -0
- package/dist/model/SitemapProps.d.ts +13 -0
- package/dist/{components/BaseTile/BaseTileContent.js → model/SitemapProps.js} +1 -1
- package/dist/model/SitemapProps.js.map +1 -0
- package/dist/types.d.ts +2 -2
- package/dist/ui-kit/Breadcrumb.d.ts +2 -2
- package/dist/ui-kit/Button/Button.d.ts +6 -3
- package/dist/ui-kit/Button/Button.js.map +1 -1
- package/dist/ui-kit/Button/ButtonProps.d.ts +15 -12
- package/dist/ui-kit/Icon/IconProps.d.ts +49 -18
- package/dist/ui-kit/Icon/IconProps.js +21 -18
- package/dist/ui-kit/Icon/IconProps.js.map +1 -1
- package/dist/ui-kit/TopItem/TopItem.d.ts +2 -2
- package/lib/common.css +1 -1
- package/lib/components/Accordion/Accordion.js +1 -1
- package/lib/components/Accordion/Accordion.js.map +1 -1
- package/lib/components/Accordion/AccordionContent.d.ts +29 -10
- package/lib/components/Accordion/AccordionItem.d.ts +2 -2
- package/lib/components/Accordion/AccordionItem.js +5 -6
- package/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/lib/components/BaseTile/BaseTile.d.ts +2 -2
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/BaseTile/BaseTileProps.d.ts +31 -0
- package/lib/components/BaseTile/BaseTileProps.js +2 -0
- package/lib/components/BaseTile/BaseTileProps.js.map +1 -0
- package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js +2 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
- package/lib/components/BlockContent.d.ts +4 -1
- package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
- package/lib/components/ComparisonTable/HeaderCell.d.ts +2 -2
- package/lib/components/ContentPage/ContentPage.d.ts +3 -2
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
- package/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
- package/lib/components/Footer/Contacts.js +2 -2
- package/lib/components/Footer/Contacts.js.map +1 -1
- package/lib/components/Footer/FooterContent.d.ts +35 -9
- package/lib/components/Footer/FooterLink.d.ts +2 -2
- package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
- package/lib/components/Footer/Sitemap.d.ts +1 -1
- package/lib/components/Footer/Sitemap.js +1 -1
- package/lib/components/Footer/Sitemap.js.map +1 -1
- package/lib/components/Footer/SocialMedia.d.ts +2 -2
- package/lib/components/Footer/TextInformation.js.map +1 -1
- package/lib/components/Gallery/GalleryContent.d.ts +13 -0
- package/lib/components/Header/HeaderContent.d.ts +10 -2
- package/lib/components/Header/isSubItemActive.d.ts +2 -2
- package/lib/components/Header/isSubItemActive.js.map +1 -1
- package/lib/components/Header/isTopItemActive.d.ts +2 -2
- package/lib/components/Header/isTopItemActive.js.map +1 -1
- package/lib/components/MiniGallery/MiniGallery.d.ts +3 -3
- package/lib/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
- package/lib/components/MiniGallery/MiniGalleryContent.js +2 -0
- package/lib/components/MiniGallery/MiniGalleryContent.js.map +1 -0
- package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
- package/lib/components/Placeholder/PlaceholderContent.d.ts +3 -0
- package/lib/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
- package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +10 -5
- package/lib/components/ProductBlock/ProductBlockInner.d.ts +2 -2
- package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
- package/lib/components/ProductTile/ProductTileContent.d.ts +6 -2
- package/lib/components/PromoTile/PromoTileContent.d.ts +6 -2
- package/lib/components/StepsBlock/StepsBlockContent.d.ts +13 -0
- package/lib/components/TextBlock/TextBlockContent.d.ts +13 -0
- package/lib/components/Tile/TileContent.d.ts +5 -2
- package/lib/hooks/useLink.d.ts +3 -3
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/index.d.ts +12 -12
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/mergeTopItems.d.ts +2 -2
- package/lib/mergeTopItems.js.map +1 -1
- package/lib/model/BlockVersion.d.ts +4 -0
- package/lib/model/ButtonVersion.d.ts +4 -0
- package/lib/model/LinkProps.d.ts +21 -0
- package/lib/model/LinkProps.js +2 -0
- package/lib/model/LinkProps.js.map +1 -0
- package/lib/model/Picture.d.ts +11 -0
- package/lib/model/SitemapProps.d.ts +13 -0
- package/lib/model/SitemapProps.js +2 -0
- package/lib/model/SitemapProps.js.map +1 -0
- package/lib/types.d.ts +2 -2
- package/lib/ui-kit/Breadcrumb.d.ts +2 -2
- package/lib/ui-kit/Button/Button.d.ts +6 -3
- package/lib/ui-kit/Button/Button.js.map +1 -1
- package/lib/ui-kit/Button/ButtonProps.d.ts +15 -12
- package/lib/ui-kit/Icon/IconProps.d.ts +49 -18
- package/lib/ui-kit/Icon/IconProps.js +21 -18
- package/lib/ui-kit/Icon/IconProps.js.map +1 -1
- package/lib/ui-kit/TopItem/TopItem.d.ts +2 -2
- package/package.json +2 -22
- package/src/components/Accordion/Accordion.example.json +74 -0
- package/src/components/Accordion/Accordion.fixture.tsx +1 -16
- package/src/components/Accordion/Accordion.tsx +1 -1
- package/src/components/Accordion/AccordionContent.ts +31 -11
- package/src/components/Accordion/AccordionItem.tsx +10 -10
- package/src/components/BaseTile/BaseTile.tsx +4 -5
- package/src/components/BaseTile/BaseTileProps.ts +33 -0
- package/src/components/BenefitsBlock/BenefitsBlock.example.json +13 -0
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -2
- package/src/components/BenefitsBlock/BenefitsBlockContent.ts +14 -1
- package/src/components/BlockContent.ts +4 -1
- package/src/components/ComparisonTable/ComparisonTable.example.json +84 -0
- package/src/components/ComparisonTable/ComparisonTableContent.ts +46 -3
- package/src/components/ComparisonTable/HeaderCell.tsx +2 -2
- package/src/components/ContentPage/ContentPage.tsx +7 -5
- package/src/components/CreditCalculator/CreditCalculatorContent.ts +4 -0
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
- package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +4 -0
- package/src/components/Footer/Contacts.tsx +2 -2
- package/src/components/Footer/FooterContent.ts +36 -9
- package/src/components/Footer/FooterLink.ts +2 -2
- package/src/components/Footer/HorizontalNavigation.tsx +2 -2
- package/src/components/Footer/Sitemap.tsx +5 -5
- package/src/components/Footer/SocialMedia.tsx +2 -2
- package/src/components/Footer/TextInformation.tsx +2 -2
- package/src/components/Gallery/Gallery.example.json +71 -0
- package/src/components/Gallery/GalleryContent.ts +13 -0
- package/src/components/Header/HeaderContent.ts +10 -2
- package/src/components/Header/isSubItemActive.ts +3 -3
- package/src/components/Header/isTopItemActive.ts +3 -3
- package/src/components/MiniGallery/MiniGallery.example.json +61 -0
- package/src/components/MiniGallery/MiniGallery.tsx +3 -3
- package/src/components/MiniGallery/MiniGalleryContent.ts +6 -0
- package/src/components/MobileAppTile/MobileAppTile.example.json +20 -0
- package/src/components/MobileAppTile/MobileAppTileContent.ts +11 -2
- package/src/components/Placeholder/PlaceholderContent.ts +3 -0
- package/src/components/ProductBlock/ProductBlock.example.json +17 -0
- package/src/components/ProductBlock/ProductBlock.mobile.tsx +3 -3
- package/src/components/ProductBlock/ProductBlockContent.ts +10 -5
- package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
- package/src/components/ProductGallery/ProductGallery.example.json +21 -0
- package/src/components/ProductGallery/ProductGallery.tsx +3 -3
- package/src/components/ProductGallery/ProductGalleryContent.ts +17 -2
- package/src/components/ProductTile/ProductTile.example.json +30 -0
- package/src/components/ProductTile/ProductTileContent.ts +6 -2
- package/src/components/PromoTile/PromoTile.example.json +13 -0
- package/src/components/PromoTile/PromoTileContent.ts +6 -2
- package/src/components/StepsBlock/StepsBlock.example.json +17 -0
- package/src/components/StepsBlock/StepsBlockContent.ts +13 -0
- package/src/components/TextBlock/TextBlock.example.json +6 -0
- package/src/components/TextBlock/TextBlockContent.ts +14 -0
- package/src/components/Tile/Tile.example.json +18 -0
- package/src/components/Tile/TileContent.ts +5 -2
- package/src/hooks/useLink.ts +2 -2
- package/src/index.ts +14 -21
- package/src/mergeTopItems.ts +5 -5
- package/src/model/BlockVersion.ts +4 -0
- package/src/model/ButtonVersion.ts +4 -0
- package/src/model/LinkProps.ts +22 -0
- package/src/model/Picture.ts +11 -0
- package/src/model/SitemapProps.ts +15 -0
- package/src/types.ts +2 -2
- package/src/ui-kit/Breadcrumb.tsx +2 -2
- package/src/ui-kit/Button/Button.tsx +7 -3
- package/src/ui-kit/Button/ButtonProps.ts +16 -13
- package/src/ui-kit/Icon/IconProps.ts +35 -4
- package/src/ui-kit/TopItem/TopItem.tsx +2 -2
- package/dist/components/BaseTile/BaseTileContent.d.ts +0 -13
- package/dist/components/BaseTile/BaseTileContent.js.map +0 -1
- package/dist/model/LinkContent.d.ts +0 -5
- package/dist/model/LinkContent.js.map +0 -1
- package/dist/model/SitemapContent.d.ts +0 -7
- package/dist/model/SitemapContent.js.map +0 -1
- package/lib/components/BaseTile/BaseTileContent.d.ts +0 -13
- package/lib/components/BaseTile/BaseTileContent.js +0 -2
- package/lib/components/BaseTile/BaseTileContent.js.map +0 -1
- package/lib/model/LinkContent.d.ts +0 -5
- package/lib/model/LinkContent.js +0 -2
- package/lib/model/LinkContent.js.map +0 -1
- package/lib/model/SitemapContent.d.ts +0 -7
- package/lib/model/SitemapContent.js +0 -2
- package/lib/model/SitemapContent.js.map +0 -1
- package/src/components/BaseTile/BaseTileContent.ts +0 -14
- package/src/model/LinkContent.ts +0 -5
- package/src/model/SitemapContent.ts +0 -9
|
@@ -1,43 +1,86 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
2
2
|
import type { Picture } from '../../model/Picture';
|
|
3
3
|
import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
4
4
|
import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
*/
|
|
6
9
|
export type Row = {
|
|
7
10
|
header: RowHeader;
|
|
8
11
|
data: CellData[][];
|
|
9
12
|
};
|
|
10
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*/
|
|
11
17
|
export type RowData = Row[] | undefined;
|
|
12
18
|
|
|
19
|
+
/**
|
|
20
|
+
* @title Ячейка
|
|
21
|
+
*/
|
|
13
22
|
export interface CellData {
|
|
23
|
+
/** @title Заголовок */
|
|
14
24
|
label?: string;
|
|
25
|
+
/** @title Описание */
|
|
15
26
|
description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* @title Иконки
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
16
31
|
icons?: IconName[];
|
|
32
|
+
/** @hidden */
|
|
17
33
|
image?: Picture;
|
|
34
|
+
/**
|
|
35
|
+
* @title Кнопки
|
|
36
|
+
* @hidden
|
|
37
|
+
*/
|
|
18
38
|
buttons?: ButtonProps[];
|
|
19
39
|
}
|
|
20
40
|
|
|
41
|
+
/**
|
|
42
|
+
* @title Шапка колонки
|
|
43
|
+
*/
|
|
21
44
|
export interface ColumnHeader {
|
|
45
|
+
/** @title Заголовок */
|
|
22
46
|
title?: string;
|
|
47
|
+
/** @hidden */
|
|
23
48
|
icon?: IconName;
|
|
49
|
+
/** @hidden */
|
|
24
50
|
image?: Picture;
|
|
25
|
-
|
|
51
|
+
/** @hidden */
|
|
52
|
+
link?: LinkProps;
|
|
26
53
|
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @title Продукт
|
|
57
|
+
*/
|
|
27
58
|
export interface Column {
|
|
28
59
|
header?: ColumnHeader;
|
|
60
|
+
/** @title Данные */
|
|
29
61
|
data?: CellData[][];
|
|
30
62
|
}
|
|
31
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @title Параметр
|
|
66
|
+
*/
|
|
32
67
|
export interface RowHeader {
|
|
68
|
+
/** @title Заголовок */
|
|
33
69
|
title?: string;
|
|
34
70
|
icon?: IconName;
|
|
35
71
|
}
|
|
36
|
-
|
|
72
|
+
/**
|
|
73
|
+
* @title Сравнительная таблица
|
|
74
|
+
*/
|
|
37
75
|
export interface ComparisonTableContent {
|
|
76
|
+
/** @title Заголовок */
|
|
38
77
|
title?: string;
|
|
78
|
+
/** @title Параметры */
|
|
39
79
|
rowHeaders?: RowHeader[];
|
|
80
|
+
/** @title Продукты */
|
|
40
81
|
columns?: Column[];
|
|
82
|
+
/** @title Отображать заданное количество строк */
|
|
41
83
|
visibleRowLength?: number;
|
|
84
|
+
/** @title Закрасить первую колонку */
|
|
42
85
|
isColoredFirstColumn?: boolean;
|
|
43
86
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type {
|
|
2
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
3
3
|
import type { Picture } from '../../model/Picture';
|
|
4
4
|
import { Button } from '../../ui-kit/Button/Button';
|
|
5
5
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
@@ -12,7 +12,7 @@ export interface HeaderCellProps {
|
|
|
12
12
|
icon?: IconName;
|
|
13
13
|
image?: Picture;
|
|
14
14
|
title?: string;
|
|
15
|
-
link?:
|
|
15
|
+
link?: LinkProps;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export const HeaderCell = JSX<HeaderCellProps>(({ icon, image, title, link }) => (
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { JSX, PropsWithChildren } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { BlockDef, ContentPageDef, UniBlockProps } from '../../types';
|
|
2
3
|
import type { BlockContent } from '../BlockContent';
|
|
3
4
|
import { LikeControl } from '../LikeControl/LikeControl';
|
|
4
5
|
import { Placeholder } from '../Placeholder/Placeholder';
|
|
5
|
-
import type { BlockDef, ContentPageDef, UniBlockProps } from '../../types';
|
|
6
6
|
|
|
7
7
|
interface BlockDecoratorProps<VNode> {
|
|
8
8
|
blockClassName: string;
|
|
@@ -15,11 +15,13 @@ export type BlockDecorator<VNode = any> = (
|
|
|
15
15
|
index?: number | string,
|
|
16
16
|
) => any;
|
|
17
17
|
|
|
18
|
+
export type JSXBlock = (
|
|
19
|
+
props: PropsWithChildren<UniBlockProps & BlockContent, any>,
|
|
20
|
+
context?: any,
|
|
21
|
+
) => any;
|
|
22
|
+
|
|
18
23
|
export interface ContentPageProps extends UniBlockProps {
|
|
19
|
-
blocksRegistry: Record<
|
|
20
|
-
string,
|
|
21
|
-
(props: PropsWithChildren<UniBlockProps & BlockContent, any>, context?: any) => any
|
|
22
|
-
>;
|
|
24
|
+
blocksRegistry: Record<string, JSXBlock>;
|
|
23
25
|
data: ContentPageDef;
|
|
24
26
|
blockDecorator?: BlockDecorator;
|
|
25
27
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { ExchangeRateTileContent } from './ExchangeRateTileContent';
|
|
3
|
-
import { Tile } from '../Tile/Tile';
|
|
4
2
|
import type { UniBlockProps } from '../../types';
|
|
5
3
|
import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
6
4
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
5
|
+
import { Tile } from '../Tile/Tile';
|
|
6
|
+
import type { ExchangeRateTileContent } from './ExchangeRateTileContent';
|
|
7
7
|
|
|
8
8
|
export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlockProps {}
|
|
9
9
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useLink } from '../../hooks/useLink';
|
|
2
3
|
import type { UniBlockProps } from '../../types';
|
|
3
4
|
import { Button } from '../../ui-kit/Button/Button';
|
|
4
|
-
import { useLink } from '../../hooks/useLink';
|
|
5
5
|
import type { ContactInfo } from './FooterContent';
|
|
6
6
|
|
|
7
7
|
export interface ContactsProps extends UniBlockProps {
|
|
@@ -45,7 +45,7 @@ const renderContact = (item: ContactInfo, index: number) => {
|
|
|
45
45
|
);
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
const renderText = (type: ContactInfo['type'], text
|
|
48
|
+
const renderText = (type: ContactInfo['type'], text = '') => {
|
|
49
49
|
switch (type) {
|
|
50
50
|
case 'tel':
|
|
51
51
|
return (
|
|
@@ -1,15 +1,42 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
2
|
+
import type { SitemapProps } from '../../model/SitemapProps';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @title Тип контакта
|
|
6
|
+
* @enumNames [
|
|
7
|
+
* "Телефон",
|
|
8
|
+
* "Почта"
|
|
9
|
+
* ]
|
|
10
|
+
*/
|
|
11
|
+
export type ContactType = 'tel' | 'email';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @title Контакт
|
|
15
|
+
*/
|
|
4
16
|
export interface ContactInfo {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
17
|
+
/** @title Текст */
|
|
18
|
+
text?: string;
|
|
19
|
+
type?: ContactType;
|
|
20
|
+
/** @title Описание */
|
|
21
|
+
description?: string;
|
|
8
22
|
}
|
|
9
23
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
24
|
+
/**
|
|
25
|
+
* @required ["href"]
|
|
26
|
+
*/
|
|
27
|
+
export interface SocialMedia extends Omit<LinkProps, 'text'> {}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @title Подвал
|
|
31
|
+
* @required ["topItems"]
|
|
32
|
+
*/
|
|
33
|
+
export interface FooterContent extends SitemapProps {
|
|
34
|
+
/** @title Обязательные документы */
|
|
35
|
+
documents?: LinkProps[];
|
|
36
|
+
/** @title Другие предприятия */
|
|
37
|
+
relatedEnterprises?: LinkProps[];
|
|
38
|
+
/** @title Контакты */
|
|
13
39
|
contacts?: ContactInfo[];
|
|
14
|
-
|
|
40
|
+
/** @title Социальные сети */
|
|
41
|
+
socialMedia?: SocialMedia[];
|
|
15
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
2
2
|
import type { UniBlockProps } from '../../types';
|
|
3
3
|
|
|
4
4
|
export interface FooterLink extends UniBlockProps {
|
|
5
|
-
links?:
|
|
5
|
+
links?: LinkProps[];
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { LinkContent } from '../../model/LinkContent';
|
|
3
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
+
import { LinkProps } from '../../model/LinkProps';
|
|
4
4
|
import type { FooterLink } from './FooterLink';
|
|
5
5
|
|
|
6
6
|
export const HorizontalNavigation = JSX<FooterLink>(({ className, links, context }) => {
|
|
@@ -24,7 +24,7 @@ export const HorizontalNavigation = JSX<FooterLink>(({ className, links, context
|
|
|
24
24
|
);
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
interface HorizontalNavigationLinkProps extends
|
|
27
|
+
interface HorizontalNavigationLinkProps extends LinkProps {
|
|
28
28
|
className: string;
|
|
29
29
|
index: number;
|
|
30
30
|
onClick: (ev: MouseEvent) => any;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { mergeTopItems } from '../../mergeTopItems';
|
|
3
|
-
import type { LinkContent } from '../../model/LinkContent';
|
|
4
|
-
import type { TopMenuItem } from '../../model/SitemapContent';
|
|
5
|
-
import type { UniBlockProps } from '../../types';
|
|
6
2
|
import { useLink } from '../../hooks/useLink';
|
|
7
3
|
import { useSitemap } from '../../hooks/useSitemap';
|
|
4
|
+
import { mergeTopItems } from '../../mergeTopItems';
|
|
5
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
6
|
+
import type { TopMenuItem } from '../../model/SitemapProps';
|
|
7
|
+
import type { UniBlockProps } from '../../types';
|
|
8
8
|
export interface SitemapProps extends UniBlockProps {
|
|
9
9
|
items?: TopMenuItem[];
|
|
10
10
|
}
|
|
@@ -43,7 +43,7 @@ const renderColumn = (c: TopMenuItem, index: number, { router, handlerDecorator
|
|
|
43
43
|
);
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
interface ColumnItemProps extends
|
|
46
|
+
interface ColumnItemProps extends LinkProps {
|
|
47
47
|
index?: number;
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
-
import type {
|
|
3
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
4
4
|
import type { UniBlockProps } from '../../types';
|
|
5
5
|
import { Button } from '../../ui-kit/Button/Button';
|
|
6
6
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
@@ -25,7 +25,7 @@ const ICONS_MAP: Array<{
|
|
|
25
25
|
];
|
|
26
26
|
|
|
27
27
|
export interface SocialMediaProps extends UniBlockProps {
|
|
28
|
-
media?: Omit<
|
|
28
|
+
media?: Omit<LinkProps, 'text'>[];
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export const SocialMedia = JSX<SocialMediaProps>(({ className, media, context }) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { LinkContent } from '../../model/LinkContent';
|
|
3
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
4
4
|
import { FooterLink } from './FooterLink';
|
|
5
5
|
|
|
6
6
|
export const TextInformation = JSX<FooterLink>(({ className, links, context }) => {
|
|
@@ -28,7 +28,7 @@ export const TextInformation = JSX<FooterLink>(({ className, links, context }) =
|
|
|
28
28
|
);
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
interface TextInformationLinkProps extends
|
|
31
|
+
interface TextInformationLinkProps extends LinkProps {
|
|
32
32
|
className: string;
|
|
33
33
|
index: number;
|
|
34
34
|
onClick: (ev: MouseEvent) => any;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Галерея",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"cards": [
|
|
5
|
+
{
|
|
6
|
+
"image": {
|
|
7
|
+
"format": "webp",
|
|
8
|
+
"size": {
|
|
9
|
+
"width": 140,
|
|
10
|
+
"height": 140
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"title": "Заголовок 1",
|
|
14
|
+
"description": "Описание 1",
|
|
15
|
+
"href": "/credit-cards",
|
|
16
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"image": {
|
|
20
|
+
"format": "webp",
|
|
21
|
+
"size": {
|
|
22
|
+
"width": 140,
|
|
23
|
+
"height": 140
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"title": "Заголовок 2",
|
|
27
|
+
"description": "Описание 2",
|
|
28
|
+
"href": "/credit-cards",
|
|
29
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"image": {
|
|
33
|
+
"format": "webp",
|
|
34
|
+
"size": {
|
|
35
|
+
"width": 140,
|
|
36
|
+
"height": 140
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"title": "Заголовок 3",
|
|
40
|
+
"description": "Описание 3",
|
|
41
|
+
"href": "/credit-cards",
|
|
42
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"image": {
|
|
46
|
+
"format": "webp",
|
|
47
|
+
"size": {
|
|
48
|
+
"width": 140,
|
|
49
|
+
"height": 140
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"title": "Заголовок 4",
|
|
53
|
+
"description": "Описание 4",
|
|
54
|
+
"href": "/credit-cards",
|
|
55
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"image": {
|
|
59
|
+
"format": "webp",
|
|
60
|
+
"size": {
|
|
61
|
+
"width": 140,
|
|
62
|
+
"height": 140
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"title": "Заголовок 5",
|
|
66
|
+
"description": "Описание 5",
|
|
67
|
+
"href": "/credit-cards",
|
|
68
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
import type { Picture } from '../../model/Picture';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @title Карточка
|
|
5
|
+
*/
|
|
3
6
|
export interface GalleryCard {
|
|
7
|
+
/** @title Заголовок */
|
|
4
8
|
title?: string;
|
|
9
|
+
/** @title Описание */
|
|
5
10
|
description?: string;
|
|
6
11
|
image?: Picture;
|
|
12
|
+
/** @title Ссылка */
|
|
7
13
|
href?: string;
|
|
14
|
+
/** @title Список */
|
|
8
15
|
items?: string[];
|
|
9
16
|
}
|
|
10
17
|
|
|
18
|
+
/**
|
|
19
|
+
* @title Галерея
|
|
20
|
+
*/
|
|
11
21
|
export interface GalleryContent {
|
|
22
|
+
/** @title Заголовок */
|
|
12
23
|
title?: string;
|
|
24
|
+
/** @title Описание */
|
|
13
25
|
description?: string;
|
|
26
|
+
/** @title Карточки */
|
|
14
27
|
cards?: GalleryCard[];
|
|
15
28
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SitemapProps } from '../../model/SitemapProps';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @title Шапка
|
|
5
|
+
* @required ["defaultLocation", "topItems"]
|
|
6
|
+
*/
|
|
7
|
+
export interface HeaderContent extends SitemapProps {
|
|
8
|
+
/**
|
|
9
|
+
* @title Город по-умолчанию
|
|
10
|
+
* @default Москва
|
|
11
|
+
*/
|
|
4
12
|
defaultLocation?: string;
|
|
5
13
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { LinkContent } from '../../model/LinkContent';
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
3
2
|
import { isHrefActive } from '../../utils/url';
|
|
3
|
+
import type { Router } from '../ContentPage/ContentPageContext';
|
|
4
4
|
|
|
5
5
|
export function isSubItemActive(router: Router) {
|
|
6
|
-
return (subItem:
|
|
6
|
+
return (subItem: LinkProps): boolean => isHrefActive(subItem.href, router);
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { LinkContent } from '../../model/LinkContent';
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
3
2
|
import { isHrefActive } from '../../utils/url';
|
|
3
|
+
import type { Router } from '../ContentPage/ContentPageContext';
|
|
4
4
|
|
|
5
5
|
export function isTopItemActive(router: Router) {
|
|
6
|
-
return (topItem:
|
|
6
|
+
return (topItem: LinkProps): boolean =>
|
|
7
7
|
isHrefActive(topItem.href, router, (topItemHref, baseHref) => baseHref.startsWith(topItemHref));
|
|
8
8
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Мини-галерея",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"cards": [
|
|
5
|
+
{
|
|
6
|
+
"image": {
|
|
7
|
+
"format": "webp",
|
|
8
|
+
"size": {
|
|
9
|
+
"width": 120,
|
|
10
|
+
"height": 70
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"title": "Заголовок 1",
|
|
14
|
+
"description": "Описание 1"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"image": {
|
|
18
|
+
"format": "webp",
|
|
19
|
+
"size": {
|
|
20
|
+
"width": 120,
|
|
21
|
+
"height": 70
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"title": "Заголовок 2",
|
|
25
|
+
"description": "Описание 2"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"image": {
|
|
29
|
+
"format": "webp",
|
|
30
|
+
"size": {
|
|
31
|
+
"width": 120,
|
|
32
|
+
"height": 70
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"title": "Заголовок 3",
|
|
36
|
+
"description": "Описание 3"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"image": {
|
|
40
|
+
"format": "webp",
|
|
41
|
+
"size": {
|
|
42
|
+
"width": 120,
|
|
43
|
+
"height": 70
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"title": "Заголовок 4",
|
|
47
|
+
"description": "Описание 4"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"image": {
|
|
51
|
+
"format": "webp",
|
|
52
|
+
"size": {
|
|
53
|
+
"width": 120,
|
|
54
|
+
"height": 70
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"title": "Заголовок 5",
|
|
58
|
+
"description": "Описание 5"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import {
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
3
|
import { GalleryInner } from '../Gallery/GalleryInner';
|
|
4
|
-
import {
|
|
4
|
+
import type { MiniGalleryContent } from './MiniGalleryContent';
|
|
5
5
|
|
|
6
|
-
export interface MiniGalleryProps extends
|
|
6
|
+
export interface MiniGalleryProps extends MiniGalleryContent, UniBlockProps {}
|
|
7
7
|
|
|
8
8
|
export const MiniGallery = JSX<MiniGalleryProps>((props) => (
|
|
9
9
|
<GalleryInner {...props} version="mini" />
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"qr": {
|
|
3
|
+
"href": "https://rshbnaturaldbo.onelink.me/qhkF/f182074f?af_qr=true",
|
|
4
|
+
"src": "data:image/png;base64,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"
|
|
5
|
+
},
|
|
6
|
+
"buttons": [
|
|
7
|
+
{
|
|
8
|
+
"aboveText": "Загрузите в",
|
|
9
|
+
"text": "App Store",
|
|
10
|
+
"icon": "AppleIcon",
|
|
11
|
+
"version": "secondary"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"aboveText": "Доступно в",
|
|
15
|
+
"text": "Google Play",
|
|
16
|
+
"icon": "PlayMarketIcon",
|
|
17
|
+
"version": "secondary"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @title QR код
|
|
5
|
+
*/
|
|
3
6
|
export interface QRCode {
|
|
7
|
+
/** @title QR код */
|
|
4
8
|
src?: string;
|
|
9
|
+
/** @title Ссылка */
|
|
5
10
|
href?: string;
|
|
6
11
|
}
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @title Мобильное приложение
|
|
15
|
+
*/
|
|
16
|
+
export interface MobileAppTileContent extends BaseTileCommonProps {
|
|
17
|
+
/** @title Заголовок */
|
|
9
18
|
title?: string;
|
|
10
19
|
qr?: QRCode;
|
|
11
20
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Продукт",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"image": {
|
|
5
|
+
"format": "webp",
|
|
6
|
+
"size": {
|
|
7
|
+
"width": 300
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"],
|
|
11
|
+
"buttons": [
|
|
12
|
+
{
|
|
13
|
+
"text": "Подробнее",
|
|
14
|
+
"version": "secondary"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { ProductBlockInner } from './ProductBlockInner';
|
|
3
|
-
import type { ProductBlockInnerContent } from './ProductBlockContent';
|
|
4
2
|
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import type { ProductBlockInnerCommonProps } from './ProductBlockContent';
|
|
4
|
+
import { ProductBlockInner } from './ProductBlockInner';
|
|
5
5
|
|
|
6
|
-
export interface ProductBlockProps extends
|
|
6
|
+
export interface ProductBlockProps extends ProductBlockInnerCommonProps, UniBlockProps {}
|
|
7
7
|
|
|
8
8
|
export const ProductBlock = JSX<ProductBlockProps>(
|
|
9
9
|
({ titleSize, image, benefits, ...props } /* Get rid of image and benefits */) => {
|