UNPKG

@momentum-ui/react-collaboration

Version:

Cisco Momentum UI Framework for React Collaboration Applications

68 lines 3.06 kB
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; import { useState } from 'react'; import { useFocus, useFocusWithin } from '@react-aria/interactions'; import { mergeProps } from '@react-aria/utils'; var useFocusState = function (props) { var _a = useState(false), isFocused = _a[0], setFocus = _a[1]; var focusProps = useFocus({ onFocus: function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } setFocus(true); (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([props], args, false)); }, onBlur: function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } setFocus(false); (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([props], args, false)); }, }).focusProps; return { isFocused: isFocused, focusProps: focusProps }; }; var useFocusWithinState = function (props) { var _a = useState(false), isFocusedWithin = _a[0], setFocusWithin = _a[1]; var focusWithinProps = useFocusWithin({ onFocusWithin: function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } setFocusWithin(true); (_a = props.onFocusWithin) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([props], args, false)); }, onBlurWithin: function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } setFocusWithin(false); (_a = props.onBlurWithin) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([props], args, false)); }, }).focusWithinProps; return { isFocusedWithin: isFocusedWithin, focusWithinProps: focusWithinProps }; }; var useFocusAndFocusWithinState = function (props) { var _a = useFocusState(props), isFocused = _a.isFocused, focusProps = _a.focusProps; var _b = useFocusWithinState(props), isFocusedWithin = _b.isFocusedWithin, focusWithinProps = _b.focusWithinProps; var mergedFocusProps = mergeProps(focusProps, focusWithinProps); return { isFocused: isFocused, isFocusedWithin: isFocusedWithin, focusProps: mergedFocusProps }; }; export { useFocusState, useFocusWithinState, useFocusAndFocusWithinState }; //# sourceMappingURL=useFocusState.js.map