/******************************************************************************** * Copyright (C) 2017 TypeFox and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { Widget } from '@phosphor/widgets'; import { Message } from '@phosphor/messaging'; import { Disposable, DisposableCollection, Emitter, Event, MaybePromise } from '@gedit/utils'; import { KeyCode, KeysOrKeyCodes } from '@gedit/keyboard/lib/browser'; import PerfectScrollbar from 'perfect-scrollbar'; export * from '@phosphor/widgets'; export * from '@phosphor/messaging'; export declare const DISABLED_CLASS = "theia-mod-disabled"; export declare const EXPANSION_TOGGLE_CLASS = "theia-ExpansionToggle"; export declare const COLLAPSED_CLASS = "theia-mod-collapsed"; export declare const BUSY_CLASS = "theia-mod-busy"; export declare const SELECTED_CLASS = "theia-mod-selected"; export declare const FOCUS_CLASS = "theia-mod-focus"; export declare class BaseWidget extends Widget { protected readonly onScrollYReachEndEmitter: Emitter; readonly onScrollYReachEnd: Event; protected readonly onScrollUpEmitter: Emitter; readonly onScrollUp: Event; protected readonly onDidChangeVisibilityEmitter: Emitter; readonly onDidChangeVisibility: Event; protected readonly onDidDisposeEmitter: Emitter; readonly onDidDispose: Event; protected readonly toDispose: DisposableCollection; protected readonly toDisposeOnDetach: DisposableCollection; protected scrollBar?: PerfectScrollbar; protected scrollOptions?: PerfectScrollbar.Options; dispose(): void; setFlag(flag: Widget.Flag): void; clearFlag(flag: Widget.Flag): void; protected onCloseRequest(msg: Message): void; protected onBeforeAttach(msg: Message): void; protected onAfterDetach(msg: Message): void; protected onBeforeDetach(msg: Message): void; protected onAfterAttach(msg: Message): void; protected getScrollContainer(): MaybePromise; protected disableScrollBarFocus(scrollContainer: HTMLElement): void; protected onUpdateRequest(msg: Message): void; protected addUpdateListener(element: HTMLElement, type: K, useCapture?: boolean): void; protected addEventListener(element: HTMLElement, type: K, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; protected addKeyListener(element: HTMLElement, keysOrKeyCodes: KeyCode.Predicate | KeysOrKeyCodes, action: (event: KeyboardEvent) => boolean | void | Object, ...additionalEventTypes: K[]): void; protected addClipboardListener(element: HTMLElement, type: K, listener: EventListenerOrEventListenerObject): void; } export declare function setEnabled(element: HTMLElement, enabled: boolean): void; export declare function createIconButton(...classNames: string[]): HTMLSpanElement; export type EventListener = (this: HTMLElement, event: HTMLElementEventMap[K]) => any; export interface EventListenerObject { handleEvent(evt: HTMLElementEventMap[K]): void; } export declare namespace EventListenerObject { function is(listener: any | undefined): listener is EventListenerObject; } export type EventListenerOrEventListenerObject = EventListener | EventListenerObject; export declare function addEventListener(element: HTMLElement, type: K, listener: EventListenerOrEventListenerObject, useCapture?: boolean): Disposable; export declare function addKeyListener(element: HTMLElement, keysOrKeyCodes: KeyCode.Predicate | KeysOrKeyCodes, action: (event: KeyboardEvent) => boolean | void | Object, ...additionalEventTypes: K[]): Disposable; export declare function addClipboardListener(element: HTMLElement, type: K, listener: EventListenerOrEventListenerObject): Disposable; /** * Resolves when the given widget is detached and hidden. */ export declare function waitForClosed(widget: Widget): Promise; /** * Resolves when the given widget is attached and visible. */ export declare function waitForRevealed(widget: Widget): Promise; /** * Resolves when the given widget is hidden regardless of attachment. */ export declare function waitForHidden(widget: Widget): Promise; //# sourceMappingURL=widget.d.ts.map