UNPKG

dockview-core

Version:

Zero dependency layout manager supporting tabs, grids and splitviews

53 lines (52 loc) 2.6 kB
import { Event as DockviewEvent, Emitter } from './events'; import { IDisposable, CompositeDisposable } from './lifecycle'; export interface OverflowEvent { hasScrollX: boolean; hasScrollY: boolean; } export declare class OverflowObserver extends CompositeDisposable { private readonly _onDidChange; readonly onDidChange: DockviewEvent<OverflowEvent>; private _value; constructor(el: HTMLElement); } export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable; export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void; export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void; export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void; export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean; export declare function getElementsByTagName(tag: string, document: ParentNode): HTMLElement[]; export interface IFocusTracker extends IDisposable { readonly onDidFocus: DockviewEvent<void>; readonly onDidBlur: DockviewEvent<void>; refreshState?(): void; } export declare function trackFocus(element: HTMLElement): IFocusTracker; export declare function quasiPreventDefault(event: Event): void; export declare function quasiDefaultPrevented(event: Event): boolean; export declare function addStyles(document: Document, styleSheetList: StyleSheetList): void; export declare function getDomNodePagePosition(domNode: Element): { left: number; top: number; width: number; height: number; }; /** * Check whether an element is in the DOM (including the Shadow DOM) * @see https://terodox.tech/how-to-tell-if-an-element-is-in-the-dom-including-the-shadow-dom/ */ export declare function isInDocument(element: Element): boolean; export declare function addTestId(element: HTMLElement, id: string): void; export declare function disableIframePointEvents(rootNode?: ParentNode): { release: () => void; }; export declare function getDockviewTheme(element: HTMLElement): string | undefined; export declare class Classnames { private readonly element; private _classNames; constructor(element: HTMLElement); setClassNames(classNames: string): void; } export declare function isChildEntirelyVisibleWithinParent(child: HTMLElement, parent: HTMLElement): boolean; export declare function onDidWindowMoveEnd(window: Window): Emitter<void>; export declare function onDidWindowResizeEnd(element: Window, cb: () => void): CompositeDisposable;