gem-panel
Version:
A custom element <gem-panel>, let you easily create layout similar to Adobe After Effects.
55 lines • 2.22 kB
TypeScript
import { MoveSideArgs, Side } from '../elements/window-handle';
import { Panel } from './panel';
interface WindowOptional {
engross?: boolean;
gridArea?: string;
current?: number;
position?: [number, number];
zIndex?: number;
dimension?: [number, number];
}
export declare class Window implements WindowOptional {
id: string;
engross?: boolean;
gridArea?: string;
current: number;
position?: [number, number];
zIndex: number;
dimension?: [number, number];
panels: string[];
static parse({ gridArea, current, panels, position, dimension, engross }: Window): Window;
constructor(panels?: (string | Panel)[], optional?: WindowOptional);
isGridWindow(): boolean;
changeCurrent(index: number): void;
changePanelSort(p1: string, p2: string): void;
setGridArea(area: string): void;
}
interface LayoutOptional {
gridTemplateAreas?: string;
gridTemplateRows?: string;
gridTemplateColumns?: string;
}
export declare class Layout implements LayoutOptional {
#private;
gridTemplateAreas?: string;
gridTemplateRows?: string;
gridTemplateColumns?: string;
windows: Window[];
static parse(str: string): Layout | undefined;
static id: number;
constructor(allWindows?: Window[], optional?: LayoutOptional);
moveWindow(window: Window, [x, y]: [number, number]): void;
changeWindowRect(window: Window, [mx, my, mw, mh]: [number, number, number, number]): void;
activePanel(window: Window, panelName: string): void;
focusWindow(window: Window): boolean;
removeWindow(window: Window, newWindowRect?: [number, number, number, number]): void;
mergeWindow(window: Window, target: Window): void;
convertGridWindow(window: Window, hoverWindow: Window, side: Side): void;
createIndependentWindow(window: Window | null, panelName: string, [x, y, w, h]: [number, number, number, number]): Window;
openHiddenPanel(panelName: string): void;
openPanelInWindow(window: Window, panelName: string, side?: Side): void;
closePanel(window: Window, panelName: string): void;
moveSide(window: Window, side: Side, args: MoveSideArgs): void;
}
export {};
//# sourceMappingURL=layout.d.ts.map