@zohodesk/hooks
Version:
Unified Component Library - Hooks
30 lines • 772 B
JavaScript
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
};
}