import { SxProps, Theme } from '@mui/material'; import { TransitionProps } from '@mui/material/transitions/transition'; import { HTMLAttributes, JSXElementConstructor, ReactElement, ReactNode } from 'react'; /** * @interface AccordionItem * @description The interface describing the object that has to be provided to the array property 'items' in Accordion component. * When accordion.allowMultipleExpand is set to false and more than one item has isDefaultExpanded set to true, only the first occurrence in the array will be deafault expanded. * If no id is provided the component item receives indexed id -> panel${index}. The object is not changes. * The property id is also the key of the every accordion component. */ export interface AccordionItem { id?: string; title: string; titleValue?: string | undefined; content: string | ReactNode; isDefaultExpanded?: boolean; } /** * @interface AccordionProps * @description Base definition of SkodaFlow Accordion component independent on core implementation. * Properties are inherited from HTML Div element */ export interface AccordionProps extends Omit, 'onChange'> { /** * The content of the component. */ items: Array; /** * Override or extend the styles applied to the component. */ classes?: object; /** * Callback fired when the expand/collapse state is changed. */ onChange?: (panel: string, value: boolean) => void; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps; /** * If true, the preview text is showed. If the item.content is no typeof string, no preview will be show. */ previewContent?: boolean; /** * The component used for the transition. */ TransitionComponent?: JSXElementConstructor; /** * Props applied to the transition element. */ TransitionProps?: object; /** * If true, the transition is disabled. */ disableAnimation?: boolean; /** * The props provided to the top level container element. */ accordionContainerProps?: object; /** * If provided, a max height will be given to every accordion panel. The string provided should be in pixels, eg. {number}px . No max height by default. */ accordionPanelMaxHeight?: string; /** * If true, more than 1 accordion panels can be opened simultaneously. */ allowMultipleExpand?: boolean; } export declare const Accordion: import("react").ForwardRefExoticComponent>;