UNPKG

@szhsin/react-accordion

Version:

The complete accordion solution for React.

25 lines (22 loc) 698 B
import { useTransitionMap } from 'react-transition-state'; const getTransition = (transition, name) => transition === true || !!(transition && transition[name]); const useAccordionProvider = ({ transition, transitionTimeout, ...rest } = {}) => { const transitionMap = useTransitionMap({ timeout: transitionTimeout, enter: getTransition(transition, 'enter'), exit: getTransition(transition, 'exit'), preEnter: getTransition(transition, 'preEnter'), preExit: getTransition(transition, 'preExit'), ...rest }); return { mountOnEnter: !!rest.mountOnEnter, initialEntered: !!rest.initialEntered, ...transitionMap }; }; export { useAccordionProvider };