@itwin/core-react
Version:
A react component library of iTwin.js UI general purpose components
52 lines • 2.01 kB
TypeScript
/** @packageDocumentation
* @module ContextMenu
*/
import * as React from "react";
import type { ContextMenuItemProps } from "./ContextMenuItem.js";
import type { ContextMenuProps } from "./ContextMenu.js";
import type { CommonProps } from "../utils/Props.js";
import { ContextMenuDirection } from "./ContextMenuDirection.js";
/** Properties for the [[ContextSubMenu]] component
* @public
* @deprecated in 4.16.0. Props of deprecated {@link ContextSubMenu} component.
*/
export interface ContextSubMenuProps extends Omit<ContextMenuItemProps, "label">, Omit<ContextMenuProps, "label">, CommonProps {
/** Text/jsx to display in the list item */
label: string | React.ReactElement;
/** @internal */
onHotKeyParsed?: (hotKey: string) => void;
}
interface ContextSubMenuState {
opened: boolean;
direction: ContextMenuDirection;
hotKey?: string;
}
/** Submenu wrapper class for use within a [[ContextMenu]] component.
* @public
* @deprecated in 4.16.0. Use `subMenuItems` property {@link https://itwinui.bentley.com/docs/dropdownmenu#submenu iTwinUI MenuItem} component instead.
*/
export declare class ContextSubMenu extends React.Component<ContextSubMenuProps, ContextSubMenuState> {
private _menuElement;
private _subMenuElement;
private _menuButtonElement;
private _lastLabel;
private _parsedLabel;
static defaultProps: Partial<ContextSubMenuProps>;
readonly state: Readonly<ContextSubMenuState>;
constructor(props: ContextSubMenuProps);
render(): React.ReactElement;
componentDidMount(): void;
componentWillUnmount(): void;
/** @internal */
componentDidUpdate(prevProps: ContextSubMenuProps, prevState: ContextSubMenuState): void;
private getWindow;
private checkRenderDirection;
private _updateHotkey;
select: () => void;
close: (propagate?: boolean) => void;
private _handleMouseOver;
private _handleClick;
private _handleClickGlobal;
}
export {};
//# sourceMappingURL=ContextSubMenu.d.ts.map