reablocks
Version:
Component library for React
84 lines (83 loc) • 1.92 kB
TypeScript
import { default as React } from 'react';
import { OverlayEvent } from '../../utils/Overlay';
import { Placement } from '../../utils/Position';
import { MotionNodeAnimationOptions } from 'motion';
export interface NestedMenuRef {
/**
* Close the menu.
*/
close: () => void;
}
export interface NestedMenuProps {
/**
* Menu contents.
*/
children: any;
/**
* Label element for the menu item.
*/
label: any;
/**
* floating-ui placement type.
* @default 'right-start'
*/
placement?: Placement;
/**
* CSS class applied to label element.
*/
className?: string;
/**
* CSS Properties for the label element.
*/
style?: React.CSSProperties;
/**
* CSS class applied to label element.
*/
menuClassName?: string;
/**
* CSS class applied to label element when active.
*/
activeClassName?: string;
/**
* CSS Properties for the label element.
*/
menuStyle?: React.CSSProperties;
/**
* Delay before showing tooltip.
* @default 0
*/
enterDelay?: number;
/**
* Delay before closing tooltip.
* @default 100
*/
leaveDelay?: number;
/**
* Close the menu on click or not.
* @default true
*/
closeOnBodyClick?: boolean;
/**
* Close the menu on escape.
* @default true
*/
closeOnEscape?: boolean;
/**
* Max height of the menu.
*/
maxHeight?: string;
/**
* Autofocus the menu on open or not.
* @default true
*/
autofocus?: boolean;
/**
* Animation configuration for the menu.
*/
animation?: MotionNodeAnimationOptions;
/**
* Nested Menu was closed.
*/
onClose?: (event: OverlayEvent) => void;
}
export declare const NestedMenu: React.ForwardRefExoticComponent<NestedMenuProps & React.RefAttributes<NestedMenuRef>>;