import type { BasicWidgetInstance, BasicWidgetProps } from '../../utils'

export interface OptionItem {
    // 颜色
    color?: string
    // 图标
    icon?: string
    // 标签
    label?: string
    // 多子项
    items?: OptionItem[]
}

export interface Option {
    // 选项
    items: OptionItem[] | OptionItem[][]
    // label 样式
    labelStyle?: Recordable
    // 色块样式
    blockStyle?: Recordable
}

export interface LegendProps extends BasicWidgetProps {
    // 是否展开
    expand?: boolean
    // 标题
    title: string
    // 选项
    option: Option
    // 底部距离 rpx
    bottom?: string
}

export interface LegendInstance extends BasicWidgetInstance<LegendProps> {
    /**
     * 设置标题
     * @param title 标题
     */
    setTitle: (title: string) => void
    /**
     * 设置选项
     * @param option 选项
     */
    setOption: (option: Option) => void
    /**
     * 切换展开状态
     * @param expand 是否展开
     */
    toggleExpand: (expand?: boolean) => void
}
