theme-lib
Version:
This is a simple example Angular Library published to npm.
68 lines • 5.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs';
/**
* @record
*/
export function NbLayoutDimensions() { }
if (false) {
/** @type {?} */
NbLayoutDimensions.prototype.clientWidth;
/** @type {?} */
NbLayoutDimensions.prototype.clientHeight;
/** @type {?} */
NbLayoutDimensions.prototype.scrollWidth;
/** @type {?} */
NbLayoutDimensions.prototype.scrollHeight;
}
/*
* Simple helper service to return Layout dimensions
* Depending of current Layout scroll mode (default or `withScroll` when scroll is moved to an element
* inside of the layout) corresponding dimensions will be returns - of `documentElement` in first case and
* `.scrollable-container` in the second.
*/
export class NbLayoutRulerService {
constructor() {
this.contentDimensionsReq$ = new Subject();
}
/*
* Content dimensions
* @returns {Observable<NbLayoutDimensions>}
*/
/**
* @return {?}
*/
getDimensions() {
return Observable.create((observer) => {
/** @type {?} */
const listener = new Subject();
listener.subscribe(observer);
this.contentDimensionsReq$.next({ listener });
return () => listener.complete();
});
}
/*
* @private
* @returns {Subject<any>}
*/
/**
* @return {?}
*/
onGetDimensions() {
return this.contentDimensionsReq$;
}
}
NbLayoutRulerService.decorators = [
{ type: Injectable }
];
if (false) {
/**
* @type {?}
* @private
*/
NbLayoutRulerService.prototype.contentDimensionsReq$;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3RoZW1lLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9ydWxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBS3ZELHdDQXlCQzs7O0lBbkJDLHlDQUFvQjs7SUFNcEIsMENBQXFCOztJQU1yQix5Q0FBb0I7O0lBTXBCLDBDQUFxQjs7Ozs7Ozs7QUFVdkIsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUdVLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUF1QmhELENBQUM7Ozs7Ozs7O0lBakJDLGFBQWE7UUFDWCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUF3QyxFQUFFLEVBQUU7O2tCQUM5RCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXNCO1lBQ2xELFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFOUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7OztJQU1ELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDOzs7WUF6QkYsVUFBVTs7Ozs7OztJQUdULHFEQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaWJlciB9IGZyb20gJ3J4anMnO1xyXG5cclxuLypcclxuICogTGF5b3V0IGRpbWVuc2lvbnMgdHlwZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYkxheW91dERpbWVuc2lvbnMge1xyXG5cclxuICAvKlxyXG4gICAqIGNsaWVudFdpZHRoXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKi9cclxuICBjbGllbnRXaWR0aDogbnVtYmVyO1xyXG5cclxuICAvKlxyXG4gICAqIGNsaWVudEhlaWdodFxyXG4gICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICovXHJcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIC8qXHJcbiAgICogc2Nyb2xsV2lkdGhcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqL1xyXG4gIHNjcm9sbFdpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qXHJcbiAgICogc2Nyb2xsSGVpZ2h0XHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKi9cclxuICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcclxufVxyXG5cclxuLypcclxuICogU2ltcGxlIGhlbHBlciBzZXJ2aWNlIHRvIHJldHVybiBMYXlvdXQgZGltZW5zaW9uc1xyXG4gKiBEZXBlbmRpbmcgb2YgY3VycmVudCBMYXlvdXQgc2Nyb2xsIG1vZGUgKGRlZmF1bHQgb3IgYHdpdGhTY3JvbGxgIHdoZW4gc2Nyb2xsIGlzIG1vdmVkIHRvIGFuIGVsZW1lbnRcclxuICogaW5zaWRlIG9mIHRoZSBsYXlvdXQpIGNvcnJlc3BvbmRpbmcgZGltZW5zaW9ucyB3aWxsIGJlIHJldHVybnMgIC0gb2YgYGRvY3VtZW50RWxlbWVudGAgaW4gZmlyc3QgY2FzZSBhbmRcclxuICogYC5zY3JvbGxhYmxlLWNvbnRhaW5lcmAgaW4gdGhlIHNlY29uZC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5iTGF5b3V0UnVsZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBjb250ZW50RGltZW5zaW9uc1JlcSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAvKlxyXG4gICAqIENvbnRlbnQgZGltZW5zaW9uc1xyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPE5iTGF5b3V0RGltZW5zaW9ucz59XHJcbiAgICovXHJcbiAgZ2V0RGltZW5zaW9ucygpOiBPYnNlcnZhYmxlPE5iTGF5b3V0RGltZW5zaW9ucz4ge1xyXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogU3Vic2NyaWJlcjxOYkxheW91dERpbWVuc2lvbnM+KSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gbmV3IFN1YmplY3Q8TmJMYXlvdXREaW1lbnNpb25zPigpO1xyXG4gICAgICBsaXN0ZW5lci5zdWJzY3JpYmUob2JzZXJ2ZXIpO1xyXG4gICAgICB0aGlzLmNvbnRlbnREaW1lbnNpb25zUmVxJC5uZXh0KHsgbGlzdGVuZXIgfSk7XHJcblxyXG4gICAgICByZXR1cm4gKCkgPT4gbGlzdGVuZXIuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIEByZXR1cm5zIHtTdWJqZWN0PGFueT59XHJcbiAgICovXHJcbiAgb25HZXREaW1lbnNpb25zKCk6IFN1YmplY3Q8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZW50RGltZW5zaW9uc1JlcSQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==