UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

69 lines (68 loc) 3.04 kB
/** * Web Accordion Component * */ import type { HTMLProps, ReactNode } from 'react'; import type { SpacingProps } from '../../shared/types'; import type { HeadingLevel } from '../Heading'; import type { IconIcon, IconSize } from '../Icon'; import type { SkeletonShow } from '../Skeleton'; import type { AccordionIcon, AccordionIconPosition, AccordionVariant } from './Accordion'; export type AccordionHeaderTitleProps = SpacingProps & { children?: ReactNode; }; declare function AccordionHeaderTitle({ children, ...rest }: AccordionHeaderTitleProps): import("react/jsx-runtime").JSX.Element; export type AccordionHeaderDescriptionProps = SpacingProps & { children?: ReactNode; }; declare function AccordionHeaderDescription({ children, ...rest }: AccordionHeaderDescriptionProps): import("react/jsx-runtime").JSX.Element; export type AccordionHeaderContainerProps = SpacingProps & { children?: ReactNode; }; declare function AccordionHeaderContainer({ children, ...rest }: AccordionHeaderContainerProps): import("react/jsx-runtime").JSX.Element; type AccordionHeaderIconIcon = IconIcon | { closed?: IconIcon; expanded?: IconIcon; }; export type AccordionHeaderIconProps = { icon?: AccordionHeaderIconIcon; size?: IconSize; expanded?: boolean; iconPosition?: AccordionIconPosition; }; declare function AccordionHeaderIcon({ icon: iconProp, expanded, size, iconPosition, }: AccordionHeaderIconProps): import("react/jsx-runtime").JSX.Element; export type AccordionHeaderTitle = string | ReactNode | (() => ReactNode); export type AccordionHeaderDescription = string | ReactNode | (() => ReactNode); export type AccordionHeaderLeftComponent = string | ReactNode | (() => ReactNode); export type AccordionHeaderElement = string | ReactNode | (() => ReactNode); export type AccordionHeaderHeading = boolean | string | ReactNode | (() => ReactNode); export type AccordionHeaderIcon = ReactNode | (() => ReactNode) | { closed?: ReactNode | (() => ReactNode); expanded?: ReactNode | (() => ReactNode); }; export type AccordionHeaderProps = HTMLProps<HTMLElement> & SpacingProps & { title?: AccordionHeaderTitle; expanded?: boolean; description?: AccordionHeaderDescription; leftComponent?: AccordionHeaderLeftComponent; element?: AccordionHeaderElement; heading?: AccordionHeaderHeading; headingLevel?: HeadingLevel; icon?: AccordionIcon; iconPosition?: AccordionIconPosition; iconSize?: IconSize; disabled?: boolean; skeleton?: SkeletonShow; noAnimation?: boolean; className?: string; children?: string | ReactNode | (() => ReactNode); variant?: AccordionVariant; }; export declare const AccordionHeader: { ({ iconSize: iconSizeDefault, ...restOfProps }: AccordionHeaderProps): import("react/jsx-runtime").JSX.Element; Container: typeof AccordionHeaderContainer; Icon: typeof AccordionHeaderIcon; Title: typeof AccordionHeaderTitle; Description: typeof AccordionHeaderDescription; }; export default AccordionHeader;