@gravity-ui/page-constructor 1.9.1-alpha.1 → 1.9.1-alpha.3
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/build/cjs/blocks/Tabs/Tabs.css +3 -5
- package/build/cjs/blocks/index.d.ts +0 -1
- package/build/cjs/blocks/index.js +1 -3
- package/build/cjs/blocks/validators.d.ts +0 -1
- package/build/cjs/blocks/validators.js +0 -1
- package/build/cjs/components/Image/Image.d.ts +1 -0
- package/build/cjs/components/Image/Image.js +2 -4
- package/build/cjs/{blocks → components}/Share/Share.css +0 -0
- package/build/cjs/components/Share/Share.d.ts +7 -0
- package/build/cjs/{blocks → components}/Share/Share.js +0 -0
- package/build/cjs/{blocks → components}/Share/i18n/en.json +0 -0
- package/build/cjs/{blocks → components}/Share/i18n/index.d.ts +0 -0
- package/build/cjs/{blocks → components}/Share/i18n/index.js +0 -0
- package/build/cjs/{blocks → components}/Share/i18n/ru.json +0 -0
- package/build/cjs/components/VideoBlock/VideoBlock.css +4 -0
- package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
- package/build/cjs/constructor-items.d.ts +0 -1
- package/build/cjs/constructor-items.js +0 -1
- package/build/cjs/models/components.d.ts +6 -0
- package/build/cjs/models/components.js +8 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +2 -16
- package/build/cjs/models/constructor-items/blocks.js +1 -9
- package/build/cjs/schema/index.js +1 -1
- package/build/cjs/schema/validators/blocks.d.ts +0 -1
- package/build/cjs/schema/validators/blocks.js +0 -1
- package/build/cjs/text-transform/blocks.js +0 -6
- package/build/esm/blocks/Tabs/Tabs.css +3 -5
- package/build/esm/blocks/index.d.ts +0 -1
- package/build/esm/blocks/index.js +0 -1
- package/build/esm/blocks/validators.d.ts +0 -1
- package/build/esm/blocks/validators.js +0 -1
- package/build/esm/components/Image/Image.d.ts +1 -1
- package/build/esm/components/Image/Image.js +2 -5
- package/build/esm/{blocks → components}/Share/Share.css +0 -0
- package/build/esm/components/Share/Share.d.ts +8 -0
- package/build/esm/{blocks → components}/Share/Share.js +0 -0
- package/build/esm/{blocks → components}/Share/i18n/en.json +0 -0
- package/build/esm/{blocks → components}/Share/i18n/index.d.ts +0 -0
- package/build/esm/{blocks → components}/Share/i18n/index.js +0 -0
- package/build/esm/{blocks → components}/Share/i18n/ru.json +0 -0
- package/build/esm/components/VideoBlock/VideoBlock.css +4 -0
- package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
- package/build/esm/constructor-items.d.ts +0 -1
- package/build/esm/constructor-items.js +1 -2
- package/build/esm/models/components.d.ts +6 -0
- package/build/esm/models/components.js +7 -1
- package/build/esm/models/constructor-items/blocks.d.ts +2 -16
- package/build/esm/models/constructor-items/blocks.js +0 -8
- package/build/esm/schema/index.js +2 -2
- package/build/esm/schema/validators/blocks.d.ts +0 -1
- package/build/esm/schema/validators/blocks.js +0 -1
- package/build/esm/text-transform/blocks.js +0 -6
- package/package.json +1 -1
- package/server/models/components.d.ts +6 -0
- package/server/models/components.js +8 -0
- package/server/models/constructor-items/blocks.d.ts +2 -16
- package/server/models/constructor-items/blocks.js +1 -9
- package/server/text-transform/blocks.js +0 -6
- package/build/cjs/blocks/Share/Share.d.ts +0 -3
- package/build/cjs/blocks/Share/schema.d.ts +0 -24
- package/build/cjs/blocks/Share/schema.js +0 -19
- package/build/cjs/components/Image/Image.css +0 -4
- package/build/esm/blocks/Share/Share.d.ts +0 -4
- package/build/esm/blocks/Share/schema.d.ts +0 -24
- package/build/esm/blocks/Share/schema.js +0 -16
- package/build/esm/components/Image/Image.css +0 -4
|
@@ -8,13 +8,11 @@ unpredictable css rules order in build */
|
|
|
8
8
|
margin-bottom: 24px;
|
|
9
9
|
}
|
|
10
10
|
.pc-tabs-block__block-title_centered {
|
|
11
|
-
display: flex;
|
|
12
|
-
justify-content: center;
|
|
13
|
-
flex-wrap: wrap;
|
|
14
|
-
margin-left: auto;
|
|
15
|
-
margin-right: auto;
|
|
16
11
|
text-align: center;
|
|
17
12
|
}
|
|
13
|
+
.pc-tabs-block__block-title_centered > * {
|
|
14
|
+
margin: 0 auto;
|
|
15
|
+
}
|
|
18
16
|
.pc-tabs-block__tabs_centered {
|
|
19
17
|
display: flex;
|
|
20
18
|
justify-content: center;
|
|
@@ -17,4 +17,3 @@ export { default as IconsBlock } from './Icons/Icons';
|
|
|
17
17
|
export { default as HeaderSliderBlock } from './HeaderSlider/HeaderSlider';
|
|
18
18
|
export { default as CardLayoutBlock } from './CardLayout/CardLayout';
|
|
19
19
|
export { default as ContentLayoutBlock } from './ContentLayout/ContentLayout';
|
|
20
|
-
export { default as ShareBlock } from './Share/Share';
|
|
@@ -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.
|
|
6
|
+
exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.LinkTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.SecurityBlock = exports.PreviewBlock = exports.MediaBlock = exports.InfoBlock = exports.SimpleBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
|
|
7
7
|
var Banner_1 = require("./Banner/Banner");
|
|
8
8
|
Object.defineProperty(exports, "BannerBlock", { enumerable: true, get: function () { return __importDefault(Banner_1).default; } });
|
|
9
9
|
var Companies_1 = require("./Companies/Companies");
|
|
@@ -42,5 +42,3 @@ var CardLayout_1 = require("./CardLayout/CardLayout");
|
|
|
42
42
|
Object.defineProperty(exports, "CardLayoutBlock", { enumerable: true, get: function () { return __importDefault(CardLayout_1).default; } });
|
|
43
43
|
var ContentLayout_1 = require("./ContentLayout/ContentLayout");
|
|
44
44
|
Object.defineProperty(exports, "ContentLayoutBlock", { enumerable: true, get: function () { return __importDefault(ContentLayout_1).default; } });
|
|
45
|
-
var Share_1 = require("./Share/Share");
|
|
46
|
-
Object.defineProperty(exports, "ShareBlock", { enumerable: true, get: function () { return __importDefault(Share_1).default; } });
|
|
@@ -19,4 +19,3 @@ const tslib_1 = require("tslib");
|
|
|
19
19
|
(0, tslib_1.__exportStar)(require("./Simple/schema"), exports);
|
|
20
20
|
(0, tslib_1.__exportStar)(require("./Slider/schema"), exports);
|
|
21
21
|
(0, tslib_1.__exportStar)(require("./Table/schema"), exports);
|
|
22
|
-
(0, tslib_1.__exportStar)(require("./Share/schema"), exports);
|
|
@@ -4,6 +4,7 @@ export interface ImageProps extends Partial<ImageObjectProps>, Partial<ImageDevi
|
|
|
4
4
|
style?: CSSProperties;
|
|
5
5
|
className?: string;
|
|
6
6
|
onClick?: MouseEventHandler;
|
|
7
|
+
containerClassName?: string;
|
|
7
8
|
}
|
|
8
9
|
declare const Image: (props: ImageProps) => JSX.Element | null;
|
|
9
10
|
export default Image;
|
|
@@ -4,14 +4,12 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
5
5
|
const projectSettingsContext_1 = require("../../context/projectSettingsContext");
|
|
6
6
|
const constants_1 = require("../../constants");
|
|
7
|
-
const utils_1 = require("../../utils");
|
|
8
|
-
const b = (0, utils_1.block)('image');
|
|
9
7
|
const checkWebP = (src) => {
|
|
10
8
|
return src.endsWith('.webp') ? src : src + '.webp';
|
|
11
9
|
};
|
|
12
10
|
const Image = (props) => {
|
|
13
11
|
const projectSettings = (0, react_1.useContext)(projectSettingsContext_1.ProjectSettingsContext);
|
|
14
|
-
const { src, alt, disableCompress, tablet, desktop, mobile, style, className, onClick } = props;
|
|
12
|
+
const { src, alt, disableCompress, tablet, desktop, mobile, style, className, onClick, containerClassName, } = props;
|
|
15
13
|
const [imgLoadingError, setImgLoadingError] = (0, react_1.useState)(false);
|
|
16
14
|
const imageSrc = src || desktop;
|
|
17
15
|
if (!imageSrc) {
|
|
@@ -22,7 +20,7 @@ const Image = (props) => {
|
|
|
22
20
|
disableCompress ||
|
|
23
21
|
imageSrc.endsWith('.svg') ||
|
|
24
22
|
imgLoadingError;
|
|
25
|
-
return (react_1.default.createElement("picture", { className:
|
|
23
|
+
return (react_1.default.createElement("picture", { className: containerClassName },
|
|
26
24
|
mobile && (react_1.default.createElement(react_1.Fragment, null,
|
|
27
25
|
!disableWebp && (react_1.default.createElement("source", { srcSet: checkWebP(mobile), type: "image/webp", media: `(max-width: ${constants_1.BREAKPOINTS.sm}px)` })),
|
|
28
26
|
react_1.default.createElement("source", { srcSet: mobile, media: `(max-width: ${constants_1.BREAKPOINTS.sm}px)` }))),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -91,7 +91,7 @@ const VideoBlock = (props) => {
|
|
|
91
91
|
return null;
|
|
92
92
|
}
|
|
93
93
|
return (react_1.default.createElement("div", { className: b(null, className), ref: ref, style: { height: currentHeight } }, previewImg && !hidePreview && (react_1.default.createElement("div", { className: b('preview'), onClick: onPreviewClick },
|
|
94
|
-
react_1.default.createElement(Image_1.default, { src: previewImg, className: b('image') }),
|
|
94
|
+
react_1.default.createElement(Image_1.default, { src: previewImg, className: b('image'), containerClassName: b('image-wrapper') }),
|
|
95
95
|
playButton || (react_1.default.createElement("button", { className: b('button') },
|
|
96
96
|
react_1.default.createElement(uikit_1.Icon, { className: b('icon'), data: icons_1.PlayVideo, size: 24 })))))));
|
|
97
97
|
};
|
|
@@ -18,7 +18,6 @@ export declare const blockMap: {
|
|
|
18
18
|
"header-slider-block": ({ items, arrows, ...props }: import("./models").HeaderSliderBlockProps) => JSX.Element;
|
|
19
19
|
"card-layout-block": ({ title, description, animated, colSizes, children, }: import("./blocks/CardLayout/CardLayout").CardLayoutBlockProps) => JSX.Element;
|
|
20
20
|
"content-layout-block": (props: import("./models").ContentLayoutBlockProps) => JSX.Element;
|
|
21
|
-
"share-block": ({ items, title }: import("./models").ShareBlockProps) => JSX.Element;
|
|
22
21
|
};
|
|
23
22
|
export declare const subBlockMap: {
|
|
24
23
|
divider: ({ size, border }: import("./models").DividerProps) => JSX.Element;
|
|
@@ -24,7 +24,6 @@ exports.blockMap = {
|
|
|
24
24
|
[models_1.BlockType.HeaderSliderBlock]: blocks_1.HeaderSliderBlock,
|
|
25
25
|
[models_1.BlockType.CardLayoutBlock]: blocks_1.CardLayoutBlock,
|
|
26
26
|
[models_1.BlockType.ContentLayoutBlock]: blocks_1.ContentLayoutBlock,
|
|
27
|
-
[models_1.BlockType.ShareBlock]: blocks_1.ShareBlock,
|
|
28
27
|
};
|
|
29
28
|
exports.subBlockMap = {
|
|
30
29
|
[models_1.SubBlockType.Divider]: sub_blocks_1.Divider,
|
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PCShareSocialNetwork = void 0;
|
|
4
|
+
var PCShareSocialNetwork;
|
|
5
|
+
(function (PCShareSocialNetwork) {
|
|
6
|
+
PCShareSocialNetwork["Vk"] = "vk";
|
|
7
|
+
PCShareSocialNetwork["Telegram"] = "telegram";
|
|
8
|
+
PCShareSocialNetwork["Twitter"] = "twitter";
|
|
9
|
+
PCShareSocialNetwork["Facebook"] = "facebook";
|
|
10
|
+
})(PCShareSocialNetwork = exports.PCShareSocialNetwork || (exports.PCShareSocialNetwork = {}));
|
|
@@ -24,8 +24,7 @@ export declare enum BlockType {
|
|
|
24
24
|
HeaderBlock = "header-block",
|
|
25
25
|
IconsBlock = "icons-block",
|
|
26
26
|
CardLayoutBlock = "card-layout-block",
|
|
27
|
-
ContentLayoutBlock = "content-layout-block"
|
|
28
|
-
ShareBlock = "share-block"
|
|
27
|
+
ContentLayoutBlock = "content-layout-block"
|
|
29
28
|
}
|
|
30
29
|
export declare const BlockTypes: BlockType[];
|
|
31
30
|
export declare const HeaderBlockTypes: BlockType[];
|
|
@@ -276,16 +275,6 @@ export interface ContentBlockProps {
|
|
|
276
275
|
centered?: boolean;
|
|
277
276
|
theme?: ContentTheme;
|
|
278
277
|
}
|
|
279
|
-
export declare enum PCShareSocialNetwork {
|
|
280
|
-
Vk = "vk",
|
|
281
|
-
Telegram = "telegram",
|
|
282
|
-
Twitter = "twitter",
|
|
283
|
-
Facebook = "facebook"
|
|
284
|
-
}
|
|
285
|
-
export interface ShareBlockProps {
|
|
286
|
-
items: PCShareSocialNetwork[];
|
|
287
|
-
title?: string;
|
|
288
|
-
}
|
|
289
278
|
export declare type HeaderBlockModel = {
|
|
290
279
|
type: BlockType.HeaderBlock;
|
|
291
280
|
} & HeaderBlockProps;
|
|
@@ -349,9 +338,6 @@ export declare type HeaderSliderBlockModel = {
|
|
|
349
338
|
export declare type ContentLayoutBlockModel = {
|
|
350
339
|
type: BlockType.ContentLayoutBlock;
|
|
351
340
|
} & ContentLayoutBlockProps;
|
|
352
|
-
|
|
353
|
-
type: BlockType.ShareBlock;
|
|
354
|
-
} & ShareBlockProps;
|
|
355
|
-
declare type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel;
|
|
341
|
+
declare type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel;
|
|
356
342
|
export declare type Block = BlockModels & BlockBaseProps;
|
|
357
343
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SliderType = exports.SliderBreakpointNames = exports.HeaderBlockTypes = exports.BlockTypes = exports.BlockType = void 0;
|
|
4
4
|
var BlockType;
|
|
5
5
|
(function (BlockType) {
|
|
6
6
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
@@ -24,7 +24,6 @@ var BlockType;
|
|
|
24
24
|
BlockType["IconsBlock"] = "icons-block";
|
|
25
25
|
BlockType["CardLayoutBlock"] = "card-layout-block";
|
|
26
26
|
BlockType["ContentLayoutBlock"] = "content-layout-block";
|
|
27
|
-
BlockType["ShareBlock"] = "share-block";
|
|
28
27
|
})(BlockType = exports.BlockType || (exports.BlockType = {}));
|
|
29
28
|
exports.BlockTypes = Object.values(BlockType);
|
|
30
29
|
exports.HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
|
|
@@ -40,10 +39,3 @@ var SliderType;
|
|
|
40
39
|
SliderType["MediaCard"] = "media-card";
|
|
41
40
|
SliderType["HeaderCard"] = "header-card";
|
|
42
41
|
})(SliderType = exports.SliderType || (exports.SliderType = {}));
|
|
43
|
-
var PCShareSocialNetwork;
|
|
44
|
-
(function (PCShareSocialNetwork) {
|
|
45
|
-
PCShareSocialNetwork["Vk"] = "vk";
|
|
46
|
-
PCShareSocialNetwork["Telegram"] = "telegram";
|
|
47
|
-
PCShareSocialNetwork["Twitter"] = "twitter";
|
|
48
|
-
PCShareSocialNetwork["Facebook"] = "facebook";
|
|
49
|
-
})(PCShareSocialNetwork = exports.PCShareSocialNetwork || (exports.PCShareSocialNetwork = {}));
|
|
@@ -53,7 +53,7 @@ function generateDefaultSchema(config) {
|
|
|
53
53
|
},
|
|
54
54
|
},
|
|
55
55
|
select: { $data: '0/type' },
|
|
56
|
-
selectCases: 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(
|
|
56
|
+
selectCases: 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({}, blocks_1.TabsBlock), blocks_1.SliderBlock), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.InfoBlock), blocks_1.QuestionsBlock), blocks_1.SecurityBlock), blocks_1.TableBlock), blocks_1.SimpleBlock), blocks_1.LinkTableBlock), blocks_1.PreviewBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), sub_blocks_1.Divider), (0, exports.getBlocksCases)(blocks)),
|
|
57
57
|
}),
|
|
58
58
|
cards: (0, utils_1.filteredItem)({
|
|
59
59
|
type: 'object',
|
|
@@ -20,4 +20,3 @@ const tslib_1 = require("tslib");
|
|
|
20
20
|
(0, tslib_1.__exportStar)(require("../../blocks/Icons/schema"), exports);
|
|
21
21
|
(0, tslib_1.__exportStar)(require("../../blocks/CardLayout/schema"), exports);
|
|
22
22
|
(0, tslib_1.__exportStar)(require("../../blocks/ContentLayout/schema"), exports);
|
|
23
|
-
(0, tslib_1.__exportStar)(require("../../blocks/Share/schema"), exports);
|
|
@@ -314,12 +314,6 @@ const config = {
|
|
|
314
314
|
parser: parseContentLayoutTitle,
|
|
315
315
|
},
|
|
316
316
|
],
|
|
317
|
-
[models_1.BlockType.ShareBlock]: [
|
|
318
|
-
{
|
|
319
|
-
fields: ['title'],
|
|
320
|
-
transformer: typografTransformer,
|
|
321
|
-
},
|
|
322
|
-
],
|
|
323
317
|
};
|
|
324
318
|
function addRandomOrder(block) {
|
|
325
319
|
if (block) {
|
|
@@ -8,13 +8,11 @@ unpredictable css rules order in build */
|
|
|
8
8
|
margin-bottom: 24px;
|
|
9
9
|
}
|
|
10
10
|
.pc-tabs-block__block-title_centered {
|
|
11
|
-
display: flex;
|
|
12
|
-
justify-content: center;
|
|
13
|
-
flex-wrap: wrap;
|
|
14
|
-
margin-left: auto;
|
|
15
|
-
margin-right: auto;
|
|
16
11
|
text-align: center;
|
|
17
12
|
}
|
|
13
|
+
.pc-tabs-block__block-title_centered > * {
|
|
14
|
+
margin: 0 auto;
|
|
15
|
+
}
|
|
18
16
|
.pc-tabs-block__tabs_centered {
|
|
19
17
|
display: flex;
|
|
20
18
|
justify-content: center;
|
|
@@ -17,4 +17,3 @@ export { default as IconsBlock } from './Icons/Icons';
|
|
|
17
17
|
export { default as HeaderSliderBlock } from './HeaderSlider/HeaderSlider';
|
|
18
18
|
export { default as CardLayoutBlock } from './CardLayout/CardLayout';
|
|
19
19
|
export { default as ContentLayoutBlock } from './ContentLayout/ContentLayout';
|
|
20
|
-
export { default as ShareBlock } from './Share/Share';
|
|
@@ -17,4 +17,3 @@ export { default as IconsBlock } from './Icons/Icons';
|
|
|
17
17
|
export { default as HeaderSliderBlock } from './HeaderSlider/HeaderSlider';
|
|
18
18
|
export { default as CardLayoutBlock } from './CardLayout/CardLayout';
|
|
19
19
|
export { default as ContentLayoutBlock } from './ContentLayout/ContentLayout';
|
|
20
|
-
export { default as ShareBlock } from './Share/Share';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CSSProperties, MouseEventHandler } from 'react';
|
|
2
2
|
import { ImageDeviceProps, ImageObjectProps } from '../../models';
|
|
3
|
-
import './Image.css';
|
|
4
3
|
export interface ImageProps extends Partial<ImageObjectProps>, Partial<ImageDeviceProps> {
|
|
5
4
|
style?: CSSProperties;
|
|
6
5
|
className?: string;
|
|
7
6
|
onClick?: MouseEventHandler;
|
|
7
|
+
containerClassName?: string;
|
|
8
8
|
}
|
|
9
9
|
declare const Image: (props: ImageProps) => JSX.Element | null;
|
|
10
10
|
export default Image;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import React, { useContext, useState, Fragment } from 'react';
|
|
2
2
|
import { ProjectSettingsContext } from '../../context/projectSettingsContext';
|
|
3
3
|
import { BREAKPOINTS } from '../../constants';
|
|
4
|
-
import { block } from '../../utils';
|
|
5
|
-
import './Image.css';
|
|
6
|
-
const b = block('image');
|
|
7
4
|
const checkWebP = (src) => {
|
|
8
5
|
return src.endsWith('.webp') ? src : src + '.webp';
|
|
9
6
|
};
|
|
10
7
|
const Image = (props) => {
|
|
11
8
|
const projectSettings = useContext(ProjectSettingsContext);
|
|
12
|
-
const { src, alt, disableCompress, tablet, desktop, mobile, style, className, onClick } = props;
|
|
9
|
+
const { src, alt, disableCompress, tablet, desktop, mobile, style, className, onClick, containerClassName, } = props;
|
|
13
10
|
const [imgLoadingError, setImgLoadingError] = useState(false);
|
|
14
11
|
const imageSrc = src || desktop;
|
|
15
12
|
if (!imageSrc) {
|
|
@@ -20,7 +17,7 @@ const Image = (props) => {
|
|
|
20
17
|
disableCompress ||
|
|
21
18
|
imageSrc.endsWith('.svg') ||
|
|
22
19
|
imgLoadingError;
|
|
23
|
-
return (React.createElement("picture", { className:
|
|
20
|
+
return (React.createElement("picture", { className: containerClassName },
|
|
24
21
|
mobile && (React.createElement(Fragment, null,
|
|
25
22
|
!disableWebp && (React.createElement("source", { srcSet: checkWebP(mobile), type: "image/webp", media: `(max-width: ${BREAKPOINTS.sm}px)` })),
|
|
26
23
|
React.createElement("source", { srcSet: mobile, media: `(max-width: ${BREAKPOINTS.sm}px)` }))),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -87,7 +87,7 @@ const VideoBlock = (props) => {
|
|
|
87
87
|
return null;
|
|
88
88
|
}
|
|
89
89
|
return (React.createElement("div", { className: b(null, className), ref: ref, style: { height: currentHeight } }, previewImg && !hidePreview && (React.createElement("div", { className: b('preview'), onClick: onPreviewClick },
|
|
90
|
-
React.createElement(Image, { src: previewImg, className: b('image') }),
|
|
90
|
+
React.createElement(Image, { src: previewImg, className: b('image'), containerClassName: b('image-wrapper') }),
|
|
91
91
|
playButton || (React.createElement("button", { className: b('button') },
|
|
92
92
|
React.createElement(Icon, { className: b('icon'), data: PlayVideo, size: 24 })))))));
|
|
93
93
|
};
|
|
@@ -18,7 +18,6 @@ export declare const blockMap: {
|
|
|
18
18
|
"header-slider-block": ({ items, arrows, ...props }: import("./models").HeaderSliderBlockProps) => JSX.Element;
|
|
19
19
|
"card-layout-block": ({ title, description, animated, colSizes, children, }: import("./blocks/CardLayout/CardLayout").CardLayoutBlockProps) => JSX.Element;
|
|
20
20
|
"content-layout-block": (props: import("./models").ContentLayoutBlockProps) => JSX.Element;
|
|
21
|
-
"share-block": ({ items, title }: import("./models").ShareBlockProps) => JSX.Element;
|
|
22
21
|
};
|
|
23
22
|
export declare const subBlockMap: {
|
|
24
23
|
divider: ({ size, border }: import("./models").DividerProps) => JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BlockType, SubBlockType } from './models';
|
|
2
2
|
import { Partner, PriceDetailed, MediaCard, NewsCard, TutorialCard, CardWithImage, BackgroundCard, Content, Quote, Divider, BannerCard, BasicCard, } from './sub-blocks';
|
|
3
|
-
import { BannerBlock, CompaniesBlock, SimpleBlock, MediaBlock, PreviewBlock, InfoBlock, SecurityBlock, SliderBlock, ExtendedFeaturesBlock, PromoFeaturesBlock, QuestionsBlock, TableBlock, TabsBlock, LinkTableBlock, HeaderBlock, IconsBlock, HeaderSliderBlock, CardLayoutBlock, ContentLayoutBlock,
|
|
3
|
+
import { BannerBlock, CompaniesBlock, SimpleBlock, MediaBlock, PreviewBlock, InfoBlock, SecurityBlock, SliderBlock, ExtendedFeaturesBlock, PromoFeaturesBlock, QuestionsBlock, TableBlock, TabsBlock, LinkTableBlock, HeaderBlock, IconsBlock, HeaderSliderBlock, CardLayoutBlock, ContentLayoutBlock, } from './blocks';
|
|
4
4
|
export const blockMap = {
|
|
5
5
|
[BlockType.SliderBlock]: SliderBlock,
|
|
6
6
|
[BlockType.SimpleBlock]: SimpleBlock,
|
|
@@ -21,7 +21,6 @@ export const blockMap = {
|
|
|
21
21
|
[BlockType.HeaderSliderBlock]: HeaderSliderBlock,
|
|
22
22
|
[BlockType.CardLayoutBlock]: CardLayoutBlock,
|
|
23
23
|
[BlockType.ContentLayoutBlock]: ContentLayoutBlock,
|
|
24
|
-
[BlockType.ShareBlock]: ShareBlock,
|
|
25
24
|
};
|
|
26
25
|
export const subBlockMap = {
|
|
27
26
|
[SubBlockType.Divider]: Divider,
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
export
|
|
1
|
+
export var PCShareSocialNetwork;
|
|
2
|
+
(function (PCShareSocialNetwork) {
|
|
3
|
+
PCShareSocialNetwork["Vk"] = "vk";
|
|
4
|
+
PCShareSocialNetwork["Telegram"] = "telegram";
|
|
5
|
+
PCShareSocialNetwork["Twitter"] = "twitter";
|
|
6
|
+
PCShareSocialNetwork["Facebook"] = "facebook";
|
|
7
|
+
})(PCShareSocialNetwork || (PCShareSocialNetwork = {}));
|
|
@@ -24,8 +24,7 @@ export declare enum BlockType {
|
|
|
24
24
|
HeaderBlock = "header-block",
|
|
25
25
|
IconsBlock = "icons-block",
|
|
26
26
|
CardLayoutBlock = "card-layout-block",
|
|
27
|
-
ContentLayoutBlock = "content-layout-block"
|
|
28
|
-
ShareBlock = "share-block"
|
|
27
|
+
ContentLayoutBlock = "content-layout-block"
|
|
29
28
|
}
|
|
30
29
|
export declare const BlockTypes: BlockType[];
|
|
31
30
|
export declare const HeaderBlockTypes: BlockType[];
|
|
@@ -276,16 +275,6 @@ export interface ContentBlockProps {
|
|
|
276
275
|
centered?: boolean;
|
|
277
276
|
theme?: ContentTheme;
|
|
278
277
|
}
|
|
279
|
-
export declare enum PCShareSocialNetwork {
|
|
280
|
-
Vk = "vk",
|
|
281
|
-
Telegram = "telegram",
|
|
282
|
-
Twitter = "twitter",
|
|
283
|
-
Facebook = "facebook"
|
|
284
|
-
}
|
|
285
|
-
export interface ShareBlockProps {
|
|
286
|
-
items: PCShareSocialNetwork[];
|
|
287
|
-
title?: string;
|
|
288
|
-
}
|
|
289
278
|
export declare type HeaderBlockModel = {
|
|
290
279
|
type: BlockType.HeaderBlock;
|
|
291
280
|
} & HeaderBlockProps;
|
|
@@ -349,9 +338,6 @@ export declare type HeaderSliderBlockModel = {
|
|
|
349
338
|
export declare type ContentLayoutBlockModel = {
|
|
350
339
|
type: BlockType.ContentLayoutBlock;
|
|
351
340
|
} & ContentLayoutBlockProps;
|
|
352
|
-
|
|
353
|
-
type: BlockType.ShareBlock;
|
|
354
|
-
} & ShareBlockProps;
|
|
355
|
-
declare type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel;
|
|
341
|
+
declare type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel;
|
|
356
342
|
export declare type Block = BlockModels & BlockBaseProps;
|
|
357
343
|
export {};
|
|
@@ -21,7 +21,6 @@ export var BlockType;
|
|
|
21
21
|
BlockType["IconsBlock"] = "icons-block";
|
|
22
22
|
BlockType["CardLayoutBlock"] = "card-layout-block";
|
|
23
23
|
BlockType["ContentLayoutBlock"] = "content-layout-block";
|
|
24
|
-
BlockType["ShareBlock"] = "share-block";
|
|
25
24
|
})(BlockType || (BlockType = {}));
|
|
26
25
|
export const BlockTypes = Object.values(BlockType);
|
|
27
26
|
export const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
|
|
@@ -37,10 +36,3 @@ export var SliderType;
|
|
|
37
36
|
SliderType["MediaCard"] = "media-card";
|
|
38
37
|
SliderType["HeaderCard"] = "header-card";
|
|
39
38
|
})(SliderType || (SliderType = {}));
|
|
40
|
-
export var PCShareSocialNetwork;
|
|
41
|
-
(function (PCShareSocialNetwork) {
|
|
42
|
-
PCShareSocialNetwork["Vk"] = "vk";
|
|
43
|
-
PCShareSocialNetwork["Telegram"] = "telegram";
|
|
44
|
-
PCShareSocialNetwork["Twitter"] = "twitter";
|
|
45
|
-
PCShareSocialNetwork["Facebook"] = "facebook";
|
|
46
|
-
})(PCShareSocialNetwork || (PCShareSocialNetwork = {}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { validators } from './validators';
|
|
2
|
-
import { TabsBlock, BannerCard, SliderBlock, ExtendedFeaturesBlock, HeaderBlock, BannerBlock, CompaniesBlock, MediaBlock, InfoBlock, QuestionsBlock, SecurityBlock, TableBlock, SimpleBlock, LinkTableBlock, PromoFeaturesBlock, PreviewBlock, ContentLayoutBlock, HeaderSliderBlock, IconsBlock, CardLayoutBlock,
|
|
2
|
+
import { TabsBlock, BannerCard, SliderBlock, ExtendedFeaturesBlock, HeaderBlock, BannerBlock, CompaniesBlock, MediaBlock, InfoBlock, QuestionsBlock, SecurityBlock, TableBlock, SimpleBlock, LinkTableBlock, PromoFeaturesBlock, PreviewBlock, ContentLayoutBlock, HeaderSliderBlock, IconsBlock, CardLayoutBlock, } from './validators/blocks';
|
|
3
3
|
import { PartnerBlock, MediaCardBlock, TutorialCard, BackgroundCard, NewsCard, CardWithImage, PriceDetailedBlock, Quote, Divider, } from './validators/sub-blocks';
|
|
4
4
|
import { AnimatableProps, BackgroundProps, MenuProps, withTheme } from './validators/common';
|
|
5
5
|
import { filteredItem } from './validators/utils';
|
|
@@ -48,7 +48,7 @@ export function generateDefaultSchema(config) {
|
|
|
48
48
|
},
|
|
49
49
|
},
|
|
50
50
|
select: { $data: '0/type' },
|
|
51
|
-
selectCases: 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(
|
|
51
|
+
selectCases: 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({}, TabsBlock), SliderBlock), ExtendedFeaturesBlock), PromoFeaturesBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), InfoBlock), QuestionsBlock), SecurityBlock), TableBlock), SimpleBlock), LinkTableBlock), PreviewBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), Divider), getBlocksCases(blocks)),
|
|
52
52
|
}),
|
|
53
53
|
cards: filteredItem({
|
|
54
54
|
type: 'object',
|
package/package.json
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PCShareSocialNetwork = void 0;
|
|
4
|
+
var PCShareSocialNetwork;
|
|
5
|
+
(function (PCShareSocialNetwork) {
|
|
6
|
+
PCShareSocialNetwork["Vk"] = "vk";
|
|
7
|
+
PCShareSocialNetwork["Telegram"] = "telegram";
|
|
8
|
+
PCShareSocialNetwork["Twitter"] = "twitter";
|
|
9
|
+
PCShareSocialNetwork["Facebook"] = "facebook";
|
|
10
|
+
})(PCShareSocialNetwork = exports.PCShareSocialNetwork || (exports.PCShareSocialNetwork = {}));
|
|
@@ -24,8 +24,7 @@ export declare enum BlockType {
|
|
|
24
24
|
HeaderBlock = "header-block",
|
|
25
25
|
IconsBlock = "icons-block",
|
|
26
26
|
CardLayoutBlock = "card-layout-block",
|
|
27
|
-
ContentLayoutBlock = "content-layout-block"
|
|
28
|
-
ShareBlock = "share-block"
|
|
27
|
+
ContentLayoutBlock = "content-layout-block"
|
|
29
28
|
}
|
|
30
29
|
export declare const BlockTypes: BlockType[];
|
|
31
30
|
export declare const HeaderBlockTypes: BlockType[];
|
|
@@ -276,16 +275,6 @@ export interface ContentBlockProps {
|
|
|
276
275
|
centered?: boolean;
|
|
277
276
|
theme?: ContentTheme;
|
|
278
277
|
}
|
|
279
|
-
export declare enum PCShareSocialNetwork {
|
|
280
|
-
Vk = "vk",
|
|
281
|
-
Telegram = "telegram",
|
|
282
|
-
Twitter = "twitter",
|
|
283
|
-
Facebook = "facebook"
|
|
284
|
-
}
|
|
285
|
-
export interface ShareBlockProps {
|
|
286
|
-
items: PCShareSocialNetwork[];
|
|
287
|
-
title?: string;
|
|
288
|
-
}
|
|
289
278
|
export declare type HeaderBlockModel = {
|
|
290
279
|
type: BlockType.HeaderBlock;
|
|
291
280
|
} & HeaderBlockProps;
|
|
@@ -349,9 +338,6 @@ export declare type HeaderSliderBlockModel = {
|
|
|
349
338
|
export declare type ContentLayoutBlockModel = {
|
|
350
339
|
type: BlockType.ContentLayoutBlock;
|
|
351
340
|
} & ContentLayoutBlockProps;
|
|
352
|
-
|
|
353
|
-
type: BlockType.ShareBlock;
|
|
354
|
-
} & ShareBlockProps;
|
|
355
|
-
declare type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel;
|
|
341
|
+
declare type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel;
|
|
356
342
|
export declare type Block = BlockModels & BlockBaseProps;
|
|
357
343
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SliderType = exports.SliderBreakpointNames = exports.HeaderBlockTypes = exports.BlockTypes = exports.BlockType = void 0;
|
|
4
4
|
var BlockType;
|
|
5
5
|
(function (BlockType) {
|
|
6
6
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
@@ -24,7 +24,6 @@ var BlockType;
|
|
|
24
24
|
BlockType["IconsBlock"] = "icons-block";
|
|
25
25
|
BlockType["CardLayoutBlock"] = "card-layout-block";
|
|
26
26
|
BlockType["ContentLayoutBlock"] = "content-layout-block";
|
|
27
|
-
BlockType["ShareBlock"] = "share-block";
|
|
28
27
|
})(BlockType = exports.BlockType || (exports.BlockType = {}));
|
|
29
28
|
exports.BlockTypes = Object.values(BlockType);
|
|
30
29
|
exports.HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
|
|
@@ -40,10 +39,3 @@ var SliderType;
|
|
|
40
39
|
SliderType["MediaCard"] = "media-card";
|
|
41
40
|
SliderType["HeaderCard"] = "header-card";
|
|
42
41
|
})(SliderType = exports.SliderType || (exports.SliderType = {}));
|
|
43
|
-
var PCShareSocialNetwork;
|
|
44
|
-
(function (PCShareSocialNetwork) {
|
|
45
|
-
PCShareSocialNetwork["Vk"] = "vk";
|
|
46
|
-
PCShareSocialNetwork["Telegram"] = "telegram";
|
|
47
|
-
PCShareSocialNetwork["Twitter"] = "twitter";
|
|
48
|
-
PCShareSocialNetwork["Facebook"] = "facebook";
|
|
49
|
-
})(PCShareSocialNetwork = exports.PCShareSocialNetwork || (exports.PCShareSocialNetwork = {}));
|
|
@@ -327,12 +327,6 @@ const config = {
|
|
|
327
327
|
parser: parseContentLayoutTitle,
|
|
328
328
|
},
|
|
329
329
|
],
|
|
330
|
-
[models_1.BlockType.ShareBlock]: [
|
|
331
|
-
{
|
|
332
|
-
fields: ['title'],
|
|
333
|
-
transformer: typografTransformer,
|
|
334
|
-
},
|
|
335
|
-
],
|
|
336
330
|
};
|
|
337
331
|
function addRandomOrder(block) {
|
|
338
332
|
if (block) {
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const ShareBlock: {
|
|
2
|
-
'share-block': {
|
|
3
|
-
additionalProperties: boolean;
|
|
4
|
-
required: string[];
|
|
5
|
-
properties: {
|
|
6
|
-
title: {
|
|
7
|
-
type: string;
|
|
8
|
-
};
|
|
9
|
-
items: {
|
|
10
|
-
type: string;
|
|
11
|
-
items: {
|
|
12
|
-
type: string;
|
|
13
|
-
properties: {
|
|
14
|
-
when: {
|
|
15
|
-
type: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
type: {};
|
|
21
|
-
when: {};
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ShareBlock = void 0;
|
|
4
|
-
const utils_1 = require("../../schema/validators/utils");
|
|
5
|
-
const common_1 = require("../../schema/validators/common");
|
|
6
|
-
exports.ShareBlock = {
|
|
7
|
-
'share-block': {
|
|
8
|
-
additionalProperties: false,
|
|
9
|
-
required: ['items'],
|
|
10
|
-
properties: Object.assign(Object.assign({}, common_1.BaseProps), { title: {
|
|
11
|
-
type: 'string',
|
|
12
|
-
}, items: (0, utils_1.filteredArray)({
|
|
13
|
-
properties: {
|
|
14
|
-
type: 'string',
|
|
15
|
-
enum: ['telegram', 'facebook', 'twitter', 'vk'],
|
|
16
|
-
},
|
|
17
|
-
}) }),
|
|
18
|
-
},
|
|
19
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const ShareBlock: {
|
|
2
|
-
'share-block': {
|
|
3
|
-
additionalProperties: boolean;
|
|
4
|
-
required: string[];
|
|
5
|
-
properties: {
|
|
6
|
-
title: {
|
|
7
|
-
type: string;
|
|
8
|
-
};
|
|
9
|
-
items: {
|
|
10
|
-
type: string;
|
|
11
|
-
items: {
|
|
12
|
-
type: string;
|
|
13
|
-
properties: {
|
|
14
|
-
when: {
|
|
15
|
-
type: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
type: {};
|
|
21
|
-
when: {};
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { filteredArray } from '../../schema/validators/utils';
|
|
2
|
-
import { BaseProps } from '../../schema/validators/common';
|
|
3
|
-
export const ShareBlock = {
|
|
4
|
-
'share-block': {
|
|
5
|
-
additionalProperties: false,
|
|
6
|
-
required: ['items'],
|
|
7
|
-
properties: Object.assign(Object.assign({}, BaseProps), { title: {
|
|
8
|
-
type: 'string',
|
|
9
|
-
}, items: filteredArray({
|
|
10
|
-
properties: {
|
|
11
|
-
type: 'string',
|
|
12
|
-
enum: ['telegram', 'facebook', 'twitter', 'vk'],
|
|
13
|
-
},
|
|
14
|
-
}) }),
|
|
15
|
-
},
|
|
16
|
-
};
|