jconsumer-shared 1.0.6 → 1.0.7

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.
@@ -1,25 +1,41 @@
1
- import { Injectable } from '@angular/core';
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject, Injectable } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
3
4
  export class ThemeService {
5
+ document;
4
6
  renderer;
5
7
  themeLinkElement = null;
6
- constructor(rendererFactory) {
8
+ constructor(rendererFactory, document // Inject DOCUMENT
9
+ ) {
10
+ this.document = document;
7
11
  this.renderer = rendererFactory.createRenderer(null, null);
8
12
  }
9
- loadTheme(themePath) {
10
- // Remove existing theme if it's set
13
+ loadTheme(themeBasePath, themeName) {
14
+ // Construct the full CDN path
15
+ const themePath = `${themeBasePath}${themeName}.css`;
16
+ // Remove existing theme if it’s set
11
17
  if (this.themeLinkElement) {
12
- this.renderer.removeChild(document.head, this.themeLinkElement);
18
+ this.renderer.removeChild(this.document.head, this.themeLinkElement);
19
+ this.themeLinkElement = null; // Reset reference
13
20
  }
14
21
  // Create a new link element for the theme
15
22
  this.themeLinkElement = this.renderer.createElement('link');
16
- this.themeLinkElement.rel = 'stylesheet';
17
- this.themeLinkElement.href = themePath;
18
- // this.themeLinkElement.href = `./assets/scss/themes/${themeName}.scss`; // Path to your theme files
23
+ this.renderer.setAttribute(this.themeLinkElement, 'rel', 'stylesheet');
24
+ this.renderer.setAttribute(this.themeLinkElement, 'href', themePath);
25
+ // Handle successful load
26
+ this.themeLinkElement.onload = () => {
27
+ console.log(`Theme loaded: ${themePath}`);
28
+ this.renderer.addClass(this.document.body, themeName); // Apply theme class to body
29
+ };
30
+ // Handle load failure
31
+ this.themeLinkElement.onerror = () => {
32
+ console.error(`Failed to load theme: ${themePath}`);
33
+ // Optionally load a fallback theme
34
+ };
19
35
  // Append the new theme to the document head
20
- this.renderer.appendChild(document.head, this.themeLinkElement);
36
+ this.renderer.appendChild(this.document.head, this.themeLinkElement);
21
37
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
23
39
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, providedIn: 'root' });
24
40
  }
25
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, decorators: [{
@@ -27,5 +43,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
27
43
  args: [{
28
44
  providedIn: 'root',
29
45
  }]
30
- }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQStCLE1BQU0sZUFBZSxDQUFDOztBQUt4RSxNQUFNLE9BQU8sWUFBWTtJQUNmLFFBQVEsQ0FBWTtJQUNwQixnQkFBZ0IsR0FBMkIsSUFBSSxDQUFDO0lBRXhELFlBQ0UsZUFBaUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLG9DQUFvQztRQUNwQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELDBDQUEwQztRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDdkMscUdBQXFHO1FBRXJHLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7d0dBdkJVLFlBQVk7NEdBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcbiAgcHJpdmF0ZSB0aGVtZUxpbmtFbGVtZW50OiBIVE1MTGlua0VsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGhlbWUodGhlbWVQYXRoOiBzdHJpbmcpIHtcclxuICAgIC8vIFJlbW92ZSBleGlzdGluZyB0aGVtZSBpZiBpdCdzIHNldFxyXG4gICAgaWYgKHRoaXMudGhlbWVMaW5rRWxlbWVudCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmhlYWQsIHRoaXMudGhlbWVMaW5rRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGEgbmV3IGxpbmsgZWxlbWVudCBmb3IgdGhlIHRoZW1lXHJcbiAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHRoaXMudGhlbWVMaW5rRWxlbWVudC5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQuaHJlZiA9IHRoZW1lUGF0aDtcclxuICAgIC8vIHRoaXMudGhlbWVMaW5rRWxlbWVudC5ocmVmID0gYC4vYXNzZXRzL3Njc3MvdGhlbWVzLyR7dGhlbWVOYW1lfS5zY3NzYDsgLy8gUGF0aCB0byB5b3VyIHRoZW1lIGZpbGVzXHJcblxyXG4gICAgLy8gQXBwZW5kIHRoZSBuZXcgdGhlbWUgdG8gdGhlIGRvY3VtZW50IGhlYWRcclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuaGVhZCwgdGhpcy50aGVtZUxpbmtFbGVtZW50KTtcclxuICB9XHJcbn0iXX0=
46
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: Document, decorators: [{
47
+ type: Inject,
48
+ args: [DOCUMENT]
49
+ }] }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBK0IsTUFBTSxlQUFlLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxZQUFZO0lBTUs7SUFMcEIsUUFBUSxDQUFZO0lBQ3BCLGdCQUFnQixHQUEyQixJQUFJLENBQUM7SUFFeEQsWUFDRSxlQUFpQyxFQUNQLFFBQWtCLENBQUMsa0JBQWtCOztRQUFyQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUFxQixFQUFFLFNBQWlCO1FBQ2hELDhCQUE4QjtRQUM5QixNQUFNLFNBQVMsR0FBRyxHQUFHLGFBQWEsR0FBRyxTQUFTLE1BQU0sQ0FBQztRQUVyRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWtCO1FBQ2xELENBQUM7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBb0IsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFckUseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDckYsQ0FBQyxDQUFDO1FBRUYsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDcEQsbUNBQW1DO1FBQ3JDLENBQUMsQ0FBQztRQUVGLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxDQUFDO3dHQXhDVSxZQUFZLGtEQU1iLFFBQVE7NEdBTlAsWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcbiAgcHJpdmF0ZSB0aGVtZUxpbmtFbGVtZW50OiBIVE1MTGlua0VsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCAvLyBJbmplY3QgRE9DVU1FTlRcclxuICApIHtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGhlbWUodGhlbWVCYXNlUGF0aDogc3RyaW5nLCB0aGVtZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gQ29uc3RydWN0IHRoZSBmdWxsIENETiBwYXRoXHJcbiAgICBjb25zdCB0aGVtZVBhdGggPSBgJHt0aGVtZUJhc2VQYXRofSR7dGhlbWVOYW1lfS5jc3NgO1xyXG5cclxuICAgIC8vIFJlbW92ZSBleGlzdGluZyB0aGVtZSBpZiBpdOKAmXMgc2V0XHJcbiAgICBpZiAodGhpcy50aGVtZUxpbmtFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnRoZW1lTGlua0VsZW1lbnQpO1xyXG4gICAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQgPSBudWxsOyAvLyBSZXNldCByZWZlcmVuY2VcclxuICAgIH1cclxuXHJcbiAgICAvLyBDcmVhdGUgYSBuZXcgbGluayBlbGVtZW50IGZvciB0aGUgdGhlbWVcclxuICAgIHRoaXMudGhlbWVMaW5rRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnbGluaycpIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMudGhlbWVMaW5rRWxlbWVudCwgJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnRoZW1lTGlua0VsZW1lbnQsICdocmVmJywgdGhlbWVQYXRoKTtcclxuXHJcbiAgICAvLyBIYW5kbGUgc3VjY2Vzc2Z1bCBsb2FkXHJcbiAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhgVGhlbWUgbG9hZGVkOiAke3RoZW1lUGF0aH1gKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoZW1lTmFtZSk7IC8vIEFwcGx5IHRoZW1lIGNsYXNzIHRvIGJvZHlcclxuICAgIH07XHJcblxyXG4gICAgLy8gSGFuZGxlIGxvYWQgZmFpbHVyZVxyXG4gICAgdGhpcy50aGVtZUxpbmtFbGVtZW50Lm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIHRoZW1lOiAke3RoZW1lUGF0aH1gKTtcclxuICAgICAgLy8gT3B0aW9uYWxseSBsb2FkIGEgZmFsbGJhY2sgdGhlbWVcclxuICAgIH07XHJcblxyXG4gICAgLy8gQXBwZW5kIHRoZSBuZXcgdGhlbWUgdG8gdGhlIGRvY3VtZW50IGhlYWRcclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnRoZW1lTGlua0VsZW1lbnQpO1xyXG4gIH1cclxufSJdfQ==
@@ -1,12 +1,12 @@
1
1
  import { loadRemoteModule } from '@angular-architects/native-federation';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, NgModule, Component, Input, Inject, Pipe, HostListener, EventEmitter, Output, ViewChild, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, forwardRef, ENVIRONMENT_INITIALIZER, inject, Injector, runInInjectionContext } from '@angular/core';
