sussudio
Version:
An unofficial VS Code Internal API
73 lines (72 loc) • 2.9 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 * as dom from "../../dom.mjs";
import { CSSIcon } from "../../../common/codicons.mjs";
import { Event } from "../../../common/event.mjs";
import "../../../../css!./breadcrumbsWidget.mjs";
export declare abstract class BreadcrumbsItem {
dispose(): void;
abstract equals(other: BreadcrumbsItem): boolean;
abstract render(container: HTMLElement): void;
}
export interface IBreadcrumbsWidgetStyles {
readonly breadcrumbsBackground: string | undefined;
readonly breadcrumbsForeground: string | undefined;
readonly breadcrumbsHoverForeground: string | undefined;
readonly breadcrumbsFocusForeground: string | undefined;
readonly breadcrumbsFocusAndSelectionForeground: string | undefined;
}
export interface IBreadcrumbsItemEvent {
type: 'select' | 'focus';
item: BreadcrumbsItem;
node: HTMLElement;
payload: any;
}
export declare class BreadcrumbsWidget {
private readonly _disposables;
private readonly _domNode;
private readonly _scrollable;
private readonly _onDidSelectItem;
private readonly _onDidFocusItem;
private readonly _onDidChangeFocus;
readonly onDidSelectItem: Event<IBreadcrumbsItemEvent>;
readonly onDidFocusItem: Event<IBreadcrumbsItemEvent>;
readonly onDidChangeFocus: Event<boolean>;
private readonly _items;
private readonly _nodes;
private readonly _freeNodes;
private readonly _separatorIcon;
private _enabled;
private _focusedItemIdx;
private _selectedItemIdx;
private _pendingLayout;
private _dimension;
constructor(container: HTMLElement, horizontalScrollbarSize: number, separatorIcon: CSSIcon, styles: IBreadcrumbsWidgetStyles);
setHorizontalScrollbarSize(size: number): void;
dispose(): void;
layout(dim: dom.Dimension | undefined): void;
private _updateDimensions;
private _updateScrollbar;
private _style;
setEnabled(value: boolean): void;
domFocus(): void;
isDOMFocused(): boolean;
getFocused(): BreadcrumbsItem;
setFocused(item: BreadcrumbsItem | undefined, payload?: any): void;
focusPrev(payload?: any): any;
focusNext(payload?: any): any;
private _focus;
reveal(item: BreadcrumbsItem): void;
revealLast(): void;
private _reveal;
getSelection(): BreadcrumbsItem;
setSelection(item: BreadcrumbsItem | undefined, payload?: any): void;
private _select;
getItems(): readonly BreadcrumbsItem[];
setItems(items: BreadcrumbsItem[]): void;
private _render;
private _renderItem;
private _onClick;
}