UNPKG

sussudio

Version:

An unofficial VS Code Internal API

73 lines (72 loc) 2.9 kB
/*--------------------------------------------------------------------------------------------- * 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; }