jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
88 lines (87 loc) • 1.88 kB
TypeScript
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<IColumn>;
/**
* 弹窗底部按钮大小
*/
footerBtnSize?: 'xs' | 'sm' | 'md' | 'lg';
activeToggaleColumns: Array<IColumn>;
onColumnToggle: (columns: Array<IColumn>) => void;
modalContainer?: () => HTMLElement;
}