@doyourjob/gravity-ui-page-constructor-addons 2.1.26 → 2.1.27

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 (35) hide show
  1. package/build/cjs/components/NewHeader/NewHeader.css +46 -25
  2. package/build/cjs/components/NewHeader/NewHeader.js +8 -16
  3. package/build/cjs/components/NewHeader/components/ChevronDown.d.ts +2 -0
  4. package/build/cjs/components/NewHeader/components/ChevronDown.js +8 -0
  5. package/build/cjs/components/NewHeader/components/ChevronUp.d.ts +2 -0
  6. package/build/cjs/components/NewHeader/components/ChevronUp.js +8 -0
  7. package/build/cjs/components/NewHeader/components/NHLoginButton/NHLoginButton.css +4 -1
  8. package/build/cjs/components/NewHeader/components/NHLoginButton/NHLoginButton.js +3 -2
  9. package/build/cjs/components/NewHeader/components/NHMobileNavigation/NHMobileNavigation.css +6 -1
  10. package/build/cjs/components/NewHeader/components/NHNavigation/NHNavigation.css +2 -2
  11. package/build/cjs/components/NewHeader/components/NHNavigationItem/NHNavigationItem.css +9 -6
  12. package/build/cjs/components/NewHeader/components/NHNavigationItem/NHNavigationItem.js +3 -2
  13. package/build/cjs/components/NewHeader/components/NHNavigationPopup/NHNavigationPopup.css +5 -2
  14. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +0 -1
  15. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +0 -1
  16. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.css +0 -1
  17. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.css +0 -1
  18. package/build/esm/components/NewHeader/NewHeader.css +46 -25
  19. package/build/esm/components/NewHeader/NewHeader.js +8 -16
  20. package/build/esm/components/NewHeader/components/ChevronDown.d.ts +2 -0
  21. package/build/esm/components/NewHeader/components/ChevronDown.js +3 -0
  22. package/build/esm/components/NewHeader/components/ChevronUp.d.ts +2 -0
  23. package/build/esm/components/NewHeader/components/ChevronUp.js +3 -0
  24. package/build/esm/components/NewHeader/components/NHLoginButton/NHLoginButton.css +4 -1
  25. package/build/esm/components/NewHeader/components/NHLoginButton/NHLoginButton.js +3 -2
  26. package/build/esm/components/NewHeader/components/NHMobileNavigation/NHMobileNavigation.css +6 -1
  27. package/build/esm/components/NewHeader/components/NHNavigation/NHNavigation.css +2 -2
  28. package/build/esm/components/NewHeader/components/NHNavigationItem/NHNavigationItem.css +9 -6
  29. package/build/esm/components/NewHeader/components/NHNavigationItem/NHNavigationItem.js +3 -2
  30. package/build/esm/components/NewHeader/components/NHNavigationPopup/NHNavigationPopup.css +5 -2
  31. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +0 -1
  32. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +0 -1
  33. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.css +0 -1
  34. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.css +0 -1
  35. package/package.json +1 -1
@@ -4,42 +4,52 @@ unpredictable css rules order in build */
4
4
  --g-scrollbar-width: 8px;
5
5
  --g-color-scroll-handle: var(--g-color-base-generic);
6
6
  --g-color-scroll-handle-hover: var(--g-color-line-generic);
7
- position: relative;
8
- max-width: 1328px;
9
- margin: 0 auto;
10
7
  width: 100%;
11
8
  z-index: 100;
9
+ background: var(--pc-transparent);
10
+ }
11
+
12
+ .pc-addons-new-header_with-background {
13
+ background: var(--g-color-base-background);
12
14
  }
13
15
 
14
16
  .pc-addons-new-header__container {
17
+ position: relative;
15
18
  width: 100%;
16
- padding: 0 32px;
19
+ max-width: 1328px;
20
+ padding: 0 40px;
21
+ margin: 0 auto;
17
22
  display: flex;
18
23
  align-items: center;
19
24
  justify-content: space-between;
20
25
  height: 64px;
21
- background: var(--pc-transparent);
22
26
  border-radius: var(--pc-border-radius, 24px);
23
27
  }
24
28
 
