UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

46 lines (45 loc) 1.68 kB
import React from 'react'; import { ListVariant } from './ListContext'; import { ItemContentProps } from './ItemContent'; import type { IconIcon } from '../icon/Icon'; export type ItemAccordionIconPosition = 'left' | 'right'; export type ItemAccordionProps = { variant?: ListVariant; open?: boolean; /** * When true, keeps the accordion content in the DOM when closed. Defaults to false. */ keepInDOM?: boolean; /** * When true, the accordion is visually dimmed and interaction is prevented. */ disabled?: boolean; /** * Called when the accordion open state changes. Receives an object with the `expanded` state. */ onChange?: (args: { expanded: boolean; }) => void; chevronPosition?: ItemAccordionIconPosition; icon?: IconIcon; title?: React.ReactNode; id?: string; } & Omit<ItemContentProps, 'title'>; declare function ItemAccordion(props: ItemAccordionProps): import("react/jsx-runtime").JSX.Element; declare namespace ItemAccordion { var _supportsSpacingProps: boolean; var Header: typeof AccordionHeader; var Content: typeof AccordionContent; } export type AccordionHeaderProps = { onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void; } & ItemContentProps; declare function AccordionHeader(props: AccordionHeaderProps): import("react/jsx-runtime").JSX.Element; declare namespace AccordionHeader { var _supportsSpacingProps: boolean; } declare function AccordionContent(props: ItemContentProps): import("react/jsx-runtime").JSX.Element; declare namespace AccordionContent { var _supportsSpacingProps: boolean; } export default ItemAccordion;