@szhsin/react-accordion
Version:
The complete accordion solution for React.
32 lines (28 loc) • 667 B
JavaScript
;
var constants = require('../utils/constants.cjs');
var useId = require('./useId.cjs');
const useAccordionItem = ({
state,
toggle,
disabled
}) => {
const buttonId = useId.useId();
const panelId = buttonId && buttonId + '-';
const buttonProps = {
id: buttonId,
'aria-controls': panelId,
'aria-expanded': state.isEnter,
onClick: toggle
};
disabled ? buttonProps.disabled = true : buttonProps[constants.ACCORDION_BTN_ATTR] = '';
const panelProps = {
id: panelId,
'aria-labelledby': buttonId,
role: 'region'
};
return {
buttonProps,
panelProps
};
};
exports.useAccordionItem = useAccordionItem;