@doyourjob/gravity-ui-page-constructor-addons 2.1.32 → 2.1.34
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/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.css +6 -3
- package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.d.ts +1 -1
- package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.js +15 -7
- package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.css +10 -0
- package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.js +5 -3
- package/build/cjs/components/NewHeader/models.d.ts +6 -4
- package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.css +6 -3
- package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.d.ts +1 -1
- package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.js +17 -9
- package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.css +10 -0
- package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.js +5 -3
- package/build/esm/components/NewHeader/models.d.ts +6 -4
- package/package.json +2 -2
|
@@ -126,8 +126,10 @@ unpredictable css rules order in build */
|
|
|
126
126
|
padding: 20px;
|
|
127
127
|
display: flex;
|
|
128
128
|
flex-direction: column;
|
|
129
|
-
|
|
129
|
+
height: 100%;
|
|
130
130
|
border-radius: 8px;
|
|
131
|
+
overflow: hidden;
|
|
132
|
+
max-height: 300px;
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
.pc-addons-nh-default-popup__stock-background {
|
|
@@ -145,8 +147,8 @@ unpredictable css rules order in build */
|
|
|
145
147
|
line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
|
|
146
148
|
color: var(--g-color-text-primary);
|
|
147
149
|
font-weight: 600;
|
|
148
|
-
margin-bottom: auto;
|
|
149
150
|
z-index: 1;
|
|
151
|
+
margin-bottom: 4px;
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
.pc-addons-nh-default-popup__stock-value {
|
|
@@ -154,8 +156,8 @@ unpredictable css rules order in build */
|
|
|
154
156
|
font-size: 36px;
|
|
155
157
|
line-height: 48px;
|
|
156
158
|
font-weight: 600;
|
|
157
|
-
margin-bottom: 4px;
|
|
158
159
|
z-index: 1;
|
|
160
|
+
margin-top: auto;
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
.pc-addons-nh-default-popup__stock-date {
|
|
@@ -163,4 +165,5 @@ unpredictable css rules order in build */
|
|
|
163
165
|
line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
|
|
164
166
|
color: var(--g-color-text-secondary);
|
|
165
167
|
z-index: 1;
|
|
168
|
+
margin-top: 4px;
|
|
166
169
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { NHDefaultPopupData } from '../../models';
|
|
3
|
-
export declare const NHDefaultPopup: ({ sections, right, maxWidth }: NHDefaultPopupData) => React.JSX.Element;
|
|
3
|
+
export declare const NHDefaultPopup: ({ sections, right, maxWidth, primaryColor, primaryColorHover, }: NHDefaultPopupData) => React.JSX.Element;
|
|
@@ -18,7 +18,19 @@ const NHEventCard = ({ title, caption, description, image, url }) => (react_1.de
|
|
|
18
18
|
react_1.default.createElement("div", { className: b('card-caption') }, caption),
|
|
19
19
|
react_1.default.createElement("div", { className: b('card-title') }, title),
|
|
20
20
|
react_1.default.createElement("div", { className: b('card-description') }, description))));
|
|
21
|
-
const
|
|
21
|
+
const NHStock = ({ title, delayed, image }) => {
|
|
22
|
+
const data = (0, react_1.useContext)(gravity_ui_page_constructor_1.HeaderStockContext);
|
|
23
|
+
if (!data.price)
|
|
24
|
+
return null;
|
|
25
|
+
return (react_1.default.createElement("div", { className: b('stock') },
|
|
26
|
+
image ? (react_1.default.createElement("img", { className: b('stock-background'), src: image, alt: "Stock background" })) : null,
|
|
27
|
+
react_1.default.createElement("div", { className: b('stock-title') }, title),
|
|
28
|
+
react_1.default.createElement("div", { className: b('stock-title') }, data.price.percent),
|
|
29
|
+
react_1.default.createElement("div", { className: b('stock-value') }, data.price.price),
|
|
30
|
+
react_1.default.createElement("div", { className: b('stock-date') }, data.price.update),
|
|
31
|
+
react_1.default.createElement("div", { className: b('stock-date') }, delayed)));
|
|
32
|
+
};
|
|
33
|
+
const NHDefaultPopup = ({ sections, right, maxWidth, primaryColor, primaryColorHover, }) => {
|
|
22
34
|
const rootStyle = (0, react_1.useMemo)(() => maxWidth
|
|
23
35
|
? {
|
|
24
36
|
marginLeft: 'auto',
|
|
@@ -42,14 +54,10 @@ const NHDefaultPopup = ({ sections, right, maxWidth }) => {
|
|
|
42
54
|
section.title || section.subtitle ? (react_1.default.createElement("div", { className: b('head') },
|
|
43
55
|
react_1.default.createElement("div", { className: b('title') }, section.title),
|
|
44
56
|
react_1.default.createElement("div", { className: b('subtitle') }, section.subtitle))) : null,
|
|
45
|
-
react_1.default.createElement("div", { className: b('wrap'), style: wrapsStyle[index] }, section.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item))))))))),
|
|
57
|
+
react_1.default.createElement("div", { className: b('wrap'), style: wrapsStyle[index] }, section.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item, { imageColor: primaryColor, imageColorHover: primaryColorHover }))))))))),
|
|
46
58
|
right && (react_1.default.createElement("div", { className: b('right') },
|
|
47
59
|
react_1.default.createElement("div", { className: b('title') }, right.title),
|
|
48
60
|
cards && react_1.default.createElement("div", { className: b('cards') }, cards),
|
|
49
|
-
right.stock &&
|
|
50
|
-
right.stock.background ? (react_1.default.createElement("img", { className: b('stock-background'), src: right.stock.background, alt: "Stock background" })) : null,
|
|
51
|
-
react_1.default.createElement("div", { className: b('stock-title') }, right.stock.title),
|
|
52
|
-
react_1.default.createElement("div", { className: b('stock-value') }, right.stock.value),
|
|
53
|
-
react_1.default.createElement("div", { className: b('stock-date') }, right.stock.date)))))));
|
|
61
|
+
right.stock && react_1.default.createElement(NHStock, Object.assign({}, right.stock))))));
|
|
54
62
|
};
|
|
55
63
|
exports.NHDefaultPopup = NHDefaultPopup;
|
|
@@ -88,6 +88,16 @@ unpredictable css rules order in build */
|
|
|
88
88
|
height: 24px;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
@media (max-width: 769px) {
|
|
92
|
+
.pc-addons-nh-navigation-popup-item__image_desktop {
|
|
93
|
+
display: none;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
@media (min-width: 770px) {
|
|
97
|
+
.pc-addons-nh-navigation-popup-item__image_mobile {
|
|
98
|
+
display: none;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
91
101
|
.pc-addons-nh-navigation-popup-item__image-container {
|
|
92
102
|
padding: 8px;
|
|
93
103
|
border-radius: 8px;
|
|
@@ -9,11 +9,13 @@ const cn_1 = require("../../../../utils/cn");
|
|
|
9
9
|
const ArrowRight_1 = require("./ArrowRight");
|
|
10
10
|
const b = (0, cn_1.block)('nh-navigation-popup-item');
|
|
11
11
|
const NHPopupItem = (props) => {
|
|
12
|
-
const { url, target, title, description, image, imageColor, imageColorHover, column } = props;
|
|
12
|
+
const { url, target, title, description, image, imageMobile, imageColor, imageColorHover, column, } = props;
|
|
13
13
|
const styleImageContainer = (0, react_1.useMemo)(() => (Object.assign(Object.assign({}, (imageColor ? { '--nh-popup-item-color': imageColor } : {})), (imageColorHover ? { '--nh-popup-item-color-hover': imageColorHover } : {}))), [imageColor, imageColorHover]);
|
|
14
|
+
const hasImage = image || imageMobile;
|
|
14
15
|
return (react_1.default.createElement("a", Object.assign({ className: b({ disable: !url, column }), href: url }, (0, gravity_ui_page_constructor_1.getLinkProps)(url || '', undefined, target)),
|
|
15
|
-
|
|
16
|
-
react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('image'), src: image }))
|
|
16
|
+
hasImage && (react_1.default.createElement("div", { className: b('image-container', { 'no-bg': !imageColor }), style: styleImageContainer },
|
|
17
|
+
image && (react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('image', { desktop: Boolean(imageMobile) }), src: image })),
|
|
18
|
+
imageMobile && (react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('image', { mobile: true }), src: imageMobile })))),
|
|
17
19
|
react_1.default.createElement("div", { className: b('container') },
|
|
18
20
|
react_1.default.createElement("div", { className: b('title') },
|
|
19
21
|
title,
|
|
@@ -15,6 +15,7 @@ export interface NHPopupItemData {
|
|
|
15
15
|
slug?: string;
|
|
16
16
|
description?: string;
|
|
17
17
|
image?: string | null;
|
|
18
|
+
imageMobile?: string | null;
|
|
18
19
|
imageColor?: string;
|
|
19
20
|
imageColorHover?: string;
|
|
20
21
|
target?: string;
|
|
@@ -66,14 +67,15 @@ export interface NHEventCardData {
|
|
|
66
67
|
url: string;
|
|
67
68
|
}
|
|
68
69
|
export interface NHStockData {
|
|
69
|
-
title
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
background?: string;
|
|
70
|
+
title?: string;
|
|
71
|
+
image?: string;
|
|
72
|
+
delayed?: string;
|
|
73
73
|
}
|
|
74
74
|
export interface NHDefaultPopupData {
|
|
75
75
|
sections: NHDefaultPopupSection[];
|
|
76
76
|
maxWidth?: number;
|
|
77
|
+
primaryColor?: string;
|
|
78
|
+
primaryColorHover?: string;
|
|
77
79
|
right?: {
|
|
78
80
|
title: string;
|
|
79
81
|
stories?: NHStoryCardData[];
|
|
@@ -126,8 +126,10 @@ unpredictable css rules order in build */
|
|
|
126
126
|
padding: 20px;
|
|
127
127
|
display: flex;
|
|
128
128
|
flex-direction: column;
|
|
129
|
-
|
|
129
|
+
height: 100%;
|
|
130
130
|
border-radius: 8px;
|
|
131
|
+
overflow: hidden;
|
|
132
|
+
max-height: 300px;
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
.pc-addons-nh-default-popup__stock-background {
|
|
@@ -145,8 +147,8 @@ unpredictable css rules order in build */
|
|
|
145
147
|
line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
|
|
146
148
|
color: var(--g-color-text-primary);
|
|
147
149
|
font-weight: 600;
|
|
148
|
-
margin-bottom: auto;
|
|
149
150
|
z-index: 1;
|
|
151
|
+
margin-bottom: 4px;
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
.pc-addons-nh-default-popup__stock-value {
|
|
@@ -154,8 +156,8 @@ unpredictable css rules order in build */
|
|
|
154
156
|
font-size: 36px;
|
|
155
157
|
line-height: 48px;
|
|
156
158
|
font-weight: 600;
|
|
157
|
-
margin-bottom: 4px;
|
|
158
159
|
z-index: 1;
|
|
160
|
+
margin-top: auto;
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
.pc-addons-nh-default-popup__stock-date {
|
|
@@ -163,4 +165,5 @@ unpredictable css rules order in build */
|
|
|
163
165
|
line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
|
|
164
166
|
color: var(--g-color-text-secondary);
|
|
165
167
|
z-index: 1;
|
|
168
|
+
margin-top: 4px;
|
|
166
169
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { NHDefaultPopupData } from '../../models';
|
|
3
3
|
import './NHDefaultPopup.css';
|
|
4
|
-
export declare const NHDefaultPopup: ({ sections, right, maxWidth }: NHDefaultPopupData) => React.JSX.Element;
|
|
4
|
+
export declare const NHDefaultPopup: ({ sections, right, maxWidth, primaryColor, primaryColorHover, }: NHDefaultPopupData) => React.JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
2
|
-
import { Image, getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
|
|
1
|
+
import React, { useContext, useMemo } from 'react';
|
|
2
|
+
import { HeaderStockContext, Image, getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
|
|
3
3
|
import { block } from '../../../../utils/cn';
|
|
4
4
|
import { NHPopupItem } from '../NHPopupItem/NHPopupItem';
|
|
5
5
|
import './NHDefaultPopup.css';
|
|
@@ -15,7 +15,19 @@ const NHEventCard = ({ title, caption, description, image, url }) => (React.crea
|
|
|
15
15
|
React.createElement("div", { className: b('card-caption') }, caption),
|
|
16
16
|
React.createElement("div", { className: b('card-title') }, title),
|
|
17
17
|
React.createElement("div", { className: b('card-description') }, description))));
|
|
18
|
-
|
|
18
|
+
const NHStock = ({ title, delayed, image }) => {
|
|
19
|
+
const data = useContext(HeaderStockContext);
|
|
20
|
+
if (!data.price)
|
|
21
|
+
return null;
|
|
22
|
+
return (React.createElement("div", { className: b('stock') },
|
|
23
|
+
image ? (React.createElement("img", { className: b('stock-background'), src: image, alt: "Stock background" })) : null,
|
|
24
|
+
React.createElement("div", { className: b('stock-title') }, title),
|
|
25
|
+
React.createElement("div", { className: b('stock-title') }, data.price.percent),
|
|
26
|
+
React.createElement("div", { className: b('stock-value') }, data.price.price),
|
|
27
|
+
React.createElement("div", { className: b('stock-date') }, data.price.update),
|
|
28
|
+
React.createElement("div", { className: b('stock-date') }, delayed)));
|
|
29
|
+
};
|
|
30
|
+
export const NHDefaultPopup = ({ sections, right, maxWidth, primaryColor, primaryColorHover, }) => {
|
|
19
31
|
const rootStyle = useMemo(() => maxWidth
|
|
20
32
|
? {
|
|
21
33
|
marginLeft: 'auto',
|
|
@@ -39,13 +51,9 @@ export const NHDefaultPopup = ({ sections, right, maxWidth }) => {
|
|
|
39
51
|
section.title || section.subtitle ? (React.createElement("div", { className: b('head') },
|
|
40
52
|
React.createElement("div", { className: b('title') }, section.title),
|
|
41
53
|
React.createElement("div", { className: b('subtitle') }, section.subtitle))) : null,
|
|
42
|
-
React.createElement("div", { className: b('wrap'), style: wrapsStyle[index] }, section.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item))))))))),
|
|
54
|
+
React.createElement("div", { className: b('wrap'), style: wrapsStyle[index] }, section.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item, { imageColor: primaryColor, imageColorHover: primaryColorHover }))))))))),
|
|
43
55
|
right && (React.createElement("div", { className: b('right') },
|
|
44
56
|
React.createElement("div", { className: b('title') }, right.title),
|
|
45
57
|
cards && React.createElement("div", { className: b('cards') }, cards),
|
|
46
|
-
right.stock &&
|
|
47
|
-
right.stock.background ? (React.createElement("img", { className: b('stock-background'), src: right.stock.background, alt: "Stock background" })) : null,
|
|
48
|
-
React.createElement("div", { className: b('stock-title') }, right.stock.title),
|
|
49
|
-
React.createElement("div", { className: b('stock-value') }, right.stock.value),
|
|
50
|
-
React.createElement("div", { className: b('stock-date') }, right.stock.date)))))));
|
|
58
|
+
right.stock && React.createElement(NHStock, Object.assign({}, right.stock))))));
|
|
51
59
|
};
|
|
@@ -88,6 +88,16 @@ unpredictable css rules order in build */
|
|
|
88
88
|
height: 24px;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
@media (max-width: 769px) {
|
|
92
|
+
.pc-addons-nh-navigation-popup-item__image_desktop {
|
|
93
|
+
display: none;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
@media (min-width: 770px) {
|
|
97
|
+
.pc-addons-nh-navigation-popup-item__image_mobile {
|
|
98
|
+
display: none;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
91
101
|
.pc-addons-nh-navigation-popup-item__image-container {
|
|
92
102
|
padding: 8px;
|
|
93
103
|
border-radius: 8px;
|
|
@@ -6,11 +6,13 @@ import { ArrowRight } from './ArrowRight';
|
|
|
6
6
|
import './NHPopupItem.css';
|
|
7
7
|
const b = block('nh-navigation-popup-item');
|
|
8
8
|
export const NHPopupItem = (props) => {
|
|
9
|
-
const { url, target, title, description, image, imageColor, imageColorHover, column } = props;
|
|
9
|
+
const { url, target, title, description, image, imageMobile, imageColor, imageColorHover, column, } = props;
|
|
10
10
|
const styleImageContainer = useMemo(() => (Object.assign(Object.assign({}, (imageColor ? { '--nh-popup-item-color': imageColor } : {})), (imageColorHover ? { '--nh-popup-item-color-hover': imageColorHover } : {}))), [imageColor, imageColorHover]);
|
|
11
|
+
const hasImage = image || imageMobile;
|
|
11
12
|
return (React.createElement("a", Object.assign({ className: b({ disable: !url, column }), href: url }, getLinkProps(url || '', undefined, target)),
|
|
12
|
-
|
|
13
|
-
React.createElement(Image, { className: b('image'), src: image }))
|
|
13
|
+
hasImage && (React.createElement("div", { className: b('image-container', { 'no-bg': !imageColor }), style: styleImageContainer },
|
|
14
|
+
image && (React.createElement(Image, { className: b('image', { desktop: Boolean(imageMobile) }), src: image })),
|
|
15
|
+
imageMobile && (React.createElement(Image, { className: b('image', { mobile: true }), src: imageMobile })))),
|
|
14
16
|
React.createElement("div", { className: b('container') },
|
|
15
17
|
React.createElement("div", { className: b('title') },
|
|
16
18
|
title,
|
|
@@ -15,6 +15,7 @@ export interface NHPopupItemData {
|
|
|
15
15
|
slug?: string;
|
|
16
16
|
description?: string;
|
|
17
17
|
image?: string | null;
|
|
18
|
+
imageMobile?: string | null;
|
|
18
19
|
imageColor?: string;
|
|
19
20
|
imageColorHover?: string;
|
|
20
21
|
target?: string;
|
|
@@ -66,14 +67,15 @@ export interface NHEventCardData {
|
|
|
66
67
|
url: string;
|
|
67
68
|
}
|
|
68
69
|
export interface NHStockData {
|
|
69
|
-
title
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
background?: string;
|
|
70
|
+
title?: string;
|
|
71
|
+
image?: string;
|
|
72
|
+
delayed?: string;
|
|
73
73
|
}
|
|
74
74
|
export interface NHDefaultPopupData {
|
|
75
75
|
sections: NHDefaultPopupSection[];
|
|
76
76
|
maxWidth?: number;
|
|
77
|
+
primaryColor?: string;
|
|
78
|
+
primaryColorHover?: string;
|
|
77
79
|
right?: {
|
|
78
80
|
title: string;
|
|
79
81
|
stories?: NHStoryCardData[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doyourjob/gravity-ui-page-constructor-addons",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.34",
|
|
4
4
|
"description": "Components and plugins for @doyourjob/gravity-ui-page-constructor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"react-transition-group": "^4.4.5"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"@doyourjob/gravity-ui-page-constructor": "^5.31.
|
|
75
|
+
"@doyourjob/gravity-ui-page-constructor": "^5.31.256",
|
|
76
76
|
"@gravity-ui/uikit": "^6.23.1",
|
|
77
77
|
"react": "^16.0.0 || ^17.0.0 || ^18.0.0"
|
|
78
78
|
},
|