UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

36 lines 4.19 kB
import { DOCUMENT } from '@angular/common'; import { Inject, Injectable } from '@angular/core'; import { THEMES } from './theme.config'; import * as i0 from "@angular/core"; export class ThemeService { constructor(document) { this.document = document; } setTheme(name = 'default') { const theme = THEMES[name]; Object.keys(theme).forEach((key) => { this.document.documentElement.style.setProperty(`--${key}`, theme[key]); }); if (name === 'default') { this.document.styleSheets[0].deleteRule(1); } else { this.document.styleSheets[0].insertRule('::-webkit-scrollbar { width: var(--slab_scrollbar_width); height: var(--slab_scrollbar_height);}', 1); } } getThemes() { return ['default', 'dark']; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ThemeService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ThemeService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi90aGVtZS90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3hDLE1BQU0sT0FBTyxZQUFZO0lBQ3hCLFlBQXNDLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRXJELFFBQVEsQ0FBQyxJQUFJLEdBQUcsU0FBUztRQUMvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksS0FBRyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsa0dBQWtHLEVBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUk7SUFDRixDQUFDO0lBRU0sU0FBUztRQUNmLE9BQU8sQ0FBQyxTQUFTLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs4R0FsQlcsWUFBWSxrQkFDSixRQUFRO2tIQURoQixZQUFZLGNBRlosTUFBTTs7MkZBRU4sWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQUVhLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEhFTUVTIH0gZnJvbSAnLi90aGVtZS5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcblx0Y29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHt9XG5cblx0cHVibGljIHNldFRoZW1lKG5hbWUgPSAnZGVmYXVsdCcpOiB2b2lkIHtcblx0XHRjb25zdCB0aGVtZSA9IFRIRU1FU1tuYW1lXTtcblx0XHRPYmplY3Qua2V5cyh0aGVtZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG5cdFx0XHR0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS0ke2tleX1gLCB0aGVtZVtrZXldKTtcblx0XHR9KTtcblxuXHRcdGlmIChuYW1lPT09J2RlZmF1bHQnKSB7XG5cdFx0XHR0aGlzLmRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmRlbGV0ZVJ1bGUoMSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uaW5zZXJ0UnVsZSgnOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiB2YXIoLS1zbGFiX3Njcm9sbGJhcl93aWR0aCk7IGhlaWdodDogdmFyKC0tc2xhYl9zY3JvbGxiYXJfaGVpZ2h0KTt9JywxKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgZ2V0VGhlbWVzKCk6IEFycmF5PHN0cmluZz4ge1xuXHRcdHJldHVybiBbJ2RlZmF1bHQnLCdkYXJrJ107XG5cdH1cbn1cbiJdfQ==