1 import { type FC, useContext } from 'react';
3 import { Button, type ButtonProps } from '@proton/atoms';
4 import { Icon } from '@proton/components';
5 import CollapsibleContext from '@proton/components/components/collapsible/CollapsibleContext';
7 const CollapsibleHeaderToggleButton: FC<ButtonProps> = ({ children, disabled, onClick, ...rest }) => {
8 /* Must be used inside a <Collapsible> component */
9 const { isExpanded, toggle, headerId, contentId, disabled: contextDisabled } = useContext(CollapsibleContext);
11 const handleButtonClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
21 disabled={disabled || contextDisabled}
22 aria-expanded={isExpanded}
23 aria-describedby={headerId}
24 aria-controls={contentId}
25 onClick={handleButtonClick}
27 {isExpanded ? <Icon name="cross" /> : <Icon name="chevron-down" />}
32 export default CollapsibleHeaderToggleButton;