UNPKG

@ntragas/pouncejstest

Version:

A collection of UI components from Panther labs

42 lines (32 loc) 1.09 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _react = _interopRequireDefault(require("react")); var useDisclosure = function useDisclosure(_temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$isOpen = _ref.isOpen, isInitiallyOpen = _ref$isOpen === void 0 ? false : _ref$isOpen; var _React$useState = _react.default.useState(isInitiallyOpen), isOpen = _React$useState[0], setIsOpen = _React$useState[1]; var open = _react.default.useCallback(function () { return setIsOpen(true); }, [setIsOpen]); var close = _react.default.useCallback(function () { return setIsOpen(false); }, [setIsOpen]); var toggle = _react.default.useCallback(function () { return setIsOpen(!isOpen); }, [isOpen, setIsOpen]); return _react.default.useMemo(function () { return { isOpen, open, close, toggle }; }, [isOpen, open, close, toggle]); }; var _default = useDisclosure; exports.default = _default;