@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.
- package/build/cjs/blocks/Benefits/Benefits.css +76 -0
- package/build/cjs/blocks/Benefits/Benefits.d.ts +3 -0
- package/build/cjs/blocks/Benefits/Benefits.js +49 -0
- package/build/cjs/blocks/Benefits/BenefitsCard/BenefitsCard.css +31 -0
- package/build/cjs/blocks/Benefits/BenefitsCard/BenefitsCard.d.ts +3 -0
- package/build/cjs/blocks/Benefits/BenefitsCard/BenefitsCard.js +17 -0
- package/build/cjs/blocks/Benefits/BenefitsLabel/BenefitsLabel.css +30 -0
- package/build/cjs/blocks/Benefits/BenefitsLabel/BenefitsLabel.d.ts +6 -0
- package/build/cjs/blocks/Benefits/BenefitsLabel/BenefitsLabel.js +15 -0
- package/build/cjs/blocks/Benefits/schema.d.ts +95 -0
- package/build/cjs/blocks/Benefits/schema.js +51 -0
- package/build/cjs/blocks/index.d.ts +1 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/blocks/validators.d.ts +1 -0
- package/build/cjs/blocks/validators.js +1 -0
- package/build/cjs/constructor-items.d.ts +1 -0
- package/build/cjs/constructor-items.js +1 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +34 -1
- package/build/cjs/models/constructor-items/blocks.js +1 -0
- package/build/cjs/schema/constants.d.ts +1 -1
- package/build/cjs/schema/constants.js +2 -1
- package/build/cjs/schema/validators/blocks.d.ts +1 -0
- package/build/cjs/schema/validators/blocks.js +1 -0
- package/build/cjs/text-transform/config.js +4 -0
- package/build/esm/blocks/Benefits/Benefits.css +76 -0
- package/build/esm/blocks/Benefits/Benefits.d.ts +4 -0
- package/build/esm/blocks/Benefits/Benefits.js +45 -0
- package/build/esm/blocks/Benefits/BenefitsCard/BenefitsCard.css +31 -0
- package/build/esm/blocks/Benefits/BenefitsCard/BenefitsCard.d.ts +4 -0
- package/build/esm/blocks/Benefits/BenefitsCard/BenefitsCard.js +13 -0
- package/build/esm/blocks/Benefits/BenefitsLabel/BenefitsLabel.css +30 -0
- package/build/esm/blocks/Benefits/BenefitsLabel/BenefitsLabel.d.ts +7 -0
- package/build/esm/blocks/Benefits/BenefitsLabel/BenefitsLabel.js +11 -0
- package/build/esm/blocks/Benefits/schema.d.ts +95 -0
- package/build/esm/blocks/Benefits/schema.js +48 -0
- package/build/esm/blocks/index.d.ts +1 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/blocks/validators.d.ts +1 -0
- package/build/esm/blocks/validators.js +1 -0
- package/build/esm/constructor-items.d.ts +1 -0
- package/build/esm/constructor-items.js +2 -1
- package/build/esm/models/constructor-items/blocks.d.ts +34 -1
- package/build/esm/models/constructor-items/blocks.js +1 -0
- package/build/esm/schema/constants.d.ts +1 -1
- package/build/esm/schema/constants.js +3 -2
- package/build/esm/schema/validators/blocks.d.ts +1 -0
- package/build/esm/schema/validators/blocks.js +1 -0
- package/build/esm/text-transform/config.js +4 -0
- package/package.json +1 -1
- package/schema/index.js +1 -1
- package/server/models/constructor-items/blocks.d.ts +34 -1
- package/server/models/constructor-items/blocks.js +1 -0
- package/server/text-transform/config.js +4 -0
- 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,45 @@
|
|
|
1
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { HTML, ImageBase } from '../../components';
|
|
3
|
+
import { block } from '../../utils';
|
|
4
|
+
import BenefitsCard from './BenefitsCard/BenefitsCard';
|
|
5
|
+
import BenefitsLabel from './BenefitsLabel/BenefitsLabel';
|
|
6
|
+
import './Benefits.css';
|
|
7
|
+
const b = block('benefits-block');
|
|
8
|
+
export const BenefitsBlock = (props) => {
|
|
9
|
+
const { titleOne, postTitleOne, textOne, titleTwo, postTitleTwo, textTwo, background, cards, items, theme, accentColor, time, } = props;
|
|
10
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
11
|
+
const data = items === null || items === void 0 ? void 0 : items[activeIndex];
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const interval = setInterval(() => {
|
|
14
|
+
if (items === null || items === void 0 ? void 0 : items.length) {
|
|
15
|
+
setActiveIndex((prev) => (prev + 1) % items.length);
|
|
16
|
+
}
|
|
17
|
+
}, time || 2000);
|
|
18
|
+
return () => clearInterval(interval);
|
|
19
|
+
}, [items === null || items === void 0 ? void 0 : items.length, time]);
|
|
20
|
+
const styles = useMemo(() => accentColor
|
|
21
|
+
? {
|
|
22
|
+
['--local-accent-color']: accentColor,
|
|
23
|
+
}
|
|
24
|
+
: {}, [accentColor]);
|
|
25
|
+
return (React.createElement("div", { className: b({ theme }), style: styles },
|
|
26
|
+
React.createElement("div", { className: b('background'), style: { background } }),
|
|
27
|
+
(titleOne || postTitleOne || textOne) && (React.createElement("div", { className: b('header') },
|
|
28
|
+
(titleOne || postTitleOne) && (React.createElement("div", { className: b('title') },
|
|
29
|
+
titleOne,
|
|
30
|
+
React.createElement("span", null, postTitleOne))),
|
|
31
|
+
textOne && React.createElement(HTML, { className: b('text') }, textOne))),
|
|
32
|
+
Boolean(cards === null || cards === void 0 ? void 0 : cards.length) && (React.createElement("div", { className: b('cards') }, cards === null || cards === void 0 ? void 0 : cards.map((card, index) => (React.createElement(BenefitsCard, Object.assign({ key: index }, card)))))),
|
|
33
|
+
(titleTwo || postTitleTwo || textTwo) && (React.createElement("div", { className: b('header') },
|
|
34
|
+
(titleTwo || postTitleTwo) && (React.createElement("div", { className: b('title') },
|
|
35
|
+
titleTwo,
|
|
36
|
+
React.createElement("span", null, postTitleTwo))),
|
|
37
|
+
textTwo && React.createElement(HTML, { className: b('text') }, textTwo))),
|
|
38
|
+
Boolean(items === null || items === void 0 ? void 0 : items.length) && (React.createElement("div", { className: b('labels') }, items === null || items === void 0 ? void 0 : items.map((item, index) => (React.createElement(BenefitsLabel, Object.assign({ key: index }, item, { active: index === activeIndex })))))),
|
|
39
|
+
data && (React.createElement("div", { className: b('images') }, data.images.map((image, index) => (React.createElement("div", { key: index, style: {
|
|
40
|
+
gridColumn: `span ${data.columns[index]}`,
|
|
41
|
+
gridRow: `span ${data.rows[index]}`,
|
|
42
|
+
} },
|
|
43
|
+
React.createElement(ImageBase, { className: b('image'), src: image }))))))));
|
|
44
|
+
};
|
|
45
|
+
export default 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,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ImageBase } from '../../../components';
|
|
3
|
+
import { block } from '../../../utils';
|
|
4
|
+
import './BenefitsCard.css';
|
|
5
|
+
const b = block('benefits-card');
|
|
6
|
+
export const BenefitsCard = (props) => {
|
|
7
|
+
const { icon, title, text } = props;
|
|
8
|
+
return (React.createElement("div", { className: b() },
|
|
9
|
+
React.createElement(ImageBase, { className: b('icon'), src: icon }),
|
|
10
|
+
React.createElement("div", { className: b('title') }, title),
|
|
11
|
+
React.createElement("div", { className: b('text') }, text)));
|
|
12
|
+
};
|
|
13
|
+
export default 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,7 @@
|
|
|
1
|
+
import { BenefitsBlockItemLabel } from '../../../models';
|
|
2
|
+
import './BenefitsLabel.css';
|
|
3
|
+
type BenefitsLabelProps = BenefitsBlockItemLabel & {
|
|
4
|
+
active?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const BenefitsLabel: (props: BenefitsLabelProps) => JSX.Element;
|
|
7
|
+
export default BenefitsLabel;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { block } from '../../../utils';
|
|
3
|
+
import './BenefitsLabel.css';
|
|
4
|
+
const b = block('benefits-label');
|
|
5
|
+
export const BenefitsLabel = (props) => {
|
|
6
|
+
const { title, text, active } = props;
|
|
7
|
+
return (React.createElement("div", { className: b({ active }) },
|
|
8
|
+
React.createElement("div", { className: b('title') }, title),
|
|
9
|
+
React.createElement("div", { className: b('text') }, text)));
|
|
10
|
+
};
|
|
11
|
+
export default 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,48 @@
|
|
|
1
|
+
import { BaseProps, ThemeProps } from '../../schema/validators/common';
|
|
2
|
+
export const BenefitsBlock = {
|
|
3
|
+
'benefits-block': {
|
|
4
|
+
additionalProperties: false,
|
|
5
|
+
required: false,
|
|
6
|
+
properties: Object.assign(Object.assign({}, BaseProps), { titleOne: { type: 'string' }, postTitleOne: { type: 'string' }, textOne: { type: 'string' }, titleTwo: { type: 'string' }, postTitleTwo: { type: 'string' }, textTwo: { type: 'string' }, background: { type: 'string' }, cards: {
|
|
7
|
+
type: 'array',
|
|
8
|
+
items: {
|
|
9
|
+
additionalProperties: false,
|
|
10
|
+
required: ['icon', 'title', 'text'],
|
|
11
|
+
properties: {
|
|
12
|
+
icon: { type: 'string' },
|
|
13
|
+
title: { type: 'string' },
|
|
14
|
+
text: { type: 'string' },
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
}, items: {
|
|
18
|
+
type: 'array',
|
|
19
|
+
items: {
|
|
20
|
+
type: 'object',
|
|
21
|
+
additionalProperties: false,
|
|
22
|
+
required: ['title', 'text'],
|
|
23
|
+
properties: {
|
|
24
|
+
title: { type: 'string' },
|
|
25
|
+
text: { type: 'string' },
|
|
26
|
+
images: {
|
|
27
|
+
type: 'array',
|
|
28
|
+
items: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
columns: {
|
|
33
|
+
type: 'array',
|
|
34
|
+
items: {
|
|
35
|
+
type: 'number',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
rows: {
|
|
39
|
+
type: 'array',
|
|
40
|
+
items: {
|
|
41
|
+
type: 'number',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
}, theme: ThemeProps, accentColor: { type: 'string' }, time: { type: 'number' } }),
|
|
47
|
+
},
|
|
48
|
+
};
|
|
@@ -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';
|
|
@@ -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';
|
|
@@ -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';
|
|
@@ -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';
|
|
@@ -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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdvantagesBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ScrollerBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
|
|
1
|
+
import { AdvantagesBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ScrollerBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
|
|
2
2
|
import { BlockType, NavigationItemType, SubBlockType } from './models';
|
|
3
3
|
import { GithubButton, NavigationButton, NavigationDropdown, NavigationLink, } from './navigation/components/NavigationItem';
|
|
4
4
|
import SocialIcon from './navigation/components/SocialIcon/SocialIcon';
|
|
@@ -8,6 +8,7 @@ export const blockMap = {
|
|
|
8
8
|
[BlockType.ExtendedFeaturesBlock]: ExtendedFeaturesBlock,
|
|
9
9
|
[BlockType.PromoFeaturesBlock]: PromoFeaturesBlock,
|
|
10
10
|
[BlockType.AdvantagesBlock]: AdvantagesBlock,
|
|
11
|
+
[BlockType.BenefitsBlock]: BenefitsBlock,
|
|
11
12
|
[BlockType.ScrollerBlock]: ScrollerBlock,
|
|
12
13
|
[BlockType.QuestionsBlock]: QuestionsBlock,
|
|
13
14
|
[BlockType.BannerBlock]: 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 {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export var BlockType;
|
|
2
2
|
(function (BlockType) {
|
|
3
3
|
BlockType["AdvantagesBlock"] = "advantages-block";
|
|
4
|
+
BlockType["BenefitsBlock"] = "benefits-block";
|
|
4
5
|
BlockType["ScrollerBlock"] = "scroller-block";
|
|
5
6
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
6
7
|
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[];
|
|
3725
|
+
enum: import("../models").CustomControlsType[];
|
|
3726
3726
|
};
|
|
3727
3727
|
muteButtonShown: {
|
|
3728
3728
|
type: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AdvantagesBlock, BannerBlock, BannerCard, BannerMinifyBlock, BenchmarkBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ScrollerBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './validators/blocks';
|
|
1
|
+
import { AdvantagesBlock, BannerBlock, BannerCard, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ScrollerBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './validators/blocks';
|
|
2
2
|
import { AttachmentCard, BackgroundCard, BasicCard, Card, CaseStudyCard, ContentLayoutCard, Divider, EventPersonCard, FeedCard, ImageCard, MediaCardBlock, PostCard, PriceCardBlock, PriceDetailedBlock, Quote, StoryCard, } from './validators/sub-blocks';
|
|
3
|
-
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(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({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), AdvantagesBlock), ScrollerBlock), SliderBlock), QuestionsBlock), HeaderBlock), HeaderMinifyBlock), BannerBlock), LogoRotatorBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), HighlightTableBlock), MiniCaseBlock), TabsBlock), TabsHighlightTableBlock), TabLinksBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), BannerMinifyBlock), ShareBlock), FilterBlock), FilterCardLayoutBlock), FormBlock), SliderNewBlock), MarqueeLinksBlock), SolutionsBlock), ServicesBlock), QuotesBlock), ReportsBlock), ReportsCardsBlock), ReportsSectionsBlock), LinkTableBlock), EventsFeedBlock), BenchmarkBlock), EventsSectionBlock), BlogFeedBlock), RelevantPostsBlock), RelevantReportsCardsBlock), RelevantReportsBlock), PressReleasesBlock), FormWallBlock);
|
|
3
|
+
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(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({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), AdvantagesBlock), BenefitsBlock), ScrollerBlock), SliderBlock), QuestionsBlock), HeaderBlock), HeaderMinifyBlock), BannerBlock), LogoRotatorBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), HighlightTableBlock), MiniCaseBlock), TabsBlock), TabsHighlightTableBlock), TabLinksBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), BannerMinifyBlock), ShareBlock), FilterBlock), FilterCardLayoutBlock), FormBlock), SliderNewBlock), MarqueeLinksBlock), SolutionsBlock), ServicesBlock), QuotesBlock), ReportsBlock), ReportsCardsBlock), ReportsSectionsBlock), LinkTableBlock), EventsFeedBlock), BenchmarkBlock), EventsSectionBlock), BlogFeedBlock), RelevantPostsBlock), RelevantReportsCardsBlock), RelevantReportsBlock), PressReleasesBlock), FormWallBlock);
|
|
4
4
|
export const 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({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock), ImageCard), ContentLayoutCard), Card), PostCard), FeedCard), EventPersonCard), AttachmentCard), CaseStudyCard), StoryCard);
|
|
5
5
|
export const constructorBlockSchemaNames = [
|
|
6
6
|
'divider',
|
|
@@ -52,6 +52,7 @@ export const constructorBlockSchemaNames = [
|
|
|
52
52
|
'press-releases-block',
|
|
53
53
|
'mini-case-block',
|
|
54
54
|
'advantages-block',
|
|
55
|
+
'benefits-block',
|
|
55
56
|
'scroller-block',
|
|
56
57
|
'benchmark-block',
|
|
57
58
|
'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';
|
|
@@ -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';
|