@skbkontur/side-menu 0.2.0 → 0.2.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 (45) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +131 -135
  3. package/index.d.ts +1 -1
  4. package/index.js +1 -1
  5. package/package.json +2 -2
  6. package/src/InnerSubMenu.d.ts +9 -0
  7. package/src/InnerSubMenu.js +18 -0
  8. package/src/RightBorder.d.ts +8 -0
  9. package/src/RightBorder.js +71 -0
  10. package/src/SeparatedSubMenu.d.ts +8 -0
  11. package/src/SeparatedSubMenu.js +42 -0
  12. package/src/SideMenu.d.ts +23 -50
  13. package/src/SideMenu.js +81 -143
  14. package/src/SideMenu.styles.d.ts +8 -4
  15. package/src/SideMenu.styles.js +52 -44
  16. package/src/SideMenuAvatar.d.ts +6 -22
  17. package/src/SideMenuAvatar.js +10 -41
  18. package/src/SideMenuBody.d.ts +5 -7
  19. package/src/SideMenuBody.js +22 -15
  20. package/src/SideMenuBodyChildren.d.ts +6 -0
  21. package/src/SideMenuBodyChildren.js +26 -0
  22. package/src/SideMenuContext.d.ts +7 -6
  23. package/src/SideMenuContext.js +1 -1
  24. package/src/SideMenuDivider.d.ts +5 -10
  25. package/src/SideMenuDivider.js +11 -19
  26. package/src/SideMenuDropdown.d.ts +13 -0
  27. package/src/SideMenuDropdown.js +29 -0
  28. package/src/SideMenuFooter.d.ts +5 -7
  29. package/src/SideMenuFooter.js +19 -6
  30. package/src/SideMenuHeader.d.ts +4 -26
  31. package/src/SideMenuHeader.js +32 -76
  32. package/src/SideMenuItem.d.ts +9 -35
  33. package/src/SideMenuItem.js +134 -165
  34. package/src/SideMenuLogotype.d.ts +6 -0
  35. package/src/SideMenuLogotype.js +65 -0
  36. package/src/SideMenuOrganisations.d.ts +4 -16
  37. package/src/SideMenuOrganisations.js +12 -35
  38. package/src/SideMenuSubItem.d.ts +3 -17
  39. package/src/SideMenuSubItem.js +27 -42
  40. package/src/SideMenuSubItemHeader.d.ts +5 -12
  41. package/src/SideMenuSubItemHeader.js +13 -21
  42. package/src/SideMenuDropdownMenuSeparator.d.ts +0 -11
  43. package/src/SideMenuDropdownMenuSeparator.js +0 -25
  44. package/src/SideMenuSubItemButtons.d.ts +0 -15
  45. package/src/SideMenuSubItemButtons.js +0 -25
@@ -1,16 +1,23 @@
1
- import { __assign } from "tslib";
2
- import React, { useContext, useState } from 'react';
3
- import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
4
- import { SideMenuThemeContext } from './SideMenuContext';
1
+ import { __assign, __rest } from "tslib";
2
+ import React, { forwardRef, useContext, useState } from 'react';
3
+ import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
4
+ import { SideMenuContext } from './SideMenuContext';
5
5
  import { jsStyles } from './SideMenu.styles';
