@coreui/angular-pro 5.0.0-next.16 → 5.0.0-next.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,19 +13,20 @@ export class ColorModeService {
13
13
  this.#document = inject(DOCUMENT);
14
14
  this.#localStorage = inject(LocalStorageService);
15
15
  this.eventName = signal('ColorSchemeChange');
16
- this.localStorageItemName = signal('coreui-angular-color-scheme');
16
+ this.localStorageItemName = signal(undefined);
17
17
  this.localStorageItemName$ = toObservable(this.localStorageItemName);
18
18
  this.colorMode = signal(undefined);
19
19
  this.colorModeEffect = effect(() => {
20
- const colorMode = this.colorMode() ?? this.getTheme();
20
+ const colorMode = this.colorMode();
21
21
  if (colorMode) {
22
- this.setStoredTheme(this.localStorageItemName(), colorMode);
23
- this.setTheme(colorMode);
22
+ const localStorageItemName = this.localStorageItemName();
23
+ localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);
24
+ this.#setTheme(colorMode);
24
25
  }
25
26
  });
26
27
  this.localStorageItemName$
27
28
  .pipe(tap(params => {
28
- this.colorMode.set(this.getPreferredColorScheme(params));
29
+ this.colorMode.set(this.getDefaultScheme(params));
29
30
  }), takeUntilDestroyed(this.#destroyRef))
30
31
  .subscribe();
31
32
  }
@@ -35,25 +36,27 @@ export class ColorModeService {
35
36
  setStoredTheme(localStorageItemName, colorMode) {
36
37
  return this.#localStorage.setItem(localStorageItemName, colorMode);
37
38
  }
38
- getPreferredColorScheme(localStorageItemName) {
39
+ removeStoredTheme(localStorageItemName) {
40
+ this.#localStorage.removeItem(localStorageItemName);
41
+ }
42
+ getDefaultScheme(localStorageItemName) {
39
43
  if (this.#document.defaultView === undefined) {
40
- return undefined;
41
- }
42
- const storedTheme = this.getStoredTheme(localStorageItemName);
43
- if (storedTheme) {
44
- return storedTheme;
44
+ return this.getDatasetTheme();
45
45
  }
46
- return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : this.getTheme();
46
+ const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);
47
+ return storedTheme ?? this.getDatasetTheme();
47
48
  }
48
49
  ;
49
- getTheme() {
50
- return this.#document.documentElement.dataset['coreuiTheme'] ?? undefined;
50
+ getPrefersColorScheme() {
51
+ return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' :
52
+ this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches ? 'light' :
53
+ undefined;
54
+ }
55
+ getDatasetTheme() {
56
+ return (this.#document.documentElement.dataset['coreuiTheme']);
51
57
  }
52
- setTheme(colorMode) {
53
- this.#document.documentElement.dataset['coreuiTheme'] =
54
- colorMode === 'auto' && this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches
55
- ? 'dark'
56
- : colorMode;
58
+ #setTheme(colorMode) {
59
+ this.#document.documentElement.dataset['coreuiTheme'] = (colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode);
57
60
  const event = new Event(this.eventName());
58
61
  this.#document.documentElement.dispatchEvent(event);
59
62
  }
@@ -67,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
67
70
  providedIn: 'root'
68
71
  }]
69
72
  }], ctorParameters: () => [] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbW9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jb2xvci1tb2RlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRWxCLFdBQVcsQ0FBa0M7SUFDN0MsU0FBUyxDQUE4QjtJQUN2QyxhQUFhLENBQW9EO0lBZ0IxRTtRQWxCUyxnQkFBVyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxjQUFTLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpFLGNBQVMsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN4Qyx5QkFBb0IsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUM3RCwwQkFBcUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFaEUsY0FBUyxHQUE4QixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekQsb0JBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUdELElBQUksQ0FBQyxxQkFBcUI7YUFDdkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxFQUNGLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDckM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYyxDQUFDLG9CQUE0QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGNBQWMsQ0FBQyxvQkFBNEIsRUFBRSxTQUFpQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxvQkFBNEI7UUFDbEQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuSCxDQUFDO0lBQUEsQ0FBQztJQUVGLFFBQVE7UUFDTixPQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxRQUFRLENBQUMsU0FBb0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNuRCxTQUFTLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLE9BQU87Z0JBQ3RHLENBQUMsQ0FBQyxNQUFNO2dCQUNSLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUFBLENBQUM7OEdBakVTLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGVmZmVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIENvbG9yTW9kZSA9ICdsaWdodCcgfCAnZGFyaycgfCAnYXV0bycgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yTW9kZVNlcnZpY2Uge1xuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmOiBEZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSAjZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcmVhZG9ubHkgI2xvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSA9IGluamVjdChMb2NhbFN0b3JhZ2VTZXJ2aWNlKTtcblxuICByZWFkb25seSBldmVudE5hbWUgPSBzaWduYWwoJ0NvbG9yU2NoZW1lQ2hhbmdlJyk7XG4gIHJlYWRvbmx5IGxvY2FsU3RvcmFnZUl0ZW1OYW1lID0gc2lnbmFsKCdjb3JldWktYW5ndWxhci1jb2xvci1zY2hlbWUnKTtcbiAgcmVhZG9ubHkgbG9jYWxTdG9yYWdlSXRlbU5hbWUkID0gdG9PYnNlcnZhYmxlKHRoaXMubG9jYWxTdG9yYWdlSXRlbU5hbWUpO1xuXG4gIHJlYWRvbmx5IGNvbG9yTW9kZTogV3JpdGFibGVTaWduYWw8Q29sb3JNb2RlPiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGNvbG9yTW9kZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29sb3JNb2RlID0gdGhpcy5jb2xvck1vZGUoKSA/PyB0aGlzLmdldFRoZW1lKCk7XG4gICAgaWYgKGNvbG9yTW9kZSkge1xuICAgICAgdGhpcy5zZXRTdG9yZWRUaGVtZSh0aGlzLmxvY2FsU3RvcmFnZUl0ZW1OYW1lKCksIGNvbG9yTW9kZSk7XG4gICAgICB0aGlzLnNldFRoZW1lKGNvbG9yTW9kZSk7XG4gICAgfVxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZUl0ZW1OYW1lJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChwYXJhbXMgPT4ge1xuICAgICAgICAgIHRoaXMuY29sb3JNb2RlLnNldCh0aGlzLmdldFByZWZlcnJlZENvbG9yU2NoZW1lKHBhcmFtcykpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRTdG9yZWRUaGVtZShsb2NhbFN0b3JhZ2VJdGVtTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZUl0ZW1OYW1lKTtcbiAgfVxuXG4gIHNldFN0b3JlZFRoZW1lKGxvY2FsU3RvcmFnZUl0ZW1OYW1lOiBzdHJpbmcsIGNvbG9yTW9kZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2FsU3RvcmFnZS5zZXRJdGVtKGxvY2FsU3RvcmFnZUl0ZW1OYW1lLCBjb2xvck1vZGUpO1xuICB9XG5cbiAgZ2V0UHJlZmVycmVkQ29sb3JTY2hlbWUobG9jYWxTdG9yYWdlSXRlbU5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLiNkb2N1bWVudC5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHN0b3JlZFRoZW1lID0gdGhpcy5nZXRTdG9yZWRUaGVtZShsb2NhbFN0b3JhZ2VJdGVtTmFtZSk7XG5cbiAgICBpZiAoc3RvcmVkVGhlbWUpIHtcbiAgICAgIHJldHVybiBzdG9yZWRUaGVtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jZG9jdW1lbnQuZGVmYXVsdFZpZXc/Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzID8gJ2RhcmsnIDogdGhpcy5nZXRUaGVtZSgpO1xuICB9O1xuXG4gIGdldFRoZW1lKCkge1xuICAgIHJldHVybiA8Q29sb3JNb2RlPnRoaXMuI2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0Wydjb3JldWlUaGVtZSddID8/IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFRoZW1lKGNvbG9yTW9kZTogQ29sb3JNb2RlKSB7XG4gICAgdGhpcy4jZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXRbJ2NvcmV1aVRoZW1lJ10gPVxuICAgICAgY29sb3JNb2RlID09PSAnYXV0bycgJiYgdGhpcy4jZG9jdW1lbnQuZGVmYXVsdFZpZXc/Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzXG4gICAgICA/ICdkYXJrJ1xuICAgICAgOiBjb2xvck1vZGU7XG5cbiAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudCh0aGlzLmV2ZW50TmFtZSgpKTtcbiAgICB0aGlzLiNkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH07XG5cbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbW9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jb2xvci1tb2RlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRWxCLFdBQVcsQ0FBa0M7SUFDN0MsU0FBUyxDQUE4QjtJQUN2QyxhQUFhLENBQW9EO0lBZ0IxRTtRQWxCUyxnQkFBVyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxjQUFTLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpFLGNBQVMsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN4Qyx5QkFBb0IsR0FBdUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdFLDBCQUFxQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRSxjQUFTLEdBQThCLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6RCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxD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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgZWZmZWN0LCBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgQ29sb3JNb2RlID0gJ2xpZ2h0JyB8ICdkYXJrJyB8ICdhdXRvJyB8IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JNb2RlU2VydmljZSB7XG5cbiAgcmVhZG9ubHkgI2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHJlYWRvbmx5ICNkb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICByZWFkb25seSAjbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGV2ZW50TmFtZSA9IHNpZ25hbCgnQ29sb3JTY2hlbWVDaGFuZ2UnKTtcbiAgcmVhZG9ubHkgbG9jYWxTdG9yYWdlSXRlbU5hbWU6IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBzaWduYWwodW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbG9jYWxTdG9yYWdlSXRlbU5hbWUkID0gdG9PYnNlcnZhYmxlKHRoaXMubG9jYWxTdG9yYWdlSXRlbU5hbWUpO1xuICByZWFkb25seSBjb2xvck1vZGU6IFdyaXRhYmxlU2lnbmFsPENvbG9yTW9kZT4gPSBzaWduYWwodW5kZWZpbmVkKTtcblxuICByZWFkb25seSBjb2xvck1vZGVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbG9yTW9kZSA9IHRoaXMuY29sb3JNb2RlKCk7XG4gICAgaWYgKGNvbG9yTW9kZSkge1xuICAgICAgY29uc3QgbG9jYWxTdG9yYWdlSXRlbU5hbWUgPSB0aGlzLmxvY2FsU3RvcmFnZUl0ZW1OYW1lKCk7XG4gICAgICBsb2NhbFN0b3JhZ2VJdGVtTmFtZSAmJiB0aGlzLnNldFN0b3JlZFRoZW1lKGxvY2FsU3RvcmFnZUl0ZW1OYW1lLCBjb2xvck1vZGUpO1xuICAgICAgdGhpcy4jc2V0VGhlbWUoY29sb3JNb2RlKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9jYWxTdG9yYWdlSXRlbU5hbWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHBhcmFtcyA9PiB7XG4gICAgICAgICAgdGhpcy5jb2xvck1vZGUuc2V0KHRoaXMuZ2V0RGVmYXVsdFNjaGVtZShwYXJhbXMpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0U3RvcmVkVGhlbWUobG9jYWxTdG9yYWdlSXRlbU5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLiNsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VJdGVtTmFtZSk7XG4gIH1cblxuICBzZXRTdG9yZWRUaGVtZShsb2NhbFN0b3JhZ2VJdGVtTmFtZTogc3RyaW5nLCBjb2xvck1vZGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLiNsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VJdGVtTmFtZSwgY29sb3JNb2RlKTtcbiAgfVxuXG4gIHJlbW92ZVN0b3JlZFRoZW1lKGxvY2FsU3RvcmFnZUl0ZW1OYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShsb2NhbFN0b3JhZ2VJdGVtTmFtZSk7XG4gIH1cblxuICBnZXREZWZhdWx0U2NoZW1lKGxvY2FsU3RvcmFnZUl0ZW1OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy4jZG9jdW1lbnQuZGVmYXVsdFZpZXcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0YXNldFRoZW1lKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVkVGhlbWUgPSBsb2NhbFN0b3JhZ2VJdGVtTmFtZSAmJiB0aGlzLmdldFN0b3JlZFRoZW1lKGxvY2FsU3RvcmFnZUl0ZW1OYW1lKTtcblxuICAgIHJldHVybiBzdG9yZWRUaGVtZSA/PyB0aGlzLmdldERhdGFzZXRUaGVtZSgpO1xuICB9O1xuXG4gIGdldFByZWZlcnNDb2xvclNjaGVtZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jZG9jdW1lbnQuZGVmYXVsdFZpZXc/Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzID8gJ2RhcmsnIDpcbiAgICAgICAgICAgdGhpcy4jZG9jdW1lbnQuZGVmYXVsdFZpZXc/Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpJykubWF0Y2hlcyA/ICdsaWdodCcgOlxuICAgICAgICAgICB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXREYXRhc2V0VGhlbWUoKTogQ29sb3JNb2RlIHtcbiAgICByZXR1cm4gPENvbG9yTW9kZT4odGhpcy4jZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXRbJ2NvcmV1aVRoZW1lJ10pO1xuICB9XG5cbiAgI3NldFRoZW1lKGNvbG9yTW9kZTogQ29sb3JNb2RlKSB7XG4gICAgdGhpcy4jZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXRbJ2NvcmV1aVRoZW1lJ10gPSAoY29sb3JNb2RlID09PSAnYXV0bycgPyB0aGlzLmdldFByZWZlcnNDb2xvclNjaGVtZSgpIDogY29sb3JNb2RlKTtcblxuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KHRoaXMuZXZlbnROYW1lKCkpO1xuICAgIHRoaXMuI2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfTtcblxufVxuIl19
