@cloud-ru/uikit-product-site-header 1.10.3 → 2.0.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 2.0.0 (2026-09-04)
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+
12
+ * **SITE-11943:** remove unused code ([22125db](https://github.com/cloud-ru-tech/uikit-product/commit/22125db521dc308c6beee596b9ba5dfc373d1cfd))
13
+
14
+
15
+
16
+
6
17
  ## 1.10.3 (2026-09-03)
7
18
 
8
19
  ### Only dependencies have been changed
@@ -42,8 +42,6 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
42
42
  rightContent?: ReactNode;
43
43
  /** Контент сверху над хэдером, для инфостроки */
44
44
  subHeader?: ReactNode;
45
- /** Контент снизу под хэдером */
46
- afterHeaderContent?: ReactNode;
47
45
  /** Контент мобильной версии меню */
48
46
  mobileMenuContent?: ReactNode;
49
47
  /** Нижний контент кнопок мобильной версии меню */
@@ -51,4 +49,4 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
51
49
  /** className для левой части хедера */
52
50
  leftPartClassName?: string;
53
51
  }>>;
54
- export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, afterHeaderContent, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance, logo, leftPartClassName, mobileModalBodyClassName, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
52
+ export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance, logo, leftPartClassName, mobileModalBodyClassName, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -24,16 +24,15 @@ const helperComponents_1 = require("../../helperComponents");
24
24
  const hooks_1 = require("../../hooks");
25
25
  const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
26
26
  const HEIGHT_SUBHEADER = 56;
27
- const HEIGHT_AFTER_HEADER_CONTENT = 32;
28
27
  function SiteHeaderBasic(_a) {
29
- var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, afterHeaderContent, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance = 'none', logo, leftPartClassName, mobileModalBodyClassName } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "afterHeaderContent", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "appearance", "logo", "leftPartClassName", "mobileModalBodyClassName"]);
28
+ var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance = 'none', logo, leftPartClassName, mobileModalBodyClassName } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "appearance", "logo", "leftPartClassName", "mobileModalBodyClassName"]);
30
29
  const refHeader = (0, react_1.useRef)(null);
31
30
  const { showHeader, headerHeight } = (0, hooks_1.useHeaderPosition)(mobileMenuOpen, refHeader);
32
31
  const isMobileTabletView = layoutType === 'mobile' || layoutType === 'tablet';
33
32
  const isMobile = layoutType === 'mobile';
34
33
  return ((0, jsx_runtime_1.jsxs)(uikit_product_site_layout_1.Layout.Header, Object.assign({ style: {
35
- transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER + HEIGHT_AFTER_HEADER_CONTENT : 0}px)`,
34
+ transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER : 0}px)`,
36
35
  }, className: (0, classnames_1.default)(styles_module_scss_1.default.root, className), "data-attr": 'layout-header' }, (0, uikit_product_utils_1.extractSupportProps)(rest), { children: [subHeader, (0, jsx_runtime_1.jsx)("div", { ref: refHeader, className: (0, classnames_1.default)(styles_module_scss_1.default.headerMaster, styles_module_scss_1.default.dividerHeader, mainHeaderClassName), "data-layout-type": layoutType, "data-appearance": appearance, children: (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.headerPartsContainer, style: {
37
36
  maxWidth,
38
- }, children: fullWidthContent !== null && fullWidthContent !== void 0 ? fullWidthContent : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(styles_module_scss_1.default.leftPart, leftPartClassName), "data-layout-type": layoutType, children: (0, jsx_runtime_1.jsx)(helperComponents_1.LogoContent, { additionalLogoText: additionalLogoText, isMobile: isMobile, logo: logo }) }), (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.middlePart, children: middleContent }), (0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.rightPart, children: [rightContent, mobileMenuContent && isMobileTabletView && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(helperComponents_1.ButtonBurger, { appearance: appearance, mobileMenuOpen: mobileMenuOpen, onClick: () => onSetMobileMenuOpen(!mobileMenuOpen) }), (0, jsx_runtime_1.jsx)(helperComponents_1.MobileMenu, { mobileModalBodyClassName: mobileModalBodyClassName, mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) }), afterHeaderContent && (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.afterHeaderContentContainer, children: afterHeaderContent })] })));
37
+ }, children: fullWidthContent !== null && fullWidthContent !== void 0 ? fullWidthContent : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(styles_module_scss_1.default.leftPart, leftPartClassName), "data-layout-type": layoutType, children: (0, jsx_runtime_1.jsx)(helperComponents_1.LogoContent, { additionalLogoText: additionalLogoText, isMobile: isMobile, logo: logo }) }), (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.middlePart, children: middleContent }), (0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.rightPart, children: [rightContent, mobileMenuContent && isMobileTabletView && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(helperComponents_1.ButtonBurger, { appearance: appearance, mobileMenuOpen: mobileMenuOpen, onClick: () => onSetMobileMenuOpen(!mobileMenuOpen) }), (0, jsx_runtime_1.jsx)(helperComponents_1.MobileMenu, { mobileModalBodyClassName: mobileModalBodyClassName, mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) })] })));
39
38
  }
