wix-style-react
Version:
wix-style-react
112 lines • 5.13 kB
TypeScript
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