@doyourjob/gravity-ui-page-constructor 5.31.109 → 5.31.111

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 (67) hide show
  1. package/build/cjs/blocks/Header/Header.css +0 -8
  2. package/build/cjs/blocks/Header/Header.js +10 -17
  3. package/build/cjs/blocks/Header/HeaderButtons/HeaderButtons.css +9 -0
  4. package/build/cjs/blocks/Header/HeaderButtons/HeaderButtons.d.ts +6 -0
  5. package/build/cjs/blocks/Header/HeaderButtons/HeaderButtons.js +20 -0
  6. package/build/cjs/blocks/Header/HeaderDescription/HeaderDescription.d.ts +3 -0
  7. package/build/cjs/blocks/Header/HeaderDescription/HeaderDescription.js +19 -0
  8. package/build/cjs/blocks/MiniCase/MiniCase.d.ts +3 -0
  9. package/build/cjs/blocks/MiniCase/MiniCase.js +16 -0
  10. package/build/cjs/blocks/MiniCase/schema.d.ts +170 -0
  11. package/build/cjs/blocks/MiniCase/schema.js +16 -0
  12. package/build/cjs/blocks/SliderNew/SliderClient.js +2 -2
  13. package/build/cjs/blocks/SliderNew/utils.js +2 -2
  14. package/build/cjs/blocks/index.d.ts +1 -0
  15. package/build/cjs/blocks/index.js +3 -1
  16. package/build/cjs/constructor-items.d.ts +1 -0
  17. package/build/cjs/constructor-items.js +1 -0
  18. package/build/cjs/context/miniCaseContext/MiniCaseContext.d.ts +4 -0
  19. package/build/cjs/context/miniCaseContext/MiniCaseContext.js +6 -0
  20. package/build/cjs/context/miniCaseContext/index.d.ts +1 -0
  21. package/build/cjs/context/miniCaseContext/index.js +4 -0
  22. package/build/cjs/index.d.ts +1 -0
  23. package/build/cjs/index.js +1 -0
  24. package/build/cjs/models/constructor-items/blocks.d.ts +11 -3
  25. package/build/cjs/models/constructor-items/blocks.js +1 -0
  26. package/build/cjs/schema/constants.d.ts +2 -2
  27. package/build/cjs/schema/constants.js +2 -1
  28. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  29. package/build/cjs/schema/validators/blocks.js +1 -0
  30. package/build/cjs/text-transform/config.js +1 -0
  31. package/build/esm/blocks/Header/Header.css +0 -8
  32. package/build/esm/blocks/Header/Header.js +12 -19
  33. package/build/esm/blocks/Header/HeaderButtons/HeaderButtons.css +9 -0
  34. package/build/esm/blocks/Header/HeaderButtons/HeaderButtons.d.ts +7 -0
  35. package/build/esm/blocks/Header/HeaderButtons/HeaderButtons.js +16 -0
  36. package/build/esm/blocks/Header/HeaderDescription/HeaderDescription.d.ts +3 -0
  37. package/build/esm/blocks/Header/HeaderDescription/HeaderDescription.js +14 -0
  38. package/build/esm/blocks/MiniCase/MiniCase.d.ts +3 -0
  39. package/build/esm/blocks/MiniCase/MiniCase.js +14 -0
  40. package/build/esm/blocks/MiniCase/schema.d.ts +170 -0
  41. package/build/esm/blocks/MiniCase/schema.js +13 -0
  42. package/build/esm/blocks/SliderNew/SliderClient.js +2 -2
  43. package/build/esm/blocks/SliderNew/utils.js +2 -2
  44. package/build/esm/blocks/index.d.ts +1 -0
  45. package/build/esm/blocks/index.js +1 -0
  46. package/build/esm/constructor-items.d.ts +1 -0
  47. package/build/esm/constructor-items.js +2 -1
  48. package/build/esm/context/miniCaseContext/MiniCaseContext.d.ts +4 -0
  49. package/build/esm/context/miniCaseContext/MiniCaseContext.js +2 -0
  50. package/build/esm/context/miniCaseContext/index.d.ts +1 -0
  51. package/build/esm/context/miniCaseContext/index.js +1 -0
  52. package/build/esm/index.d.ts +1 -0
  53. package/build/esm/index.js +1 -0
  54. package/build/esm/models/constructor-items/blocks.d.ts +11 -3
  55. package/build/esm/models/constructor-items/blocks.js +1 -0
  56. package/build/esm/schema/constants.d.ts +2 -2
  57. package/build/esm/schema/constants.js +3 -2
  58. package/build/esm/schema/validators/blocks.d.ts +1 -0
  59. package/build/esm/schema/validators/blocks.js +1 -0
  60. package/build/esm/text-transform/config.js +1 -0
  61. package/package.json +1 -1
  62. package/schema/index.js +1 -1
  63. package/server/models/constructor-items/blocks.d.ts +11 -3
  64. package/server/models/constructor-items/blocks.js +1 -0
  65. package/server/text-transform/config.js +1 -0
  66. package/widget/290.index.js +1 -1
  67. package/widget/index.js +1 -1
