UNPKG

@activecollab/components

Version:

ActiveCollab Components

46 lines 1.59 kB
import { FC, ReactNode, MouseEvent, ReactElement, Ref } from "react"; import { Placement } from "@popperjs/core"; interface ElementWithRef<T> extends ReactElement { ref?: Ref<T>; } export type MenuMode = "normal" | "wider" | "tiny" | "widest"; export interface IMenu { /** Menu content */ children: ReactNode | ((childProps: { forceClose: () => void; }) => JSX.Element); /** On menu element click */ onMenuClick?: (event: MouseEvent<HTMLElement>) => void; /** Handle scroll bar */ handleScroll?: boolean; /** Disable Focus Lock */ disableFocusLock?: boolean; /** Menu width mode */ mode?: MenuMode; /** Should menu be open when it's mounted */ open?: boolean; /** Callback triggered when modal has been opened */ onOpen?: () => void; /** Callback triggered when modal has been closed */ onClose?: () => void; /** Before close callback */ onBeforeClose?: () => boolean; /** Position Menu */ position?: Placement; /** Target element */ target?: ElementWithRef<Element>; className?: string; /** Menu classes */ menuClassName?: string; /** Popper class name*/ popperClassName?: string; /** Background style for clickable element after the menu is open (opacity, color, etc...) */ backgroundElementClass?: string; /** Should Window be positioned absolutely */ windowAbsolutelyPositioned?: boolean; /** Popper on open */ onPopperOpen?: (...args: any[]) => void; } export declare const Menu: FC<IMenu>; export {}; //# sourceMappingURL=Menu.d.ts.map