25
- .pc-addons-new-header__container_with-background {
26
- background: var(--g-color-base-background);
27
- box-shadow: 0 4px 24px var(--g-color-base-generic);
29
+ @media (max-width: 1248px) {
30
+ .pc-addons-new-header__container {
31
+ padding: 0 16px;
32
+ }
28
33
  }
29
-
30
34
  .pc-addons-new-header__left, .pc-addons-new-header__right {
31
35
  display: flex;
32
36
  align-items: center;
33
- gap: 40px;
34
37
  }
35
38
 
36
39
  .pc-addons-new-header__left {
37
40
  margin-right: 32px;
41
+ gap: 20px;
38
42
  }
39
43
 
44
+ @media (max-width: 1248px) {
45
+ .pc-addons-new-header__left {
46
+ gap: 12px;
47
+ }
48
+ }
40
49
  .pc-addons-new-header__right {
41
50
  justify-content: flex-end;
42
51
  width: 100%;
52
+ gap: 8px;
43
53
  }
44
54
 
45
55
  .pc-addons-new-header__wrap {
@@ -127,20 +137,38 @@ unpredictable css rules order in build */
127
137
  box-shadow: 0 3px 10px var(--g-color-base-generic-hover);
128
138
  }
129
139
 
140
+ .pc-addons-new-header__logo-img {
141
+ display: block;
142
+ height: 36px;
143
+ }
144
+
145
+ .pc-addons-new-header__buttons {
146
+ display: flex;
147
+ gap: 8px;
148
+ }
149
+
150
+ @media (max-width: 577px) {
151
+ .pc-addons-new-header__buttons {
152
+ display: none;
153
+ }
154
+ }
155
+ .pc-addons-new-header__button {
156
+ display: flex;
157
+ align-items: center;
158
+ padding: 0 12px;
159
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
160
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
161
+ font-weight: 500;
162
+ }
163
+
130
164
  @media (max-width: 1081px) {
131
165
  .pc-addons-new-header__left {
132
166
  margin-right: 0;
133
167
  }
134
168
  }
135
- @media (min-width: 769px) {
136
- .pc-addons-new-header__logo-img {
137
- height: 30px;
138
- }
139
- }
140
- @media (max-width: 768px) {
169
+ @media (max-width: 769px) {
141
170
  .pc-addons-new-header {
142
171
  max-width: 100%;
143
- padding: 16px 40px 16px 48px;
144
172
  border-top-left-radius: 0;
145
173
  border-top-right-radius: 0;
146
174
  }
@@ -154,15 +182,8 @@ unpredictable css rules order in build */
154
182
  .pc-addons-new-header_search .pc-addons-new-header__logo {
155
183
  display: none;
156
184
  }
157
- .pc-addons-new-header_search .pc-addons-new-header__back {
158
- display: block;
159
- }
160
185
  }
161
- @media (max-width: 576px) {
162
- .pc-addons-new-header {
163
- padding-left: 24px;
164
- padding-right: 16px;
165
- }
186
+ @media (max-width: 577px) {
166
187
  .pc-addons-new-header__container {
167
188
  height: 64px;
168
189
  }
@@ -15,7 +15,6 @@ const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, className, scr
15
15
  const { logo, buttons, left, right, mobile, login } = data;
16
16
  const headerRef = (0, react_1.useRef)(null);
17
17
  const [withBackground, setWithBackground] = (0, react_1.useState)(false);
18
- const [withShadow, setWithShadow] = (0, react_1.useState)(true);
19
18
  const [isSearchMode, setIsSearchMode] = (0, react_1.useState)(false);
20
19
  const [isMobileNavigationOpen, setIsMobileNavigationOpen] = (0, react_1.useState)(false);
21
20
  const [pageHasScroll, setPageHasScroll] = (0, react_1.useState)(false);
@@ -23,14 +22,8 @@ const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, className, scr
23
22
  const toggleSearch = (0, react_1.useCallback)((isActive) => setIsSearchMode(isActive), []);
24
23
  const toggleMobileNavigationPopup = (0, react_1.useCallback)((isOpened) => {
25
24
  setIsMobileNavigationOpen(isOpened);
26
- // disable header's shadow on mobile with opened menu and if page was scrolled
27
- if (isOpened && pageHasScroll) {
28
- setWithShadow(false);
29
- }
30
- }, [pageHasScroll]);
25
+ }, []);
31
26
  const onMenuScroll = (0, react_1.useCallback)((scrollTop) => {
32
- // enable header's shadow on mobile if mobile menu started to scroll
33
- setWithShadow(scrollTop > 0);
34
27
  if (!pageHasScroll) {
35
28
  setWithBackground(scrollTop > 0);
36
29
  }
@@ -58,11 +51,9 @@ const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, className, scr
58
51
  return (react_1.default.createElement(route_change_1.RouteChangeHandlerContext.Provider, { value: setupRouteChangeHandler },
59
52
  react_1.default.createElement("header", { className: b({
60
53
  search: isSearchMode,
54
+ 'with-background': withBackground,
61
55
  }, className), ref: headerRef },
62
- react_1.default.createElement("div", { className: b('container', {
63
- 'with-background': withBackground,
64
- 'with-shadow': withShadow,
65
- }) },
56
+ react_1.default.createElement("div", { className: b('container') },
66
57
  react_1.default.createElement("div", { className: b('left') },
67
58
  logo && (react_1.default.createElement("a", Object.assign({ href: logo.href, className: b('logo') }, (0, gravity_ui_page_constructor_1.getLinkProps)(logo.href || '')), logo.src && (react_1.default.createElement("img", { className: b('logo-img'), alt: logo.alt, src: logo.src })))),
68
59
  left ? (react_1.default.createElement("div", { className: b('navigation') },
@@ -71,10 +62,11 @@ const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, className, scr
71
62
  right ? (react_1.default.createElement("div", { className: b('navigation') },
72
63
  react_1.default.createElement(NHNavigation_1.NHNavigation, { data: right, headerRef: headerRef }))) : null,
73
64
  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 }),
65
+ renderSearch && (react_1.default.createElement("div", { className: b('icons-container') }, renderSearch({ onActiveToggle: toggleSearch }))),
66
+ react_1.default.createElement("div", { className: b('buttons') },
67
+ showButtonsContainer &&
68
+ (buttons === null || buttons === void 0 ? void 0 : buttons.map((button) => (react_1.default.createElement(gravity_ui_page_constructor_1.Button, Object.assign({}, button, { className: b('button'), size: "l", key: button.text }))))),
69
+ login && react_1.default.createElement(NHLoginButton_1.NHLoginButton, { data: login, headerRef: headerRef })),
78
70
  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))))));
79
71
  };
80
72
  exports.NewHeader = NewHeader;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ChevronDown: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChevronDown = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const ChevronDown = (props) => (react_1.default.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true" }, props),
7
+ react_1.default.createElement("path", { xmlns: "http://www.w3.org/2000/svg", d: "M10.4697 6.46967C10.7626 6.17678 11.2373 6.17678 11.5302 6.46967C11.8231 6.76256 11.8231 7.23732 11.5302 7.53022L8.53705 10.5234C8.24031 10.8199 7.75957 10.8199 7.46283 10.5234L4.46967 7.53022C4.17678 7.23732 4.17678 6.76256 4.46967 6.46967C4.76256 6.17678 5.23732 6.17678 5.53022 6.46967L7.99994 8.9394L10.4697 6.46967Z", fill: "currentColor" })));
8
+ exports.ChevronDown = ChevronDown;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ChevronUp: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChevronUp = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const ChevronUp = (props) => (react_1.default.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true" }, props),
7
+ react_1.default.createElement("path", { xmlns: "http://www.w3.org/2000/svg", d: "M7.52039 5.42501C7.81886 5.18147 8.2587 5.19859 8.53699 5.47677L11.5302 8.46993C11.8229 8.76283 11.823 9.23762 11.5302 9.53048C11.2373 9.82321 10.7625 9.82321 10.4696 9.53048L7.99988 7.06075L5.53016 9.53048C5.23729 9.82321 4.76247 9.82321 4.46961 9.53048C4.17676 9.23762 4.17684 8.76283 4.46961 8.46993L7.46277 5.47677L7.52039 5.42501Z", fill: "currentColor" })));
8
+ exports.ChevronUp = ChevronUp;
@@ -6,9 +6,12 @@ unpredictable css rules order in build */
6
6
  height: 36px;
7
7
  gap: 4px;
8
8
  padding: 0 8px 0 12px;
9
- border-radius: 8px;
10
9
  background: var(--g-color-base-brand);
11
10
  color: var(--g-color-text-brand-contrast);
11
+ border-radius: var(--g-button-border-radius, 8px);
12
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
13
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
14
+ font-weight: 500;
12
15
  }