6
- export var SideMenuBody = function (props) {
7
- var _a = useState(false), hasIcons = _a[0], setHasIcons = _a[1];
8
- var oldContext = useContext(SideMenuThemeContext);
9
- var setHasIconsTemp = function () {
10
- setHasIcons(true);
11
- };
12
- return (React.createElement(SideMenuThemeContext.Provider, { value: __assign({ hasIcons: hasIcons, setHasIcons: setHasIconsTemp }, oldContext) },
13
- React.createElement(CommonWrapper, __assign({}, props),
14
- React.createElement("div", { className: jsStyles.body() }, props.children))));
15
- };
16
- SideMenuBody.__KONTUR_REACT_UI__ = 'SideMenuBody';
6
+ import { SideMenuBodyChildren } from './SideMenuBodyChildren';
7
+ /**
8
+ * Основной контейнер для меню
9
+ *
10
+ * @visibleName SideMenu.Body
11
+ */
12
+ var SideMenuBody = forwardRef(function (_a, ref) {
13
+ var _b;
14
+ var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
15
+ var _c = useState(false), hasIcons = _c[0], setHasIcons = _c[1];
16
+ var context = useContext(SideMenuContext);
17
+ return (React.createElement(SideMenuContext.Provider, { value: __assign({ hasIcons: hasIcons, setHasIcons: function () { return setHasIcons(true); } }, context) },
18
+ React.createElement("div", __assign({ className: cx((_b = {}, _b[jsStyles.body()] = true, _b), className), ref: ref }, rest),
19
+ React.createElement(SideMenuBodyChildren, null, children))));
20
+ });
21
+ SideMenuBody.displayName = 'SideMenuBody';
22
+ var SideMenuBodyWithStaticFields = Object.assign(SideMenuBody, { __KONTUR_REACT_UI__: 'SideMenuBody' });
23
+ export { SideMenuBodyWithStaticFields as SideMenuBody };
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
3
+ declare const SideMenuBodyChildrenWithStaticFields: React.FC<CommonProps> & {
4
+ __KONTUR_REACT_UI__: string;
5
+ };
6
+ export { SideMenuBodyChildrenWithStaticFields as SideMenuBodyChildren };
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { jsStyles } from './SideMenu.styles';
3
+ /**
4
+ * Внутренняя часть SideMenuBody
5
+ *
6
+ * @visibleName SideMenuBodyChildren
7
+ */
8
+ var SideMenuBodyChildren = function (_a) {
9
+ var children = _a.children;
10
+ return (React.createElement(React.Fragment, null, React.Children.map(children, function (child) {
11
+ if (React.isValidElement(child)) {
12
+ // @ts-expect-error: accessing private property
13
+ if ((child === null || child === void 0 ? void 0 : child.type.__KONTUR_REACT_UI__) === 'SideMenuDivider') {
14
+ return React.cloneElement(child, {
15
+ className: jsStyles.dividerInSideMenu(),
16
+ });
17
+ }
18
+ return child;
19
+ }
20
+ })));
21
+ };
22
+ SideMenuBodyChildren.displayName = 'SideMenuBodyChildren';
23
+ var SideMenuBodyChildrenWithStaticFields = Object.assign(SideMenuBodyChildren, {
24
+ __KONTUR_REACT_UI__: 'SideMenuBodyChildren',
25
+ });
26
+ export { SideMenuBodyChildrenWithStaticFields as SideMenuBodyChildren };
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  export interface SideMenuContextType {
3
2
  isMinimised?: boolean;
4
3
  isTransitioned?: boolean;
@@ -6,10 +5,12 @@ export interface SideMenuContextType {
6
5
  size?: 'small' | 'large';
7
6
  hasIcons?: boolean;
8
7
  setHasIcons?: () => void;
9
- activeItem?: React.ReactNode;
10
- setActiveItem?: (item: React.ReactNode) => void;
11
- activeSubItem?: React.ReactNode;
12
- setActiveSubItem?: (item: React.ReactNode) => void;
8
+ activeItem?: string | null;
9
+ setActiveItem?: (item: string | null) => void;
10
+ activeSubItem?: string | null;
11
+ setActiveSubItem?: (item: string | null) => void;
13
12
  hasSubIcons?: boolean;
13
+ productColor?: string;
14
+ setProductColor?: (color: string) => void;
14
15
  }
15
- export declare const SideMenuThemeContext: React.Context<SideMenuContextType>;
16
+ export declare const SideMenuContext: import("react").Context<SideMenuContextType>;
@@ -1,2 +1,2 @@
1
1
  import { createContext } from 'react';
2
- export var SideMenuThemeContext = createContext({});
2
+ export var SideMenuContext = createContext({});
@@ -1,11 +1,6 @@
1
1
  import React from 'react';
2
- /**
3
- * Разделитель в главном меню
4
- *
5
- * @visibleName SideMenu.Divider
6
- */
7
- export declare class SideMenuDivider extends React.Component {
8
- static __KONTUR_REACT_UI__: string;
9
- render(): JSX.Element;
10
- renderMain(): JSX.Element;
11
- }
2
+ import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
3
+ declare const SideMenuDividerWithStaticFields: React.ForwardRefExoticComponent<CommonProps & React.RefAttributes<HTMLHRElement>> & {
4
+ __KONTUR_REACT_UI__: string;
5
+ };
6
+ export { SideMenuDividerWithStaticFields as SideMenuDivider };
@@ -1,25 +1,17 @@
1
- import { __assign, __extends } from "tslib";
2
- import React from 'react';
3
- import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
1
+ import { __assign, __rest } from "tslib";
2
+ import React, { forwardRef } from 'react';
3
+ import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
4
4
  import { jsStyles } from './SideMenu.styles';
5
5
  /**
6
6
  * Разделитель в главном меню
7
7
  *
8
8
  * @visibleName SideMenu.Divider
9
9
  */
10
- var SideMenuDivider = /** @class */ (function (_super) {
11
- __extends(SideMenuDivider, _super);
12
- function SideMenuDivider() {
13
- return _super !== null && _super.apply(this, arguments) || this;
14
- }
15
- SideMenuDivider.prototype.render = function () {
16
- return this.renderMain();
17
- };
18
- SideMenuDivider.prototype.renderMain = function () {
19
- return (React.createElement(CommonWrapper, __assign({}, this.props),
20
- React.createElement("hr", { className: jsStyles.divider() })));
21
- };
22
- SideMenuDivider.__KONTUR_REACT_UI__ = 'SideMenuDivider';
23
- return SideMenuDivider;
24
- }(React.Component));
25
- export { SideMenuDivider };
10
+ var SideMenuDivider = forwardRef(function (_a, ref) {
11
+ var _b;
12
+ var className = _a.className, rest = __rest(_a, ["className"]);
13
+ return React.createElement("hr", __assign({ className: cx((_b = {}, _b[jsStyles.dividerInDropdown()] = true, _b), className), ref: ref }, rest));
14
+ });
15
+ SideMenuDivider.displayName = 'SideMenuDivider';
16
+ var SideMenuDividerWithStaticFields = Object.assign(SideMenuDivider, { __KONTUR_REACT_UI__: 'SideMenuDivider' });
17
+ export { SideMenuDividerWithStaticFields as SideMenuDivider };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { DropdownMenuProps } from '@skbkontur/react-ui';
3
+ import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
4
+ export interface SideMenuDropdownProps extends CommonProps, Omit<DropdownMenuProps, 'caption' | 'disableAnimations'> {
5
+ icon?: React.ReactElement;
6
+ children?: React.ReactNode;
7
+ caption?: string;
8
+ disableAnimations?: boolean;
9
+ }
10
+ declare const SideMenuDropdownWithStaticFields: React.ForwardRefExoticComponent<SideMenuDropdownProps & React.RefAttributes<HTMLDivElement>> & {
11
+ __KONTUR_REACT_UI__: string;
12
+ };
13
+ export { SideMenuDropdownWithStaticFields as SideMenuDropdown };
@@ -0,0 +1,29 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import React, { forwardRef } from 'react';
3
+ import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
4
+ import { DEFAULT_THEME, DropdownMenu, ThemeFactory } from '@skbkontur/react-ui';
5
+ import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
6
+ import { jsStyles } from './SideMenu.styles';
7
+ import { SideMenuItem } from './SideMenuItem';
8
+ /**
9
+ * Элемент списка с выпадающим меню
10
+ *
11
+ * @visibleName SideMenu.Dropdown
12
+ */
13
+ var SideMenuDropdown = forwardRef(function (_a, ref) {
14
+ var _b;
15
+ var icon = _a.icon, children = _a.children, _c = _a.caption, caption = _c === void 0 ? 'СКБ Контур' : _c, className = _a.className, _d = _a.disableAnimations, disableAnimations = _d === void 0 ? false : _d, menuWidth = _a.menuWidth, rest = __rest(_a, ["icon", "children", "caption", "className", "disableAnimations", "menuWidth"]);
16
+ var label = (React.createElement("div", { className: jsStyles.dropdownLabel() },
17
+ React.createElement(SideMenuItem, { icon: icon, caption: caption })));
18
+ return (React.createElement(ThemeContext.Provider, { value: ThemeFactory.create({
19
+ menuItemHoverBg: '#f6f6f6',
20
+ menuItemHoverColor: '#222',
21
+ popupBorderRadius: '8px',
22
+ menuItemPaddingX: '32px',
23
+ }, DEFAULT_THEME) },
24
+ React.createElement("div", __assign({ className: cx((_b = {}, _b[jsStyles.dropdownWrapper()] = true, _b), className), ref: ref }, rest),
25
+ React.createElement(DropdownMenu, __assign({ caption: label, positions: ['top left'], disableAnimations: true, menuWidth: menuWidth }, rest), children))));
26
+ });
27
+ SideMenuDropdown.displayName = 'SideMenuDropdown';
28
+ var SideMenuDropdownWithStaticFields = Object.assign(SideMenuDropdown, { __KONTUR_REACT_UI__: 'SideMenuDropdown' });
29
+ export { SideMenuDropdownWithStaticFields as SideMenuDropdown };
@@ -1,11 +1,9 @@
1
1
  import React from 'react';
2
2
  import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
3
- /**
4
- * Нижняя часть меню
5
- *
6
- * @visibleName SideMenu.Footer
7
- */
8
- export declare type SideMenuFooterProps = CommonProps & {
3
+ export interface SideMenuFooterProps extends CommonProps {
9
4
  children?: React.ReactNode;
5
+ }
6
+ declare const SideMenuFooterWithStaticFields: React.FC<SideMenuFooterProps> & {
7
+ __KONTUR_REACT_UI__: string;
10
8
  };
11
- export declare const SideMenuFooter: React.FC<SideMenuFooterProps>;
9
+ export { SideMenuFooterWithStaticFields as SideMenuFooter };
@@ -1,7 +1,20 @@
1
- import { __assign } from "tslib";
2
- import React from 'react';
3
- import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
1
+ import { __assign, __rest } from "tslib";
2
+ import React, { forwardRef, useContext } from 'react';
3
+ import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
4
4
  import { jsStyles } from './SideMenu.styles';
5
- export var SideMenuFooter = function (props) { return (React.createElement(CommonWrapper, __assign({}, props),
6
- React.createElement("footer", { className: jsStyles.footer() }, props.children))); };
7
- SideMenuFooter.__KONTUR_REACT_UI__ = 'SideMenuFooter';
5
+ import { SideMenuContext } from './SideMenuContext';
6
+ /**
7
+ * Нижняя часть меню
8
+ *
9
+ * @visibleName SideMenu.Footer
10
+ */
11
+ var SideMenuFooter = forwardRef(function (_a, ref) {
12
+ var _b;
13
+ var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
14
+ var context = useContext(SideMenuContext);
15
+ return (React.createElement(SideMenuContext.Provider, { value: __assign({ hasIcons: true }, context) },
16
+ React.createElement("footer", __assign({ className: cx((_b = {}, _b[jsStyles.footer()] = true, _b), className), ref: ref }, rest), children)));
17
+ });
18
+ SideMenuFooter.displayName = 'SideMenuFooter';
19
+ var SideMenuFooterWithStaticFields = Object.assign(SideMenuFooter, { __KONTUR_REACT_UI__: 'SideMenuFooter' });
20
+ export { SideMenuFooterWithStaticFields as SideMenuFooter };
@@ -1,31 +1,9 @@
1
1
  import React from 'react';
2
2
  import { LogotypeProps } from '@skbkontur/react-ui-addons/components/Logotype';
3
- declare type SideMenuHeaderState = {
4
- withWidget: boolean;
5
- fixed: boolean;
6
- size: number;
7
- };
8
3
  export interface SideMenuHeaderProps extends Partial<LogotypeProps> {
9
4
  iconUrl?: string;
10
5
  }
11
- /**
12
- * Контейнер для логотипа
13
- *
14
- * @visibleName SideMenu.Header
15
- */
16
- export declare class SideMenuHeader extends React.Component<SideMenuHeaderProps, SideMenuHeaderState> {
17
- static __KONTUR_REACT_UI__: string;
18
- static contextType: React.Context<import("./SideMenuContext").SideMenuContextType>;
19
- private widgetTimer;
20
- private readonly headerWrapperRef;
21
- constructor(props: SideMenuHeaderProps);
22
- componentDidMount: () => void;
23
- componentWillUnmount(): void;
24
- private checkFixed;
25
- render(): JSX.Element;
26
- renderMain(): JSX.Element;
27
- private handleMouseEnter;
28
- private handleMouseLeave;
29
- private static changeCamelCaseToKebabCase;
30
- }
31
- export {};
6
+ declare const SideMenuHeaderWithStaticFields: React.ForwardRefExoticComponent<SideMenuHeaderProps & React.RefAttributes<HTMLDivElement>> & {
7
+ __KONTUR_REACT_UI__: string;
8
+ };
9
+ export { SideMenuHeaderWithStaticFields as SideMenuHeader };
@@ -1,86 +1,42 @@
1
- import { __assign, __extends } from "tslib";
2
- import React from 'react';
1
+ import { __assign, __rest } from "tslib";
2
+ import React, { forwardRef, useContext, useEffect, useRef, useState } from 'react';
3
3
  import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
4
- import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
5
- import { Logotype } from '@skbkontur/react-ui-addons/components/Logotype';
4
+ import { mergeRefs } from '@skbkontur/react-ui/lib/utils';
6
5
  import { jsStyles } from './SideMenu.styles';
7
- import { SideMenuThemeContext } from './SideMenuContext';
6
+ import { SideMenuContext } from './SideMenuContext';
7
+ import { SideMenuLogotype } from './SideMenuLogotype';
8
8
  /**
9
9
  * Контейнер для логотипа
10
10
  *
11
11
  * @visibleName SideMenu.Header
12
12
  */
13
- var SideMenuHeader = /** @class */ (function (_super) {
14
- __extends(SideMenuHeader, _super);
15
- function SideMenuHeader(props) {
16
- var _this = _super.call(this, props) || this;
17
- _this.componentDidMount = function () {
18
- window.addEventListener('scroll', _this.checkFixed, true);
19
- if (_this.headerWrapperRef.current &&
20
- _this.headerWrapperRef.current.scrollWidth > _this.headerWrapperRef.current.clientWidth) {
21
- _this.setState({ size: 24 });
22
- }
23
- };
24
- _this.checkFixed = function () {
25
- if (_this.headerWrapperRef.current && _this.headerWrapperRef.current.offsetTop > 0) {
26
- _this.setState({ fixed: true });
27
- }
28
- else {
29
- _this.setState({ fixed: false });
30
- }
31
- };
32
- _this.handleMouseEnter = function () {
33
- _this.widgetTimer = setTimeout(function () {
34
- _this.setState({ withWidget: true });
35
- }, 500);
36
- };
37
- _this.handleMouseLeave = function () {
38
- if (_this.widgetTimer) {
39
- clearTimeout(_this.widgetTimer);
40
- }
41
- _this.setState({ withWidget: false });
42
- };
43
- _this.state = {
44
- withWidget: false,
45
- fixed: false,
46
- size: 28,
47
- };
48
- _this.headerWrapperRef = React.createRef();
49
- return _this;
50
- }
51
- SideMenuHeader.prototype.componentWillUnmount = function () {
52
- if (this.widgetTimer) {
53
- clearTimeout(this.widgetTimer);
13
+ var SideMenuHeader = forwardRef(function (_a, ref) {
14
+ var _b;
15
+ var className = _a.className, productLogo = _a.productLogo, konturLogo = _a.konturLogo, iconUrl = _a.iconUrl, rest = __rest(_a, ["className", "productLogo", "konturLogo", "iconUrl"]);
16
+ var context = useContext(SideMenuContext);
17
+ var headerWrapperRef = useRef(null);
18
+ var _c = useState(false), fixed = _c[0], setFixed = _c[1];
19
+ var checkFixed = function () {
20
+ if (headerWrapperRef.current && headerWrapperRef.current.offsetTop > 0) {
21
+ setFixed(true);
54
22
  }
55
- window.removeEventListener('scroll', this.checkFixed, true);
56
- };
57
- SideMenuHeader.prototype.render = function () {
58
- return this.renderMain();
59
- };
60
- SideMenuHeader.prototype.renderMain = function () {
61
- var _a;
62
- var name = 'kontur';
63
- if (this.props.productLogo && typeof this.props.productLogo.type === 'function') {
64
- name = this.props.productLogo.type.name;
65
- var capitalLetters = name.match(/[A-Z]/g);
66
- if (capitalLetters && capitalLetters.length > 1) {
67
- name = SideMenuHeader.changeCamelCaseToKebabCase(name, capitalLetters[1]);
68
- }
23
+ else {
24
+ setFixed(false);
69
25
  }
70
- return (React.createElement(CommonWrapper, __assign({}, this.props),
71
- React.createElement("header", { className: cx((_a = {},
72
- _a[jsStyles.headerWrapper()] = true,
73
- _a[jsStyles.headerFixedWrapper()] = this.state.fixed,
74
- _a[jsStyles.headerMinimisedWrapper()] = this.context.isMinimised || this.context.isTransitioned,
75
- _a)), ref: this.headerWrapperRef }, this.context.isMinimised || this.context.isTransitioned ? (React.createElement("img", { className: jsStyles.headerIcon(), src: this.props.iconUrl || "https://s.kontur.ru/common-v2/icons-products/" + name + "/" + name + "-32.png", alt: name })) : (React.createElement("div", { onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave },
76
- React.createElement(Logotype, __assign({ size: this.state.size }, this.props, { withWidget: this.state.withWidget })))))));
77
26
  };
78
- SideMenuHeader.changeCamelCaseToKebabCase = function (str, capitalLetter) {
79
- var index = str.split('').indexOf(capitalLetter);
80
- return str.substring(0, index) + '-' + str.substring(index);
81
- };
82
- SideMenuHeader.__KONTUR_REACT_UI__ = 'SideMenuHeader';
83
- SideMenuHeader.contextType = SideMenuThemeContext;
84
- return SideMenuHeader;
85
- }(React.Component));
86
- export { SideMenuHeader };
27
+ useEffect(function () {
28
+ window.addEventListener('scroll', checkFixed, true);
29
+ return function () {
30
+ window.removeEventListener('scroll', checkFixed, true);
31
+ };
32
+ });
33
+ return (React.createElement("header", __assign({ className: cx((_b = {},
34
+ _b[jsStyles.headerWrapper()] = true,
35
+ _b[jsStyles.headerFixedWrapper()] = fixed,
36
+ _b[jsStyles.headerMinimisedWrapper()] = context.isMinimised || context.isTransitioned,
37
+ _b), className), ref: mergeRefs([headerWrapperRef, ref]) }, rest),
38
+ React.createElement(SideMenuLogotype, __assign({ productLogo: productLogo, konturLogo: konturLogo, iconUrl: iconUrl }, rest))));
39
+ });
40
+ SideMenuHeader.displayName = 'SideMenuHeader';
41
+ var SideMenuHeaderWithStaticFields = Object.assign(SideMenuHeader, { __KONTUR_REACT_UI__: 'SideMenuHeader' });
42
+ export { SideMenuHeaderWithStaticFields as SideMenuHeader };
@@ -1,42 +1,16 @@
1
1
  import React from 'react';
2
- import { SideMenuContextType } from './SideMenuContext';
3
- export declare type SideMenuItemProps = {
4
- onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
5
- onKeyDown?: (event: React.KeyboardEvent<HTMLDivElement>) => void;
2
+ import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
3
+ export interface SideMenuItemProps extends CommonProps {
4
+ onClick?: (event: React.MouseEvent) => void;
5
+ onKeyDown?: (event: React.KeyboardEvent) => void;
6
6
  children?: React.ReactNode;
7
7
  icon?: React.ReactElement;
8
8
  marker?: string;
9
9
  caption?: string;
10
10
  isSubMenu?: boolean;
11
- parent?: React.ReactNode;
12
- };
13
- declare type SideMenuItemState = {
14
- isOpened: boolean;
15
- focusedByTab: boolean;
16
- isMultiline: boolean;
17
- };
18
- /**
19
- * Элемент списка
20
- *
21
- * @visibleName SideMenu.Item
22
- */
23
- export declare class SideMenuItem extends React.Component<SideMenuItemProps, SideMenuItemState> {
24
- static __KONTUR_REACT_UI__: string;
25
- static contextType: React.Context<SideMenuContextType>;
26
- private previousContext;
27
- private readonly textRef;
28
- private separatedMenu;
29
- constructor(props: SideMenuItemProps);
30
- componentDidMount(): void;
31
- componentDidUpdate(): void;
32
- render(): JSX.Element;
33
- renderMain(): JSX.Element;
34
- private renderInnerSubMenu;
35
- private renderSeparatedSubMenu;
36
- private handleClick;
37
- private handleFocus;
38
- private handleBlur;
39
- private handleKeyDown;
40
- private setActive;
11
+ parent?: string;
41
12
  }
42
- export {};
13
+ declare const SideMenuItemWithStaticFields: React.ForwardRefExoticComponent<SideMenuItemProps & React.RefAttributes<HTMLButtonElement>> & {
14
+ __KONTUR_REACT_UI__: string;
15
+ };
16
+ export { SideMenuItemWithStaticFields as SideMenuItem };