3
+ import { Injectable, Inject, NgModule, Component, Input, Pipe, HostListener, EventEmitter, Output, ViewChild, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, forwardRef, ENVIRONMENT_INITIALIZER, inject, Injector, runInInjectionContext } from '@angular/core';
4
4
  import * as i1 from '@angular/common/http';
5
5
  import { HttpHeaders, HttpParams, HttpClient } from '@angular/common/http';
6
6
  import { Subject, of, BehaviorSubject } from 'rxjs';
7
7
  import * as i1$1 from 'primeng/api';
8
8
  import * as i13 from '@angular/common';
9
- import { CommonModule, DatePipe } from '@angular/common';
9
+ import { DOCUMENT, CommonModule, DatePipe } from '@angular/common';
10
10
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
11
11
  import * as i1$2 from '@ngx-translate/core';
12
12
  import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
@@ -394,25 +394,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
394
394
  }], ctorParameters: () => [] });
395
395
 
396
396
  class ThemeService {
397
+ document;
397
398
  renderer;
398
399
  themeLinkElement = null;
399
- constructor(rendererFactory) {
400
+ constructor(rendererFactory, document // Inject DOCUMENT
401
+ ) {
402
+ this.document = document;
400
403
  this.renderer = rendererFactory.createRenderer(null, null);
401
404
  }
402
- loadTheme(themePath) {
403
- // Remove existing theme if it's set
405
+ loadTheme(themeBasePath, themeName) {
406
+ // Construct the full CDN path
407
+ const themePath = `${themeBasePath}${themeName}.css`;
408
+ // Remove existing theme if it’s set
404
409
  if (this.themeLinkElement) {
405
- this.renderer.removeChild(document.head, this.themeLinkElement);
410
+ this.renderer.removeChild(this.document.head, this.themeLinkElement);
411
+ this.themeLinkElement = null; // Reset reference
406
412
  }
407
413
  // Create a new link element for the theme
408
414
  this.themeLinkElement = this.renderer.createElement('link');
409
- this.themeLinkElement.rel = 'stylesheet';
410
- this.themeLinkElement.href = themePath;
411
- // this.themeLinkElement.href = `./assets/scss/themes/${themeName}.scss`; // Path to your theme files
415
+ this.renderer.setAttribute(this.themeLinkElement, 'rel', 'stylesheet');
416
+ this.renderer.setAttribute(this.themeLinkElement, 'href', themePath);
417
+ // Handle successful load
418
+ this.themeLinkElement.onload = () => {
419
+ console.log(`Theme loaded: ${themePath}`);
420
+ this.renderer.addClass(this.document.body, themeName); // Apply theme class to body
421
+ };
422
+ // Handle load failure
423
+ this.themeLinkElement.onerror = () => {
424
+ console.error(`Failed to load theme: ${themePath}`);
425
+ // Optionally load a fallback theme
426
+ };
412
427
  // Append the new theme to the document head
413
- this.renderer.appendChild(document.head, this.themeLinkElement);
428
+ this.renderer.appendChild(this.document.head, this.themeLinkElement);
414
429
  }
415
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
430
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
416
431
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, providedIn: 'root' });
417
432
  }
418
433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeService, decorators: [{
@@ -420,7 +435,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
420
435
  args: [{
421
436
  providedIn: 'root',
422
437
  }]
423
- }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
438
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: Document, decorators: [{
439
+ type: Inject,
440
+ args: [DOCUMENT]
441
+ }] }] });
424
442
 
425
443
  function HttpLoaderFactory(http, sharedService) {
426
444
  return new TranslateHttpLoader(http, sharedService.getI8nPath() + 'assets/i18n/', '.json');