UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

30 lines 1.05 kB
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { useState } from 'react'; export const useOpenState = ({ onOpen, onClose, defaultOpen = false }) => { const [isOpen, setIsOpen] = useState(defaultOpen); const [openedWithKeyboard, setOpenedWithKeyboard] = useState(false); const openDropdown = (isKeyboard) => { if (!isOpen) { setIsOpen(true); setOpenedWithKeyboard(!!isKeyboard); onOpen === null || onOpen === void 0 ? void 0 : onOpen(); } }; const closeDropdown = () => { if (isOpen) { setIsOpen(false); onClose === null || onClose === void 0 ? void 0 : onClose(); } }; const toggleDropdown = () => { if (isOpen) { closeDropdown(); } else { openDropdown(false); } }; return { isOpen, openDropdown, closeDropdown, toggleDropdown, openedWithKeyboard }; }; //# sourceMappingURL=use-open-state.js.map