@gravity-ui/navigation 0.12.0 → 0.13.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/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 +5 -5
- 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 +5 -5
- 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
|
@@ -3718,7 +3718,7 @@ function renderItemTitle(item) {
|
|
|
3718
3718
|
const defaultPopupPlacement = ['right-end'];
|
|
3719
3719
|
const defaultPopupOffset = [-20, 8];
|
|
3720
3720
|
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;
|
|
3721
|
+
const { item, className, collapseItems, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupAnchor, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onClosePopup, onItemClick, onItemClickCapture, } = props;
|
|
3722
3722
|
const { compact } = useAsideHeaderContext();
|
|
3723
3723
|
if (item.type === 'divider') {
|
|
3724
3724
|
return React__default.createElement("div", { className: b$l('menu-divider') });
|
|
@@ -3754,7 +3754,7 @@ const Item$1 = (props) => {
|
|
|
3754
3754
|
else {
|
|
3755
3755
|
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item, false, event);
|
|
3756
3756
|
}
|
|
3757
|
-
}, onMouseEnter: () => {
|
|
3757
|
+
}, onClickCapture: onItemClickCapture, onMouseEnter: () => {
|
|
3758
3758
|
if (!compact) {
|
|
3759
3759
|
onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter();
|
|
3760
3760
|
}
|
|
@@ -3773,7 +3773,7 @@ const Item$1 = (props) => {
|
|
|
3773
3773
|
const titleNode = renderItemTitle(item);
|
|
3774
3774
|
const params = { icon: iconNode, title: titleNode };
|
|
3775
3775
|
let node;
|
|
3776
|
-
const opts = { compact, collapsed: false, item };
|
|
3776
|
+
const opts = { compact, collapsed: false, item, ref };
|
|
3777
3777
|
if (typeof item.itemWrapper === 'function') {
|
|
3778
3778
|
node = item.itemWrapper(params, makeNode, opts);
|
|
3779
3779
|
}
|
|
@@ -3798,7 +3798,7 @@ function CollapsedPopup({ onItemClick, collapseItems, anchorRef, onClose, }) {
|
|
|
3798
3798
|
};
|
|
3799
3799
|
const titleNode = renderItemTitle(collapseItem);
|
|
3800
3800
|
const params = { title: titleNode };
|
|
3801
|
-
const opts = { compact, collapsed: true, item: collapseItem };
|
|
3801
|
+
const opts = { compact, collapsed: true, item: collapseItem, ref: anchorRef };
|
|
3802
3802
|
if (typeof collapseItem.itemWrapper === 'function') {
|
|
3803
3803
|
return collapseItem.itemWrapper(params, makeCollapseNode, opts);
|
|
3804
3804
|
}
|
|
@@ -4122,7 +4122,7 @@ styleInject(css_248z$g);
|
|
|
4122
4122
|
const b$h = block('footer-item');
|
|
4123
4123
|
const FooterItem$1 = (_a) => {
|
|
4124
4124
|
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 })));
|
|
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, onItemClickCapture: item.onItemClickCapture })));
|
|
4126
4126
|
};
|
|
4127
4127
|
|
|
4128
4128
|
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}";
|