@@ -105,14 +105,6 @@ unpredictable css rules order in build */
105
105
  line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
106
106
  color: var(--g-color-text-primary);
107
107
  }
108
- .pc-header-block__buttons {
109
- margin-top: 16px;
110
- }
111
- .pc-header-block__button.pc-header-block__button {
112
- margin-top: 16px;
113
- margin-right: 16px;
114
- }
115
-
116
108
  .pc-header-block__media {
117
109
  position: absolute;
118
110
  display: none;
@@ -6,7 +6,6 @@ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
7
  const components_1 = require("../../components");
8
8
  const utils_1 = require("../../components/Media/Image/utils");
9
- const YFMWrapper_1 = tslib_1.__importDefault(require("../../components/YFMWrapper/YFMWrapper"));
10
9
  const headerContext_1 = require("../../context/headerContext");
11
10
  const mobileContext_1 = require("../../context/mobileContext");
12
11
  const theme_1 = require("../../context/theme");
@@ -14,6 +13,8 @@ const grid_1 = require("../../grid");
14
13
  const utils_2 = require("../../utils");
15
14
  const BackButton_1 = tslib_1.__importDefault(require("./BackButton/BackButton"));
16
15
  const Breadcrumbs_1 = tslib_1.__importDefault(require("./Breadcrumbs/Breadcrumbs"));
16
+ const HeaderButtons_1 = tslib_1.__importDefault(require("./HeaderButtons/HeaderButtons"));
17
+ const HeaderDescription_1 = tslib_1.__importDefault(require("./HeaderDescription/HeaderDescription"));
17
18
  const HeaderStock_1 = tslib_1.__importDefault(require("./HeaderStock/HeaderStock"));
18
19
  const HeaderTag_1 = tslib_1.__importDefault(require("./HeaderTag/HeaderTag"));
19
20
  const HeaderTags_1 = tslib_1.__importDefault(require("./HeaderTags/HeaderTags"));
@@ -34,15 +35,12 @@ const HeaderBlock = (props) => {
34
35
  const { backButton, blockTag } = (0, react_1.useContext)(headerContext_1.HeaderContext);
35
36
  const theme = (0, theme_1.useTheme)();
36
37
  const hasRightSideImage = Boolean(image || video);
37
- const curImageSize = imageSize || (0, utils_3.getImageSize)(width);
38
- const titleSizes = hasRightSideImage ? (0, utils_3.titleWithImageSizes)(curImageSize) : (0, utils_3.getTitleSizes)(width);
39
- let curVerticalOffset = verticalOffset;
40
- if (hasRightSideImage && !verticalOffset) {
41
- curVerticalOffset = 'm';
42
- }
43
- const backgroundThemed = background && (0, utils_2.getThemedValue)(background, theme);
44
- const imageThemed = image && (0, utils_2.getThemedValue)(image, theme);
45
- const videoThemed = video && (0, utils_2.getThemedValue)(video, theme);
38
+ const curImageSize = (0, react_1.useMemo)(() => imageSize || (0, utils_3.getImageSize)(width), [imageSize, width]);
39
+ const titleSizes = (0, react_1.useMemo)(() => (hasRightSideImage ? (0, utils_3.titleWithImageSizes)(curImageSize) : (0, utils_3.getTitleSizes)(width)), [curImageSize, hasRightSideImage, width]);
40
+ const curVerticalOffset = (0, react_1.useMemo)(() => verticalOffset !== null && verticalOffset !== void 0 ? verticalOffset : (hasRightSideImage ? 'm' : verticalOffset), [hasRightSideImage, verticalOffset]);
41
+ const backgroundThemed = (0, react_1.useMemo)(() => background && (0, utils_2.getThemedValue)(background, theme), [background, theme]);
42
+ const imageThemed = (0, react_1.useMemo)(() => image && (0, utils_2.getThemedValue)(image, theme), [image, theme]);
43
+ const videoThemed = (0, react_1.useMemo)(() => video && (0, utils_2.getThemedValue)(video, theme), [theme, video]);
46
44
  const fullWidth = (backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.fullWidth) || (backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.fullWidthMedia);
47
45
  const titleId = (0, uikit_1.useUniqId)();
48
46
  return (react_1.default.createElement("header", { className: b({
@@ -75,13 +73,8 @@ const HeaderBlock = (props) => {
75
73
  react_1.default.createElement(HeaderTag_1.default, { tag: blockTag }),
76
74
  status,
77
75
  switchingTitle ? (react_1.default.createElement(SwitchingTtitle_1.default, Object.assign({}, switchingTitle))) : (react_1.default.createElement(react_1.default.Fragment, null, renderTitle ? (renderTitle(title)) : (react_1.default.createElement(components_1.HTML, null, title))))),
78
- description && (react_1.default.createElement("div", { className: b('description', { theme: textTheme }) },
79
- react_1.default.createElement(YFMWrapper_1.default, { content: description, modifiers: {
80
- constructor: true,
81
- constructorTheme: textTheme,
82
- } }))),
83
- buttons && (react_1.default.createElement("div", { className: b('buttons'), "data-qa": "header-buttons" }, buttons.map((button, index) => (react_1.default.createElement(components_1.RouterLink, { href: button.url, key: index },
84
- react_1.default.createElement(components_1.Button, Object.assign({ key: index, className: b('button'), size: "xl", extraProps: Object.assign({ 'aria-describedby': titleId }, button.extraProps) }, button))))))),
76
+ react_1.default.createElement(HeaderDescription_1.default, { className: b('description', { theme: textTheme }), description: description, theme: textTheme }),
77
+ react_1.default.createElement(HeaderButtons_1.default, { buttons: buttons, titleId: titleId }),
85
78
  children),
86
79
  stock && (react_1.default.createElement(HeaderStock_1.default, { type: stock, stockPrice: stockPrice, stockShares: stockShares, theme: textTheme }))),
87
80
  react_1.default.createElement(HeaderTags_1.default, { theme: textTheme, tags: bottomTags, className: b('tags', { bottom: true }), sizes: titleSizes }))),
@@ -0,0 +1,9 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-header-buttons {
4
+ margin-top: 16px;
5
+ }
6
+ .pc-header-buttons__button.pc-header-buttons__button {
7
+ margin-top: 16px;
8
+ margin-right: 16px;
9
+ }
@@ -0,0 +1,6 @@
1
+ import { HeaderBlockProps } from '../../../models';
2
+ type HeaderButtonsProps = Pick<HeaderBlockProps, 'buttons'> & {
3
+ titleId?: string;
4
+ };
5
+ export declare const HeaderButtons: ({ buttons, titleId }: HeaderButtonsProps) => JSX.Element | null;
6
+ export default HeaderButtons;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeaderButtons = 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 b = (0, utils_1.block)('header-buttons');
9
+ const HeaderButton = (props) => {
10
+ const extraProps = (0, react_1.useMemo)(() => (Object.assign({ 'aria-describedby': props.titleId }, props.extraProps)), [props.extraProps, props.titleId]);
11
+ return (react_1.default.createElement(components_1.RouterLink, { href: props.url },
12
+ react_1.default.createElement(components_1.Button, Object.assign({ className: b('button'), size: "xl", extraProps: extraProps }, props))));
13
+ };
14
+ const HeaderButtons = ({ buttons, titleId }) => {
15
+ if (!buttons)
16
+ return null;
17
+ return (react_1.default.createElement("div", { className: b(), "data-qa": "header-buttons" }, buttons.map((button, index) => (react_1.default.createElement(HeaderButton, Object.assign({ key: index }, button, { titleId: titleId }))))));
18
+ };
19
+ exports.HeaderButtons = HeaderButtons;
20
+ exports.default = exports.HeaderButtons;
@@ -0,0 +1,3 @@
1
+ import { ClassNameProps, HeaderBlockProps } from '../../../models';
2
+ export declare const HeaderDescription: (props: Pick<HeaderBlockProps, 'description' | 'theme'> & ClassNameProps) => JSX.Element | null;
3
+ export default HeaderDescription;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeaderDescription = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const YFMWrapper_1 = tslib_1.__importDefault(require("../../../components/YFMWrapper/YFMWrapper"));
7
+ const HeaderDescription = (props) => {
8
+ const { description, theme, className } = props;
9
+ const modifiers = (0, react_1.useMemo)(() => ({
10
+ constructor: true,
11
+ constructorTheme: theme,
12
+ }), [theme]);
13
+ if (!description)
14
+ return null;
15
+ return (react_1.default.createElement("div", { className: className },
16
+ react_1.default.createElement(YFMWrapper_1.default, { content: description, modifiers: modifiers })));
17
+ };
18
+ exports.HeaderDescription = HeaderDescription;
19
+ exports.default = exports.HeaderDescription;
@@ -0,0 +1,3 @@
1
+ import { MiniCaseBlockProps } from '../../models';
2
+ declare const MiniCaseBlock: (props: MiniCaseBlockProps) => JSX.Element;
3
+ export default MiniCaseBlock;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const miniCaseContext_1 = require("../../context/miniCaseContext");
6
+ const sub_blocks_1 = require("../../sub-blocks");
7
+ const Slider_1 = tslib_1.__importDefault(require("../SliderNew/Slider"));
8
+ const MiniCaseBlock = (props) => {
9
+ const { items } = props, sliderProps = tslib_1.__rest(props, ["items"]);
10
+ const data = (0, react_1.useContext)(miniCaseContext_1.MiniCaseContext);
11
+ const fullItems = (0, react_1.useMemo)(() => items
12
+ .map((item) => (data || {})[item])
13
+ .filter((el) => Boolean(el)), [data, items]);
14
+ return (react_1.default.createElement(Slider_1.default, Object.assign({}, sliderProps, { slidesToShow: 1 }), fullItems.map((args, index) => (react_1.default.createElement(sub_blocks_1.CaseStudyCard, Object.assign({ key: index }, args))))));
15
+ };
16
+ exports.default = MiniCaseBlock;
@@ -0,0 +1,170 @@
1
+ export declare const MiniCaseBlock: {
2
+ 'mini-case-block': {
3
+ additionalProperties: boolean;
4
+ required: string[];
5
+ properties: {
6
+ items: {
7
+ type: string;
8
+ items: {
9
+ type: string;
10
+ };
11
+ };
12
+ title: {
13
+ oneOf: ({
14
+ type: string;
15
+ optionName: string;
16
+ } | {
17
+ optionName: string;
18
+ type: string;
19
+ additionalProperties: boolean;
20
+ required: string[];
21
+ properties: {
22
+ text: {
23
+ type: string;
24
+ contentType: string;
25
+ };
26
+ link: {
27
+ type: string;
28
+ additionalProperties: boolean;
29
+ required: string[];
30
+ properties: {
31
+ text: {
32
+ type: string;
33
+ contentType: string;
34
+ };
35
+ url: {
36
+ type: string;
37
+ };
38
+ urlTitle: {
39
+ type: string;
40
+ };
41
+ arrow: {
42
+ type: string;
43
+ };
44
+ theme: {
45
+ type: string;
46
+ enum: string[];
47
+ };
48
+ textSize: {
49
+ type: string;
50
+ enum: string[];
51
+ };
52
+ target: {
53
+ type: string;
54
+ enum: string[];
55
+ };
56
+ analyticsEvents: {
57
+ oneOf: ({
58
+ optionName: string;
59
+ type: string;
60
+ additionalProperties: {
61
+ type: string;
62
+ };
63
+ required: string[];
64
+ properties: {
65
+ name: {
66
+ type: string;
67
+ };
68
+ type: {
69
+ type: string;
70
+ };
71
+ counters: {
72
+ type: string;
73
+ additionalProperties: boolean;
74
+ required: never[];
75
+ properties: {
76
+ include: {
77
+ type: string;
78
+ items: {
79
+ type: string;
80
+ };
81
+ };
82
+ exclude: {
83
+ type: string;
84
+ items: {
85
+ type: string;
86
+ };
87
+ };
88
+ };
89
+ };
90
+ context: {
91
+ type: string;
92
+ };
93
+ };
94
+ items?: undefined;
95
+ } | {
96
+ type: string;
97
+ items: {
98
+ type: string;
99
+ additionalProperties: {
100
+ type: string;
101
+ };
102
+ required: string[];
103
+ properties: {
104
+ name: {
105
+ type: string;
106
+ };
107
+ type: {
108
+ type: string;
109
+ };
110
+ counters: {
111
+ type: string;
112
+ additionalProperties: boolean;
113
+ required: never[];
114
+ properties: {
115
+ include: {
116
+ type: string;
117
+ items: {
118
+ type: string;
119
+ };
120
+ };
121
+ exclude: {
122
+ type: string;
123
+ items: {
124
+ type: string;
125
+ };
126
+ };
127
+ };
128
+ };
129
+ context: {
130
+ type: string;
131
+ };
132
+ };
133
+ };
134
+ optionName: string;
135
+ })[];
136
+ };
137
+ type: {};
138
+ when: {
139
+ type: string;
140
+ };
141
+ };
142
+ };
143
+ textSize: {
144
+ type: string;
145
+ enum: string[];
146
+ };
147
+ url: {
148
+ type: string;
149
+ };
150
+ urlTitle: {
151
+ type: string;
152
+ };
153
+ resetMargin: {
154
+ type: string;
155
+ };
156
+ };
157
+ })[];
158
+ };
159
+ description: {
160
+ type: string;
161
+ contentType: string;
162
+ inputType: string;
163
+ };
164
+ type: {};
165
+ when: {
166
+ type: string;
167
+ };
168
+ };
169
+ };
170
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiniCaseBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ exports.MiniCaseBlock = {
6
+ 'mini-case-block': {
7
+ additionalProperties: false,
8
+ required: ['items'],
9
+ properties: Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.BlockHeaderProps), { items: {
10
+ type: 'array',
11
+ items: {
12
+ type: 'string',
13
+ },
14
+ } }),
15
+ },
16
+ };
@@ -43,7 +43,7 @@ const SliderClient = ({ animated, title, description, type, anchorId, arrows = t
43
43
  }, blockClassName) },
44
44
  anchorId && React.createElement(Anchor_1.default, { id: anchorId }),
45
45
  React.createElement(Title_1.default, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }),
