@deque/cauldron-react 6.18.1 → 6.18.2-canary.578e84a3

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;
@@ -12,7 +12,6 @@ export default class TopBar extends React.Component<MenuBarProps, MenuBarState>
12
12
  thin: boolean;
13
13
  hasTrigger: boolean;
14
14
  };
15
- private menuItems;
16
15
  constructor(props: MenuBarProps);
17
16
  componentDidMount(): void;
18
17
  componentWillUnmount(): void;
@@ -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
- onKeyDown: function () {
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
- var menuItems = tslib.__spreadArray([], tslib.__read(this.menuItems), false);
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',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deque/cauldron-react",
3
- "version": "6.18.1",
3
+ "version": "6.18.2-canary.578e84a3",
4
4
  "license": "MPL-2.0",
5
5
  "description": "Fully accessible react components library for Deque Cauldron",
6
6
  "homepage": "https://cauldron.dequelabs.com/",