@doyourjob/gravity-ui-page-constructor-addons 2.1.25-dev.1 → 2.1.25-dev.2

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 (38) hide show
  1. package/build/cjs/components/NewHeader/NewHeader.css +7 -0
  2. package/build/cjs/components/NewHeader/NewHeader.js +6 -5
  3. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.js +1 -1
  4. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.css +7 -0
  5. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.js +1 -1
  6. package/build/cjs/components/NewHeader/components/NHLoginButton/NHLoginButton.css +16 -0
  7. package/build/cjs/components/NewHeader/components/NHLoginButton/NHLoginButton.js +6 -1
  8. package/build/cjs/components/NewHeader/components/NHLoginPopup/NHLoginPopup.css +6 -0
  9. package/build/cjs/components/NewHeader/components/NHNavigation/NHNavigation.css +1 -1
  10. package/build/cjs/components/NewHeader/components/NHNavigationItem/NHNavigationItem.css +3 -21
  11. package/build/cjs/components/NewHeader/components/NHNavigationItem/NHNavigationItem.js +5 -1
  12. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.css +0 -4
  13. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +12 -0
  14. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.js +4 -4
  15. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +19 -0
  16. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.js +3 -3
  17. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.js +1 -1
  18. package/build/cjs/components/NewHeader/models.d.ts +3 -0
  19. package/build/esm/components/NewHeader/NewHeader.css +7 -0
  20. package/build/esm/components/NewHeader/NewHeader.js +6 -5
  21. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.js +1 -1
  22. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.css +7 -0
  23. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.js +1 -1
  24. package/build/esm/components/NewHeader/components/NHLoginButton/NHLoginButton.css +16 -0
  25. package/build/esm/components/NewHeader/components/NHLoginButton/NHLoginButton.d.ts +1 -0
  26. package/build/esm/components/NewHeader/components/NHLoginButton/NHLoginButton.js +7 -1
  27. package/build/esm/components/NewHeader/components/NHLoginPopup/NHLoginPopup.css +6 -0
  28. package/build/esm/components/NewHeader/components/NHNavigation/NHNavigation.css +1 -1
  29. package/build/esm/components/NewHeader/components/NHNavigationItem/NHNavigationItem.css +3 -21
  30. package/build/esm/components/NewHeader/components/NHNavigationItem/NHNavigationItem.js +5 -1
  31. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.css +0 -4
  32. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +12 -0
  33. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.js +5 -5
  34. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +19 -0
  35. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.js +3 -3
  36. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.js +1 -1
  37. package/build/esm/components/NewHeader/models.d.ts +3 -0
  38. package/package.json +1 -1
@@ -30,6 +30,7 @@ unpredictable css rules order in build */
30
30
  .pc-addons-new-header__left, .pc-addons-new-header__right {
31
31
  display: flex;
32
32
  align-items: center;
33
+ gap: 40px;
33
34
  }
34
35
 
35
36
  .pc-addons-new-header__left {
@@ -41,6 +42,12 @@ unpredictable css rules order in build */
41
42
  width: 100%;
42
43
  }
43
44
 
45
+ .pc-addons-new-header__wrap {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 8px;
49
+ }
50
+
44
51
  .pc-addons-new-header__icons-container {
45
52
  display: flex;
46
53
  align-items: center;
@@ -70,10 +70,11 @@ const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, className, scr
70
70
  react_1.default.createElement("div", { className: b('right') },
71
71
  right ? (react_1.default.createElement("div", { className: b('navigation') },
72
72
  react_1.default.createElement(NHNavigation_1.NHNavigation, { data: right, headerRef: headerRef }))) : null,
73
- react_1.default.createElement("div", { className: b('icons-container') }, renderSearch && renderSearch({ onActiveToggle: toggleSearch })),
74
- showButtonsContainer &&
75
- (buttons === null || buttons === void 0 ? void 0 : buttons.map((button) => (react_1.default.createElement(gravity_ui_page_constructor_1.Button, Object.assign({}, button, { size: "l", key: button.text }))))),
76
- login && react_1.default.createElement(NHLoginButton_1.NHLoginButton, { data: login, headerRef: headerRef }),
77
- mobile ? (react_1.default.createElement(NHMobileNavigation_1.NHMobileNavigation, { toogleOpen: toggleMobileNavigationPopup, isOpened: isMobileNavigationOpen, isSearchOpen: isSearchMode, data: mobile, buttons: buttons, onMenuScroll: onMenuScroll, popupClassName: b('user-popup') })) : null)))));
73
+ react_1.default.createElement("div", { className: b('wrap') },
74
+ react_1.default.createElement("div", { className: b('icons-container') }, renderSearch && renderSearch({ onActiveToggle: toggleSearch })),
75
+ showButtonsContainer &&
76
+ (buttons === null || buttons === void 0 ? void 0 : buttons.map((button) => (react_1.default.createElement(gravity_ui_page_constructor_1.Button, Object.assign({}, button, { size: "l", key: button.text }))))),
77
+ login && react_1.default.createElement(NHLoginButton_1.NHLoginButton, { data: login, headerRef: headerRef }),
78
+ mobile ? (react_1.default.createElement(NHMobileNavigation_1.NHMobileNavigation, { toogleOpen: toggleMobileNavigationPopup, isOpened: isMobileNavigationOpen, isSearchOpen: isSearchMode, data: mobile, buttons: buttons, onMenuScroll: onMenuScroll, popupClassName: b('user-popup') })) : null))))));
78
79
  };
