Skip to content

Commit b65c5e2

Browse files
chore(internal/types): improve split view types (#290)
Co-authored-by: Robert Craigie <robert@craigie.dev>
1 parent 986ca4d commit b65c5e2

1 file changed

Lines changed: 29 additions & 2 deletions

File tree

@types/gecko.d.mts

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,30 @@ declare type TypedJSONFile<Data> =
5555
* This is a very small representation of the available APIs.
5656
*/
5757
declare namespace GlobalBrowser {
58+
interface MozTabSplitViewWrapper extends XULElement {
59+
splitViewId: number;
60+
tabs: BrowserTab[];
61+
hasActiveTab: boolean;
62+
visible: boolean;
63+
pinned: false;
64+
group: MozTabbrowserGroup | null;
65+
shouldMoveAllTabsAtOnce: boolean;
66+
state: { id: number; numberOfTabs: number };
67+
addTabs(tabs: BrowserTab[], options?: { isSessionRestore?: boolean; indexOfReplacedTab?: number }): void;
68+
unsplitTabs(trigger?: string): void;
69+
replaceTab(tabToReplace: BrowserTab, newTab: BrowserTab): void;
70+
reverseTabs(trigger?: string): void;
71+
close(trigger?: string): void;
72+
resetRightPanelWidth(): void;
73+
panels: XULElement[];
74+
}
75+
76+
interface AddTabSplitViewOptions {
77+
id?: number;
78+
insertBefore?: MozTabbrowserTab;
79+
trigger?: "menu_add" | "menu_open" | "alt_click" | null;
80+
}
81+
5882
interface GlobalBrowser {
5983
// tabs
6084
tabs: BrowserTab[];
@@ -84,8 +108,11 @@ declare namespace GlobalBrowser {
84108
currentURI: nsIURI;
85109

86110
// split views
87-
unsplitTabs(splitview: any): void;
88-
addTabSplitView(tabs: BrowserTab[], opts?: { id?: number }): { splitViewId: number; tabs: BrowserTab[] } | null;
111+
unsplitTabs(
112+
splitview: MozTabSplitViewWrapper,
113+
trigger?: "menu_separate" | "icon_separate" | "icon_close" | "tab_close" | "footer_separate" | null,
114+
): void;
115+
addTabSplitView(tabs: BrowserTab[], opts?: AddTabSplitViewOptions): MozTabSplitViewWrapper | null;
89116

90117
// notifications
91118
getNotificationBox(): NotificationBox;

0 commit comments

Comments
 (0)