@deque/cauldron-react 6.18.1 → 6.18.2
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.
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
type ActionMenuTriggerProps = Pick<React.HTMLAttributes<HTMLButtonElement>, 'onClick' | 'onKeyDown' | 'aria-expanded' | 'aria-haspopup'
|
|
2
|
+
type ActionMenuTriggerProps = Pick<React.HTMLAttributes<HTMLButtonElement>, 'onClick' | 'onKeyDown' | 'aria-expanded' | 'aria-haspopup'> & {
|
|
3
|
+
ref: React.RefObject<HTMLButtonElement>;
|
|
4
|
+
};
|
|
3
5
|
type ActionMenuTriggerFunction = (props: ActionMenuTriggerProps, open: boolean) => React.ReactElement;
|
|
4
6
|
declare const ActionMenu: React.ForwardRefExoticComponent<{
|
|
5
7
|
children: React.ReactElement;
|
|
@@ -7,6 +7,7 @@ interface MenuItemProps extends React.HTMLAttributes<HTMLLIElement> {
|
|
|
7
7
|
autoClickLink?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export default class MenuItem extends Component<MenuItemProps> {
|
|
10
|
+
static displayName: string;
|
|
10
11
|
static defaultProps: {
|
|
11
12
|
menuItemRef: () => void;
|
|
12
13
|
onClick: () => void;
|
package/lib/index.js
CHANGED
|
@@ -628,6 +628,7 @@ var MenuItem = /** @class */ (function (_super) {
|
|
|
628
628
|
setRef(menuItemRef, item);
|
|
629
629
|
}, onClick: this.onClick, onKeyDown: this.onKeyDown }), children));
|
|
630
630
|
};
|
|
631
|
+
MenuItem.displayName = 'MenuItem';
|
|
631
632
|
MenuItem.defaultProps = {
|
|
632
633
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
633
634
|
menuItemRef: function () { },
|
|
@@ -659,7 +660,6 @@ var TopBar$1 = /** @class */ (function (_super) {
|
|
|
659
660
|
tslib.__extends(TopBar, _super);
|
|
660
661
|
function TopBar(props) {
|
|
661
662
|
var _this = _super.call(this, props) || this;
|
|
662
|
-
_this.menuItems = [];
|
|
663
663
|
_this.onResize = function () {
|
|
664
664
|
var wide = isWide();
|
|
665
665
|
if (wide === _this.state.wide) {
|
|
@@ -683,27 +683,7 @@ var TopBar$1 = /** @class */ (function (_super) {
|
|
|
683
683
|
}
|
|
684
684
|
return React.cloneElement(child, {
|
|
685
685
|
key: index,
|
|
686
|
-
|
|
687
|
-
var _a;
|
|
688
|
-
var args = [];
|
|
689
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
690
|
-
args[_i] = arguments[_i];
|
|
691
|
-
}
|
|
692
|
-
// @ts-ignore we're just spreading the original args
|
|
693
|
-
_this.onKeyDown.apply(_this, tslib.__spreadArray([], tslib.__read(args), false));
|
|
694
|
-
if (child.props.onKeyDown) {
|
|
695
|
-
(_a = child.props).onKeyDown.apply(_a, tslib.__spreadArray([], tslib.__read(args), false));
|
|
696
|
-
}
|
|
697
|
-
},
|
|
698
|
-
tabIndex: 0,
|
|
699
|
-
menuItemRef: function (menuItem) {
|
|
700
|
-
if (menuItem) {
|
|
701
|
-
_this.menuItems.push(menuItem);
|
|
702
|
-
}
|
|
703
|
-
if (child.props.menuItemRef) {
|
|
704
|
-
child.props.menuItemRef(menuItem);
|
|
705
|
-
}
|
|
706
|
-
}
|
|
686
|
+
tabIndex: typeof child.props.tabIndex === 'undefined' ? 0 : child.props.tabIndex
|
|
707
687
|
});
|
|
708
688
|
};
|
|
709
689
|
var wide = isWide();
|
|
@@ -728,7 +708,11 @@ var TopBar$1 = /** @class */ (function (_super) {
|
|
|
728
708
|
};
|
|
729
709
|
TopBar.prototype.onKeyDown = function (e) {
|
|
730
710
|
var key = keyname__default["default"](e.which);
|
|
731
|
-
|
|
711
|
+
// This is a temporary workaround until have an opportunity to refactor or replace menubar
|
|
712
|
+
// see: https://github.com/dequelabs/cauldron/issues/1934
|
|
713
|
+
// eslint-disable-next-line react/no-find-dom-node
|
|
714
|
+
var menuBarElement = reactDom.findDOMNode(this);
|
|
715
|
+
var menuItems = Array.from(menuBarElement.children);
|
|
732
716
|
// account for hidden side bar trigger (hamburger)
|
|
733
717
|
if (this.state.wide && this.props.hasTrigger) {
|
|
734
718
|
menuItems.shift();
|
|
@@ -751,11 +735,10 @@ var TopBar$1 = /** @class */ (function (_super) {
|
|
|
751
735
|
menuItems[adjacentIndex].focus();
|
|
752
736
|
};
|
|
753
737
|
TopBar.prototype.render = function () {
|
|
754
|
-
this.menuItems = [];
|
|
755
738
|
// disabling no-unused-vars to prevent thin/hasTrigger from being passed through to div
|
|
756
739
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
757
740
|
var _a = this.props, children = _a.children, className = _a.className; _a.thin; _a.hasTrigger; tslib.__rest(_a, ["children", "className", "thin", "hasTrigger"]);
|
|
758
|
-
return (React__default["default"].createElement("ul", { role: "menubar", className: className }, React.Children.map(children, this.renderChild)));
|
|
741
|
+
return (React__default["default"].createElement("ul", { role: "menubar", onKeyDown: this.onKeyDown, className: className }, React.Children.map(children, this.renderChild)));
|
|
759
742
|
};
|
|
760
743
|
TopBar.defaultProps = {
|
|
761
744
|
thin: false,
|
|
@@ -5152,7 +5135,7 @@ var ActionMenu = React.forwardRef(function (_a, ref) {
|
|
|
5152
5135
|
}
|
|
5153
5136
|
}, [open]);
|
|
5154
5137
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
5155
|
-
React__default["default"].createElement(ClickOutsideListener$1, { onClickOutside: handleClickOutside, mouseEvent: open ? undefined : false, touchEvent: open ? undefined : false }, actionMenuTrigger),
|
|
5138
|
+
React__default["default"].createElement(ClickOutsideListener$1, { onClickOutside: handleClickOutside, mouseEvent: open ? undefined : false, touchEvent: open ? undefined : false, target: triggerProps.ref }, actionMenuTrigger),
|
|
5156
5139
|
React__default["default"].createElement(AnchoredOverlay, tslib.__assign({ ref: actionMenuRef, role: "presentation", className: classNames__default["default"]('ActionMenu', className), open: open, onOpenChange: setOpen, target: triggerRef, placement: placement, offset: 4, portal: portal, style: tslib.__assign({ display: !open ? 'none' : undefined }, style) }, props), React__default["default"].cloneElement(actionMenuList, {
|
|
5157
5140
|
ref: actionMenuListRef,
|
|
5158
5141
|
role: 'menu',
|