@@ -66,10 +66,4 @@
66
66
  box-sizing:border-box;
67
67
  margin:0 auto;
68
68
  overflow:hidden;
69
- }
70
-
71
- .afterHeaderContentContainer{
72
- display:flex;
73
- width:100%;
74
- height:32px;
75
69
  }
@@ -42,8 +42,6 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
42
42
  rightContent?: ReactNode;
43
43
  /** Контент сверху над хэдером, для инфостроки */
44
44
  subHeader?: ReactNode;
45
- /** Контент снизу под хэдером */
46
- afterHeaderContent?: ReactNode;
47
45
  /** Контент мобильной версии меню */
48
46
  mobileMenuContent?: ReactNode;
49
47
  /** Нижний контент кнопок мобильной версии меню */
@@ -51,4 +49,4 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
51
49
  /** className для левой части хедера */
52
50
  leftPartClassName?: string;
53
51
  }>>;
54
- export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, afterHeaderContent, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance, logo, leftPartClassName, mobileModalBodyClassName, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
52
+ export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance, logo, leftPartClassName, mobileModalBodyClassName, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -18,16 +18,15 @@ import { ButtonBurger, LogoContent, MobileMenu } from '../../helperComponents';
18
18
  import { useHeaderPosition } from '../../hooks';
19
19
  import styles from './styles.module.css';
20
20
  const HEIGHT_SUBHEADER = 56;
21
- const HEIGHT_AFTER_HEADER_CONTENT = 32;
22
21
  export function SiteHeaderBasic(_a) {
23
- var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, afterHeaderContent, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance = 'none', logo, leftPartClassName, mobileModalBodyClassName } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "afterHeaderContent", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "appearance", "logo", "leftPartClassName", "mobileModalBodyClassName"]);
22
+ var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance = 'none', logo, leftPartClassName, mobileModalBodyClassName } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "appearance", "logo", "leftPartClassName", "mobileModalBodyClassName"]);
24
23
  const refHeader = useRef(null);
25
24
  const { showHeader, headerHeight } = useHeaderPosition(mobileMenuOpen, refHeader);
26
25
  const isMobileTabletView = layoutType === 'mobile' || layoutType === 'tablet';
27
26
  const isMobile = layoutType === 'mobile';
