@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/cjs/index.js
CHANGED
|
@@ -3227,16 +3227,9 @@ var css_248z$l = ".ycn-logo {\n display: flex;\n align-items: center;\n flex-
|
|
|
3227
3227
|
styleInject(css_248z$l);
|
|
3228
3228
|
|
|
3229
3229
|
const b$m = block('logo');
|
|
3230
|
-
const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize = 15, href
|
|
3230
|
+
const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize = 15, href, wrapper, onClick, }) => {
|
|
3231
3231
|
const { compact } = useAsideHeaderContext();
|
|
3232
|
-
const hasClickHandler = typeof onClick === 'function';
|
|
3233
3232
|
const hasWrapper = typeof wrapper === 'function';
|
|
3234
|
-
const linkProps = hasClickHandler
|
|
3235
|
-
? {}
|
|
3236
|
-
: {
|
|
3237
|
-
target: '_self',
|
|
3238
|
-
href,
|
|
3239
|
-
};
|
|
3240
3233
|
let buttonIcon;
|
|
3241
3234
|
if (iconSrc) {
|
|
3242
3235
|
buttonIcon = (React__default["default"].createElement(uikit.Button.Icon, { className: iconClassName },
|
|
@@ -3245,7 +3238,7 @@ const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize =
|
|
|
3245
3238
|
else if (icon) {
|
|
3246
3239
|
buttonIcon = React__default["default"].createElement(uikit.Icon, { data: icon, size: iconSize, className: iconClassName });
|
|
3247
3240
|
}
|
|
3248
|
-
const button = (React__default["default"].createElement(uikit.Button,
|
|
3241
|
+
const button = (React__default["default"].createElement(uikit.Button, { view: "flat", size: "l", className: b$m('btn-logo'), component: hasWrapper ? 'span' : undefined, onClick: onClick, target: "_self", href: href }, buttonIcon));
|
|
3249
3242
|
let logo;
|
|
3250
3243
|
if (typeof text === 'function') {
|
|
3251
3244
|
logo = text();
|
|
@@ -3256,7 +3249,7 @@ const Logo$1 = ({ text, icon, iconSrc, iconClassName, iconSize = 24, textSize =
|
|
|
3256
3249
|
return (React__default["default"].createElement("div", { className: b$m() },
|
|
3257
3250
|
React__default["default"].createElement("div", { className: b$m('logo-btn-place') }, hasWrapper ? wrapper(button, compact) : button),
|
|
3258
3251
|
!compact &&
|
|
3259
|
-
(hasWrapper ? (React__default["default"].createElement("div", { onClick: onClick }, wrapper(logo, compact))) : (React__default["default"].createElement("a",
|
|
3252
|
+
(hasWrapper ? (React__default["default"].createElement("div", { onClick: onClick }, wrapper(logo, compact))) : (React__default["default"].createElement("a", { href: href !== null && href !== void 0 ? href : '/', target: "_self", className: b$m('logo-link'), onClick: onClick }, logo)))));
|
|
3260
3253
|
};
|
|
3261
3254
|
|
|
3262
3255
|
/**
|
|
@@ -3745,7 +3738,7 @@ function renderItemTitle(item) {
|
|
|
3745
3738
|
const defaultPopupPlacement = ['right-end'];
|
|
3746
3739
|
const defaultPopupOffset = [-20, 8];
|
|
3747
3740
|
const Item$1 = (props) => {
|
|
3748
|
-
const { item, className, collapseItems, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupAnchor, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onClosePopup, onItemClick, } = props;
|
|
3741
|
+
const { item, className, collapseItems, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupAnchor, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onClosePopup, onItemClick, onItemClickCapture, } = props;
|
|
3749
3742
|
const { compact } = useAsideHeaderContext();
|
|
3750
3743
|
if (item.type === 'divider') {
|
|
3751
3744
|
return React__default["default"].createElement("div", { className: b$l('menu-divider') });
|
|
@@ -3781,7 +3774,7 @@ const Item$1 = (props) => {
|
|
|
3781
3774
|
else {
|
|
3782
3775
|
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item, false, event);
|
|
3783
3776
|
}
|
|
3784
|
-
}, onMouseEnter: () => {
|
|
3777
|
+
}, onClickCapture: onItemClickCapture, onMouseEnter: () => {
|
|
3785
3778
|
if (!compact) {
|
|
3786
3779
|
onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter();
|
|
3787
3780
|
}
|
|
@@ -3800,7 +3793,7 @@ const Item$1 = (props) => {
|
|
|
3800
3793
|
const titleNode = renderItemTitle(item);
|
|
3801
3794
|
const params = { icon: iconNode, title: titleNode };
|
|
3802
3795
|
let node;
|
|
3803
|
-
const opts = { compact, collapsed: false, item };
|
|
3796
|
+
const opts = { compact, collapsed: false, item, ref };
|
|
3804
3797
|
if (typeof item.itemWrapper === 'function') {
|
|
3805
3798
|
node = item.itemWrapper(params, makeNode, opts);
|
|
3806
3799
|
}
|
|
@@ -3825,7 +3818,7 @@ function CollapsedPopup({ onItemClick, collapseItems, anchorRef, onClose, }) {
|
|
|
3825
3818
|
};
|
|
3826
3819
|
const titleNode = renderItemTitle(collapseItem);
|
|
3827
3820
|
const params = { title: titleNode };
|
|
3828
|
-
const opts = { compact, collapsed: true, item: collapseItem };
|
|
3821
|
+
const opts = { compact, collapsed: true, item: collapseItem, ref: anchorRef };
|
|
3829
3822
|
if (typeof collapseItem.itemWrapper === 'function') {
|
|
3830
3823
|
return collapseItem.itemWrapper(params, makeCollapseNode, opts);
|
|
3831
3824
|
}
|
|
@@ -4149,7 +4142,7 @@ styleInject(css_248z$g);
|
|
|
4149
4142
|
const b$h = block('footer-item');
|
|
4150
4143
|
const FooterItem$1 = (_a) => {
|
|
4151
4144
|
var { item } = _a, props = __rest(_a, ["item"]);
|
|
4152
|
-
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 })));
|
|
4145
|
+
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, onItemClickCapture: item.onItemClickCapture })));
|
|
4153
4146
|
};
|
|
4154
4147
|
|
|
4155
4148
|
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}";
|