UNPKG

@szhsin/react-accordion

Version:

The complete accordion solution for React.

23 lines (22 loc) 934 B
"use strict"; const require_constants = require("../utils/constants.cjs"); let react = require("react"); //#region src/hooks/useAccordionContext.ts const getItemState = (providerValue, key, itemInitialEntered) => { const { stateMap, mountOnEnter, initialEntered } = providerValue; const _initialEntered = itemInitialEntered ?? initialEntered; return stateMap.get(key) || { status: _initialEntered ? "entered" : mountOnEnter ? "unmounted" : "exited", isMounted: !mountOnEnter, isEnter: _initialEntered, isResolved: true }; }; const useAccordionContext = () => { const context = (0, react.useContext)(require_constants.AccordionContext); if (process.env.NODE_ENV !== "production" && !context.stateMap) throw new Error("[React-Accordion] Cannot find a <AccordionProvider/> above this AccordionItem."); return context; }; //#endregion exports.getItemState = getItemState; exports.useAccordionContext = useAccordionContext;