@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/esm/index.js
CHANGED
|
@@ -5000,24 +5000,25 @@ const Panels = () => {
|
|
|
5000
5000
|
return panelItems ? (React__default.createElement(Drawer, { className: b$m('panels'), onVeilClick: onClosePanel, onEscape: onClosePanel, style: { left: size } }, panelItems.map((item) => (React__default.createElement(DrawerItem, Object.assign({ key: item.id }, item)))))) : null;
|
|
5001
5001
|
};
|
|
5002
5002
|
|
|
5003
|
-
const FirstPanel = () => {
|
|
5003
|
+
const FirstPanel = React__default.forwardRef((_props, ref) => {
|
|
5004
5004
|
const { size, onItemClick, headerDecoration, multipleTooltip, menuMoreTitle, renderFooter, compact, } = useAsideHeaderInnerContext();
|
|
5005
5005
|
const visibleMenuItems = useVisibleMenuItems();
|
|
5006
5006
|
const asideRef = useRef(null);
|
|
5007
|
+
const popupAnchorRef = useMemo(() => ref || asideRef, [ref, asideRef]);
|
|
5007
5008
|
return (React__default.createElement(React__default.Fragment, null,
|
|
5008
5009
|
React__default.createElement("div", { className: b$m('aside'), style: { width: size } },
|
|
5009
|
-
React__default.createElement("div", { className: b$m('aside-popup-anchor'), ref:
|
|
5010
|
+
React__default.createElement("div", { className: b$m('aside-popup-anchor'), ref: popupAnchorRef }),
|
|
5010
5011
|
React__default.createElement("div", { className: b$m('aside-content', { ['with-decoration']: headerDecoration }) },
|
|
5011
5012
|
React__default.createElement(Header, null),
|
|
5012
5013
|
(visibleMenuItems === null || visibleMenuItems === void 0 ? void 0 : visibleMenuItems.length) ? (React__default.createElement(CompositeBar, { type: "menu", items: visibleMenuItems, menuMoreTitle: menuMoreTitle !== null && menuMoreTitle !== void 0 ? menuMoreTitle : i18n$3('label_more'), onItemClick: onItemClick, multipleTooltip: multipleTooltip })) : (React__default.createElement("div", { className: b$m('menu-items') })),
|
|
5013
5014
|
React__default.createElement("div", { className: b$m('footer') }, renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter({
|
|
5014
5015
|
size,
|
|
5015
5016
|
compact: Boolean(compact),
|
|
5016
|
-
asideRef,
|
|
5017
|
+
asideRef: popupAnchorRef,
|
|
5017
5018
|
})),
|
|
5018
5019
|
React__default.createElement(CollapseButton, null))),
|
|
5019
5020
|
React__default.createElement(Panels, null)));
|
|
5020
|
-
};
|
|
5021
|
+
});
|
|
5021
5022
|
|
|
5022
5023
|
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}";
|
|
5023
5024
|
styleInject(css_248z$h);
|
|
@@ -5078,7 +5079,7 @@ const useAsideHeaderInnerContextValue = (props) => {
|
|
|
5078
5079
|
onItemClick });
|
|
5079
5080
|
};
|
|
5080
5081
|
|
|
5081
|
-
const AsideHeader = (props) => {
|
|
5082
|
+
const AsideHeader = React__default.forwardRef((props, ref) => {
|
|
5082
5083
|
const { className, compact } = props;
|
|
5083
5084
|
const size = compact ? ASIDE_HEADER_COMPACT_WIDTH : ASIDE_HEADER_EXPANDED_WIDTH;
|
|
5084
5085
|
const asideHeaderContextValue = useMemo(() => ({ size, compact }), [compact, size]);
|
|
@@ -5087,9 +5088,9 @@ const AsideHeader = (props) => {
|
|
|
5087
5088
|
React__default.createElement(AsideHeaderInnerContextProvider, { value: asideHeaderInnerContextValue },
|
|
5088
5089
|
React__default.createElement("div", { className: b$m({ compact }, className) },
|
|
5089
5090
|
React__default.createElement("div", { className: b$m('pane-container') },
|
|
5090
|
-
React__default.createElement(FirstPanel,
|
|
5091
|
+
React__default.createElement(FirstPanel, { ref: ref }),
|
|
5091
5092
|
React__default.createElement(Content, { size: size, renderContent: props.renderContent, className: b$m('content') }))))));
|
|
5092
|
-
};
|
|
5093
|
+
});
|
|
5093
5094
|
|
|
5094
5095
|
/******************************************************************************
|
|
5095
5096
|
Copyright (c) Microsoft Corporation.
|