import { IAnimated, IBox, IText } from "../../core/types"; import React from 'react'; import { IStack } from '../Stack/types'; import { IList } from '../List/types'; import { StyleProps } from '@chakra-ui/react'; export interface IMenuComponent extends React.ForwardRefExoticComponent> { Heading: React.FC; Title: React.FC; Item: React.FC>; Expandable: React.FC; Expanded: React.FC; Groups: React.FC; } export interface IMenuGroups extends IStack { children: React.ReactNode; } export interface IMenuHeading extends IBox { children: React.ReactNode; label?: string; } export interface IMenuTitle extends IText { } export interface IMenuExpanded extends IBox { } export interface IMenuItem extends Omit { label?: string; children?: React.ReactNode; isDisabled?: boolean; isActive?: boolean; value?: string; onFocus?: (event: React.FocusEvent) => void; onClick?: (event: React.MouseEvent) => void; href?: string; } export interface IMenu extends Omit { children: React.ReactNode; height?: string; hasDivider?: boolean; isConnected?: boolean; isDisabled?: boolean; } export interface IMenuExpandable extends Omit, 'title'>, IAnimated { label?: string; title?: React.ReactNode; titleProps?: StyleProps; hasDivider?: boolean; onOpen?: () => void; onClose?: () => void; isOpen?: boolean; onKeyDown?: (event: React.KeyboardEvent) => void; }