/** * @file Collapse * @description * @author fex */ /// import React from 'react'; import { ClassNamesFn, ThemeProps } from 'amis-core'; import { TranslateFn } from 'amis-core'; export interface CollapseProps extends ThemeProps { id?: string; key?: string; collapseId?: string; propKey?: string; mountOnEnter?: boolean; unmountOnExit?: boolean; className?: string; style?: any; headerPosition?: 'top' | 'bottom'; header?: React.ReactNode; body: any; bodyClassName?: string; disabled?: boolean; collapsable?: boolean; collapsed?: boolean; showArrow?: boolean; expandIcon?: React.ReactElement | null; headingClassName?: string; collapseHeader?: React.ReactElement | null; size?: 'xs' | 'sm' | 'md' | 'lg' | 'base'; onCollapse?: (collapsed: boolean) => void; wrapperComponent?: any; headingComponent?: any; translate?: TranslateFn; propsUpdate?: boolean; partial?: boolean; children?: React.ReactNode | Array; divideLine?: boolean; /** 当Collapse作为Form组件的子元素时,开启该属性后组件样式设置为FieldSet组件的样式,默认开启 */ enableFieldSetStyle?: boolean; } export interface CollapseState { collapsed: boolean; } export declare class Collapse extends React.Component { static defaultProps: Partial; state: CollapseState; constructor(props: CollapseProps); static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState): { collapsed: boolean; } | null; toggleCollapsed(e: React.MouseEvent): void; /** 变更组件的折叠状态 */ changeCollapsedState(targetState: boolean): void; contentDom: any; contentRef: (ref: any) => any; handleEnter(elem: HTMLElement): void; handleEntering(elem: HTMLElement): void; handleEntered(elem: HTMLElement): void; handleExit(elem: HTMLElement): void; handleExiting(elem: HTMLElement): void; render(): React.JSX.Element; } declare const _default: { new (props: Pick, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): React.JSX.Element; context: unknown; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, never> & { translate?: TranslateFn | undefined; key?: string | undefined; body?: any; header?: React.ReactNode; children?: React.ReactNode | React.ReactNode[]; size?: "base" | "xs" | "sm" | "md" | "lg" | undefined; id?: string | undefined; disabled?: boolean | undefined; partial?: boolean | undefined; collapseId?: string | undefined; propKey?: string | undefined; mountOnEnter?: boolean | undefined; unmountOnExit?: boolean | undefined; headerPosition?: "top" | "bottom" | undefined; bodyClassName?: string | undefined; collapsable?: boolean | undefined; collapsed?: boolean | undefined; showArrow?: boolean | undefined; expandIcon?: React.ReactElement> | null | undefined; headingClassName?: string | undefined; collapseHeader?: React.ReactElement> | null | undefined; onCollapse?: ((collapsed: boolean) => void) | undefined; wrapperComponent?: any; headingComponent?: any; propsUpdate?: boolean | undefined; divideLine?: boolean | undefined; enableFieldSetStyle?: boolean | undefined; } & { classnames?: ClassNamesFn | undefined; classPrefix?: string | undefined; style?: any; className?: string | undefined; theme?: string | undefined; mobileUI?: boolean | undefined; } & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: React.Context; ComposedComponent: React.ComponentType; } & import("hoist-non-react-statics").NonReactStatics & { ComposedComponent: typeof Collapse; }; export default _default;