import { type ToolBarItemType, type IToolBarProps } from '@newgrand/udp-core'; import React, { CSSProperties, ReactNode } from 'react'; import { type IFullPageProps } from '../fullPage'; /** * 容器组件 */ export declare const Panel: React.ForwardRefExoticComponent>; export interface IPanel { /** * @description 标题 */ title?: ReactNode; /** * @description header区域扩展内容,ReactNode渲染,和buttons属性互斥,extra优先级更高 */ extra?: ReactNode; /** * @description header区域扩展内容,ToolBar组件渲染,和extra属性互斥,extra优先级更高 */ buttons?: ToolBarItemType; /** * @description buttons属性配置时,所在toolbar的样式 */ tbProps?: IToolBarProps; /** * @description 头部空白占位区域的样式 */ blankStyle?: CSSProperties; /** * @description 内容 */ children?: ReactNode; /** * @description 整体样式 */ style?: CSSProperties; /** * @description 内容样式 */ bodyStyle?: CSSProperties; /** * @description 头部整体样式 */ headerStyle?: CSSProperties; /** * @description 头部title样式 */ titleStyle?: CSSProperties; className?: string; /** * @description 容器是否自适应父容器高度 */ autoFit?: boolean; /** * @description 是否支持全屏 */ fullScreen?: boolean | Partial; /** * @description 内容区域的flex布局方向direction */ flexDirection?: 'column' | 'row'; /** * @description 是否可折叠 * @default false */ collapsible?: boolean; /** * @description 是否展示当前面板上的箭头(collapsible 为true有效) * @default true */ showArrow?: boolean | ((open: any) => ReactNode); /** * @description 展开状态(collapsible 为true有效) * @default true */ open?: boolean; /** * @description 展开状态切换时(collapsible 为true有效) */ onOpenChange?(open: boolean): void; /** * @description 是否标题前面的竖杠标记 * @default true */ showPrefix?: boolean; /** * @description 紧凑模式 * @default false */ compact?: boolean; }