79
80
  exports.NewHeader = NewHeader;
@@ -14,7 +14,7 @@ const NHCompanyPopup = ({ sections }) => (react_1.default.createElement(gravity_
14
14
  react_1.default.createElement(gravity_ui_page_constructor_1.Row, null,
15
15
  react_1.default.createElement(gravity_ui_page_constructor_1.Col, null,
16
16
  react_1.default.createElement("div", { className: b('title') }, section.title))),
17
- react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, section.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item, { sizes: index === 0
17
+ react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, section.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title, hover: true }, item, { sizes: index === 0
18
18
  ? { [gravity_ui_page_constructor_1.GridColumnSize.All]: 12 }
19
19
  : { [gravity_ui_page_constructor_1.GridColumnSize.All]: 12, [gravity_ui_page_constructor_1.GridColumnSize.Md]: 6 } })))))))))));
20
20
  exports.NHCompanyPopup = NHCompanyPopup;
@@ -32,10 +32,17 @@ unpredictable css rules order in build */
32
32
  .pc-addons-nh-investor-popup__title {
33
33
  font-size: var(--g-text-header-1-font-size, var(--pc-text-header-1-font-size));
34
34
  line-height: var(--g-text-header-1-line-height, var(--pc-text-header-1-line-height));
35
+ color: inherit;
36
+ text-decoration: none;
37
+ display: flex;
35
38
  font-weight: 600;
36
39
  margin-bottom: 8px;
37
40
  }
38
41
 
