@doyourjob/gravity-ui-page-constructor 5.31.142-dev.2 → 5.31.142-dev.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.
Files changed (54) hide show
  1. package/build/cjs/blocks/Benefits/Benefits.css +76 -0
  2. package/build/cjs/blocks/Benefits/Benefits.d.ts +3 -0
  3. package/build/cjs/blocks/Benefits/Benefits.js +49 -0
  4. package/build/cjs/blocks/Benefits/BenefitsCard/BenefitsCard.css +31 -0
  5. package/build/cjs/blocks/Benefits/BenefitsCard/BenefitsCard.d.ts +3 -0
  6. package/build/cjs/blocks/Benefits/BenefitsCard/BenefitsCard.js +17 -0
  7. package/build/cjs/blocks/Benefits/BenefitsLabel/BenefitsLabel.css +30 -0
  8. package/build/cjs/blocks/Benefits/BenefitsLabel/BenefitsLabel.d.ts +6 -0
  9. package/build/cjs/blocks/Benefits/BenefitsLabel/BenefitsLabel.js +15 -0
  10. package/build/cjs/blocks/Benefits/schema.d.ts +95 -0
  11. package/build/cjs/blocks/Benefits/schema.js +51 -0
  12. package/build/cjs/blocks/index.d.ts +1 -0
  13. package/build/cjs/blocks/index.js +3 -1
  14. package/build/cjs/blocks/validators.d.ts +1 -0
  15. package/build/cjs/blocks/validators.js +1 -0
  16. package/build/cjs/constructor-items.d.ts +1 -0
  17. package/build/cjs/constructor-items.js +1 -0
  18. package/build/cjs/models/constructor-items/blocks.d.ts +34 -1
  19. package/build/cjs/models/constructor-items/blocks.js +1 -0
  20. package/build/cjs/schema/constants.d.ts +1 -1
  21. package/build/cjs/schema/constants.js +2 -1
  22. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  23. package/build/cjs/schema/validators/blocks.js +1 -0
  24. package/build/cjs/text-transform/config.js +4 -0
  25. package/build/esm/blocks/Benefits/Benefits.css +76 -0
  26. package/build/esm/blocks/Benefits/Benefits.d.ts +4 -0
  27. package/build/esm/blocks/Benefits/Benefits.js +45 -0
  28. package/build/esm/blocks/Benefits/BenefitsCard/BenefitsCard.css +31 -0
  29. package/build/esm/blocks/Benefits/BenefitsCard/BenefitsCard.d.ts +4 -0
  30. package/build/esm/blocks/Benefits/BenefitsCard/BenefitsCard.js +13 -0
  31. package/build/esm/blocks/Benefits/BenefitsLabel/BenefitsLabel.css +30 -0
  32. package/build/esm/blocks/Benefits/BenefitsLabel/BenefitsLabel.d.ts +7 -0
  33. package/build/esm/blocks/Benefits/BenefitsLabel/BenefitsLabel.js +11 -0
  34. package/build/esm/blocks/Benefits/schema.d.ts +95 -0
  35. package/build/esm/blocks/Benefits/schema.js +48 -0
  36. package/build/esm/blocks/index.d.ts +1 -0
  37. package/build/esm/blocks/index.js +1 -0
  38. package/build/esm/blocks/validators.d.ts +1 -0
  39. package/build/esm/blocks/validators.js +1 -0
  40. package/build/esm/constructor-items.d.ts +1 -0
  41. package/build/esm/constructor-items.js +2 -1
  42. package/build/esm/models/constructor-items/blocks.d.ts +34 -1
  43. package/build/esm/models/constructor-items/blocks.js +1 -0
  44. package/build/esm/schema/constants.d.ts +1 -1
  45. package/build/esm/schema/constants.js +3 -2
  46. package/build/esm/schema/validators/blocks.d.ts +1 -0
  47. package/build/esm/schema/validators/blocks.js +1 -0
  48. package/build/esm/text-transform/config.js +4 -0
  49. package/package.json +1 -1
  50. package/schema/index.js +1 -1
  51. package/server/models/constructor-items/blocks.d.ts +34 -1
  52. package/server/models/constructor-items/blocks.js +1 -0
  53. package/server/text-transform/config.js +4 -0
  54. package/widget/index.js +1 -1
