@deque/cauldron-react 6.25.0 → 6.25.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.
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- type ActionMenuTriggerProps = Pick<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'onClick' | 'onKeyDown' | 'aria-expanded' | 'aria-haspopup'> & {
2
+ type ActionMenuTriggerProps = Pick<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'onClick' | 'onKeyDown' | 'aria-expanded' | 'aria-haspopup' | 'aria-controls'> & {
3
3
  ref: React.RefObject<HTMLButtonElement>;
4
4
  };
5
5
  type ActionMenuTriggerFunction = (props: ActionMenuTriggerProps, open: boolean) => React.ReactElement;
package/lib/index.js CHANGED
@@ -5317,6 +5317,7 @@ var ActionMenu = React.forwardRef(function (_a, ref) {
5317
5317
  var actionMenuRef = useSharedRef(ref);
5318
5318
  var actionMenuListRef = useSharedRef(actionMenuList.props.ref);
5319
5319
  var _f = tslib.__read(nextId.useId(1, 'menu-trigger'), 1), triggerId = _f[0];
5320
+ var _g = tslib.__read(nextId.useId(1, 'menu'), 1), menuId = _g[0];
5320
5321
  var handleTriggerClick = React.useCallback(function (event) {
5321
5322
  // istanbul ignore else
5322
5323
  if (!event.defaultPrevented) {
@@ -5350,6 +5351,9 @@ var ActionMenu = React.forwardRef(function (_a, ref) {
5350
5351
  setOpen(false);
5351
5352
  }
5352
5353
  }, []);
5354
+ var handleOverlayBlur = React.useCallback(function () {
5355
+ setOpen(false);
5356
+ }, []);
5353
5357
  var handleAction = React.useCallback(function (key, event) {
5354
5358
  // istanbul ignore else
5355
5359
  if (!event.defaultPrevented) {
@@ -5369,13 +5373,16 @@ var ActionMenu = React.forwardRef(function (_a, ref) {
5369
5373
  (_c = triggerRef.current) === null || _c === void 0 ? void 0 : _c.focus();
5370
5374
  }
5371
5375
  }, [open]);
5372
- var overlay = (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, {
5376
+ var hidden = renderInTrigger && !open;
5377
+ var overlay = (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), "aria-hidden": hidden, onBlur: handleOverlayBlur }, props), React__default["default"].cloneElement(actionMenuList, {
5373
5378
  ref: actionMenuListRef,
5379
+ id: menuId,
5374
5380
  role: 'menu',
5375
5381
  onAction: handleAction,
5376
5382
  'aria-labelledby': triggerId,
5377
5383
  focusStrategy: focusStrategy,
5378
- focusDisabledOptions: true
5384
+ focusDisabledOptions: true,
5385
+ hidden: hidden
5379
5386
  })));
5380
5387
  var triggerProps = React.useMemo(function () {
5381
5388
  return {
@@ -5384,9 +5391,10 @@ var ActionMenu = React.forwardRef(function (_a, ref) {
5384
5391
  onClick: handleTriggerClick,
5385
5392
  onKeyDown: handleTriggerKeyDown,
5386
5393
  'aria-expanded': open,
5387
- 'aria-haspopup': 'menu'
5394
+ 'aria-haspopup': 'menu',
5395
+ 'aria-controls': menuId
5388
5396
  };
5389
- }, [handleTriggerClick, open]);
5397
+ }, [handleTriggerClick, open, menuId]);
5390
5398
  if (renderInTrigger) {
5391
5399
  // istanbul ignore next
5392
5400
  if (portal && process.env.NODE_ENV !== 'production') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deque/cauldron-react",
3
- "version": "6.25.0",
3
+ "version": "6.25.1",
4
4
  "license": "MPL-2.0",
5
5
  "description": "Fully accessible react components library for Deque Cauldron",
6
6
  "homepage": "https://cauldron.dequelabs.com/",