@gravity-ui/navigation 0.12.0 → 0.13.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/build/cjs/components/CompositeBar/Item/Item.d.ts +1 -0
- package/build/cjs/components/FooterItem/FooterItem.d.ts +1 -1
- package/build/cjs/components/types.d.ts +2 -0
- package/build/cjs/index.js +8 -15
- package/build/cjs/index.js.map +1 -1
- package/build/esm/components/CompositeBar/Item/Item.d.ts +1 -0
- package/build/esm/components/FooterItem/FooterItem.d.ts +1 -1
- package/build/esm/components/types.d.ts +2 -0
- package/build/esm/index.js +8 -15
- package/build/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@ export interface ItemProps extends ItemPopup {
|
|
|
15
15
|
item: MenuItem;
|
|
16
16
|
enableTooltip?: boolean;
|
|
17
17
|
onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
18
|
+
onItemClickCapture?: (event: React.SyntheticEvent) => void;
|
|
18
19
|
}
|
|
19
20
|
interface ItemInnerProps extends ItemProps {
|
|
20
21
|
className?: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ItemProps } from '../CompositeBar/Item/Item';
|
|
3
3
|
import './FooterItem.scss';
|
|
4
|
-
export interface FooterItemProps extends Omit<ItemProps, 'onItemClick'> {
|
|
4
|
+
export interface FooterItemProps extends Omit<ItemProps, 'onItemClick' | 'onItemClickCapture'> {
|
|
5
5
|
compact: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare const FooterItem: React.FC<FooterItemProps>;
|
|
@@ -15,10 +15,12 @@ export interface MenuItem {
|
|
|
15
15
|
current?: boolean;
|
|
16
16
|
pinned?: boolean;
|
|
17
17
|
onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
18
|
+
onItemClickCapture?: (event: React.SyntheticEvent) => void;
|
|
18
19
|
itemWrapper?: (p: MakeItemParams, makeItem: (p: MakeItemParams) => React.ReactNode, opts: {
|
|
19
20
|
collapsed: boolean;
|
|
20
21
|
compact: boolean;
|
|
21
22
|
item: MenuItem;
|
|
23
|
+
ref: React.RefObject<HTMLElement>;
|
|
22
24
|
}) => React.ReactNode;
|
|
23
25
|
rightAdornment?: React.ReactNode;
|
|
24
26
|
type?: MenuItemType;
|
package/build/esm/index.js
CHANGED
|
@@ -3200,16 +3200,9 @@ var css_248z$l = ".ycn-logo {\n display: flex;\n align-items: center;\n flex-
|
|
|
3200
3200
|
styleInject(css_248z$l);
|
|
3201
3201
|
|
|
3202
3202
|
const b$m = block('logo');
|
|
3203
|
-
const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize = 15, href
|
|
3203
|
+
const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize = 15, href, wrapper, onClick, }) => {
|
|
3204
3204
|
const { compact } = useAsideHeaderContext();
|
|
3205
|
-
const hasClickHandler = typeof onClick === 'function';
|
|
3206
3205
|
const hasWrapper = typeof wrapper === 'function';
|
|
3207
|
-
const linkProps = hasClickHandler
|
|
3208
|
-
? {}
|
|
3209
|
-
: {
|
|
3210
|
-
target: '_self',
|
|
3211
|
-
href,
|
|
3212
|
-
};
|
|
3213
3206
|
let buttonIcon;
|
|
3214
3207
|
if (iconSrc) {
|
|
3215
3208
|
buttonIcon = (React__default.createElement(Button.Icon, { className: iconClassName },
|
|
@@ -3218,7 +3211,7 @@ const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize =
|
|
|
3218
3211
|
else if (icon) {
|
|
3219
3212
|
buttonIcon = React__default.createElement(Icon, { data: icon, size: iconSize, className: iconClassName });
|
|
3220
3213
|
}
|
|
3221
|
-
const button = (React__default.createElement(Button,
|
|
3214
|
+
const button = (React__default.createElement(Button, { view: "flat", size: "l", className: b$m('btn-logo'), component: hasWrapper ? 'span' : undefined, onClick: onClick, target: "_self", href: href }, buttonIcon));
|
|
3222
3215
|
let logo;
|
|
3223
3216
|
if (typeof text === 'function') {
|
|
3224
3217
|
logo = text();
|
|
@@ -3229,7 +3222,7 @@ const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize =
|
|
|
3229
3222
|
return (React__default.createElement("div", { className: b$m() },
|
|
3230
3223
|
React__default.createElement("div", { className: b$m('logo-btn-place') }, hasWrapper ? wrapper(button, compact) : button),
|
|
3231
3224
|
!compact &&
|
|
3232
|
-
(hasWrapper ? (React__default.createElement("div", { onClick: onClick }, wrapper(logo, compact))) : (React__default.createElement("a",
|
|
3225
|
+
(hasWrapper ? (React__default.createElement("div", { onClick: onClick }, wrapper(logo, compact))) : (React__default.createElement("a", { href: href !== null && href !== void 0 ? href : '/', target: "_self", className: b$m('logo-link'), onClick: onClick }, logo)))));
|
|
3233
3226
|
};
|
|
3234
3227
|
|
|
3235
3228
|
/**
|
|
@@ -3718,7 +3711,7 @@ function renderItemTitle(item) {
|
|
|
3718
3711
|
const defaultPopupPlacement = ['right-end'];
|
|
3719
3712
|
const defaultPopupOffset = [-20, 8];
|
|
3720
3713
|
const Item$1 = (props) => {
|
|
3721
|
-
const { item, className, collapseItems, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupAnchor, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onClosePopup, onItemClick, } = props;
|
|
3714
|
+
const { item, className, collapseItems, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupAnchor, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onClosePopup, onItemClick, onItemClickCapture, } = props;
|
|
3722
3715
|
const { compact } = useAsideHeaderContext();
|
|
3723
3716
|
if (item.type === 'divider') {
|
|
3724
3717
|
return React__default.createElement("div", { className: b$l('menu-divider') });
|
|
@@ -3754,7 +3747,7 @@ const Item$1 = (props) => {
|
|
|
3754
3747
|
else {
|
|
3755
3748
|
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item, false, event);
|
|
3756
3749
|
}
|
|
3757
|
-
}, onMouseEnter: () => {
|
|
3750
|
+
}, onClickCapture: onItemClickCapture, onMouseEnter: () => {
|
|
3758
3751
|
if (!compact) {
|
|
3759
3752
|
onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter();
|
|
3760
3753
|
}
|
|
@@ -3773,7 +3766,7 @@ const Item$1 = (props) => {
|
|
|
3773
3766
|
const titleNode = renderItemTitle(item);
|
|
3774
3767
|
const params = { icon: iconNode, title: titleNode };
|
|
3775
3768
|
let node;
|
|
3776
|
-
const opts = { compact, collapsed: false, item };
|
|
3769
|
+
const opts = { compact, collapsed: false, item, ref };
|
|
3777
3770
|
if (typeof item.itemWrapper === 'function') {
|
|
3778
3771
|
node = item.itemWrapper(params, makeNode, opts);
|
|
3779
3772
|
}
|
|
@@ -3798,7 +3791,7 @@ function CollapsedPopup({ onItemClick, collapseItems, anchorRef, onClose, }) {
|
|
|
3798
3791
|
};
|
|
3799
3792
|
const titleNode = renderItemTitle(collapseItem);
|
|
3800
3793
|
const params = { title: titleNode };
|
|
3801
|
-
const opts = { compact, collapsed: true, item: collapseItem };
|
|
3794
|
+
const opts = { compact, collapsed: true, item: collapseItem, ref: anchorRef };
|
|
3802
3795
|
if (typeof collapseItem.itemWrapper === 'function') {
|
|
3803
3796
|
return collapseItem.itemWrapper(params, makeCollapseNode, opts);
|
|
3804
3797
|
}
|
|
@@ -4122,7 +4115,7 @@ styleInject(css_248z$g);
|
|
|
4122
4115
|
const b$h = block('footer-item');
|
|
4123
4116
|
const FooterItem$1 = (_a) => {
|
|
4124
4117
|
var { item } = _a, props = __rest(_a, ["item"]);
|
|
4125
|
-
return (React__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 })));
|
|
4118
|
+
return (React__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, onItemClickCapture: item.onItemClickCapture })));
|
|
4126
4119
|
};
|
|
4127
4120
|
|
|
4128
4121
|
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}";
|