@akveo/nga-theme
Version:
@akveo/nga-theme
50 lines (49 loc) • 2.06 kB
TypeScript
/**
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { Type } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/publish';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/pairwise';
import 'rxjs/add/operator/distinctUntilChanged';
import 'rxjs/add/operator/debounceTime';
import { NgaThemeConfig } from './themeConfig.service';
import { NgaMediaBreakpointsService, NgaMediaBreakpoint } from './breakpoints.service';
export declare class NgaThemeService {
protected options: any;
private breakpointService;
private themeConfig;
currentTheme: string;
private themeChanges$;
private appendToLayoutTop$;
private createLayoutTop$;
private appendLayoutClass$;
private removeLayoutClass$;
private changeWindowWidth$;
constructor(options: any, breakpointService: NgaMediaBreakpointsService, themeConfig: NgaThemeConfig);
changeTheme(name: string): void;
changeWindowWidth(width: number): void;
appendToLayoutTop<T>(component: Type<T>): Observable<any>;
getConfig(): Observable<any>;
clearLayoutTop(): Observable<any>;
/**
* Triggers media query breakpoint change
* Returns a pair where the first item is previous media breakpoint and the second item is current breakpoit.
* ```
* [{ name: 'xs', width: 0 }, { name: 'md', width: 768 }] // change from `xs` to `md`
* ```
* @returns {Observable<[NgaMediaBreakpoint, NgaMediaBreakpoint]>}
*/
onMediaQueryChange(): Observable<[NgaMediaBreakpoint, NgaMediaBreakpoint]>;
onThemeChange(): Observable<any>;
onAppendToTop(): Observable<any>;
onClearLayoutTop(): Observable<any>;
appendLayoutClass(className: string): void;
onAppendLayoutClass(): Observable<any>;
removeLayoutClass(className: string): void;
onRemoveLayoutClass(): Observable<any>;
}