@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
37 lines (31 loc) • 785 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var useDisclosure = function useDisclosure(open) {
if (open === void 0) {
open = false;
}
var _useState = (0, _react.useState)(open),
isOpen = _useState[0],
setIsOpen = _useState[1];
var onOpen = (0, _react.useCallback)(function () {
return setIsOpen(true);
}, []);
var onClose = (0, _react.useCallback)(function () {
return setIsOpen(false);
}, []);
var onToggle = (0, _react.useCallback)(function () {
return setIsOpen(function (prevIsOpen) {
return !prevIsOpen;
});
}, []);
return {
isOpen: isOpen,
onOpen: onOpen,
onClose: onClose,
onToggle: onToggle
};
};
exports.default = useDisclosure;