UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

127 lines 8.05 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { share } from 'rxjs/operators'; /** * @record */ export function NbScrollPosition() { } if (false) { /** @type {?} */ NbScrollPosition.prototype.x; /** @type {?} */ NbScrollPosition.prototype.y; } /* * Layout scroll service. Provides information about current scroll position, * as well as methods to update position of the scroll. * * The reason we added this service is that in Nebular there are two scroll modes: * - the default mode when scroll is on body * - and the `withScroll` mode, when scroll is removed from the body and moved to an element inside of the * `nb-layout` component */ export class NbLayoutScrollService { constructor() { this.scrollPositionReq$ = new Subject(); this.manualScroll$ = new Subject(); this.scroll$ = new Subject(); } /* * Returns scroll position * * @returns {Observable<NbScrollPosition>} */ /** * @return {?} */ getPosition() { return Observable.create((observer) => { /** @type {?} */ const listener = new Subject(); listener.subscribe(observer); this.scrollPositionReq$.next({ listener }); return () => listener.complete(); }); } /* * Sets scroll position * * @param {number} x * @param {number} y */ /** * @param {?=} x * @param {?=} y * @return {?} */ scrollTo(x = null, y = null) { this.manualScroll$.next({ x, y }); } /* * Returns a stream of scroll events * * @returns {Observable<any>} */ /** * @return {?} */ onScroll() { return this.scroll$.pipe(share()); } /* * @private * @returns Observable<NbScrollPosition>. */ /** * @return {?} */ onManualScroll() { return this.manualScroll$.pipe(share()); } /* * @private * @returns {Subject<any>} */ /** * @return {?} */ onGetPosition() { return this.scrollPositionReq$; } /* * @private * @param {any} event */ /** * @param {?} event * @return {?} */ fireScrollChange(event) { this.scroll$.next(event); } } NbLayoutScrollService.decorators = [ { type: Injectable } ]; if (false) { /** * @type {?} * @private */ NbLayoutScrollService.prototype.scrollPositionReq$; /** * @type {?} * @private */ NbLayoutScrollService.prototype.manualScroll$; /** * @type {?} * @private */ NbLayoutScrollService.prototype.scroll$; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2Nyb2xsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3ZDLHNDQWFDOzs7SUFQQyw2QkFBVTs7SUFNViw2QkFBVTs7Ozs7Ozs7Ozs7QUFhWixNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBR1UsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUN4QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBQ2hELFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBMkR2QyxDQUFDOzs7Ozs7Ozs7SUFwREMsV0FBVztRQUNULE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQXNDLEVBQUUsRUFBRTs7a0JBQzVELFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBb0I7WUFDaEQsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUUzQyxPQUFPLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7Ozs7Ozs7OztJQVFELFFBQVEsQ0FBQyxJQUFZLElBQUksRUFBRSxJQUFZLElBQUk7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7Ozs7Ozs7SUFPRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7Ozs7O0lBTUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFvQixDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7Ozs7SUFNRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQzs7Ozs7Ozs7O0lBTUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7WUEvREYsVUFBVTs7Ozs7OztJQUdULG1EQUFnRDs7Ozs7SUFDaEQsOENBQXdEOzs7OztJQUN4RCx3Q0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vKlxyXG4gKiBTY3JvbGwgcG9zaXRpb24gdHlwZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYlNjcm9sbFBvc2l0aW9uIHtcclxuXHJcbiAgLypcclxuICAgKiB4IC0gbGVmdFxyXG4gICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICovXHJcbiAgeDogbnVtYmVyO1xyXG5cclxuICAvKlxyXG4gICAqIHkgLSB0b3BcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqL1xyXG4gIHk6IG51bWJlcjtcclxufVxyXG5cclxuLypcclxuICogTGF5b3V0IHNjcm9sbCBzZXJ2aWNlLiBQcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbixcclxuICogYXMgd2VsbCBhcyBtZXRob2RzIHRvIHVwZGF0ZSBwb3NpdGlvbiBvZiB0aGUgc2Nyb2xsLlxyXG4gKlxyXG4gKiBUaGUgcmVhc29uIHdlIGFkZGVkIHRoaXMgc2VydmljZSBpcyB0aGF0IGluIE5lYnVsYXIgdGhlcmUgYXJlIHR3byBzY3JvbGwgbW9kZXM6XHJcbiAqIC0gdGhlIGRlZmF1bHQgbW9kZSB3aGVuIHNjcm9sbCBpcyBvbiBib2R5XHJcbiAqIC0gYW5kIHRoZSBgd2l0aFNjcm9sbGAgbW9kZSwgd2hlbiBzY3JvbGwgaXMgcmVtb3ZlZCBmcm9tIHRoZSBib2R5IGFuZCBtb3ZlZCB0byBhbiBlbGVtZW50IGluc2lkZSBvZiB0aGVcclxuICogYG5iLWxheW91dGAgY29tcG9uZW50XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOYkxheW91dFNjcm9sbFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHNjcm9sbFBvc2l0aW9uUmVxJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwcml2YXRlIG1hbnVhbFNjcm9sbCQgPSBuZXcgU3ViamVjdDxOYlNjcm9sbFBvc2l0aW9uPigpO1xyXG4gIHByaXZhdGUgc2Nyb2xsJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgLypcclxuICAgKiBSZXR1cm5zIHNjcm9sbCBwb3NpdGlvblxyXG4gICAqXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8TmJTY3JvbGxQb3NpdGlvbj59XHJcbiAgICovXHJcbiAgZ2V0UG9zaXRpb24oKTogT2JzZXJ2YWJsZTxOYlNjcm9sbFBvc2l0aW9uPiB7XHJcbiAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBTdWJzY3JpYmVyPE5iU2Nyb2xsUG9zaXRpb24+KSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gbmV3IFN1YmplY3Q8TmJTY3JvbGxQb3NpdGlvbj4oKTtcclxuICAgICAgbGlzdGVuZXIuc3Vic2NyaWJlKG9ic2VydmVyKTtcclxuICAgICAgdGhpcy5zY3JvbGxQb3NpdGlvblJlcSQubmV4dCh7IGxpc3RlbmVyIH0pO1xyXG5cclxuICAgICAgcmV0dXJuICgpID0+IGxpc3RlbmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogU2V0cyBzY3JvbGwgcG9zaXRpb25cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB4XHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IHlcclxuICAgKi9cclxuICBzY3JvbGxUbyh4OiBudW1iZXIgPSBudWxsLCB5OiBudW1iZXIgPSBudWxsKSB7XHJcbiAgICB0aGlzLm1hbnVhbFNjcm9sbCQubmV4dCh7IHgsIHkgfSk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFJldHVybnMgYSBzdHJlYW0gb2Ygc2Nyb2xsIGV2ZW50c1xyXG4gICAqXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8YW55Pn1cclxuICAgKi9cclxuICBvblNjcm9sbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNjcm9sbCQucGlwZShzaGFyZTxhbnk+KCkpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8TmJTY3JvbGxQb3NpdGlvbj4uXHJcbiAgICovXHJcbiAgb25NYW51YWxTY3JvbGwoKTogT2JzZXJ2YWJsZTxOYlNjcm9sbFBvc2l0aW9uPiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYW51YWxTY3JvbGwkLnBpcGUoc2hhcmU8TmJTY3JvbGxQb3NpdGlvbj4oKSk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogQHJldHVybnMge1N1YmplY3Q8YW55Pn1cclxuICAgKi9cclxuICBvbkdldFBvc2l0aW9uKCk6IFN1YmplY3Q8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zY3JvbGxQb3NpdGlvblJlcSQ7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogQHBhcmFtIHthbnl9IGV2ZW50XHJcbiAgICovXHJcbiAgZmlyZVNjcm9sbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNjcm9sbCQubmV4dChldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==