@sussudio/base
Version:
Internal APIs for VS Code's utilities and user interface building blocks.
96 lines (94 loc) • 3.39 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 { StandardKeyboardEvent } from '../../../browser/keyboardEvent.mjs';
import { IListStyles } from '../../../browser/ui/list/listWidget.mjs';
import { Event } from '../../../common/event.mjs';
import { IQuickInputOptions } from './quickInput.mjs';
import {
QuickPickItem,
IQuickPickItem,
IQuickPickItemButtonEvent,
IQuickPickSeparatorButtonEvent,
} from '../common/quickInput.mjs';
import '../../../../css!./media/quickInput.mjs';
export declare enum QuickInputListFocus {
First = 1,
Second = 2,
Last = 3,
Next = 4,
Previous = 5,
NextPage = 6,
PreviousPage = 7,
}
export declare class QuickInputList {
private parent;
readonly id: string;
private container;
private list;
private inputElements;
private elements;
private elementsToIndexes;
matchOnDescription: boolean;
matchOnDetail: boolean;
matchOnLabel: boolean;
matchOnLabelMode: 'fuzzy' | 'contiguous';
matchOnMeta: boolean;
sortByLabel: boolean;
private readonly _onChangedAllVisibleChecked;
onChangedAllVisibleChecked: Event<boolean>;
private readonly _onChangedCheckedCount;
onChangedCheckedCount: Event<number>;
private readonly _onChangedVisibleCount;
onChangedVisibleCount: Event<number>;
private readonly _onChangedCheckedElements;
onChangedCheckedElements: Event<IQuickPickItem[]>;
private readonly _onButtonTriggered;
onButtonTriggered: Event<IQuickPickItemButtonEvent<IQuickPickItem>>;
private readonly _onSeparatorButtonTriggered;
onSeparatorButtonTriggered: Event<IQuickPickSeparatorButtonEvent>;
private readonly _onKeyDown;
onKeyDown: Event<StandardKeyboardEvent>;
private readonly _onLeave;
onLeave: Event<void>;
private _fireCheckedEvents;
private elementDisposables;
private disposables;
constructor(parent: HTMLElement, id: string, options: IQuickInputOptions);
get onDidChangeFocus(): Event<(IQuickPickItem | undefined)[]>;
get onDidChangeSelection(): Event<{
items: (IQuickPickItem | undefined)[];
event: UIEvent | undefined;
}>;
get scrollTop(): number;
set scrollTop(scrollTop: number);
getAllVisibleChecked(): boolean;
private allVisibleChecked;
getCheckedCount(): number;
getVisibleCount(): number;
setAllVisibleChecked(checked: boolean): void;
setElements(inputElements: Array<QuickPickItem>): void;
getElementsCount(): number;
getFocusedElements(): (IQuickPickItem | undefined)[];
setFocusedElements(items: IQuickPickItem[]): void;
getActiveDescendant(): string | null;
getSelectedElements(): (IQuickPickItem | undefined)[];
setSelectedElements(items: IQuickPickItem[]): void;
getCheckedElements(): IQuickPickItem[];
setCheckedElements(items: IQuickPickItem[]): void;
set enabled(value: boolean);
focus(what: QuickInputListFocus): void;
clearFocus(): void;
domFocus(): void;
layout(maxHeight?: number): void;
filter(query: string): boolean;
toggleCheckbox(): void;
display(display: boolean): void;
isDisplayed(): boolean;
dispose(): void;
private fireCheckedEvents;
private fireButtonTriggered;
private fireSeparatorButtonTriggered;
style(styles: IListStyles): void;
}