@gravity-ui/page-constructor 3.0.0-alpha.3 → 3.0.0-alpha.4
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 +0 -1
- package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
- package/build/cjs/blocks/FilterBlock/FilterBlock.js +1 -1
- package/build/cjs/blocks/Icons/Icons.js +1 -1
- package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
- package/build/cjs/blocks/Slider/Slider.js +1 -1
- package/build/cjs/blocks/Tabs/Tabs.js +1 -1
- package/build/cjs/components/MediaBase/MediaBase.js +1 -1
- package/build/cjs/components/Title/Title.d.ts +1 -1
- package/build/cjs/components/Title/Title.js +4 -4
- package/build/cjs/components/Title/TitleItem.d.ts +2 -2
- package/build/cjs/components/Title/TitleItem.js +2 -2
- package/build/cjs/components/index.d.ts +0 -1
- package/build/cjs/components/index.js +3 -5
- package/build/cjs/constructor-items.d.ts +0 -1
- package/build/cjs/constructor-items.js +0 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.css +0 -12
- package/build/cjs/containers/PageConstructor/PageConstructor.js +3 -8
- package/build/cjs/models/constructor-items/blocks.d.ts +4 -2
- package/build/cjs/models/constructor-items/common.d.ts +1 -1
- package/build/cjs/models/constructor-items/sub-blocks.d.ts +1 -14
- package/build/cjs/models/constructor-items/sub-blocks.js +0 -1
- package/build/cjs/models/constructor.d.ts +0 -1
- package/build/cjs/schema/index.d.ts +0 -6
- package/build/cjs/schema/index.js +2 -8
- package/build/cjs/schema/validators/sub-blocks.d.ts +0 -1
- package/build/cjs/schema/validators/sub-blocks.js +0 -1
- package/build/cjs/sub-blocks/Content/Content.js +3 -3
- package/build/cjs/sub-blocks/index.d.ts +0 -1
- package/build/cjs/sub-blocks/index.js +1 -3
- package/build/cjs/text-transform/transformers.d.ts +0 -2
- package/build/cjs/text-transform/transformers.js +1 -4
- package/build/esm/blocks/CardLayout/CardLayout.js +2 -2
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
- package/build/esm/blocks/FilterBlock/FilterBlock.js +2 -2
- package/build/esm/blocks/Icons/Icons.js +2 -2
- package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
- package/build/esm/blocks/Slider/Slider.js +1 -1
- package/build/esm/blocks/Tabs/Tabs.js +1 -1
- package/build/esm/components/MediaBase/MediaBase.js +1 -1
- package/build/esm/components/Title/Title.d.ts +1 -1
- package/build/esm/components/Title/Title.js +4 -4
- package/build/esm/components/Title/TitleItem.d.ts +2 -2
- package/build/esm/components/Title/TitleItem.js +2 -2
- package/build/esm/components/index.d.ts +0 -1
- package/build/esm/components/index.js +0 -1
- package/build/esm/constructor-items.d.ts +0 -1
- package/build/esm/constructor-items.js +1 -2
- package/build/esm/containers/PageConstructor/PageConstructor.css +0 -12
- package/build/esm/containers/PageConstructor/PageConstructor.js +3 -8
- package/build/esm/models/constructor-items/blocks.d.ts +4 -2
- package/build/esm/models/constructor-items/common.d.ts +1 -1
- package/build/esm/models/constructor-items/sub-blocks.d.ts +1 -14
- package/build/esm/models/constructor-items/sub-blocks.js +0 -1
- package/build/esm/models/constructor.d.ts +0 -1
- package/build/esm/schema/index.d.ts +0 -6
- package/build/esm/schema/index.js +3 -9
- package/build/esm/schema/validators/sub-blocks.d.ts +0 -1
- package/build/esm/schema/validators/sub-blocks.js +0 -1
- package/build/esm/sub-blocks/Content/Content.js +3 -3
- package/build/esm/sub-blocks/index.d.ts +0 -1
- package/build/esm/sub-blocks/index.js +0 -1
- package/build/esm/text-transform/transformers.d.ts +0 -2
- package/build/esm/text-transform/transformers.js +1 -4
- package/package.json +4 -1
- package/server/models/constructor-items/blocks.d.ts +4 -2
- package/server/models/constructor-items/common.d.ts +1 -1
- package/server/models/constructor-items/sub-blocks.d.ts +1 -14
- package/server/models/constructor-items/sub-blocks.js +0 -1
- package/server/models/constructor.d.ts +0 -1
- package/server/text-transform/transformers.d.ts +0 -2
- package/server/text-transform/transformers.js +1 -4
- package/styles/styles.css +0 -12
- package/styles/yfm.scss +0 -14
- package/build/cjs/containers/PageConstructor/components/ConstructorFootnotes/ConstructorFootnotes.css +0 -12
- package/build/cjs/containers/PageConstructor/components/ConstructorFootnotes/ConstructorFootnotes.d.ts +0 -8
- package/build/cjs/containers/PageConstructor/components/ConstructorFootnotes/ConstructorFootnotes.js +0 -19
- package/build/cjs/containers/PageConstructor/components/ConstructorFootnotes/index.d.ts +0 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorFootnotes/index.js +0 -4
- package/build/cjs/sub-blocks/NewsCard/NewsCard.css +0 -18
- package/build/cjs/sub-blocks/NewsCard/NewsCard.d.ts +0 -3
- package/build/cjs/sub-blocks/NewsCard/NewsCard.js +0 -16
- package/build/cjs/sub-blocks/NewsCard/schema.d.ts +0 -23
- package/build/cjs/sub-blocks/NewsCard/schema.js +0 -20
- package/build/esm/containers/PageConstructor/components/ConstructorFootnotes/ConstructorFootnotes.css +0 -12
- package/build/esm/containers/PageConstructor/components/ConstructorFootnotes/ConstructorFootnotes.d.ts +0 -9
- package/build/esm/containers/PageConstructor/components/ConstructorFootnotes/ConstructorFootnotes.js +0 -15
- package/build/esm/containers/PageConstructor/components/ConstructorFootnotes/index.d.ts +0 -1
- package/build/esm/containers/PageConstructor/components/ConstructorFootnotes/index.js +0 -1
- package/build/esm/sub-blocks/NewsCard/NewsCard.css +0 -18
- package/build/esm/sub-blocks/NewsCard/NewsCard.d.ts +0 -4
- package/build/esm/sub-blocks/NewsCard/NewsCard.js +0 -14
- package/build/esm/sub-blocks/NewsCard/schema.d.ts +0 -23
- package/build/esm/sub-blocks/NewsCard/schema.js +0 -17
package/README.md
CHANGED
|
@@ -12,6 +12,6 @@ const DEFAULT_SIZES = {
|
|
|
12
12
|
};
|
|
13
13
|
const b = (0, utils_1.block)('card-layout-block');
|
|
14
14
|
const CardLayout = ({ title, description, animated, colSizes = DEFAULT_SIZES, children, }) => (react_1.default.createElement(components_1.AnimateBlock, { className: b(), animate: animated },
|
|
15
|
-
react_1.default.createElement(components_1.
|
|
15
|
+
react_1.default.createElement(components_1.Title, { title: title, subtitle: description }),
|
|
16
16
|
react_1.default.createElement(grid_1.Row, null, react_1.default.Children.map(children, (child, index) => (react_1.default.createElement(grid_1.Col, { key: index, sizes: colSizes, className: b('item') }, child))))));
|
|
17
17
|
exports.default = CardLayout;
|
|
@@ -19,7 +19,7 @@ const DEFAULT_SIZES = {
|
|
|
19
19
|
const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DEFAULT_SIZES, animated, }) => {
|
|
20
20
|
const { themeValue: theme } = (0, react_1.useContext)(ThemeValueContext_1.ThemeValueContext);
|
|
21
21
|
return (react_1.default.createElement(components_1.AnimateBlock, { className: b(), animate: animated },
|
|
22
|
-
react_1.default.createElement(components_1.Title, { title: title,
|
|
22
|
+
react_1.default.createElement(components_1.Title, { title: title, subtitle: description, className: b('header') }),
|
|
23
23
|
react_1.default.createElement("div", { className: b('items') },
|
|
24
24
|
react_1.default.createElement(grid_1.Row, null, items.map(({ title: itemTitle, text, link, links, label, icon, buttons, additionalInfo, }) => {
|
|
25
25
|
const itemLinks = links || [];
|
|
@@ -38,7 +38,7 @@ const FilterBlock = ({ title, description, tags, tagButtonSize, allTag, items, c
|
|
|
38
38
|
];
|
|
39
39
|
}, [actualTag, items, colSizes]);
|
|
40
40
|
return (react_1.default.createElement(components_1.AnimateBlock, { className: b(), animate: animated },
|
|
41
|
-
title && (react_1.default.createElement(components_1.
|
|
41
|
+
title && (react_1.default.createElement(components_1.Title, { className: b('title', { centered: centered }), title: title, subtitle: description })),
|
|
42
42
|
tabButtons.length && (react_1.default.createElement(grid_1.Row, null,
|
|
43
43
|
react_1.default.createElement(grid_1.Col, null,
|
|
44
44
|
react_1.default.createElement(ButtonTabs_1.default, { className: b('tabs', { centered: centered }), items: tabButtons, activeTab: selectedTag, onSelectTab: setSelectedTag, tabSize: tagButtonSize })))),
|
|
@@ -9,7 +9,7 @@ const b = (0, utils_1.block)('icons-block');
|
|
|
9
9
|
const Icons = ({ title, size = 's', items }) => {
|
|
10
10
|
const { hostname } = (0, react_1.useContext)(locationContext_1.LocationContext);
|
|
11
11
|
return (react_1.default.createElement("div", { className: b({ size }) },
|
|
12
|
-
title && react_1.default.createElement(components_1.
|
|
12
|
+
title && react_1.default.createElement(components_1.Title, { className: b('header'), title: title, colSizes: { all: 12 } }),
|
|
13
13
|
items.map((item) => (react_1.default.createElement("a", Object.assign({ className: b('item'), key: item.url, href: item.url }, (0, utils_1.getLinkProps)(item.url, hostname)),
|
|
14
14
|
react_1.default.createElement(components_1.Image, { className: b('image'), src: item.src }),
|
|
15
15
|
react_1.default.createElement("p", { className: b('text') }, item.text))))));
|
|
@@ -21,7 +21,7 @@ const PromoFeaturesBlock = (props) => {
|
|
|
21
21
|
const backgroundTheme = theme || 'default';
|
|
22
22
|
return (react_1.default.createElement(AnimateBlock_1.default, { className: b({ [backgroundTheme]: true }), animate: animated },
|
|
23
23
|
react_1.default.createElement(FullWidthBackground_1.default, { className: b('background', { [backgroundTheme]: true }) }),
|
|
24
|
-
react_1.default.createElement(Title_1.default, { title: title,
|
|
24
|
+
react_1.default.createElement(Title_1.default, { title: title, subtitle: description, className: b('header') }),
|
|
25
25
|
react_1.default.createElement(BalancedMasonry_1.default, { breakpointCols: breakpointColumns, className: b('card-container'), columnClassName: b('card-container-column') }, items.map(({ title: cardTitle, text, media, theme: cardTheme }, index) => {
|
|
26
26
|
const blockModifier = backgroundTheme === 'default' ? 'default' : 'light';
|
|
27
27
|
const themeMod = cardTheme || blockModifier || '';
|
|
@@ -185,7 +185,7 @@ const SliderBlock = (props) => {
|
|
|
185
185
|
type,
|
|
186
186
|
}, blockClassName) },
|
|
187
187
|
anchorId && react_1.default.createElement(Anchor_1.default, { id: anchorId }),
|
|
188
|
-
react_1.default.createElement(Title_1.default, { title: title,
|
|
188
|
+
react_1.default.createElement(Title_1.default, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }),
|
|
189
189
|
react_1.default.createElement(AnimateBlock_1.default, { className: b('animate-slides'), animate: animated }, renderSlider()))));
|
|
190
190
|
};
|
|
191
191
|
exports.SliderBlock = SliderBlock;
|
|
@@ -54,7 +54,7 @@ const TabsBlock = ({ items, title, description, animated, tabsColSizes, centered
|
|
|
54
54
|
e.currentTarget.scrollIntoView({ inline: 'center', behavior: 'smooth', block: 'nearest' });
|
|
55
55
|
};
|
|
56
56
|
return (react_1.default.createElement(AnimateBlock_1.default, { className: b(), onScroll: () => setPlay(true), animate: animated },
|
|
57
|
-
react_1.default.createElement(Title_1.default, { title: title,
|
|
57
|
+
react_1.default.createElement(Title_1.default, { title: title, subtitle: description, className: b('block-title', { centered: centered }) }),
|
|
58
58
|
react_1.default.createElement(grid_1.Row, null,
|
|
59
59
|
react_1.default.createElement(grid_1.Col, { sizes: tabsColSizes },
|
|
60
60
|
react_1.default.createElement(ButtonTabs_1.default, { items: tabs, onSelectTab: onSelectTab, activeTab: activeTab, className: b('tabs', { centered: centered }) }))),
|
|
@@ -24,7 +24,7 @@ const MediaBase = (props) => {
|
|
|
24
24
|
const mediaContent = !mediaOnly && react_1.default.createElement(MediaBaseContent_1.default, Object.assign({}, mediaContentProps));
|
|
25
25
|
const card = children.type === Card ? children === null || children === void 0 ? void 0 : children.props.children : null;
|
|
26
26
|
return (react_1.default.createElement(AnimateBlock_1.default, { className: b(), onScroll: onScroll, animate: animated },
|
|
27
|
-
mediaOnly && (react_1.default.createElement(Title_1.default, { className: b('header'), title: title,
|
|
27
|
+
mediaOnly && (react_1.default.createElement(Title_1.default, { className: b('header'), title: title, subtitle: description, colSizes: { all: 12 } })),
|
|
28
28
|
react_1.default.createElement(grid_1.Grid, null,
|
|
29
29
|
react_1.default.createElement(grid_1.Row, { className: b('row', {
|
|
30
30
|
reverse: direction === 'media-content',
|
|
@@ -3,5 +3,5 @@ import { ClassNameProps, TitleProps as TitleParams } from '../../models';
|
|
|
3
3
|
export interface TitleProps extends TitleParams {
|
|
4
4
|
colSizes?: GridColumnSizesType;
|
|
5
5
|
}
|
|
6
|
-
declare const Title: ({ title,
|
|
6
|
+
declare const Title: ({ title, subtitle, className, colSizes, }: TitleProps & ClassNameProps) => JSX.Element | null;
|
|
7
7
|
export default Title;
|
|
@@ -7,16 +7,16 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const YFMWrapper_1 = tslib_1.__importDefault(require("../YFMWrapper/YFMWrapper"));
|
|
8
8
|
const TitleItem_1 = tslib_1.__importDefault(require("./TitleItem"));
|
|
9
9
|
const b = (0, utils_1.block)('title');
|
|
10
|
-
const Title = ({ title,
|
|
11
|
-
if (!title && !
|
|
10
|
+
const Title = ({ title, subtitle, className, colSizes = { all: 12, sm: 8 }, }) => {
|
|
11
|
+
if (!title && !subtitle) {
|
|
12
12
|
return null;
|
|
13
13
|
}
|
|
14
14
|
const _a = !title || typeof title === 'string' ? { text: title } : title, { text } = _a, titleProps = tslib_1.__rest(_a, ["text"]);
|
|
15
15
|
return (react_1.default.createElement("div", { className: b(null, className) },
|
|
16
16
|
text && (react_1.default.createElement(grid_1.Col, { reset: true, sizes: colSizes },
|
|
17
17
|
react_1.default.createElement(TitleItem_1.default, Object.assign({ text: text }, titleProps)))),
|
|
18
|
-
|
|
18
|
+
subtitle && (react_1.default.createElement(grid_1.Col, { reset: true, sizes: colSizes },
|
|
19
19
|
react_1.default.createElement("div", { className: b('description', { titleSize: titleProps === null || titleProps === void 0 ? void 0 : titleProps.textSize }) },
|
|
20
|
-
react_1.default.createElement(YFMWrapper_1.default, { content:
|
|
20
|
+
react_1.default.createElement(YFMWrapper_1.default, { content: subtitle, modifiers: { constructor: true } }))))));
|
|
21
21
|
};
|
|
22
22
|
exports.default = Title;
|
|
@@ -6,5 +6,5 @@ export interface TitleItemFullProps extends TitleItemProps {
|
|
|
6
6
|
dataQa?: string;
|
|
7
7
|
resetMargin?: boolean;
|
|
8
8
|
}
|
|
9
|
-
declare const
|
|
10
|
-
export default
|
|
9
|
+
declare const TitleItem: (props: TitleItemFullProps) => JSX.Element;
|
|
10
|
+
export default TitleItem;
|
|
@@ -24,7 +24,7 @@ function getArrowSize(size, isMobile) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
exports.getArrowSize = getArrowSize;
|
|
27
|
-
const
|
|
27
|
+
const TitleItem = (props) => {
|
|
28
28
|
const isMobile = (0, react_1.useContext)(mobileContext_1.MobileContext);
|
|
29
29
|
const { textSize = 'm', text, anchor, justify, url, onClick, custom, className, dataQa, resetMargin = true, } = props;
|
|
30
30
|
const { hostname } = (0, react_1.useContext)(locationContext_1.LocationContext);
|
|
@@ -54,4 +54,4 @@ const Title = (props) => {
|
|
|
54
54
|
'data-qa': `${dataQa}-header`,
|
|
55
55
|
}, content)));
|
|
56
56
|
};
|
|
57
|
-
exports.default =
|
|
57
|
+
exports.default = TitleItem;
|
|
@@ -5,7 +5,6 @@ export { default as BackgroundMedia } from './BackgroundMedia/BackgroundMedia';
|
|
|
5
5
|
export { default as BackLink } from './BackLink/BackLink';
|
|
6
6
|
export { default as BalancedMasonry } from './BalancedMasonry/BalancedMasonry';
|
|
7
7
|
export { default as BlockBase } from './BlockBase/BlockBase';
|
|
8
|
-
export { default as BlockHeader } from './Title/Title';
|
|
9
8
|
export { default as Button } from './Button/Button';
|
|
10
9
|
export { default as CardBase } from './CardBase/CardBase';
|
|
11
10
|
export { default as ErrorWrapper } from './ErrorWrapper/ErrorWrapper';
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FullScreenMedia = exports.MetaInfo = exports.HTML = exports.RouterLink = exports.Author = exports.OverflowScroller = exports.Control = exports.YandexForm = exports.YFMWrapper = exports.VideoBlock = exports.UnpublishedLabel = exports.ToggleArrow = exports.Title = exports.Table = exports.ReactPlayer = exports.OutsideClick = exports.Media = exports.Links = exports.Link = exports.ImageBase = exports.Image = exports.HeaderBreadcrumbs = exports.FullWidthBackground = exports.FullscreenImage = exports.Foldable = exports.FileLink = exports.ErrorWrapper = exports.CardBase = exports.Button = exports.
|
|
6
|
+
exports.FullScreenMedia = exports.MetaInfo = exports.HTML = exports.RouterLink = exports.Author = exports.OverflowScroller = exports.Control = exports.YandexForm = exports.YFMWrapper = exports.VideoBlock = exports.UnpublishedLabel = exports.ToggleArrow = exports.Title = exports.Table = exports.ReactPlayer = exports.OutsideClick = exports.Media = exports.Links = exports.Link = exports.ImageBase = exports.Image = exports.HeaderBreadcrumbs = exports.FullWidthBackground = exports.FullscreenImage = exports.Foldable = exports.FileLink = exports.ErrorWrapper = exports.CardBase = exports.Button = exports.BlockBase = exports.BalancedMasonry = exports.BackLink = exports.BackgroundMedia = exports.BackgroundImage = exports.AnimateBlock = exports.Anchor = void 0;
|
|
7
7
|
var Anchor_1 = require("./Anchor/Anchor");
|
|
8
8
|
Object.defineProperty(exports, "Anchor", { enumerable: true, get: function () { return __importDefault(Anchor_1).default; } });
|
|
9
9
|
var AnimateBlock_1 = require("./AnimateBlock/AnimateBlock");
|
|
@@ -18,8 +18,6 @@ var BalancedMasonry_1 = require("./BalancedMasonry/BalancedMasonry");
|
|
|
18
18
|
Object.defineProperty(exports, "BalancedMasonry", { enumerable: true, get: function () { return __importDefault(BalancedMasonry_1).default; } });
|
|
19
19
|
var BlockBase_1 = require("./BlockBase/BlockBase");
|
|
20
20
|
Object.defineProperty(exports, "BlockBase", { enumerable: true, get: function () { return __importDefault(BlockBase_1).default; } });
|
|
21
|
-
var Title_1 = require("./Title/Title");
|
|
22
|
-
Object.defineProperty(exports, "BlockHeader", { enumerable: true, get: function () { return __importDefault(Title_1).default; } });
|
|
23
21
|
var Button_1 = require("./Button/Button");
|
|
24
22
|
Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(Button_1).default; } });
|
|
25
23
|
var CardBase_1 = require("./CardBase/CardBase");
|
|
@@ -52,8 +50,8 @@ var ReactPlayer_1 = require("./ReactPlayer/ReactPlayer");
|
|
|
52
50
|
Object.defineProperty(exports, "ReactPlayer", { enumerable: true, get: function () { return __importDefault(ReactPlayer_1).default; } });
|
|
53
51
|
var Table_1 = require("./Table/Table");
|
|
54
52
|
Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return __importDefault(Table_1).default; } });
|
|
55
|
-
var
|
|
56
|
-
Object.defineProperty(exports, "Title", { enumerable: true, get: function () { return __importDefault(
|
|
53
|
+
var Title_1 = require("./Title/Title");
|
|
54
|
+
Object.defineProperty(exports, "Title", { enumerable: true, get: function () { return __importDefault(Title_1).default; } });
|
|
57
55
|
var ToggleArrow_1 = require("./ToggleArrow/ToggleArrow");
|
|
58
56
|
Object.defineProperty(exports, "ToggleArrow", { enumerable: true, get: function () { return __importDefault(ToggleArrow_1).default; } });
|
|
59
57
|
var UnpublishedLabel_1 = require("./UnpublishedLabel/UnpublishedLabel");
|
|
@@ -23,7 +23,6 @@ export declare const subBlockMap: {
|
|
|
23
23
|
"price-detailed": (props: import("./models").PriceDetailedProps) => JSX.Element;
|
|
24
24
|
"media-card": ({ border, ...mediaProps }: import("./models").MediaCardProps) => JSX.Element;
|
|
25
25
|
"banner-card": (props: import("./models").BannerCardProps) => JSX.Element;
|
|
26
|
-
"news-card": (props: import("./models").NewsCardProps) => JSX.Element;
|
|
27
26
|
"layout-item": ({ content: { links, ...content }, metaInfo, media, border, fullScreen, className, }: import("./models").LayoutItemProps) => JSX.Element;
|
|
28
27
|
"background-card": (props: import("./models").BackgroundCardProps) => JSX.Element;
|
|
29
28
|
"basic-card": (props: import("./models").BasicCardProps) => JSX.Element;
|
|
@@ -29,7 +29,6 @@ exports.subBlockMap = {
|
|
|
29
29
|
[models_1.SubBlockType.PriceDetailed]: sub_blocks_1.PriceDetailed,
|
|
30
30
|
[models_1.SubBlockType.MediaCard]: sub_blocks_1.MediaCard,
|
|
31
31
|
[models_1.SubBlockType.BannerCard]: sub_blocks_1.BannerCard,
|
|
32
|
-
[models_1.SubBlockType.NewsCard]: sub_blocks_1.NewsCard,
|
|
33
32
|
[models_1.SubBlockType.LayoutItem]: sub_blocks_1.LayoutItem,
|
|
34
33
|
[models_1.SubBlockType.BackgroundCard]: sub_blocks_1.BackgroundCard,
|
|
35
34
|
[models_1.SubBlockType.BasicCard]: sub_blocks_1.BasicCard,
|
|
@@ -83,18 +83,6 @@ unpredictable css rules order in build */
|
|
|
83
83
|
.yfm_constructor_theme_dark p {
|
|
84
84
|
color: var(--yc-color-text-light-primary);
|
|
85
85
|
}
|
|
86
|
-
.yfm_constructor_footnote_text p, .yfm_constructor_footnote_page p {
|
|
87
|
-
opacity: 0.5;
|
|
88
|
-
}
|
|
89
|
-
.yfm_constructor_footnote_text p {
|
|
90
|
-
font-size: var(--yc-text-body-2-font-size);
|
|
91
|
-
line-height: var(--yc-text-body-2-line-height);
|
|
92
|
-
}
|
|
93
|
-
.yfm_constructor_footnote_page p {
|
|
94
|
-
font-size: var(--yc-text-body-1-font-size);
|
|
95
|
-
line-height: var(--yc-text-body-1-line-height);
|
|
96
|
-
display: inline;
|
|
97
|
-
}
|
|
98
86
|
.yfm_constructor_list_style ul {
|
|
99
87
|
padding-left: 20px;
|
|
100
88
|
}
|
|
@@ -14,12 +14,11 @@ const models_1 = require("../../models");
|
|
|
14
14
|
const Layout_1 = tslib_1.__importDefault(require("../../navigation/containers/Layout/Layout"));
|
|
15
15
|
const utils_1 = require("../../utils");
|
|
16
16
|
const ConstructorBlocks_1 = require("./components/ConstructorBlocks");
|
|
17
|
-
const ConstructorFootnotes_1 = require("./components/ConstructorFootnotes");
|
|
18
17
|
const ConstructorItem_1 = require("./components/ConstructorItem");
|
|
19
18
|
const ConstructorRow_1 = require("./components/ConstructorRow");
|
|
20
19
|
const b = (0, utils_1.block)('page-constructor');
|
|
21
20
|
const Constructor = (props) => {
|
|
22
|
-
const { content: { blocks = [], background = {}
|
|
21
|
+
const { content: { blocks = [], background = {} } = {}, renderMenu, shouldRenderBlock, navigation, custom, } = props;
|
|
23
22
|
const { context } = (0, react_1.useMemo)(() => ({
|
|
24
23
|
context: {
|
|
25
24
|
blockTypes: [...models_1.BlockTypes, ...(0, utils_1.getCustomBlockTypes)(custom)],
|
|
@@ -31,7 +30,6 @@ const Constructor = (props) => {
|
|
|
31
30
|
},
|
|
32
31
|
}), [custom, shouldRenderBlock]);
|
|
33
32
|
const { themeValue: theme } = (0, react_1.useContext)(ThemeValueContext_1.ThemeValueContext);
|
|
34
|
-
const hasFootnotes = footnotes.length > 0;
|
|
35
33
|
const isHeaderBlock = (block) => context.headerBlockTypes.includes(block.type);
|
|
36
34
|
const header = blocks === null || blocks === void 0 ? void 0 : blocks.find(isHeaderBlock);
|
|
37
35
|
const restBlocks = blocks === null || blocks === void 0 ? void 0 : blocks.filter((block) => !isHeaderBlock(block));
|
|
@@ -43,11 +41,8 @@ const Constructor = (props) => {
|
|
|
43
41
|
react_1.default.createElement(Layout_1.default, { navigation: navigation },
|
|
44
42
|
renderMenu && renderMenu(),
|
|
45
43
|
header && (react_1.default.createElement(ConstructorItem_1.ConstructorHeader, { data: header, blockKey: models_1.BlockType.HeaderBlock })),
|
|
46
|
-
react_1.default.createElement(grid_1.Grid, null,
|
|
47
|
-
|
|
48
|
-
react_1.default.createElement(ConstructorBlocks_1.ConstructorBlocks, { items: restBlocks }))),
|
|
49
|
-
hasFootnotes && (react_1.default.createElement(ConstructorRow_1.ConstructorRow, null,
|
|
50
|
-
react_1.default.createElement(ConstructorFootnotes_1.ConstructorFootnotes, { items: footnotes })))))))));
|
|
44
|
+
react_1.default.createElement(grid_1.Grid, null, restBlocks && (react_1.default.createElement(ConstructorRow_1.ConstructorRow, null,
|
|
45
|
+
react_1.default.createElement(ConstructorBlocks_1.ConstructorBlocks, { items: restBlocks })))))))));
|
|
51
46
|
};
|
|
52
47
|
exports.Constructor = Constructor;
|
|
53
48
|
const PageConstructor = (props) => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ButtonSize } from '@gravity-ui/uikit';
|
|
3
3
|
import { GridColumnSize, GridColumnSizesType } from '../../grid/types';
|
|
4
4
|
import { ThemeSupporting } from '../../utils';
|
|
5
|
-
import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, ImageDeviceProps, Justify, LegendTableMarkerType, LinkProps, MapProps, MediaDirection, MediaProps, TextSize, TextTheme, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleItemBaseProps, TitleItemProps
|
|
5
|
+
import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, ImageDeviceProps, Justify, LegendTableMarkerType, LinkProps, MapProps, MediaDirection, MediaProps, TextSize, TextTheme, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleItemBaseProps, TitleItemProps } from './common';
|
|
6
6
|
import { BannerCardProps, SubBlock, SubBlockModels } from './sub-blocks';
|
|
7
7
|
export declare enum BlockType {
|
|
8
8
|
PromoFeaturesBlock = "promo-features-block",
|
|
@@ -207,7 +207,9 @@ export interface TabsBlockItem extends Omit<ContentBlockProps, 'size' | 'colSize
|
|
|
207
207
|
caption?: string;
|
|
208
208
|
media?: ThemedMediaProps;
|
|
209
209
|
}
|
|
210
|
-
export interface TabsBlockProps extends
|
|
210
|
+
export interface TabsBlockProps extends Animatable {
|
|
211
|
+
title?: TitleItemProps | string;
|
|
212
|
+
description?: string;
|
|
211
213
|
tabsColSizes?: GridColumnSizesType;
|
|
212
214
|
centered?: boolean;
|
|
213
215
|
direction?: MediaDirection;
|
|
@@ -7,7 +7,6 @@ import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, Divi
|
|
|
7
7
|
export declare enum SubBlockType {
|
|
8
8
|
Divider = "divider",
|
|
9
9
|
Quote = "quote",
|
|
10
|
-
NewsCard = "news-card",
|
|
11
10
|
/**
|
|
12
11
|
* @deprecated Will be removed
|
|
13
12
|
*/
|
|
@@ -68,15 +67,6 @@ export interface QuoteProps extends Themable, CardBaseProps {
|
|
|
68
67
|
buttonText?: string;
|
|
69
68
|
theme?: TextTheme;
|
|
70
69
|
}
|
|
71
|
-
export interface NewsCardData {
|
|
72
|
-
id: number;
|
|
73
|
-
slug: string;
|
|
74
|
-
title: string;
|
|
75
|
-
date: string;
|
|
76
|
-
url: string;
|
|
77
|
-
isoDate?: string;
|
|
78
|
-
}
|
|
79
|
-
export type NewsCardProps = Pick<NewsCardData, 'title' | 'url' | 'date' | 'isoDate'> & CardBaseProps;
|
|
80
70
|
export interface BackgroundCardProps extends CardBaseProps, Omit<ContentBlockProps, 'colSizes' | 'centered'> {
|
|
81
71
|
url?: string;
|
|
82
72
|
background?: ThemeSupporting<ImageObjectProps>;
|
|
@@ -112,9 +102,6 @@ export type DividerModel = {
|
|
|
112
102
|
export type QuoteModel = {
|
|
113
103
|
type: SubBlockType.Quote;
|
|
114
104
|
} & QuoteProps;
|
|
115
|
-
export type NewsCardModel = {
|
|
116
|
-
type: SubBlockType.NewsCard;
|
|
117
|
-
} & NewsCardProps;
|
|
118
105
|
export type LayoutItemModel = {
|
|
119
106
|
type: SubBlockType.LayoutItem;
|
|
120
107
|
} & LayoutItemProps;
|
|
@@ -136,5 +123,5 @@ export type BannerCardModel = {
|
|
|
136
123
|
export type BasicCardModel = {
|
|
137
124
|
type: SubBlockType.BasicCard;
|
|
138
125
|
} & BasicCardProps;
|
|
139
|
-
export type SubBlockModels = DividerModel | QuoteModel |
|
|
126
|
+
export type SubBlockModels = DividerModel | QuoteModel | PriceDetailedModel | MediaCardModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel | LayoutItemModel;
|
|
140
127
|
export type SubBlock = SubBlockModels;
|
|
@@ -15,7 +15,7 @@ exports.getBlocksCases = getBlocksCases;
|
|
|
15
15
|
function generateDefaultSchema(config) {
|
|
16
16
|
const { cards = {}, blocks = {}, extensions = {} } = config !== null && config !== void 0 ? config : {};
|
|
17
17
|
const blockValidators = 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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock);
|
|
18
|
-
const cardValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(
|
|
18
|
+
const cardValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard);
|
|
19
19
|
const constructorBlockSchemaNames = [
|
|
20
20
|
'divider',
|
|
21
21
|
'quote',
|
|
@@ -48,7 +48,6 @@ function generateDefaultSchema(config) {
|
|
|
48
48
|
'banner-card',
|
|
49
49
|
'price-detailed',
|
|
50
50
|
'background-card',
|
|
51
|
-
'news-card',
|
|
52
51
|
'quote',
|
|
53
52
|
'basic-card',
|
|
54
53
|
'layout-item',
|
|
@@ -91,12 +90,7 @@ function generateDefaultSchema(config) {
|
|
|
91
90
|
items: {
|
|
92
91
|
$ref: '#/definitions/children',
|
|
93
92
|
},
|
|
94
|
-
}, menu: common_1.MenuProps, background: (0, common_1.withTheme)(common_1.BackgroundProps),
|
|
95
|
-
type: 'array',
|
|
96
|
-
items: {
|
|
97
|
-
type: 'string',
|
|
98
|
-
},
|
|
99
|
-
} }), extensions),
|
|
93
|
+
}, menu: common_1.MenuProps, background: (0, common_1.withTheme)(common_1.BackgroundProps) }), extensions),
|
|
100
94
|
};
|
|
101
95
|
}
|
|
102
96
|
exports.generateDefaultSchema = generateDefaultSchema;
|
|
@@ -2,7 +2,6 @@ export * from '../../sub-blocks/PriceDetailed/schema';
|
|
|
2
2
|
export * from '../../sub-blocks/BackgroundCard/schema';
|
|
3
3
|
export * from '../../sub-blocks/Content/schema';
|
|
4
4
|
export * from '../../sub-blocks/MediaCard/schema';
|
|
5
|
-
export * from '../../sub-blocks/NewsCard/schema';
|
|
6
5
|
export * from '../../sub-blocks/LayoutItem/schema';
|
|
7
6
|
export * from '../../sub-blocks/Quote/schema';
|
|
8
7
|
export * from '../../sub-blocks/Divider/schema';
|
|
@@ -5,7 +5,6 @@ tslib_1.__exportStar(require("../../sub-blocks/PriceDetailed/schema"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("../../sub-blocks/BackgroundCard/schema"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("../../sub-blocks/Content/schema"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("../../sub-blocks/MediaCard/schema"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("../../sub-blocks/NewsCard/schema"), exports);
|
|
9
8
|
tslib_1.__exportStar(require("../../sub-blocks/LayoutItem/schema"), exports);
|
|
10
9
|
tslib_1.__exportStar(require("../../sub-blocks/Quote/schema"), exports);
|
|
11
10
|
tslib_1.__exportStar(require("../../sub-blocks/Divider/schema"), exports);
|
|
@@ -37,11 +37,11 @@ function getButtonSize(size) {
|
|
|
37
37
|
const Content = (props) => {
|
|
38
38
|
const { title, text, additionalInfo, size = 'l', links, buttons, colSizes = { all: 12, sm: 8 }, centered, theme, className, } = props;
|
|
39
39
|
const titleProps = tslib_1.__rest(!title || typeof title === 'string'
|
|
40
|
-
? { text: title, textSize: getTextSize(size)
|
|
41
|
-
: Object.assign(
|
|
40
|
+
? { text: title, textSize: getTextSize(size) }
|
|
41
|
+
: Object.assign({}, title), []);
|
|
42
42
|
const hasTitle = Boolean(title);
|
|
43
43
|
return (react_1.default.createElement(grid_1.Col, { className: b({ size, centered, theme }, className), reset: true, sizes: colSizes },
|
|
44
|
-
title && react_1.default.createElement(components_1.Title, { className: b('title'), title:
|
|
44
|
+
title && react_1.default.createElement(components_1.Title, { className: b('title'), title: titleProps, colSizes: { all: 12 } }),
|
|
45
45
|
text && (react_1.default.createElement("div", { className: b('text', { ['without-title']: !hasTitle }) },
|
|
46
46
|
react_1.default.createElement(components_1.YFMWrapper, { content: text, modifiers: { constructor: true, [`constructor-size-${size}`]: true } }))),
|
|
47
47
|
additionalInfo && (react_1.default.createElement("div", { className: b('notice') },
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { default as Divider } from './Divider/Divider';
|
|
2
2
|
export { default as Quote } from './Quote/Quote';
|
|
3
|
-
export { default as NewsCard } from './NewsCard/NewsCard';
|
|
4
3
|
export { default as PriceDetailed } from './PriceDetailed/PriceDetailed';
|
|
5
4
|
export { default as MediaCard } from './MediaCard/MediaCard';
|
|
6
5
|
export { default as BannerCard } from './BannerCard/BannerCard';
|
|
@@ -3,13 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HubspotForm = exports.Content = exports.BasicCard = exports.BackgroundCard = exports.LayoutItem = exports.BannerCard = exports.MediaCard = exports.PriceDetailed = exports.
|
|
6
|
+
exports.HubspotForm = exports.Content = exports.BasicCard = exports.BackgroundCard = exports.LayoutItem = exports.BannerCard = exports.MediaCard = exports.PriceDetailed = exports.Quote = exports.Divider = void 0;
|
|
7
7
|
var Divider_1 = require("./Divider/Divider");
|
|
8
8
|
Object.defineProperty(exports, "Divider", { enumerable: true, get: function () { return __importDefault(Divider_1).default; } });
|
|
9
9
|
var Quote_1 = require("./Quote/Quote");
|
|
10
10
|
Object.defineProperty(exports, "Quote", { enumerable: true, get: function () { return __importDefault(Quote_1).default; } });
|
|
11
|
-
var NewsCard_1 = require("./NewsCard/NewsCard");
|
|
12
|
-
Object.defineProperty(exports, "NewsCard", { enumerable: true, get: function () { return __importDefault(NewsCard_1).default; } });
|
|
13
11
|
var PriceDetailed_1 = require("./PriceDetailed/PriceDetailed");
|
|
14
12
|
Object.defineProperty(exports, "PriceDetailed", { enumerable: true, get: function () { return __importDefault(PriceDetailed_1).default; } });
|
|
15
13
|
var MediaCard_1 = require("./MediaCard/MediaCard");
|
|
@@ -3,7 +3,6 @@ import { Lang } from '../utils/configure';
|
|
|
3
3
|
export type ContentTransformerProps = {
|
|
4
4
|
content: {
|
|
5
5
|
blocks?: ConstructorBlock[];
|
|
6
|
-
footnotes?: string[];
|
|
7
6
|
};
|
|
8
7
|
options: {
|
|
9
8
|
lang: Lang;
|
|
@@ -12,5 +11,4 @@ export type ContentTransformerProps = {
|
|
|
12
11
|
};
|
|
13
12
|
export declare const contentTransformer: ({ content, options }: ContentTransformerProps) => {
|
|
14
13
|
blocks: ConstructorBlock[];
|
|
15
|
-
footnotes: string[];
|
|
16
14
|
};
|
|
@@ -4,7 +4,6 @@ exports.contentTransformer = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
6
6
|
const config_1 = require("./config");
|
|
7
|
-
const utils_1 = require("./utils");
|
|
8
7
|
function transformBlocks(blocks, lang, customConfig = {}) {
|
|
9
8
|
const fullConfig = Object.assign(Object.assign({}, config_1.config), customConfig);
|
|
10
9
|
const clonedBlocks = lodash_1.default.cloneDeep(blocks);
|
|
@@ -50,12 +49,10 @@ function transformBlock(lang, blocksConfig, block) {
|
|
|
50
49
|
}
|
|
51
50
|
const contentTransformer = ({ content, options }) => {
|
|
52
51
|
const { lang, customConfig = {} } = options;
|
|
53
|
-
const { blocks = []
|
|
52
|
+
const { blocks = [] } = content;
|
|
54
53
|
const transformedBlocks = transformBlocks(blocks, lang, customConfig);
|
|
55
|
-
const transformedFootnotes = (footnotes === null || footnotes === void 0 ? void 0 : footnotes.map((footnote) => (0, utils_1.fullTransform)(footnote, { path: __dirname, lang, allowHTML: true }).html).filter(Boolean)) || [];
|
|
56
54
|
return {
|
|
57
55
|
blocks: transformedBlocks,
|
|
58
|
-
footnotes: transformedFootnotes,
|
|
59
56
|
};
|
|
60
57
|
};
|
|
61
58
|
exports.contentTransformer = contentTransformer;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AnimateBlock,
|
|
2
|
+
import { AnimateBlock, Title } from '../../components';
|
|
3
3
|
import { Col, Row } from '../../grid';
|
|
4
4
|
import { block } from '../../utils';
|
|
5
5
|
import './CardLayout.css';
|
|
@@ -10,6 +10,6 @@ const DEFAULT_SIZES = {
|
|
|
10
10
|
};
|
|
11
11
|
const b = block('card-layout-block');
|
|
12
12
|
const CardLayout = ({ title, description, animated, colSizes = DEFAULT_SIZES, children, }) => (React.createElement(AnimateBlock, { className: b(), animate: animated },
|
|
13
|
-
React.createElement(
|
|
13
|
+
React.createElement(Title, { title: title, subtitle: description }),
|
|
14
14
|
React.createElement(Row, null, React.Children.map(children, (child, index) => (React.createElement(Col, { key: index, sizes: colSizes, className: b('item') }, child))))));
|
|
15
15
|
export default CardLayout;
|
|
@@ -16,7 +16,7 @@ const DEFAULT_SIZES = {
|
|
|
16
16
|
export const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DEFAULT_SIZES, animated, }) => {
|
|
17
17
|
const { themeValue: theme } = useContext(ThemeValueContext);
|
|
18
18
|
return (React.createElement(AnimateBlock, { className: b(), animate: animated },
|
|
19
|
-
React.createElement(Title, { title: title,
|
|
19
|
+
React.createElement(Title, { title: title, subtitle: description, className: b('header') }),
|
|
20
20
|
React.createElement("div", { className: b('items') },
|
|
21
21
|
React.createElement(Row, null, items.map(({ title: itemTitle, text, link, links, label, icon, buttons, additionalInfo, }) => {
|
|
22
22
|
const itemLinks = links || [];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useMemo, useState } from 'react';
|
|
2
|
-
import { AnimateBlock,
|
|
2
|
+
import { AnimateBlock, Title } from '../../components';
|
|
3
3
|
import ButtonTabs from '../../components/ButtonTabs/ButtonTabs';
|
|
4
4
|
import { ConstructorBlocks } from '../../containers/PageConstructor/components/ConstructorBlocks';
|
|
5
5
|
import { Col, Row } from '../../grid';
|
|
@@ -36,7 +36,7 @@ const FilterBlock = ({ title, description, tags, tagButtonSize, allTag, items, c
|
|
|
36
36
|
];
|
|
37
37
|
}, [actualTag, items, colSizes]);
|
|
38
38
|
return (React.createElement(AnimateBlock, { className: b(), animate: animated },
|
|
39
|
-
title && (React.createElement(
|
|
39
|
+
title && (React.createElement(Title, { className: b('title', { centered: centered }), title: title, subtitle: description })),
|
|
40
40
|
tabButtons.length && (React.createElement(Row, null,
|
|
41
41
|
React.createElement(Col, null,
|
|
42
42
|
React.createElement(ButtonTabs, { className: b('tabs', { centered: centered }), items: tabButtons, activeTab: selectedTag, onSelectTab: setSelectedTag, tabSize: tagButtonSize })))),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Image, Title } from '../../components';
|
|
3
3
|
import { LocationContext } from '../../context/locationContext';
|
|
4
4
|
import { block, getLinkProps } from '../../utils';
|
|
5
5
|
import './Icons.css';
|
|
@@ -7,7 +7,7 @@ const b = block('icons-block');
|
|
|
7
7
|
const Icons = ({ title, size = 's', items }) => {
|
|
8
8
|
const { hostname } = useContext(LocationContext);
|
|
9
9
|
return (React.createElement("div", { className: b({ size }) },
|
|
10
|
-
title && React.createElement(
|
|
10
|
+
title && React.createElement(Title, { className: b('header'), title: title, colSizes: { all: 12 } }),
|
|
11
11
|
items.map((item) => (React.createElement("a", Object.assign({ className: b('item'), key: item.url, href: item.url }, getLinkProps(item.url, hostname)),
|
|
12
12
|
React.createElement(Image, { className: b('image'), src: item.src }),
|
|
13
13
|
React.createElement("p", { className: b('text') }, item.text))))));
|
|
@@ -19,7 +19,7 @@ const PromoFeaturesBlock = (props) => {
|
|
|
19
19
|
const backgroundTheme = theme || 'default';
|
|
20
20
|
return (React.createElement(AnimateBlock, { className: b({ [backgroundTheme]: true }), animate: animated },
|
|
21
21
|
React.createElement(FullWidthBackground, { className: b('background', { [backgroundTheme]: true }) }),
|
|
22
|
-
React.createElement(Title, { title: title,
|
|
22
|
+
React.createElement(Title, { title: title, subtitle: description, className: b('header') }),
|
|
23
23
|
React.createElement(BalancedMasonry, { breakpointCols: breakpointColumns, className: b('card-container'), columnClassName: b('card-container-column') }, items.map(({ title: cardTitle, text, media, theme: cardTheme }, index) => {
|
|
24
24
|
const blockModifier = backgroundTheme === 'default' ? 'default' : 'light';
|
|
25
25
|
const themeMod = cardTheme || blockModifier || '';
|
|
@@ -182,7 +182,7 @@ export const SliderBlock = (props) => {
|
|
|
182
182
|
type,
|
|
183
183
|
}, blockClassName) },
|
|
184
184
|
anchorId && React.createElement(Anchor, { id: anchorId }),
|
|
185
|
-
React.createElement(Title, { title: title,
|
|
185
|
+
React.createElement(Title, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }),
|
|
186
186
|
React.createElement(AnimateBlock, { className: b('animate-slides'), animate: animated }, renderSlider()))));
|
|
187
187
|
};
|
|
188
188
|
// TODO remove this and rework PriceDetailed CLOUDFRONT-12230
|
|
@@ -51,7 +51,7 @@ export const TabsBlock = ({ items, title, description, animated, tabsColSizes, c
|
|
|
51
51
|
e.currentTarget.scrollIntoView({ inline: 'center', behavior: 'smooth', block: 'nearest' });
|
|
52
52
|
};
|
|
53
53
|
return (React.createElement(AnimateBlock, { className: b(), onScroll: () => setPlay(true), animate: animated },
|
|
54
|
-
React.createElement(Title, { title: title,
|
|
54
|
+
React.createElement(Title, { title: title, subtitle: description, className: b('block-title', { centered: centered }) }),
|
|
55
55
|
React.createElement(Row, null,
|
|
56
56
|
React.createElement(Col, { sizes: tabsColSizes },
|
|
57
57
|
React.createElement(ButtonTabs, { items: tabs, onSelectTab: onSelectTab, activeTab: activeTab, className: b('tabs', { centered: centered }) }))),
|
|
@@ -22,7 +22,7 @@ export const MediaBase = (props) => {
|
|
|
22
22
|
const mediaContent = !mediaOnly && React.createElement(MediaContent, Object.assign({}, mediaContentProps));
|
|
23
23
|
const card = children.type === Card ? children === null || children === void 0 ? void 0 : children.props.children : null;
|
|
24
24
|
return (React.createElement(AnimateBlock, { className: b(), onScroll: onScroll, animate: animated },
|
|
25
|
-
mediaOnly && (React.createElement(Title, { className: b('header'), title: title,
|
|
25
|
+
mediaOnly && (React.createElement(Title, { className: b('header'), title: title, subtitle: description, colSizes: { all: 12 } })),
|
|
26
26
|
React.createElement(Grid, null,
|
|
27
27
|
React.createElement(Row, { className: b('row', {
|
|
28
28
|
reverse: direction === 'media-content',
|