@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.
Files changed (59) hide show
  1. package/build/cjs/blocks/Header/Header.js +3 -3
  2. package/build/cjs/blocks/Header/HeaderStock/HeaderStock.d.ts +8 -0
  3. package/build/cjs/blocks/Header/HeaderStock/HeaderStock.js +22 -0
  4. package/build/{esm/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.css → cjs/blocks/Header/HeaderStockPrice/HeaderStockPrice.css} +16 -16
  5. package/build/cjs/blocks/Header/HeaderStockPrice/HeaderStockPrice.d.ts +7 -0
  6. package/build/cjs/blocks/Header/{HeaderWidgetPrice/HeaderWidgetPrice.js → HeaderStockPrice/HeaderStockPrice.js} +5 -5
  7. package/build/cjs/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.css → HeaderStockShares/HeaderStockShares.css} +29 -29
  8. package/build/cjs/blocks/Header/HeaderStockShares/HeaderStockShares.d.ts +7 -0
  9. package/build/cjs/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.js → HeaderStockShares/HeaderStockShares.js} +5 -5
  10. package/build/cjs/blocks/Header/schema.d.ts +2 -2
  11. package/build/cjs/blocks/Header/schema.js +1 -1
  12. package/build/cjs/blocks/HeaderSlider/schema.d.ts +1 -1
  13. package/build/cjs/context/headerStockContext/HeaderStockContext.d.ts +7 -0
  14. package/build/cjs/context/{headerWidgetContext/HeaderWidgetContext.js → headerStockContext/HeaderStockContext.js} +2 -2
  15. package/build/cjs/context/headerStockContext/index.d.ts +1 -0
  16. package/build/cjs/context/{headerWidgetContext → headerStockContext}/index.js +1 -1
  17. package/build/cjs/index.d.ts +1 -1
  18. package/build/cjs/index.js +1 -1
  19. package/build/cjs/models/constructor-items/blocks.d.ts +4 -4
  20. package/build/cjs/models/constructor-items/blocks.js +6 -6
  21. package/build/esm/blocks/Header/Header.js +3 -3
  22. package/build/esm/blocks/Header/HeaderStock/HeaderStock.d.ts +8 -0
  23. package/build/esm/blocks/Header/HeaderStock/HeaderStock.js +17 -0
  24. package/build/{cjs/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.css → esm/blocks/Header/HeaderStockPrice/HeaderStockPrice.css} +16 -16
  25. package/build/esm/blocks/Header/HeaderStockPrice/HeaderStockPrice.d.ts +8 -0
  26. package/build/esm/blocks/Header/{HeaderWidgetPrice/HeaderWidgetPrice.js → HeaderStockPrice/HeaderStockPrice.js} +4 -4
  27. package/build/esm/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.css → HeaderStockShares/HeaderStockShares.css} +29 -29
  28. package/build/esm/blocks/Header/HeaderStockShares/HeaderStockShares.d.ts +8 -0
  29. package/build/esm/blocks/Header/{HeaderWidgetShares/HeaderWidgetShares.js → HeaderStockShares/HeaderStockShares.js} +4 -4
  30. package/build/esm/blocks/Header/schema.d.ts +2 -2
  31. package/build/esm/blocks/Header/schema.js +1 -1
  32. package/build/esm/blocks/HeaderSlider/schema.d.ts +1 -1
  33. package/build/esm/context/headerStockContext/HeaderStockContext.d.ts +7 -0
  34. package/build/esm/context/headerStockContext/HeaderStockContext.js +2 -0
  35. package/build/esm/context/headerStockContext/index.d.ts +1 -0
  36. package/build/esm/context/headerStockContext/index.js +1 -0
  37. package/build/esm/index.d.ts +1 -1
  38. package/build/esm/index.js +1 -1
  39. package/build/esm/models/constructor-items/blocks.d.ts +4 -4
  40. package/build/esm/models/constructor-items/blocks.js +5 -5
  41. package/package.json +1 -1
  42. package/schema/index.js +1 -1
  43. package/server/models/constructor-items/blocks.d.ts +4 -4
  44. package/server/models/constructor-items/blocks.js +6 -6
  45. package/widget/index.js +1 -1
  46. package/build/cjs/blocks/Header/HeaderWidget/HeaderWidget.d.ts +0 -8
  47. package/build/cjs/blocks/Header/HeaderWidget/HeaderWidget.js +0 -21
  48. package/build/cjs/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.d.ts +0 -7
  49. package/build/cjs/blocks/Header/HeaderWidgetShares/HeaderWidgetShares.d.ts +0 -7
  50. package/build/cjs/context/headerWidgetContext/HeaderWidgetContext.d.ts +0 -7
  51. package/build/cjs/context/headerWidgetContext/index.d.ts +0 -1
  52. package/build/esm/blocks/Header/HeaderWidget/HeaderWidget.d.ts +0 -8
  53. package/build/esm/blocks/Header/HeaderWidget/HeaderWidget.js +0 -16
  54. package/build/esm/blocks/Header/HeaderWidgetPrice/HeaderWidgetPrice.d.ts +0 -8
  55. package/build/esm/blocks/Header/HeaderWidgetShares/HeaderWidgetShares.d.ts +0 -8
  56. package/build/esm/context/headerWidgetContext/HeaderWidgetContext.d.ts +0 -7
  57. package/build/esm/context/headerWidgetContext/HeaderWidgetContext.js +0 -2
  58. package/build/esm/context/headerWidgetContext/index.d.ts +0 -1
  59. 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, widget, image, video, width = 's', imageSize, offset = 'default', background, theme: textTheme = 'light', verticalOffset = 'm', className, breadcrumbs, status, renderTitle, children, mediaView = 'full', } = props;
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
- widget && react_1.default.createElement(HeaderWidget_1.default, { type: widget, theme: textTheme })),
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-widget-price__price {
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-widget-price {
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
- .pc-header-widget-price_theme_light.pc-header-widget-price_theme_light {
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-widget-price_theme_light .pc-header-widget-price__price {
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-widget-price_theme_dark.pc-header-widget-price_theme_dark {
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-widget-price_theme_dark .pc-header-widget-price__price {
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-widget-price__name, .pc-header-widget-price__percent {
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-widget-price__price {
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-widget-price__price {
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-widget-price__update, .pc-header-widget-price__delayed {
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-widget-price__update {
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.HeaderWidgetPrice = void 0;
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-widget-price');
9
- const HeaderWidgetPrice = ({ name, percent, price, update, delayed, theme }) => {
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.HeaderWidgetPrice = HeaderWidgetPrice;
19
- exports.default = exports.HeaderWidgetPrice;
18
+ exports.HeaderStockPrice = HeaderStockPrice;
19
+ exports.default = exports.HeaderStockPrice;
@@ -1,97 +1,97 @@
1
- .pc-header-widget-shares__item-total, .pc-header-widget-shares__total {
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-widget-shares {
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
- .pc-header-widget-shares_theme_light.pc-header-widget-shares_theme_light {
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-widget-shares_theme_light .pc-header-widget-shares__total,
19
- .pc-header-widget-shares_theme_light .pc-header-widget-shares__item-total {
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-widget-shares_theme_dark.pc-header-widget-shares_theme_dark {
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-widget-shares_theme_dark .pc-header-widget-shares__total,
28
- .pc-header-widget-shares_theme_dark .pc-header-widget-shares__item-total {
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-widget-shares__date {
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-widget-shares__total {
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-widget-shares__total {
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-widget-shares__text {
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-widget-shares__included {
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-widget-shares__label {
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-widget-shares__items {
74
+ .pc-header-stock-shares__items {
65
75
  display: flex;
66
76
  flex-wrap: wrap;
67
77
  gap: 16px;
68
78
  }
69
- .pc-header-widget-shares__item {
79
+ .pc-header-stock-shares__item {
70
80
  flex: 1;
71
81
  min-width: 150px;
72
82
  }
73
- .pc-header-widget-shares__item-total {
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-widget-shares__item-text {
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-widget-shares__description {
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.HeaderWidgetShares = void 0;
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-widget-shares');
9
- const HeaderWidgetShares = ({ date, total, text, included, description, theme }) => {
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.HeaderWidgetShares = HeaderWidgetShares;
23
- exports.default = exports.HeaderWidgetShares;
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
- widget: {
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
- widget: {
1102
+ stock: {
1103
1103
  type: string;
1104
1104
  enum: string[];
1105
1105
  };
@@ -39,7 +39,7 @@ exports.HeaderProperties = {
39
39
  type: 'string',
40
40
  enum: common_1.mediaView,
41
41
  },
42
- widget: {
42
+ stock: {
43
43
  type: 'string',
44
44
  enum: ['price', 'shares'],
45
45
  },
@@ -183,7 +183,7 @@ export declare const HeaderSliderBlock: {
183
183
  type: string;
184
184
  enum: string[];
185
185
  };
186
- widget: {
186
+ stock: {
187
187
  type: string;
188
188
  enum: string[];
189
189
  };
@@ -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.HeaderWidgetContext = void 0;
3
+ exports.HeaderStockContext = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- exports.HeaderWidgetContext = react_1.default.createContext({});
6
+ exports.HeaderStockContext = react_1.default.createContext({});
@@ -0,0 +1 @@
1
+ export * from './HeaderStockContext';
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./HeaderWidgetContext"), exports);
4
+ tslib_1.__exportStar(require("./HeaderStockContext"), exports);
@@ -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/headerWidgetContext';
13
+ export * from './context/headerStockContext';
14
14
  export * from './containers/PageConstructor';
15
15
  export * from './grid';
16
16
  export * from './blocks';
@@ -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/headerWidgetContext"), exports);
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 HeaderWidgetType {
136
+ export declare enum HeaderStockType {
137
137
  Price = "price",
138
138
  Shares = "shares"
139
139
  }
140
- export interface HeaderWidgetPriceProps {
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 HeaderWidgetSharesProps {
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
- widget?: HeaderWidgetType;
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.HeaderWidgetType = exports.SliderType = exports.SliderBreakpointNames = exports.HeaderBlockTypes = exports.BlockTypes = exports.BlockType = void 0;
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 HeaderWidgetType;
53
- (function (HeaderWidgetType) {
54
- HeaderWidgetType["Price"] = "price";
55
- HeaderWidgetType["Shares"] = "shares";
56
- })(HeaderWidgetType = exports.HeaderWidgetType || (exports.HeaderWidgetType = {}));
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, widget, image, video, width = 's', imageSize, offset = 'default', background, theme: textTheme = 'light', verticalOffset = 'm', className, breadcrumbs, status, renderTitle, children, mediaView = 'full', } = props;
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
- widget && React.createElement(HeaderWidget, { type: widget, theme: textTheme })),
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-widget-price__price {
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-widget-price {
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
- .pc-header-widget-price_theme_light.pc-header-widget-price_theme_light {
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-widget-price_theme_light .pc-header-widget-price__price {
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-widget-price_theme_dark.pc-header-widget-price_theme_dark {
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-widget-price_theme_dark .pc-header-widget-price__price {
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-widget-price__name, .pc-header-widget-price__percent {
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-widget-price__price {
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-widget-price__price {
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-widget-price__update, .pc-header-widget-price__delayed {
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-widget-price__update {
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;