@doyourjob/gravity-ui-page-constructor 5.31.34 → 5.31.35-a
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/Header/Header.js +3 -3
- package/build/cjs/blocks/Header/HeaderStock/HeaderStock.d.ts +8 -0
- package/build/cjs/blocks/Header/HeaderStock/HeaderStock.js +22 -0
- package/build/{esm/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.css → cjs/blocks/Header/HeaderStockPrice/HeaderStockPrice.css} +16 -16
- package/build/cjs/blocks/Header/HeaderStockPrice/HeaderStockPrice.d.ts +7 -0
- package/build/cjs/blocks/Header/{HeaderWidgetPrice/HeaderWidgetPrice.js → HeaderStockPrice/HeaderStockPrice.js} +5 -5
- package/build/cjs/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.css → HeaderStockShares/HeaderStockShares.css} +29 -29
- package/build/cjs/blocks/Header/HeaderStockShares/HeaderStockShares.d.ts +7 -0
- package/build/cjs/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.js → HeaderStockShares/HeaderStockShares.js} +5 -5
- package/build/cjs/blocks/Header/schema.d.ts +2 -2
- package/build/cjs/blocks/Header/schema.js +1 -1
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +1 -1
- package/build/cjs/context/headerStockContext/HeaderStockContext.d.ts +7 -0
- package/build/cjs/context/{headerWidgetContext/HeaderWidgetContext.js → headerStockContext/HeaderStockContext.js} +2 -2
- package/build/cjs/context/headerStockContext/index.d.ts +1 -0
- package/build/cjs/context/{headerWidgetContext → headerStockContext}/index.js +1 -1
- package/build/cjs/index.d.ts +1 -1
- package/build/cjs/index.js +1 -1
- package/build/cjs/models/constructor-items/blocks.d.ts +4 -4
- package/build/cjs/models/constructor-items/blocks.js +6 -6
- package/build/esm/blocks/Header/Header.js +3 -3
- package/build/esm/blocks/Header/HeaderStock/HeaderStock.d.ts +8 -0
- package/build/esm/blocks/Header/HeaderStock/HeaderStock.js +17 -0
- package/build/{cjs/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.css → esm/blocks/Header/HeaderStockPrice/HeaderStockPrice.css} +16 -16
- package/build/esm/blocks/Header/HeaderStockPrice/HeaderStockPrice.d.ts +8 -0
- package/build/esm/blocks/Header/{HeaderWidgetPrice/HeaderWidgetPrice.js → HeaderStockPrice/HeaderStockPrice.js} +4 -4
- package/build/esm/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.css → HeaderStockShares/HeaderStockShares.css} +29 -29
- package/build/esm/blocks/Header/HeaderStockShares/HeaderStockShares.d.ts +8 -0
- package/build/esm/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.js → HeaderStockShares/HeaderStockShares.js} +4 -4
- package/build/esm/blocks/Header/schema.d.ts +2 -2
- package/build/esm/blocks/Header/schema.js +1 -1
- package/build/esm/blocks/HeaderSlider/schema.d.ts +1 -1
- package/build/esm/context/headerStockContext/HeaderStockContext.d.ts +7 -0
- package/build/esm/context/headerStockContext/HeaderStockContext.js +2 -0
- package/build/esm/context/headerStockContext/index.d.ts +1 -0
- package/build/esm/context/headerStockContext/index.js +1 -0
- package/build/esm/index.d.ts +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/models/constructor-items/blocks.d.ts +4 -4
- package/build/esm/models/constructor-items/blocks.js +5 -5
- package/package.json +1 -1
- package/schema/index.js +1 -1
- package/server/models/constructor-items/blocks.d.ts +4 -4
- package/server/models/constructor-items/blocks.js +6 -6
- package/widget/index.js +1 -1
- package/build/cjs/blocks/Header/HeaderWidget/HeaderWidget.d.ts +0 -8
- package/build/cjs/blocks/Header/HeaderWidget/HeaderWidget.js +0 -21
- package/build/cjs/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.d.ts +0 -7
- package/build/cjs/blocks/Header/HeaderWidgetShares/HeaderWidgetShares.d.ts +0 -7
- package/build/cjs/context/headerWidgetContext/HeaderWidgetContext.d.ts +0 -7
- package/build/cjs/context/headerWidgetContext/index.d.ts +0 -1
- package/build/esm/blocks/Header/HeaderWidget/HeaderWidget.d.ts +0 -8
- package/build/esm/blocks/Header/HeaderWidget/HeaderWidget.js +0 -16
- package/build/esm/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.d.ts +0 -8
- package/build/esm/blocks/Header/HeaderWidgetShares/HeaderWidgetShares.d.ts +0 -8
- package/build/esm/context/headerWidgetContext/HeaderWidgetContext.d.ts +0 -7
- package/build/esm/context/headerWidgetContext/HeaderWidgetContext.js +0 -2
- package/build/esm/context/headerWidgetContext/index.d.ts +0 -1
- package/build/esm/context/headerWidgetContext/index.js +0 -1
|
@@ -14,9 +14,9 @@ const grid_1 = require("../../grid");
|
|
|
14
14
|
const utils_2 = require("../../utils");
|
|
15
15
|
const BackButton_1 = tslib_1.__importDefault(require("./BackButton/BackButton"));
|
|
16
16
|
const Breadcrumbs_1 = tslib_1.__importDefault(require("./Breadcrumbs/Breadcrumbs"));
|
|
17
|
+
const HeaderStock_1 = tslib_1.__importDefault(require("./HeaderStock/HeaderStock"));
|
|
17
18
|
const HeaderTag_1 = tslib_1.__importDefault(require("./HeaderTag/HeaderTag"));
|
|
18
19
|
const HeaderTags_1 = tslib_1.__importDefault(require("./HeaderTags/HeaderTags"));
|
|
19
|
-
const HeaderWidget_1 = tslib_1.__importDefault(require("./HeaderWidget/HeaderWidget"));
|
|
20
20
|
const utils_3 = require("./utils");
|
|
21
21
|
const b = (0, utils_2.block)('header-block');
|
|
22
22
|
const Background = ({ background, isMobile }) => {
|
|
@@ -28,7 +28,7 @@ const Background = ({ background, isMobile }) => {
|
|
|
28
28
|
const FullWidthBackground = ({ background }) => (react_1.default.createElement("div", { className: b('background', { ['full-width']: true }), style: { backgroundColor: background === null || background === void 0 ? void 0 : background.color } }));
|
|
29
29
|
// eslint-disable-next-line complexity
|
|
30
30
|
const HeaderBlock = (props) => {
|
|
31
|
-
const { title, topTags, bottomTags, overtitle, description, buttons,
|
|
31
|
+
const { title, topTags, bottomTags, overtitle, description, buttons, stock, image, video, width = 's', imageSize, offset = 'default', background, theme: textTheme = 'light', verticalOffset = 'm', className, breadcrumbs, status, renderTitle, children, mediaView = 'full', } = props;
|
|
32
32
|
const isMobile = (0, react_1.useContext)(mobileContext_1.MobileContext);
|
|
33
33
|
const { backButton, blockTag } = (0, react_1.useContext)(headerContext_1.HeaderContext);
|
|
34
34
|
const theme = (0, theme_1.useTheme)();
|
|
@@ -80,7 +80,7 @@ const HeaderBlock = (props) => {
|
|
|
80
80
|
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 },
|
|
81
81
|
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))))))),
|
|
82
82
|
children),
|
|
83
|
-
|
|
83
|
+
stock && react_1.default.createElement(HeaderStock_1.default, { type: stock, theme: textTheme })),
|
|
84
84
|
react_1.default.createElement(HeaderTags_1.default, { theme: textTheme, tags: bottomTags, className: b('tags', { bottom: true }), sizes: titleSizes }))),
|
|
85
85
|
hasRightSideImage && (react_1.default.createElement(components_1.Media, { className: b('media', { [curImageSize]: true }), videoClassName: b('video'), imageClassName: b('image'), video: videoThemed, image: imageThemed })))))));
|
|
86
86
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Theme } from '@gravity-ui/uikit';
|
|
2
|
+
import { HeaderStockType } from '../../../models';
|
|
3
|
+
type HeaderStockProps = {
|
|
4
|
+
type: HeaderStockType;
|
|
5
|
+
theme: Theme;
|
|
6
|
+
};
|
|
7
|
+
export declare const HeaderStock: ({ type, theme }: HeaderStockProps) => JSX.Element | null;
|
|
8
|
+
export default HeaderStock;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeaderStock = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const headerStockContext_1 = require("../../../context/headerStockContext");
|
|
7
|
+
const models_1 = require("../../../models");
|
|
8
|
+
const HeaderStockPrice_1 = tslib_1.__importDefault(require("../HeaderStockPrice/HeaderStockPrice"));
|
|
9
|
+
const HeaderStockShares_1 = tslib_1.__importDefault(require("../HeaderStockShares/HeaderStockShares"));
|
|
10
|
+
const HeaderStock = ({ type, theme }) => {
|
|
11
|
+
const { price, shares } = (0, react_1.useContext)(headerStockContext_1.HeaderStockContext);
|
|
12
|
+
switch (type) {
|
|
13
|
+
case models_1.HeaderStockType.Price:
|
|
14
|
+
return price ? react_1.default.createElement(HeaderStockPrice_1.default, Object.assign({}, price, { theme: theme })) : null;
|
|
15
|
+
case models_1.HeaderStockType.Shares:
|
|
16
|
+
return shares ? react_1.default.createElement(HeaderStockShares_1.default, Object.assign({}, shares, { theme: theme })) : null;
|
|
17
|
+
default:
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.HeaderStock = HeaderStock;
|
|
22
|
+
exports.default = exports.HeaderStock;
|
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
.pc-header-
|
|
1
|
+
.pc-header-stock-price__price {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
/* use this for style redefinitions to awoid problems with
|
|
6
6
|
unpredictable css rules order in build */
|
|
7
|
-
.pc-header-
|
|
7
|
+
.pc-header-stock-price {
|
|
8
8
|
border-radius: 24px;
|
|
9
9
|
padding: 32px;
|
|
10
10
|
max-width: 350px;
|
|
11
11
|
width: 100%;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
@media (max-width: 769px) {
|
|
14
|
+
.pc-header-stock-price {
|
|
15
|
+
max-width: 100%;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
.pc-header-stock-price_theme_light.pc-header-stock-price_theme_light {
|
|
14
19
|
background-color: var(--g-color-text-dark-primary);
|
|
15
20
|
color: var(--g-color-text-light-primary);
|
|
16
21
|
}
|
|
17
22
|
|
|
18
|
-
.pc-header-
|
|
23
|
+
.pc-header-stock-price_theme_light .pc-header-stock-price__price {
|
|
19
24
|
color: var(--g-color-text-light-primary);
|
|
20
25
|
}
|
|
21
|
-
.pc-header-
|
|
26
|
+
.pc-header-stock-price_theme_dark.pc-header-stock-price_theme_dark {
|
|
22
27
|
background-color: var(--g-color-text-light-primary);
|
|
23
28
|
color: var(--g-color-text-dark-primary);
|
|
24
29
|
}
|
|
25
30
|
|
|
26
|
-
.pc-header-
|
|
31
|
+
.pc-header-stock-price_theme_dark .pc-header-stock-price__price {
|
|
27
32
|
color: var(--g-color-text-dark-primary);
|
|
28
33
|
}
|
|
29
|
-
.pc-header-
|
|
34
|
+
.pc-header-stock-price__name, .pc-header-stock-price__percent {
|
|
30
35
|
font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
|
|
31
36
|
line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
|
|
32
37
|
}
|
|
33
|
-
.pc-header-
|
|
38
|
+
.pc-header-stock-price__price {
|
|
34
39
|
font-size: var(--g-text-display-4-font-size, var(--pc-text-display-4-font-size));
|
|
35
40
|
line-height: var(--g-text-display-4-line-height, var(--pc-text-display-4-line-height));
|
|
36
41
|
color: var(--pc-text-header-color);
|
|
@@ -39,21 +44,16 @@ unpredictable css rules order in build */
|
|
|
39
44
|
margin-bottom: 16px;
|
|
40
45
|
}
|
|
41
46
|
@media (max-width: 577px) {
|
|
42
|
-
.pc-header-
|
|
47
|
+
.pc-header-stock-price__price {
|
|
43
48
|
font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
|
|
44
49
|
line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
|
-
.pc-header-
|
|
52
|
+
.pc-header-stock-price__update, .pc-header-stock-price__delayed {
|
|
48
53
|
font-size: var(--g-text-body-4-font-size, var(--pc-text-body-4-font-size));
|
|
49
54
|
line-height: var(--g-text-body-4-line-height, var(--pc-text-body-4-line-height));
|
|
50
55
|
opacity: 50%;
|
|
51
56
|
}
|
|
52
|
-
.pc-header-
|
|
57
|
+
.pc-header-stock-price__update {
|
|
53
58
|
margin-bottom: 8px;
|
|
54
|
-
}
|
|
55
|
-
@media (max-width: 769px) {
|
|
56
|
-
.pc-header-widget-price {
|
|
57
|
-
max-width: 100%;
|
|
58
|
-
}
|
|
59
59
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Theme } from '@gravity-ui/uikit';
|
|
2
|
+
import { HeaderStockPriceProps } from '../../../models';
|
|
3
|
+
type Props = HeaderStockPriceProps & {
|
|
4
|
+
theme: Theme;
|
|
5
|
+
};
|
|
6
|
+
export declare const HeaderStockPrice: ({ name, percent, price, update, delayed, theme }: Props) => JSX.Element;
|
|
7
|
+
export default HeaderStockPrice;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.HeaderStockPrice = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const theme_1 = require("../../../context/theme");
|
|
7
7
|
const utils_1 = require("../../../utils");
|
|
8
|
-
const b = (0, utils_1.block)('header-
|
|
9
|
-
const
|
|
8
|
+
const b = (0, utils_1.block)('header-stock-price');
|
|
9
|
+
const HeaderStockPrice = ({ name, percent, price, update, delayed, theme }) => {
|
|
10
10
|
const globalTheme = (0, theme_1.useTheme)();
|
|
11
11
|
return (react_1.default.createElement("div", { className: b({ theme: theme || globalTheme }) },
|
|
12
12
|
react_1.default.createElement("div", { className: b('name') }, name),
|
|
@@ -15,5 +15,5 @@ const HeaderWidgetPrice = ({ name, percent, price, update, delayed, theme }) =>
|
|
|
15
15
|
react_1.default.createElement("div", { className: b('update') }, update),
|
|
16
16
|
react_1.default.createElement("div", { className: b('delayed') }, delayed)));
|
|
17
17
|
};
|
|
18
|
-
exports.
|
|
19
|
-
exports.default = exports.
|
|
18
|
+
exports.HeaderStockPrice = HeaderStockPrice;
|
|
19
|
+
exports.default = exports.HeaderStockPrice;
|
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
.pc-header-
|
|
1
|
+
.pc-header-stock-shares__item-total, .pc-header-stock-shares__total {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
/* use this for style redefinitions to awoid problems with
|
|
6
6
|
unpredictable css rules order in build */
|
|
7
|
-
.pc-header-
|
|
7
|
+
.pc-header-stock-shares {
|
|
8
8
|
border-radius: 24px;
|
|
9
9
|
padding: 32px;
|
|
10
10
|
max-width: 505px;
|
|
11
11
|
width: 100%;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
@media (max-width: 1081px) {
|
|
14
|
+
.pc-header-stock-shares {
|
|
15
|
+
max-width: 350px;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
@media (max-width: 769px) {
|
|
19
|
+
.pc-header-stock-shares {
|
|
20
|
+
max-width: 100%;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
.pc-header-stock-shares_theme_light.pc-header-stock-shares_theme_light {
|
|
14
24
|
background-color: var(--g-color-text-dark-primary);
|
|
15
25
|
color: var(--g-color-text-light-primary);
|
|
16
26
|
}
|
|
17
27
|
|
|
18
|
-
.pc-header-
|
|
19
|
-
.pc-header-
|
|
28
|
+
.pc-header-stock-shares_theme_light .pc-header-stock-shares__total,
|
|
29
|
+
.pc-header-stock-shares_theme_light .pc-header-stock-shares__item-total {
|
|
20
30
|
color: var(--g-color-text-light-primary);
|
|
21
31
|
}
|
|
22
|
-
.pc-header-
|
|
32
|
+
.pc-header-stock-shares_theme_dark.pc-header-stock-shares_theme_dark {
|
|
23
33
|
background-color: var(--g-color-text-light-primary);
|
|
24
34
|
color: var(--g-color-text-dark-primary);
|
|
25
35
|
}
|
|
26
36
|
|
|
27
|
-
.pc-header-
|
|
28
|
-
.pc-header-
|
|
37
|
+
.pc-header-stock-shares_theme_dark .pc-header-stock-shares__total,
|
|
38
|
+
.pc-header-stock-shares_theme_dark .pc-header-stock-shares__item-total {
|
|
29
39
|
color: var(--g-color-text-dark-primary);
|
|
30
40
|
}
|
|
31
|
-
.pc-header-
|
|
41
|
+
.pc-header-stock-shares__date {
|
|
32
42
|
font-size: var(--g-text-body-4-font-size, var(--pc-text-body-4-font-size));
|
|
33
43
|
line-height: var(--g-text-body-4-line-height, var(--pc-text-body-4-line-height));
|
|
34
44
|
margin-bottom: 16px;
|
|
35
45
|
}
|
|
36
|
-
.pc-header-
|
|
46
|
+
.pc-header-stock-shares__total {
|
|
37
47
|
font-size: var(--g-text-display-4-font-size, var(--pc-text-display-4-font-size));
|
|
38
48
|
line-height: var(--g-text-display-4-line-height, var(--pc-text-display-4-line-height));
|
|
39
49
|
color: var(--pc-text-header-color);
|
|
40
50
|
font-weight: var(--g-text-accent-font-weight);
|
|
41
51
|
}
|
|
42
52
|
@media (max-width: 577px) {
|
|
43
|
-
.pc-header-
|
|
53
|
+
.pc-header-stock-shares__total {
|
|
44
54
|
font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
|
|
45
55
|
line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
|
|
46
56
|
}
|
|
47
57
|
}
|
|
48
|
-
.pc-header-
|
|
58
|
+
.pc-header-stock-shares__text {
|
|
49
59
|
font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
|
|
50
60
|
line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
|
|
51
61
|
}
|
|
52
|
-
.pc-header-
|
|
62
|
+
.pc-header-stock-shares__included {
|
|
53
63
|
margin-top: 16px;
|
|
54
64
|
margin-bottom: 16px;
|
|
55
65
|
padding: 24px;
|
|
56
66
|
border-radius: 16px;
|
|
57
67
|
background-color: var(--g-color-private-blue-100);
|
|
58
68
|
}
|
|
59
|
-
.pc-header-
|
|
69
|
+
.pc-header-stock-shares__label {
|
|
60
70
|
font-size: var(--g-text-body-4-font-size, var(--pc-text-body-4-font-size));
|
|
61
71
|
line-height: var(--g-text-body-4-line-height, var(--pc-text-body-4-line-height));
|
|
62
72
|
margin-bottom: 8px;
|
|
63
73
|
}
|
|
64
|
-
.pc-header-
|
|
74
|
+
.pc-header-stock-shares__items {
|
|
65
75
|
display: flex;
|
|
66
76
|
flex-wrap: wrap;
|
|
67
77
|
gap: 16px;
|
|
68
78
|
}
|
|
69
|
-
.pc-header-
|
|
79
|
+
.pc-header-stock-shares__item {
|
|
70
80
|
flex: 1;
|
|
71
81
|
min-width: 150px;
|
|
72
82
|
}
|
|
73
|
-
.pc-header-
|
|
83
|
+
.pc-header-stock-shares__item-total {
|
|
74
84
|
font-size: var(--g-text-header-1-font-size, var(--pc-text-header-1-font-size));
|
|
75
85
|
line-height: var(--g-text-header-1-line-height, var(--pc-text-header-1-line-height));
|
|
76
86
|
color: var(--pc-text-header-color);
|
|
77
87
|
font-weight: var(--g-text-accent-font-weight);
|
|
78
88
|
margin-bottom: 8px;
|
|
79
89
|
}
|
|
80
|
-
.pc-header-
|
|
90
|
+
.pc-header-stock-shares__item-text {
|
|
81
91
|
font-size: var(--g-text-body-4-font-size, var(--pc-text-body-4-font-size));
|
|
82
92
|
line-height: var(--g-text-body-4-line-height, var(--pc-text-body-4-line-height));
|
|
83
93
|
}
|
|
84
|
-
.pc-header-
|
|
94
|
+
.pc-header-stock-shares__description {
|
|
85
95
|
font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
|
|
86
96
|
line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
|
|
87
|
-
}
|
|
88
|
-
@media (max-width: 1081px) {
|
|
89
|
-
.pc-header-widget-shares {
|
|
90
|
-
max-width: 350px;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
@media (max-width: 769px) {
|
|
94
|
-
.pc-header-widget-shares {
|
|
95
|
-
max-width: 100%;
|
|
96
|
-
}
|
|
97
97
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Theme } from '@gravity-ui/uikit';
|
|
2
|
+
import { HeaderStockSharesProps } from '../../../models';
|
|
3
|
+
type Props = HeaderStockSharesProps & {
|
|
4
|
+
theme: Theme;
|
|
5
|
+
};
|
|
6
|
+
export declare const HeaderStockShares: ({ date, total, text, included, description, theme }: Props) => JSX.Element;
|
|
7
|
+
export default HeaderStockShares;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.HeaderStockShares = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const theme_1 = require("../../../context/theme");
|
|
7
7
|
const utils_1 = require("../../../utils");
|
|
8
|
-
const b = (0, utils_1.block)('header-
|
|
9
|
-
const
|
|
8
|
+
const b = (0, utils_1.block)('header-stock-shares');
|
|
9
|
+
const HeaderStockShares = ({ date, total, text, included, description, theme }) => {
|
|
10
10
|
const globalTheme = (0, theme_1.useTheme)();
|
|
11
11
|
return (react_1.default.createElement("div", { className: b({ theme: theme || globalTheme }) },
|
|
12
12
|
react_1.default.createElement("div", { className: b('date') }, date),
|
|
@@ -19,5 +19,5 @@ const HeaderWidgetShares = ({ date, total, text, included, description, theme })
|
|
|
19
19
|
react_1.default.createElement("div", { className: b('item-text') }, item.text)))))),
|
|
20
20
|
react_1.default.createElement("div", { className: b('description') }, description)));
|
|
21
21
|
};
|
|
22
|
-
exports.
|
|
23
|
-
exports.default = exports.
|
|
22
|
+
exports.HeaderStockShares = HeaderStockShares;
|
|
23
|
+
exports.default = exports.HeaderStockShares;
|
|
@@ -488,7 +488,7 @@ export declare const HeaderProperties: {
|
|
|
488
488
|
type: string;
|
|
489
489
|
enum: string[];
|
|
490
490
|
};
|
|
491
|
-
|
|
491
|
+
stock: {
|
|
492
492
|
type: string;
|
|
493
493
|
enum: string[];
|
|
494
494
|
};
|
|
@@ -1099,7 +1099,7 @@ export declare const HeaderBlock: {
|
|
|
1099
1099
|
type: string;
|
|
1100
1100
|
enum: string[];
|
|
1101
1101
|
};
|
|
1102
|
-
|
|
1102
|
+
stock: {
|
|
1103
1103
|
type: string;
|
|
1104
1104
|
enum: string[];
|
|
1105
1105
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HeaderStockPriceProps, HeaderStockSharesProps } from '../../models';
|
|
3
|
+
export interface HeaderStockContextProps {
|
|
4
|
+
price?: HeaderStockPriceProps;
|
|
5
|
+
shares?: HeaderStockSharesProps;
|
|
6
|
+
}
|
|
7
|
+
export declare const HeaderStockContext: React.Context<HeaderStockContextProps>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.HeaderStockContext = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
exports.
|
|
6
|
+
exports.HeaderStockContext = react_1.default.createContext({});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './HeaderStockContext';
|
package/build/cjs/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export * from './context/blogPostsContext';
|
|
|
10
10
|
export * from './context/pressReleasesContext';
|
|
11
11
|
export * from './context/headerContext';
|
|
12
12
|
export * from './context/relevantPostsContext';
|
|
13
|
-
export * from './context/
|
|
13
|
+
export * from './context/headerStockContext';
|
|
14
14
|
export * from './containers/PageConstructor';
|
|
15
15
|
export * from './grid';
|
|
16
16
|
export * from './blocks';
|
package/build/cjs/index.js
CHANGED
|
@@ -15,7 +15,7 @@ tslib_1.__exportStar(require("./context/blogPostsContext"), exports);
|
|
|
15
15
|
tslib_1.__exportStar(require("./context/pressReleasesContext"), exports);
|
|
16
16
|
tslib_1.__exportStar(require("./context/headerContext"), exports);
|
|
17
17
|
tslib_1.__exportStar(require("./context/relevantPostsContext"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./context/
|
|
18
|
+
tslib_1.__exportStar(require("./context/headerStockContext"), exports);
|
|
19
19
|
tslib_1.__exportStar(require("./containers/PageConstructor"), exports);
|
|
20
20
|
tslib_1.__exportStar(require("./grid"), exports);
|
|
21
21
|
tslib_1.__exportStar(require("./blocks"), exports);
|
|
@@ -133,18 +133,18 @@ export type HeaderTag = {
|
|
|
133
133
|
icon?: 'map' | 'clock';
|
|
134
134
|
target?: string;
|
|
135
135
|
};
|
|
136
|
-
export declare enum
|
|
136
|
+
export declare enum HeaderStockType {
|
|
137
137
|
Price = "price",
|
|
138
138
|
Shares = "shares"
|
|
139
139
|
}
|
|
140
|
-
export interface
|
|
140
|
+
export interface HeaderStockPriceProps {
|
|
141
141
|
name: string;
|
|
142
142
|
percent: string;
|
|
143
143
|
price: string;
|
|
144
144
|
update: string;
|
|
145
145
|
delayed: string;
|
|
146
146
|
}
|
|
147
|
-
export interface
|
|
147
|
+
export interface HeaderStockSharesProps {
|
|
148
148
|
date: string;
|
|
149
149
|
total: string;
|
|
150
150
|
text: string;
|
|
@@ -161,7 +161,7 @@ export interface HeaderBlockProps {
|
|
|
161
161
|
overtitle?: string;
|
|
162
162
|
description?: string;
|
|
163
163
|
buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];
|
|
164
|
-
|
|
164
|
+
stock?: HeaderStockType;
|
|
165
165
|
width?: HeaderWidth;
|
|
166
166
|
/** @deprecated imageSize now depends on width */
|
|
167
167
|
imageSize?: HeaderImageSize;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormBlockDirection = exports.FormBlockDataTypes = exports.PCShareSocialNetwork = exports.
|
|
3
|
+
exports.FormBlockDirection = exports.FormBlockDataTypes = exports.PCShareSocialNetwork = exports.HeaderStockType = exports.SliderType = exports.SliderBreakpointNames = exports.HeaderBlockTypes = exports.BlockTypes = exports.BlockType = void 0;
|
|
4
4
|
var BlockType;
|
|
5
5
|
(function (BlockType) {
|
|
6
6
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
@@ -49,11 +49,11 @@ var SliderType;
|
|
|
49
49
|
SliderType["MediaCard"] = "media-card";
|
|
50
50
|
SliderType["HeaderCard"] = "header-card";
|
|
51
51
|
})(SliderType = exports.SliderType || (exports.SliderType = {}));
|
|
52
|
-
var
|
|
53
|
-
(function (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})(
|
|
52
|
+
var HeaderStockType;
|
|
53
|
+
(function (HeaderStockType) {
|
|
54
|
+
HeaderStockType["Price"] = "price";
|
|
55
|
+
HeaderStockType["Shares"] = "shares";
|
|
56
|
+
})(HeaderStockType = exports.HeaderStockType || (exports.HeaderStockType = {}));
|
|
57
57
|
var PCShareSocialNetwork;
|
|
58
58
|
(function (PCShareSocialNetwork) {
|
|
59
59
|
PCShareSocialNetwork["Vk"] = "vk";
|
|
@@ -10,9 +10,9 @@ import { Col, Grid, Row } from '../../grid';
|
|
|
10
10
|
import { block, getThemedValue } from '../../utils';
|
|
11
11
|
import BackButton from './BackButton/BackButton';
|
|
12
12
|
import Breadcrumbs from './Breadcrumbs/Breadcrumbs';
|
|
13
|
+
import HeaderStock from './HeaderStock/HeaderStock';
|
|
13
14
|
import HeaderTag from './HeaderTag/HeaderTag';
|
|
14
15
|
import HeaderTags from './HeaderTags/HeaderTags';
|
|
15
|
-
import HeaderWidget from './HeaderWidget/HeaderWidget';
|
|
16
16
|
import { getImageSize, getTitleSizes, titleWithImageSizes } from './utils';
|
|
17
17
|
import './Header.css';
|
|
18
18
|
const b = block('header-block');
|
|
@@ -25,7 +25,7 @@ const Background = ({ background, isMobile }) => {
|
|
|
25
25
|
const FullWidthBackground = ({ background }) => (React.createElement("div", { className: b('background', { ['full-width']: true }), style: { backgroundColor: background === null || background === void 0 ? void 0 : background.color } }));
|
|
26
26
|
// eslint-disable-next-line complexity
|
|
27
27
|
export const HeaderBlock = (props) => {
|
|
28
|
-
const { title, topTags, bottomTags, overtitle, description, buttons,
|
|
28
|
+
const { title, topTags, bottomTags, overtitle, description, buttons, stock, image, video, width = 's', imageSize, offset = 'default', background, theme: textTheme = 'light', verticalOffset = 'm', className, breadcrumbs, status, renderTitle, children, mediaView = 'full', } = props;
|
|
29
29
|
const isMobile = useContext(MobileContext);
|
|
30
30
|
const { backButton, blockTag } = useContext(HeaderContext);
|
|
31
31
|
const theme = useTheme();
|
|
@@ -77,7 +77,7 @@ export const HeaderBlock = (props) => {
|
|
|
77
77
|
buttons && (React.createElement("div", { className: b('buttons'), "data-qa": "header-buttons" }, buttons.map((button, index) => (React.createElement(RouterLink, { href: button.url, key: index },
|
|
78
78
|
React.createElement(Button, Object.assign({ key: index, className: b('button'), size: "xl", extraProps: Object.assign({ 'aria-describedby': titleId }, button.extraProps) }, button))))))),
|
|
79
79
|
children),
|
|
80
|
-
|
|
80
|
+
stock && React.createElement(HeaderStock, { type: stock, theme: textTheme })),
|
|
81
81
|
React.createElement(HeaderTags, { theme: textTheme, tags: bottomTags, className: b('tags', { bottom: true }), sizes: titleSizes }))),
|
|
82
82
|
hasRightSideImage && (React.createElement(Media, { className: b('media', { [curImageSize]: true }), videoClassName: b('video'), imageClassName: b('image'), video: videoThemed, image: imageThemed })))))));
|
|
83
83
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Theme } from '@gravity-ui/uikit';
|
|
2
|
+
import { HeaderStockType } from '../../../models';
|
|
3
|
+
type HeaderStockProps = {
|
|
4
|
+
type: HeaderStockType;
|
|
5
|
+
theme: Theme;
|
|
6
|
+
};
|
|
7
|
+
export declare const HeaderStock: ({ type, theme }: HeaderStockProps) => JSX.Element | null;
|
|
8
|
+
export default HeaderStock;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { HeaderStockContext } from '../../../context/headerStockContext';
|
|
3
|
+
import { HeaderStockType } from '../../../models';
|
|
4
|
+
import HeaderStockPrice from '../HeaderStockPrice/HeaderStockPrice';
|
|
5
|
+
import HeaderStockShares from '../HeaderStockShares/HeaderStockShares';
|
|
6
|
+
export const HeaderStock = ({ type, theme }) => {
|
|
7
|
+
const { price, shares } = useContext(HeaderStockContext);
|
|
8
|
+
switch (type) {
|
|
9
|
+
case HeaderStockType.Price:
|
|
10
|
+
return price ? React.createElement(HeaderStockPrice, Object.assign({}, price, { theme: theme })) : null;
|
|
11
|
+
case HeaderStockType.Shares:
|
|
12
|
+
return shares ? React.createElement(HeaderStockShares, Object.assign({}, shares, { theme: theme })) : null;
|
|
13
|
+
default:
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export default HeaderStock;
|
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
.pc-header-
|
|
1
|
+
.pc-header-stock-price__price {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
/* use this for style redefinitions to awoid problems with
|
|
6
6
|
unpredictable css rules order in build */
|
|
7
|
-
.pc-header-
|
|
7
|
+
.pc-header-stock-price {
|
|
8
8
|
border-radius: 24px;
|
|
9
9
|
padding: 32px;
|
|
10
10
|
max-width: 350px;
|
|
11
11
|
width: 100%;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
@media (max-width: 769px) {
|
|
14
|
+
.pc-header-stock-price {
|
|
15
|
+
max-width: 100%;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
.pc-header-stock-price_theme_light.pc-header-stock-price_theme_light {
|
|
14
19
|
background-color: var(--g-color-text-dark-primary);
|
|
15
20
|
color: var(--g-color-text-light-primary);
|
|
16
21
|
}
|
|
17
22
|
|
|
18
|
-
.pc-header-
|
|
23
|
+
.pc-header-stock-price_theme_light .pc-header-stock-price__price {
|
|
19
24
|
color: var(--g-color-text-light-primary);
|
|
20
25
|
}
|
|
21
|
-
.pc-header-
|
|
26
|
+
.pc-header-stock-price_theme_dark.pc-header-stock-price_theme_dark {
|
|
22
27
|
background-color: var(--g-color-text-light-primary);
|
|
23
28
|
color: var(--g-color-text-dark-primary);
|
|
24
29
|
}
|
|
25
30
|
|
|
26
|
-
.pc-header-
|
|
31
|
+
.pc-header-stock-price_theme_dark .pc-header-stock-price__price {
|
|
27
32
|
color: var(--g-color-text-dark-primary);
|
|
28
33
|
}
|
|
29
|
-
.pc-header-
|
|
34
|
+
.pc-header-stock-price__name, .pc-header-stock-price__percent {
|
|
30
35
|
font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
|
|
31
36
|
line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
|
|
32
37
|
}
|
|
33
|
-
.pc-header-
|
|
38
|
+
.pc-header-stock-price__price {
|
|
34
39
|
font-size: var(--g-text-display-4-font-size, var(--pc-text-display-4-font-size));
|
|
35
40
|
line-height: var(--g-text-display-4-line-height, var(--pc-text-display-4-line-height));
|
|
36
41
|
color: var(--pc-text-header-color);
|
|
@@ -39,21 +44,16 @@ unpredictable css rules order in build */
|
|
|
39
44
|
margin-bottom: 16px;
|
|
40
45
|
}
|
|
41
46
|
@media (max-width: 577px) {
|
|
42
|
-
.pc-header-
|
|
47
|
+
.pc-header-stock-price__price {
|
|
43
48
|
font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
|
|
44
49
|
line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
|
-
.pc-header-
|
|
52
|
+
.pc-header-stock-price__update, .pc-header-stock-price__delayed {
|
|
48
53
|
font-size: var(--g-text-body-4-font-size, var(--pc-text-body-4-font-size));
|
|
49
54
|
line-height: var(--g-text-body-4-line-height, var(--pc-text-body-4-line-height));
|
|
50
55
|
opacity: 50%;
|
|
51
56
|
}
|
|
52
|
-
.pc-header-
|
|
57
|
+
.pc-header-stock-price__update {
|
|
53
58
|
margin-bottom: 8px;
|
|
54
|
-
}
|
|
55
|
-
@media (max-width: 769px) {
|
|
56
|
-
.pc-header-widget-price {
|
|
57
|
-
max-width: 100%;
|
|
58
|
-
}
|
|
59
59
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Theme } from '@gravity-ui/uikit';
|
|
2
|
+
import { HeaderStockPriceProps } from '../../../models';
|
|
3
|
+
import './HeaderStockPrice.css';
|
|
4
|
+
type Props = HeaderStockPriceProps & {
|
|
5
|
+
theme: Theme;
|
|
6
|
+
};
|
|
7
|
+
export declare const HeaderStockPrice: ({ name, percent, price, update, delayed, theme }: Props) => JSX.Element;
|
|
8
|
+
export default HeaderStockPrice;
|