@gravity-ui/navigation 0.8.1 → 0.9.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
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.0](https://github.com/gravity-ui/navigation/compare/v0.8.1...v0.9.0) (2023-07-04)
4
+
5
+
6
+ ### Features
7
+
8
+ * added new stories for ActionBar ([#64](https://github.com/gravity-ui/navigation/issues/64)) ([96dbcf3](https://github.com/gravity-ui/navigation/commit/96dbcf39863aea6ea781a224636b4abc6f5a64e5))
9
+ * added type exports for ActionBar ([#66](https://github.com/gravity-ui/navigation/issues/66)) ([f911bd6](https://github.com/gravity-ui/navigation/commit/f911bd645aad36b453c7a9c49974f0bc790bea5d))
10
+
3
11
  ## [0.8.1](https://github.com/gravity-ui/navigation/compare/v0.8.0...v0.8.1) (2023-06-23)
4
12
 
5
13
 
@@ -42,3 +42,24 @@ export declare const Showcase: ComponentStory<{
42
42
  displayName: string;
43
43
  };
44
44
  }>;
45
+ export declare const SingleSection: ComponentStory<{
46
+ ({ children, className, "aria-label": ariaLabel }: import("../ActionBar").Props): JSX.Element;
47
+ displayName: string;
48
+ } & {
49
+ Section: {
50
+ ({ children, type }: import("..").ActionBarSectionProps): JSX.Element;
51
+ displayName: string;
52
+ };
53
+ Group: {
54
+ ({ children, className, pull }: import("..").ActionBarGroupProps): JSX.Element;
55
+ displayName: string;
56
+ };
57
+ Item: {
58
+ ({ children, className, pull, spacing }: import("..").ActionBarItemProps): JSX.Element;
59
+ displayName: string;
60
+ };
61
+ Separator: {
62
+ (): JSX.Element;
63
+ displayName: string;
64
+ };
65
+ }>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function ActionBarSingleSection(): JSX.Element;
@@ -1,7 +1,7 @@
1
- export { ActionBar } from './ActionBar';
2
1
  export { AsideHeader, AsideHeaderProps } from './AsideHeader/AsideHeader';
3
2
  export { Drawer, DrawerProps, DrawerItemProps, DrawerItem } from './Drawer/Drawer';
4
3
  export { FooterItem, FooterItemProps } from './FooterItem/FooterItem';
4
+ export * from './ActionBar';
5
5
  export * from './Title';
6
6
  export * from './HotkeysPanel';
7
7
  export * from './Settings';
@@ -88,84 +88,6 @@ function block(name) {
88
88
  return _default(`${NAMESPACE}${name}`);
89
89
  }
90
90
 
91
- function styleInject(css, ref) {
92
- if ( ref === void 0 ) ref = {};
93
- var insertAt = ref.insertAt;
94
-
95
- if (!css || typeof document === 'undefined') { return; }
96
-
97
- var head = document.head || document.getElementsByTagName('head')[0];
98
- var style = document.createElement('style');
99
- style.type = 'text/css';
100
-
101
- if (insertAt === 'top') {
102
- if (head.firstChild) {
103
- head.insertBefore(style, head.firstChild);
104
- } else {
105
- head.appendChild(style);
106
- }
107
- } else {
108
- head.appendChild(style);
109
- }
110
-
111
- if (style.styleSheet) {
112
- style.styleSheet.cssText = css;
113
- } else {
114
- style.appendChild(document.createTextNode(css));
115
- }
116
- }
117
-
118
- var css_248z$l = ".ycn-action-bar-group {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n margin: 0;\n padding: 0;\n}\n.ycn-action-bar-group_pull_left {\n margin-left: 0;\n margin-right: auto;\n}\n.ycn-action-bar-group_pull_right {\n margin-left: auto;\n margin-right: 0;\n}\n.ycn-action-bar-group_pull_center {\n margin-left: auto;\n margin-right: auto;\n}";
119
- styleInject(css_248z$l);
120
-
121
- const b$m = block('action-bar-group');
122
- const ActionBarGroup = ({ children, className, pull }) => {
123
- return (React__default["default"].createElement("ul", { className: b$m({ pull }, className), role: "group" }, children));
124
- };
125
- ActionBarGroup.displayName = 'ActionBar.Group';
126
-
127
- var css_248z$k = ".ycn-action-bar-item {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n.ycn-action-bar-item_pull_left {\n margin-left: 0;\n margin-right: auto;\n}\n.ycn-action-bar-item_pull_right {\n margin-left: auto;\n margin-right: 0;\n}\n.ycn-action-bar-item_pull_center {\n margin-left: auto;\n margin-right: auto;\n}\n.ycn-action-bar-item + .ycn-action-bar-item_spacing {\n margin-left: 8px;\n}";
128
- styleInject(css_248z$k);
129
-
130
- const b$l = block('action-bar-item');
131
- const ActionBarItem = ({ children, className, pull, spacing = true }) => {
132
- return React__default["default"].createElement("li", { className: b$l({ pull, spacing }, className) }, children);
133
- };
134
- ActionBarItem.displayName = 'ActionBar.Item';
135
-
136
- var css_248z$j = ".ycn-action-bar-section {\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-start;\n align-items: stretch;\n}\n.ycn-action-bar-section + .ycn-action-bar-section {\n border-left: solid 1px var(--yc-color-line-generic);\n}\n.ycn-action-bar-section_type_primary {\n flex: 1 1 auto;\n padding-left: 20px;\n padding-right: 20px;\n}\n.ycn-action-bar-section_type_secondary {\n padding-left: 6px;\n padding-right: 6px;\n}";
137
- styleInject(css_248z$j);
138
-
139
- const b$k = block('action-bar-section');
140
- const ActionBarSection = ({ children, type = 'primary' }) => {
141
- return React__default["default"].createElement("div", { className: b$k({ type }) }, children);
142
- };
143
- ActionBarSection.displayName = 'ActionBar.Section';
144
-
145
- var css_248z$i = ".ycn-action-bar-separator {\n list-style: none;\n margin: 0;\n padding: 0;\n margin-left: 6px;\n margin-right: 6px;\n border-right: solid 1px var(--yc-color-line-generic);\n height: 40px;\n}";
146
- styleInject(css_248z$i);
147
-
148
- const b$j = block('action-bar-separator');
149
- const ActionBarSeparator = () => {
150
- return React__default["default"].createElement("li", { role: "separator", className: b$j() });
151
- };
152
- ActionBarSeparator.displayName = 'ActionBar.Separator';
153
-
154
- var css_248z$h = ".ycn-action-bar {\n box-sizing: border-box;\n height: 40px;\n border-bottom: solid 1px var(--yc-color-line-generic);\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-start;\n align-items: stretch;\n}";
155
- styleInject(css_248z$h);
156
-
157
- const b$i = block('action-bar');
158
- const ActionBar = ({ children, className, 'aria-label': ariaLabel }) => {
159
- return (React__default["default"].createElement("section", { className: b$i(null, className), "aria-label": ariaLabel }, children));
160
- };
161
- ActionBar.displayName = 'ActionBar';
162
- const PublicActionBar = Object.assign(ActionBar, {
163
- Section: ActionBarSection,
164
- Group: ActionBarGroup,
165
- Item: ActionBarItem,
166
- Separator: ActionBarSeparator,
167
- });
168
-
169
91
  exports.MobileHeaderDict = void 0;
170
92
  (function (MobileHeaderDict) {
171
93
  MobileHeaderDict["CloseBurger"] = "button_close-burger";
@@ -3208,15 +3130,42 @@ SwitchTransition.defaultProps = {
3208
3130
  mode: modes.out
3209
3131
  };
3210
3132
 
3211
- var css_248z$g = ".ycn-drawer__item {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 100%;\n will-change: transform;\n background-color: var(--yc-color-base-background);\n}\n.ycn-drawer__item_direction_right {\n left: auto;\n right: 0;\n}\n.ycn-drawer__item-transition-enter {\n transform: translate(-100%, 0);\n}\n.ycn-drawer__item-transition_direction_right-enter {\n transform: translate(100%, 0);\n}\n.ycn-drawer__item-transition-enter-active, .ycn-drawer__item-transition_direction_right-enter-active {\n transform: translate(0, 0);\n transition: transform 300ms;\n}\n.ycn-drawer__item-transition-enter-done, .ycn-drawer__item-transition_direction_right-enter-done {\n filter: blur(0px);\n transform: translateZ(0);\n}\n.ycn-drawer__item-transition-exit, .ycn-drawer__item-transition_direction_right-exit {\n transform: translate(0, 0);\n}\n.ycn-drawer__item-transition-exit-active, .ycn-drawer__item-transition_direction_right-exit-active {\n transition: transform 300ms;\n}\n.ycn-drawer__item-transition-exit-active {\n transform: translate(-100%, 0);\n}\n.ycn-drawer__item-transition_direction_right-exit-active {\n transform: translate(100%, 0);\n}\n.ycn-drawer__item-transition-exit-done, .ycn-drawer__item-transition_direction_right-exit-done {\n visibility: hidden;\n}\n.ycn-drawer__veil {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n background-color: var(--yc-color-sfx-veil);\n}\n.ycn-drawer__veil-transition-enter {\n opacity: 0;\n}\n.ycn-drawer__veil-transition-enter-active {\n opacity: 1;\n transition: opacity 300ms;\n}\n.ycn-drawer__veil-transition-exit {\n opacity: 1;\n}\n.ycn-drawer__veil-transition-exit-active {\n opacity: 0;\n transition: opacity 300ms;\n}\n.ycn-drawer__veil-transition-exit-done {\n visibility: hidden;\n}";
3212
- styleInject(css_248z$g);
3133
+ function styleInject(css, ref) {
3134
+ if ( ref === void 0 ) ref = {};
3135
+ var insertAt = ref.insertAt;
3136
+
3137
+ if (!css || typeof document === 'undefined') { return; }
3213
3138
 
3214
- const b$h = block('drawer');
3139
+ var head = document.head || document.getElementsByTagName('head')[0];
3140
+ var style = document.createElement('style');
3141
+ style.type = 'text/css';
3142
+
3143
+ if (insertAt === 'top') {
3144
+ if (head.firstChild) {
3145
+ head.insertBefore(style, head.firstChild);
3146
+ } else {
3147
+ head.appendChild(style);
3148
+ }
3149
+ } else {
3150
+ head.appendChild(style);
3151
+ }
3152
+
3153
+ if (style.styleSheet) {
3154
+ style.styleSheet.cssText = css;
3155
+ } else {
3156
+ style.appendChild(document.createTextNode(css));
3157
+ }
3158
+ }
3159
+
3160
+ var css_248z$l = ".ycn-drawer__item {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 100%;\n will-change: transform;\n background-color: var(--yc-color-base-background);\n}\n.ycn-drawer__item_direction_right {\n left: auto;\n right: 0;\n}\n.ycn-drawer__item-transition-enter {\n transform: translate(-100%, 0);\n}\n.ycn-drawer__item-transition_direction_right-enter {\n transform: translate(100%, 0);\n}\n.ycn-drawer__item-transition-enter-active, .ycn-drawer__item-transition_direction_right-enter-active {\n transform: translate(0, 0);\n transition: transform 300ms;\n}\n.ycn-drawer__item-transition-enter-done, .ycn-drawer__item-transition_direction_right-enter-done {\n filter: blur(0px);\n transform: translateZ(0);\n}\n.ycn-drawer__item-transition-exit, .ycn-drawer__item-transition_direction_right-exit {\n transform: translate(0, 0);\n}\n.ycn-drawer__item-transition-exit-active, .ycn-drawer__item-transition_direction_right-exit-active {\n transition: transform 300ms;\n}\n.ycn-drawer__item-transition-exit-active {\n transform: translate(-100%, 0);\n}\n.ycn-drawer__item-transition_direction_right-exit-active {\n transform: translate(100%, 0);\n}\n.ycn-drawer__item-transition-exit-done, .ycn-drawer__item-transition_direction_right-exit-done {\n visibility: hidden;\n}\n.ycn-drawer__veil {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n background-color: var(--yc-color-sfx-veil);\n}\n.ycn-drawer__veil-transition-enter {\n opacity: 0;\n}\n.ycn-drawer__veil-transition-enter-active {\n opacity: 1;\n transition: opacity 300ms;\n}\n.ycn-drawer__veil-transition-exit {\n opacity: 1;\n}\n.ycn-drawer__veil-transition-exit-active {\n opacity: 0;\n transition: opacity 300ms;\n}\n.ycn-drawer__veil-transition-exit-done {\n visibility: hidden;\n}";
3161
+ styleInject(css_248z$l);
3162
+
3163
+ const b$m = block('drawer');
3215
3164
  const TIMEOUT = 300;
3216
3165
  const DrawerItem = ({ visible, content, direction, className }) => {
3217
3166
  const itemRef = React__default["default"].useRef(null);
3218
- return (React__default["default"].createElement(CSSTransition, { in: visible, timeout: TIMEOUT, unmountOnExit: true, classNames: b$h('item-transition', { direction }), nodeRef: itemRef },
3219
- React__default["default"].createElement("div", { ref: itemRef, className: b$h('item', { direction }, className) }, content)));
3167
+ return (React__default["default"].createElement(CSSTransition, { in: visible, timeout: TIMEOUT, unmountOnExit: true, classNames: b$m('item-transition', { direction }), nodeRef: itemRef },
3168
+ React__default["default"].createElement("div", { ref: itemRef, className: b$m('item', { direction }, className) }, content)));
3220
3169
  };
3221
3170
  const Drawer = ({ className, children, style, onVeilClick, onEscape, preventScrollBody = true, }) => {
3222
3171
  let someItemVisible = false;
@@ -3247,9 +3196,9 @@ const Drawer = ({ className, children, style, onVeilClick, onEscape, preventScro
3247
3196
  const veilRef = React__default["default"].useRef(null);
3248
3197
  return (React__default["default"].createElement(Transition, { in: someItemVisible, timeout: { enter: 0, exit: TIMEOUT }, mountOnEnter: true, unmountOnExit: true, nodeRef: containerRef }, (state) => {
3249
3198
  const childrenVisible = someItemVisible && state === 'entered';
3250
- return (React__default["default"].createElement("div", { ref: containerRef, className: b$h(null, className), style: style },
3251
- React__default["default"].createElement(CSSTransition, { in: childrenVisible, timeout: TIMEOUT, unmountOnExit: true, classNames: b$h('veil-transition'), nodeRef: veilRef },
3252
- React__default["default"].createElement("div", { ref: veilRef, className: b$h('veil'), onClick: onVeilClick })),
3199
+ return (React__default["default"].createElement("div", { ref: containerRef, className: b$m(null, className), style: style },
3200
+ React__default["default"].createElement(CSSTransition, { in: childrenVisible, timeout: TIMEOUT, unmountOnExit: true, classNames: b$m('veil-transition'), nodeRef: veilRef },
3201
+ React__default["default"].createElement("div", { ref: veilRef, className: b$m('veil'), onClick: onVeilClick })),
3253
3202
  React__default["default"].Children.map(children, (child) => {
3254
3203
  const childElem = child;
3255
3204
  if (childElem.type === DrawerItem) {
@@ -3261,10 +3210,10 @@ const Drawer = ({ className, children, style, onVeilClick, onEscape, preventScro
3261
3210
  }));
3262
3211
  };
3263
3212
 
3264
- var css_248z$f = ".ycn-logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n height: 40px;\n}\n.ycn-logo__logo-btn-place {\n flex-shrink: 0;\n width: var(--aside-header-min-width);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.ycn-logo__logo-btn-place .yc-button::before {\n background-color: transparent;\n}\n.ycn-logo__btn-logo.yc-button_view_flat.yc-button_size_l {\n --yc-button-height: 38px;\n}\n.ycn-logo__logo {\n font-size: var(--yc-text-body-2-font-size);\n line-height: var(--yc-text-body-2-line-height);\n font-weight: var(--yc-text-body-font-weight);\n vertical-align: middle;\n cursor: pointer;\n}\n.ycn-logo__logo-link, .ycn-logo__logo-link:hover, .ycn-logo__logo-link:active, .ycn-logo__logo-link:visited, .ycn-logo__logo-link:focus {\n text-decoration: none;\n outline: none;\n color: inherit;\n}\n.yc-root .ycn-logo__btn-logo.button2_theme_flat.button2_hovered_yes::before {\n background-color: transparent;\n}";
3265
- styleInject(css_248z$f);
3213
+ var css_248z$k = ".ycn-logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n height: 40px;\n}\n.ycn-logo__logo-btn-place {\n flex-shrink: 0;\n width: var(--aside-header-min-width);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.ycn-logo__logo-btn-place .yc-button::before {\n background-color: transparent;\n}\n.ycn-logo__btn-logo.yc-button_view_flat.yc-button_size_l {\n --yc-button-height: 38px;\n}\n.ycn-logo__logo {\n font-size: var(--yc-text-body-2-font-size);\n line-height: var(--yc-text-body-2-line-height);\n font-weight: var(--yc-text-body-font-weight);\n vertical-align: middle;\n cursor: pointer;\n}\n.ycn-logo__logo-link, .ycn-logo__logo-link:hover, .ycn-logo__logo-link:active, .ycn-logo__logo-link:visited, .ycn-logo__logo-link:focus {\n text-decoration: none;\n outline: none;\n color: inherit;\n}\n.yc-root .ycn-logo__btn-logo.button2_theme_flat.button2_hovered_yes::before {\n background-color: transparent;\n}";
3214
+ styleInject(css_248z$k);
3266
3215
 
3267
- const b$g = block('logo');
3216
+ const b$l = block('logo');
3268
3217
  const Logo$1 = ({ text, compact, icon, iconSrc, iconClassName, iconSize = 24, textSize = 15, href = '/', wrapper, onClick, }) => {
3269
3218
  const hasClickHandler = typeof onClick === 'function';
3270
3219
  const hasWrapper = typeof wrapper === 'function';
@@ -3282,18 +3231,18 @@ const Logo$1 = ({ text, compact, icon, iconSrc, iconClassName, iconSize = 24, te
3282
3231
  else if (icon) {
3283
3232
  buttonIcon = React__default["default"].createElement(uikit.Icon, { data: icon, size: iconSize, className: iconClassName });
3284
3233
  }
3285
- const button = (React__default["default"].createElement(uikit.Button, Object.assign({ view: "flat", size: "l", className: b$g('btn-logo'), component: hasWrapper ? 'span' : undefined, onClick: onClick }, linkProps), buttonIcon));
3234
+ const button = (React__default["default"].createElement(uikit.Button, Object.assign({ view: "flat", size: "l", className: b$l('btn-logo'), component: hasWrapper ? 'span' : undefined, onClick: onClick }, linkProps), buttonIcon));
3286
3235
  let logo;
3287
3236
  if (typeof text === 'function') {
3288
3237
  logo = text();
3289
3238
  }
3290
3239
  else {
3291
- logo = (React__default["default"].createElement("div", { className: b$g('logo'), style: { fontSize: textSize } }, text));
3240
+ logo = (React__default["default"].createElement("div", { className: b$l('logo'), style: { fontSize: textSize } }, text));
3292
3241
  }
3293
- return (React__default["default"].createElement("div", { className: b$g() },
3294
- React__default["default"].createElement("div", { className: b$g('logo-btn-place') }, hasWrapper ? wrapper(button, compact) : button),
3242
+ return (React__default["default"].createElement("div", { className: b$l() },
3243
+ React__default["default"].createElement("div", { className: b$l('logo-btn-place') }, hasWrapper ? wrapper(button, compact) : button),
3295
3244
  !compact &&
3296
- (hasWrapper ? (React__default["default"].createElement("div", { onClick: onClick }, wrapper(logo, compact))) : (React__default["default"].createElement("a", Object.assign({}, linkProps, { className: b$g('logo-link'), onClick: onClick }), logo)))));
3245
+ (hasWrapper ? (React__default["default"].createElement("div", { onClick: onClick }, wrapper(logo, compact))) : (React__default["default"].createElement("a", Object.assign({}, linkProps, { className: b$l('logo-link'), onClick: onClick }), logo)))));
3297
3246
  };
3298
3247
 
3299
3248
  var classCallCheck = function (instance, Constructor) {
@@ -3825,16 +3774,16 @@ function getItemsMinHeight(items) {
3825
3774
  (pinnedItems.length === items.length ? 0 : ITEM_HEIGHT));
3826
3775
  }
3827
3776
 
3828
- var css_248z$e = ".ycn-composite-bar-item {\n --composite-bar-item-action-size: 36px;\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n cursor: pointer;\n}\n.ycn-composite-bar-item__icon {\n color: var(--yc-color-text-misc);\n}\n.ycn-composite-bar-item__icon-place {\n flex-shrink: 0;\n width: var(--aside-header-min-width);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n.ycn-composite-bar-item__title {\n display: flex;\n overflow: hidden;\n}\n.ycn-composite-bar-item__title-text {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.ycn-composite-bar-item__title-adornment {\n margin: 0 10px;\n}\n.ycn-composite-bar-item__collapse-item {\n display: flex;\n padding: 0 16px;\n align-items: center;\n width: 100%;\n height: 100%;\n cursor: pointer;\n}\n.ycn-composite-bar-item__collapse-item .ycn-composite-bar-item__title-adornment {\n margin-right: 0;\n}\n.ycn-composite-bar-item__menu-divider {\n margin: 0 8px;\n width: 100%;\n border-top: 1px solid var(--yc-color-line-generic);\n cursor: default;\n}\n.ycn-composite-bar-item__collapse-items-popup-content {\n padding: 4px 0;\n}\n.ycn-composite-bar-item__link {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n}\n.ycn-composite-bar-item__link, .ycn-composite-bar-item__link:hover, .ycn-composite-bar-item__link:active, .ycn-composite-bar-item__link:visited, .ycn-composite-bar-item__link:focus {\n text-decoration: none;\n outline: none;\n color: inherit;\n}\n.ycn-composite-bar-item__btn-icon {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ycn-composite-bar-item_type_action {\n justify-content: center;\n height: var(--composite-bar-item-action-size);\n margin: 0 10px 8px;\n background: var(--yc-color-base-float);\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.03), 0px 5px 6px rgba(0, 0, 0, 0.12);\n border-radius: var(--composite-bar-item-action-size);\n transition: transform 0.1s ease-out, background-color 0.15s linear;\n}\n.ycn-composite-bar-item_type_action:focus {\n box-shadow: 0 0 0 2px var(--yc-color-line-misc);\n}\n.ycn-composite-bar-item_type_action:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.ycn-composite-bar-item_type_action:hover {\n background-color: var(--yc-color-base-float-hover);\n}\n.ycn-composite-bar-item_type_action:active {\n box-shadow: 0 1px 2px var(--yc-color-sfx-shadow);\n transition: none;\n transform: scale(0.96);\n}\n.ycn-composite-bar-item_type_action .ycn-composite-bar-item__icon-place {\n width: var(--composite-bar-item-action-size);\n}\n.ycn-composite-bar-item_type_action .ycn-composite-bar-item__title {\n margin-right: 16px;\n}\n.ycn-composite-bar-item__icon-tooltip_item-type_action {\n margin-left: 10px;\n}\n.ycn-composite-bar-item:not(.ycn-composite-bar-item_compact).ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular {\n background-color: var(--yc-color-base-selection);\n}\n.ycn-composite-bar-item:not(.ycn-composite-bar-item_compact):not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular {\n background-color: var(--yc-color-base-simple-hover);\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_type_action {\n width: var(--composite-bar-item-action-size);\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_type_action .ycn-composite-bar-item__title {\n margin: 0;\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon {\n position: relative;\n background-color: transparent;\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: -1;\n width: 38px;\n height: 38px;\n margin-top: -19px;\n margin-left: -19px;\n border-radius: 7px;\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n background-color: var(--yc-color-base-selection);\n}\n.ycn-composite-bar-item_compact:not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon {\n position: relative;\n background-color: transparent;\n}\n.ycn-composite-bar-item_compact:not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: -1;\n width: 38px;\n height: 38px;\n margin-top: -19px;\n margin-left: -19px;\n border-radius: 7px;\n}\n.ycn-composite-bar-item_compact:not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n background-color: var(--yc-color-base-simple-hover);\n}";
3829
- styleInject(css_248z$e);
3777
+ var css_248z$j = ".ycn-composite-bar-item {\n --composite-bar-item-action-size: 36px;\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n cursor: pointer;\n}\n.ycn-composite-bar-item__icon {\n color: var(--yc-color-text-misc);\n}\n.ycn-composite-bar-item__icon-place {\n flex-shrink: 0;\n width: var(--aside-header-min-width);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n.ycn-composite-bar-item__title {\n display: flex;\n overflow: hidden;\n}\n.ycn-composite-bar-item__title-text {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.ycn-composite-bar-item__title-adornment {\n margin: 0 10px;\n}\n.ycn-composite-bar-item__collapse-item {\n display: flex;\n padding: 0 16px;\n align-items: center;\n width: 100%;\n height: 100%;\n cursor: pointer;\n}\n.ycn-composite-bar-item__collapse-item .ycn-composite-bar-item__title-adornment {\n margin-right: 0;\n}\n.ycn-composite-bar-item__menu-divider {\n margin: 0 8px;\n width: 100%;\n border-top: 1px solid var(--yc-color-line-generic);\n cursor: default;\n}\n.ycn-composite-bar-item__collapse-items-popup-content {\n padding: 4px 0;\n}\n.ycn-composite-bar-item__link {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n}\n.ycn-composite-bar-item__link, .ycn-composite-bar-item__link:hover, .ycn-composite-bar-item__link:active, .ycn-composite-bar-item__link:visited, .ycn-composite-bar-item__link:focus {\n text-decoration: none;\n outline: none;\n color: inherit;\n}\n.ycn-composite-bar-item__btn-icon {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ycn-composite-bar-item_type_action {\n justify-content: center;\n height: var(--composite-bar-item-action-size);\n margin: 0 10px 8px;\n background: var(--yc-color-base-float);\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.03), 0px 5px 6px rgba(0, 0, 0, 0.12);\n border-radius: var(--composite-bar-item-action-size);\n transition: transform 0.1s ease-out, background-color 0.15s linear;\n}\n.ycn-composite-bar-item_type_action:focus {\n box-shadow: 0 0 0 2px var(--yc-color-line-misc);\n}\n.ycn-composite-bar-item_type_action:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.ycn-composite-bar-item_type_action:hover {\n background-color: var(--yc-color-base-float-hover);\n}\n.ycn-composite-bar-item_type_action:active {\n box-shadow: 0 1px 2px var(--yc-color-sfx-shadow);\n transition: none;\n transform: scale(0.96);\n}\n.ycn-composite-bar-item_type_action .ycn-composite-bar-item__icon-place {\n width: var(--composite-bar-item-action-size);\n}\n.ycn-composite-bar-item_type_action .ycn-composite-bar-item__title {\n margin-right: 16px;\n}\n.ycn-composite-bar-item__icon-tooltip_item-type_action {\n margin-left: 10px;\n}\n.ycn-composite-bar-item:not(.ycn-composite-bar-item_compact).ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular {\n background-color: var(--yc-color-base-selection);\n}\n.ycn-composite-bar-item:not(.ycn-composite-bar-item_compact):not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular {\n background-color: var(--yc-color-base-simple-hover);\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_type_action {\n width: var(--composite-bar-item-action-size);\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_type_action .ycn-composite-bar-item__title {\n margin: 0;\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon {\n position: relative;\n background-color: transparent;\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: -1;\n width: 38px;\n height: 38px;\n margin-top: -19px;\n margin-left: -19px;\n border-radius: 7px;\n}\n.ycn-composite-bar-item_compact.ycn-composite-bar-item_current.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n background-color: var(--yc-color-base-selection);\n}\n.ycn-composite-bar-item_compact:not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon {\n position: relative;\n background-color: transparent;\n}\n.ycn-composite-bar-item_compact:not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: -1;\n width: 38px;\n height: 38px;\n margin-top: -19px;\n margin-left: -19px;\n border-radius: 7px;\n}\n.ycn-composite-bar-item_compact:not(.ycn-composite-bar-item_current):hover.ycn-composite-bar-item_type_regular .ycn-composite-bar-item__btn-icon::before {\n background-color: var(--yc-color-base-simple-hover);\n}";
3778
+ styleInject(css_248z$j);
3830
3779
 
3831
- const b$f = block('composite-bar-item');
3780
+ const b$k = block('composite-bar-item');
3832
3781
  function renderItemTitle(item) {
3833
- let titleNode = React__default["default"].createElement("div", { className: b$f('title-text') }, item.title);
3782
+ let titleNode = React__default["default"].createElement("div", { className: b$k('title-text') }, item.title);
3834
3783
  if (item.rightAdornment) {
3835
3784
  titleNode = (React__default["default"].createElement(React__default["default"].Fragment, null,
3836
3785
  titleNode,
3837
- React__default["default"].createElement("div", { className: b$f('title-adornment') }, item.rightAdornment)));
3786
+ React__default["default"].createElement("div", { className: b$k('title-adornment') }, item.rightAdornment)));
3838
3787
  }
3839
3788
  return titleNode;
3840
3789
  }
@@ -3843,7 +3792,7 @@ const defaultPopupOffset = [-20, 8];
3843
3792
  const Item$1 = (props) => {
3844
3793
  const { item, compact, className, collapseItems, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupAnchor, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onClosePopup, onItemClick, } = props;
3845
3794
  if (item.type === 'divider') {
3846
- return React__default["default"].createElement("div", { className: b$f('menu-divider') });
3795
+ return React__default["default"].createElement("div", { className: b$k('menu-divider') });
3847
3796
  }
3848
3797
  const [open, toggleOpen] = React__default["default"].useState(false);
3849
3798
  const ref = React__default["default"].useRef(null);
@@ -3864,7 +3813,7 @@ const Item$1 = (props) => {
3864
3813
  onClosePopup === null || onClosePopup === void 0 ? void 0 : onClosePopup();
3865
3814
  }, [onClosePopup]);
3866
3815
  const makeNode = ({ icon: iconEl, title: titleEl }) => {
3867
- const createdNode = (React__default["default"].createElement("div", { className: b$f({ type, current, compact }, className), ref: ref, onClick: () => {
3816
+ const createdNode = (React__default["default"].createElement("div", { className: b$k({ type, current, compact }, className), ref: ref, onClick: () => {
3868
3817
  if (collapsedItem) {
3869
3818
  /**
3870
3819
  * If we call onItemClick for collapsedItem then:
@@ -3885,13 +3834,13 @@ const Item$1 = (props) => {
3885
3834
  onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave();
3886
3835
  }
3887
3836
  } },
3888
- React__default["default"].createElement("div", { className: b$f('icon-place') }, compact ? (React__default["default"].createElement(uikit.Tooltip, { content: tooltipText, disabled: !enableTooltip || (collapsedItem && open), placement: "right", className: b$f('icon-tooltip', { 'item-type': type }) },
3889
- React__default["default"].createElement("div", { onMouseEnter: () => onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter(), onMouseLeave: () => onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(), className: b$f('btn-icon') }, iconEl))) : (iconEl)),
3890
- React__default["default"].createElement("div", { className: b$f('title'), title: typeof item.title === 'string' ? item.title : undefined }, titleEl),
3891
- renderPopupContent && Boolean(anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) && (React__default["default"].createElement(uikit.Popup, { className: b$f('popup'), open: popupVisible, keepMounted: popupKeepMounted, placement: popupPlacement, offset: popupOffset, anchorRef: anchorRef, onClose: onClose }, renderPopupContent()))));
3892
- return item.link ? (React__default["default"].createElement("a", { href: item.link, className: b$f('link') }, createdNode)) : (createdNode);
3837
+ React__default["default"].createElement("div", { className: b$k('icon-place') }, compact ? (React__default["default"].createElement(uikit.Tooltip, { content: tooltipText, disabled: !enableTooltip || (collapsedItem && open), placement: "right", className: b$k('icon-tooltip', { 'item-type': type }) },
3838
+ React__default["default"].createElement("div", { onMouseEnter: () => onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter(), onMouseLeave: () => onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(), className: b$k('btn-icon') }, iconEl))) : (iconEl)),
3839
+ React__default["default"].createElement("div", { className: b$k('title'), title: typeof item.title === 'string' ? item.title : undefined }, titleEl),
3840
+ renderPopupContent && Boolean(anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) && (React__default["default"].createElement(uikit.Popup, { className: b$k('popup'), open: popupVisible, keepMounted: popupKeepMounted, placement: popupPlacement, offset: popupOffset, anchorRef: anchorRef, onClose: onClose }, renderPopupContent()))));
3841
+ return item.link ? (React__default["default"].createElement("a", { href: item.link, className: b$k('link') }, createdNode)) : (createdNode);
3893
3842
  };
3894
- const iconNode = icon ? React__default["default"].createElement(uikit.Icon, { data: icon, size: iconSize, className: b$f('icon') }) : null;
3843
+ const iconNode = icon ? React__default["default"].createElement(uikit.Icon, { data: icon, size: iconSize, className: b$k('icon') }) : null;
3895
3844
  const titleNode = renderItemTitle(item);
3896
3845
  const params = { icon: iconNode, title: titleNode };
3897
3846
  let node;
@@ -3909,13 +3858,13 @@ const Item$1 = (props) => {
3909
3858
  Item$1.displayName = 'Item';
3910
3859
  function CollapsedPopup({ compact, onItemClick, collapseItems, anchorRef, onClose, }) {
3911
3860
  return (collapseItems === null || collapseItems === void 0 ? void 0 : collapseItems.length) ? (React__default["default"].createElement(uikit.Popup, { placement: POPUP_PLACEMENT, open: true, anchorRef: anchorRef, onClose: onClose },
3912
- React__default["default"].createElement("div", { className: b$f('collapse-items-popup-content') },
3913
- React__default["default"].createElement(uikit.List, { itemClassName: b$f('root-collapse-item'), items: collapseItems, selectedItemIndex: getSelectedItemIndex$1(collapseItems), itemHeight: POPUP_ITEM_HEIGHT, itemsHeight: collapseItems.length * POPUP_ITEM_HEIGHT, virtualized: false, filterable: false, sortable: false, renderItem: (collapseItem) => {
3861
+ React__default["default"].createElement("div", { className: b$k('collapse-items-popup-content') },
3862
+ React__default["default"].createElement(uikit.List, { itemClassName: b$k('root-collapse-item'), items: collapseItems, selectedItemIndex: getSelectedItemIndex$1(collapseItems), itemHeight: POPUP_ITEM_HEIGHT, itemsHeight: collapseItems.length * POPUP_ITEM_HEIGHT, virtualized: false, filterable: false, sortable: false, renderItem: (collapseItem) => {
3914
3863
  const makeCollapseNode = ({ title: titleEl }) => {
3915
- const res = (React__default["default"].createElement("div", { className: b$f('collapse-item'), onClick: () => {
3864
+ const res = (React__default["default"].createElement("div", { className: b$k('collapse-item'), onClick: () => {
3916
3865
  onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(collapseItem, true);
3917
3866
  } }, titleEl));
3918
- return collapseItem.link ? (React__default["default"].createElement("a", { href: collapseItem.link, className: b$f('link') }, res)) : (res);
3867
+ return collapseItem.link ? (React__default["default"].createElement("a", { href: collapseItem.link, className: b$k('link') }, res)) : (res);
3919
3868
  };
3920
3869
  const titleNode = renderItemTitle(collapseItem);
3921
3870
  const params = { title: titleNode };
@@ -3945,10 +3894,10 @@ var SvgDots = function SvgDots(props) {
3945
3894
  };
3946
3895
  var dotsIcon = SvgDots;
3947
3896
 
3948
- var css_248z$d = ".ycn-composite-bar {\n flex: 1 0 auto;\n width: 100%;\n min-height: 40px;\n}\n.ycn-composite-bar .ycn-composite-bar__root-menu-item[class] {\n background-color: transparent;\n}";
3949
- styleInject(css_248z$d);
3897
+ var css_248z$i = ".ycn-composite-bar {\n flex: 1 0 auto;\n width: 100%;\n min-height: 40px;\n}\n.ycn-composite-bar .ycn-composite-bar__root-menu-item[class] {\n background-color: transparent;\n}";
3898
+ styleInject(css_248z$i);
3950
3899
 
3951
- const b$e = block('composite-bar');
3900
+ const b$j = block('composite-bar');
3952
3901
  class CompositeBar extends React__default["default"].Component {
3953
3902
  constructor() {
3954
3903
  super(...arguments);
@@ -3963,10 +3912,10 @@ class CompositeBar extends React__default["default"].Component {
3963
3912
  return null;
3964
3913
  }
3965
3914
  if (!enableCollapsing) {
3966
- return React__default["default"].createElement("div", { className: b$e() }, this.renderMenu());
3915
+ return React__default["default"].createElement("div", { className: b$j() }, this.renderMenu());
3967
3916
  }
3968
3917
  const minHeight = getItemsMinHeight(items);
3969
- return (React__default["default"].createElement("div", { className: b$e({ autosizer: true }), style: { minHeight } }, items.length !== 0 && (React__default["default"].createElement(AutoSizer, null, ({ width, height }) => {
3918
+ return (React__default["default"].createElement("div", { className: b$j({ autosizer: true }), style: { minHeight } }, items.length !== 0 && (React__default["default"].createElement(AutoSizer, null, ({ width, height }) => {
3970
3919
  const style = {
3971
3920
  width,
3972
3921
  height,
@@ -3977,7 +3926,7 @@ class CompositeBar extends React__default["default"].Component {
3977
3926
  renderAutosizeMenu(height) {
3978
3927
  const { compact, onItemClick } = this.props;
3979
3928
  const { listItems, collapseItems } = this.getAutosizeListItems(height);
3980
- return (React__default["default"].createElement(uikit.List, { ref: this.listRef, items: listItems, selectedItemIndex: getSelectedItemIndex$1(listItems), itemHeight: getItemHeight$1, itemClassName: b$e('root-menu-item'), itemsHeight: getItemsHeight, virtualized: false, filterable: false, sortable: false, renderItem: (item) => (React__default["default"].createElement(Item$1, { item: item, onMouseLeave: () => {
3929
+ return (React__default["default"].createElement(uikit.List, { ref: this.listRef, items: listItems, selectedItemIndex: getSelectedItemIndex$1(listItems), itemHeight: getItemHeight$1, itemClassName: b$j('root-menu-item'), itemsHeight: getItemsHeight, virtualized: false, filterable: false, sortable: false, renderItem: (item) => (React__default["default"].createElement(Item$1, { item: item, onMouseLeave: () => {
3981
3930
  var _a;
3982
3931
  if (compact) {
3983
3932
  (_a = this.listRef.current) === null || _a === void 0 ? void 0 : _a.activateItem(undefined);
@@ -3986,7 +3935,7 @@ class CompositeBar extends React__default["default"].Component {
3986
3935
  }
3987
3936
  renderMenu() {
3988
3937
  const { items, onItemClick, compact } = this.props;
3989
- return (React__default["default"].createElement(uikit.List, { ref: this.listRef, items: items, selectedItemIndex: getSelectedItemIndex$1(items), itemHeight: getItemHeight$1, itemClassName: b$e('root-menu-item'), itemsHeight: getItemsHeight, virtualized: false, filterable: false, sortable: false, renderItem: (item) => (React__default["default"].createElement(Item$1, { item: item, onMouseLeave: () => {
3938
+ return (React__default["default"].createElement(uikit.List, { ref: this.listRef, items: items, selectedItemIndex: getSelectedItemIndex$1(items), itemHeight: getItemHeight$1, itemClassName: b$j('root-menu-item'), itemsHeight: getItemsHeight, virtualized: false, filterable: false, sortable: false, renderItem: (item) => (React__default["default"].createElement(Item$1, { item: item, onMouseLeave: () => {
3990
3939
  var _a;
3991
3940
  if (compact) {
3992
3941
  (_a = this.listRef.current) === null || _a === void 0 ? void 0 : _a.activateItem(undefined);
@@ -4086,10 +4035,10 @@ var SvgDividerCollapsed = function SvgDividerCollapsed(props) {
4086
4035
  };
4087
4036
  var headerDividerCollapsedIcon = SvgDividerCollapsed;
4088
4037
 
4089
- var css_248z$c = ".yc-root {\n --aside-header-background-color: var(--yc-color-base-info);\n --aside-header-collapse-button-divider-line-color: var(\n --aside-header-header-divider-line-color\n );\n}\n\n.yc-root_theme_light,\n.yc-root_theme_light-hc {\n --aside-header-divider-line-color: transparent;\n --aside-header-header-divider-line-color: var(--yc-color-line-generic);\n}\n\n.yc-root_theme_dark,\n.yc-root_theme_dark-hc {\n --aside-header-divider-line-color: var(--yc-color-line-solid);\n --aside-header-header-divider-line-color: var(--yc-color-line-solid);\n}\n\n.ycn-aside-header {\n --aside-header-min-width: 56px;\n height: 100%;\n width: 100%;\n position: relative;\n background-color: var(--yc-color-base-background);\n}\n.ycn-aside-header__aside {\n position: sticky;\n top: 0;\n left: 0;\n height: 100vh;\n width: inherit;\n display: flex;\n flex-direction: column;\n background-color: var(--yc-color-base-background);\n z-index: 100;\n box-sizing: border-box;\n}\n.ycn-aside-header__aside::after {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n width: 1px;\n height: 100%;\n content: \"\";\n background-color: var(--aside-header-divider-line-color);\n}\n.ycn-aside-header__aside-popup-anchor {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n}\n.ycn-aside-header__aside-content {\n --gradient-height: 334px;\n display: flex;\n flex-direction: column;\n overflow-x: hidden;\n width: inherit;\n height: inherit;\n position: relative;\n z-index: 2;\n user-select: none;\n}\n.ycn-aside-header__aside-content::after {\n position: absolute;\n top: 0;\n right: -100px;\n bottom: 0;\n width: 100px;\n content: \"\";\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1), 0px 0px 24px rgba(0, 0, 0, 0.08);\n}\n.ycn-aside-header__aside-content > .ycn-aside-header-logo {\n margin: 8px 0;\n}\n.ycn-aside-header__aside-content_with-decoration {\n background: linear-gradient(180deg, var(--aside-header-background-color) calc(var(--gradient-height) * 0.33), transparent calc(var(--gradient-height) * 0.88));\n}\n.ycn-aside-header_compact .ycn-aside-header__aside-content {\n background: transparent;\n}\n.ycn-aside-header__header {\n --aside-header-header-divider-height: 29px;\n position: relative;\n z-index: 1;\n flex: none;\n box-sizing: border-box;\n width: 100%;\n padding-top: 8px;\n padding-bottom: 22px;\n}\n.ycn-aside-header__header .ycn-aside-header__header-divider {\n position: absolute;\n bottom: 0;\n left: 0;\n z-index: -2;\n display: none;\n color: var(--aside-header-background-color);\n}\n.ycn-aside-header__header_with-decoration::before {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -2;\n display: none;\n width: 100%;\n height: calc(100% - var(--aside-header-header-divider-height));\n content: \"\";\n background-color: var(--aside-header-background-color);\n}\n.ycn-aside-header__header::after {\n position: absolute;\n bottom: 12px;\n left: 0;\n z-index: -2;\n width: 100%;\n height: 1px;\n content: \"\";\n background-color: var(--aside-header-header-divider-line-color);\n}\n.ycn-aside-header_compact .ycn-aside-header__header::before {\n display: block;\n}\n.ycn-aside-header_compact .ycn-aside-header__header_with-decoration .ycn-aside-header__header-divider {\n display: block;\n}\n.ycn-aside-header_compact .ycn-aside-header__header_with-decoration::after {\n display: none;\n}\n.ycn-aside-header__menu-items {\n flex-grow: 1;\n}\n.ycn-aside-header__footer {\n flex-shrink: 0;\n width: 100%;\n margin: 8px 0;\n display: flex;\n flex-direction: column;\n}\n.ycn-aside-header__panels {\n z-index: 98;\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n overflow: auto;\n}\n.ycn-aside-header__panel {\n height: 100%;\n}\n.ycn-aside-header__pane-container {\n display: flex;\n outline: none;\n overflow: visible;\n user-select: text;\n flex-direction: row;\n}\n.ycn-aside-header__content {\n width: calc(100% - var(--aside-header-size));\n z-index: 95;\n}\n.ycn-aside-header__collapse-button {\n --yc-button-background-color-hover: transparent;\n overflow: hidden;\n box-sizing: border-box;\n flex: none;\n width: 100%;\n height: 20px;\n border-top: 1px solid var(--aside-header-collapse-button-divider-line-color);\n margin-top: auto;\n}\n.ycn-aside-header__collapse-button:not(.ycn-aside-header__collapse-button_compact) .ycn-aside-header__collapse-icon {\n transform: rotate(180deg);\n}\n.ycn-aside-header__collapse-button .ycn-aside-header__collapse-icon {\n color: var(--yc-color-text-secondary);\n}\n.ycn-aside-header__collapse-button:hover .ycn-aside-header__collapse-icon {\n color: var(--yc-color-text-primary);\n}";
4090
- styleInject(css_248z$c);
4038
+ var css_248z$h = ".yc-root {\n --aside-header-background-color: var(--yc-color-base-info);\n --aside-header-collapse-button-divider-line-color: var(\n --aside-header-header-divider-line-color\n );\n}\n\n.yc-root_theme_light,\n.yc-root_theme_light-hc {\n --aside-header-divider-line-color: transparent;\n --aside-header-header-divider-line-color: var(--yc-color-line-generic);\n}\n\n.yc-root_theme_dark,\n.yc-root_theme_dark-hc {\n --aside-header-divider-line-color: var(--yc-color-line-solid);\n --aside-header-header-divider-line-color: var(--yc-color-line-solid);\n}\n\n.ycn-aside-header {\n --aside-header-min-width: 56px;\n height: 100%;\n width: 100%;\n position: relative;\n background-color: var(--yc-color-base-background);\n}\n.ycn-aside-header__aside {\n position: sticky;\n top: 0;\n left: 0;\n height: 100vh;\n width: inherit;\n display: flex;\n flex-direction: column;\n background-color: var(--yc-color-base-background);\n z-index: 100;\n box-sizing: border-box;\n}\n.ycn-aside-header__aside::after {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n width: 1px;\n height: 100%;\n content: \"\";\n background-color: var(--aside-header-divider-line-color);\n}\n.ycn-aside-header__aside-popup-anchor {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n}\n.ycn-aside-header__aside-content {\n --gradient-height: 334px;\n display: flex;\n flex-direction: column;\n overflow-x: hidden;\n width: inherit;\n height: inherit;\n position: relative;\n z-index: 2;\n user-select: none;\n}\n.ycn-aside-header__aside-content::after {\n position: absolute;\n top: 0;\n right: -100px;\n bottom: 0;\n width: 100px;\n content: \"\";\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1), 0px 0px 24px rgba(0, 0, 0, 0.08);\n}\n.ycn-aside-header__aside-content > .ycn-aside-header-logo {\n margin: 8px 0;\n}\n.ycn-aside-header__aside-content_with-decoration {\n background: linear-gradient(180deg, var(--aside-header-background-color) calc(var(--gradient-height) * 0.33), transparent calc(var(--gradient-height) * 0.88));\n}\n.ycn-aside-header_compact .ycn-aside-header__aside-content {\n background: transparent;\n}\n.ycn-aside-header__header {\n --aside-header-header-divider-height: 29px;\n position: relative;\n z-index: 1;\n flex: none;\n box-sizing: border-box;\n width: 100%;\n padding-top: 8px;\n padding-bottom: 22px;\n}\n.ycn-aside-header__header .ycn-aside-header__header-divider {\n position: absolute;\n bottom: 0;\n left: 0;\n z-index: -2;\n display: none;\n color: var(--aside-header-background-color);\n}\n.ycn-aside-header__header_with-decoration::before {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -2;\n display: none;\n width: 100%;\n height: calc(100% - var(--aside-header-header-divider-height));\n content: \"\";\n background-color: var(--aside-header-background-color);\n}\n.ycn-aside-header__header::after {\n position: absolute;\n bottom: 12px;\n left: 0;\n z-index: -2;\n width: 100%;\n height: 1px;\n content: \"\";\n background-color: var(--aside-header-header-divider-line-color);\n}\n.ycn-aside-header_compact .ycn-aside-header__header::before {\n display: block;\n}\n.ycn-aside-header_compact .ycn-aside-header__header_with-decoration .ycn-aside-header__header-divider {\n display: block;\n}\n.ycn-aside-header_compact .ycn-aside-header__header_with-decoration::after {\n display: none;\n}\n.ycn-aside-header__menu-items {\n flex-grow: 1;\n}\n.ycn-aside-header__footer {\n flex-shrink: 0;\n width: 100%;\n margin: 8px 0;\n display: flex;\n flex-direction: column;\n}\n.ycn-aside-header__panels {\n z-index: 98;\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n overflow: auto;\n}\n.ycn-aside-header__panel {\n height: 100%;\n}\n.ycn-aside-header__pane-container {\n display: flex;\n outline: none;\n overflow: visible;\n user-select: text;\n flex-direction: row;\n}\n.ycn-aside-header__content {\n width: calc(100% - var(--aside-header-size));\n z-index: 95;\n}\n.ycn-aside-header__collapse-button {\n --yc-button-background-color-hover: transparent;\n overflow: hidden;\n box-sizing: border-box;\n flex: none;\n width: 100%;\n height: 20px;\n border-top: 1px solid var(--aside-header-collapse-button-divider-line-color);\n margin-top: auto;\n}\n.ycn-aside-header__collapse-button:not(.ycn-aside-header__collapse-button_compact) .ycn-aside-header__collapse-icon {\n transform: rotate(180deg);\n}\n.ycn-aside-header__collapse-button .ycn-aside-header__collapse-icon {\n color: var(--yc-color-text-secondary);\n}\n.ycn-aside-header__collapse-button:hover .ycn-aside-header__collapse-icon {\n color: var(--yc-color-text-primary);\n}";
4039
+ styleInject(css_248z$h);
4091
4040
 
4092
- const b$d = block('aside-header');
4041
+ const b$i = block('aside-header');
4093
4042
  class AsideHeader extends React__default["default"].Component {
4094
4043
  constructor() {
4095
4044
  super(...arguments);
@@ -4097,26 +4046,26 @@ class AsideHeader extends React__default["default"].Component {
4097
4046
  this.renderFirstPane = (size) => {
4098
4047
  const { dict, menuItems, panelItems, compact, headerDecoration } = this.props;
4099
4048
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
4100
- React__default["default"].createElement("div", { className: b$d('aside'), style: { width: size } },
4101
- React__default["default"].createElement("div", { className: b$d('aside-popup-anchor'), ref: this.asideRef }),
4102
- React__default["default"].createElement("div", { className: b$d('aside-content', { ['with-decoration']: headerDecoration }) },
4049
+ React__default["default"].createElement("div", { className: b$i('aside'), style: { width: size } },
4050
+ React__default["default"].createElement("div", { className: b$i('aside-popup-anchor'), ref: this.asideRef }),
4051
+ React__default["default"].createElement("div", { className: b$i('aside-content', { ['with-decoration']: headerDecoration }) },
4103
4052
  this.renderHeader(),
4104
- (menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) ? (React__default["default"].createElement(CompositeBar, { items: menuItems, compact: compact, enableCollapsing: true, dict: dict, onItemClick: this.onItemClick })) : (React__default["default"].createElement("div", { className: b$d('menu-items') })),
4053
+ (menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) ? (React__default["default"].createElement(CompositeBar, { items: menuItems, compact: compact, enableCollapsing: true, dict: dict, onItemClick: this.onItemClick })) : (React__default["default"].createElement("div", { className: b$i('menu-items') })),
4105
4054
  this.renderFooter(size),
4106
4055
  this.renderCollapseButton())),
4107
4056
  panelItems && this.renderPanels(size)));
4108
4057
  };
4109
4058
  this.renderSecondPane = (size) => {
4110
- return (React__default["default"].createElement(Content, { size: size, renderContent: this.props.renderContent, className: b$d('content') }));
4059
+ return (React__default["default"].createElement(Content, { size: size, renderContent: this.props.renderContent, className: b$i('content') }));
4111
4060
  };
4112
4061
  this.renderLogo = () => (React__default["default"].createElement(Logo$1, Object.assign({}, this.props.logo, { compact: this.props.compact, onClick: this.onLogoClick })));
4113
- this.renderHeader = () => (React__default["default"].createElement("div", { className: b$d('header', { ['with-decoration']: this.props.headerDecoration }) },
4062
+ this.renderHeader = () => (React__default["default"].createElement("div", { className: b$i('header', { ['with-decoration']: this.props.headerDecoration }) },
4114
4063
  this.renderLogo(),
4115
4064
  React__default["default"].createElement(CompositeBar, { items: this.props.subheaderItems, compact: this.props.compact, enableCollapsing: false, onItemClick: this.onItemClick }),
4116
- React__default["default"].createElement(uikit.Icon, { data: headerDividerCollapsedIcon, className: b$d('header-divider'), width: ASIDE_HEADER_COMPACT_WIDTH, height: "29" })));
4065
+ React__default["default"].createElement(uikit.Icon, { data: headerDividerCollapsedIcon, className: b$i('header-divider'), width: ASIDE_HEADER_COMPACT_WIDTH, height: "29" })));
4117
4066
  this.renderFooter = (size) => {
4118
4067
  const { compact, renderFooter } = this.props;
4119
- return (React__default["default"].createElement("div", { className: b$d('footer') }, renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter({
4068
+ return (React__default["default"].createElement("div", { className: b$i('footer') }, renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter({
4120
4069
  size,
4121
4070
  compact,
4122
4071
  asideRef: this.asideRef,
@@ -4124,14 +4073,14 @@ class AsideHeader extends React__default["default"].Component {
4124
4073
  };
4125
4074
  this.renderPanels = (size) => {
4126
4075
  const { panelItems } = this.props;
4127
- return (React__default["default"].createElement(Drawer, { className: b$d('panels'), onVeilClick: this.onCloseDrawer, onEscape: this.onCloseDrawer, style: { left: size } }, panelItems.map((item) => (React__default["default"].createElement(DrawerItem, Object.assign({ key: item.id }, item))))));
4076
+ return (React__default["default"].createElement(Drawer, { className: b$i('panels'), onVeilClick: this.onCloseDrawer, onEscape: this.onCloseDrawer, style: { left: size } }, panelItems.map((item) => (React__default["default"].createElement(DrawerItem, Object.assign({ key: item.id }, item))))));
4128
4077
  };
4129
4078
  this.renderCollapseButton = () => {
4130
4079
  var _a;
4131
4080
  const { compact, dict } = this.props;
4132
4081
  const typeButton = compact ? exports.Dict.ExpandButton : exports.Dict.CollapseButton;
4133
- return (React__default["default"].createElement(uikit.Button, { className: b$d('collapse-button', { compact }), view: "flat", onClick: this.onCollapseButtonClick, title: (_a = dict === null || dict === void 0 ? void 0 : dict[typeButton]) !== null && _a !== void 0 ? _a : defaultDict$2[typeButton] },
4134
- React__default["default"].createElement(uikit.Icon, { data: controlMenuButtonIcon, className: b$d('collapse-icon'), width: "16", height: "10" })));
4082
+ return (React__default["default"].createElement(uikit.Button, { className: b$i('collapse-button', { compact }), view: "flat", onClick: this.onCollapseButtonClick, title: (_a = dict === null || dict === void 0 ? void 0 : dict[typeButton]) !== null && _a !== void 0 ? _a : defaultDict$2[typeButton] },
4083
+ React__default["default"].createElement(uikit.Icon, { data: controlMenuButtonIcon, className: b$i('collapse-icon'), width: "16", height: "10" })));
4135
4084
  };
4136
4085
  this.onCollapseButtonClick = () => {
4137
4086
  var _a, _b;
@@ -4155,8 +4104,8 @@ class AsideHeader extends React__default["default"].Component {
4155
4104
  render() {
4156
4105
  const { className, compact } = this.props;
4157
4106
  const size = compact ? ASIDE_HEADER_COMPACT_WIDTH : ASIDE_HEADER_EXPANDED_WIDTH;
4158
- return (React__default["default"].createElement("div", { className: b$d({ compact }, className) },
4159
- React__default["default"].createElement("div", { className: b$d('pane-container') },
4107
+ return (React__default["default"].createElement("div", { className: b$i({ compact }, className) },
4108
+ React__default["default"].createElement("div", { className: b$i('pane-container') },
4160
4109
  this.renderFirstPane(size),
4161
4110
  this.renderSecondPane(size))));
4162
4111
  }
@@ -4195,15 +4144,66 @@ function __rest(s, e) {
4195
4144
  return t;
4196
4145
  }
4197
4146
 
4198
- var css_248z$b = ".ycn-footer-item {\n width: 100%;\n height: 40px;\n}";
4199
- styleInject(css_248z$b);
4147
+ var css_248z$g = ".ycn-footer-item {\n width: 100%;\n height: 40px;\n}";
4148
+ styleInject(css_248z$g);
4200
4149
 
4201
- const b$c = block('footer-item');
4150
+ const b$h = block('footer-item');
4202
4151
  const FooterItem$1 = (_a) => {
4203
4152
  var { item } = _a, props = __rest(_a, ["item"]);
4204
- return (React__default["default"].createElement(Item$1, Object.assign({}, props, { item: Object.assign({ iconSize: ASIDE_HEADER_FOOTER_ICON_SIZE }, item), className: b$c({ compact: props.compact }), onItemClick: item.onItemClick })));
4153
+ return (React__default["default"].createElement(Item$1, Object.assign({}, props, { item: Object.assign({ iconSize: ASIDE_HEADER_FOOTER_ICON_SIZE }, item), className: b$h({ compact: props.compact }), onItemClick: item.onItemClick })));
4205
4154
  };
4206
4155
 
4156
+ var css_248z$f = ".ycn-action-bar-group {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: flex-start;\n margin: 0;\n padding: 0;\n}\n.ycn-action-bar-group_pull_left {\n margin-left: 0;\n margin-right: auto;\n}\n.ycn-action-bar-group_pull_right {\n margin-left: auto;\n margin-right: 0;\n}\n.ycn-action-bar-group_pull_center {\n margin-left: auto;\n margin-right: auto;\n}";
4157
+ styleInject(css_248z$f);
4158
+
4159
+ const b$g = block('action-bar-group');
4160
+ const ActionBarGroup = ({ children, className, pull }) => {
4161
+ return (React__default["default"].createElement("ul", { className: b$g({ pull }, className), role: "group" }, children));
4162
+ };
4163
+ ActionBarGroup.displayName = 'ActionBar.Group';
4164
+
4165
+ var css_248z$e = ".ycn-action-bar-item {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n.ycn-action-bar-item_pull_left {\n margin-left: 0;\n margin-right: auto;\n}\n.ycn-action-bar-item_pull_right {\n margin-left: auto;\n margin-right: 0;\n}\n.ycn-action-bar-item_pull_center {\n margin-left: auto;\n margin-right: auto;\n}\n.ycn-action-bar-item + .ycn-action-bar-item_spacing {\n margin-left: 8px;\n}";
4166
+ styleInject(css_248z$e);
4167
+
4168
+ const b$f = block('action-bar-item');
4169
+ const ActionBarItem = ({ children, className, pull, spacing = true }) => {
4170
+ return React__default["default"].createElement("li", { className: b$f({ pull, spacing }, className) }, children);
4171
+ };
4172
+ ActionBarItem.displayName = 'ActionBar.Item';
4173
+
4174
+ var css_248z$d = ".ycn-action-bar-section {\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-start;\n align-items: stretch;\n}\n.ycn-action-bar-section + .ycn-action-bar-section {\n border-left: solid 1px var(--yc-color-line-generic);\n}\n.ycn-action-bar-section_type_primary {\n flex: 1 1 auto;\n padding-left: 20px;\n padding-right: 20px;\n}\n.ycn-action-bar-section_type_secondary {\n padding-left: 6px;\n padding-right: 6px;\n}";
4175
+ styleInject(css_248z$d);
4176
+
4177
+ const b$e = block('action-bar-section');
4178
+ const ActionBarSection = ({ children, type = 'primary' }) => {
4179
+ return React__default["default"].createElement("div", { className: b$e({ type }) }, children);
4180
+ };
4181
+ ActionBarSection.displayName = 'ActionBar.Section';
4182
+
4183
+ var css_248z$c = ".ycn-action-bar-separator {\n list-style: none;\n margin: 0;\n padding: 0;\n margin-left: 6px;\n margin-right: 6px;\n border-right: solid 1px var(--yc-color-line-generic);\n height: 40px;\n}";
4184
+ styleInject(css_248z$c);
4185
+
4186
+ const b$d = block('action-bar-separator');
4187
+ const ActionBarSeparator = () => {
4188
+ return React__default["default"].createElement("li", { role: "separator", className: b$d() });
4189
+ };
4190
+ ActionBarSeparator.displayName = 'ActionBar.Separator';
4191
+
4192
+ var css_248z$b = ".ycn-action-bar {\n box-sizing: border-box;\n height: 40px;\n border-bottom: solid 1px var(--yc-color-line-generic);\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-start;\n align-items: stretch;\n}";
4193
+ styleInject(css_248z$b);
4194
+
4195
+ const b$c = block('action-bar');
4196
+ const ActionBar = ({ children, className, 'aria-label': ariaLabel }) => {
4197
+ return (React__default["default"].createElement("section", { className: b$c(null, className), "aria-label": ariaLabel }, children));
4198
+ };
4199
+ ActionBar.displayName = 'ActionBar';
4200
+ const PublicActionBar = Object.assign(ActionBar, {
4201
+ Section: ActionBarSection,
4202
+ Group: ActionBarGroup,
4203
+ Item: ActionBarItem,
4204
+ Separator: ActionBarSeparator,
4205
+ });
4206
+
4207
4207
  var css_248z$a = ".ycn-title {\n box-sizing: border-box;\n padding: 14px 10px 14px 20px;\n min-height: 64px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.ycn-title_separator {\n border-bottom: 1px solid var(--yc-color-line-generic);\n}\n.ycn-title__text {\n margin: 0;\n margin-right: 20px;\n}";
4208
4208
  styleInject(css_248z$a);
4209
4209