@@ -9,24 +9,28 @@ export class LocalStorageService {
9
9
  this.document = document;
10
10
  this.#data$ = new BehaviorSubject(null);
11
11
  this.data$ = this.#data$.asObservable();
12
- this.localStorage = isPlatformBrowser(this.platformId) && this.document.defaultView ? this.document.defaultView?.localStorage : new InMemoryStorageService();
12
+ this.#localStorage =
13
+ isPlatformBrowser(this.platformId) && this.document.defaultView
14
+ ? this.document.defaultView?.localStorage
15
+ : new InMemoryStorageService();
13
16
  }
17
+ #localStorage;
14
18
  #data$;
15
19
  setItem(key, data) {
16
- this.localStorage.setItem(key, JSON.stringify(data));
20
+ this.#localStorage.setItem(key, JSON.stringify(data));
17
21
  this.#data$.next({ key, data });
18
22
  }
19
23
  getItem(key) {
20
- const data = JSON.parse(this.localStorage.getItem(key) ?? 'null');
24
+ const data = JSON.parse(this.#localStorage.getItem(key) ?? 'null');
21
25
  this.#data$.next({ key, data });
22
26
  return data;
23
27
  }
24
28
  removeItem(key) {
25
- this.localStorage.removeItem(key);
29
+ this.#localStorage.removeItem(key);
26
30
  this.#data$.next({ key, data: null });
27
31
  }
28
32
  clear() {
29
- this.localStorage.clear();
33
+ this.#localStorage.clear();
30
34
  this.#data$.next(null);
31
35
  }
32
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocalStorageService, deps: [{ token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -44,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
44
48
  type: Inject,
45
49
  args: [DOCUMENT]
46
50
  }] }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUtyRSxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQytCLFVBQWtCLEVBQ3JCLFFBQWtCO1FBRGYsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSzlDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLENBQUM7UUFDL0QsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFKeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBQy9KLENBQUM7SUFFRCxNQUFNLENBQWdFO0lBRy9ELE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBUztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0FqQ1UsbUJBQW1CLGtCQUtwQixXQUFXLGFBQ1gsUUFBUTtrSEFOUCxtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5NZW1vcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuXG4gIGxvY2FsU3RvcmFnZTogU3RvcmFnZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudFxuICApIHtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZSA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyA/IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc/LmxvY2FsU3RvcmFnZSA6IG5ldyBJbk1lbW9yeVN0b3JhZ2VTZXJ2aWNlKCk7XG4gIH1cblxuICAjZGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsga2V5OiBzdHJpbmcsIGRhdGE6IGFueSB9IHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyBkYXRhJCA9IHRoaXMuI2RhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBzZXRJdGVtKGtleTogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpID8/ICdudWxsJyk7XG4gICAgdGhpcy4jZGF0YSQubmV4dCh7IGtleSwgZGF0YSB9KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGE6IG51bGwgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICB0aGlzLiNkYXRhJC5uZXh0KG51bGwpO1xuICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUtyRSxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQytCLFVBQWtCLEVBQ3JCLFFBQWtCO1FBRGYsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBU3JDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLENBQUM7UUFDL0QsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFSakQsSUFBSSxDQUFDLGFBQWE7WUFDaEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztnQkFDL0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pDLENBQUMsQ0FBQyxJQUFJLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWEsQ0FBVTtJQUNkLE1BQU0sQ0FBZ0U7SUFHeEUsT0FBTyxDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQVc7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQW5DVSxtQkFBbUIsa0JBR3BCLFdBQVcsYUFDWCxRQUFRO2tIQUpQLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbk1lbW9yeVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9pbi1tZW1vcnktc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgKSB7XG4gICAgdGhpcy4jbG9jYWxTdG9yYWdlID1cbiAgICAgIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlld1xuICAgICAgPyB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py5sb2NhbFN0b3JhZ2VcbiAgICAgIDogbmV3IEluTWVtb3J5U3RvcmFnZVNlcnZpY2UoKTtcbiAgfVxuXG4gICNsb2NhbFN0b3JhZ2U6IFN0b3JhZ2U7XG4gIHJlYWRvbmx5ICNkYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBrZXk6IHN0cmluZzsgZGF0YTogYW55IH0gfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGEkID0gdGhpcy4jZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodGhpcy4jbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSA/PyAnbnVsbCcpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgdGhpcy4jZGF0YSQubmV4dCh7IGtleSwgZGF0YTogbnVsbCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLiNsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICB0aGlzLiNkYXRhJC5uZXh0KG51bGwpO1xuICB9XG59XG4iXX0=
