@cloud-ru/uikit-product-site-header 0.5.5 → 0.6.1

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,26 @@
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
+ ## 0.6.1 (2025-12-04)
7
+
8
+ ### Only dependencies have been changed
9
+ * [@cloud-ru/uikit-product-site-layout@0.4.0](https://gitverse.ru/cloud-ru-tech/uikit-product/-/blob/master/packages/site-layout/CHANGELOG.md)
10
+
11
+
12
+
13
+
14
+
15
+ # 0.6.0 (2025-12-03)
16
+
17
+
18
+ ### Features
19
+
20
+ * **SITE-10319:** add new props appearance to site-header ([6e459d6](https://gitverse.ru/cloud-ru-tech/uikit-product/commits/6e459d6f692bb50fe17fa6686ef3a6aeec039490))
21
+
22
+
23
+
24
+
25
+
6
26
  ## 0.5.5 (2025-12-03)
7
27
 
8
28
  ### Only dependencies have been changed
@@ -1,5 +1,6 @@
1
1
  import { MouseEvent, ReactNode } from 'react';
2
2
  import { WithLayoutType, WithSupportProps } from '@cloud-ru/uikit-product-utils';
3
+ export type Appearance = 'neutral' | 'none';
3
4
  export type AdditionalLogoText = {
4
5
  /** Дополнительный текст Логотипа */
5
6
  text?: string;
@@ -25,6 +26,8 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
25
26
  maxWidth?: number;
26
27
  /** Флаг открытия мобильного меню */
27
28
  mobileMenuOpen: boolean;
29
+ /** Внешний вид */
30
+ appearance?: Appearance;
28
31
  /** Настройки Логотипа */
29
32
  logo: Logo;
30
33
  /** Функция изменения флаг открытия мобильного меню */
@@ -42,4 +45,4 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
42
45
  /** Нижний контент кнопок мобильной версии меню */
43
46
  mobileConsultationButton?: ReactNode;
44
47
  }>>;
45
- export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, logo, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance, logo, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -25,14 +25,14 @@ const hooks_1 = require("../../hooks");
25
25
  const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
26
26
  const HEIGHT_SUBHEADER = 25;
27
27
  function SiteHeaderBasic(_a) {
28
- var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, logo } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "logo"]);
28
+ var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance = 'none', logo } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "appearance", "logo"]);
29
29
  const refHeader = (0, react_1.useRef)(null);
30
30
  const { showHeader, headerHeight } = (0, hooks_1.useHeaderPosition)(mobileMenuOpen, refHeader);
31
31
  const isMobileTabletView = layoutType === 'mobile' || layoutType === 'tablet';
32
32
  const isMobile = layoutType === 'mobile';