28
27
  return (_jsxs(Layout.Header, Object.assign({ style: {
29
- transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER + HEIGHT_AFTER_HEADER_CONTENT : 0}px)`,
28
+ transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER : 0}px)`,
30
29
  }, className: cn(styles.root, className), "data-attr": 'layout-header' }, extractSupportProps(rest), { children: [subHeader, _jsx("div", { ref: refHeader, className: cn(styles.headerMaster, styles.dividerHeader, mainHeaderClassName), "data-layout-type": layoutType, "data-appearance": appearance, children: _jsx("div", { className: styles.headerPartsContainer, style: {
31
30
  maxWidth,
32
- }, children: fullWidthContent !== null && fullWidthContent !== void 0 ? fullWidthContent : (_jsxs(_Fragment, { children: [_jsx("div", { className: cn(styles.leftPart, leftPartClassName), "data-layout-type": layoutType, children: _jsx(LogoContent, { additionalLogoText: additionalLogoText, isMobile: isMobile, logo: logo }) }), _jsx("div", { className: styles.middlePart, children: middleContent }), _jsxs("div", { className: styles.rightPart, children: [rightContent, mobileMenuContent && isMobileTabletView && (_jsxs(_Fragment, { children: [_jsx(ButtonBurger, { appearance: appearance, mobileMenuOpen: mobileMenuOpen, onClick: () => onSetMobileMenuOpen(!mobileMenuOpen) }), _jsx(MobileMenu, { mobileModalBodyClassName: mobileModalBodyClassName, mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) }), afterHeaderContent && _jsx("div", { className: styles.afterHeaderContentContainer, children: afterHeaderContent })] })));
31
+ }, children: fullWidthContent !== null && fullWidthContent !== void 0 ? fullWidthContent : (_jsxs(_Fragment, { children: [_jsx("div", { className: cn(styles.leftPart, leftPartClassName), "data-layout-type": layoutType, children: _jsx(LogoContent, { additionalLogoText: additionalLogoText, isMobile: isMobile, logo: logo }) }), _jsx("div", { className: styles.middlePart, children: middleContent }), _jsxs("div", { className: styles.rightPart, children: [rightContent, mobileMenuContent && isMobileTabletView && (_jsxs(_Fragment, { children: [_jsx(ButtonBurger, { appearance: appearance, mobileMenuOpen: mobileMenuOpen, onClick: () => onSetMobileMenuOpen(!mobileMenuOpen) }), _jsx(MobileMenu, { mobileModalBodyClassName: mobileModalBodyClassName, mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) })] })));
33
32
  }
@@ -66,10 +66,4 @@
66
66
  box-sizing:border-box;
67
67
  margin:0 auto;
68
68
  overflow:hidden;
69
- }
70
-
71
- .afterHeaderContentContainer{
72
- display:flex;
73
- width:100%;
74
- height:32px;
75
69
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloud-ru/uikit-product-site-header",
3
3
  "title": "Siteheader",
4
- "version": "1.10.3",
4
+ "version": "2.0.0",
5
5
  "sideEffects": [
6
6
  "*.css",
7
7
  "*.woff",
@@ -54,5 +54,5 @@
54
54
  "peerDependencies": {
55
55
  "@cloud-ru/figma-tokens-web": "*"
56
56
  },
57
- "gitHead": "9cd0ee16a146d4bb4bc1e25b85e47e20fc7622da"
57
+ "gitHead": "63ff924e967b7eaa708f886022d0994f0ee524bf"
58
58
  }
@@ -54,8 +54,6 @@ export type HeaderProps = WithSupportProps<
54
54
  rightContent?: ReactNode;
55
55
  /** Контент сверху над хэдером, для инфостроки */
56
56
  subHeader?: ReactNode;
57
- /** Контент снизу под хэдером */
58
- afterHeaderContent?: ReactNode;
59
57
  /** Контент мобильной версии меню */
60
58
  mobileMenuContent?: ReactNode;
61
59
  /** Нижний контент кнопок мобильной версии меню */
@@ -66,7 +64,6 @@ export type HeaderProps = WithSupportProps<
66
64
  >;
67
65
 
68
66
  const HEIGHT_SUBHEADER = 56;
69
- const HEIGHT_AFTER_HEADER_CONTENT = 32;
70
67
 
71
68
  export function SiteHeaderBasic({
72
69
  className,
@@ -76,7 +73,6 @@ export function SiteHeaderBasic({
76
73
  rightContent,
77
74
  mobileMenuContent,
78
75
  subHeader,
79
- afterHeaderContent,
80
76
  fullWidthContent,
81
77
  layoutType,
82
78
  mobileConsultationButton,
@@ -97,7 +93,7 @@ export function SiteHeaderBasic({
97
93
  return (
98
94
  <Layout.Header
99
95
  style={{
100
- transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER + HEIGHT_AFTER_HEADER_CONTENT : 0}px)`,
96
+ transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER : 0}px)`,
101
97
  }}
102
98
  className={cn(styles.root, className)}
103
99
  data-attr='layout-header'
@@ -145,7 +141,6 @@ export function SiteHeaderBasic({
145
141
  )}
146
142
  </div>
147
143
  </div>
148
- {afterHeaderContent && <div className={styles.afterHeaderContentContainer}>{afterHeaderContent}</div>}
149
144
  </Layout.Header>
150
145
  );
151
146
  }
@@ -4,8 +4,8 @@
4
4
  position: sticky;
5
5
  top: 0;
6
6
  transition:
7
- box-shadow 0.3s ease-in-out,
8
- transform 0.3s ease-in-out;
7
+ box-shadow 0.3s ease-in-out,
8
+ transform 0.3s ease-in-out;
9
9
  }
10
10
 
11
11
  .headerMaster {
@@ -74,9 +74,3 @@
74
74
  margin: 0 auto;
75
75
  overflow: hidden;
76
76
  }
77
-
78
- .afterHeaderContentContainer {
79
- display: flex;
80
- width: 100%;
81
- height: 32px;
82
- }