UNPKG

@awsui/components-react

Version:

AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A

23 lines (22 loc) 906 B
import { useCallback, useState } from 'react'; export var useOpenState = function (_a) { var resetHighlight = _a.resetHighlight, onOpen = _a.onOpen, onClose = _a.onClose; var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1]; var openDropdown = useCallback(function () { if (!isOpen) { setIsOpen(true); onOpen && onOpen(); } }, [isOpen, setIsOpen]); var closeDropdown = useCallback(function () { if (isOpen) { resetHighlight(); setIsOpen(false); onClose && onClose(); } }, [isOpen, setIsOpen, resetHighlight]); var toggleDropdown = useCallback(function () { isOpen ? closeDropdown() : openDropdown(); }, [isOpen, closeDropdown, openDropdown]); return { isOpen: isOpen, openDropdown: openDropdown, closeDropdown: closeDropdown, toggleDropdown: toggleDropdown }; };