46
- React.createElement(AnimateBlock_1.default, { className: b('animate-slides'), animate: animated },
46
+ React.createElement(AnimateBlock_1.default, { className: b('animate-slides'), animate: animated }, React.Children.count(children) === 1 ? (React.createElement("div", { className: b('slider', className) }, children)) : (React.createElement(React.Fragment, null,
47
47
  React.createElement(react_1.Swiper, Object.assign({ modules: [modules_1.Autoplay, modules_1.A11y, modules_1.Pagination], className: b('slider', className), onSwiper: onSwiper, speed: 700, autoplay: autoplay, loop: infinite, autoHeight: adaptive, initialSlide: initialSlide, noSwiping: false, slidesOffsetBefore: 24, slidesOffsetAfter: 24, breakpoints: breakpoints, onSlideChange: onSlideChange, onSlideChangeTransitionStart: onSlideChangeTransitionStart, onSlideChangeTransitionEnd: onSlideChangeTransitionEnd, onActiveIndexChange: onActiveIndexChange, onBreakpoint: onBreakpoint, onLock: () => setIsLocked(true), onUnlock: () => setIsLocked(false), onInit: handleSwiperInit, watchSlidesProgress: true, watchOverflow: true, a11y: {
48
48
  slideLabelMessage: '',
49
49
  paginationBulletMessage: (0, i18n_1.i18n)('dot-label', { index: '{{index}}' }),
@@ -51,7 +51,7 @@ const SliderClient = ({ animated, title, description, type, anchorId, arrows = t
51
51
  arrows && !isLocked && (React.createElement("div", { "aria-hidden": isA11yControlHidden },
52
52
  React.createElement(Arrow_1.default, { className: b('arrow', { prev: true }), type: "left", transparent: type === models_1.SliderType.HeaderCard, onClick: onPrev, size: arrowSize, extraProps: { tabIndex: controlTabIndex } }),
53
53
  React.createElement(Arrow_1.default, { className: b('arrow', { next: true }), type: "right", transparent: type === models_1.SliderType.HeaderCard, onClick: onNext, size: arrowSize, extraProps: { tabIndex: controlTabIndex } }))),
54
- React.createElement("div", { className: b('footer') }, disclaimer ? (React.createElement("div", { className: b('disclaimer', { size: (disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.size) || 'm' }) }, disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.text)) : null))));
54
+ React.createElement("div", { className: b('footer') }, disclaimer ? (React.createElement("div", { className: b('disclaimer', { size: (disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.size) || 'm' }) }, disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.text)) : null))))));
55
55
  };
56
56
  exports.SliderClient = SliderClient;
57
57
  exports.default = exports.SliderClient;
@@ -27,8 +27,8 @@ function getSliderResponsiveParams({ contentLength, slidesToShow, mobileFullscre
27
27
  // eslint-disable-next-line no-param-reassign
28
28
  res[key] = {
29
29
  slidesPerView: value,
30
- slidesOffsetBefore: key > constants_1.BREAKPOINTS.md ? 0 : 24,
31
- slidesOffsetAfter: key > constants_1.BREAKPOINTS.md ? 0 : 24,
30
+ slidesOffsetBefore: key > constants_1.BREAKPOINTS.sm ? 0 : 24,
31
+ slidesOffsetAfter: key > constants_1.BREAKPOINTS.sm ? 0 : 24,
32
32
  };
33
33
  return res;
34
34
  }, {});
@@ -37,3 +37,4 @@ export { default as RelevantReportsCardsBlock } from './RelevantReportsCards/Rel
37
37
  export { default as RelevantReportsBlock } from './RelevantReports/RelevantReports';
38
38
  export { default as PressReleasesBlock } from './PressReleases/PressReleases';
39
39
  export { default as HighlightTableBlock } from './HighlightTable/HighlightTable';
40
+ export { default as MiniCaseBlock } from './MiniCase/MiniCase';
@@ -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.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.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
6
+ 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.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = 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");
@@ -82,3 +82,5 @@ var PressReleases_1 = require("./PressReleases/PressReleases");
82
82
  Object.defineProperty(exports, "PressReleasesBlock", { enumerable: true, get: function () { return __importDefault(PressReleases_1).default; } });
83
83
  var HighlightTable_1 = require("./HighlightTable/HighlightTable");
84
84
  Object.defineProperty(exports, "HighlightTableBlock", { enumerable: true, get: function () { return __importDefault(HighlightTable_1).default; } });
85
+ var MiniCase_1 = require("./MiniCase/MiniCase");
86
+ Object.defineProperty(exports, "MiniCaseBlock", { enumerable: true, get: function () { return __importDefault(MiniCase_1).default; } });
@@ -30,6 +30,7 @@ export declare const blockMap: {
30
30
  "relevant-reports-block": ({ typeKey, link, title, description, slider, date, dateStart, dateEnd, }: import("./models").RelevantReportsBlockProps) => JSX.Element;
31
31
  "press-releases-block": ({ title }: import("./models").PressReleasesBlockProps) => JSX.Element;
32
32
  "highlight-table-block": ({ title, description, table, legend, contentSize, legendPosition, legendAlign, }: import("./models").HighlightTableBlockProps) => JSX.Element;
33
+ "mini-case-block": (props: import("./models").MiniCaseBlockProps) => JSX.Element;
33
34
  "link-table-block": ({ title, items }: import("./models").LinkTableBlockProps) => JSX.Element;
34
35
  "services-block": ({ title, serviceLinkType }: import("./models").ServicesBlockProps) => JSX.Element;
35
36
  "quotes-block": ({ theme: localTheme, items, background, backgroundColor, }: import("./models").QuotesBlockProps) => JSX.Element;
@@ -39,6 +39,7 @@ exports.blockMap = {
39
39
  [models_1.BlockType.RelevantReportsBlock]: blocks_1.RelevantReportsBlock,
40
40
  [models_1.BlockType.PressReleasesBlock]: blocks_1.PressReleasesBlock,
41
41
  [models_1.BlockType.HighlightTableBlock]: blocks_1.HighlightTableBlock,
42
+ [models_1.BlockType.MiniCaseBlock]: blocks_1.MiniCaseBlock,
42
43
  [models_1.BlockType.LinkTableBlock]: blocks_1.LinkTableBlock,
43
44
  [models_1.BlockType.ServicesBlock]: blocks_1.ServicesBlock,
44
45
  [models_1.BlockType.QuotesBlock]: blocks_1.QuotesBlock,
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { CaseStudyCardProps } from '../../models';
3
+ export type MiniCaseContextProps = Record<string, CaseStudyCardProps>;
4
+ export declare const MiniCaseContext: React.Context<MiniCaseContextProps>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiniCaseContext = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ exports.MiniCaseContext = react_1.default.createContext({});
@@ -0,0 +1 @@
1
+ export * from './MiniCaseContext';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./MiniCaseContext"), exports);
@@ -14,6 +14,7 @@ export * from './context/headerStockContext';
14
14
  export * from './context/reportsContext';
15
15
  export * from './context/reportsCardsContext';
16
16
  export * from './context/reportsSectionsContext';
17
+ export * from './context/miniCaseContext';
17
18
  export * from './containers/PageConstructor';
18
19
  export * from './grid';
19
20
  export * from './blocks';
@@ -19,6 +19,7 @@ tslib_1.__exportStar(require("./context/headerStockContext"), exports);
19
19
  tslib_1.__exportStar(require("./context/reportsContext"), exports);
20
20
  tslib_1.__exportStar(require("./context/reportsCardsContext"), exports);
21
21
  tslib_1.__exportStar(require("./context/reportsSectionsContext"), exports);
22
+ tslib_1.__exportStar(require("./context/miniCaseContext"), exports);
22
23
  tslib_1.__exportStar(require("./containers/PageConstructor"), exports);
23
24
  tslib_1.__exportStar(require("./grid"), exports);
24
25
  tslib_1.__exportStar(require("./blocks"), exports);
@@ -44,7 +44,8 @@ export declare enum BlockType {
44
44
  RelevantReportsBlock = "relevant-reports-block",
45
45
  PressReleasesBlock = "press-releases-block",
46
46
  SliderNewBlock = "slider-new-block",
47
- HighlightTableBlock = "highlight-table-block"
47
+ HighlightTableBlock = "highlight-table-block",
48
+ MiniCaseBlock = "mini-case-block"
48
49
  }
49
50
  export declare const BlockTypes: BlockType[];
50
51
  export declare const HeaderBlockTypes: BlockType[];
@@ -169,6 +170,7 @@ export interface SwitchingTitleProps {
169
170
  text: string;
170
171
  switchingTime?: number;
171
172
  }
173
+ export type HeaderButtonType = Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>;
172
174
  export interface HeaderBlockProps {
173
175
  title: string;
174
176
  switchingTitle?: SwitchingTitleProps;
@@ -176,7 +178,7 @@ export interface HeaderBlockProps {
176
178
  bottomTags?: HeaderTag[];
177
179
  overtitle?: string;
178
180
  description?: string;
179
- buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];
181
+ buttons?: HeaderButtonType[];
180
182
  stock?: HeaderStockType;
181
183
  stockPrice?: Pick<HeaderStockPriceProps, 'name' | 'delayed'>;
182
184
  stockShares?: HeaderStockSharesProps;
@@ -326,6 +328,9 @@ export interface HighlightTableBlockProps {
326
328
  legendAlign?: 'left' | 'center' | 'right';
327
329
  contentSize?: ContentSize;
328
330
  }
331
+ export interface MiniCaseBlockProps extends Pick<SliderProps, 'title' | 'description'> {
332
+ items: string[];
333
+ }
329
334
  export interface TabsBlockItem extends Omit<ContentBlockProps, 'size' | 'colSizes' | 'centered' | 'theme'>, WithBorder {
330
335
  tabName: string;
331
336
  /**
@@ -614,6 +619,9 @@ export type TableBlockModel = {
614
619
  export type HighlightTableBlockModel = {
615
620
  type: BlockType.HighlightTableBlock;
616
621
  } & HighlightTableBlockProps;
622
+ export type MiniCaseBlockModel = {
623
+ type: BlockType.MiniCaseBlock;
624
+ } & MiniCaseBlockProps;
617
625
  export type TabsBlockModel = {
618
626
  type: BlockType.TabsBlock;
619
627
  } & TabsBlockProps;
@@ -695,6 +703,6 @@ export type FormWallBlockModel = {
695
703
  export type SliderNewBlockModel = {
696
704
  type: BlockType.SliderNewBlock;
697
705
  } & SliderNewProps;
698
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
706
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
699
707
  export type Block = BlockModels & BlockBaseProps;
700
708
  export {};
@@ -42,6 +42,7 @@ var BlockType;
42
42
  BlockType["PressReleasesBlock"] = "press-releases-block";
43
43
  BlockType["SliderNewBlock"] = "slider-new-block";
44
44
  BlockType["HighlightTableBlock"] = "highlight-table-block";
45
+ BlockType["MiniCaseBlock"] = "mini-case-block";
45
46
  })(BlockType = exports.BlockType || (exports.BlockType = {}));
46
47
  exports.BlockTypes = Object.values(BlockType);
47
48
  exports.HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
@@ -3303,7 +3303,7 @@ export declare const cardSchemas: {
3303
3303
  type: string;
3304
3304
  };
3305
3305
  video: {
3306
- type: string; /** @deprecated */
3306
+ type: string;
3307
3307
  additionalProperties: boolean;
3308
3308
  required: string[];
3309
3309
  properties: {
@@ -3350,7 +3350,7 @@ export declare const cardSchemas: {
3350
3350
  additionalProperties: boolean;
3351
3351
  properties: {
3352
3352
  type: {
3353
- type: string; /** @deprecated */
3353
+ type: string;
3354
3354
  enum: string[];
3355
3355
  };
3356
3356
  theme: {
@@ -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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), 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.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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.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.ShareBlock), blocks_1.FilterBlock), 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.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({}, 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);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -51,6 +51,7 @@ exports.constructorBlockSchemaNames = [
51
51
  'relevant-posts-block',
52
52
  'relevant-reports-cards-block',
53
53
  'relevant-reports-block',
54
+ 'mini-case-block',
54
55
  ];
55
56
  exports.constructorCardSchemaNames = [
56
57
  'media-card',
@@ -37,3 +37,4 @@ export * from '../../blocks/RelevantReports/schema';
37
37
  export * from '../../blocks/FormWallBlock/schema';
38
38
  export * from '../../blocks/PressReleases/schema';
39
39
  export * from '../../blocks/HighlightTable/schema';
40
+ export * from '../../blocks/MiniCase/schema';
@@ -40,3 +40,4 @@ tslib_1.__exportStar(require("../../blocks/RelevantReports/schema"), exports);
40
40
  tslib_1.__exportStar(require("../../blocks/FormWallBlock/schema"), exports);
41
41
  tslib_1.__exportStar(require("../../blocks/PressReleases/schema"), exports);
42
42
  tslib_1.__exportStar(require("../../blocks/HighlightTable/schema"), exports);
43
+ tslib_1.__exportStar(require("../../blocks/MiniCase/schema"), exports);
@@ -438,4 +438,5 @@ exports.config = {
438
438
  transformer: common_1.yfmTransformer,
439
439
  },
440
440
  ],
441
+ [models_1.BlockType.MiniCaseBlock]: exports.blockHeaderTransformer,
441
442
  };
@@ -105,14 +105,6 @@ unpredictable css rules order in build */
105
105
  line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
106
106
  color: var(--g-color-text-primary);
107
107
  }
108
- .pc-header-block__buttons {
109
- margin-top: 16px;
110
- }
111
- .pc-header-block__button.pc-header-block__button {
112
- margin-top: 16px;
113
- margin-right: 16px;
114
- }
115
-
116
108
  .pc-header-block__media {
117
109
  position: absolute;
118
110
  display: none;