UNPKG

@zohodesk/hooks

Version:

Unified Component Library - Hooks

30 lines 772 B
import usePopup from "../popup/usePopup"; import useSelectControl from "./useSelectControl"; export default function useSelect() { let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let reducer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; const { isSelectOpen = false, ...selectProps } = props; const { isPopupOpen, handleTogglePopup, handleOpenPopup, handleClosePopup } = usePopup({ isPopupOpen: isSelectOpen }); const { selected, handleSelect } = useSelectControl(selectProps, reducer); return { selected, handleSelect, isSelectOpen: isPopupOpen, handleToggleSelect: handleTogglePopup, handleOpenPopup, handleClosePopup }; }