@@ -0,0 +1,76 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-benefits-block {
4
+ position: relative;
5
+ z-index: 0;
6
+ --local-base-color: #001a2b;
7
+ --local-bg-color: #ffffff;
8
+ }
9
+ .pc-benefits-block_theme_dark {
10
+ --local-base-color: #ffffff;
11
+ --local-bg-color: #001a2b;
12
+ }
13
+ .pc-benefits-block__background {
14
+ position: absolute;
15
+ top: 0;
16
+ left: -27px;
17
+ right: -27px;
18
+ bottom: 0;
19
+ z-index: -1;
20
+ border-radius: 40px;
21
+ }
22
+ .pc-benefits-block__header {
23
+ padding-top: 48px;
24
+ margin-bottom: 32px;
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: 16px;
28
+ }
29
+ .pc-benefits-block__title {
30
+ color: var(--local-base-color);
31
+ font-size: 48px;
32
+ line-height: 52px;
33
+ font-weight: 600;
34
+ text-align: center;
35
+ }
36
+ .pc-benefits-block__title > span {
37
+ color: var(--local-accent-color);
38
+ }
39
+ .pc-benefits-block__text {
40
+ color: var(--local-base-color);
41
+ font-size: 24px;
42
+ line-height: 28px;
43
+ text-align: center;
44
+ opacity: 0.6;
45
+ }
46
+ .pc-benefits-block__text p {
47
+ margin: 0;
48
+ }
49
+ .pc-benefits-block__cards {
50
+ display: flex;
51
+ flex-wrap: wrap;
52
+ gap: 16px;
53
+ padding-bottom: 64px;
54
+ }
55
+ .pc-benefits-block__labels {
56
+ display: flex;
57
+ flex-wrap: wrap;
58
+ gap: 16px;
59
+ padding-top: 16px;
60
+ padding-bottom: 16px;
61
+ }
62
+ .pc-benefits-block__images {
63
+ display: grid;
64
+ grid-template-columns: repeat(12, 1fr);
65
+ grid-auto-rows: 300px;
66
+ gap: 12px;
67
+ padding-top: 12px;
68
+ padding-bottom: 27px;
69
+ }
70
+ .pc-benefits-block__image {
71
+ display: block;
72
+ width: 100%;
73
+ height: 100%;
74
+ object-fit: cover;
75
+ border-radius: 24px;
76
+ }
@@ -0,0 +1,3 @@
1
+ import { BenefitsBlockProps } from '../../models';
2
+ export declare const BenefitsBlock: (props: BenefitsBlockProps) => JSX.Element;
3
+ export default BenefitsBlock;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitsBlock = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const components_1 = require("../../components");
7
+ const utils_1 = require("../../utils");
8
+ const BenefitsCard_1 = tslib_1.__importDefault(require("./BenefitsCard/BenefitsCard"));
9
+ const BenefitsLabel_1 = tslib_1.__importDefault(require("./BenefitsLabel/BenefitsLabel"));
10
+ const b = (0, utils_1.block)('benefits-block');
11
+ const BenefitsBlock = (props) => {
12
+ const { titleOne, postTitleOne, textOne, titleTwo, postTitleTwo, textTwo, background, cards, items, theme, accentColor, time, } = props;
13
+ const [activeIndex, setActiveIndex] = (0, react_1.useState)(0);
14
+ const data = items === null || items === void 0 ? void 0 : items[activeIndex];
15
+ (0, react_1.useEffect)(() => {
16
+ const interval = setInterval(() => {
17
+ if (items === null || items === void 0 ? void 0 : items.length) {
18
+ setActiveIndex((prev) => (prev + 1) % items.length);
19
+ }
20
+ }, time || 2000);
21
+ return () => clearInterval(interval);
22
+ }, [items === null || items === void 0 ? void 0 : items.length, time]);
23
+ const styles = (0, react_1.useMemo)(() => accentColor
24
+ ? {
25
+ ['--local-accent-color']: accentColor,
26
+ }
27
+ : {}, [accentColor]);
28
+ return (react_1.default.createElement("div", { className: b({ theme }), style: styles },
29
+ react_1.default.createElement("div", { className: b('background'), style: { background } }),
30
+ (titleOne || postTitleOne || textOne) && (react_1.default.createElement("div", { className: b('header') },
31
+ (titleOne || postTitleOne) && (react_1.default.createElement("div", { className: b('title') },
32
+ titleOne,
33
+ react_1.default.createElement("span", null, postTitleOne))),
34
+ textOne && react_1.default.createElement(components_1.HTML, { className: b('text') }, textOne))),
35
+ Boolean(cards === null || cards === void 0 ? void 0 : cards.length) && (react_1.default.createElement("div", { className: b('cards') }, cards === null || cards === void 0 ? void 0 : cards.map((card, index) => (react_1.default.createElement(BenefitsCard_1.default, Object.assign({ key: index }, card)))))),
36
+ (titleTwo || postTitleTwo || textTwo) && (react_1.default.createElement("div", { className: b('header') },
37
+ (titleTwo || postTitleTwo) && (react_1.default.createElement("div", { className: b('title') },
38
+ titleTwo,
39
+ react_1.default.createElement("span", null, postTitleTwo))),
40
+ textTwo && react_1.default.createElement(components_1.HTML, { className: b('text') }, textTwo))),
41
+ Boolean(items === null || items === void 0 ? void 0 : items.length) && (react_1.default.createElement("div", { className: b('labels') }, items === null || items === void 0 ? void 0 : items.map((item, index) => (react_1.default.createElement(BenefitsLabel_1.default, Object.assign({ key: index }, item, { active: index === activeIndex })))))),
42
+ data && (react_1.default.createElement("div", { className: b('images') }, data.images.map((image, index) => (react_1.default.createElement("div", { key: index, style: {
43
+ gridColumn: `span ${data.columns[index]}`,
44
+ gridRow: `span ${data.rows[index]}`,
45
+ } },
46
+ react_1.default.createElement(components_1.ImageBase, { className: b('image'), src: image }))))))));
47
+ };
48
+ exports.BenefitsBlock = BenefitsBlock;
49
+ exports.default = exports.BenefitsBlock;
@@ -0,0 +1,31 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-benefits-card {
4
+ background-color: rgba(31, 47, 61, 0.3);
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 8px;
8
+ padding: 32px;
9
+ min-height: 360px;
10
+ min-width: 270px;
11
+ border-radius: 24px;
12
+ flex: 1;
13
+ }
14
+ .pc-benefits-card__icon {
15
+ display: block;
16
+ width: 64px;
17
+ height: 64px;
18
+ object-fit: contain;
19
+ margin-bottom: 24px;
20
+ }
21
+ .pc-benefits-card__title {
22
+ font-size: var(--g-text-header-2-font-size, var(--pc-text-header-2-font-size));
23
+ line-height: var(--g-text-header-2-line-height, var(--pc-text-header-2-line-height));
24
+ color: var(--local-accent-color);
25
+ }
26
+ .pc-benefits-card__text {
27
+ font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
28
+ line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
29
+ color: var(--local-base-color);
30
+ opacity: 0.8;
31
+ }
@@ -0,0 +1,3 @@
1
+ import { BenefitsBlockCard } from '../../../models';
2
+ export declare const BenefitsCard: (props: BenefitsBlockCard) => JSX.Element;
3
+ export default BenefitsCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitsCard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const components_1 = require("../../../components");
7
+ const utils_1 = require("../../../utils");
8
+ const b = (0, utils_1.block)('benefits-card');
9
+ const BenefitsCard = (props) => {
10
+ const { icon, title, text } = props;
11
+ return (react_1.default.createElement("div", { className: b() },
12
+ react_1.default.createElement(components_1.ImageBase, { className: b('icon'), src: icon }),
13
+ react_1.default.createElement("div", { className: b('title') }, title),
14
+ react_1.default.createElement("div", { className: b('text') }, text)));
15
+ };
16
+ exports.BenefitsCard = BenefitsCard;
17
+ exports.default = exports.BenefitsCard;
@@ -0,0 +1,30 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-benefits-label {
4
+ background-color: rgba(31, 47, 61, 0.3);
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 8px;
8
+ padding: 32px;
9
+ min-height: 158px;
10
+ min-width: 270px;
11
+ border-radius: 24px;
12
+ flex: 1;
13
+ border: 1px solid transparent;
14
+ }
15
+ .pc-benefits-label_active {
16
+ border: 1px solid var(--local-accent-color);
17
+ }
18
+ .pc-benefits-label__title {
19
+ font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
20
+ line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
21
+ color: var(--local-accent-color);
22
+ text-align: center;
23
+ }
24
+ .pc-benefits-label__text {
25
+ font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
26
+ line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
27
+ color: var(--local-base-color);
28
+ opacity: 0.8;
29
+ text-align: center;
30
+ }
@@ -0,0 +1,6 @@
1
+ import { BenefitsBlockItemLabel } from '../../../models';
2
+ type BenefitsLabelProps = BenefitsBlockItemLabel & {
3
+ active?: boolean;
4
+ };
5
+ export declare const BenefitsLabel: (props: BenefitsLabelProps) => JSX.Element;
6
+ export default BenefitsLabel;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitsLabel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const utils_1 = require("../../../utils");
7
+ const b = (0, utils_1.block)('benefits-label');
8
+ const BenefitsLabel = (props) => {
9
+ const { title, text, active } = props;
10
+ return (react_1.default.createElement("div", { className: b({ active }) },
11
+ react_1.default.createElement("div", { className: b('title') }, title),
12
+ react_1.default.createElement("div", { className: b('text') }, text)));
13
+ };
14
+ exports.BenefitsLabel = BenefitsLabel;
15
+ exports.default = exports.BenefitsLabel;
@@ -0,0 +1,95 @@
1
+ export declare const BenefitsBlock: {
2
+ 'benefits-block': {
3
+ additionalProperties: boolean;
4
+ required: boolean;
5
+ properties: {
6
+ titleOne: {
7
+ type: string;
8
+ };
9
+ postTitleOne: {
10
+ type: string;
11
+ };
12
+ textOne: {
13
+ type: string;
14
+ };
15
+ titleTwo: {
16
+ type: string;
17
+ };
18
+ postTitleTwo: {
19
+ type: string;
20
+ };
21
+ textTwo: {
22
+ type: string;
23
+ };
24
+ background: {
25
+ type: string;
26
+ };
27
+ cards: {
28
+ type: string;
29
+ items: {
30
+ additionalProperties: boolean;
31
+ required: string[];
32
+ properties: {
33
+ icon: {
34
+ type: string;
35
+ };
36
+ title: {
37
+ type: string;
38
+ };
39
+ text: {
40
+ type: string;
41
+ };
42
+ };
43
+ };
44
+ };
45
+ items: {
46
+ type: string;
47
+ items: {
48
+ type: string;
49
+ additionalProperties: boolean;
50
+ required: string[];
51
+ properties: {
52
+ title: {
53
+ type: string;
54
+ };
55
+ text: {
56
+ type: string;
57
+ };
58
+ images: {
59
+ type: string;
60
+ items: {
61
+ type: string;
62
+ };
63
+ };
64
+ columns: {
65
+ type: string;
66
+ items: {
67
+ type: string;
68
+ };
69
+ };
70
+ rows: {
71
+ type: string;
72
+ items: {
73
+ type: string;
74
+ };
75
+ };
76
+ };
77
+ };
78
+ };
79
+ theme: {
80
+ type: string;
81
+ enum: string[];
82
+ };
83
+ accentColor: {
84
+ type: string;
85
+ };
86
+ time: {
87
+ type: string;
88
+ };
89
+ type: {};
90
+ when: {
91
+ type: string;
92
+ };
93
+ };
94
+ };
95
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitsBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ exports.BenefitsBlock = {
6
+ 'benefits-block': {
7
+ additionalProperties: false,
8
+ required: false,
9
+ properties: Object.assign(Object.assign({}, common_1.BaseProps), { titleOne: { type: 'string' }, postTitleOne: { type: 'string' }, textOne: { type: 'string' }, titleTwo: { type: 'string' }, postTitleTwo: { type: 'string' }, textTwo: { type: 'string' }, background: { type: 'string' }, cards: {
10
+ type: 'array',
11
+ items: {
12
+ additionalProperties: false,
13
+ required: ['icon', 'title', 'text'],
14
+ properties: {
15
+ icon: { type: 'string' },
16
+ title: { type: 'string' },
17
+ text: { type: 'string' },
18
+ },
19
+ },
20
+ }, items: {
21
+ type: 'array',
22
+ items: {
23
+ type: 'object',
24
+ additionalProperties: false,
25
+ required: ['title', 'text'],
26
+ properties: {
27
+ title: { type: 'string' },
28
+ text: { type: 'string' },
29
+ images: {
30
+ type: 'array',
31
+ items: {
32
+ type: 'string',
33
+ },
34
+ },
35
+ columns: {
36
+ type: 'array',
37
+ items: {
38
+ type: 'number',
39
+ },
40
+ },
41
+ rows: {
42
+ type: 'array',
43
+ items: {
44
+ type: 'number',
45
+ },
46
+ },
47
+ },
48
+ },
49
+ }, theme: common_1.ThemeProps, accentColor: { type: 'string' }, time: { type: 'number' } }),
50
+ },
51
+ };
@@ -9,6 +9,7 @@ export { default as SliderNewBlock } from './SliderNew/Slider';
9
9
  export { default as ExtendedFeaturesBlock } from './ExtendedFeatures/ExtendedFeatures';
10
10
  export { default as PromoFeaturesBlock } from './PromoFeaturesBlock/PromoFeaturesBlock';
11
11
  export { default as AdvantagesBlock } from './Advantages/Advantages';
12
+ export { default as BenefitsBlock } from './Benefits/Benefits';
12
13
  export { default as ScrollerBlock } from './Scroller/Scroller';
13
14
  export { default as QuestionsBlock } from './Questions/Questions';
14
15
  export { default as TableBlock } from './Table/Table';
@@ -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.BenchmarkBlock = exports.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = exports.ReportsBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterCardLayoutBlock = exports.FilterBlock = exports.ShareBlock = exports.BannerMinifyBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderMinifyBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.ScrollerBlock = exports.AdvantagesBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.LogoRotatorBlock = exports.BannerBlock = void 0;
6
+ exports.BenchmarkBlock = exports.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = exports.ReportsBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterCardLayoutBlock = exports.FilterBlock = exports.ShareBlock = exports.BannerMinifyBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderMinifyBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.ScrollerBlock = exports.BenefitsBlock = exports.AdvantagesBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.LogoRotatorBlock = 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 LogoRotator_1 = require("./LogoRotator/LogoRotator");
@@ -26,6 +26,8 @@ var PromoFeaturesBlock_1 = require("./PromoFeaturesBlock/PromoFeaturesBlock");
26
26
  Object.defineProperty(exports, "PromoFeaturesBlock", { enumerable: true, get: function () { return __importDefault(PromoFeaturesBlock_1).default; } });
27
27
  var Advantages_1 = require("./Advantages/Advantages");
28
28
  Object.defineProperty(exports, "AdvantagesBlock", { enumerable: true, get: function () { return __importDefault(Advantages_1).default; } });
29
+ var Benefits_1 = require("./Benefits/Benefits");
30
+ Object.defineProperty(exports, "BenefitsBlock", { enumerable: true, get: function () { return __importDefault(Benefits_1).default; } });
29
31
  var Scroller_1 = require("./Scroller/Scroller");
30
32
  Object.defineProperty(exports, "ScrollerBlock", { enumerable: true, get: function () { return __importDefault(Scroller_1).default; } });
31
33
  var Questions_1 = require("./Questions/Questions");
@@ -11,6 +11,7 @@ export * from './Info/schema';
11
11
  export * from './Media/schema';
12
12
  export * from './PromoFeaturesBlock/schema';
13
13
  export * from './Advantages/schema';
14
+ export * from './Benefits/schema';
14
15
  export * from './Scroller/schema';
15
16
  export * from './Questions/schema';
16
17
  export * from './Slider/schema';
@@ -14,6 +14,7 @@ tslib_1.__exportStar(require("./Info/schema"), exports);
14
14
  tslib_1.__exportStar(require("./Media/schema"), exports);
15
15
  tslib_1.__exportStar(require("./PromoFeaturesBlock/schema"), exports);
16
16
  tslib_1.__exportStar(require("./Advantages/schema"), exports);
17
+ tslib_1.__exportStar(require("./Benefits/schema"), exports);
17
18
  tslib_1.__exportStar(require("./Scroller/schema"), exports);
18
19
  tslib_1.__exportStar(require("./Questions/schema"), exports);
19
20
  tslib_1.__exportStar(require("./Slider/schema"), exports);
@@ -3,6 +3,7 @@ export declare const blockMap: {
3
3
  "extended-features-block": ({ title, description, items, colSizes, animated, }: import("./models").ExtendedFeaturesProps) => JSX.Element;
4
4
  "promo-features-block": (props: import("./models").PromoFeaturesProps) => JSX.Element;
5
5
  "advantages-block": (props: import("./models").AdvantagesBlockProps) => JSX.Element;
6
+ "benefits-block": (props: import("./models").BenefitsBlockProps) => JSX.Element;
6
7
  "scroller-block": (props: import("react").PropsWithChildren<Omit<import("./models").ScrollerBlockProps, "children">>) => JSX.Element;
7
8
  "questions-block": (props: import("./models").QuestionsProps) => JSX.Element;
8
9
  "banner-block": (props: import("./models").BannerBlockProps) => JSX.Element;
@@ -12,6 +12,7 @@ exports.blockMap = {
12
12
  [models_1.BlockType.ExtendedFeaturesBlock]: blocks_1.ExtendedFeaturesBlock,
13
13
  [models_1.BlockType.PromoFeaturesBlock]: blocks_1.PromoFeaturesBlock,
14
14
  [models_1.BlockType.AdvantagesBlock]: blocks_1.AdvantagesBlock,
15
+ [models_1.BlockType.BenefitsBlock]: blocks_1.BenefitsBlock,
15
16
  [models_1.BlockType.ScrollerBlock]: blocks_1.ScrollerBlock,
16
17
  [models_1.BlockType.QuestionsBlock]: blocks_1.QuestionsBlock,
17
18
  [models_1.BlockType.BannerBlock]: blocks_1.BannerBlock,
@@ -7,6 +7,7 @@ import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, CardBorder,
7
7
  import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './sub-blocks';
8
8
  export declare enum BlockType {
9
9
  AdvantagesBlock = "advantages-block",
10
+ BenefitsBlock = "benefits-block",
10
11
  ScrollerBlock = "scroller-block",
11
12
  PromoFeaturesBlock = "promo-features-block",
12
13
  ExtendedFeaturesBlock = "extended-features-block",
@@ -291,6 +292,35 @@ export interface AdvantagesBlockProps {
291
292
  url: string;
292
293
  }[];
293
294
  }
295
+ export interface BenefitsBlockCard {
296
+ icon?: string;
297
+ title?: string;
298
+ text?: string;
299
+ }
300
+ export interface BenefitsBlockItemLabel {
301
+ title?: string;
302
+ text?: string;
303
+ }
304
+ export interface BenefitsBlockItemData {
305
+ images: string[];
306
+ columns: number[];
307
+ rows: number[];
308
+ }
309
+ export interface BenefitsBlockItem extends BenefitsBlockItemLabel, BenefitsBlockItemData {
310
+ }
311
+ export interface BenefitsBlockProps extends Themable {
312
+ titleOne?: string;
313
+ postTitleOne?: string;
314
+ textOne?: string;
315
+ titleTwo?: string;
316
+ postTitleTwo?: string;
317
+ textTwo?: string;
318
+ background?: string;
319
+ cards?: BenefitsBlockCard[];
320
+ items?: BenefitsBlockItem[];
321
+ accentColor?: string;
322
+ time?: number;
323
+ }
294
324
  export interface ScrollerBlockProps extends Childable {
295
325
  title?: string;
296
326
  text?: string;
@@ -715,6 +745,9 @@ export type LogoRotatorBlockModel = {
715
745
  export type AdvantagesBlockModel = {
716
746
  type: BlockType.AdvantagesBlock;
717
747
  } & AdvantagesBlockProps;
748
+ export type BenefitsBlockModel = {
749
+ type: BlockType.BenefitsBlock;
750
+ } & BenefitsBlockProps;
718
751
  export type ScrollerBlockModel = {
719
752
  type: BlockType.ScrollerBlock;
720
753
  } & ScrollerBlockProps;
@@ -829,6 +862,6 @@ export type FormWallBlockModel = {
829
862
  export type SliderNewBlockModel = {
830
863
  type: BlockType.SliderNewBlock;
831
864
  } & SliderNewProps;
832
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | ScrollerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | HeaderMinifyBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | BannerMinifyBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
865
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | BenefitsBlockModel | ScrollerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | HeaderMinifyBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | BannerMinifyBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
833
866
  export type Block = BlockModels & BlockBaseProps;
834
867
  export {};
@@ -4,6 +4,7 @@ exports.FormBlockDirection = exports.FormBlockDataTypes = exports.PCShareSocialN
4
4
  var BlockType;
5
5
  (function (BlockType) {
6
6
  BlockType["AdvantagesBlock"] = "advantages-block";
7
+ BlockType["BenefitsBlock"] = "benefits-block";
7
8
  BlockType["ScrollerBlock"] = "scroller-block";
8
9
  BlockType["PromoFeaturesBlock"] = "promo-features-block";
9
10
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
@@ -3722,7 +3722,7 @@ export declare const cardSchemas: {
3722
3722
  properties: {
3723
3723
  type: {
3724
3724
  type: string;
3725
- enum: import("../models").CustomControlsType[]; /** @deprecated */
3725
+ enum: import("../models").CustomControlsType[];
3726
3726
  };
3727
3727
  muteButtonShown: {
3728
3728
  type: string;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
4
4
  const blocks_1 = require("./validators/blocks");
5
5
  const sub_blocks_1 = require("./validators/sub-blocks");
6
- exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(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(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.AdvantagesBlock), blocks_1.ScrollerBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.HeaderMinifyBlock), blocks_1.BannerBlock), blocks_1.LogoRotatorBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.MiniCaseBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.BannerMinifyBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FilterCardLayoutBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.ReportsBlock), blocks_1.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.BenchmarkBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock);
6
+ exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(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(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.AdvantagesBlock), blocks_1.BenefitsBlock), blocks_1.ScrollerBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.HeaderMinifyBlock), blocks_1.BannerBlock), blocks_1.LogoRotatorBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.MiniCaseBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.BannerMinifyBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FilterCardLayoutBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.ReportsBlock), blocks_1.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.BenchmarkBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock);
7
7
  exports.cardSchemas = 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.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard), sub_blocks_1.PriceCardBlock), sub_blocks_1.ImageCard), sub_blocks_1.ContentLayoutCard), sub_blocks_1.Card), sub_blocks_1.PostCard), sub_blocks_1.FeedCard), sub_blocks_1.EventPersonCard), sub_blocks_1.AttachmentCard), sub_blocks_1.CaseStudyCard), sub_blocks_1.StoryCard);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -55,6 +55,7 @@ exports.constructorBlockSchemaNames = [
55
55
  'press-releases-block',
56
56
  'mini-case-block',
57
57
  'advantages-block',
58
+ 'benefits-block',
58
59
  'scroller-block',
59
60
  'benchmark-block',
60
61
  'banner-minify-block',
@@ -3,6 +3,7 @@ export * from '../../blocks/Companies/schema';
3
3
  export * from '../../blocks/ExtendedFeatures/schema';
4
4
  export * from '../../blocks/PromoFeaturesBlock/schema';
5
5
  export * from '../../blocks/Advantages/schema';
6
+ export * from '../../blocks/Benefits/schema';
6
7
  export * from '../../blocks/Scroller/schema';
7
8
  export * from '../../blocks/Header/schema';
8
9
  export * from '../../blocks/Info/schema';
@@ -6,6 +6,7 @@ tslib_1.__exportStar(require("../../blocks/Companies/schema"), exports);
6
6
  tslib_1.__exportStar(require("../../blocks/ExtendedFeatures/schema"), exports);
7
7
  tslib_1.__exportStar(require("../../blocks/PromoFeaturesBlock/schema"), exports);
8
8
  tslib_1.__exportStar(require("../../blocks/Advantages/schema"), exports);
9
+ tslib_1.__exportStar(require("../../blocks/Benefits/schema"), exports);
9
10
  tslib_1.__exportStar(require("../../blocks/Scroller/schema"), exports);
10
11
  tslib_1.__exportStar(require("../../blocks/Header/schema"), exports);
11
12
  tslib_1.__exportStar(require("../../blocks/Info/schema"), exports);
@@ -493,4 +493,8 @@ exports.config = {
493
493
  fields: ['title'],
494
494
  transformer: common_1.yfmTransformer,
495
495
  },
496
+ [models_1.BlockType.BenefitsBlock]: {
497
+ fields: ['textOne', 'textTwo'],
498
+ transformer: common_1.yfmTransformer,
499
+ },
496
500
  };