@skbkontur/side-menu 0.1.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 +19 -0
- package/README.md +186 -0
- package/index.d.ts +11 -0
- package/index.js +11 -0
- package/package.json +29 -0
- package/src/SideMenu.d.ts +60 -0
- package/src/SideMenu.js +163 -0
- package/src/SideMenu.styles.d.ts +54 -0
- package/src/SideMenu.styles.js +162 -0
- package/src/SideMenuAvatar.d.ts +25 -0
- package/src/SideMenuAvatar.js +47 -0
- package/src/SideMenuBody.d.ts +9 -0
- package/src/SideMenuBody.js +16 -0
- package/src/SideMenuContext.d.ts +15 -0
- package/src/SideMenuContext.js +2 -0
- package/src/SideMenuDivider.d.ts +11 -0
- package/src/SideMenuDivider.js +25 -0
- package/src/SideMenuDropdownMenuSeparator.d.ts +11 -0
- package/src/SideMenuDropdownMenuSeparator.js +25 -0
- package/src/SideMenuFooter.d.ts +9 -0
- package/src/SideMenuFooter.js +7 -0
- package/src/SideMenuHeader.d.ts +31 -0
- package/src/SideMenuHeader.js +86 -0
- package/src/SideMenuItem.d.ts +42 -0
- package/src/SideMenuItem.js +184 -0
- package/src/SideMenuOrganisations.d.ts +15 -0
- package/src/SideMenuOrganisations.js +37 -0
- package/src/SideMenuSubItem.d.ts +20 -0
- package/src/SideMenuSubItem.js +54 -0
- package/src/SideMenuSubItemButtons.d.ts +11 -0
- package/src/SideMenuSubItemButtons.js +25 -0
- package/src/SideMenuSubItemHeader.d.ts +12 -0
- package/src/SideMenuSubItemHeader.js +27 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
|
+
import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
5
|
+
import { keyListener } from '@skbkontur/react-ui/lib/events/keyListener';
|
|
6
|
+
import { jsStyles } from './SideMenu.styles';
|
|
7
|
+
import { SideMenuThemeContext } from './SideMenuContext';
|
|
8
|
+
/**
|
|
9
|
+
* Элемент списка
|
|
10
|
+
*
|
|
11
|
+
* @visibleName SideMenu.Item
|
|
12
|
+
*/
|
|
13
|
+
var SideMenuItem = /** @class */ (function (_super) {
|
|
14
|
+
__extends(SideMenuItem, _super);
|
|
15
|
+
function SideMenuItem(props) {
|
|
16
|
+
var _this = _super.call(this, props) || this;
|
|
17
|
+
_this.previousContext = {};
|
|
18
|
+
_this.renderInnerSubMenu = function () {
|
|
19
|
+
var childrenWithProps = React.Children.map(_this.props.children, function (child) {
|
|
20
|
+
if (React.isValidElement(child)) {
|
|
21
|
+
return React.cloneElement(child, { parent: _this });
|
|
22
|
+
}
|
|
23
|
+
return child;
|
|
24
|
+
});
|
|
25
|
+
return _this.state.isOpened && !_this.context.isMinimised && !_this.props.isSubMenu && childrenWithProps;
|
|
26
|
+
};
|
|
27
|
+
_this.renderSeparatedSubMenu = function () {
|
|
28
|
+
var _a;
|
|
29
|
+
var hasSubItems = false;
|
|
30
|
+
var subItemHasChildren = function (subItem) {
|
|
31
|
+
return subItem &&
|
|
32
|
+
typeof subItem === 'object' &&
|
|
33
|
+
'type' in subItem &&
|
|
34
|
+
typeof subItem.type === 'function' &&
|
|
35
|
+
(subItem === null || subItem === void 0 ? void 0 : subItem.type.name) === 'SideMenuSubItem' &&
|
|
36
|
+
subItem.props.children;
|
|
37
|
+
};
|
|
38
|
+
if (_this.state.isOpened) {
|
|
39
|
+
React.Children.map(_this.props.children, function (child) {
|
|
40
|
+
if (subItemHasChildren(child)) {
|
|
41
|
+
hasSubItems = true;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return (_this.state.isOpened &&
|
|
46
|
+
!_this.props.isSubMenu && (React.createElement("div", { className: cx((_a = {}, _a[jsStyles.root()] = true, _a[jsStyles.separatedMenu()] = true, _a)), ref: function (node) { return (_this.separatedMenu = node); } },
|
|
47
|
+
React.createElement(SideMenuThemeContext.Provider, { value: __assign({ hasSubIcons: hasSubItems }, _this.context) }, _this.props.children))));
|
|
48
|
+
};
|
|
49
|
+
_this.handleClick = function (e) {
|
|
50
|
+
if (_this.props._onClick) {
|
|
51
|
+
_this.props._onClick(e);
|
|
52
|
+
}
|
|
53
|
+
_this.setActive();
|
|
54
|
+
_this.setState({ isOpened: !!_this.props.children });
|
|
55
|
+
};
|
|
56
|
+
_this.handleFocus = function () {
|
|
57
|
+
requestAnimationFrame(function () {
|
|
58
|
+
if (keyListener.isTabPressed) {
|
|
59
|
+
_this.setState({ focusedByTab: true });
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
_this.handleBlur = function () {
|
|
64
|
+
_this.setState({ focusedByTab: false });
|
|
65
|
+
};
|
|
66
|
+
_this.handleKeyDown = function (e) {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
if (e.key === 'Enter') {
|
|
69
|
+
_this.setState({ isOpened: !_this.props.children ? false : !_this.state.isOpened });
|
|
70
|
+
_this.setActive();
|
|
71
|
+
}
|
|
72
|
+
(_b = (_a = _this.props)._onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
73
|
+
};
|
|
74
|
+
_this.setActive = function () {
|
|
75
|
+
if (_this.props.isSubMenu) {
|
|
76
|
+
if (_this.props.parent) {
|
|
77
|
+
_this.context.setActiveItem(_this.props.parent);
|
|
78
|
+
}
|
|
79
|
+
_this.context.setActiveSubItem(_this);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
if (!_this.context.isSeparatedMenu) {
|
|
83
|
+
_this.context.setActiveSubItem(null);
|
|
84
|
+
}
|
|
85
|
+
_this.context.setActiveItem(_this);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
_this.state = {
|
|
89
|
+
isOpened: false,
|
|
90
|
+
focusedByTab: false,
|
|
91
|
+
isMultiline: false,
|
|
92
|
+
};
|
|
93
|
+
_this.textRef = React.createRef();
|
|
94
|
+
return _this;
|
|
95
|
+
}
|
|
96
|
+
SideMenuItem.prototype.componentDidMount = function () {
|
|
97
|
+
var _a, _b;
|
|
98
|
+
if (this.props.icon && !this.props.isSubMenu) {
|
|
99
|
+
(_b = (_a = this.context).setHasIcons) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
100
|
+
}
|
|
101
|
+
if (this.textRef.current) {
|
|
102
|
+
var el = this.textRef.current;
|
|
103
|
+
var divHeight = +el.offsetHeight;
|
|
104
|
+
var lineHeight = parseInt(window.getComputedStyle(this.textRef.current).getPropertyValue('font-size')) * 1.14;
|
|
105
|
+
var lines = divHeight / lineHeight;
|
|
106
|
+
if (lines > 2) {
|
|
107
|
+
this.setState({ isMultiline: true });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.previousContext = this.context;
|
|
111
|
+
};
|
|
112
|
+
SideMenuItem.prototype.componentDidUpdate = function () {
|
|
113
|
+
if (this.previousContext.activeItem !== this.context.activeItem && this.context.activeItem !== this) {
|
|
114
|
+
this.setState({ isOpened: false });
|
|
115
|
+
}
|
|
116
|
+
this.previousContext = this.context;
|
|
117
|
+
};
|
|
118
|
+
SideMenuItem.prototype.render = function () {
|
|
119
|
+
return this.renderMain();
|
|
120
|
+
};
|
|
121
|
+
SideMenuItem.prototype.renderMain = function () {
|
|
122
|
+
var _a, _b, _c, _d, _e;
|
|
123
|
+
var active = false;
|
|
124
|
+
if (this.context) {
|
|
125
|
+
active = this.context.activeItem === this || this.context.activeSubItem === this;
|
|
126
|
+
}
|
|
127
|
+
var _f = this.props, icon = _f.icon, marker = _f.marker, caption = _f.caption, isSubMenu = _f.isSubMenu;
|
|
128
|
+
var isIconUserAvatar = typeof icon === 'object' && typeof icon.type === 'function' && icon.type.name === 'UserAvatar';
|
|
129
|
+
var itemClasses = cx((_a = {},
|
|
130
|
+
_a[jsStyles.item()] = true,
|
|
131
|
+
_a[jsStyles.subItem()] = this.context.isSeparatedMenu && isSubMenu,
|
|
132
|
+
_a[jsStyles.focusedItem()] = this.state.focusedByTab,
|
|
133
|
+
_a[jsStyles.activeItem()] = (active && !this.state.isOpened) ||
|
|
134
|
+
(active && this.state.isOpened && !this.context.activeSubItem) ||
|
|
135
|
+
(active && this.state.isOpened && isSubMenu),
|
|
136
|
+
_a[jsStyles.activeSubItem()] = active && this.context.isSeparatedMenu && isSubMenu,
|
|
137
|
+
_a));
|
|
138
|
+
var iconClasses = cx((_b = {},
|
|
139
|
+
_b[jsStyles.icon()] = true,
|
|
140
|
+
_b[jsStyles.iconMultiline()] = this.state.isMultiline,
|
|
141
|
+
_b[jsStyles.iconLarge()] = this.context.size === 'large',
|
|
142
|
+
_b[jsStyles.iconSubItem()] = isSubMenu,
|
|
143
|
+
_b[jsStyles.iconSubItemLarge()] = isSubMenu && this.context.size === 'large',
|
|
144
|
+
_b[jsStyles.avatarIcon()] = isIconUserAvatar,
|
|
145
|
+
_b));
|
|
146
|
+
var textClasses = cx((_c = {},
|
|
147
|
+
_c[jsStyles.itemText()] = true,
|
|
148
|
+
_c[jsStyles.itemTextTransitioned()] = this.context.isTransitioned,
|
|
149
|
+
_c[jsStyles.subItemText()] = isSubMenu,
|
|
150
|
+
_c[jsStyles.itemTextWithoutItemIcon()] = !icon,
|
|
151
|
+
_c[jsStyles.itemTextWithoutColumnIcons()] = !this.context.hasIcons && !isSubMenu,
|
|
152
|
+
_c[jsStyles.subItemTextWithoutColumnIcons()] = isSubMenu && this.context.isSeparatedMenu && !this.context.hasSubIcons,
|
|
153
|
+
_c[jsStyles.itemTextLarge()] = this.context.size === 'large',
|
|
154
|
+
_c[jsStyles.itemTextMultiline()] = this.state.isMultiline,
|
|
155
|
+
_c));
|
|
156
|
+
var markerClasses = cx((_d = {},
|
|
157
|
+
_d[jsStyles.marker()] = true,
|
|
158
|
+
_d[jsStyles.markerMultiline()] = this.state.isMultiline,
|
|
159
|
+
_d));
|
|
160
|
+
var itemWrapperClasses = cx((_e = {},
|
|
161
|
+
_e[jsStyles.itemWrapper()] = true,
|
|
162
|
+
_e[jsStyles.itemMultilineWrapper()] = this.state.isMultiline,
|
|
163
|
+
_e[jsStyles.subItemWrapper()] = isSubMenu,
|
|
164
|
+
_e[jsStyles.itemWrapperWithoutIcon()] = !this.props.icon && !isSubMenu,
|
|
165
|
+
_e[jsStyles.itemLargeWrapper()] = this.context.size === 'large',
|
|
166
|
+
_e[jsStyles.subItemLargeWrapper()] = this.context.size === 'large' && isSubMenu,
|
|
167
|
+
_e[jsStyles.itemLargeMultilineWrapper()] = this.state.isMultiline && this.context.size === 'large',
|
|
168
|
+
_e[jsStyles.itemLargeWrapperWithoutIcon()] = !this.props.icon && !isSubMenu && this.context.size === 'large',
|
|
169
|
+
_e));
|
|
170
|
+
return (React.createElement(CommonWrapper, __assign({}, this.props),
|
|
171
|
+
React.createElement("div", null,
|
|
172
|
+
React.createElement("div", { className: itemClasses, onClick: this.handleClick, onKeyDown: this.handleKeyDown, role: "button", tabIndex: 0, onFocus: this.handleFocus, onBlur: this.handleBlur },
|
|
173
|
+
React.createElement("div", { className: itemWrapperClasses },
|
|
174
|
+
icon && (React.createElement("span", { className: iconClasses }, React.cloneElement(icon, { size: isSubMenu ? 16 : 24, disableCompensation: true }))),
|
|
175
|
+
!this.context.isMinimised && (React.createElement(React.Fragment, null,
|
|
176
|
+
React.createElement("div", { className: textClasses, ref: this.textRef }, caption),
|
|
177
|
+
marker && React.createElement("span", { className: markerClasses }, marker))))),
|
|
178
|
+
this.context.isSeparatedMenu ? this.renderSeparatedSubMenu() : this.renderInnerSubMenu())));
|
|
179
|
+
};
|
|
180
|
+
SideMenuItem.__KONTUR_REACT_UI__ = 'SideMenuItem';
|
|
181
|
+
SideMenuItem.contextType = SideMenuThemeContext;
|
|
182
|
+
return SideMenuItem;
|
|
183
|
+
}(React.Component));
|
|
184
|
+
export { SideMenuItem };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type SideMenuOrganisationsProps = {
|
|
3
|
+
icon?: React.ReactElement;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Список организаций
|
|
7
|
+
*
|
|
8
|
+
* @visibleName SideMenu.Organisations
|
|
9
|
+
*/
|
|
10
|
+
export declare class SideMenuOrganisations extends React.Component<SideMenuOrganisationsProps> {
|
|
11
|
+
static __KONTUR_REACT_UI__: string;
|
|
12
|
+
render(): JSX.Element;
|
|
13
|
+
renderMain(): JSX.Element;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
4
|
+
import { DEFAULT_THEME, DropdownMenu, ThemeFactory } from '@skbkontur/react-ui';
|
|
5
|
+
import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
6
|
+
import { SideMenuItem } from './SideMenuItem';
|
|
7
|
+
import { jsStyles } from './SideMenu.styles';
|
|
8
|
+
/**
|
|
9
|
+
* Список организаций
|
|
10
|
+
*
|
|
11
|
+
* @visibleName SideMenu.Organisations
|
|
12
|
+
*/
|
|
13
|
+
var SideMenuOrganisations = /** @class */ (function (_super) {
|
|
14
|
+
__extends(SideMenuOrganisations, _super);
|
|
15
|
+
function SideMenuOrganisations() {
|
|
16
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
17
|
+
}
|
|
18
|
+
SideMenuOrganisations.prototype.render = function () {
|
|
19
|
+
return this.renderMain();
|
|
20
|
+
};
|
|
21
|
+
SideMenuOrganisations.prototype.renderMain = function () {
|
|
22
|
+
var label = (React.createElement("div", { className: jsStyles.dropdownLabel() },
|
|
23
|
+
React.createElement(SideMenuItem, { icon: this.props.icon, caption: 'СКБ Контур' })));
|
|
24
|
+
return (React.createElement(ThemeContext.Provider, { value: ThemeFactory.create({
|
|
25
|
+
menuItemHoverBg: '#f6f6f6',
|
|
26
|
+
menuItemHoverColor: '#222',
|
|
27
|
+
popupBorderRadius: '8px',
|
|
28
|
+
menuItemPaddingX: '32px',
|
|
29
|
+
}, DEFAULT_THEME) },
|
|
30
|
+
React.createElement(CommonWrapper, __assign({}, this.props),
|
|
31
|
+
React.createElement("div", { className: jsStyles.dropdownWrapper() },
|
|
32
|
+
React.createElement(DropdownMenu, { caption: label, menuWidth: '240px', positions: ['top left'] }, this.props.children)))));
|
|
33
|
+
};
|
|
34
|
+
SideMenuOrganisations.__KONTUR_REACT_UI__ = 'SideMenuOrganisations';
|
|
35
|
+
return SideMenuOrganisations;
|
|
36
|
+
}(React.Component));
|
|
37
|
+
export { SideMenuOrganisations };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SideMenuItemProps } from './SideMenuItem';
|
|
3
|
+
declare type SideMenuSubItemState = {
|
|
4
|
+
isOpened: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Элемент списка второго уровня
|
|
8
|
+
*
|
|
9
|
+
* @visibleName SideMenu.SubItem
|
|
10
|
+
*/
|
|
11
|
+
export declare class SideMenuSubItem extends React.Component<SideMenuItemProps, SideMenuSubItemState> {
|
|
12
|
+
static __KONTUR_REACT_UI__: string;
|
|
13
|
+
static contextType: React.Context<import("./SideMenuContext").SideMenuContextType>;
|
|
14
|
+
constructor(props: SideMenuItemProps);
|
|
15
|
+
render(): JSX.Element;
|
|
16
|
+
renderMain(): JSX.Element;
|
|
17
|
+
private handleClick;
|
|
18
|
+
private handleKeyDown;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
4
|
+
import { SideMenuThemeContext } from './SideMenuContext';
|
|
5
|
+
import { SideMenuItem } from './SideMenuItem';
|
|
6
|
+
import { jsStyles } from './SideMenu.styles';
|
|
7
|
+
import { ArrowChevronDown, ArrowChevronRight } from '@skbkontur/react-icons';
|
|
8
|
+
/**
|
|
9
|
+
* Элемент списка второго уровня
|
|
10
|
+
*
|
|
11
|
+
* @visibleName SideMenu.SubItem
|
|
12
|
+
*/
|
|
13
|
+
var SideMenuSubItem = /** @class */ (function (_super) {
|
|
14
|
+
__extends(SideMenuSubItem, _super);
|
|
15
|
+
function SideMenuSubItem(props) {
|
|
16
|
+
var _this = _super.call(this, props) || this;
|
|
17
|
+
_this.handleClick = function () {
|
|
18
|
+
_this.setState({ isOpened: true });
|
|
19
|
+
};
|
|
20
|
+
_this.handleKeyDown = function (e) {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
if (e.key === 'Enter') {
|
|
23
|
+
_this.setState({ isOpened: true });
|
|
24
|
+
}
|
|
25
|
+
(_b = (_a = _this.props)._onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
26
|
+
};
|
|
27
|
+
_this.state = {
|
|
28
|
+
isOpened: false,
|
|
29
|
+
};
|
|
30
|
+
return _this;
|
|
31
|
+
}
|
|
32
|
+
SideMenuSubItem.prototype.render = function () {
|
|
33
|
+
return this.renderMain();
|
|
34
|
+
};
|
|
35
|
+
SideMenuSubItem.prototype.renderMain = function () {
|
|
36
|
+
var icon;
|
|
37
|
+
if (this.props.children) {
|
|
38
|
+
if (this.state.isOpened) {
|
|
39
|
+
icon = React.createElement(ArrowChevronDown, null);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
icon = React.createElement(ArrowChevronRight, null);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return (React.createElement(CommonWrapper, __assign({}, this.props),
|
|
46
|
+
React.createElement("div", null,
|
|
47
|
+
React.createElement(SideMenuItem, __assign({}, this.props, { _onClick: this.handleClick, icon: icon, isSubMenu: true, _onKeyDown: this.handleKeyDown })),
|
|
48
|
+
this.props.children && this.state.isOpened && (React.createElement("div", { className: jsStyles.subItemMenu() }, this.props.children)))));
|
|
49
|
+
};
|
|
50
|
+
SideMenuSubItem.__KONTUR_REACT_UI__ = 'SideMenuSubItem';
|
|
51
|
+
SideMenuSubItem.contextType = SideMenuThemeContext;
|
|
52
|
+
return SideMenuSubItem;
|
|
53
|
+
}(React.Component));
|
|
54
|
+
export { SideMenuSubItem };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Группа кнопок в отдельном подменю
|
|
4
|
+
*
|
|
5
|
+
* @visibleName SideMenu.SubItemButtons
|
|
6
|
+
*/
|
|
7
|
+
export declare class SideMenuSubItemButtons extends React.Component {
|
|
8
|
+
static __KONTUR_REACT_UI__: string;
|
|
9
|
+
render(): JSX.Element;
|
|
10
|
+
renderMain(): JSX.Element;
|
|
11
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
4
|
+
import { jsStyles } from './SideMenu.styles';
|
|
5
|
+
/**
|
|
6
|
+
* Группа кнопок в отдельном подменю
|
|
7
|
+
*
|
|
8
|
+
* @visibleName SideMenu.SubItemButtons
|
|
9
|
+
*/
|
|
10
|
+
var SideMenuSubItemButtons = /** @class */ (function (_super) {
|
|
11
|
+
__extends(SideMenuSubItemButtons, _super);
|
|
12
|
+
function SideMenuSubItemButtons() {
|
|
13
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
14
|
+
}
|
|
15
|
+
SideMenuSubItemButtons.prototype.render = function () {
|
|
16
|
+
return this.renderMain();
|
|
17
|
+
};
|
|
18
|
+
SideMenuSubItemButtons.prototype.renderMain = function () {
|
|
19
|
+
return (React.createElement(CommonWrapper, __assign({}, this.props),
|
|
20
|
+
React.createElement("div", { className: jsStyles.buttonsGroup() }, this.props.children)));
|
|
21
|
+
};
|
|
22
|
+
SideMenuSubItemButtons.__KONTUR_REACT_UI__ = 'SideMenuSubItemButtons';
|
|
23
|
+
return SideMenuSubItemButtons;
|
|
24
|
+
}(React.Component));
|
|
25
|
+
export { SideMenuSubItemButtons };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Заголовок списка второго уровня
|
|
4
|
+
*
|
|
5
|
+
* @visibleName SideMenu.SubItemHeader
|
|
6
|
+
*/
|
|
7
|
+
export declare class SideMenuSubItemHeader extends React.Component {
|
|
8
|
+
static __KONTUR_REACT_UI__: string;
|
|
9
|
+
static contextType: React.Context<import("./SideMenuContext").SideMenuContextType>;
|
|
10
|
+
render(): JSX.Element;
|
|
11
|
+
renderMain(): JSX.Element;
|
|
12
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { CommonWrapper } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
4
|
+
import { jsStyles } from './SideMenu.styles';
|
|
5
|
+
import { SideMenuThemeContext } from './SideMenuContext';
|
|
6
|
+
/**
|
|
7
|
+
* Заголовок списка второго уровня
|
|
8
|
+
*
|
|
9
|
+
* @visibleName SideMenu.SubItemHeader
|
|
10
|
+
*/
|
|
11
|
+
var SideMenuSubItemHeader = /** @class */ (function (_super) {
|
|
12
|
+
__extends(SideMenuSubItemHeader, _super);
|
|
13
|
+
function SideMenuSubItemHeader() {
|
|
14
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
15
|
+
}
|
|
16
|
+
SideMenuSubItemHeader.prototype.render = function () {
|
|
17
|
+
return this.renderMain();
|
|
18
|
+
};
|
|
19
|
+
SideMenuSubItemHeader.prototype.renderMain = function () {
|
|
20
|
+
return (React.createElement(CommonWrapper, __assign({}, this.props),
|
|
21
|
+
React.createElement("div", { className: jsStyles.subItemHeader() }, this.props.children)));
|
|
22
|
+
};
|
|
23
|
+
SideMenuSubItemHeader.__KONTUR_REACT_UI__ = 'SideMenuSubItemHeader';
|
|
24
|
+
SideMenuSubItemHeader.contextType = SideMenuThemeContext;
|
|
25
|
+
return SideMenuSubItemHeader;
|
|
26
|
+
}(React.Component));
|
|
27
|
+
export { SideMenuSubItemHeader };
|