UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Microsoft 365.

45 lines 2.09 kB
define(["require", "exports", "tslib", "react", "../../../Foundation", "../../../Utilities"], function (require, exports, tslib_1, React, Foundation_1, Utilities_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable deprecation/deprecation */ /** @deprecated */ exports.useMenuButtonState = function (props) { var menuButtonRef = React.useRef(null); var _a = Foundation_1.useControlledState(props, 'expanded', { defaultPropName: 'defaultExpanded', defaultPropValue: false, }), expanded = _a[0], setExpanded = _a[1]; var disabled = props.disabled, onClick = props.onClick, onKeyDown = props.onKeyDown, onMenuDismiss = props.onMenuDismiss; var _onMenuDismiss = React.useCallback(function () { onMenuDismiss && onMenuDismiss(); setExpanded(false); }, [onMenuDismiss, setExpanded]); var _onClick = React.useCallback(function (ev) { if (!disabled) { if (onClick) { onClick(ev); if (ev.defaultPrevented) { return; } } setExpanded(!expanded); } }, [disabled, expanded, onClick, setExpanded]); var _onKeyDown = React.useCallback(function (ev) { if (!disabled) { if (onKeyDown) { onKeyDown(ev); if (ev.defaultPrevented) { return; } } if ((ev.altKey || ev.metaKey) && ev.keyCode === Utilities_1.KeyCodes.down) { setExpanded(true); } } }, [disabled, onKeyDown, setExpanded]); var viewProps = tslib_1.__assign(tslib_1.__assign({}, props), { expanded: expanded, onClick: _onClick, onKeyDown: _onKeyDown, onMenuDismiss: _onMenuDismiss, menuButtonRef: menuButtonRef }); return viewProps; }; }); //# sourceMappingURL=MenuButton.state.js.map