@deque/cauldron-react 6.18.0 → 6.18.1-canary.cad74a2e
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,
|
|
@@ -4704,9 +4687,6 @@ var TextEllipsis = React__default["default"].forwardRef(function (_a, ref) {
|
|
|
4704
4687
|
props.style = tslib.__assign({ WebkitLineClamp: maxLines || 2 }, props.style);
|
|
4705
4688
|
}
|
|
4706
4689
|
React.useEffect(function () {
|
|
4707
|
-
if (hideTooltip) {
|
|
4708
|
-
return;
|
|
4709
|
-
}
|
|
4710
4690
|
var listener = function () {
|
|
4711
4691
|
requestAnimationFrame(function () {
|
|
4712
4692
|
var overflowElement = sharedRef.current;
|
|
@@ -4723,12 +4703,12 @@ var TextEllipsis = React__default["default"].forwardRef(function (_a, ref) {
|
|
|
4723
4703
|
return function () {
|
|
4724
4704
|
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
4725
4705
|
};
|
|
4726
|
-
}, [
|
|
4706
|
+
}, []);
|
|
4727
4707
|
React.useEffect(function () {
|
|
4728
4708
|
if (typeof onOverflowChange === 'function') {
|
|
4729
4709
|
onOverflowChange(hasOverflow);
|
|
4730
4710
|
}
|
|
4731
|
-
}, [hasOverflow]);
|
|
4711
|
+
}, [onOverflowChange, hasOverflow]);
|
|
4732
4712
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
4733
4713
|
React__default["default"].createElement(Element, tslib.__assign({ className: classNames__default["default"]('TextEllipsis', className, {
|
|
4734
4714
|
'TextEllipsis--multiline': !!maxLines
|
|
@@ -5155,7 +5135,7 @@ var ActionMenu = React.forwardRef(function (_a, ref) {
|
|
|
5155
5135
|
}
|
|
5156
5136
|
}, [open]);
|
|
5157
5137
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
5158
|
-
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),
|
|
5159
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, {
|
|
5160
5140
|
ref: actionMenuListRef,
|
|
5161
5141
|
role: 'menu',
|
package/package.json
CHANGED