42
+ .pc-addons-nh-investor-popup__title:hover {
43
+ color: var(--g-color-text-link-hover);
44
+ }
45
+
39
46
  .pc-addons-nh-investor-popup__subtitle {
40
47
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
41
48
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
@@ -13,7 +13,7 @@ const NHInvestorPopup = ({ title, subtitle, url, items, stock }) => (react_1.def
13
13
  react_1.default.createElement(gravity_ui_page_constructor_1.Col, null,
14
14
  react_1.default.createElement("a", Object.assign({ href: url, className: b('title') }, (0, gravity_ui_page_constructor_1.getLinkProps)(url)), title),
15
15
  react_1.default.createElement("div", { className: b('subtitle') }, subtitle))),
16
- react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item, { sizes: { [gravity_ui_page_constructor_1.GridColumnSize.All]: 12, [gravity_ui_page_constructor_1.GridColumnSize.Md]: 6 } })))))),
16
+ react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title, hover: true }, item, { sizes: { [gravity_ui_page_constructor_1.GridColumnSize.All]: 12, [gravity_ui_page_constructor_1.GridColumnSize.Md]: 6 } })))))),
17
17
  stock && (react_1.default.createElement("div", { className: b('card') },
18
18
  react_1.default.createElement("div", { className: b('card-title') }, stock.title),
19
19
  react_1.default.createElement("div", { className: b('card-wrap') },
@@ -0,0 +1,16 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-addons-nh-login-button {
4
+ display: flex;
5
+ align-items: center;
6
+ height: 36px;
7
+ gap: 4px;
8
+ padding: 0 8px 0 12px;
9
+ border-radius: 8px;
10
+ background: var(--g-color-base-brand);
11
+ color: var(--g-color-text-brand-contrast);
12
+ }
13
+
14
+ .pc-addons-nh-login-button:hover {
15
+ background: var(--g-color-base-brand-hover);
16
+ }
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NHLoginButton = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
+ const icons_1 = require("@gravity-ui/icons");
7
+ const uikit_1 = require("@gravity-ui/uikit");
8
+ const cn_1 = require("../../../../utils/cn");
6
9
  const constants_1 = require("../../constants");
7
10
  const NHLoginPopup_1 = require("../NHLoginPopup/NHLoginPopup");
8
11
  const NHNavigationPopup_1 = require("../NHNavigationPopup/NHNavigationPopup");
12
+ const b = (0, cn_1.block)('nh-login-button');
9
13
  const NHLoginButton = ({ data, headerRef, setupRouteChangeHandler }) => {
10
14
  const [isActive, setIsActive] = (0, react_1.useState)(false);
11
15
  const [pretendentActiveTab, setPretendentAciveTab] = (0, react_1.useState)(false);
@@ -38,8 +42,9 @@ const NHLoginButton = ({ data, headerRef, setupRouteChangeHandler }) => {
38
42
  (0, react_1.useEffect)(() => setupRouteChangeHandler === null || setupRouteChangeHandler === void 0 ? void 0 : setupRouteChangeHandler(() => {
39
43
  handleMouseLeave();
40
44
  }), [handleMouseLeave, setupRouteChangeHandler]);
41
- return (react_1.default.createElement("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
45
+ return (react_1.default.createElement("div", { className: b(), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
42
46
  data.text,
47
+ react_1.default.createElement(uikit_1.Icon, { data: isActive ? icons_1.ChevronUp : icons_1.ChevronDown, size: 14 }),
43
48
  isActive && (react_1.default.createElement(NHNavigationPopup_1.NHNavigationPopup, { headerRef: headerRef },
44
49
  react_1.default.createElement(NHLoginPopup_1.NHLoginPopup, Object.assign({}, data))))));
45
50
  };
@@ -29,6 +29,12 @@ unpredictable css rules order in build */
29
29
  flex-direction: column;
30
30
  gap: 4px;
31
31
  width: 100%;
32
+ border-radius: 8px;
33
+ cursor: pointer;
34
+ }
35
+
36
+ .pc-addons-nh-login-popup__item:hover {
37
+ background: var(--g-color-private-black-50);
32
38
  }
33
39
 
34
40
  .pc-addons-nh-login-popup__title {
@@ -8,7 +8,7 @@ unpredictable css rules order in build */
8
8
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
9
9
  display: flex;
10
10
  align-items: center;
11
- margin-left: 2px;
11
+ gap: 20px;
12
12
  }
13
13
 
14
14
  @media (max-width: 768px) {
@@ -37,33 +37,15 @@ unpredictable css rules order in build */
37
37
  cursor: pointer;
38
38
  color: inherit;
39
39
  text-decoration: none;
40
- display: block;
41
- margin: 0 12px;
42
- padding-bottom: 12px;
43
- border-bottom: 2px solid transparent;
40
+ display: flex;
41
+ align-items: center;
42
+ gap: 4px;
44
43
  color: var(--g-color-text-primary);
45
44
  position: relative;
46
45
  }
47
46
 
48
- .pc-addons-nh-navigation-item__text:focus::before {
49
- content: "";
50
- width: 100%;
51
- height: calc(100% - 12px - 2px);
52
- position: absolute;
53
- outline: 2px solid var(--g-color-line-focus);
54
- border-radius: var(--g-focus-border-radius);
55
- left: 0;
56
- right: 0;
57
- top: 2px;
58
- }
59
-
60
- .pc-addons-nh-navigation-item__text:focus:not(:focus-visible)::before {
61
- display: none;
62
- }
63
-
64
47
  .pc-addons-nh-navigation-item__text_active {
65
48
  color: var(--g-color-text-link);
66
- border-color: var(--g-color-text-link);
67
49
  }
68
50
 
69
51
  .pc-addons-nh-navigation-item__text_cursor_default {
@@ -4,6 +4,8 @@ exports.NHNavigationItem = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
6
  const gravity_ui_page_constructor_1 = require("@doyourjob/gravity-ui-page-constructor");
7
+ const icons_1 = require("@gravity-ui/icons");
8
+ const uikit_1 = require("@gravity-ui/uikit");
7
9
  const cn_1 = require("../../../../utils/cn");
8
10
  const constants_1 = require("../../constants");
9
11
  const route_change_1 = require("../../contexts/route-change");
@@ -23,7 +25,9 @@ const NHNavigationItem = ({ item, isActive, handleActiveTab, index, children, to
23
25
  children));
24
26
  }
25
27
  return (react_1.default.createElement("li", { key: item.title, className: b({}), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
26
- react_1.default.createElement("button", { className: b('text', { active: isActive, cursor: 'default' }), onClick: handleMouseEnter, "aria-expanded": isActive, "aria-controls": tooltipId }, item.title),
28
+ react_1.default.createElement("button", { className: b('text', { active: isActive, cursor: 'default' }), onClick: handleMouseEnter, "aria-expanded": isActive, "aria-controls": tooltipId },
29
+ item.title,
30
+ react_1.default.createElement(uikit_1.Icon, { data: isActive ? icons_1.ChevronUp : icons_1.ChevronDown, size: 14 })),
27
31
  children));
28
32
  };
29
33
  exports.NHNavigationItem = NHNavigationItem;
@@ -36,10 +36,6 @@ unpredictable css rules order in build */
36
36
  padding: 6px 12px;
37
37
  }
38
38
 
39
- .pc-addons-nh-navigation-popup-item__content:hover, .pc-addons-nh-navigation-popup-item__content:active {
40
- color: var(--g-color-base-brand);
41
- }
42
-
43
39
  .pc-addons-nh-navigation-popup-item__content_hover:hover, .pc-addons-nh-navigation-popup-item__content_hover:active {
44
40
  color: inherit;
45
41
  }
@@ -47,6 +47,8 @@ unpredictable css rules order in build */
47
47
  }
48
48
 
49
49
  .pc-addons-nh-products-popup__powered-card {
50
+ color: inherit;
51
+ text-decoration: none;
50
52
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
51
53
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
52
54
  font-weight: 500;
@@ -79,7 +81,13 @@ unpredictable css rules order in build */
79
81
  aspect-ratio: 1;
80
82
  }
81
83
 
84
+ .pc-addons-nh-products-popup__powered-card:hover {
85
+ background-color: var(--g-color-base-simple-hover);
86
+ }
87
+
82
88
  .pc-addons-nh-products-popup__run-card {
89
+ color: inherit;
90
+ text-decoration: none;
83
91
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
84
92
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
85
93
  font-weight: 500;
@@ -110,4 +118,8 @@ unpredictable css rules order in build */
110
118
 
111
119
  .pc-addons-nh-products-popup__run-card-image {
112
120
  height: 40px;
121
+ }
122
+
123
+ .pc-addons-nh-products-popup__run-card:hover {
124
+ background-color: var(--g-color-base-simple-hover);
113
125
  }
@@ -7,15 +7,15 @@ const gravity_ui_page_constructor_1 = require("@doyourjob/gravity-ui-page-constr
7
7
  const cn_1 = require("../../../../utils/cn");
8
8
  const NHPopupItem_1 = require("../NHPopupItem/NHPopupItem");
9
9
  const b = (0, cn_1.block)('nh-products-popup');
10
- const PoweredCard = ({ title, description, image }) => {
11
- return (react_1.default.createElement("div", { className: b('powered-card') },
10
+ const PoweredCard = ({ title, description, image, url }) => {
11
+ return (react_1.default.createElement("a", Object.assign({ href: url, className: b('powered-card') }, (0, gravity_ui_page_constructor_1.getLinkProps)(url)),
12
12
  react_1.default.createElement("div", { className: b('powered-card-wrap') },
13
13
  react_1.default.createElement("div", { className: b('powered-card-title') }, title),
14
14
  react_1.default.createElement("div", { className: b('powered-card-description') }, description)),
15
15
  react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('powered-card-image'), containerClassName: b('powered-card-container-image'), src: image })));
16
16
  };
17
- const RunCard = ({ title, description, image, border }) => {
18
- return (react_1.default.createElement("div", { className: b('run-card', { border: border }) },
17
+ const RunCard = ({ title, description, image, border, url }) => {
18
+ return (react_1.default.createElement("a", Object.assign({ href: url, className: b('run-card', { border: border }) }, (0, gravity_ui_page_constructor_1.getLinkProps)(url)),
19
19
  react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('run-card-image'), src: image }),
20
20
  react_1.default.createElement("div", { className: b('run-card-wrap') },
21
21
  react_1.default.createElement("div", { className: b('run-card-title') }, title),
@@ -41,10 +41,17 @@ unpredictable css rules order in build */
41
41
  .pc-addons-nh-resources-popup__title {
42
42
  font-size: var(--g-text-header-1-font-size, var(--pc-text-header-1-font-size));
43
43
  line-height: var(--g-text-header-1-line-height, var(--pc-text-header-1-line-height));
44
+ color: inherit;
45
+ text-decoration: none;
46
+ display: flex;
44
47
  font-weight: 600;
45
48
  margin-bottom: 8px;
46
49
  }
47
50
 
51
+ .pc-addons-nh-resources-popup__title:hover {
52
+ color: var(--g-color-text-link-hover);
53
+ }
54
+
48
55
  .pc-addons-nh-resources-popup__subtitle {
49
56
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
50
57
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
@@ -70,6 +77,8 @@ unpredictable css rules order in build */
70
77
  }
71
78
 
72
79
  .pc-addons-nh-resources-popup__banner {
80
+ color: inherit;
81
+ text-decoration: none;
73
82
  background-color: #f2f6f9;
74
83
  border-radius: 16px;
75
84
  display: flex;
@@ -125,7 +134,13 @@ unpredictable css rules order in build */
125
134
  color: #9fb1bd;
126
135
  }
127
136
 
137
+ .pc-addons-nh-resources-popup__banner:hover {
138
+ background-color: var(--g-color-base-simple-hover);
139
+ }
140
+
128
141
  .pc-addons-nh-resources-popup__event-card {
142
+ color: inherit;
143
+ text-decoration: none;
129
144
  position: relative;
130
145
  display: flex;
131
146
  flex-direction: column;
@@ -188,4 +203,8 @@ unpredictable css rules order in build */
188
203
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
189
204
  font-weight: 500;
190
205
  color: #9fb1bd;
206
+ }
207
+
208
+ .pc-addons-nh-resources-popup__event-card:hover {
209
+ background-color: var(--g-color-base-simple-hover);
191
210
  }
@@ -7,8 +7,8 @@ const gravity_ui_page_constructor_1 = require("@doyourjob/gravity-ui-page-constr
7
7
  const cn_1 = require("../../../../utils/cn");
8
8
  const NHPopupItem_1 = require("../NHPopupItem/NHPopupItem");
9
9
  const b = (0, cn_1.block)('nh-resources-popup');
10
- const EventCard = ({ tag, image, date, title, location }) => {
11
- return (react_1.default.createElement("div", { className: b('event-card') },
10
+ const EventCard = ({ url, tag, image, date, title, location }) => {
11
+ return (react_1.default.createElement("a", Object.assign({ href: url, className: b('event-card') }, (0, gravity_ui_page_constructor_1.getLinkProps)(url)),
12
12
  react_1.default.createElement("div", { className: b('event-card-tag') }, tag),
13
13
  react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('event-card-image'), containerClassName: b('event-card-container-image'), src: image }),
14
14
  react_1.default.createElement("div", { className: b('event-card-content') },
@@ -25,7 +25,7 @@ const NHResourcesPopup = ({ groups, banner, events }) => (react_1.default.create
25
25
  react_1.default.createElement("a", Object.assign({ href: group.url, className: b('title') }, (0, gravity_ui_page_constructor_1.getLinkProps)(group.url)), group.title),
26
26
  react_1.default.createElement("div", { className: b('subtitle') }, group.subtitle)),
27
27
  react_1.default.createElement(gravity_ui_page_constructor_1.Col, { sizes: { [gravity_ui_page_constructor_1.GridColumnSize.Md]: 4, [gravity_ui_page_constructor_1.GridColumnSize.All]: 12 } })),
28
- react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, group.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item)))))))),
28
+ react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, group.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title, hover: true }, item)))))))),
29
29
  banner && (react_1.default.createElement("div", { className: b('group') },
30
30
  react_1.default.createElement(gravity_ui_page_constructor_1.Row, null,
31
31
  react_1.default.createElement(gravity_ui_page_constructor_1.Col, null,
@@ -12,7 +12,7 @@ const NHWhyPopup = ({ groups, card }) => (react_1.default.createElement(gravity_
12
12
  react_1.default.createElement(gravity_ui_page_constructor_1.Row, null,
13
13
  react_1.default.createElement(gravity_ui_page_constructor_1.Col, null,
14
14
  react_1.default.createElement("div", { className: b('title') }, group.title))),
15
- react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, group.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item, { sizes: { [gravity_ui_page_constructor_1.GridColumnSize.All]: 12 } }))))))))),
15
+ react_1.default.createElement(gravity_ui_page_constructor_1.Row, null, group.items.map((item) => (react_1.default.createElement(NHPopupItem_1.NHPopupItem, Object.assign({ key: item.title }, item, { hover: true, sizes: { [gravity_ui_page_constructor_1.GridColumnSize.All]: 12 } }))))))))),
16
16
  card && (react_1.default.createElement("div", { className: b('card') },
17
17
  react_1.default.createElement(gravity_ui_page_constructor_1.Image, { className: b('card-image'), containerClassName: b('card-container-image'), src: card.image }),
18
18
  react_1.default.createElement("div", { className: b('card-wrap') },
@@ -47,12 +47,14 @@ export interface NHSpecialCardData {
47
47
  title: string;
48
48
  description: string;
49
49
  image: string;
50
+ url: string;
50
51
  }
51
52
  export interface NHRunCardData {
52
53
  title: string;
53
54
  description: string;
54
55
  image: string;
55
56
  border?: boolean;
57
+ url: string;
56
58
  }
57
59
  export interface NHProductsPopupSection {
58
60
  title: string;
@@ -88,6 +90,7 @@ export interface NHBannerData {
88
90
  url: string;
89
91
  }
90
92
  export interface NHEventCardData {
93
+ url: string;
91
94
  tag: string;
92
95
  title: string;
93
96
  date: string;
@@ -30,6 +30,7 @@ unpredictable css rules order in build */
30
30
  .pc-addons-new-header__left, .pc-addons-new-header__right {
31
31
  display: flex;
32
32
  align-items: center;
33
+ gap: 40px;
33
34
  }
34
35
 
35
36
  .pc-addons-new-header__left {
@@ -41,6 +42,12 @@ unpredictable css rules order in build */
41
42
  width: 100%;
42
43
  }
43
44
 
45
+ .pc-addons-new-header__wrap {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 8px;
49
+ }
50
+
44
51
  .pc-addons-new-header__icons-container {
45
52
  display: flex;
46
53
  align-items: center;
@@ -67,9 +67,10 @@ export const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, classNa
67
67
  React.createElement("div", { className: b('right') },
68
68
  right ? (React.createElement("div", { className: b('navigation') },
69
69
  React.createElement(NHNavigation, { data: right, headerRef: headerRef }))) : null,
70
- React.createElement("div", { className: b('icons-container') }, renderSearch && renderSearch({ onActiveToggle: toggleSearch })),
71
- showButtonsContainer &&
72
- (buttons === null || buttons === void 0 ? void 0 : buttons.map((button) => (React.createElement(PCButton, Object.assign({}, button, { size: "l", key: button.text }))))),
73
- login && React.createElement(NHLoginButton, { data: login, headerRef: headerRef }),
74
- mobile ? (React.createElement(NHMobileNavigation, { toogleOpen: toggleMobileNavigationPopup, isOpened: isMobileNavigationOpen, isSearchOpen: isSearchMode, data: mobile, buttons: buttons, onMenuScroll: onMenuScroll, popupClassName: b('user-popup') })) : null)))));
70
+ React.createElement("div", { className: b('wrap') },
71
+ React.createElement("div", { className: b('icons-container') }, renderSearch && renderSearch({ onActiveToggle: toggleSearch })),
72
+ showButtonsContainer &&
73
+ (buttons === null || buttons === void 0 ? void 0 : buttons.map((button) => (React.createElement(PCButton, Object.assign({}, button, { size: "l", key: button.text }))))),
74
+ login && React.createElement(NHLoginButton, { data: login, headerRef: headerRef }),
75
+ mobile ? (React.createElement(NHMobileNavigation, { toogleOpen: toggleMobileNavigationPopup, isOpened: isMobileNavigationOpen, isSearchOpen: isSearchMode, data: mobile, buttons: buttons, onMenuScroll: onMenuScroll, popupClassName: b('user-popup') })) : null))))));
75
76
  };
