import { ThemeTypesModel } from '../../Themes/theme_types'; import { Color, Size } from '../../types'; export interface dividerValue { type: 'Divider'; value: boolean; } export interface HeadingValue { type: 'Heading'; value: string; } type availableSizes = Size.s | Size.m | Size.l; type availableColors = Color.green | Color.dark | Color.blue; export type ContextMenuItemType = dividerValue | HeadingValue | ContextMenuItemValue; export type kindInteraction = 'mouse' | 'keyboard'; export interface ContextMenuItemValue { type: 'menuItem'; value: { label: string; isActive: boolean; isDisabled: boolean; counter?: string; icon?: string; imageSource?: string; ariaLabel?: string; }; } export interface ContextMenuWindowProps { ariaLabel: string; size: availableSizes; color?: availableColors; controlType: 'checkbox' | 'radio' | 'toggle' | 'icon' | 'none'; menuItems: ContextMenuItemType[]; width?: string; isInverse?: boolean; theme?: ThemeTypesModel; maxHeight?: number; minHeight?: number; className?: string; placeholder?: string; selectedItem?: (items: ContextMenuItemValue[]) => void; } export interface ContextWindowWrapperProps { state: { size: availableSizes; color: availableColors; width: string; isInverse: boolean; minHeight: number; maxHeight: number; }; } export {};