@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
47 lines (45 loc) • 2.22 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 { BaseActionViewItem } from '@sussudio/base/browser/ui/actionbar/actionViewItems.mjs';
import { IAction } from '@sussudio/base/common/actions.mjs';
import { Event } from '@sussudio/base/common/event.mjs';
import { ResolvedKeybinding } from '@sussudio/base/common/keybindings.mjs';
import { MenuItemAction } from '../common/actions.mjs';
import { IContextKeyService } from '../../contextkey/common/contextkey.mjs';
import { IKeybindingService } from '../../keybinding/common/keybinding.mjs';
import { INotificationService } from '../../notification/common/notification.mjs';
import { IThemeService } from '../../theme/common/themeService.mjs';
import { IContextMenuService } from '../../contextview/browser/contextView.mjs';
export interface IDropdownWithPrimaryActionViewItemOptions {
getKeyBinding?: (action: IAction) => ResolvedKeybinding | undefined;
}
export declare class DropdownWithPrimaryActionViewItem extends BaseActionViewItem {
private readonly _contextMenuProvider;
private readonly _options;
private _primaryAction;
private _dropdown;
private _container;
private _dropdownContainer;
get onDidChangeDropdownVisibility(): Event<boolean>;
constructor(
primaryAction: MenuItemAction,
dropdownAction: IAction,
dropdownMenuActions: IAction[],
className: string,
_contextMenuProvider: IContextMenuService,
_options: IDropdownWithPrimaryActionViewItemOptions | undefined,
_keybindingService: IKeybindingService,
_notificationService: INotificationService,
_contextKeyService: IContextKeyService,
_themeService: IThemeService,
);
setActionContext(newContext: unknown): void;
render(container: HTMLElement): void;
focus(fromRight?: boolean): void;
blur(): void;
setFocusable(focusable: boolean): void;
update(dropdownAction: IAction, dropdownMenuActions: IAction[], dropdownIcon?: string): void;
dispose(): void;
}