UNPKG

wix-style-react

Version:
112 lines • 5.13 kB
import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { AccordionItemInternalProps, AccordionItemType, AccordionProps, AccordionSectionItemProps, AccordionState } from './Accordion.types'; export declare class Accordion extends PureComponent<AccordionProps, AccordionState> { static displayName: string; static propTypes: { dataHook: PropTypes.Requireable<string>; multiple: PropTypes.Requireable<boolean>; skin: PropTypes.Requireable<string>; hideShadow: PropTypes.Requireable<boolean>; size: PropTypes.Requireable<string>; horizontalPadding: PropTypes.Requireable<string>; transitionSpeed: PropTypes.Requireable<string>; onAnimationEnter: PropTypes.Requireable<(...args: any[]) => any>; onAnimationExit: PropTypes.Requireable<(...args: any[]) => any>; items: PropTypes.Requireable<NonNullable<(PropTypes.InferProps<{ render: PropTypes.Requireable<(...args: any[]) => any>; }> | null | undefined)[] | (PropTypes.InferProps<{ title: PropTypes.Requireable<PropTypes.ReactNodeLike>; subtitle: PropTypes.Requireable<PropTypes.ReactNodeLike>; icon: PropTypes.Requireable<PropTypes.ReactNodeLike>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; expandLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>; collapseLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>; showLabel: PropTypes.Requireable<string>; buttonType: PropTypes.Requireable<string>; disabled: PropTypes.Requireable<boolean>; onToggle: PropTypes.Requireable<(...args: any[]) => any>; onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseleave: PropTypes.Requireable<(...args: any[]) => any>; open: PropTypes.Requireable<boolean>; initiallyOpen: PropTypes.Requireable<boolean>; }> | null | undefined)[] | null | undefined>>; }; _findOpenIndexes: (items?: AccordionItemType[], initial?: boolean) => number[]; static defaultProps: { items: never[]; multiple: boolean; skin: "standard"; horizontalPadding: "large"; hideShadow: boolean; transitionSpeed: string; size: string; }; constructor(props: AccordionProps); _compareOpenItems: (currentItems?: AccordionItemType[], prevItems?: AccordionItemType[]) => boolean; componentDidUpdate: (prevProps: AccordionProps) => void; _toggle: (index: number) => () => void; render(): React.JSX.Element; } export declare const accordionItemBuilder: (item: AccordionItemType) => { render: (uncontrolledProps: AccordionItemInternalProps, internalProps: AccordionSectionItemProps) => React.JSX.Element; key?: string | number; open?: boolean; initiallyOpen?: boolean; disabled?: boolean; title?: React.ReactNode; subtitle?: React.ReactNode; icon?: React.ReactNode; prefix?: React.ReactNode; suffix?: React.ReactNode; children?: React.ReactNode; expandLabel?: React.ReactNode; collapseLabel?: React.ReactNode; toggleIconPlacement?: "start" | "end"; className?: string; buttonType?: "node" | "button" | "textButton"; showLabel?: "always" | "hover"; onToggle?: React.MouseEventHandler<HTMLElement>; onMouseEnter?: React.MouseEventHandler<HTMLElement>; onMouseLeave?: React.MouseEventHandler<HTMLElement>; last?: boolean; hideShadow?: boolean; skin?: "light" | "standard" | "neutral"; size?: "small" | "medium" | "large" | "tiny"; onAnimationEnter?: () => void; onAnimationExit?: () => void; transitionSpeed?: "medium" | "slow" | "fast"; horizontalPadding?: "small" | "none" | "medium" | "large" | "tiny"; }; export declare const accordionSectionItemBuilder: (item: AccordionItemType) => { render: (uncontrolledProps: AccordionItemInternalProps, internalProps: AccordionSectionItemProps) => React.JSX.Element; key?: string | number; open?: boolean; initiallyOpen?: boolean; disabled?: boolean; title?: React.ReactNode; subtitle?: React.ReactNode; icon?: React.ReactNode; prefix?: React.ReactNode; suffix?: React.ReactNode; children?: React.ReactNode; expandLabel?: React.ReactNode; collapseLabel?: React.ReactNode; toggleIconPlacement?: "start" | "end"; className?: string; buttonType?: "node" | "button" | "textButton"; showLabel?: "always" | "hover"; onToggle?: React.MouseEventHandler<HTMLElement>; onMouseEnter?: React.MouseEventHandler<HTMLElement>; onMouseLeave?: React.MouseEventHandler<HTMLElement>; last?: boolean; hideShadow?: boolean; skin?: "light" | "standard" | "neutral"; size?: "small" | "medium" | "large" | "tiny"; onAnimationEnter?: () => void; onAnimationExit?: () => void; transitionSpeed?: "medium" | "slow" | "fast"; horizontalPadding?: "small" | "none" | "medium" | "large" | "tiny"; }; export default Accordion; //# sourceMappingURL=Accordion.d.ts.map