/**
* @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> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & 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> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & 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> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & import("packages/amis-core/lib/theme").ThemeOuterProps>;
state: Readonly<{}>;
refs: {
[key: string]: React.ReactInstance;
};
componentDidMount?(): void;
shouldComponentUpdate?(nextProps: Readonly, never> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & 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> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & import("packages/amis-core/lib/theme").ThemeOuterProps>, prevState: Readonly<{}>): any;
componentDidUpdate?(prevProps: Readonly, never> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & import("packages/amis-core/lib/theme").ThemeOuterProps>, prevState: Readonly<{}>, snapshot?: any): void;
componentWillMount?(): void;
UNSAFE_componentWillMount?(): void;
componentWillReceiveProps?(nextProps: Readonly, never> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextContext: any): void;
UNSAFE_componentWillReceiveProps?(nextProps: Readonly, never> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextContext: any): void;
componentWillUpdate?(nextProps: Readonly, never> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void;
UNSAFE_componentWillUpdate?(nextProps: Readonly, never> & {
children?: React.ReactNode | React.ReactNode[];
disabled?: boolean | undefined;
body?: any;
header?: React.ReactNode;
translate?: TranslateFn | undefined;
id?: string | undefined;
size?: "base" | "sm" | "lg" | "xs" | "md" | undefined;
mountOnEnter?: boolean | undefined;
unmountOnExit?: boolean | undefined;
key?: string | undefined;
wrapperComponent?: any;
showArrow?: boolean | undefined;
bodyClassName?: string | undefined;
partial?: boolean | undefined;
collapsed?: boolean | undefined;
collapseId?: string | undefined;
propKey?: string | undefined;
headerPosition?: "bottom" | "top" | undefined;
collapsable?: boolean | undefined;
expandIcon?: React.ReactElement> | null | undefined;
headingClassName?: string | undefined;
collapseHeader?: React.ReactElement> | null | undefined;
onCollapse?: ((collapsed: boolean) => void) | undefined;
headingComponent?: any;
propsUpdate?: boolean | undefined;
divideLine?: boolean | undefined;
enableFieldSetStyle?: boolean | undefined;
} & {
classPrefix?: string | undefined;
classnames?: ClassNamesFn | undefined;
className?: string | undefined;
theme?: string | undefined;
mobileUI?: boolean | undefined;
style?: any;
} & 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;