lath
Version:
Seamless connection of pages.
45 lines (44 loc) • 1.95 kB
TypeScript
import { ApplicationState } from './State';
import { Applet } from '../Applet/index';
import { PresetConfig, AppletManifest, AppletConfig, AppSwitcher, ApplicationSafeAreaValue, GlobalCSSVariables, SegueActionOrigin, DefineApplet } from '../types';
declare class Application extends ApplicationState {
tunneling: boolean;
presetConfig: PresetConfig;
appSwitcher: AppSwitcher;
root: HTMLElement | ShadowRoot;
appletsSpace: HTMLElement;
pullRefreshHolder: {
holder: HTMLElement | null;
spinner: HTMLElement | null;
holdLayer: HTMLElement | null;
};
installed: boolean;
private working;
constructor(presetConfig?: PresetConfig);
private setBaseStyle;
add(id: string, manifest: AppletManifest): Applet;
del(id: string): Promise<boolean>;
get(id: string): Promise<Applet>;
defineApplet(defineApplet: DefineApplet, id: string): void;
cloneAsNewApplet(applet: Applet, id?: string, config?: {}): Applet;
getAppletByURL(url: string): Promise<Applet | undefined>;
createAppletByURL(url: string, config?: {
[key in Extract<keyof AppletConfig, string>]?: string | number;
}, cloneAs?: string): Promise<Applet | undefined>;
pushWindow(url: string, title?: string, preset?: string, cloneAs?: string, touches?: SegueActionOrigin): Promise<void>;
pullDependencies(dependencies?: string[], prerender?: boolean): Promise<unknown>;
updateSafeArea(data: ApplicationSafeAreaValue): void;
updateGlobalCSSVariables(data: GlobalCSSVariables): void;
refresh(): void;
private createAppSwitcher;
private createPullToRefreshHolder;
private mountSystem;
private mountFramework;
private createCloneApplet;
private lineUpApplet;
private mountFirstApplet;
activateTunneling(): void;
subscribeSubAppMessages(): void;
start(): Promise<void>;
}
export { Application };