13
16
 
14
17
  .pc-addons-nh-login-button:hover {
@@ -3,10 +3,11 @@ 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
6
  const uikit_1 = require("@gravity-ui/uikit");
8
7
  const cn_1 = require("../../../../utils/cn");
9
8
  const constants_1 = require("../../constants");
9
+ const ChevronDown_1 = require("../ChevronDown");
10
+ const ChevronUp_1 = require("../ChevronUp");
10
11
  const NHLoginPopup_1 = require("../NHLoginPopup/NHLoginPopup");
11
12
  const NHNavigationPopup_1 = require("../NHNavigationPopup/NHNavigationPopup");
12
13
  const b = (0, cn_1.block)('nh-login-button');
@@ -44,7 +45,7 @@ const NHLoginButton = ({ data, headerRef, setupRouteChangeHandler }) => {
44
45
  }), [handleMouseLeave, setupRouteChangeHandler]);
45
46
  return (react_1.default.createElement("div", { className: b(), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
46
47
  data.text,
47
- react_1.default.createElement(uikit_1.Icon, { data: isActive ? icons_1.ChevronUp : icons_1.ChevronDown, size: 14 }),
48
+ react_1.default.createElement(uikit_1.Icon, { data: isActive ? ChevronUp_1.ChevronUp : ChevronDown_1.ChevronDown, size: 16 }),
48
49
  isActive && (react_1.default.createElement(NHNavigationPopup_1.NHNavigationPopup, { headerRef: headerRef },
49
50
  react_1.default.createElement(NHLoginPopup_1.NHLoginPopup, Object.assign({}, data))))));
50
51
  };
