UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

105 lines 6.82 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { InjectionToken, Optional, Inject, Injectable } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { share } from 'rxjs/operators'; /** @enum {string} */ const NbLayoutDirection = { LTR: 'ltr', RTL: 'rtl', }; export { NbLayoutDirection }; ; /* * Layout direction setting injection token. * */ /** @type {?} */ export const NB_LAYOUT_DIRECTION = new InjectionToken('Layout direction'); /* * Layout Direction Service. * Allows to set or get layout direction and listen to its changes */ export class NbLayoutDirectionService { /** * @param {?=} direction */ constructor(direction = NbLayoutDirection.LTR) { this.direction = direction; this.$directionChange = new ReplaySubject(1); this.setDirection(direction); } /* * Returns true if layout direction set to left to right. * @returns boolean. * */ /** * @return {?} */ isLtr() { return this.direction === NbLayoutDirection.LTR; } /* * Returns true if layout direction set to right to left. * @returns boolean. * */ /** * @return {?} */ isRtl() { return this.direction === NbLayoutDirection.RTL; } /* * Returns current layout direction. * @returns NbLayoutDirection. * */ /** * @return {?} */ getDirection() { return this.direction; } /* * Sets layout direction * @param {NbLayoutDirection} direction */ /** * @param {?} direction * @return {?} */ setDirection(direction) { this.direction = direction; this.$directionChange.next(direction); } /* * Triggered when direction was changed. * @returns Observable<NbLayoutDirection>. */ /** * @return {?} */ onDirectionChange() { return this.$directionChange.pipe(share()); } } NbLayoutDirectionService.decorators = [ { type: Injectable } ]; /** @nocollapse */ NbLayoutDirectionService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NB_LAYOUT_DIRECTION,] }] } ]; if (false) { /** * @type {?} * @private */ NbLayoutDirectionService.prototype.$directionChange; /** * @type {?} * @private */ NbLayoutDirectionService.prototype.direction; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZGlyZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztJQU1yQyxLQUFNLEtBQUs7SUFDWCxLQUFNLEtBQUs7OztBQUNaLENBQUM7Ozs7O0FBS0YsTUFBTSxPQUFPLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFvQixrQkFBa0IsQ0FBQzs7Ozs7QUFPNUYsTUFBTSxPQUFPLHdCQUF3Qjs7OztJQUduQyxZQUNtRCxZQUFZLGlCQUFpQixDQUFDLEdBQUc7UUFBakMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFINUUscUJBQWdCLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFLOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7Ozs7OztJQU1NLEtBQUs7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssaUJBQWlCLENBQUMsR0FBRyxDQUFDO0lBQ2xELENBQUM7Ozs7Ozs7O0lBTU0sS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7SUFDbEQsQ0FBQzs7Ozs7Ozs7SUFNRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Ozs7Ozs7OztJQU1ELFlBQVksQ0FBQyxTQUE0QjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Ozs7Ozs7O0lBTUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBcUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OztZQWpERixVQUFVOzs7OzRDQUtOLFFBQVEsWUFBSSxNQUFNLFNBQUMsbUJBQW1COzs7Ozs7O0lBSHpDLG9EQUFnRDs7Ozs7SUFHOUMsNkNBQWtGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qXHJcbiAqIExheW91dCBkaXJlY3Rpb24uXHJcbiAqICovXHJcbmV4cG9ydCBlbnVtIE5iTGF5b3V0RGlyZWN0aW9uIHtcclxuICBMVFIgPSAnbHRyJyxcclxuICBSVEwgPSAncnRsJyxcclxufTtcclxuXHJcbi8qXHJcbiAqIExheW91dCBkaXJlY3Rpb24gc2V0dGluZyBpbmplY3Rpb24gdG9rZW4uXHJcbiAqICovXHJcbmV4cG9ydCBjb25zdCBOQl9MQVlPVVRfRElSRUNUSU9OID0gbmV3IEluamVjdGlvblRva2VuPE5iTGF5b3V0RGlyZWN0aW9uPignTGF5b3V0IGRpcmVjdGlvbicpO1xyXG5cclxuLypcclxuICogTGF5b3V0IERpcmVjdGlvbiBTZXJ2aWNlLlxyXG4gKiBBbGxvd3MgdG8gc2V0IG9yIGdldCBsYXlvdXQgZGlyZWN0aW9uIGFuZCBsaXN0ZW4gdG8gaXRzIGNoYW5nZXNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5iTGF5b3V0RGlyZWN0aW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSAkZGlyZWN0aW9uQ2hhbmdlID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChOQl9MQVlPVVRfRElSRUNUSU9OKSBwcml2YXRlIGRpcmVjdGlvbiA9IE5iTGF5b3V0RGlyZWN0aW9uLkxUUixcclxuICApIHtcclxuICAgIHRoaXMuc2V0RGlyZWN0aW9uKGRpcmVjdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBsYXlvdXQgZGlyZWN0aW9uIHNldCB0byBsZWZ0IHRvIHJpZ2h0LlxyXG4gICAqIEByZXR1cm5zIGJvb2xlYW4uXHJcbiAgICogKi9cclxuICBwdWJsaWMgaXNMdHIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09IE5iTGF5b3V0RGlyZWN0aW9uLkxUUjtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogUmV0dXJucyB0cnVlIGlmIGxheW91dCBkaXJlY3Rpb24gc2V0IHRvIHJpZ2h0IHRvIGxlZnQuXHJcbiAgICogQHJldHVybnMgYm9vbGVhbi5cclxuICAgKiAqL1xyXG4gIHB1YmxpYyBpc1J0bCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gTmJMYXlvdXREaXJlY3Rpb24uUlRMO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBSZXR1cm5zIGN1cnJlbnQgbGF5b3V0IGRpcmVjdGlvbi5cclxuICAgKiBAcmV0dXJucyBOYkxheW91dERpcmVjdGlvbi5cclxuICAgKiAqL1xyXG4gIGdldERpcmVjdGlvbigpOiBOYkxheW91dERpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb247XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFNldHMgbGF5b3V0IGRpcmVjdGlvblxyXG4gICAqIEBwYXJhbSB7TmJMYXlvdXREaXJlY3Rpb259IGRpcmVjdGlvblxyXG4gICAqL1xyXG4gIHNldERpcmVjdGlvbihkaXJlY3Rpb246IE5iTGF5b3V0RGlyZWN0aW9uKSB7XHJcbiAgICB0aGlzLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgIHRoaXMuJGRpcmVjdGlvbkNoYW5nZS5uZXh0KGRpcmVjdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIGRpcmVjdGlvbiB3YXMgY2hhbmdlZC5cclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPE5iTGF5b3V0RGlyZWN0aW9uPi5cclxuICAgKi9cclxuICBvbkRpcmVjdGlvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPE5iTGF5b3V0RGlyZWN0aW9uPiB7XHJcbiAgICByZXR1cm4gdGhpcy4kZGlyZWN0aW9uQ2hhbmdlLnBpcGUoc2hhcmU8TmJMYXlvdXREaXJlY3Rpb24+KCkpO1xyXG4gIH1cclxufVxyXG4iXX0=