///
import { DividerOverrides } from '../divider';
import { BaseFlagOverrides, BaseFlagProps } from '../flag';
import { EventData } from '../instrumentation';
import { NewsKitIconProps } from '../icons';
import { MQ } from '../utils';
import { LogicalProps } from '../utils/logical-properties';
import { Override } from '../utils/overrides';
export type MenuItemSize = 'small' | 'medium' | 'large';
export type MenuItemAlign = 'start' | 'end' | 'center' | 'spaceBetween';
export interface MenuProps extends React.HTMLAttributes {
children: Exclude;
vertical?: boolean;
size?: MenuItemSize;
align?: MenuItemAlign;
overrides?: {
spaceInline?: MQ;
} & LogicalProps;
}
export interface MenuGroupProps extends React.AriaAttributes {
children: Exclude;
title?: string | (() => React.ReactNode);
overrides?: {
spaceInline?: MQ;
stylePreset?: MQ;
title?: {
typographyPreset?: MQ;
stylePreset?: MQ;
spaceInline?: MQ;
} & LogicalProps;
};
}
type MenuItemOverrides = Omit;
export interface MenuItemProps extends Omit, 'loading'>, React.AnchorHTMLAttributes, EventData {
children: Exclude;
href: string;
selected?: boolean;
onClick?: (event: React.MouseEvent) => void;
}
export type MenuSubIconProps = NewsKitIconProps & {
expanded: boolean;
};
export type MenuSubProps = Omit & {
title?: React.ReactNode;
href?: string;
expanded?: boolean;
defaultExpanded?: boolean;
align?: MenuItemAlign;
overrides?: {
indicatorIcon?: Override;
list?: {
stylePreset?: MQ;
} & LogicalProps;
} & MenuItemProps['overrides'];
};
export interface MenuDividerProps {
overrides?: DividerOverrides & {
spaceInline?: MQ;
};
}
export {};
//# sourceMappingURL=types.d.ts.map