sussudio
Version:
An unofficial VS Code Internal API
54 lines (53 loc) • 2.92 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IContextMenuProvider } from "../../contextmenu.mjs";
import { IActionViewItemProvider } from "../actionbar/actionbar.mjs";
import { ActionViewItem, BaseActionViewItem, IActionViewItemOptions, IBaseActionViewItemOptions } from "../actionbar/actionViewItems.mjs";
import { AnchorAlignment } from "../contextview/contextview.mjs";
import { IActionProvider } from "./dropdown.mjs";
import { IAction, IActionRunner } from "../../../common/actions.mjs";
import { ResolvedKeybinding } from "../../../common/keybindings.mjs";
import "../../../../css!./dropdown.mjs";
export interface IKeybindingProvider {
(action: IAction): ResolvedKeybinding | undefined;
}
export interface IAnchorAlignmentProvider {
(): AnchorAlignment;
}
export interface IDropdownMenuActionViewItemOptions extends IBaseActionViewItemOptions {
readonly actionViewItemProvider?: IActionViewItemProvider;
readonly keybindingProvider?: IKeybindingProvider;
readonly actionRunner?: IActionRunner;
readonly classNames?: string[] | string;
readonly anchorAlignmentProvider?: IAnchorAlignmentProvider;
readonly menuAsChild?: boolean;
}
export declare class DropdownMenuActionViewItem extends BaseActionViewItem {
private menuActionsOrProvider;
private dropdownMenu;
private contextMenuProvider;
private actionItem;
private _onDidChangeVisibility;
readonly onDidChangeVisibility: import("../../../common/event.mjs").Event<boolean>;
protected readonly options: IDropdownMenuActionViewItemOptions;
constructor(action: IAction, menuActionsOrProvider: readonly IAction[] | IActionProvider, contextMenuProvider: IContextMenuProvider, options?: IDropdownMenuActionViewItemOptions);
render(container: HTMLElement): void;
protected getTooltip(): string | undefined;
setActionContext(newContext: unknown): void;
show(): void;
protected updateEnabled(): void;
}
export interface IActionWithDropdownActionViewItemOptions extends IActionViewItemOptions {
readonly menuActionsOrProvider: readonly IAction[] | IActionProvider;
readonly menuActionClassNames?: string[];
}
export declare class ActionWithDropdownActionViewItem extends ActionViewItem {
private readonly contextMenuProvider;
protected dropdownMenuActionViewItem: DropdownMenuActionViewItem | undefined;
constructor(context: unknown, action: IAction, options: IActionWithDropdownActionViewItemOptions, contextMenuProvider: IContextMenuProvider);
render(container: HTMLElement): void;
blur(): void;
setFocusable(focusable: boolean): void;
}