@taiga-ui/addon-doc
Version:
Taiga UI based library for developing documentation portals for Angular libraries.
52 lines • 6.8 kB
JavaScript
import { inject, Injectable, InjectionToken } from '@angular/core';
import { WA_LOCAL_STORAGE, WA_WINDOW } from '@ng-web-apis/common';
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
import { TUI_DARK_MODE_DEFAULT_KEY, TUI_DARK_MODE_KEY } from '@taiga-ui/core/tokens';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
/**
* @deprecated use {@link TUI_DARK_THEME} instead
*/
export const TUI_DARK_THEME_DEFAULT_KEY = TUI_DARK_MODE_DEFAULT_KEY;
/**
* @deprecated use {@link TUI_DARK_THEME} instead
*/
export const TUI_DARK_THEME_KEY = TUI_DARK_MODE_KEY;
/**
* @deprecated use {@link TUI_DARK_THEME} instead
*/
export const TUI_DARK_THEME = new InjectionToken(ngDevMode ? 'TUI_DARK_THEME' : '', {
factory: TUI_FALSE_HANDLER,
});
/**
* @deprecated use {@link TUI_DARK_THEME} instead
*/
class TuiDocThemeDarkService extends BehaviorSubject {
constructor() {
super(isDark(inject(WA_LOCAL_STORAGE), inject(TUI_DARK_THEME_KEY), inject(WA_WINDOW)));
this.storage = inject(WA_LOCAL_STORAGE);
this.key = inject(TUI_DARK_THEME_KEY);
}
next(dark) {
this.storage?.setItem(this.key, String(dark));
super.next(dark);
}
toggle() {
this.next(!this.value);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocThemeDarkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocThemeDarkService, providedIn: 'root' }); }
}
export { TuiDocThemeDarkService };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocThemeDarkService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return []; } });
function isDark(storage, key, window) {
const fallback = window.matchMedia('(prefers-color-scheme: dark)').matches ||
inject(TUI_DARK_THEME);
return (storage?.getItem(key) === 'true' || (storage?.getItem(key) === null && fallback));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZGFyay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NlcnZpY2VzL3RoZW1lLWRhcmsuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcseUJBQXlCLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDaEYsT0FBTyxFQUFFLGlCQUFpQjtDQUM3QixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BR2Esc0JBQXVCLFNBQVEsZUFBd0I7SUFJaEU7UUFDSSxLQUFLLENBQ0QsTUFBTSxDQUNGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN4QixNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFDMUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUNwQixDQUNKLENBQUM7UUFWVyxZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBVWxELENBQUM7SUFFZSxJQUFJLENBQUMsSUFBYTtRQUM5QixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzlDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBckJRLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07O1NBRVQsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOztBQXlCRCxTQUFTLE1BQU0sQ0FBQyxPQUF1QixFQUFFLEdBQVcsRUFBRSxNQUFjO0lBQ2hFLE1BQU0sUUFBUSxHQUNWLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxPQUFPO1FBQ3pELE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUzQixPQUFPLENBQ0gsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsQ0FDbkYsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9MT0NBTF9TVE9SQUdFLCBXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfREFSS19NT0RFX0RFRkFVTFRfS0VZLCBUVUlfREFSS19NT0RFX0tFWX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFRVSV9EQVJLX1RIRU1FfSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfREFSS19USEVNRV9ERUZBVUxUX0tFWSA9IFRVSV9EQVJLX01PREVfREVGQVVMVF9LRVk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUVUlfREFSS19USEVNRX0gaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBUktfVEhFTUVfS0VZID0gVFVJX0RBUktfTU9ERV9LRVk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUVUlfREFSS19USEVNRX0gaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBUktfVEhFTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW4obmdEZXZNb2RlID8gJ1RVSV9EQVJLX1RIRU1FJyA6ICcnLCB7XG4gICAgZmFjdG9yeTogVFVJX0ZBTFNFX0hBTkRMRVIsXG59KTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFRVSV9EQVJLX1RIRU1FfSBpbnN0ZWFkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1RoZW1lRGFya1NlcnZpY2UgZXh0ZW5kcyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZSA9IGluamVjdChXQV9MT0NBTF9TVE9SQUdFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleSA9IGluamVjdChUVUlfREFSS19USEVNRV9LRVkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgaXNEYXJrKFxuICAgICAgICAgICAgICAgIGluamVjdChXQV9MT0NBTF9TVE9SQUdFKSxcbiAgICAgICAgICAgICAgICBpbmplY3QoVFVJX0RBUktfVEhFTUVfS0VZKSxcbiAgICAgICAgICAgICAgICBpbmplY3QoV0FfV0lORE9XKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG5leHQoZGFyazogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JhZ2U/LnNldEl0ZW0odGhpcy5rZXksIFN0cmluZyhkYXJrKSk7XG4gICAgICAgIHN1cGVyLm5leHQoZGFyayk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXh0KCF0aGlzLnZhbHVlKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzRGFyayhzdG9yYWdlOiBTdG9yYWdlIHwgbnVsbCwga2V5OiBzdHJpbmcsIHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmFsbGJhY2sgPVxuICAgICAgICB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpLm1hdGNoZXMgfHxcbiAgICAgICAgaW5qZWN0KFRVSV9EQVJLX1RIRU1FKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIHN0b3JhZ2U/LmdldEl0ZW0oa2V5KSA9PT0gJ3RydWUnIHx8IChzdG9yYWdlPy5nZXRJdGVtKGtleSkgPT09IG51bGwgJiYgZmFsbGJhY2spXG4gICAgKTtcbn1cbiJdfQ==