UNPKG

liber-salti

Version:

Saltí - Liber Design System

40 lines (39 loc) 1.09 kB
/// <reference types="react" /> import { IconName } from '../Icon/Icon.types'; export interface SplitButtonOption { label: string; action?: React.MouseEventHandler<HTMLButtonElement> & (() => void); icon?: IconName; disabled?: boolean; tooltip?: string; } export interface SplitButtonProps { /** * The variant of the button group */ variant?: 'contained' | 'outlined' | 'text'; /** * Size of the button group */ size?: 'large' | 'medium' | 'small'; /** * Text label of the main button */ mainLabel: string; /** * Action to be triggered on the main button click */ mainAction?: React.MouseEventHandler<HTMLButtonElement> & (() => void); /** * Disable main button */ disabled?: boolean; /** * Array of objects containing label and action to go on the dropdown options */ options: SplitButtonOption[]; /** * If `true` the split button will show a spinner and disable click listeners */ loading?: boolean; }