@gravity-ui/navigation 0.22.2 → 0.23.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/build/cjs/components/AsideHeader/AsideHeader.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/FirstPanel.d.ts +1 -1
- package/build/cjs/components/AsideHeader/types.d.ts +1 -1
- package/build/cjs/index.js +8 -7
- package/build/cjs/index.js.map +1 -1
- package/build/esm/components/AsideHeader/AsideHeader.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/FirstPanel.d.ts +1 -1
- package/build/esm/components/AsideHeader/types.d.ts +1 -1
- package/build/esm/index.js +8 -7
- package/build/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AsideHeaderProps } from './types';
|
|
3
3
|
import './AsideHeader.scss';
|
|
4
|
-
export declare const AsideHeader:
|
|
4
|
+
export declare const AsideHeader: React.ForwardRefExoticComponent<AsideHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const FirstPanel:
|
|
2
|
+
export declare const FirstPanel: React.ForwardRefExoticComponent<React.RefAttributes<HTMLDivElement>>;
|
|
@@ -14,7 +14,7 @@ export interface AsideHeaderGeneralProps {
|
|
|
14
14
|
renderFooter?: (data: {
|
|
15
15
|
size: number;
|
|
16
16
|
compact: boolean;
|
|
17
|
-
asideRef: React.
|
|
17
|
+
asideRef: React.ForwardedRef<HTMLDivElement>;
|
|
18
18
|
}) => React.ReactNode;
|
|
19
19
|
onClosePanel?: () => void;
|
|
20
20
|
onChangeCompact?: (compact: boolean) => void;
|
package/build/cjs/index.js
CHANGED
|
@@ -5027,24 +5027,25 @@ const Panels = () => {
|
|
|
5027
5027
|
return panelItems ? (React__default["default"].createElement(Drawer, { className: b$m('panels'), onVeilClick: onClosePanel, onEscape: onClosePanel, style: { left: size } }, panelItems.map((item) => (React__default["default"].createElement(DrawerItem, Object.assign({ key: item.id }, item)))))) : null;
|
|
5028
5028
|
};
|
|
5029
5029
|
|
|
5030
|
-
const FirstPanel = () => {
|
|
5030
|
+
const FirstPanel = React__default["default"].forwardRef((_props, ref) => {
|
|
5031
5031
|
const { size, onItemClick, headerDecoration, multipleTooltip, menuMoreTitle, renderFooter, compact, } = useAsideHeaderInnerContext();
|
|
5032
5032
|
const visibleMenuItems = useVisibleMenuItems();
|
|
5033
5033
|
const asideRef = React.useRef(null);
|
|
5034
|
+
const popupAnchorRef = React.useMemo(() => ref || asideRef, [ref, asideRef]);
|
|
5034
5035
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
5035
5036
|
React__default["default"].createElement("div", { className: b$m('aside'), style: { width: size } },
|
|
5036
|
-
React__default["default"].createElement("div", { className: b$m('aside-popup-anchor'), ref:
|
|
5037
|
+
React__default["default"].createElement("div", { className: b$m('aside-popup-anchor'), ref: popupAnchorRef }),
|
|
5037
5038
|
React__default["default"].createElement("div", { className: b$m('aside-content', { ['with-decoration']: headerDecoration }) },
|
|
5038
5039
|
React__default["default"].createElement(Header, null),
|
|
5039
5040
|
(visibleMenuItems === null || visibleMenuItems === void 0 ? void 0 : visibleMenuItems.length) ? (React__default["default"].createElement(CompositeBar, { type: "menu", items: visibleMenuItems, menuMoreTitle: menuMoreTitle !== null && menuMoreTitle !== void 0 ? menuMoreTitle : i18n$3('label_more'), onItemClick: onItemClick, multipleTooltip: multipleTooltip })) : (React__default["default"].createElement("div", { className: b$m('menu-items') })),
|
|
5040
5041
|
React__default["default"].createElement("div", { className: b$m('footer') }, renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter({
|
|
5041
5042
|
size,
|
|
5042
5043
|
compact: Boolean(compact),
|
|
5043
|
-
asideRef,
|
|
5044
|
+
asideRef: popupAnchorRef,
|
|
5044
5045
|
})),
|
|
5045
5046
|
React__default["default"].createElement(CollapseButton, null))),
|
|
5046
5047
|
React__default["default"].createElement(Panels, null)));
|
|
5047
|
-
};
|
|
5048
|
+
});
|
|
5048
5049
|
|
|
5049
5050
|
var css_248z$h = ".g-root {\n --gn-aside-header-background-color: var(--g-color-base-warning-light);\n --gn-aside-header-collapse-button-divider-line-color: var(\n --gn-aside-header-subheader-divider-line-color\n );\n --gn-aside-header-footer-item-icon-color: var(--g-color-text-primary);\n --gn-aside-header-subheader-item-icon-color: var(--g-color-text-primary);\n --gn-aside-header-item-icon-background-size: 38px;\n}\n\n.g-root_theme_light,\n.g-root_theme_light-hc {\n --gn-aside-header-divider-line-color: transparent;\n --gn-aside-header-subheader-divider-line-color: var(--g-color-line-generic);\n}\n\n.g-root_theme_dark,\n.g-root_theme_dark-hc {\n --gn-aside-header-divider-line-color: var(--g-color-line-generic-solid);\n --gn-aside-header-subheader-divider-line-color: var(--g-color-line-generic-solid);\n}\n\n.gn-aside-header {\n --gn-aside-header-min-width: 56px;\n height: 100%;\n width: 100%;\n position: relative;\n background-color: var(--g-color-base-background);\n}\n.gn-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(--g-color-base-background);\n z-index: 100;\n box-sizing: border-box;\n}\n.gn-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(--gn-aside-header-divider-line-color);\n}\n.gn-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.gn-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.gn-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.gn-aside-header__aside-content > .gn-aside-header-logo {\n margin: 8px 0;\n}\n.gn-aside-header__aside-content_with-decoration {\n background: linear-gradient(180deg, var(--gn-aside-header-background-color) calc(var(--gradient-height) * 0.33), transparent calc(var(--gradient-height) * 0.88));\n}\n.gn-aside-header_compact .gn-aside-header__aside-content {\n background: transparent;\n}\n.gn-aside-header__header {\n --gn-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.gn-aside-header__header .gn-aside-header__header-divider {\n position: absolute;\n bottom: 0;\n left: 0;\n z-index: -2;\n display: none;\n color: var(--gn-aside-header-background-color);\n}\n.gn-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(--gn-aside-header-header-divider-height));\n content: \"\";\n background-color: var(--gn-aside-header-background-color);\n}\n.gn-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(--gn-aside-header-subheader-divider-line-color);\n}\n.gn-aside-header_compact .gn-aside-header__header::before {\n display: block;\n}\n.gn-aside-header_compact .gn-aside-header__header_with-decoration .gn-aside-header__header-divider {\n display: block;\n}\n.gn-aside-header_compact .gn-aside-header__header_with-decoration::after {\n display: none;\n}\n.gn-aside-header__menu-items {\n flex-grow: 1;\n}\n.gn-aside-header__footer {\n flex-shrink: 0;\n width: 100%;\n margin: 8px 0;\n display: flex;\n flex-direction: column;\n}\n.gn-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.gn-aside-header__panel {\n height: 100%;\n}\n.gn-aside-header__pane-container {\n display: flex;\n outline: none;\n overflow: visible;\n user-select: text;\n flex-direction: row;\n}\n.gn-aside-header__content {\n width: calc(100% - var(--gn-aside-header-size));\n z-index: 95;\n}\n.gn-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(--gn-aside-header-collapse-button-divider-line-color);\n margin-top: auto;\n}\n.gn-aside-header__collapse-button > .yc-button__text {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 20px;\n}\n.gn-aside-header__collapse-button:not(.gn-aside-header__collapse-button_compact) .gn-aside-header__collapse-icon {\n transform: rotate(180deg);\n}\n.gn-aside-header__collapse-button .gn-aside-header__collapse-icon {\n color: var(--g-color-text-secondary);\n}\n.gn-aside-header__collapse-button:hover .gn-aside-header__collapse-icon {\n color: var(--g-color-text-primary);\n}";
|
|
5050
5051
|
styleInject(css_248z$h);
|
|
@@ -5105,7 +5106,7 @@ const useAsideHeaderInnerContextValue = (props) => {
|
|
|
5105
5106
|
onItemClick });
|
|
5106
5107
|
};
|
|
5107
5108
|
|
|
5108
|
-
const AsideHeader = (props) => {
|
|
5109
|
+
const AsideHeader = React__default["default"].forwardRef((props, ref) => {
|
|
5109
5110
|
const { className, compact } = props;
|
|
5110
5111
|
const size = compact ? ASIDE_HEADER_COMPACT_WIDTH : ASIDE_HEADER_EXPANDED_WIDTH;
|
|
5111
5112
|
const asideHeaderContextValue = React.useMemo(() => ({ size, compact }), [compact, size]);
|
|
@@ -5114,9 +5115,9 @@ const AsideHeader = (props) => {
|
|
|
5114
5115
|
React__default["default"].createElement(AsideHeaderInnerContextProvider, { value: asideHeaderInnerContextValue },
|
|
5115
5116
|
React__default["default"].createElement("div", { className: b$m({ compact }, className) },
|
|
5116
5117
|
React__default["default"].createElement("div", { className: b$m('pane-container') },
|
|
5117
|
-
React__default["default"].createElement(FirstPanel,
|
|
5118
|
+
React__default["default"].createElement(FirstPanel, { ref: ref }),
|
|
5118
5119
|
React__default["default"].createElement(Content, { size: size, renderContent: props.renderContent, className: b$m('content') }))))));
|
|
5119
|
-
};
|
|
5120
|
+
});
|
|
5120
5121
|
|
|
5121
5122
|
/******************************************************************************
|
|
5122
5123
|
Copyright (c) Microsoft Corporation.
|