@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
33 lines • 4.53 kB
JavaScript
import { DOCUMENT } from '@angular/common';
import { inject, Injectable, InjectionToken } from '@angular/core';
import { Meta } from '@angular/platform-browser';
import * as i0 from "@angular/core";
export const TUI_THEME_COLOR = new InjectionToken(ngDevMode ? 'TUI_THEME_COLOR' : '', {
factory: () => inject(Meta).getTag('name="theme-color"')?.content ?? '',
});
class TuiThemeColorService {
constructor() {
this.current = inject(TUI_THEME_COLOR);
this.doc = inject(DOCUMENT);
this.meta = inject(Meta);
this.color = this.current;
}
get color() {
return this.current;
}
set color(content) {
this.current = content;
this.meta.updateTag({ name: 'theme-color', content });
this.doc.documentElement.style.setProperty('--tui-theme-color', content);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiThemeColorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiThemeColorService, providedIn: 'root' }); }
}
export { TuiThemeColorService };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiThemeColorService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zZXJ2aWNlcy90aGVtZS1jb2xvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQUUvQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDbEM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLE9BQU8sSUFBSSxFQUFFO0NBQzFFLENBQ0osQ0FBQztBQU9GLE1BR2Esb0JBQW9CO0lBSzdCO1FBSlEsWUFBTyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHakMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLE9BQWU7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQWpCUSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZqQixNQUFNOztTQUVULG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZXRhfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGNvbnN0IFRVSV9USEVNRV9DT0xPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfVEhFTUVfQ09MT1InIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBpbmplY3QoTWV0YSkuZ2V0VGFnKCduYW1lPVwidGhlbWUtY29sb3JcIicpPy5jb250ZW50ID8/ICcnLFxuICAgIH0sXG4pO1xuXG5pbnRlcmZhY2UgVHVpVGhlbWVDb2xvciB7XG4gICAgZ2V0IGNvbG9yKCk6IHN0cmluZztcbiAgICBzZXQgY29sb3IodmFsdWU6IHN0cmluZyk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRoZW1lQ29sb3JTZXJ2aWNlIGltcGxlbWVudHMgVHVpVGhlbWVDb2xvciB7XG4gICAgcHJpdmF0ZSBjdXJyZW50ID0gaW5qZWN0KFRVSV9USEVNRV9DT0xPUik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YSA9IGluamVjdChNZXRhKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmNvbG9yID0gdGhpcy5jdXJyZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29sb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGNvbG9yKGNvbnRlbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmN1cnJlbnQgPSBjb250ZW50O1xuICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHtuYW1lOiAndGhlbWUtY29sb3InLCBjb250ZW50fSk7XG4gICAgICAgIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10dWktdGhlbWUtY29sb3InLCBjb250ZW50KTtcbiAgICB9XG59XG4iXX0=