@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
37 lines (36 loc) • 1.65 kB
TypeScript
import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
import ThemeLayer from '../../models/layers/themelayer.js';
import CustomTheme from '../../models/customtheme.js';
declare const ThemeTypes: readonly ["all", "favorites", "custom"];
type ThemeType = (typeof ThemeTypes)[number];
declare class ThemeComponent extends GirafeHTMLElement {
protected templateUrl: string | null;
protected styleUrls: string[] | null;
template: () => import("uhtml").Hole;
newIcon: string;
menuOpen: boolean;
openedOnce: boolean;
activeThemeType: ThemeType;
clickOutsideContainer: HTMLElement | null;
get customThemes(): CustomTheme[];
get allThemes(): Record<number, ThemeLayer>;
get favoriteThemes(): (ThemeLayer | CustomTheme)[];
get activeThemes(): Record<number, ThemeLayer> | (ThemeLayer | CustomTheme)[];
constructor();
registerEvents(): void;
render(): void;
onBlur(): void;
toggleThemesList(): void;
activateThemeType(themeType: ThemeType): void;
onThemeChanged(theme: ThemeLayer | CustomTheme): void;
isThemeActive(theme: ThemeLayer | CustomTheme): boolean;
isThemeFavorite(theme: ThemeLayer | CustomTheme): boolean;
onThemeFavoriteChanged(theme: ThemeLayer | CustomTheme, e: Event): void;
isThemeTypeActive(themeType: ThemeType): boolean;
isCustomTheme(theme: ThemeLayer | CustomTheme): theme is CustomTheme;
onCustomThemeChanged(customTheme: CustomTheme): void;
onAddCustomTheme(): Promise<void>;
onDeleteCustomTheme(customTheme: CustomTheme, e: Event): Promise<void>;
protected connectedCallback(): void;
}
export default ThemeComponent;