@gravity-ui/page-constructor 3.0.0-alpha.3 → 3.0.0-alpha.5
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/CHANGELOG.md +7 -0
- 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/Button/Button.css +3 -0
- package/build/cjs/components/Button/Button.js +5 -4
- 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 +3 -4
- 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/Button/Button.css +3 -0
- package/build/esm/components/Button/Button.js +5 -4
- 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 +3 -4
- 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 +3 -4
- 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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.19.0](https://github.com/gravity-ui/page-constructor/compare/v2.18.0...v2.19.0) (2023-05-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **Button:** add prop width ([#346](https://github.com/gravity-ui/page-constructor/issues/346)) ([f4b1ba8](https://github.com/gravity-ui/page-constructor/commit/f4b1ba85f56ef2de435bd91ae1fc35fbea0a177b))
|
|
9
|
+
|
|
3
10
|
## [2.18.0](https://github.com/gravity-ui/page-constructor/compare/v2.18.0...v2.18.0) (2023-05-15)
|
|
4
11
|
|
|
5
12
|
|
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 }) }))),
|
|
@@ -15,7 +15,7 @@ const b = (0, utils_1.block)('button-block');
|
|
|
15
15
|
const Button = (props) => {
|
|
16
16
|
const handleMetrika = (0, useMetrika_1.useMetrika)();
|
|
17
17
|
const { lang, tld } = (0, react_1.useContext)(localeContext_1.LocaleContext);
|
|
18
|
-
const { className, metrikaGoals, pixelEvents, analyticsEvents, size = 'l', theme = 'normal', url, img, onClick: onClickOrigin, text } = props, rest = tslib_1.__rest(props, ["className", "metrikaGoals", "pixelEvents", "analyticsEvents", "size", "theme", "url", "img", "onClick", "text"]);
|
|
18
|
+
const { className, metrikaGoals, pixelEvents, analyticsEvents, size = 'l', theme = 'normal', url, img, onClick: onClickOrigin, text, width } = props, rest = tslib_1.__rest(props, ["className", "metrikaGoals", "pixelEvents", "analyticsEvents", "size", "theme", "url", "img", "onClick", "text", "width"]);
|
|
19
19
|
const defaultImgPosition = 'left';
|
|
20
20
|
const handleAnalytics = (0, hooks_1.useAnalytics)(models_1.DefaultEventNames.Button, url);
|
|
21
21
|
const onClick = (0, react_1.useCallback)((e) => {
|
|
@@ -25,12 +25,13 @@ const Button = (props) => {
|
|
|
25
25
|
onClickOrigin(e);
|
|
26
26
|
}
|
|
27
27
|
}, [handleMetrika, metrikaGoals, pixelEvents, handleAnalytics, analyticsEvents, onClickOrigin]);
|
|
28
|
+
const buttonModifiers = { size, theme, width };
|
|
28
29
|
const buttonImg = img instanceof Object
|
|
29
30
|
? { url: img.url, position: img.position || defaultImgPosition, alt: img.alt }
|
|
30
31
|
: { url: img, position: defaultImgPosition };
|
|
31
32
|
const buttonClass = img
|
|
32
|
-
? b({ position: buttonImg.position
|
|
33
|
-
: b({
|
|
33
|
+
? b(Object.assign({ position: buttonImg.position }, buttonModifiers), className)
|
|
34
|
+
: b(Object.assign({}, buttonModifiers), className);
|
|
34
35
|
const buttonProps = Object.assign(Object.assign({}, rest), { onClick });
|
|
35
36
|
if (theme === 'app-store' || theme === 'google-play') {
|
|
36
37
|
const platform = theme === 'app-store' ? uikit_1.Platform.IOS : uikit_1.Platform.ANDROID;
|
|
@@ -43,7 +44,7 @@ const Button = (props) => {
|
|
|
43
44
|
image = undefined;
|
|
44
45
|
}
|
|
45
46
|
const buttonTheme = theme === 'scale' ? 'accent' : theme;
|
|
46
|
-
return (react_1.default.createElement(uikit_1.Button, Object.assign({ className: buttonClass, view: (0, utils_2.toCommonView)(buttonTheme), size: (0, utils_2.toCommonSize)(size), href: url ? (0, utils_1.setUrlTld)(url, tld) : undefined }, buttonProps),
|
|
47
|
+
return (react_1.default.createElement(uikit_1.Button, Object.assign({ className: buttonClass, view: (0, utils_2.toCommonView)(buttonTheme), size: (0, utils_2.toCommonSize)(size), href: url ? (0, utils_1.setUrlTld)(url, tld) : undefined, width: width }, buttonProps),
|
|
47
48
|
icon && buttonImg.position === 'left' ? icon : null,
|
|
48
49
|
react_1.default.createElement("span", { className: b('content') },
|
|
49
50
|
image && buttonImg.position === 'left' ? image : null,
|
|
@@ -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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ButtonView, ButtonProps as UikitButtonProps } from '@gravity-ui/uikit';
|
|
3
3
|
import { ThemeSupporting } from '../../utils/theme';
|
|
4
4
|
import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
|
|
5
5
|
export declare enum AuthorType {
|
|
@@ -126,11 +126,10 @@ export interface FileLinkProps extends ClassNameProps {
|
|
|
126
126
|
onClick?: () => void;
|
|
127
127
|
}
|
|
128
128
|
export type ButtonTheme = ButtonView | 'github' | 'app-store' | 'google-play' | 'scale' | 'monochrome';
|
|
129
|
-
export interface ButtonProps extends AnalyticsEventsBase {
|
|
129
|
+
export interface ButtonProps extends AnalyticsEventsBase, Pick<UikitButtonProps, 'size' | 'width'> {
|
|
130
130
|
text: string;
|
|
131
131
|
url: string;
|
|
132
132
|
primary?: boolean;
|
|
133
|
-
size?: ButtonSize;
|
|
134
133
|
theme?: ButtonTheme;
|
|
135
134
|
img?: ButtonImageProps | string;
|
|
136
135
|
metrikaGoals?: MetrikaGoal;
|
|
@@ -336,6 +335,6 @@ export interface AuthorProps {
|
|
|
336
335
|
}
|
|
337
336
|
export interface TitleProps {
|
|
338
337
|
title?: TitleItemProps | string;
|
|
339
|
-
|
|
338
|
+
subtitle?: string;
|
|
340
339
|
}
|
|
341
340
|
export {};
|
|
@@ -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 || [];
|