@@ -11,6 +11,6 @@ export const NHCompanyPopup = ({ sections }) => (React.createElement(Grid, { cla
11
11
  React.createElement(Row, null,
12
12
  React.createElement(Col, null,
13
13
  React.createElement("div", { className: b('title') }, section.title))),
14
- React.createElement(Row, null, section.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item, { sizes: index === 0
14
+ React.createElement(Row, null, section.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title, hover: true }, item, { sizes: index === 0
15
15
  ? { [GridColumnSize.All]: 12 }
16
16
  : { [GridColumnSize.All]: 12, [GridColumnSize.Md]: 6 } })))))))))));
@@ -32,10 +32,17 @@ unpredictable css rules order in build */
32
32
  .pc-addons-nh-investor-popup__title {
33
33
  font-size: var(--g-text-header-1-font-size, var(--pc-text-header-1-font-size));
34
34
  line-height: var(--g-text-header-1-line-height, var(--pc-text-header-1-line-height));
35
+ color: inherit;
36
+ text-decoration: none;
37
+ display: flex;
35
38
  font-weight: 600;
36
39
  margin-bottom: 8px;
37
40
  }
38
41
 
42
+ .pc-addons-nh-investor-popup__title:hover {
43
+ color: var(--g-color-text-link-hover);
44
+ }
45
+
39
46
  .pc-addons-nh-investor-popup__subtitle {
40
47
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
41
48
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
@@ -10,7 +10,7 @@ export const NHInvestorPopup = ({ title, subtitle, url, items, stock }) => (Reac
10
10
  React.createElement(Col, null,
11
11
  React.createElement("a", Object.assign({ href: url, className: b('title') }, getLinkProps(url)), title),
12
12
  React.createElement("div", { className: b('subtitle') }, subtitle))),
13
- React.createElement(Row, null, items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item, { sizes: { [GridColumnSize.All]: 12, [GridColumnSize.Md]: 6 } })))))),
13
+ React.createElement(Row, null, items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title, hover: true }, item, { sizes: { [GridColumnSize.All]: 12, [GridColumnSize.Md]: 6 } })))))),
14
14
  stock && (React.createElement("div", { className: b('card') },
15
15
  React.createElement("div", { className: b('card-title') }, stock.title),
16
16
  React.createElement("div", { className: b('card-wrap') },
@@ -0,0 +1,16 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-addons-nh-login-button {
4
+ display: flex;
5
+ align-items: center;
6
+ height: 36px;
7
+ gap: 4px;
8
+ padding: 0 8px 0 12px;
9
+ border-radius: 8px;
10
+ background: var(--g-color-base-brand);
11
+ color: var(--g-color-text-brand-contrast);
12
+ }
13
+
14
+ .pc-addons-nh-login-button:hover {
15
+ background: var(--g-color-base-brand-hover);
16
+ }
@@ -1,6 +1,7 @@
1
1
  import type { RefObject } from 'react';
2
2
  import React from 'react';
3
3
  import { NHLoginPopupData, SetupRouteChangeHandler } from '../../models';
4
+ import './NHLoginButton.css';
4
5
  interface LoginButtonProps {
5
6
  data: NHLoginPopupData;
6
7
  headerRef?: RefObject<HTMLDivElement>;
@@ -1,7 +1,12 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
+ import { ChevronDown, ChevronUp } from '@gravity-ui/icons';
3
+ import { Icon } from '@gravity-ui/uikit';
4
+ import { block } from '../../../../utils/cn';
2
5
  import { SWITCH_MENU_TAB_TIMEOUT } from '../../constants';
3
6
  import { NHLoginPopup } from '../NHLoginPopup/NHLoginPopup';
4
7
  import { NHNavigationPopup } from '../NHNavigationPopup/NHNavigationPopup';
8
+ import './NHLoginButton.css';
9
+ const b = block('nh-login-button');
5
10
  export const NHLoginButton = ({ data, headerRef, setupRouteChangeHandler }) => {
6
11
  const [isActive, setIsActive] = useState(false);
7
12
  const [pretendentActiveTab, setPretendentAciveTab] = useState(false);
@@ -34,8 +39,9 @@ export const NHLoginButton = ({ data, headerRef, setupRouteChangeHandler }) => {
34
39
  useEffect(() => setupRouteChangeHandler === null || setupRouteChangeHandler === void 0 ? void 0 : setupRouteChangeHandler(() => {
35
40
  handleMouseLeave();
36
41
  }), [handleMouseLeave, setupRouteChangeHandler]);
37
- return (React.createElement("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
42
+ return (React.createElement("div", { className: b(), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
38
43
  data.text,
44
+ React.createElement(Icon, { data: isActive ? ChevronUp : ChevronDown, size: 14 }),
39
45
  isActive && (React.createElement(NHNavigationPopup, { headerRef: headerRef },
40
46
  React.createElement(NHLoginPopup, Object.assign({}, data))))));
41
47
  };
@@ -29,6 +29,12 @@ unpredictable css rules order in build */
29
29
  flex-direction: column;
30
30
  gap: 4px;
31
31
  width: 100%;
32
+ border-radius: 8px;
33
+ cursor: pointer;
34
+ }
35
+
36
+ .pc-addons-nh-login-popup__item:hover {
37
+ background: var(--g-color-private-black-50);
32
38
  }
33
39
 
34
40
  .pc-addons-nh-login-popup__title {
@@ -8,7 +8,7 @@ unpredictable css rules order in build */
8
8
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
9
9
  display: flex;
10
10
  align-items: center;
11
- margin-left: 2px;
11
+ gap: 20px;
12
12
  }
13
13
 
14
14
  @media (max-width: 768px) {
@@ -37,33 +37,15 @@ unpredictable css rules order in build */
37
37
  cursor: pointer;
38
38
  color: inherit;
39
39
  text-decoration: none;
40
- display: block;
41
- margin: 0 12px;
42
- padding-bottom: 12px;
43
- border-bottom: 2px solid transparent;
40
+ display: flex;
41
+ align-items: center;
42
+ gap: 4px;
44
43
  color: var(--g-color-text-primary);
45
44
  position: relative;
46
45
  }
47
46
 
48
- .pc-addons-nh-navigation-item__text:focus::before {
49
- content: "";
50
- width: 100%;
51
- height: calc(100% - 12px - 2px);
52
- position: absolute;
53
- outline: 2px solid var(--g-color-line-focus);
54
- border-radius: var(--g-focus-border-radius);
55
- left: 0;
56
- right: 0;
57
- top: 2px;
58
- }
59
-
60
- .pc-addons-nh-navigation-item__text:focus:not(:focus-visible)::before {
61
- display: none;
62
- }
63
-
64
47
  .pc-addons-nh-navigation-item__text_active {
65
48
  color: var(--g-color-text-link);
66
- border-color: var(--g-color-text-link);
67
49
  }
68
50
 
69
51
  .pc-addons-nh-navigation-item__text_cursor_default {
@@ -1,5 +1,7 @@
1
1
  import React, { useCallback, useContext, useEffect } from 'react';
2
2
  import { getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
3
+ import { ChevronDown, ChevronUp } from '@gravity-ui/icons';
4
+ import { Icon } from '@gravity-ui/uikit';
3
5
  import { block } from '../../../../utils/cn';
4
6
  import { NO_MENU_TAB_SELECTED } from '../../constants';
5
7
  import { RouteChangeHandlerContext } from '../../contexts/route-change';
@@ -20,6 +22,8 @@ export const NHNavigationItem = ({ item, isActive, handleActiveTab, index, child
20
22
  children));
21
23
  }
22
24
  return (React.createElement("li", { key: item.title, className: b({}), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
23
- React.createElement("button", { className: b('text', { active: isActive, cursor: 'default' }), onClick: handleMouseEnter, "aria-expanded": isActive, "aria-controls": tooltipId }, item.title),
25
+ React.createElement("button", { className: b('text', { active: isActive, cursor: 'default' }), onClick: handleMouseEnter, "aria-expanded": isActive, "aria-controls": tooltipId },
26
+ item.title,
27
+ React.createElement(Icon, { data: isActive ? ChevronUp : ChevronDown, size: 14 })),
24
28
  children));
25
29
  };
@@ -36,10 +36,6 @@ unpredictable css rules order in build */
36
36
  padding: 6px 12px;
37
37
  }
38
38
 
39
- .pc-addons-nh-navigation-popup-item__content:hover, .pc-addons-nh-navigation-popup-item__content:active {
40
- color: var(--g-color-base-brand);
41
- }
42
-
43
39
  .pc-addons-nh-navigation-popup-item__content_hover:hover, .pc-addons-nh-navigation-popup-item__content_hover:active {
44
40
  color: inherit;
45
41
  }
@@ -47,6 +47,8 @@ unpredictable css rules order in build */
47
47
  }
48
48
 
49
49
  .pc-addons-nh-products-popup__powered-card {
50
+ color: inherit;
51
+ text-decoration: none;
50
52
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
51
53
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
52
54
  font-weight: 500;
@@ -79,7 +81,13 @@ unpredictable css rules order in build */
79
81
  aspect-ratio: 1;
80
82
  }
81
83
 
84
+ .pc-addons-nh-products-popup__powered-card:hover {
85
+ background-color: var(--g-color-base-simple-hover);
86
+ }
87
+
82
88
  .pc-addons-nh-products-popup__run-card {
89
+ color: inherit;
90
+ text-decoration: none;
83
91
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
84
92
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
85
93
  font-weight: 500;
@@ -110,4 +118,8 @@ unpredictable css rules order in build */
110
118
 
111
119
  .pc-addons-nh-products-popup__run-card-image {
112
120
  height: 40px;
121
+ }
122
+
123
+ .pc-addons-nh-products-popup__run-card:hover {
124
+ background-color: var(--g-color-base-simple-hover);
113
125
  }
@@ -1,18 +1,18 @@
1
1
  import React from 'react';
2
- import { Col, Grid, GridColumnSize, Image, Row } from '@doyourjob/gravity-ui-page-constructor';
2
+ import { Col, Grid, GridColumnSize, Image, Row, getLinkProps, } from '@doyourjob/gravity-ui-page-constructor';
3
3
  import { block } from '../../../../utils/cn';
4
4
  import { NHPopupItem } from '../NHPopupItem/NHPopupItem';
5
5
  import './NHProductsPopup.css';
6
6
  const b = block('nh-products-popup');
7
- const PoweredCard = ({ title, description, image }) => {
8
- return (React.createElement("div", { className: b('powered-card') },
7
+ const PoweredCard = ({ title, description, image, url }) => {
8
+ return (React.createElement("a", Object.assign({ href: url, className: b('powered-card') }, getLinkProps(url)),
9
9
  React.createElement("div", { className: b('powered-card-wrap') },
10
10
  React.createElement("div", { className: b('powered-card-title') }, title),
11
11
  React.createElement("div", { className: b('powered-card-description') }, description)),
12
12
  React.createElement(Image, { className: b('powered-card-image'), containerClassName: b('powered-card-container-image'), src: image })));
13
13
  };
14
- const RunCard = ({ title, description, image, border }) => {
15
- return (React.createElement("div", { className: b('run-card', { border: border }) },
14
+ const RunCard = ({ title, description, image, border, url }) => {
15
+ return (React.createElement("a", Object.assign({ href: url, className: b('run-card', { border: border }) }, getLinkProps(url)),
16
16
  React.createElement(Image, { className: b('run-card-image'), src: image }),
17
17
  React.createElement("div", { className: b('run-card-wrap') },
18
18
  React.createElement("div", { className: b('run-card-title') }, title),
@@ -41,10 +41,17 @@ unpredictable css rules order in build */
41
41
  .pc-addons-nh-resources-popup__title {
42
42
  font-size: var(--g-text-header-1-font-size, var(--pc-text-header-1-font-size));
43
43
  line-height: var(--g-text-header-1-line-height, var(--pc-text-header-1-line-height));
44
+ color: inherit;
45
+ text-decoration: none;
46
+ display: flex;
44
47
  font-weight: 600;
45
48
  margin-bottom: 8px;
46
49
  }
47
50
 
51
+ .pc-addons-nh-resources-popup__title:hover {
52
+ color: var(--g-color-text-link-hover);
53
+ }
54
+
48
55
  .pc-addons-nh-resources-popup__subtitle {
49
56
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
50
57
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
@@ -70,6 +77,8 @@ unpredictable css rules order in build */
70
77
  }
71
78
 
72
79
  .pc-addons-nh-resources-popup__banner {
80
+ color: inherit;
81
+ text-decoration: none;
73
82
  background-color: #f2f6f9;
74
83
  border-radius: 16px;
75
84
  display: flex;
@@ -125,7 +134,13 @@ unpredictable css rules order in build */
125
134
  color: #9fb1bd;
126
135
  }
127
136
 
137
+ .pc-addons-nh-resources-popup__banner:hover {
138
+ background-color: var(--g-color-base-simple-hover);
139
+ }
140
+
128
141
  .pc-addons-nh-resources-popup__event-card {
142
+ color: inherit;
143
+ text-decoration: none;
129
144
  position: relative;
130
145
  display: flex;
131
146
  flex-direction: column;
@@ -188,4 +203,8 @@ unpredictable css rules order in build */
188
203
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
189
204
  font-weight: 500;
190
205
  color: #9fb1bd;
206
+ }
207
+
208
+ .pc-addons-nh-resources-popup__event-card:hover {
209
+ background-color: var(--g-color-base-simple-hover);
191
210
  }
@@ -4,8 +4,8 @@ import { block } from '../../../../utils/cn';
4
4
  import { NHPopupItem } from '../NHPopupItem/NHPopupItem';
5
5
  import './NHResourcesPopup.css';
6
6
  const b = block('nh-resources-popup');
7
- const EventCard = ({ tag, image, date, title, location }) => {
8
- return (React.createElement("div", { className: b('event-card') },
7
+ const EventCard = ({ url, tag, image, date, title, location }) => {
8
+ return (React.createElement("a", Object.assign({ href: url, className: b('event-card') }, getLinkProps(url)),
9
9
  React.createElement("div", { className: b('event-card-tag') }, tag),
10
10
  React.createElement(Image, { className: b('event-card-image'), containerClassName: b('event-card-container-image'), src: image }),
11
11
  React.createElement("div", { className: b('event-card-content') },
@@ -22,7 +22,7 @@ export const NHResourcesPopup = ({ groups, banner, events }) => (React.createEle
22
22
  React.createElement("a", Object.assign({ href: group.url, className: b('title') }, getLinkProps(group.url)), group.title),
23
23
  React.createElement("div", { className: b('subtitle') }, group.subtitle)),
24
24
  React.createElement(Col, { sizes: { [GridColumnSize.Md]: 4, [GridColumnSize.All]: 12 } })),
25
- React.createElement(Row, null, group.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item)))))))),
25
+ React.createElement(Row, null, group.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title, hover: true }, item)))))))),
26
26
  banner && (React.createElement("div", { className: b('group') },
27
27
  React.createElement(Row, null,
28
28
  React.createElement(Col, null,
@@ -9,7 +9,7 @@ export const NHWhyPopup = ({ groups, card }) => (React.createElement(Grid, { cla
9
9
  React.createElement(Row, null,
10
10
  React.createElement(Col, null,
11
11
  React.createElement("div", { className: b('title') }, group.title))),
12
- React.createElement(Row, null, group.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item, { sizes: { [GridColumnSize.All]: 12 } }))))))))),
12
+ React.createElement(Row, null, group.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item, { hover: true, sizes: { [GridColumnSize.All]: 12 } }))))))))),
13
13
  card && (React.createElement("div", { className: b('card') },
14
14
  React.createElement(Image, { className: b('card-image'), containerClassName: b('card-container-image'), src: card.image }),
15
15
  React.createElement("div", { className: b('card-wrap') },
@@ -47,12 +47,14 @@ export interface NHSpecialCardData {
47
47
  title: string;
48
48
  description: string;
49
49
  image: string;
50
+ url: string;
50
51
  }
51
52
  export interface NHRunCardData {
52
53
  title: string;
53
54
  description: string;
54
55
  image: string;
55
56
  border?: boolean;
57
+ url: string;
56
58
  }
57
59
  export interface NHProductsPopupSection {
58
60
  title: string;
@@ -88,6 +90,7 @@ export interface NHBannerData {
88
90
  url: string;
89
91
  }
90
92
  export interface NHEventCardData {
93
+ url: string;
91
94
  tag: string;
92
95
  title: string;
93
96
  date: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doyourjob/gravity-ui-page-constructor-addons",
3
- "version": "2.1.25-dev.1",
3
+ "version": "2.1.25-dev.2",
4
4
  "description": "Components and plugins for @doyourjob/gravity-ui-page-constructor",
5
5
  "license": "MIT",
6
6
  "repository": {