33
33
  return ((0, jsx_runtime_1.jsxs)(uikit_product_site_layout_1.Layout.Header, Object.assign({ style: {
34
34
  transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER : 0}px)`,
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, children: (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.headerPartsContainer, style: {
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: {
36
36
  maxWidth,
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: styles_module_scss_1.default.leftPart, "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, { mobileMenuOpen: mobileMenuOpen, onClick: () => onSetMobileMenuOpen(!mobileMenuOpen) }), (0, jsx_runtime_1.jsx)(helperComponents_1.MobileMenu, { mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) })] })));
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: styles_module_scss_1.default.leftPart, "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, { mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) })] })));
38
38
  }
@@ -9,6 +9,9 @@
9
9
  background:var(--sys-neutral-background1-level, #fdfdfd);
10
10
  padding:0 32px;
11
11
  }
12
+ .headerMaster[data-appearance=neutral]{
13
+ background:var(--sys-neutral-background, #eeeff3);
14
+ }
12
15
  .headerMaster[data-layout-type=mobile]{
13
16
  padding:0 16px;
14
17
  }
@@ -1,6 +1,8 @@
1
+ import { Appearance } from '../../components/SiteHeaderBasic';
1
2
  type ButtonBurgerProps = {
3
+ appearance?: Appearance;
2
4
  mobileMenuOpen: boolean;
3
5
  onClick: () => void;
4
6
  };
5
- export declare function ButtonBurger({ mobileMenuOpen, onClick }: ButtonBurgerProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ButtonBurger({ mobileMenuOpen, onClick, appearance }: ButtonBurgerProps): import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -5,8 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ButtonBurger = ButtonBurger;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const uikit_product_button_predefined_1 = require("@cloud-ru/uikit-product-button-predefined");
8
9
  const uikit_product_icons_1 = require("@cloud-ru/uikit-product-icons");
9
10
  const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
10
- function ButtonBurger({ mobileMenuOpen, onClick }) {
11
- return ((0, jsx_runtime_1.jsx)("button", { className: styles_module_scss_1.default.buttonBurger, onClick: onClick, children: mobileMenuOpen ? (0, jsx_runtime_1.jsx)(uikit_product_icons_1.CloseSVG, {}) : (0, jsx_runtime_1.jsx)(uikit_product_icons_1.BurgerSVG, {}) }));
11
+ function ButtonBurger({ mobileMenuOpen, onClick, appearance }) {
12
+ const icon = mobileMenuOpen ? (0, jsx_runtime_1.jsx)(uikit_product_icons_1.CloseSVG, {}) : (0, jsx_runtime_1.jsx)(uikit_product_icons_1.BurgerSVG, {});
13
+ if (appearance === 'neutral') {
14
+ return (0, jsx_runtime_1.jsx)(uikit_product_button_predefined_1.ButtonPromoOutline, { icon: icon, size: 's', appearance: 'secondary' });
15
+ }
16
+ return ((0, jsx_runtime_1.jsx)("button", { className: styles_module_scss_1.default.buttonBurger, onClick: onClick, children: icon }));
12
17
  }
@@ -1,4 +1,4 @@
1
- import { AdditionalLogoText, Logo } from '../../components/SiteHeaderBasic/SiteHeaderBasic';
1
+ import { AdditionalLogoText, Logo } from '../../components/SiteHeaderBasic';
2
2
  export type LogoContentProps = {
3
3
  additionalLogoText?: AdditionalLogoText;
4
4
  logo: Logo;
@@ -1,5 +1,6 @@
1
1
  import { MouseEvent, ReactNode } from 'react';
2
2
  import { WithLayoutType, WithSupportProps } from '@cloud-ru/uikit-product-utils';
3
+ export type Appearance = 'neutral' | 'none';
3
4
  export type AdditionalLogoText = {
4
5
  /** Дополнительный текст Логотипа */
5
6
  text?: string;
@@ -25,6 +26,8 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
25
26
  maxWidth?: number;
26
27
  /** Флаг открытия мобильного меню */
27
28
  mobileMenuOpen: boolean;
29
+ /** Внешний вид */
30
+ appearance?: Appearance;
28
31
  /** Настройки Логотипа */
29
32
  logo: Logo;
30
33
  /** Функция изменения флаг открытия мобильного меню */
@@ -42,4 +45,4 @@ export type HeaderProps = WithSupportProps<WithLayoutType<{
42
45
  /** Нижний контент кнопок мобильной версии меню */
43
46
  mobileConsultationButton?: ReactNode;
44
47
  }>>;
45
- export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, logo, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function SiteHeaderBasic({ className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance, logo, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -19,14 +19,14 @@ import { useHeaderPosition } from '../../hooks';
19
19
  import styles from './styles.module.css';
20
20
  const HEIGHT_SUBHEADER = 25;
21
21
  export function SiteHeaderBasic(_a) {
22
- var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, logo } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "logo"]);
22
+ var { className, maxWidth, additionalLogoText, middleContent, rightContent, mobileMenuContent, subHeader, fullWidthContent, layoutType, mobileConsultationButton, mobileMenuOpen, onSetMobileMenuOpen, mainHeaderClassName, appearance = 'none', logo } = _a, rest = __rest(_a, ["className", "maxWidth", "additionalLogoText", "middleContent", "rightContent", "mobileMenuContent", "subHeader", "fullWidthContent", "layoutType", "mobileConsultationButton", "mobileMenuOpen", "onSetMobileMenuOpen", "mainHeaderClassName", "appearance", "logo"]);
23
23
  const refHeader = useRef(null);
24
24
  const { showHeader, headerHeight } = useHeaderPosition(mobileMenuOpen, refHeader);
25
25
  const isMobileTabletView = layoutType === 'mobile' || layoutType === 'tablet';
26
26
  const isMobile = layoutType === 'mobile';
27
27
  return (_jsxs(Layout.Header, Object.assign({ style: {
28
28
  transform: `translateY(-${!showHeader ? headerHeight + HEIGHT_SUBHEADER : 0}px)`,
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, children: _jsx("div", { className: styles.headerPartsContainer, style: {
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: {
30
30
  maxWidth,
31
- }, children: fullWidthContent !== null && fullWidthContent !== void 0 ? fullWidthContent : (_jsxs(_Fragment, { children: [_jsx("div", { className: styles.leftPart, "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, { mobileMenuOpen: mobileMenuOpen, onClick: () => onSetMobileMenuOpen(!mobileMenuOpen) }), _jsx(MobileMenu, { mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) })] })));
31
+ }, children: fullWidthContent !== null && fullWidthContent !== void 0 ? fullWidthContent : (_jsxs(_Fragment, { children: [_jsx("div", { className: styles.leftPart, "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, { mobileConsultationButton: mobileConsultationButton, mobileMenuContent: mobileMenuContent, mobileMenuOpen: mobileMenuOpen, onClickForCloseMobileMenu: () => onSetMobileMenuOpen(false) })] }))] })] })) }) })] })));
32
32
  }
@@ -9,6 +9,9 @@
9
9
  background:var(--sys-neutral-background1-level, #fdfdfd);
10
10
  padding:0 32px;
11
11
  }
12
+ .headerMaster[data-appearance=neutral]{
13
+ background:var(--sys-neutral-background, #eeeff3);
14
+ }
12
15
  .headerMaster[data-layout-type=mobile]{
13
16
  padding:0 16px;
14
17
  }
@@ -1,6 +1,8 @@
1
+ import { Appearance } from '../../components/SiteHeaderBasic';
1
2
  type ButtonBurgerProps = {
3
+ appearance?: Appearance;
2
4
  mobileMenuOpen: boolean;
3
5
  onClick: () => void;
4
6
  };
5
- export declare function ButtonBurger({ mobileMenuOpen, onClick }: ButtonBurgerProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ButtonBurger({ mobileMenuOpen, onClick, appearance }: ButtonBurgerProps): import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,6 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ButtonPromoOutline } from '@cloud-ru/uikit-product-button-predefined';
2
3
  import { BurgerSVG, CloseSVG } from '@cloud-ru/uikit-product-icons';
3
4
  import styles from './styles.module.css';
4
- export function ButtonBurger({ mobileMenuOpen, onClick }) {
5
- return (_jsx("button", { className: styles.buttonBurger, onClick: onClick, children: mobileMenuOpen ? _jsx(CloseSVG, {}) : _jsx(BurgerSVG, {}) }));
5
+ export function ButtonBurger({ mobileMenuOpen, onClick, appearance }) {
6
+ const icon = mobileMenuOpen ? _jsx(CloseSVG, {}) : _jsx(BurgerSVG, {});
7
+ if (appearance === 'neutral') {
8
+ return _jsx(ButtonPromoOutline, { icon: icon, size: 's', appearance: 'secondary' });
9
+ }
10
+ return (_jsx("button", { className: styles.buttonBurger, onClick: onClick, children: icon }));
6
11
  }
@@ -1,4 +1,4 @@
1
- import { AdditionalLogoText, Logo } from '../../components/SiteHeaderBasic/SiteHeaderBasic';
1
+ import { AdditionalLogoText, Logo } from '../../components/SiteHeaderBasic';
2
2
  export type LogoContentProps = {
3
3
  additionalLogoText?: AdditionalLogoText;
4
4
  logo: Logo;
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": "0.5.5",
4
+ "version": "0.6.1",
5
5
  "sideEffects": [
6
6
  "*.css",
7
7
  "*.woff",
@@ -36,9 +36,10 @@
36
36
  },
37
37
  "scripts": {},
38
38
  "dependencies": {
39
+ "@cloud-ru/uikit-product-button-predefined": "0.7.10",
39
40
  "@cloud-ru/uikit-product-icons": "16.0.0",
40
41
  "@cloud-ru/uikit-product-mobile-modal": "0.9.25",
41
- "@cloud-ru/uikit-product-site-layout": "0.3.0",
42
+ "@cloud-ru/uikit-product-site-layout": "0.4.0",
42
43
  "@cloud-ru/uikit-product-utils": "8.0.1",
43
44
  "@snack-uikit/alert": "0.16.17",
44
45
  "@snack-uikit/avatar": "0.8.15",
@@ -51,5 +52,5 @@
51
52
  "peerDependencies": {
52
53
  "@sbercloud/figma-tokens-web": "*"
53
54
  },
54
- "gitHead": "97f32de112901b4523a7bf7a87bc64aaf21f6c67"
55
+ "gitHead": "14f18bff39619ba8f885fff42922458e7e0ee62c"
55
56
  }
@@ -8,6 +8,8 @@ import { ButtonBurger, LogoContent, MobileMenu } from '../../helperComponents';
8
8
  import { useHeaderPosition } from '../../hooks';
9
9
  import styles from './styles.module.scss';
10
10
 
11
+ export type Appearance = 'neutral' | 'none';
12
+
11
13
  export type AdditionalLogoText = {
12
14
  /** Дополнительный текст Логотипа */
13
15
  text?: string;
@@ -36,6 +38,8 @@ export type HeaderProps = WithSupportProps<
36
38
  maxWidth?: number;
37
39
  /** Флаг открытия мобильного меню */
38
40
  mobileMenuOpen: boolean;
41
+ /** Внешний вид */
42
+ appearance?: Appearance;
39
43
  /** Настройки Логотипа */
40
44
  logo: Logo;
41
45
  /** Функция изменения флаг открытия мобильного меню */
@@ -71,6 +75,7 @@ export function SiteHeaderBasic({
71
75
  mobileMenuOpen,
72
76
  onSetMobileMenuOpen,
73
77
  mainHeaderClassName,
78
+ appearance = 'none',
74
79
  logo,
75
80
  ...rest
76
81
  }: HeaderProps) {
@@ -94,6 +99,7 @@ export function SiteHeaderBasic({
94
99
  ref={refHeader}
95
100
  className={cn(styles.headerMaster, styles.dividerHeader, mainHeaderClassName)}
96
101
  data-layout-type={layoutType}
102
+ data-appearance={appearance}
97
103
  >
98
104
  <div
99
105
  className={styles.headerPartsContainer}
@@ -112,6 +118,7 @@ export function SiteHeaderBasic({
112
118
  {mobileMenuContent && isMobileTabletView && (
113
119
  <>
114
120
  <ButtonBurger
121
+ appearance={appearance}
115
122
  mobileMenuOpen={mobileMenuOpen}
116
123
  onClick={() => onSetMobileMenuOpen(!mobileMenuOpen)}
117
124
  />
@@ -13,6 +13,10 @@
13
13
  background: ste.$sys-neutral-background1-level;
14
14
  padding: 0 32px;
15
15
 
16
+ &[data-appearance='neutral'] {
17
+ background: ste.$sys-neutral-background;
18
+ }
19
+
16
20
  &[data-layout-type='mobile'] {
17
21
  padding: 0 16px;
18
22
  }
@@ -1,16 +1,25 @@
1
+ import { ButtonPromoOutline } from '@cloud-ru/uikit-product-button-predefined';
1
2
  import { BurgerSVG, CloseSVG } from '@cloud-ru/uikit-product-icons';
2
3
 
4
+ import { Appearance } from '../../components/SiteHeaderBasic';
3
5
  import styles from './styles.module.scss';
4
6
 
5
7
  type ButtonBurgerProps = {
8
+ appearance?: Appearance;
6
9
  mobileMenuOpen: boolean;
7
10
  onClick: () => void;
8
11
  };
9
12
 
10
- export function ButtonBurger({ mobileMenuOpen, onClick }: ButtonBurgerProps) {
13
+ export function ButtonBurger({ mobileMenuOpen, onClick, appearance }: ButtonBurgerProps) {
14
+ const icon = mobileMenuOpen ? <CloseSVG /> : <BurgerSVG />;
15
+
16
+ if (appearance === 'neutral') {
17
+ return <ButtonPromoOutline icon={icon} size='s' appearance='secondary' />;
18
+ }
19
+
11
20
  return (
12
21
  <button className={styles.buttonBurger} onClick={onClick}>
13
- {mobileMenuOpen ? <CloseSVG /> : <BurgerSVG />}
22
+ {icon}
14
23
  </button>
15
24
  );
16
25
  }
@@ -1,7 +1,7 @@
1
1
  import { CloudFullLogoSVG } from '@cloud-ru/uikit-product-icons';
2
2
  import { Typography } from '@snack-uikit/typography';
3
3
 
4
- import { AdditionalLogoText, Logo } from '../../components/SiteHeaderBasic/SiteHeaderBasic';
4
+ import { AdditionalLogoText, Logo } from '../../components/SiteHeaderBasic';
5
5
  import styles from './styles.module.scss';
6
6
 
7
7
  export type LogoContentProps = {