@@ -8,6 +8,11 @@ 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
  }
10
10
 
11
+ @media (min-width: 1081px) {
12
+ .pc-addons-nh-mobile-navigation {
13
+ display: none;
14
+ }
15
+ }
11
16
  .pc-addons-nh-mobile-navigation__icon {
12
17
  display: none;
13
18
  }
@@ -37,7 +42,7 @@ unpredictable css rules order in build */
37
42
  margin-top: 8px;
38
43
  }
39
44
 
40
- @media (max-width: 769px) {
45
+ @media (max-width: 1081px) {
41
46
  .pc-addons-nh-mobile-navigation__icon {
42
47
  display: block;
43
48
  }
@@ -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
- gap: 20px;
11
+ gap: 4px;
12
12
  }
13
13
 
14
14
  @media (max-width: 768px) {
@@ -16,7 +16,7 @@ unpredictable css rules order in build */
16
16
  display: none;
17
17
  }
18
18
  }
19
- @media (max-width: 769px) {
19
+ @media (max-width: 1081px) {
20
20
  .pc-addons-nh-navigation {
21
21
  display: none;
22
22
  }
@@ -6,7 +6,7 @@ unpredictable css rules order in build */
6
6
  }
7
7
 
8
8
  .pc-addons-nh-navigation-item:hover .pc-addons-nh-navigation-item__text {
9
- color: var(--g-color-text-link);
9
+ background-color: rgb(245, 246, 247);
10
10
  }
11
11
 
12
12
  .pc-addons-nh-navigation-item_disable {
@@ -25,6 +25,11 @@ unpredictable css rules order in build */
25
25
  box-shadow: 0 4px 24px var(--g-color-base-generic-hover), 0 2px 8px var(--g-color-base-generic-hover);
26
26
  }
27
27
 
28
+ @media (max-width: 1248px) {
29
+ .pc-addons-nh-navigation-item__icon {
30
+ display: none;
31
+ }
32
+ }
28
33
  .pc-addons-nh-navigation-item__text {
29
34
  display: inline-block;
30
35
  margin: 0;
@@ -37,17 +42,15 @@ unpredictable css rules order in build */
37
42
  cursor: pointer;
38
43
  color: inherit;
39
44
  text-decoration: none;
45
+ padding: 8px;
46
+ border-radius: 8px;
47
+ font-weight: 500;
40
48
  display: flex;
41
49
  align-items: center;
42
- gap: 4px;
43
50
  color: var(--g-color-text-primary);
44
51
  position: relative;
45
52
  }
46
53
 
47
- .pc-addons-nh-navigation-item__text_active {
48
- color: var(--g-color-text-link);
49
- }
50
-
51
54
  .pc-addons-nh-navigation-item__text_cursor_default {
52
55
  cursor: default;
53
56
  }
@@ -4,12 +4,13 @@ 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
7
  const uikit_1 = require("@gravity-ui/uikit");
9
8
  const cn_1 = require("../../../../utils/cn");
10
9
  const constants_1 = require("../../constants");
11
10
  const route_change_1 = require("../../contexts/route-change");
12
11
  const models_1 = require("../../models");
12
+ const ChevronDown_1 = require("../ChevronDown");
13
+ const ChevronUp_1 = require("../ChevronUp");
13
14
  const b = (0, cn_1.block)('nh-navigation-item');
14
15
  const NHNavigationItem = ({ item, isActive, handleActiveTab, index, children, tooltipId, }) => {
15
16
  var _a, _b, _c, _d;
@@ -27,7 +28,7 @@ const NHNavigationItem = ({ item, isActive, handleActiveTab, index, children, to
27
28
  return (react_1.default.createElement("li", { key: item.title, className: b({}), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
28
29
  react_1.default.createElement("button", { className: b('text', { active: isActive, cursor: 'default' }), onClick: handleMouseEnter, "aria-expanded": isActive, "aria-controls": tooltipId },
29
30
  item.title,
30
- react_1.default.createElement(uikit_1.Icon, { data: isActive ? icons_1.ChevronUp : icons_1.ChevronDown, size: 14 })),
31
+ react_1.default.createElement(uikit_1.Icon, { className: b('icon'), data: isActive ? ChevronUp_1.ChevronUp : ChevronDown_1.ChevronDown, size: 16 })),
31
32
  children));
32
33
  };
33
34
  exports.NHNavigationItem = NHNavigationItem;
@@ -1,7 +1,10 @@
1
1
  .pc-addons-nh-navigation-popup {
2
2
  position: absolute;
3
- margin: 0 32px;
4
- width: calc(100% - 64px);
3
+ left: 0;
4
+ right: 0;
5
+ margin: 0 auto;
6
+ max-width: 1248px;
7
+ width: 100%;
5
8
  z-index: 10;
6
9
  }
7
10
 
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 1200px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 1200px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 1200px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 900px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -4,42 +4,52 @@ unpredictable css rules order in build */
4
4
  --g-scrollbar-width: 8px;
5
5
  --g-color-scroll-handle: var(--g-color-base-generic);
6
6
  --g-color-scroll-handle-hover: var(--g-color-line-generic);
7
- position: relative;
8
- max-width: 1328px;
9
- margin: 0 auto;
10
7
  width: 100%;
11
8
  z-index: 100;
9
+ background: var(--pc-transparent);
10
+ }
11
+
12
+ .pc-addons-new-header_with-background {
13
+ background: var(--g-color-base-background);
12
14
  }
13
15
 
14
16
  .pc-addons-new-header__container {
17
+ position: relative;
15
18
  width: 100%;
16
- padding: 0 32px;
19
+ max-width: 1328px;
20
+ padding: 0 40px;
21
+ margin: 0 auto;
17
22
  display: flex;
18
23
  align-items: center;
19
24
  justify-content: space-between;
20
25
  height: 64px;
21
- background: var(--pc-transparent);
22
26
  border-radius: var(--pc-border-radius, 24px);
23
27
  }
24
28
 
25
- .pc-addons-new-header__container_with-background {
26
- background: var(--g-color-base-background);
27
- box-shadow: 0 4px 24px var(--g-color-base-generic);
29
+ @media (max-width: 1248px) {
30
+ .pc-addons-new-header__container {
31
+ padding: 0 16px;
32
+ }
28
33
  }
29
-
30
34
  .pc-addons-new-header__left, .pc-addons-new-header__right {
31
35
  display: flex;
32
36
  align-items: center;
33
- gap: 40px;
34
37
  }
35
38
 
36
39
  .pc-addons-new-header__left {
37
40
  margin-right: 32px;
41
+ gap: 20px;
38
42
  }
39
43
 
44
+ @media (max-width: 1248px) {
45
+ .pc-addons-new-header__left {
46
+ gap: 12px;
47
+ }
48
+ }
40
49
  .pc-addons-new-header__right {
41
50
  justify-content: flex-end;
42
51
  width: 100%;
52
+ gap: 8px;
43
53
  }
44
54
 
45
55
  .pc-addons-new-header__wrap {
@@ -127,20 +137,38 @@ unpredictable css rules order in build */
127
137
  box-shadow: 0 3px 10px var(--g-color-base-generic-hover);
128
138
  }
129
139
 
140
+ .pc-addons-new-header__logo-img {
141
+ display: block;
142
+ height: 36px;
143
+ }
144
+
145
+ .pc-addons-new-header__buttons {
146
+ display: flex;
147
+ gap: 8px;
148
+ }
149
+
150
+ @media (max-width: 577px) {
151
+ .pc-addons-new-header__buttons {
152
+ display: none;
153
+ }
154
+ }
155
+ .pc-addons-new-header__button {
156
+ display: flex;
157
+ align-items: center;
158
+ padding: 0 12px;
159
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
160
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
161
+ font-weight: 500;
162
+ }
163
+
130
164
  @media (max-width: 1081px) {
131
165
  .pc-addons-new-header__left {
132
166
  margin-right: 0;
133
167
  }
134
168
  }
135
- @media (min-width: 769px) {
136
- .pc-addons-new-header__logo-img {
137
- height: 30px;
138
- }
139
- }
140
- @media (max-width: 768px) {
169
+ @media (max-width: 769px) {
141
170
  .pc-addons-new-header {
142
171
  max-width: 100%;
143
- padding: 16px 40px 16px 48px;
144
172
  border-top-left-radius: 0;
145
173
  border-top-right-radius: 0;
146
174
  }
@@ -154,15 +182,8 @@ unpredictable css rules order in build */
154
182
  .pc-addons-new-header_search .pc-addons-new-header__logo {
155
183
  display: none;
156
184
  }
157
- .pc-addons-new-header_search .pc-addons-new-header__back {
158
- display: block;
159
- }
160
185
  }
161
- @media (max-width: 576px) {
162
- .pc-addons-new-header {
163
- padding-left: 24px;
164
- padding-right: 16px;
165
- }
186
+ @media (max-width: 577px) {
166
187
  .pc-addons-new-header__container {
167
188
  height: 64px;
168
189
  }
@@ -12,7 +12,6 @@ export const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, classNa
12
12
  const { logo, buttons, left, right, mobile, login } = data;
13
13
  const headerRef = useRef(null);
14
14
  const [withBackground, setWithBackground] = useState(false);
15
- const [withShadow, setWithShadow] = useState(true);
16
15
  const [isSearchMode, setIsSearchMode] = useState(false);
17
16
  const [isMobileNavigationOpen, setIsMobileNavigationOpen] = useState(false);
18
17
  const [pageHasScroll, setPageHasScroll] = useState(false);
@@ -20,14 +19,8 @@ export const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, classNa
20
19
  const toggleSearch = useCallback((isActive) => setIsSearchMode(isActive), []);
21
20
  const toggleMobileNavigationPopup = useCallback((isOpened) => {
22
21
  setIsMobileNavigationOpen(isOpened);
23
- // disable header's shadow on mobile with opened menu and if page was scrolled
24
- if (isOpened && pageHasScroll) {
25
- setWithShadow(false);
26
- }
27
- }, [pageHasScroll]);
22
+ }, []);
28
23
  const onMenuScroll = useCallback((scrollTop) => {
29
- // enable header's shadow on mobile if mobile menu started to scroll
30
- setWithShadow(scrollTop > 0);
31
24
  if (!pageHasScroll) {
32
25
  setWithBackground(scrollTop > 0);
33
26
  }
@@ -55,11 +48,9 @@ export const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, classNa
55
48
  return (React.createElement(RouteChangeHandlerContext.Provider, { value: setupRouteChangeHandler },
56
49
  React.createElement("header", { className: b({
57
50
  search: isSearchMode,
51
+ 'with-background': withBackground,
58
52
  }, className), ref: headerRef },
59
- React.createElement("div", { className: b('container', {
60
- 'with-background': withBackground,
61
- 'with-shadow': withShadow,
62
- }) },
53
+ React.createElement("div", { className: b('container') },
63
54
  React.createElement("div", { className: b('left') },
64
55
  logo && (React.createElement("a", Object.assign({ href: logo.href, className: b('logo') }, getLinkProps(logo.href || '')), logo.src && (React.createElement("img", { className: b('logo-img'), alt: logo.alt, src: logo.src })))),
65
56
  left ? (React.createElement("div", { className: b('navigation') },
@@ -68,9 +59,10 @@ export const NewHeader = ({ data, setupRouteChangeHandler, renderSearch, classNa
68
59
  right ? (React.createElement("div", { className: b('navigation') },
69
60
  React.createElement(NHNavigation, { data: right, headerRef: headerRef }))) : null,
70
61
  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 }),
62
+ renderSearch && (React.createElement("div", { className: b('icons-container') }, renderSearch({ onActiveToggle: toggleSearch }))),
63
+ React.createElement("div", { className: b('buttons') },
64
+ showButtonsContainer &&
65
+ (buttons === null || buttons === void 0 ? void 0 : buttons.map((button) => (React.createElement(PCButton, Object.assign({}, button, { className: b('button'), size: "l", key: button.text }))))),
66
+ login && React.createElement(NHLoginButton, { data: login, headerRef: headerRef })),
75
67
  mobile ? (React.createElement(NHMobileNavigation, { toogleOpen: toggleMobileNavigationPopup, isOpened: isMobileNavigationOpen, isSearchOpen: isSearchMode, data: mobile, buttons: buttons, onMenuScroll: onMenuScroll, popupClassName: b('user-popup') })) : null))))));
76
68
  };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ChevronDown: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export const ChevronDown = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true" }, props),
3
+ React.createElement("path", { xmlns: "http://www.w3.org/2000/svg", d: "M10.4697 6.46967C10.7626 6.17678 11.2373 6.17678 11.5302 6.46967C11.8231 6.76256 11.8231 7.23732 11.5302 7.53022L8.53705 10.5234C8.24031 10.8199 7.75957 10.8199 7.46283 10.5234L4.46967 7.53022C4.17678 7.23732 4.17678 6.76256 4.46967 6.46967C4.76256 6.17678 5.23732 6.17678 5.53022 6.46967L7.99994 8.9394L10.4697 6.46967Z", fill: "currentColor" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ChevronUp: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export const ChevronUp = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true" }, props),
3
+ React.createElement("path", { xmlns: "http://www.w3.org/2000/svg", d: "M7.52039 5.42501C7.81886 5.18147 8.2587 5.19859 8.53699 5.47677L11.5302 8.46993C11.8229 8.76283 11.823 9.23762 11.5302 9.53048C11.2373 9.82321 10.7625 9.82321 10.4696 9.53048L7.99988 7.06075L5.53016 9.53048C5.23729 9.82321 4.76247 9.82321 4.46961 9.53048C4.17676 9.23762 4.17684 8.76283 4.46961 8.46993L7.46277 5.47677L7.52039 5.42501Z", fill: "currentColor" })));
@@ -6,9 +6,12 @@ unpredictable css rules order in build */
6
6
  height: 36px;
7
7
  gap: 4px;
8
8
  padding: 0 8px 0 12px;
9
- border-radius: 8px;
10
9
  background: var(--g-color-base-brand);
11
10
  color: var(--g-color-text-brand-contrast);
11
+ border-radius: var(--g-button-border-radius, 8px);
12
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
13
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
14
+ font-weight: 500;
12
15
  }
13
16
 
14
17
  .pc-addons-nh-login-button:hover {
@@ -1,8 +1,9 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
- import { ChevronDown, ChevronUp } from '@gravity-ui/icons';
3
2
  import { Icon } from '@gravity-ui/uikit';
4
3
  import { block } from '../../../../utils/cn';
5
4
  import { SWITCH_MENU_TAB_TIMEOUT } from '../../constants';
5
+ import { ChevronDown } from '../ChevronDown';
6
+ import { ChevronUp } from '../ChevronUp';
6
7
  import { NHLoginPopup } from '../NHLoginPopup/NHLoginPopup';
7
8
  import { NHNavigationPopup } from '../NHNavigationPopup/NHNavigationPopup';
8
9
  import './NHLoginButton.css';
@@ -41,7 +42,7 @@ export const NHLoginButton = ({ data, headerRef, setupRouteChangeHandler }) => {
41
42
  }), [handleMouseLeave, setupRouteChangeHandler]);
42
43
  return (React.createElement("div", { className: b(), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
43
44
  data.text,
44
- React.createElement(Icon, { data: isActive ? ChevronUp : ChevronDown, size: 14 }),
45
+ React.createElement(Icon, { data: isActive ? ChevronUp : ChevronDown, size: 16 }),
45
46
  isActive && (React.createElement(NHNavigationPopup, { headerRef: headerRef },
46
47
  React.createElement(NHLoginPopup, Object.assign({}, data))))));
47
48
  };
@@ -8,6 +8,11 @@ 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
  }
10
10
 
11
+ @media (min-width: 1081px) {
12
+ .pc-addons-nh-mobile-navigation {
13
+ display: none;
14
+ }
15
+ }
11
16
  .pc-addons-nh-mobile-navigation__icon {
12
17
  display: none;
13
18
  }
@@ -37,7 +42,7 @@ unpredictable css rules order in build */
37
42
  margin-top: 8px;
38
43
  }
39
44
 
40
- @media (max-width: 769px) {
45
+ @media (max-width: 1081px) {
41
46
  .pc-addons-nh-mobile-navigation__icon {
42
47
  display: block;
43
48
  }
@@ -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
- gap: 20px;
11
+ gap: 4px;
12
12
  }
13
13
 
14
14
  @media (max-width: 768px) {
@@ -16,7 +16,7 @@ unpredictable css rules order in build */
16
16
  display: none;
17
17
  }
18
18
  }
19
- @media (max-width: 769px) {
19
+ @media (max-width: 1081px) {
20
20
  .pc-addons-nh-navigation {
21
21
  display: none;
22
22
  }
@@ -6,7 +6,7 @@ unpredictable css rules order in build */
6
6
  }
7
7
 
8
8
  .pc-addons-nh-navigation-item:hover .pc-addons-nh-navigation-item__text {
9
- color: var(--g-color-text-link);
9
+ background-color: rgb(245, 246, 247);
10
10
  }
11
11
 
12
12
  .pc-addons-nh-navigation-item_disable {
@@ -25,6 +25,11 @@ unpredictable css rules order in build */
25
25
  box-shadow: 0 4px 24px var(--g-color-base-generic-hover), 0 2px 8px var(--g-color-base-generic-hover);
26
26
  }
27
27
 
28
+ @media (max-width: 1248px) {
29
+ .pc-addons-nh-navigation-item__icon {
30
+ display: none;
31
+ }
32
+ }
28
33
  .pc-addons-nh-navigation-item__text {
29
34
  display: inline-block;
30
35
  margin: 0;
@@ -37,17 +42,15 @@ unpredictable css rules order in build */
37
42
  cursor: pointer;
38
43
  color: inherit;
39
44
  text-decoration: none;
45
+ padding: 8px;
46
+ border-radius: 8px;
47
+ font-weight: 500;
40
48
  display: flex;
41
49
  align-items: center;
42
- gap: 4px;
43
50
  color: var(--g-color-text-primary);
44
51
  position: relative;
45
52
  }
46
53
 
47
- .pc-addons-nh-navigation-item__text_active {
48
- color: var(--g-color-text-link);
49
- }
50
-
51
54
  .pc-addons-nh-navigation-item__text_cursor_default {
52
55
  cursor: default;
53
56
  }
@@ -1,11 +1,12 @@
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
3
  import { Icon } from '@gravity-ui/uikit';
5
4
  import { block } from '../../../../utils/cn';
6
5
  import { NO_MENU_TAB_SELECTED } from '../../constants';
7
6
  import { RouteChangeHandlerContext } from '../../contexts/route-change';
8
7
  import { NHNavigationItemType } from '../../models';
8
+ import { ChevronDown } from '../ChevronDown';
9
+ import { ChevronUp } from '../ChevronUp';
9
10
  import './NHNavigationItem.css';
10
11
  const b = block('nh-navigation-item');
11
12
  export const NHNavigationItem = ({ item, isActive, handleActiveTab, index, children, tooltipId, }) => {
@@ -24,6 +25,6 @@ export const NHNavigationItem = ({ item, isActive, handleActiveTab, index, child
24
25
  return (React.createElement("li", { key: item.title, className: b({}), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
25
26
  React.createElement("button", { className: b('text', { active: isActive, cursor: 'default' }), onClick: handleMouseEnter, "aria-expanded": isActive, "aria-controls": tooltipId },
26
27
  item.title,
27
- React.createElement(Icon, { data: isActive ? ChevronUp : ChevronDown, size: 14 })),
28
+ React.createElement(Icon, { className: b('icon'), data: isActive ? ChevronUp : ChevronDown, size: 16 })),
28
29
  children));
29
30
  };
@@ -1,7 +1,10 @@
1
1
  .pc-addons-nh-navigation-popup {
2
2
  position: absolute;
3
- margin: 0 32px;
4
- width: calc(100% - 64px);
3
+ left: 0;
4
+ right: 0;
5
+ margin: 0 auto;
6
+ max-width: 1248px;
7
+ width: 100%;
5
8
  z-index: 10;
6
9
  }
7
10
 
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 1200px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 1200px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 1200px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
@@ -5,7 +5,6 @@ unpredictable css rules order in build */
5
5
  box-shadow: 0 4px 24px var(--g-color-base-generic), 0 2px 8px var(--g-color-base-generic);
6
6
  max-height: calc(100vh - 64px - 64px);
7
7
  overflow: auto;
8
- max-width: 900px;
9
8
  width: 100%;
10
9
  border-radius: var(--pc-border-radius, 24px);
11
10
  scrollbar-width: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doyourjob/gravity-ui-page-constructor-addons",
3
- "version": "2.1.26",
3
+ "version": "2.1.27",
4
4
  "description": "Components and plugins for @doyourjob/gravity-ui-page-constructor",
5
5
  "license": "MIT",
6
6
  "repository": {