electron-tabs/dist/electron-tabs.d.ts
2024-12-07 19:49:40 -05:00

82 lines
2.4 KiB
TypeScript

import Sortable from "sortablejs";
interface TabGroupOptions {
closeButtonText: string;
defaultTab: TabOptions | ((tabGroup: TabGroup) => TabOptions);
newTabButton: boolean;
newTabButtonText: string;
sortable: boolean;
sortableOptions?: Sortable.Options;
visibilityThreshold: number;
}
interface TabOptions {
active?: boolean;
closable?: boolean;
ready?: ((tab: Tab) => void);
src?: string;
title?: string;
visible?: boolean;
webviewAttributes?: {
[key: string]: any;
};
}
export class TabGroup extends HTMLElement {
buttonContainer: HTMLDivElement;
isReady: boolean;
newTabId: number;
options: TabGroupOptions;
shadow: ShadowRoot;
tabContainer: HTMLDivElement;
tabs: Array<Tab>;
viewContainer: HTMLDivElement;
constructor();
emit(type: string, ...args: any[]): void;
on(type: string, fn: (...detail: any[]) => void): void;
once(type: string, fn: (detail: string) => void): void;
connectedCallback(): void;
initSortable(): void;
setDefaultTab(tab: TabOptions): void;
addTab(args?: TabOptions | ((tabGroup: TabGroup) => TabOptions)): Tab;
getTab(id: number): Tab;
getTabByPosition(position: number): Tab;
getTabByRelPosition(position: number): Tab;
getNextTab(): Tab;
getPreviousTab(): Tab;
getTabs(): Tab[];
eachTab(fn: (tab: Tab) => void): void;
getActiveTab(): Tab;
setActiveTab(tab: Tab): void;
removeTab(tab: Tab, triggerEvent?: boolean): void;
activateRecentTab(): void;
}
export class Tab extends EventTarget {
closable: boolean;
element: HTMLDivElement;
id: number;
isClosed: boolean;
isReady: boolean;
spans: {
[key: string]: HTMLSpanElement;
};
tabGroup: TabGroup;
title: string;
webview: HTMLElement;
webviewAttributes: {
[key: string]: any;
};
constructor(tabGroup: TabGroup, id: number, args: TabOptions);
emit(type: string, ...args: any[]): void;
on(type: string, fn: (...detail: any[]) => void): void;
once(type: string, fn: (detail: string) => void): void;
initWebview(): void;
setTitle(title: string): this;
getTitle(): string;
setPosition(newPosition: number): this;
getPosition(fromRight?: boolean): number;
activate(): this;
show(flag?: boolean): this;
hide(): this;
hasClass(classname: string): boolean;
close(force: boolean): void;
}
//# sourceMappingURL=electron-tabs.d.ts.map