import type { RendererProps } from 'jamis-core'; import type { IColumn, TooltipObject } from '../../types'; export interface ColumnTogglerProps extends RendererProps { /** * 按钮文字 */ label?: string | React.ReactNode; /** * 按钮提示文字,hover focus 时显示 */ tooltip?: string | TooltipObject; /** * 禁用状态下的提示 */ disabledTip?: string | TooltipObject; /** * 点击外部是否关闭 */ closeOnOutside?: boolean; /** * 点击内容是否关闭 */ closeOnClick?: boolean; /** * 下拉菜单对齐方式 */ align?: 'left' | 'right'; /** * ColumnToggler的CSS类名 */ className?: string; /** * 按钮的CSS类名 */ btnClassName?: string; /** * 按钮大小 */ size?: 'xs' | 'sm' | 'md' | 'lg'; /** * 按钮级别,样式 */ level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link'; /** * 是否独占一行 `display: block` */ block?: boolean; /** * 是否可通过拖拽排序 */ draggable?: boolean; /** * 默认是否展开 */ defaultIsOpened?: boolean; /** * 激活状态 */ isActived?: boolean; /** * ICON名称 */ icon?: string | React.ReactNode; /** * 是否只显示图标。 */ iconOnly?: boolean; /** * 是否隐藏展开的Icon */ hideExpandIcon?: boolean; /** * 是否显示遮罩层 */ overlay?: boolean; /** * 列数据 */ columns: Array; /** * 弹窗底部按钮大小 */ footerBtnSize?: 'xs' | 'sm' | 'md' | 'lg'; activeToggaleColumns: Array; onColumnToggle: (columns: Array) => void; modalContainer?: () => HTMLElement; }