@@ -4115,24 +4115,28 @@ class LocalStorageService {
4115
4115
  this.document = document;
4116
4116
  this.#data$ = new BehaviorSubject(null);
4117
4117
  this.data$ = this.#data$.asObservable();
4118
- this.localStorage = isPlatformBrowser(this.platformId) && this.document.defaultView ? this.document.defaultView?.localStorage : new InMemoryStorageService();
4118
+ this.#localStorage =
4119
+ isPlatformBrowser(this.platformId) && this.document.defaultView
4120
+ ? this.document.defaultView?.localStorage
4121
+ : new InMemoryStorageService();
4119
4122
  }
4123
+ #localStorage;
4120
4124
  #data$;
4121
4125
  setItem(key, data) {
4122
- this.localStorage.setItem(key, JSON.stringify(data));
4126
+ this.#localStorage.setItem(key, JSON.stringify(data));
4123
4127
  this.#data$.next({ key, data });
4124
4128
  }
4125
4129
  getItem(key) {
4126
- const data = JSON.parse(this.localStorage.getItem(key) ?? 'null');
4130
+ const data = JSON.parse(this.#localStorage.getItem(key) ?? 'null');
4127
4131
  this.#data$.next({ key, data });
4128
4132
  return data;
4129
4133
  }
4130
4134
  removeItem(key) {
4131
- this.localStorage.removeItem(key);
4135
+ this.#localStorage.removeItem(key);
4132
4136
  this.#data$.next({ key, data: null });
4133
4137
  }
4134
4138
  clear() {
4135
- this.localStorage.clear();
4139
+ this.#localStorage.clear();
4136
4140
  this.#data$.next(null);
4137
4141
  }
4138
4142
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LocalStorageService, deps: [{ token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -4160,19 +4164,20 @@ class ColorModeService {
4160
4164
  this.#document = inject(DOCUMENT);
4161
4165
  this.#localStorage = inject(LocalStorageService);
4162
4166
  this.eventName = signal('ColorSchemeChange');
4163
- this.localStorageItemName = signal('coreui-angular-color-scheme');
4167
+ this.localStorageItemName = signal(undefined);
4164
4168
  this.localStorageItemName$ = toObservable(this.localStorageItemName);
4165
4169
  this.colorMode = signal(undefined);
4166
4170
  this.colorModeEffect = effect(() => {
4167
- const colorMode = this.colorMode() ?? this.getTheme();
4171
+ const colorMode = this.colorMode();
4168
4172
  if (colorMode) {
4169
- this.setStoredTheme(this.localStorageItemName(), colorMode);
4170
- this.setTheme(colorMode);
4173
+ const localStorageItemName = this.localStorageItemName();
4174
+ localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);
4175
+ this.#setTheme(colorMode);
4171
4176
  }
4172
4177
  });
4173
4178
  this.localStorageItemName$
4174
4179
  .pipe(tap(params => {
4175
- this.colorMode.set(this.getPreferredColorScheme(params));
4180
+ this.colorMode.set(this.getDefaultScheme(params));
4176
4181
  }), takeUntilDestroyed(this.#destroyRef))
4177
4182
  .subscribe();
4178
4183
  }
@@ -4182,25 +4187,27 @@ class ColorModeService {
4182
4187
  setStoredTheme(localStorageItemName, colorMode) {
4183
4188
  return this.#localStorage.setItem(localStorageItemName, colorMode);
4184
4189
  }
4185
- getPreferredColorScheme(localStorageItemName) {
4190
+ removeStoredTheme(localStorageItemName) {
4191
+ this.#localStorage.removeItem(localStorageItemName);
4192
+ }
4193
+ getDefaultScheme(localStorageItemName) {
4186
4194
  if (this.#document.defaultView === undefined) {
4187
- return undefined;
4188
- }
4189
- const storedTheme = this.getStoredTheme(localStorageItemName);
4190
- if (storedTheme) {
4191
- return storedTheme;
4195
+ return this.getDatasetTheme();
4192
4196
  }
4193
- return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : this.getTheme();
4197
+ const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);
4198
+ return storedTheme ?? this.getDatasetTheme();
4194
4199
  }
4195
4200
  ;
4196
- getTheme() {
4197
- return this.#document.documentElement.dataset['coreuiTheme'] ?? undefined;
4198
- }
4199
- setTheme(colorMode) {
4200
- this.#document.documentElement.dataset['coreuiTheme'] =
4201
- colorMode === 'auto' && this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches
4202
- ? 'dark'
4203
- : colorMode;
4201
+ getPrefersColorScheme() {
4202
+ return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' :
4203
+ this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches ? 'light' :
4204
+ undefined;
4205
+ }
4206
+ getDatasetTheme() {
4207
+ return (this.#document.documentElement.dataset['coreuiTheme']);
4208
+ }
4209
+ #setTheme(colorMode) {
4210
+ this.#document.documentElement.dataset['coreuiTheme'] = (colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode);
4204
4211
  const event = new Event(this.eventName());
4205
4212
  this.#document.documentElement.dispatchEvent(event);
4206
4213
  }