@gravity-ui/page-constructor 5.31.2 → 6.0.0-alpha.0
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/README.md +6 -0
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -6
- package/build/cjs/blocks/Header/Header.css +15 -10
- package/build/cjs/blocks/Header/Header.js +8 -4
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +9 -1
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +5 -3
- package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
- package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +5 -2
- package/build/cjs/blocks/Slider/Arrow/Arrow.js +5 -4
- package/build/cjs/blocks/Slider/Slider.css +549 -329
- package/build/cjs/blocks/Slider/Slider.d.ts +6 -6
- package/build/cjs/blocks/Slider/Slider.js +40 -282
- package/build/cjs/blocks/Slider/i18n/en.json +1 -1
- package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
- package/build/cjs/blocks/Slider/models.d.ts +2 -2
- package/build/cjs/blocks/Slider/models.js +1 -1
- package/build/cjs/blocks/Slider/schema.d.ts +18 -1
- package/build/cjs/blocks/Slider/schema.js +9 -0
- package/build/cjs/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
- package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
- package/build/cjs/blocks/Slider/utils.d.ts +7 -27
- package/build/cjs/blocks/Slider/utils.js +26 -108
- package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
- package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
- package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.js +3 -3
- package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
- package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
- package/build/cjs/blocks/SliderOld/SliderOld.js +301 -0
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
- package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
- package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
- package/build/cjs/blocks/SliderOld/utils.d.ts +36 -0
- package/build/cjs/blocks/SliderOld/utils.js +125 -0
- package/build/cjs/blocks/index.d.ts +1 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/blocks/validators.d.ts +1 -0
- package/build/cjs/blocks/validators.js +1 -0
- package/build/cjs/components/ContentList/ContentList.css +5 -4
- package/build/cjs/components/ContentList/ContentList.js +1 -1
- package/build/cjs/components/FullscreenImage/FullscreenImage.css +96 -18
- package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
- package/build/cjs/components/FullscreenImage/FullscreenImage.js +19 -5
- package/build/cjs/components/HTML/HTML.d.ts +16 -9
- package/build/cjs/components/HTML/HTML.js +16 -11
- package/build/cjs/components/Media/Image/Image.d.ts +1 -0
- package/build/cjs/components/Media/Image/Image.js +7 -5
- package/build/cjs/components/Media/Media.css +4 -0
- package/build/cjs/components/Media/Media.d.ts +1 -0
- package/build/cjs/components/Media/Media.js +3 -2
- package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
- package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
- package/build/cjs/components/Table/Table.css +2 -1
- package/build/cjs/components/Table/Table.js +4 -2
- package/build/cjs/components/Title/TitleItem.css +6 -4
- package/build/cjs/components/Title/TitleItem.js +3 -1
- package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
- package/build/cjs/components/YFMWrapper/YFMWrapper.js +4 -1
- package/build/cjs/constructor-items.d.ts +2 -2
- package/build/cjs/constructor-items.js +2 -4
- package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
- package/build/cjs/models/common.d.ts +1 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +17 -15
- package/build/cjs/models/constructor-items/blocks.js +3 -2
- package/build/cjs/schema/constants.d.ts +0 -1
- package/build/cjs/schema/constants.js +3 -1
- package/build/cjs/schema/validators/blocks.d.ts +2 -2
- package/build/cjs/schema/validators/blocks.js +2 -2
- package/build/cjs/sub-blocks/BannerCard/BannerCard.css +10 -8
- package/build/cjs/sub-blocks/BannerCard/BannerCard.js +4 -3
- package/build/cjs/sub-blocks/Content/Content.js +1 -1
- package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
- package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
- package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
- package/build/cjs/sub-blocks/Quote/Quote.js +2 -4
- package/build/cjs/text-transform/config.js +1 -1
- package/build/cjs/utils/blocks.d.ts +10 -2
- package/build/cjs/utils/blocks.js +10 -4
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -7
- package/build/esm/blocks/Header/Header.css +15 -10
- package/build/esm/blocks/Header/Header.js +9 -5
- package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
- package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
- package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -1
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +6 -4
- package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
- package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +5 -2
- package/build/esm/blocks/Slider/Arrow/Arrow.js +5 -4
- package/build/esm/blocks/Slider/Slider.css +549 -329
- package/build/esm/blocks/Slider/Slider.d.ts +6 -6
- package/build/esm/blocks/Slider/Slider.js +42 -284
- package/build/esm/blocks/Slider/i18n/en.json +1 -1
- package/build/esm/blocks/Slider/i18n/ru.json +1 -1
- package/build/esm/blocks/Slider/models.d.ts +2 -2
- package/build/esm/blocks/Slider/models.js +1 -1
- package/build/esm/blocks/Slider/schema.d.ts +18 -1
- package/build/esm/blocks/Slider/schema.js +9 -0
- package/build/esm/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
- package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +5 -1
- package/build/esm/blocks/Slider/utils.d.ts +7 -27
- package/build/esm/blocks/Slider/utils.js +24 -103
- package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
- package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
- package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.js +3 -3
- package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
- package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
- package/build/esm/blocks/SliderOld/SliderOld.js +297 -0
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
- package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
- package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
- package/build/esm/blocks/SliderOld/utils.d.ts +36 -0
- package/build/esm/blocks/SliderOld/utils.js +115 -0
- package/build/esm/blocks/index.d.ts +1 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/blocks/validators.d.ts +1 -0
- package/build/esm/blocks/validators.js +1 -0
- package/build/esm/components/ContentList/ContentList.css +5 -4
- package/build/esm/components/ContentList/ContentList.js +1 -1
- package/build/esm/components/FullscreenImage/FullscreenImage.css +96 -18
- package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
- package/build/esm/components/FullscreenImage/FullscreenImage.js +20 -6
- package/build/esm/components/HTML/HTML.d.ts +16 -9
- package/build/esm/components/HTML/HTML.js +18 -12
- package/build/esm/components/Media/Image/Image.d.ts +1 -0
- package/build/esm/components/Media/Image/Image.js +7 -5
- package/build/esm/components/Media/Media.css +4 -0
- package/build/esm/components/Media/Media.d.ts +1 -0
- package/build/esm/components/Media/Media.js +3 -2
- package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
- package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
- package/build/esm/components/Table/Table.css +2 -1
- package/build/esm/components/Table/Table.js +5 -3
- package/build/esm/components/Title/TitleItem.css +6 -4
- package/build/esm/components/Title/TitleItem.js +4 -2
- package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
- package/build/esm/components/YFMWrapper/YFMWrapper.js +5 -1
- package/build/esm/constructor-items.d.ts +2 -2
- package/build/esm/constructor-items.js +3 -5
- package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
- package/build/esm/models/common.d.ts +1 -0
- package/build/esm/models/constructor-items/blocks.d.ts +17 -15
- package/build/esm/models/constructor-items/blocks.js +3 -2
- package/build/esm/schema/constants.d.ts +0 -1
- package/build/esm/schema/constants.js +4 -2
- package/build/esm/schema/validators/blocks.d.ts +2 -2
- package/build/esm/schema/validators/blocks.js +2 -2
- package/build/esm/sub-blocks/BannerCard/BannerCard.css +10 -8
- package/build/esm/sub-blocks/BannerCard/BannerCard.js +5 -4
- package/build/esm/sub-blocks/Content/Content.js +1 -1
- package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
- package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
- package/build/esm/sub-blocks/Quote/Quote.css +8 -4
- package/build/esm/sub-blocks/Quote/Quote.js +3 -5
- package/build/esm/text-transform/config.js +1 -1
- package/build/esm/utils/blocks.d.ts +10 -2
- package/build/esm/utils/blocks.js +8 -2
- package/package.json +2 -2
- package/schema/index.js +1 -1
- package/server/models/common.d.ts +1 -0
- package/server/models/constructor-items/blocks.d.ts +17 -15
- package/server/models/constructor-items/blocks.js +3 -2
- package/server/text-transform/config.js +1 -1
- package/server/utils/blocks.d.ts +10 -2
- package/server/utils/blocks.js +10 -4
- package/styles/fonts.scss +1 -0
- package/styles/styles.css +0 -1
- package/styles/styles.scss +0 -1
- package/styles/variables.scss +1 -0
- package/widget/index.js +1 -1
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
- package/build/cjs/blocks/SliderNew/Slider.css +0 -834
- package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
- package/build/cjs/blocks/SliderNew/Slider.js +0 -56
- package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
- package/build/cjs/blocks/SliderNew/utils.js +0 -43
- package/build/cjs/blocks/unstable.d.ts +0 -1
- package/build/cjs/blocks/unstable.js +0 -8
- package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
- package/build/esm/blocks/SliderNew/Slider.css +0 -834
- package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
- package/build/esm/blocks/SliderNew/Slider.js +0 -52
- package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
- package/build/esm/blocks/SliderNew/utils.js +0 -36
- package/build/esm/blocks/unstable.d.ts +0 -1
- package/build/esm/blocks/unstable.js +0 -1
- /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
- /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
- /package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +0 -0
- /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
- /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
- /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
- /package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +0 -0
- /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
|
@@ -8,6 +8,8 @@ import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './s
|
|
|
8
8
|
export declare enum BlockType {
|
|
9
9
|
PromoFeaturesBlock = "promo-features-block",
|
|
10
10
|
ExtendedFeaturesBlock = "extended-features-block",
|
|
11
|
+
/** @deprecated */
|
|
12
|
+
SliderOldBlock = "slider-old-block",
|
|
11
13
|
SliderBlock = "slider-block",
|
|
12
14
|
QuestionsBlock = "questions-block",
|
|
13
15
|
BannerBlock = "banner-block",
|
|
@@ -24,8 +26,7 @@ export declare enum BlockType {
|
|
|
24
26
|
ShareBlock = "share-block",
|
|
25
27
|
MapBlock = "map-block",
|
|
26
28
|
FilterBlock = "filter-block",
|
|
27
|
-
FormBlock = "form-block"
|
|
28
|
-
SliderNewBlock = "slider-new-block"
|
|
29
|
+
FormBlock = "form-block"
|
|
29
30
|
}
|
|
30
31
|
export declare const BlockTypes: BlockType[];
|
|
31
32
|
export declare const HeaderBlockTypes: BlockType[];
|
|
@@ -62,11 +63,12 @@ export declare enum SliderBreakpointNames {
|
|
|
62
63
|
}
|
|
63
64
|
export declare enum SliderType {
|
|
64
65
|
MediaCard = "media-card",
|
|
65
|
-
HeaderCard = "header-card"
|
|
66
|
+
HeaderCard = "header-card",
|
|
67
|
+
FullscreenCard = "fullscreen-card"
|
|
66
68
|
}
|
|
67
69
|
export type SliderBreakpointParams = Record<SliderBreakpointNames, number>;
|
|
68
70
|
export type SlidesToShow = Partial<SliderBreakpointParams> | number;
|
|
69
|
-
export interface
|
|
71
|
+
export interface SliderOldProps extends Childable, Animatable, LoadableChildren {
|
|
70
72
|
dots?: boolean;
|
|
71
73
|
arrows?: boolean;
|
|
72
74
|
slidesToShow?: SlidesToShow;
|
|
@@ -80,7 +82,7 @@ export interface SliderProps extends Childable, Animatable, LoadableChildren {
|
|
|
80
82
|
randomOrder?: boolean;
|
|
81
83
|
adaptive?: boolean;
|
|
82
84
|
}
|
|
83
|
-
export interface
|
|
85
|
+
export interface SliderProps extends Childable, Animatable, LoadableChildren {
|
|
84
86
|
dots?: boolean;
|
|
85
87
|
arrows?: boolean;
|
|
86
88
|
slidesToShow?: SlidesToShow;
|
|
@@ -92,8 +94,9 @@ export interface SliderNewProps extends Childable, Animatable, LoadableChildren
|
|
|
92
94
|
description?: string;
|
|
93
95
|
autoplay?: number;
|
|
94
96
|
randomOrder?: boolean;
|
|
97
|
+
adaptive?: boolean;
|
|
95
98
|
}
|
|
96
|
-
export interface HeaderSliderBlockProps extends Omit<
|
|
99
|
+
export interface HeaderSliderBlockProps extends Omit<SliderOldProps, 'title' | 'description'> {
|
|
97
100
|
items: HeaderBlockProps[];
|
|
98
101
|
}
|
|
99
102
|
interface HeaderBackgroundProps {
|
|
@@ -355,9 +358,9 @@ export interface FormBlockProps {
|
|
|
355
358
|
export type HeaderBlockModel = {
|
|
356
359
|
type: BlockType.HeaderBlock;
|
|
357
360
|
} & HeaderBlockProps;
|
|
358
|
-
export type
|
|
359
|
-
type: BlockType.
|
|
360
|
-
} &
|
|
361
|
+
export type SliderOldBlockModel = {
|
|
362
|
+
type: BlockType.SliderOldBlock;
|
|
363
|
+
} & SliderOldProps;
|
|
361
364
|
export type ExtendedFeaturesBlockModel = {
|
|
362
365
|
type: BlockType.ExtendedFeaturesBlock;
|
|
363
366
|
} & ExtendedFeaturesProps;
|
|
@@ -409,10 +412,9 @@ export type ShareBLockModel = {
|
|
|
409
412
|
export type FormBlockModel = {
|
|
410
413
|
type: BlockType.FormBlock;
|
|
411
414
|
} & FormBlockProps;
|
|
412
|
-
export type
|
|
413
|
-
type: BlockType.
|
|
414
|
-
} &
|
|
415
|
-
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
|
|
416
|
-
type
|
|
417
|
-
export type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;
|
|
415
|
+
export type SliderBlockModel = {
|
|
416
|
+
type: BlockType.SliderBlock;
|
|
417
|
+
} & SliderProps;
|
|
418
|
+
type BlockModels = SliderOldBlockModel | SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
|
|
419
|
+
export type Block = BlockModels & BlockBaseProps;
|
|
418
420
|
export {};
|
|
@@ -2,6 +2,8 @@ export var BlockType;
|
|
|
2
2
|
(function (BlockType) {
|
|
3
3
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
4
4
|
BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
|
|
5
|
+
/** @deprecated */
|
|
6
|
+
BlockType["SliderOldBlock"] = "slider-old-block";
|
|
5
7
|
BlockType["SliderBlock"] = "slider-block";
|
|
6
8
|
BlockType["QuestionsBlock"] = "questions-block";
|
|
7
9
|
BlockType["BannerBlock"] = "banner-block";
|
|
@@ -19,8 +21,6 @@ export var BlockType;
|
|
|
19
21
|
BlockType["MapBlock"] = "map-block";
|
|
20
22
|
BlockType["FilterBlock"] = "filter-block";
|
|
21
23
|
BlockType["FormBlock"] = "form-block";
|
|
22
|
-
// unstable
|
|
23
|
-
BlockType["SliderNewBlock"] = "slider-new-block";
|
|
24
24
|
})(BlockType || (BlockType = {}));
|
|
25
25
|
export const BlockTypes = Object.values(BlockType);
|
|
26
26
|
export const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
|
|
@@ -35,6 +35,7 @@ export var SliderType;
|
|
|
35
35
|
(function (SliderType) {
|
|
36
36
|
SliderType["MediaCard"] = "media-card";
|
|
37
37
|
SliderType["HeaderCard"] = "header-card";
|
|
38
|
+
SliderType["FullscreenCard"] = "fullscreen-card";
|
|
38
39
|
})(SliderType || (SliderType = {}));
|
|
39
40
|
export var PCShareSocialNetwork;
|
|
40
41
|
(function (PCShareSocialNetwork) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BannerBlock, BannerCard, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, IconsBlock, InfoBlock, MapBlock, MediaBlock, PromoFeaturesBlock, QuestionsBlock, ShareBlock, SliderBlock,
|
|
1
|
+
import { BannerBlock, BannerCard, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, IconsBlock, InfoBlock, MapBlock, MediaBlock, PromoFeaturesBlock, QuestionsBlock, ShareBlock, SliderBlock, SliderOldBlock, TableBlock, TabsBlock, } from './validators/blocks';
|
|
2
2
|
import { BackgroundCard, BasicCard, Divider, ImageCard, MediaCardBlock, PriceCardBlock, PriceDetailedBlock, Quote, } from './validators/sub-blocks';
|
|
3
|
-
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock),
|
|
3
|
+
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderOldBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), TabsBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock), FilterBlock), FormBlock), SliderBlock);
|
|
4
4
|
export const cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock), ImageCard);
|
|
5
5
|
export const constructorBlockSchemaNames = [
|
|
6
6
|
'divider',
|
|
@@ -9,6 +9,8 @@ export const constructorBlockSchemaNames = [
|
|
|
9
9
|
'post',
|
|
10
10
|
'extended-features-block',
|
|
11
11
|
'promo-features-block',
|
|
12
|
+
/** @deprecated */
|
|
13
|
+
'slider-old-block',
|
|
12
14
|
'slider-block',
|
|
13
15
|
'questions-block',
|
|
14
16
|
'header-block',
|
|
@@ -7,7 +7,7 @@ export * from '../../blocks/Info/schema';
|
|
|
7
7
|
export * from '../../blocks/Media/schema';
|
|
8
8
|
export * from '../../blocks/Map/schema';
|
|
9
9
|
export * from '../../blocks/Questions/schema';
|
|
10
|
-
export * from '../../blocks/
|
|
10
|
+
export * from '../../blocks/SliderOld/schema';
|
|
11
11
|
export * from '../../blocks/Table/schema';
|
|
12
12
|
export * from '../../blocks/Tabs/schema';
|
|
13
13
|
export * from '../../blocks/HeaderSlider/schema';
|
|
@@ -17,4 +17,4 @@ export * from '../../blocks/ContentLayout/schema';
|
|
|
17
17
|
export * from '../../blocks/Share/schema';
|
|
18
18
|
export * from '../../blocks/FilterBlock/schema';
|
|
19
19
|
export * from '../../blocks/Form/schema';
|
|
20
|
-
export * from '../../blocks/
|
|
20
|
+
export * from '../../blocks/Slider/schema';
|
|
@@ -7,7 +7,7 @@ export * from '../../blocks/Info/schema';
|
|
|
7
7
|
export * from '../../blocks/Media/schema';
|
|
8
8
|
export * from '../../blocks/Map/schema';
|
|
9
9
|
export * from '../../blocks/Questions/schema';
|
|
10
|
-
export * from '../../blocks/
|
|
10
|
+
export * from '../../blocks/SliderOld/schema';
|
|
11
11
|
export * from '../../blocks/Table/schema';
|
|
12
12
|
export * from '../../blocks/Tabs/schema';
|
|
13
13
|
export * from '../../blocks/HeaderSlider/schema';
|
|
@@ -17,4 +17,4 @@ export * from '../../blocks/ContentLayout/schema';
|
|
|
17
17
|
export * from '../../blocks/Share/schema';
|
|
18
18
|
export * from '../../blocks/FilterBlock/schema';
|
|
19
19
|
export * from '../../blocks/Form/schema';
|
|
20
|
-
export * from '../../blocks/
|
|
20
|
+
export * from '../../blocks/Slider/schema';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.pc-banner-card__subtitle p, .pc-banner-card__subtitle, .pc-banner-card__title {
|
|
1
|
+
.pc-banner-card__subtitle.pc-banner-card__subtitle p, .pc-banner-card__subtitle.pc-banner-card__subtitle, .pc-banner-card__title.pc-banner-card__title {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -16,31 +16,32 @@ unpredictable css rules order in build */
|
|
|
16
16
|
color: var(--g-color-text-light-primary);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
.pc-banner-card__title {
|
|
19
|
+
.pc-banner-card__title.pc-banner-card__title {
|
|
20
20
|
font-size: var(--g-text-display-2-font-size);
|
|
21
21
|
line-height: var(--g-text-display-2-line-height);
|
|
22
22
|
color: var(--pc-text-header-color);
|
|
23
23
|
font-weight: var(--g-text-accent-font-weight);
|
|
24
24
|
}
|
|
25
25
|
@media (max-width: 576px) {
|
|
26
|
-
.pc-banner-card__title {
|
|
26
|
+
.pc-banner-card__title.pc-banner-card__title {
|
|
27
27
|
font-size: var(--g-text-display-1-font-size);
|
|
28
28
|
line-height: var(--g-text-display-1-line-height);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
.pc-banner-card__title a {
|
|
31
|
+
.pc-banner-card__title.pc-banner-card__title a {
|
|
32
32
|
outline: none;
|
|
33
33
|
color: var(--g-color-text-link);
|
|
34
34
|
text-decoration: none;
|
|
35
35
|
cursor: pointer;
|
|
36
36
|
}
|
|
37
|
-
.utilityfocus .pc-banner-card__title a:focus {
|
|
37
|
+
.utilityfocus .pc-banner-card__title.pc-banner-card__title a:focus {
|
|
38
38
|
outline: 2px solid #ffdb4d;
|
|
39
39
|
}
|
|
40
|
-
.pc-banner-card__title a:hover, .pc-banner-card__title a:active {
|
|
40
|
+
.pc-banner-card__title.pc-banner-card__title a:hover, .pc-banner-card__title.pc-banner-card__title a:active {
|
|
41
41
|
--pc-text-header-color: var(--g-color-text-link-hover);
|
|
42
42
|
color: var(--g-color-text-link-hover);
|
|
43
43
|
}
|
|
44
|
+
|
|
44
45
|
.pc-banner-card__content {
|
|
45
46
|
width: 100%;
|
|
46
47
|
border-radius: var(--pc-border-radius);
|
|
@@ -57,7 +58,7 @@ unpredictable css rules order in build */
|
|
|
57
58
|
flex-direction: column;
|
|
58
59
|
align-items: baseline;
|
|
59
60
|
}
|
|
60
|
-
.pc-banner-card__subtitle {
|
|
61
|
+
.pc-banner-card__subtitle.pc-banner-card__subtitle {
|
|
61
62
|
display: inline-block;
|
|
62
63
|
margin-top: 8px;
|
|
63
64
|
font-size: var(--g-text-body-3-font-size);
|
|
@@ -66,13 +67,14 @@ unpredictable css rules order in build */
|
|
|
66
67
|
font-weight: var(--g-text-accent-font-weight);
|
|
67
68
|
font-weight: normal;
|
|
68
69
|
}
|
|
69
|
-
.pc-banner-card__subtitle p {
|
|
70
|
+
.pc-banner-card__subtitle.pc-banner-card__subtitle p {
|
|
70
71
|
font-size: var(--g-text-body-3-font-size);
|
|
71
72
|
line-height: var(--g-text-body-3-line-height);
|
|
72
73
|
color: var(--pc-text-header-color);
|
|
73
74
|
font-weight: var(--g-text-accent-font-weight);
|
|
74
75
|
font-weight: normal;
|
|
75
76
|
}
|
|
77
|
+
|
|
76
78
|
.pc-banner-card__button.pc-banner-card__button {
|
|
77
79
|
margin-top: 28px;
|
|
78
80
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { BackgroundImage, Button,
|
|
2
|
+
import { BackgroundImage, Button, RouterLink, YFMWrapper } from '../../components';
|
|
3
3
|
import { useTheme } from '../../context/theme';
|
|
4
4
|
import { block, getThemedValue } from '../../utils';
|
|
5
5
|
import './BannerCard.css';
|
|
@@ -15,9 +15,10 @@ export const BannerCard = (props) => {
|
|
|
15
15
|
React.createElement("div", { className: b('content'), style: contentStyle },
|
|
16
16
|
React.createElement("div", { className: b('info') },
|
|
17
17
|
React.createElement("div", { className: b('text') },
|
|
18
|
-
React.createElement("h2",
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
React.createElement(YFMWrapper, { tagName: "h2", contentClassName: b('title'), content: title, modifiers: {
|
|
19
|
+
constructor: true,
|
|
20
|
+
} }),
|
|
21
|
+
subtitle && (React.createElement(YFMWrapper, { contentClassName: b('subtitle'), content: subtitle, modifiers: { constructor: true } }))),
|
|
21
22
|
url && (React.createElement(RouterLink, { href: url },
|
|
22
23
|
React.createElement(Button, { className: b('button'), theme: buttonTheme, size: "xl", text: text !== null && text !== void 0 ? text : '', url: url, target: target })))),
|
|
23
24
|
React.createElement(BackgroundImage, { className: b('image'), src: getThemedValue(image, theme), disableCompress: disableCompress }))));
|
|
@@ -27,7 +27,7 @@ const Content = (props) => {
|
|
|
27
27
|
return (React.createElement(Col, { className: b({ size, centered, theme, 'control-position': controlPosition }, className), reset: true, sizes: colSizes, qa: qaAttributes.container },
|
|
28
28
|
title && (React.createElement(Title, { className: b('title'), title: titleProps, colSizes: { all: 12 }, id: titleId })),
|
|
29
29
|
text && (React.createElement("div", { className: b('text', { ['without-title']: !hasTitle }) },
|
|
30
|
-
React.createElement(YFMWrapper, { content: text, modifiers: { constructor: true, [`constructor-size-${size}`]: true }, id: textId }))),
|
|
30
|
+
React.createElement(YFMWrapper, { content: text, modifiers: { constructor: true, [`constructor-size-${size}`]: true }, id: textId, qa: qaAttributes.list }))),
|
|
31
31
|
(list === null || list === void 0 ? void 0 : list.length) ? (React.createElement("div", { className: b('list') },
|
|
32
32
|
React.createElement(ContentList, { list: list, size: size, qa: qaAttributes.list, theme: theme }))) : null,
|
|
33
33
|
additionalInfo && (React.createElement("div", { className: b('notice') },
|
|
@@ -47,11 +47,12 @@ unpredictable css rules order in build */
|
|
|
47
47
|
.pc-price-card__content_theme_light .pc-price-card__info a:hover {
|
|
48
48
|
color: var(--g-color-text-dark-secondary);
|
|
49
49
|
}
|
|
50
|
-
.pc-price-card__title {
|
|
50
|
+
.pc-price-card__title.pc-price-card__title {
|
|
51
51
|
font-size: var(--g-text-subheader-3-font-size);
|
|
52
52
|
line-height: var(--g-text-subheader-3-line-height);
|
|
53
53
|
margin-bottom: 24px;
|
|
54
54
|
}
|
|
55
|
+
|
|
55
56
|
.pc-price-card__price {
|
|
56
57
|
margin-bottom: 24px;
|
|
57
58
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import Check from '@gravity-ui/icons/Check';
|
|
3
|
-
import { BackgroundImage, Buttons, CardBase, ContentList,
|
|
3
|
+
import { BackgroundImage, Buttons, CardBase, ContentList, Links, YFMWrapper } from '../../components';
|
|
4
4
|
import { block } from '../../utils';
|
|
5
5
|
import './PriceCard.css';
|
|
6
6
|
const b = block('price-card');
|
|
@@ -11,7 +11,7 @@ const PriceCard = (props) => {
|
|
|
11
11
|
React.createElement(BackgroundImage, { className: b('background'), style: { backgroundColor } }),
|
|
12
12
|
React.createElement("div", { className: b('content', { theme }) },
|
|
13
13
|
React.createElement("div", { className: b('info') },
|
|
14
|
-
React.createElement(
|
|
14
|
+
React.createElement(YFMWrapper, { content: title, contentClassName: b('title'), onlyContent: true, modifiers: { constructor: true } }),
|
|
15
15
|
React.createElement("div", { className: b('price') },
|
|
16
16
|
React.createElement("div", null,
|
|
17
17
|
React.createElement("span", { className: b('price-value') }, price),
|
|
@@ -63,22 +63,26 @@ unpredictable css rules order in build */
|
|
|
63
63
|
font-size: var(--g-text-body-3-font-size);
|
|
64
64
|
line-height: var(--g-text-body-3-line-height);
|
|
65
65
|
}
|
|
66
|
-
.pc-quote__content_quote-type_chevron::before {
|
|
66
|
+
.pc-quote__content_quote-type_chevron.pc-quote__content_quote-type_chevron::before {
|
|
67
67
|
position: absolute;
|
|
68
68
|
left: -10px;
|
|
69
69
|
content: "«";
|
|
70
70
|
}
|
|
71
|
-
.pc-quote__content_quote-type_chevron .pc-quote__text::after {
|
|
71
|
+
.pc-quote__content_quote-type_chevron.pc-quote__content_quote-type_chevron .pc-quote__text::after {
|
|
72
72
|
content: "»";
|
|
73
|
+
left: auto;
|
|
73
74
|
}
|
|
74
|
-
|
|
75
|
+
|
|
76
|
+
.pc-quote__content_quote-type_english-double.pc-quote__content_quote-type_english-double::before {
|
|
75
77
|
position: absolute;
|
|
76
78
|
left: -8px;
|
|
77
79
|
content: "“";
|
|
78
80
|
}
|
|
79
|
-
.pc-quote__content_quote-type_english-double .pc-quote__text::after {
|
|
81
|
+
.pc-quote__content_quote-type_english-double.pc-quote__content_quote-type_english-double .pc-quote__text::after {
|
|
80
82
|
content: "”";
|
|
83
|
+
left: auto;
|
|
81
84
|
}
|
|
85
|
+
|
|
82
86
|
.pc-quote__content .yfm {
|
|
83
87
|
font-size: var(--g-text-body-3-font-size);
|
|
84
88
|
line-height: var(--g-text-body-3-line-height);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
|
-
import { Author, Button,
|
|
2
|
+
import { Author, Button, Image, YFMWrapper } from '../../components';
|
|
3
3
|
import { getMediaImage } from '../../components/Media/Image/utils';
|
|
4
4
|
import { useTheme } from '../../context/theme';
|
|
5
5
|
import { useAnalytics } from '../../hooks';
|
|
@@ -23,14 +23,12 @@ const Quote = (props) => {
|
|
|
23
23
|
button && React.createElement(Button, Object.assign({ size: "xl" }, button))));
|
|
24
24
|
const themedLogoProps = getThemedValue(logo, theme);
|
|
25
25
|
const logoProps = getMediaImage(themedLogoProps);
|
|
26
|
+
const textLocal = yfmText || text;
|
|
26
27
|
return (React.createElement("div", { className: b({ theme: textTheme, border }), style: color ? { backgroundColor: color } : {} },
|
|
27
28
|
React.createElement("div", { key: text, className: b('content-wrapper') },
|
|
28
29
|
React.createElement("div", null,
|
|
29
30
|
React.createElement(Image, Object.assign({ className: b('logo') }, logoProps)),
|
|
30
|
-
React.createElement("div", { className: b('content', { 'quote-type': quoteType }) },
|
|
31
|
-
text && (React.createElement("span", { className: b('text') },
|
|
32
|
-
React.createElement(HTML, null, text))),
|
|
33
|
-
yfmText && (React.createElement(YFMWrapper, { className: b('text'), content: yfmText, modifiers: { constructor: true } })))),
|
|
31
|
+
React.createElement("div", { className: b('content', { 'quote-type': quoteType }) }, textLocal && (React.createElement(YFMWrapper, { tagName: "span", contentClassName: b('text'), content: textLocal, modifiers: { constructor: true } })))),
|
|
34
32
|
renderFooter),
|
|
35
33
|
React.createElement("div", { className: b('image-wrapper') },
|
|
36
34
|
React.createElement(Image, Object.assign({}, imageData, { className: b('image') })))));
|
|
@@ -168,7 +168,7 @@ export const config = {
|
|
|
168
168
|
parser: parsePromoFeatures,
|
|
169
169
|
},
|
|
170
170
|
],
|
|
171
|
-
[BlockType.
|
|
171
|
+
[BlockType.SliderOldBlock]: blockHeaderTransformer,
|
|
172
172
|
[BlockType.CompaniesBlock]: blockHeaderTransformer,
|
|
173
173
|
[BlockType.QuestionsBlock]: [
|
|
174
174
|
{
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ConstructorBlock, CustomConfig, PCShareSocialNetwork, TagName, TextSize } from '../models';
|
|
2
3
|
export declare function getHeaderTag(size: TextSize): "h1" | "h2" | "h3" | "h4";
|
|
3
|
-
|
|
4
|
+
type SelectVariantArgs = {
|
|
5
|
+
block?: boolean;
|
|
6
|
+
content?: string;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
tagName?: TagName;
|
|
9
|
+
};
|
|
10
|
+
export declare function selectTagName({ content, children, tagName }: SelectVariantArgs): string;
|
|
4
11
|
export declare function getBlockKey(block: ConstructorBlock, index: number): string;
|
|
5
12
|
export declare const getCustomItems: (types: (keyof CustomConfig)[], customBlocks?: CustomConfig) => {};
|
|
6
13
|
export declare const getCustomTypes: (types: (keyof CustomConfig)[], customBlocks?: CustomConfig) => string[];
|
|
@@ -8,3 +15,4 @@ export declare const getOrderedBlocks: (blocks: ConstructorBlock[], headerBlockT
|
|
|
8
15
|
export declare const getHeaderBlock: (blocks: ConstructorBlock[], headerBlockTypes?: string[]) => ConstructorBlock | undefined;
|
|
9
16
|
export declare const getShareLink: (url: string, type: PCShareSocialNetwork, title?: string, text?: string) => string | undefined;
|
|
10
17
|
export declare const getQaAttrubutes: (qa?: string, ...customKeys: (string | Array<string>)[]) => Record<string, string>;
|
|
18
|
+
export {};
|
|
@@ -52,9 +52,15 @@ export function getHeaderTag(size) {
|
|
|
52
52
|
return 'h2';
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
export function
|
|
55
|
+
export function selectTagName({ content, children, tagName }) {
|
|
56
|
+
if (!children && tagName) {
|
|
57
|
+
return tagName;
|
|
58
|
+
}
|
|
59
|
+
if (!content) {
|
|
60
|
+
return 'span';
|
|
61
|
+
}
|
|
56
62
|
const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');
|
|
57
|
-
return regex.test(content);
|
|
63
|
+
return regex.test(content) ? 'div' : 'span';
|
|
58
64
|
}
|
|
59
65
|
export function getBlockKey(block, index) {
|
|
60
66
|
return `${block.type}-${index}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/page-constructor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-alpha.0",
|
|
4
4
|
"description": "Gravity UI Page Constructor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"uuid": "^9.0.0"
|
|
117
117
|
},
|
|
118
118
|
"peerDependencies": {
|
|
119
|
-
"@diplodoc/transform": "^4.
|
|
119
|
+
"@diplodoc/transform": "^4.28.2",
|
|
120
120
|
"@gravity-ui/uikit": "^6.0.0",
|
|
121
121
|
"react": "^16.0.0 || ^17.0.0 || ^18.0.0"
|
|
122
122
|
},
|