UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Microsoft 365.

34 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = require("react"); var Utilities_1 = require("../../../Utilities"); /* eslint-disable deprecation/deprecation */ /** @deprecated */ exports.useSplitButtonState = function (props) { var _a = React.useState(false), expanded = _a[0], setExpanded = _a[1]; var disabled = props.disabled, onMenuDismiss = props.onMenuDismiss, onSecondaryActionClick = props.onSecondaryActionClick; var _onMenuDismiss = React.useCallback(function () { onMenuDismiss && onMenuDismiss(); setExpanded(false); }, [onMenuDismiss]); var _onSecondaryActionClick = React.useCallback(function (ev) { if (!disabled) { if (onSecondaryActionClick) { onSecondaryActionClick(ev); if (ev.defaultPrevented) { return; } } setExpanded(!expanded); } }, [disabled, expanded, onSecondaryActionClick]); var _onKeyDown = React.useCallback(function (ev) { if (!disabled && (ev.altKey || ev.metaKey) && ev.keyCode === Utilities_1.KeyCodes.down) { setExpanded(!expanded); } }, [disabled, expanded]); var viewProps = tslib_1.__assign(tslib_1.__assign({}, props), { expanded: expanded, onKeyDown: _onKeyDown, onMenuDismiss: _onMenuDismiss, onSecondaryActionClick: _onSecondaryActionClick }); return viewProps; }; //# sourceMappingURL=SplitButton.state.js.map