valtech-components 1.11.34 → 1.11.36

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,26 +1,31 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { ComponentStates } from '../../types';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@ionic/angular";
4
+ import * as i1 from "../../../services/download.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@ionic/angular";
6
7
  export class ButtonComponent {
7
- constructor() {
8
+ constructor(download) {
9
+ this.download = download;
8
10
  this.states = ComponentStates;
9
11
  this.onClick = new EventEmitter();
10
12
  }
11
13
  ngOnInit() { }
12
14
  clickHandler() {
15
+ if (this.props.download) {
16
+ this.download.downloadLinkFromBrowser(this.props.download);
17
+ }
13
18
  this.onClick.emit(this.props.token);
14
19
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ButtonComponent, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.DownloadService }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ButtonComponent, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
17
22
  }
18
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
19
24
  type: Component,
20
25
  args: [{ selector: 'val-button', template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
21
- }], ctorParameters: () => [], propDecorators: { props: [{
26
+ }], ctorParameters: () => [{ type: i1.DownloadService }], propDecorators: { props: [{
22
27
  type: Input
23
28
  }], onClick: [{
24
29
  type: Output
25
30
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBTzlDLE1BQU0sT0FBTyxlQUFlO0lBUzFCO1FBUkEsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQU16QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV0QixDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs4R0FmVSxlQUFlO2tHQUFmLGVBQWUsK0dDVDVCLG9rQkFnQkE7OzJGRFBhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTt3REFRdEIsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBASW5wdXQoKVxuICBwcm9wcyE6IEJ1dHRvbk1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbGlja0hhbmRsZXIoKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodGhpcy5wcm9wcy50b2tlbik7XG4gIH1cbn1cbiIsIjxpb24tYnV0dG9uXG4gIFt0eXBlXT1cInByb3BzLnR5cGVcIlxuICBbY29sb3JdPVwicHJvcHMuY29sb3JcIlxuICBbZXhwYW5kXT1cInByb3BzLmV4cGFuZFwiXG4gIFtmaWxsXT1cInByb3BzLmZpbGxcIlxuICBbc2l6ZV09XCJwcm9wcy5zaXplXCJcbiAgW2hyZWZdPVwicHJvcHMuaHJlZlwiXG4gIFt0YXJnZXRdPVwicHJvcHMudGFyZ2V0XCJcbiAgW2Rvd25sb2FkXT1cInByb3BzLmRvd25sb2FkXCJcbiAgW3NoYXBlXT1cInByb3BzLnNoYXBlXCJcbiAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbj5cbiAgPGlvbi1pY29uICpuZ0lmPVwicHJvcHMuaWNvblwiIFtzbG90XT1cInByb3BzLmljb24uc2xvdFwiIFtuYW1lXT1cInByb3BzLmljb24ubmFtZVwiPjwvaW9uLWljb24+XG4gIDxpb24tc3Bpbm5lciAqbmdJZj1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiIG5hbWU9XCJjaXJjdWxhclwiPjwvaW9uLXNwaW5uZXI+XG4gIDxpb24tdGV4dCAqbmdJZj1cInByb3BzLnN0YXRlICE9PSBzdGF0ZXMuV09SS0lOR1wiPnt7IHByb3BzLnRleHQgfX08L2lvbi10ZXh0PlxuPC9pb24tYnV0dG9uPlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQVE5QyxNQUFNLE9BQU8sZUFBZTtJQVMxQixZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVI3QyxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBTXpCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRVcsQ0FBQztJQUVqRCxRQUFRLEtBQUksQ0FBQztJQUViLFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBbEJVLGVBQWU7a0dBQWYsZUFBZSwrR0NWNUIsb2tCQWdCQTs7MkZETmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO29GQVF0QixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG5cbiAgQElucHV0KClcbiAgcHJvcHMhOiBCdXR0b25NZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZG93bmxvYWQ6IERvd25sb2FkU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2xpY2tIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLnByb3BzLmRvd25sb2FkKSB7XG4gICAgICB0aGlzLmRvd25sb2FkLmRvd25sb2FkTGlua0Zyb21Ccm93c2VyKHRoaXMucHJvcHMuZG93bmxvYWQpO1xuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzLnByb3BzLnRva2VuKTtcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW3R5cGVdPVwicHJvcHMudHlwZVwiXG4gIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gIFtleHBhbmRdPVwicHJvcHMuZXhwYW5kXCJcbiAgW2ZpbGxdPVwicHJvcHMuZmlsbFwiXG4gIFtzaXplXT1cInByb3BzLnNpemVcIlxuICBbaHJlZl09XCJwcm9wcy5ocmVmXCJcbiAgW3RhcmdldF09XCJwcm9wcy50YXJnZXRcIlxuICBbZG93bmxvYWRdPVwicHJvcHMuZG93bmxvYWRcIlxuICBbc2hhcGVdPVwicHJvcHMuc2hhcGVcIlxuICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKClcIlxuPlxuICA8aW9uLWljb24gKm5nSWY9XCJwcm9wcy5pY29uXCIgW3Nsb3RdPVwicHJvcHMuaWNvbi5zbG90XCIgW25hbWVdPVwicHJvcHMuaWNvbi5uYW1lXCI+PC9pb24taWNvbj5cbiAgPGlvbi1zcGlubmVyICpuZ0lmPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HXCIgbmFtZT1cImNpcmN1bGFyXCI+PC9pb24tc3Bpbm5lcj5cbiAgPGlvbi10ZXh0ICpuZ0lmPVwicHJvcHMuc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HXCI+e3sgcHJvcHMudGV4dCB9fTwvaW9uLXRleHQ+XG48L2lvbi1idXR0b24+XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DownloadService {
4
+ getFileNameFromUrl(url) {
5
+ try {
6
+ const pathSegments = url.split('/');
7
+ const lastSegment = pathSegments[pathSegments.length - 1];
8
+ const fileName = decodeURIComponent(lastSegment);
9
+ return fileName;
10
+ }
11
+ catch (error) {
12
+ console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));
13
+ return 'filename';
14
+ }
15
+ }
16
+ downloadLinkFromBrowser(url) {
17
+ if (url) {
18
+ const fileName = this.getFileNameFromUrl(url);
19
+ const link = document.createElement('a');
20
+ link.href = url;
21
+ link.download = `${+new Date()}-${fileName}`;
22
+ link.target = '_blank';
23
+ document.body.appendChild(link);
24
+ link.click();
25
+ document.body.removeChild(link);
26
+ }
27
+ else {
28
+ console.error('La URL no está definida');
29
+ }
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, providedIn: 'root' }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, decorators: [{
35
+ type: Injectable,
36
+ args: [{
37
+ providedIn: 'root',
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGVBQWU7SUFDMUIsa0JBQWtCLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUM7WUFDSCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDN0UsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXO1FBQ2pDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDOzhHQTFCVSxlQUFlO2tIQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERvd25sb2FkU2VydmljZSB7XG4gIGdldEZpbGVOYW1lRnJvbVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHVybC5zcGxpdCgnLycpO1xuICAgICAgY29uc3QgbGFzdFNlZ21lbnQgPSBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQobGFzdFNlZ21lbnQpO1xuICAgICAgcmV0dXJuIGZpbGVOYW1lO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhbCBvYnRlbmVyIG5vbWJyZSBkZSBhcmNoaXZvOiAnLCBKU09OLnN0cmluZ2lmeShlcnJvcikpO1xuICAgICAgcmV0dXJuICdmaWxlbmFtZSc7XG4gICAgfVxuICB9XG5cbiAgZG93bmxvYWRMaW5rRnJvbUJyb3dzZXIodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodXJsKSB7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWVGcm9tVXJsKHVybCk7XG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgbGluay5ocmVmID0gdXJsO1xuICAgICAgbGluay5kb3dubG9hZCA9IGAkeytuZXcgRGF0ZSgpfS0ke2ZpbGVOYW1lfWA7XG4gICAgICBsaW5rLnRhcmdldCA9ICdfYmxhbmsnO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0xhIFVSTCBubyBlc3TDoSBkZWZpbmlkYScpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -19,23 +19,38 @@ export class ThemeService {
19
19
  this.prefersDark = false;
20
20
  this.default = ThemeOption.AUTO;
21
21
  const current = LocalStorageService.get(THEME);
22
+ console.log('💡 ThemeConfig current::: ', current);
22
23
  this.theme = new BehaviorSubject(current || this.default);
23
- // Use matchMedia to check the user preference
24
- const prefersDark = window.matchMedia('(prefers-color-scheme: dark)');
25
- console.log('💡 ThemeConfig prefersDark::: ', prefersDark);
26
- // value of the prefers-color-scheme media query
27
- this.prefersDark = prefersDark.matches;
28
- // get the current persisted preference
29
24
  this.currentOption = this.Theme;
30
25
  console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);
31
26
  this.toggleUserPreference(this.currentOption);
32
- // Listen for changes to the prefers-color-scheme media query
33
- prefersDark.addEventListener('change', (mediaQuery) => {
27
+ const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');
28
+ this.prefersDark = prefersDarkQuery.matches;
29
+ this.handleAutoConfiguration();
30
+ prefersDarkQuery.addEventListener('change', (mediaQuery) => {
34
31
  console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);
35
32
  this.prefersDark = mediaQuery.matches;
36
- this.toggleUserPreference(this.currentOption);
33
+ this.handleAutoConfiguration();
37
34
  });
38
35
  }
36
+ handleAutoConfiguration() {
37
+ if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {
38
+ console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
39
+ this.toggleUserPreference(ThemeOption.AUTO);
40
+ }
41
+ if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {
42
+ console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
43
+ this.toggleUserPreference(ThemeOption.AUTO);
44
+ }
45
+ }
46
+ handleDarkPreference() {
47
+ this.toggleTheme(ThemeOption.DARK, true);
48
+ this.toggleTheme(ThemeOption.LIGHT, false);
49
+ }
50
+ handleLightPreference() {
51
+ this.toggleTheme(ThemeOption.LIGHT, true);
52
+ this.toggleTheme(ThemeOption.DARK, false);
53
+ }
39
54
  get Theme() {
40
55
  return this.theme.value;
41
56
  }
@@ -43,24 +58,32 @@ export class ThemeService {
43
58
  this.theme.next(theme);
44
59
  LocalStorageService.set(THEME, theme);
45
60
  }
46
- toggleChange(ev) {
47
- console.log('💡 ThemeConfig toggleChange ev::: ', ev);
48
- this.toggleTheme('dark', ev.detail.checked);
49
- }
50
- // Add or remove the class on the document body
51
61
  toggleTheme(name, shouldAdd) {
62
+ console.log('toggleTheme::: ', name, shouldAdd);
52
63
  document.body.classList.toggle(name, shouldAdd);
53
64
  }
54
65
  toggleUserPreference(option) {
55
- console.log('💡 ThemeConfig toggleUserPreference option::: ', option);
56
- this.lightToggle = option == ThemeOption.LIGHT;
57
- this.toggleTheme(ThemeOption.LIGHT, this.lightToggle);
58
- this.darkToggle = option == ThemeOption.DARK;
59
- this.toggleTheme(ThemeOption.DARK, this.darkToggle);
60
- this.autoToggle = option == ThemeOption.AUTO;
61
- this.toggleTheme(this.autoToggle ? (this.prefersDark ? ThemeOption.DARK : ThemeOption.LIGHT) : this.currentOption, this.autoToggle);
62
- this.Theme = option;
63
66
  this.currentOption = option;
67
+ this.Theme = option;
68
+ this.lightToggle = option === ThemeOption.LIGHT;
69
+ this.darkToggle = option === ThemeOption.DARK;
70
+ this.autoToggle = option === ThemeOption.AUTO;
71
+ switch (option) {
72
+ case ThemeOption.LIGHT:
73
+ this.handleLightPreference();
74
+ break;
75
+ case ThemeOption.DARK:
76
+ this.handleDarkPreference();
77
+ break;
78
+ case ThemeOption.AUTO:
79
+ if (this.prefersDark) {
80
+ this.handleDarkPreference();
81
+ }
82
+ else {
83
+ this.handleLightPreference();
84
+ }
85
+ break;
86
+ }
64
87
  }
65
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
89
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
@@ -71,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
71
94
  providedIn: 'root',
72
95
  }]
73
96
  }], ctorParameters: () => [] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbkQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4QkFBZSxDQUFBO0lBQ2YsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQVV2QjtRQVRBLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDakMsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsWUFBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFJekIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFjLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQWMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RSw4Q0FBOEM7UUFDOUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFD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Q29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBUSEVNRSB9IGZyb20gJy4uL3NoYXJlZC9jb250YW50cy9zdG9yYWdlJztcblxuZXhwb3J0IGVudW0gVGhlbWVPcHRpb24ge1xuICBMSUdIVCA9ICdsaWdodCcsXG4gIERBUksgPSAnZGFyaycsXG4gIEFVVE8gPSAnYXV0bycsXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xuICBsaWdodFRvZ2dsZSA9IGZhbHNlO1xuICBkYXJrVG9nZ2xlID0gZmFsc2U7XG4gIGF1dG9Ub2dnbGUgPSBmYWxzZTtcbiAgY3VycmVudE9wdGlvbiA9IFRoZW1lT3B0aW9uLkFVVE87XG4gIHRoZW1lT3B0aW9ucyA9IFRoZW1lT3B0aW9uO1xuICBwcmVmZXJzRGFyayA9IGZhbHNlO1xuICBkZWZhdWx0ID0gVGhlbWVPcHRpb24uQVVUTztcbiAgdGhlbWU6IEJlaGF2aW9yU3ViamVjdDxUaGVtZU9wdGlvbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PFRoZW1lT3B0aW9uPihUSEVNRSk7XG4gICAgdGhpcy50aGVtZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGhlbWVPcHRpb24+KGN1cnJlbnQgfHwgdGhpcy5kZWZhdWx0KTtcblxuICAgIC8vIFVzZSBtYXRjaE1lZGlhIHRvIGNoZWNrIHRoZSB1c2VyIHByZWZlcmVuY2VcbiAgICBjb25zdCBwcmVmZXJzRGFyayA9IHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJyk7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgcHJlZmVyc0Rhcms6OjogJywgcHJlZmVyc0RhcmspO1xuICAgIC8vIHZhbHVlIG9mIHRoZSBwcmVmZXJzLWNvbG9yLXNjaGVtZSBtZWRpYSBxdWVyeVxuICAgIHRoaXMucHJlZmVyc0RhcmsgPSBwcmVmZXJzRGFyay5tYXRjaGVzO1xuICAgIC8vIGdldCB0aGUgY3VycmVudCBwZXJzaXN0ZWQgcHJlZmVyZW5jZVxuICAgIHRoaXMuY3VycmVudE9wdGlvbiA9IHRoaXMuVGhlbWU7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgdGhpcy5jdXJyZW50T3B0aW9uOjo6ICcsIHRoaXMuY3VycmVudE9wdGlvbik7XG4gICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZSh0aGlzLmN1cnJlbnRPcHRpb24pO1xuICAgIC8vIExpc3RlbiBmb3IgY2hhbmdlcyB0byB0aGUgcHJlZmVycy1jb2xvci1zY2hlbWUgbWVkaWEgcXVlcnlcbiAgICBwcmVmZXJzRGFyay5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAobWVkaWFRdWVyeSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgYWRkRXZlbnRMaXN0ZW5lciBjaGFuZ2U6OjogJywgbWVkaWFRdWVyeSk7XG4gICAgICB0aGlzLnByZWZlcnNEYXJrID0gbWVkaWFRdWVyeS5tYXRjaGVzO1xuICAgICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZSh0aGlzLmN1cnJlbnRPcHRpb24pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IFRoZW1lKCk6IFRoZW1lT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBUaGVtZSh0aGVtZTogVGhlbWVPcHRpb24pIHtcbiAgICB0aGlzLnRoZW1lLm5leHQodGhlbWUpO1xuICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0PFRoZW1lT3B0aW9uPihUSEVNRSwgdGhlbWUpO1xuICB9XG5cbiAgdG9nZ2xlQ2hhbmdlKGV2KSB7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgdG9nZ2xlQ2hhbmdlIGV2Ojo6ICcsIGV2KTtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKCdkYXJrJywgZXYuZGV0YWlsLmNoZWNrZWQpO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgY2xhc3Mgb24gdGhlIGRvY3VtZW50IGJvZHlcbiAgdG9nZ2xlVGhlbWUobmFtZTogc3RyaW5nLCBzaG91bGRBZGQ6IGJvb2xlYW4pIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUobmFtZSwgc2hvdWxkQWRkKTtcbiAgfVxuXG4gIHRvZ2dsZVVzZXJQcmVmZXJlbmNlKG9wdGlvbjogVGhlbWVPcHRpb24pIHtcbiAgICBjb25zb2xlLmxvZygn8J+SoSBUaGVtZUNvbmZpZyB0b2dnbGVVc2VyUHJlZmVyZW5jZSBvcHRpb246OjogJywgb3B0aW9uKTtcblxuICAgIHRoaXMubGlnaHRUb2dnbGUgPSBvcHRpb24gPT0gVGhlbWVPcHRpb24uTElHSFQ7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5MSUdIVCwgdGhpcy5saWdodFRvZ2dsZSk7XG4gICAgdGhpcy5kYXJrVG9nZ2xlID0gb3B0aW9uID09IFRoZW1lT3B0aW9uLkRBUks7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5EQVJLLCB0aGlzLmRhcmtUb2dnbGUpO1xuICAgIHRoaXMuYXV0b1RvZ2dsZSA9IG9wdGlvbiA9PSBUaGVtZU9wdGlvbi5BVVRPO1xuXG4gICAgdGhpcy50b2dnbGVUaGVtZShcbiAgICAgIHRoaXMuYXV0b1RvZ2dsZSA/ICh0aGlzLnByZWZlcnNEYXJrID8gVGhlbWVPcHRpb24uREFSSyA6IFRoZW1lT3B0aW9uLkxJR0hUKSA6IHRoaXMuY3VycmVudE9wdGlvbixcbiAgICAgIHRoaXMuYXV0b1RvZ2dsZSxcbiAgICApO1xuXG4gICAgdGhpcy5UaGVtZSA9IG9wdGlvbjtcbiAgICB0aGlzLmN1cnJlbnRPcHRpb24gPSBvcHRpb247XG4gIH1cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbkQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4QkFBZSxDQUFBO0lBQ2YsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQVV2QjtRQVRBLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDakMsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsWUFBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFJekIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFjLEtBQUssQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBYyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxh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LFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztRQUU5QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxXQUFXLENBQUMsS0FBSztnQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxJQUFJO2dCQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDLElBQUk7Z0JBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzs4R0F0RlUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBUSEVNRSB9IGZyb20gJy4uL3NoYXJlZC9jb250YW50cy9zdG9yYWdlJztcblxuZXhwb3J0IGVudW0gVGhlbWVPcHRpb24ge1xuICBMSUdIVCA9ICdsaWdodCcsXG4gIERBUksgPSAnZGFyaycsXG4gIEFVVE8gPSAnYXV0bycsXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xuICBsaWdodFRvZ2dsZSA9IGZhbHNlO1xuICBkYXJrVG9nZ2xlID0gZmFsc2U7XG4gIGF1dG9Ub2dnbGUgPSBmYWxzZTtcbiAgY3VycmVudE9wdGlvbiA9IFRoZW1lT3B0aW9uLkFVVE87XG4gIHRoZW1lT3B0aW9ucyA9IFRoZW1lT3B0aW9uO1xuICBwcmVmZXJzRGFyayA9IGZhbHNlO1xuICBkZWZhdWx0ID0gVGhlbWVPcHRpb24uQVVUTztcbiAgdGhlbWU6IEJlaGF2aW9yU3ViamVjdDxUaGVtZU9wdGlvbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PFRoZW1lT3B0aW9uPihUSEVNRSk7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgY3VycmVudDo6OiAnLCBjdXJyZW50KTtcbiAgICB0aGlzLnRoZW1lID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUaGVtZU9wdGlvbj4oY3VycmVudCB8fCB0aGlzLmRlZmF1bHQpO1xuICAgIHRoaXMuY3VycmVudE9wdGlvbiA9IHRoaXMuVGhlbWU7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgdGhpcy5jdXJyZW50T3B0aW9uOjo6ICcsIHRoaXMuY3VycmVudE9wdGlvbik7XG4gICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZSh0aGlzLmN1cnJlbnRPcHRpb24pO1xuXG4gICAgY29uc3QgcHJlZmVyc0RhcmtRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJyk7XG4gICAgdGhpcy5wcmVmZXJzRGFyayA9IHByZWZlcnNEYXJrUXVlcnkubWF0Y2hlcztcbiAgICB0aGlzLmhhbmRsZUF1dG9Db25maWd1cmF0aW9uKCk7XG5cbiAgICBwcmVmZXJzRGFya1F1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChtZWRpYVF1ZXJ5KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygn8J+SoSBUaGVtZUNvbmZpZyBhZGRFdmVudExpc3RlbmVyIGNoYW5nZTo6OiAnLCBtZWRpYVF1ZXJ5KTtcbiAgICAgIHRoaXMucHJlZmVyc0RhcmsgPSBtZWRpYVF1ZXJ5Lm1hdGNoZXM7XG4gICAgICB0aGlzLmhhbmRsZUF1dG9Db25maWd1cmF0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUF1dG9Db25maWd1cmF0aW9uKCkge1xuICAgIGlmICh0aGlzLnByZWZlcnNEYXJrICYmIHRoaXMuY3VycmVudE9wdGlvbiA9PT0gVGhlbWVPcHRpb24uQVVUTykge1xuICAgICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgcHJlZmVyc0Rhcms6OjogJywgdGhpcy5wcmVmZXJzRGFyayk7XG4gICAgICB0aGlzLnRvZ2dsZVVzZXJQcmVmZXJlbmNlKFRoZW1lT3B0aW9uLkFVVE8pO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJlZmVyc0RhcmsgJiYgdGhpcy5jdXJyZW50T3B0aW9uID09PSBUaGVtZU9wdGlvbi5BVVRPKSB7XG4gICAgICBjb25zb2xlLmxvZygn8J+SoSBUaGVtZUNvbmZpZyBwcmVmZXJzRGFyazo6OiAnLCB0aGlzLnByZWZlcnNEYXJrKTtcbiAgICAgIHRoaXMudG9nZ2xlVXNlclByZWZlcmVuY2UoVGhlbWVPcHRpb24uQVVUTyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXJrUHJlZmVyZW5jZSgpIHtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkRBUkssIHRydWUpO1xuICAgIHRoaXMudG9nZ2xlVGhlbWUoVGhlbWVPcHRpb24uTElHSFQsIGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTGlnaHRQcmVmZXJlbmNlKCkge1xuICAgIHRoaXMudG9nZ2xlVGhlbWUoVGhlbWVPcHRpb24uTElHSFQsIHRydWUpO1xuICAgIHRoaXMudG9nZ2xlVGhlbWUoVGhlbWVPcHRpb24uREFSSywgZmFsc2UpO1xuICB9XG5cbiAgZ2V0IFRoZW1lKCk6IFRoZW1lT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBUaGVtZSh0aGVtZTogVGhlbWVPcHRpb24pIHtcbiAgICB0aGlzLnRoZW1lLm5leHQodGhlbWUpO1xuICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0PFRoZW1lT3B0aW9uPihUSEVNRSwgdGhlbWUpO1xuICB9XG5cbiAgdG9nZ2xlVGhlbWUobmFtZTogc3RyaW5nLCBzaG91bGRBZGQ6IGJvb2xlYW4pIHtcbiAgICBjb25zb2xlLmxvZygndG9nZ2xlVGhlbWU6OjogJywgbmFtZSwgc2hvdWxkQWRkKTtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUobmFtZSwgc2hvdWxkQWRkKTtcbiAgfVxuXG4gIHRvZ2dsZVVzZXJQcmVmZXJlbmNlKG9wdGlvbjogVGhlbWVPcHRpb24pIHtcbiAgICB0aGlzLmN1cnJlbnRPcHRpb24gPSBvcHRpb247XG4gICAgdGhpcy5UaGVtZSA9IG9wdGlvbjtcbiAgICB0aGlzLmxpZ2h0VG9nZ2xlID0gb3B0aW9uID09PSBUaGVtZU9wdGlvbi5MSUdIVDtcbiAgICB0aGlzLmRhcmtUb2dnbGUgPSBvcHRpb24gPT09IFRoZW1lT3B0aW9uLkRBUks7XG4gICAgdGhpcy5hdXRvVG9nZ2xlID0gb3B0aW9uID09PSBUaGVtZU9wdGlvbi5BVVRPO1xuXG4gICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgIGNhc2UgVGhlbWVPcHRpb24uTElHSFQ6XG4gICAgICAgIHRoaXMuaGFuZGxlTGlnaHRQcmVmZXJlbmNlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUaGVtZU9wdGlvbi5EQVJLOlxuICAgICAgICB0aGlzLmhhbmRsZURhcmtQcmVmZXJlbmNlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUaGVtZU9wdGlvbi5BVVRPOlxuICAgICAgICBpZiAodGhpcy5wcmVmZXJzRGFyaykge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRGFya1ByZWZlcmVuY2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUxpZ2h0UHJlZmVyZW5jZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -12,8 +12,6 @@ import { ContentLoaderComponent } from './components/molecules/content-loader/co
12
12
  import { LinkComponent } from './components/molecules/link/link.component';
13
13
  import { SearchbarComponent } from './components/molecules/searchbar/searchbar.component';
14
14
  import { ToolbarComponent } from './components/organisms/toolbar/toolbar.component';
15
- import { LangService } from './services/lang-provider/lang-provider.service';
16
- import { ThemeService } from './services/theme.service';
17
15
  import { BoxComponent } from './components/atoms/box/box.component';
18
16
  import { IconComponent } from './components/atoms/icon/icon.component';
19
17
  import { AlertBoxComponent } from './components/molecules/alert-box/alert-box.component';
@@ -21,22 +19,12 @@ import { ButtonGroupComponent } from './components/molecules/button-group/button
21
19
  import { TitleBlockComponent } from './components/molecules/title-block/title-block.component';
22
20
  import { BannerComponent } from './components/organisms/banner/banner.component';
23
21
  import { NotesBoxComponent } from './components/molecules/notes-box/notes-box.component';
22
+ import { DownloadService } from './services/download.service';
23
+ import { LangService } from './services/lang-provider/lang-provider.service';
24
+ import { ThemeService } from './services/theme.service';
24
25
  import * as i0 from "@angular/core";
25
26
  export const ValtechConfigService = new InjectionToken('ValtechConfig');
26
27
  export class ValtechComponentsModule {
27
- static forRoot(config) {
28
- return {
29
- ngModule: ValtechComponentsModule,
30
- providers: [
31
- LangService,
32
- ThemeService,
33
- {
34
- provide: ValtechConfigService,
35
- useValue: config,
36
- },
37
- ],
38
- };
39
- }
40
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
29
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, declarations: [ButtonComponent,
42
30
  BoxComponent,
@@ -71,7 +59,11 @@ export class ValtechComponentsModule {
71
59
  AlertBoxComponent,
72
60
  BannerComponent,
73
61
  NotesBoxComponent] }); }
74
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, imports: [CommonModule, HttpClientModule, IonicModule] }); }
62
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, providers: [
63
+ DownloadService,
64
+ LangService,
65
+ ThemeService,
66
+ ], imports: [CommonModule, HttpClientModule, IonicModule] }); }
75
67
  }
76
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, decorators: [{
77
69
  type: NgModule,
@@ -115,6 +107,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
115
107
  BannerComponent,
116
108
  NotesBoxComponent,
117
109
  ],
110
+ providers: [
111
+ DownloadService,
112
+ LangService,
113
+ ThemeService,
114
+ ],
118
115
  }]
119
116
  }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3ZhbHRlY2gtY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQU16RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7QUEyQ3ZGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFxQjtRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxTQUFTLEVBQUU7Z0JBQ1QsV0FBVztnQkFDWCxZQUFZO2dCQUNaO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBYlUsdUJBQXVCOytHQUF2Qix1QkFBdUIsaUJBdkNoQyxlQUFlO1lBQ2YsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYztZQUNkLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsaUJBQWlCLGFBRVQsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsYUFFbkQsZUFBZTtZQUNmLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGlCQUFpQjsrR0FHUix1QkFBdUIsWUFyQnhCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxXQUFXOzsyRkFxQjFDLHVCQUF1QjtrQkF6Q25DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO29CQUN0RCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0b21zL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvY29udGVudC1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2NvbnRlbnQnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvbGFuZy1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG5pbXBvcnQgeyBCb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXRvbXMvYm94L2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdG9tcy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vbGVjdWxlcy9hbGVydC1ib3gvYWxlcnQtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2xlY3VsZXMvdGl0bGUtYmxvY2svdGl0bGUtYmxvY2suY29tcG9uZW50JztcbmltcG9ydCB7IEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmdhbmlzbXMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm90ZXNCb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoQ29uZmlnIHtcbiAgY29udGVudDogUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBjb25zdCBWYWx0ZWNoQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxWYWx0ZWNoQ29uZmlnPignVmFsdGVjaENvbmZpZycpO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQm94Q29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgRGl2aWRlckNvbXBvbmVudCxcbiAgICBDb250ZW50TG9hZGVyQ29tcG9uZW50LFxuICAgIExpbmtDb21wb25lbnQsXG4gICAgU2VhcmNoYmFyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Hcm91cENvbXBvbmVudCxcbiAgICBUaXRsZUJsb2NrQ29tcG9uZW50LFxuICAgIEFsZXJ0Qm94Q29tcG9uZW50LFxuICAgIEJhbm5lckNvbXBvbmVudCxcbiAgICBOb3Rlc0JveENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSwgSW9uaWNNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEJveENvbXBvbmVudCxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIERpdmlkZXJDb21wb25lbnQsXG4gICAgQ29udGVudExvYWRlckNvbXBvbmVudCxcbiAgICBMaW5rQ29tcG9uZW50LFxuICAgIFNlYXJjaGJhckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQnV0dG9uR3JvdXBDb21wb25lbnQsXG4gICAgVGl0bGVCbG9ja0NvbXBvbmVudCxcbiAgICBBbGVydEJveENvbXBvbmVudCxcbiAgICBCYW5uZXJDb21wb25lbnQsXG4gICAgTm90ZXNCb3hDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFZhbHRlY2hDb21wb25lbnRzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBWYWx0ZWNoQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWYWx0ZWNoQ29tcG9uZW50c01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVmFsdGVjaENvbXBvbmVudHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTGFuZ1NlcnZpY2UsXG4gICAgICAgIFRoZW1lU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFZhbHRlY2hDb25maWdTZXJ2aWNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3ZhbHRlY2gtY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUVwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNeEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQyxDQUFDO0FBZ0R2RixNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixpQkE1Q2hDLGVBQWU7WUFDZixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixpQkFBaUIsYUFFVCxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxhQUVuRCxlQUFlO1lBQ2YsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYztZQUNkLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsaUJBQWlCOytHQVFSLHVCQUF1QixhQU52QjtZQUNULGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtTQUNiLFlBeEJTLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxXQUFXOzsyRkEwQjFDLHVCQUF1QjtrQkE5Q25DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO29CQUN0RCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdG9tcy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtbG9hZGVyL2NvbnRlbnQtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmdhbmlzbXMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJy4vc2VydmljZXMvbGFuZy1wcm92aWRlci9jb250ZW50JztcbmltcG9ydCB7IEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdG9tcy9ib3gvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnRCb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9sZWN1bGVzL2FsZXJ0LWJveC9hbGVydC1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vbGVjdWxlcy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vbGVjdWxlcy90aXRsZS1ibG9jay90aXRsZS1ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29yZ2FuaXNtcy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3Rlc0JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2xlY3VsZXMvbm90ZXMtYm94L25vdGVzLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hDb25maWcge1xuICBjb250ZW50OiBQcm92aWRlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFZhbHRlY2hDb25maWdTZXJ2aWNlID0gbmV3IEluamVjdGlvblRva2VuPFZhbHRlY2hDb25maWc+KCdWYWx0ZWNoQ29uZmlnJyk7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBCb3hDb21wb25lbnQsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIENvbnRlbnRMb2FkZXJDb21wb25lbnQsXG4gICAgTGlua0NvbXBvbmVudCxcbiAgICBTZWFyY2hiYXJDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIFRpdGxlQmxvY2tDb21wb25lbnQsXG4gICAgQWxlcnRCb3hDb21wb25lbnQsXG4gICAgQmFubmVyQ29tcG9uZW50LFxuICAgIE5vdGVzQm94Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlLCBJb25pY01vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQm94Q29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgRGl2aWRlckNvbXBvbmVudCxcbiAgICBDb250ZW50TG9hZGVyQ29tcG9uZW50LFxuICAgIExpbmtDb21wb25lbnQsXG4gICAgU2VhcmNoYmFyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Hcm91cENvbXBvbmVudCxcbiAgICBUaXRsZUJsb2NrQ29tcG9uZW50LFxuICAgIEFsZXJ0Qm94Q29tcG9uZW50LFxuICAgIEJhbm5lckNvbXBvbmVudCxcbiAgICBOb3Rlc0JveENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRG93bmxvYWRTZXJ2aWNlLFxuICAgIExhbmdTZXJ2aWNlLFxuICAgIFRoZW1lU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmFsdGVjaENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
@@ -24,6 +24,7 @@ export * from './lib/services/lang-provider/lang-provider.service';
24
24
  export * from './lib/services/lang-provider/types';
25
25
  export * from './lib/services/local-storage.service';
26
26
  export * from './lib/services/theme.service';
27
+ export * from './lib/services/download.service';
27
28
  export * from './lib/components/types';
28
29
  export * from './lib/valtech-components.module';
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUV6RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHZhbHRlY2gtY29tcG9uZW50c1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9pY29uL2ljb24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvY29udGVudC1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmsvbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvdGl0bGUtYmxvY2svdGl0bGUtYmxvY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2FsZXJ0LWJveC9hbGVydC1ib3guY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvbGFuZy1wcm92aWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbHRlY2gtY29tcG9uZW50cy5tb2R1bGUnO1xuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUV6RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmFsdGVjaC1jb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9ib3gvYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWxvYWRlci9jb250ZW50LWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGluay9saW5rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aXRsZS1ibG9jay90aXRsZS1ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbm90ZXMtYm94L25vdGVzLWJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYWxlcnQtYm94L2FsZXJ0LWJveC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWx0ZWNoLWNvbXBvbmVudHMubW9kdWxlJztcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, Injectable, InjectionToken, NgModule, Inject } from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Input, Output, InjectionToken, NgModule, Inject } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@ionic/angular';
@@ -12,22 +12,64 @@ const DISABLED = 'DISABLED';
12
12
  const WORKING = 'WORKING';
13
13
  const ComponentStates = { ENABLED, DISABLED, WORKING };
14
14
 
15
+ class DownloadService {
16
+ getFileNameFromUrl(url) {
17
+ try {
18
+ const pathSegments = url.split('/');
19
+ const lastSegment = pathSegments[pathSegments.length - 1];
20
+ const fileName = decodeURIComponent(lastSegment);
21
+ return fileName;
22
+ }
23
+ catch (error) {
24
+ console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));
25
+ return 'filename';
26
+ }
27
+ }
28
+ downloadLinkFromBrowser(url) {
29
+ if (url) {
30
+ const fileName = this.getFileNameFromUrl(url);
31
+ const link = document.createElement('a');
32
+ link.href = url;
33
+ link.download = `${+new Date()}-${fileName}`;
34
+ link.target = '_blank';
35
+ document.body.appendChild(link);
36
+ link.click();
37
+ document.body.removeChild(link);
38
+ }
39
+ else {
40
+ console.error('La URL no está definida');
41
+ }
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, providedIn: 'root' }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root',
50
+ }]
51
+ }] });
52
+
15
53
  class ButtonComponent {
16
- constructor() {
54
+ constructor(download) {
55
+ this.download = download;
17
56
  this.states = ComponentStates;
18
57
  this.onClick = new EventEmitter();
19
58
  }
20
59
  ngOnInit() { }
21
60
  clickHandler() {
61
+ if (this.props.download) {
62
+ this.download.downloadLinkFromBrowser(this.props.download);
63
+ }
22
64
  this.onClick.emit(this.props.token);
23
65
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, deps: [{ token: DownloadService }], target: i0.ɵɵFactoryTarget.Component }); }
25
67
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ButtonComponent, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1$1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
26
68
  }
27
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
28
70
  type: Component,
29
71
  args: [{ selector: 'val-button', template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
30
- }], ctorParameters: () => [], propDecorators: { props: [{
72
+ }], ctorParameters: () => [{ type: DownloadService }], propDecorators: { props: [{
31
73
  type: Input
32
74
  }], onClick: [{
33
75
  type: Output
@@ -683,23 +725,38 @@ class ThemeService {
683
725
  this.prefersDark = false;
684
726
  this.default = ThemeOption.AUTO;
685
727
  const current = LocalStorageService.get(THEME);
728
+ console.log('💡 ThemeConfig current::: ', current);
686
729
  this.theme = new BehaviorSubject(current || this.default);
687
- // Use matchMedia to check the user preference
688
- const prefersDark = window.matchMedia('(prefers-color-scheme: dark)');
689
- console.log('💡 ThemeConfig prefersDark::: ', prefersDark);
690
- // value of the prefers-color-scheme media query
691
- this.prefersDark = prefersDark.matches;
692
- // get the current persisted preference
693
730
  this.currentOption = this.Theme;
694
731
  console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);
695
732
  this.toggleUserPreference(this.currentOption);
696
- // Listen for changes to the prefers-color-scheme media query
697
- prefersDark.addEventListener('change', (mediaQuery) => {
733
+ const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');
734
+ this.prefersDark = prefersDarkQuery.matches;
735
+ this.handleAutoConfiguration();
736
+ prefersDarkQuery.addEventListener('change', (mediaQuery) => {
698
737
  console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);
699
738
  this.prefersDark = mediaQuery.matches;
700
- this.toggleUserPreference(this.currentOption);
739
+ this.handleAutoConfiguration();
701
740
  });
702
741
  }
742
+ handleAutoConfiguration() {
743
+ if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {
744
+ console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
745
+ this.toggleUserPreference(ThemeOption.AUTO);
746
+ }
747
+ if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {
748
+ console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
749
+ this.toggleUserPreference(ThemeOption.AUTO);
750
+ }
751
+ }
752
+ handleDarkPreference() {
753
+ this.toggleTheme(ThemeOption.DARK, true);
754
+ this.toggleTheme(ThemeOption.LIGHT, false);
755
+ }
756
+ handleLightPreference() {
757
+ this.toggleTheme(ThemeOption.LIGHT, true);
758
+ this.toggleTheme(ThemeOption.DARK, false);
759
+ }
703
760
  get Theme() {
704
761
  return this.theme.value;
705
762
  }
@@ -707,24 +764,32 @@ class ThemeService {
707
764
  this.theme.next(theme);
708
765
  LocalStorageService.set(THEME, theme);
709
766
  }
710
- toggleChange(ev) {
711
- console.log('💡 ThemeConfig toggleChange ev::: ', ev);
712
- this.toggleTheme('dark', ev.detail.checked);
713
- }
714
- // Add or remove the class on the document body
715
767
  toggleTheme(name, shouldAdd) {
768
+ console.log('toggleTheme::: ', name, shouldAdd);
716
769
  document.body.classList.toggle(name, shouldAdd);
717
770
  }
718
771
  toggleUserPreference(option) {
719
- console.log('💡 ThemeConfig toggleUserPreference option::: ', option);
720
- this.lightToggle = option == ThemeOption.LIGHT;
721
- this.toggleTheme(ThemeOption.LIGHT, this.lightToggle);
722
- this.darkToggle = option == ThemeOption.DARK;
723
- this.toggleTheme(ThemeOption.DARK, this.darkToggle);
724
- this.autoToggle = option == ThemeOption.AUTO;
725
- this.toggleTheme(this.autoToggle ? (this.prefersDark ? ThemeOption.DARK : ThemeOption.LIGHT) : this.currentOption, this.autoToggle);
726
- this.Theme = option;
727
772
  this.currentOption = option;
773
+ this.Theme = option;
774
+ this.lightToggle = option === ThemeOption.LIGHT;
775
+ this.darkToggle = option === ThemeOption.DARK;
776
+ this.autoToggle = option === ThemeOption.AUTO;
777
+ switch (option) {
778
+ case ThemeOption.LIGHT:
779
+ this.handleLightPreference();
780
+ break;
781
+ case ThemeOption.DARK:
782
+ this.handleDarkPreference();
783
+ break;
784
+ case ThemeOption.AUTO:
785
+ if (this.prefersDark) {
786
+ this.handleDarkPreference();
787
+ }
788
+ else {
789
+ this.handleLightPreference();
790
+ }
791
+ break;
792
+ }
728
793
  }
729
794
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
730
795
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
@@ -738,19 +803,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
738
803
 
739
804
  const ValtechConfigService = new InjectionToken('ValtechConfig');
740
805
  class ValtechComponentsModule {
741
- static forRoot(config) {
742
- return {
743
- ngModule: ValtechComponentsModule,
744
- providers: [
745
- LangService,
746
- ThemeService,
747
- {
748
- provide: ValtechConfigService,
749
- useValue: config,
750
- },
751
- ],
752
- };
753
- }
754
806
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
755
807
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, declarations: [ButtonComponent,
756
808
  BoxComponent,
@@ -785,7 +837,11 @@ class ValtechComponentsModule {
785
837
  AlertBoxComponent,
786
838
  BannerComponent,
787
839
  NotesBoxComponent] }); }
788
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, imports: [CommonModule, HttpClientModule, IonicModule] }); }
840
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, providers: [
841
+ DownloadService,
842
+ LangService,
843
+ ThemeService,
844
+ ], imports: [CommonModule, HttpClientModule, IonicModule] }); }
789
845
  }
790
846
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, decorators: [{
791
847
  type: NgModule,
@@ -829,6 +885,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
829
885
  BannerComponent,
830
886
  NotesBoxComponent,
831
887
  ],
888
+ providers: [
889
+ DownloadService,
890
+ LangService,
891
+ ThemeService,
892
+ ],
832
893
  }]
833
894
  }] });
834
895
 
@@ -872,5 +933,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
872
933
  * Generated bundle index. Do not edit.
873
934
  */
874
935
 
875
- export { AlertBoxComponent, AvatarComponent, BannerComponent, BaseDefault, BoxComponent, ButtonComponent, ButtonGroupComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, ComponentStates, ContentLoaderComponent, DisplayComponent, DividerComponent, Icon, IconComponent, LangOption, LangService, LinkComponent, LocalStorageService, NotesBoxComponent, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, SearchbarComponent, SecondarySolidBlockButton, SecondarySolidBlockHrefButton, SecondarySolidBlockIconButton, SecondarySolidBlockIconHrefButton, SecondarySolidDefaultRoundButton, SecondarySolidDefaultRoundHrefButton, SecondarySolidDefaultRoundIconButton, SecondarySolidDefaultRoundIconHrefButton, SecondarySolidFullButton, SecondarySolidFullHrefButton, SecondarySolidFullIconButton, SecondarySolidFullIconHrefButton, SecondarySolidLargeRoundButton, SecondarySolidLargeRoundHrefButton, SecondarySolidLargeRoundIconButton, SecondarySolidLargeRoundIconHrefButton, SecondarySolidSmallRoundButton, SecondarySolidSmallRoundHrefButton, SecondarySolidSmallRoundIconButton, SecondarySolidSmallRoundIconHrefButton, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, TextComponent, TextContent, ThemeOption, ThemeService, TitleBlockComponent, TitleComponent, ToolbarComponent, ValtechComponentsModule, ValtechConfigService };
936
+ export { AlertBoxComponent, AvatarComponent, BannerComponent, BaseDefault, BoxComponent, ButtonComponent, ButtonGroupComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, ComponentStates, ContentLoaderComponent, DisplayComponent, DividerComponent, DownloadService, Icon, IconComponent, LangOption, LangService, LinkComponent, LocalStorageService, NotesBoxComponent, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, SearchbarComponent, SecondarySolidBlockButton, SecondarySolidBlockHrefButton, SecondarySolidBlockIconButton, SecondarySolidBlockIconHrefButton, SecondarySolidDefaultRoundButton, SecondarySolidDefaultRoundHrefButton, SecondarySolidDefaultRoundIconButton, SecondarySolidDefaultRoundIconHrefButton, SecondarySolidFullButton, SecondarySolidFullHrefButton, SecondarySolidFullIconButton, SecondarySolidFullIconHrefButton, SecondarySolidLargeRoundButton, SecondarySolidLargeRoundHrefButton, SecondarySolidLargeRoundIconButton, SecondarySolidLargeRoundIconHrefButton, SecondarySolidSmallRoundButton, SecondarySolidSmallRoundHrefButton, SecondarySolidSmallRoundIconButton, SecondarySolidSmallRoundIconHrefButton, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, TextComponent, TextContent, ThemeOption, ThemeService, TitleBlockComponent, TitleComponent, ToolbarComponent, ValtechComponentsModule, ValtechConfigService };
876
937
  //# sourceMappingURL=valtech-components.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"valtech-components.mjs","sources":["../../../projects/valtech-components/src/lib/components/types.ts","../../../projects/valtech-components/src/lib/components/atoms/button/button.component.ts","../../../projects/valtech-components/src/lib/components/atoms/button/button.component.html","../../../projects/valtech-components/src/lib/components/atoms/button/factory.ts","../../../projects/valtech-components/src/lib/components/atoms/text/text.component.ts","../../../projects/valtech-components/src/lib/components/atoms/text/text.component.html","../../../projects/valtech-components/src/lib/components/atoms/title/title.component.ts","../../../projects/valtech-components/src/lib/components/atoms/title/title.component.html","../../../projects/valtech-components/src/lib/components/atoms/display/display.component.ts","../../../projects/valtech-components/src/lib/components/atoms/display/display.component.html","../../../projects/valtech-components/src/lib/components/atoms/avatar/avatar.component.ts","../../../projects/valtech-components/src/lib/components/atoms/avatar/avatar.component.html","../../../projects/valtech-components/src/lib/components/atoms/divider/divider.component.ts","../../../projects/valtech-components/src/lib/components/atoms/divider/divider.component.html","../../../projects/valtech-components/src/lib/components/atoms/box/box.component.ts","../../../projects/valtech-components/src/lib/components/atoms/box/box.component.html","../../../projects/valtech-components/src/lib/components/atoms/icon/icon.component.ts","../../../projects/valtech-components/src/lib/components/atoms/icon/icon.component.html","../../../projects/valtech-components/src/lib/components/molecules/content-loader/content-loader.component.ts","../../../projects/valtech-components/src/lib/components/molecules/content-loader/content-loader.component.html","../../../projects/valtech-components/src/lib/components/molecules/link/link.component.ts","../../../projects/valtech-components/src/lib/components/molecules/link/link.component.html","../../../projects/valtech-components/src/lib/components/molecules/searchbar/searchbar.component.ts","../../../projects/valtech-components/src/lib/components/molecules/searchbar/searchbar.component.html","../../../projects/valtech-components/src/lib/components/molecules/button-group/button-group.component.ts","../../../projects/valtech-components/src/lib/components/molecules/button-group/button-group.component.html","../../../projects/valtech-components/src/lib/components/molecules/title-block/title-block.component.ts","../../../projects/valtech-components/src/lib/components/molecules/title-block/title-block.component.html","../../../projects/valtech-components/src/lib/components/molecules/notes-box/notes-box.component.ts","../../../projects/valtech-components/src/lib/components/molecules/notes-box/notes-box.component.html","../../../projects/valtech-components/src/lib/components/molecules/alert-box/alert-box.component.ts","../../../projects/valtech-components/src/lib/components/molecules/alert-box/alert-box.component.html","../../../projects/valtech-components/src/lib/components/organisms/toolbar/toolbar.component.ts","../../../projects/valtech-components/src/lib/components/organisms/toolbar/toolbar.component.html","../../../projects/valtech-components/src/lib/components/organisms/banner/banner.component.ts","../../../projects/valtech-components/src/lib/components/organisms/banner/banner.component.html","../../../projects/valtech-components/src/lib/services/lang-provider/types.ts","../../../projects/valtech-components/src/lib/services/local-storage.service.ts","../../../projects/valtech-components/src/lib/shared/contants/storage.ts","../../../projects/valtech-components/src/lib/services/theme.service.ts","../../../projects/valtech-components/src/lib/valtech-components.module.ts","../../../projects/valtech-components/src/lib/services/lang-provider/lang-provider.service.ts","../../../projects/valtech-components/src/public-api.ts","../../../projects/valtech-components/src/valtech-components.ts"],"sourcesContent":["export type ComponentState = 'ENABLED' | 'DISABLED' | 'WORKING';\nconst ENABLED: ComponentState = 'ENABLED';\nconst DISABLED: ComponentState = 'DISABLED';\nconst WORKING: ComponentState = 'WORKING';\nexport const ComponentStates = { ENABLED, DISABLED, WORKING };\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ButtonMetadata } from './types';\nimport { ComponentStates } from '../../types';\n\n@Component({\n selector: 'val-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n states = ComponentStates;\n\n @Input()\n props!: ButtonMetadata;\n\n @Output()\n onClick = new EventEmitter<string>();\n\n constructor() {}\n\n ngOnInit() {}\n\n clickHandler() {\n this.onClick.emit(this.props.token);\n }\n}\n","<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n","import { ButtonMetadata, IconMetada } from './types';\n\nexport const Icon = (name: string, slot: 'start' | 'end'): IconMetada => {\n return {\n name,\n slot,\n };\n};\n\n/* name convention: COLOR FILL SIZE [optionals: SHAPE EXPAND ICON HREF/DOWNLOAD] TYPE */\n\nexport const BaseDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return {\n color: 'primary',\n state: 'ENABLED',\n text,\n size: 'default',\n type,\n };\n};\n\nexport const ClearDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'clear' };\n};\n\nexport const ClearDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), shape: 'round' };\n};\n\nexport const SolidDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'solid' };\n};\n\nexport const SolidDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), shape: 'round' };\n};\n\nexport const OutlineDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'outline' };\n};\n\nexport const OutlineDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), shape: 'round' };\n};\n\nexport const ClearDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), expand: 'full' };\n};\n\nexport const ClearDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefaultRound(text, type), expand: 'full' };\n};\n\nexport const ClearDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), expand: 'block' };\n};\n\nexport const ClearDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefaultRound(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), expand: 'full' };\n};\n\nexport const SolidDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefaultRound(text, type), expand: 'full' };\n};\n\nexport const SolidDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefaultRound(text, type), expand: 'block' };\n};\n\nexport const OutlineDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), expand: 'full' };\n};\n\nexport const OutlineDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefaultRound(text, type), expand: 'full' };\n};\n\nexport const OutlineDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), expand: 'block' };\n};\n\nexport const OutlineDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefaultRound(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultButton = (text: string): ButtonMetadata => {\n return SolidDefault(text, 'button');\n};\n\nexport const SolidSmallButton = (text: string): ButtonMetadata => {\n return { ...SolidDefault(text, 'button'), size: 'small' };\n};\n\nexport const SolidLargeButton = (text: string): ButtonMetadata => {\n return { ...SolidDefault(text, 'button'), size: 'large' };\n};\n\nexport const SolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return SolidDefaultRound(text, 'button');\n};\n\nexport const SolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRound(text, 'button'), size: 'small' };\n};\n\nexport const SolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRound(text, 'button'), size: 'large' };\n};\n\nexport const SolidFullButton = (text: string): ButtonMetadata => {\n return SolidDefaultFull(text, 'button');\n};\n\nexport const SolidBlockButton = (text: string): ButtonMetadata => {\n return SolidDefaultBlock(text, 'button');\n};\n\n/** PRIMARY */\n\nexport const PrimarySolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidDefaultRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundButton(text), icon };\n};\n\nexport const PrimarySolidDefaultRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundButton(text), href, target };\n};\n\nexport const PrimarySolidDefaultRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidSmallRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidSmallRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundButton(text), icon };\n};\n\nexport const PrimarySolidSmallRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundButton(text), href, target };\n};\n\nexport const PrimarySolidSmallRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidLargeRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidLargeRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundButton(text), icon };\n};\n\nexport const PrimarySolidLargeRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundButton(text), href, target };\n};\n\nexport const PrimarySolidLargeRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidBlockButton = (text: string): ButtonMetadata => {\n return { ...SolidBlockButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidBlockIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidBlockButton(text), icon };\n};\n\nexport const PrimarySolidBlockHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidBlockButton(text), href, target };\n};\n\nexport const PrimarySolidBlockIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidBlockIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidFullButton = (text: string): ButtonMetadata => {\n return { ...SolidFullButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidFullIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidFullButton(text), icon };\n};\n\nexport const PrimarySolidFullHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidFullButton(text), href, target };\n};\n\nexport const PrimarySolidFullIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidFullIconButton(text, icon), href, target };\n};\n\n/** SECONDARY */\n\nexport const SecondarySolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidDefaultRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundButton(text), icon };\n};\n\nexport const SecondarySolidDefaultRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundButton(text), href, target };\n};\n\nexport const SecondarySolidDefaultRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidSmallRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidSmallRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundButton(text), icon };\n};\n\nexport const SecondarySolidSmallRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundButton(text), href, target };\n};\n\nexport const SecondarySolidSmallRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidLargeRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidLargeRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundButton(text), icon };\n};\n\nexport const SecondarySolidLargeRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundButton(text), href, target };\n};\n\nexport const SecondarySolidLargeRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidFullButton = (text: string): ButtonMetadata => {\n return { ...SolidFullButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidFullIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidFullButton(text), icon };\n};\n\nexport const SecondarySolidFullHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidFullButton(text), href, target };\n};\n\nexport const SecondarySolidFullIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidFullIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidBlockButton = (text: string): ButtonMetadata => {\n return { ...SolidBlockButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidBlockIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidBlockButton(text), icon };\n};\n\nexport const SecondarySolidBlockHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidBlockButton(text), href, target };\n};\n\nexport const SecondarySolidBlockIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidBlockIconButton(text, icon), href, target };\n};\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n})\nexport class TextComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge';\n @Input()\n color: Color;\n @Input()\n content: string;\n @Input()\n bold: boolean = false;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ion-text [color]=\"color\">\n <p [class]=\"size\" [class.bold]=\"bold\">\n {{ content }}\n </p>\n</ion-text>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-title',\n templateUrl: './title.component.html',\n styleUrls: ['./title.component.scss'],\n})\nexport class TitleComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge';\n @Input()\n color: Color;\n @Input()\n content: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-display',\n templateUrl: './display.component.html',\n styleUrls: ['./display.component.scss'],\n})\nexport class DisplayComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge';\n @Input()\n color: Color;\n @Input()\n content: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'val-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class AvatarComponent implements OnInit {\n @Input()\n image: string;\n @Input()\n default: string;\n @Input()\n size: 'small' | 'medium' | 'large' = 'medium';\n @Input()\n box: boolean = false;\n\n @Output()\n onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n onClickHandler() {\n this.onClick.emit();\n }\n}\n","<ion-avatar [class]=\"size\" [class.box]=\"box\" (click)=\"onClickHandler()\">\n <img alt=\"profile image\" [src]=\"image || default\" />\n</ion-avatar>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'val-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n})\nexport class DividerComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' = 'small';\n @Input()\n color: 'primary' | 'secondary' | 'dark' | 'light' | 'medium' = 'dark';\n @Input()\n fill: 'solid' | 'gradient' = 'solid';\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div [ngClass]=\"['divider', size, color, fill]\"></div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-box',\n templateUrl: './box.component.html',\n styleUrls: ['./box.component.scss'],\n})\nexport class BoxComponent implements OnInit {\n @Input()\n color: Color = 'dark';\n @Input()\n icon: string;\n @Input()\n bordered: boolean = false;\n @Input()\n leftBorder: boolean = false;\n \n @Output()\n onClick = new EventEmitter();\n \n constructor() { }\n\n ngOnInit() {}\n\n clickHandler() {\n this.onClick.emit();\n }\n}\n","<ion-card class=\"box\" [color]=\"color\" [class.bordered]=\"bordered\" [class.left-border]=\"leftBorder\">\n <ion-icon *ngIf=\"!!icon\" class=\"icon\" [name]=\"icon\" (click)=\"clickHandler()\"></ion-icon>\n <ng-content select=\"[body]\"></ng-content>\n</ion-card>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge' = 'small';\n @Input()\n color: Color;\n @Input()\n name: string;\n\n constructor() {}\n\n ngOnInit() {}\n}","<ion-icon [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-icon>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-content-loader',\n templateUrl: './content-loader.component.html',\n styleUrls: ['./content-loader.component.scss'],\n})\nexport class ContentLoaderComponent implements OnInit {\n @Input()\n color: Color = 'primary';\n @Input()\n size: 'small' | 'medium' | 'large' = 'small';\n @Input()\n name: 'circular' | 'crescent' | 'dots' | 'lines-sharp' = 'circular';\n @Input()\n text: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div [ngClass]=\"['spinner-wrapper', size]\">\n <ion-spinner [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-spinner>\n <ion-text [color]=\"color\">\n <p>{{ text }}</p>\n </ion-text>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n})\nexport class LinkComponent implements OnInit {\n @Input()\n text: string;\n @Input()\n size: 'small' | 'default' | 'large';\n @Input()\n color: Color;\n\n @Output()\n onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n onClickHandler() {\n this.onClick.emit();\n }\n}\n","<div>\n <ion-button type=\"button\" [color]=\"color\" fill=\"clear\" [size]=\"size\" (click)=\"onClickHandler()\">\n <ion-icon slot=\"end\" name=\"chevron-forward-outline\"></ion-icon>\n <ion-text>{{ text }}</ion-text>\n </ion-button>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-searchbar',\n templateUrl: './searchbar.component.html',\n styleUrls: ['./searchbar.component.scss'],\n})\nexport class SearchbarComponent {\n @Input() disabled: boolean;\n\n @Output() focusEvent = new EventEmitter<void>();\n\n @Output() blurEvent = new EventEmitter<void>();\n\n @Output() filterEvent = new EventEmitter<string>();\n\n constructor() {}\n\n onSearch($event: any) {\n const searchTerm = $event.detail.value\n this.filterEvent.emit(searchTerm);\n }\n\n onFocus() {\n this.focusEvent.emit();\n }\n\n onBlur() {\n this.blurEvent.emit();\n }\n}\n","<ion-searchbar mode=\"ios\" debounce=\"500\" placeholder=\"Búsqueda\" [disabled]=\"disabled\"\n showCancelButton=\"focus\" cancelButtonText=\"Cancelar\" (ionInput)=\"onSearch($event)\" \n (ionBlur)=\"onBlur()\" (ionFocus)=\"onFocus()\">\n</ion-searchbar>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ButtonMetadata } from '../../atoms/button/types';\n\n@Component({\n selector: 'val-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.scss'],\n})\nexport class ButtonGroupComponent implements OnInit {\n @Input()\n buttons: ButtonMetadata[];\n @Input()\n position: 'center' | 'left' | 'right' = 'left';\n\n @Output()\n onClick = new EventEmitter<string>();\n\n constructor() {}\n\n ngOnInit() {}\n\n clickHandler(token?: string) {\n this.onClick.emit(token);\n }\n}\n","<div [ngClass]=\"['group-container', position]\">\n <val-button *ngFor=\"let b of buttons\" [props]=\"b\" (click)=\"clickHandler(b?.token)\"></val-button>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TitleMetada } from './types';\n\n@Component({\n selector: 'val-title-block',\n templateUrl: './title-block.component.html',\n styleUrls: ['./title-block.component.scss'],\n})\nexport class TitleBlockComponent implements OnInit {\n @Input()\n position: 'center' | 'left' | 'right' = 'left';\n @Input()\n title: TitleMetada;\n @Input()\n aboveTitle: TitleMetada;\n @Input()\n bellowTitle: TitleMetada;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div [ngClass]=\"['titles-container', position]\">\n <val-title\n *ngIf=\"aboveTitle\"\n [size]=\"aboveTitle.size\"\n [color]=\"aboveTitle.color\"\n content=\"{{ aboveTitle.text | uppercase }}\"\n ></val-title>\n <val-display\n *ngIf=\"title\"\n [size]=\"title.size\"\n [color]=\"title.color\"\n [content]=\"title.text\"\n ></val-display>\n <val-title\n *ngIf=\"bellowTitle\"\n [size]=\"bellowTitle.size\"\n [color]=\"bellowTitle.color\"\n [content]=\"bellowTitle.text\"\n ></val-title>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-notes-box',\n templateUrl: './notes-box.component.html',\n styleUrls: ['./notes-box.component.scss'],\n})\nexport class NotesBoxComponent implements OnInit {\n @Input()\n color: Color = 'light';\n @Input()\n textColor: Color;\n @Input()\n prefix: string;\n @Input()\n text: string;\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge' = 'small';\n\n constructor() { }\n\n ngOnInit() {}\n\n}\n","<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\" [leftBorder]=\"true\">\n <div [ngClass]=\"['content-container', size]\" body>\n <val-text [content]=\"prefix\" [size]=\"size\" [bold]=\"true\" [color]=\"textColor\"></val-text>\n <val-text [content]=\"text\" [size]=\"size\" [bold]=\"false\" [color]=\"textColor\"></val-text>\n </div>\n</val-box>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-alert-box',\n templateUrl: './alert-box.component.html',\n styleUrls: ['./alert-box.component.scss'],\n})\nexport class AlertBoxComponent implements OnInit {\n @Input()\n color: Color = 'warning';\n @Input()\n icon: string = 'alert-circle-outline';\n @Input()\n text: string;\n @Input()\n bold: boolean = false;\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge' = 'small';\n\n constructor() { }\n\n ngOnInit() {}\n\n}\n","<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\">\n <div class=\"content-container\" body>\n <val-icon [name]=\"icon\" [size]=\"size\"></val-icon>\n <val-text class=\"text\" [content]=\"text\" [size]=\"size\" [bold]=\"bold\"></val-text>\n </div>\n</val-box>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NavController } from '@ionic/angular';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss'],\n})\nexport class ToolbarComponent implements OnInit {\n @Input()\n withBack: boolean = false;\n @Input()\n backText: string = '';\n @Input()\n withActions: boolean = false;\n @Input()\n color: Color = '';\n @Input()\n textColor: Color = '';\n @Input()\n title: string;\n\n constructor(private navCtrl: NavController) { }\n\n ngOnInit() {}\n\n goBack(): void {\n this.navCtrl.back();\n }\n}\n","<ion-toolbar [color]=\"color\">\n <ion-buttons class=\"left-buttons\" slot=\"start\" *ngIf=\"withBack\">\n <ion-button fill=\"clear\" (click)=\"goBack()\" [color]=\"textColor\">\n <ion-icon name=\"chevron-back-outline\" [slot]=\"backText ? 'start' : 'icon-only'\"></ion-icon>\n <ion-text *ngIf=\"backText\">{{ backText }}</ion-text>\n </ion-button>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"withActions\">\n <ng-content select=\"[toolbar-right-side]\"></ng-content>\n </ion-buttons>\n <ion-title [color]=\"textColor\">{{ title }}</ion-title>\n</ion-toolbar>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { BannerMetadata } from './types';\n\n@Component({\n selector: 'val-banner',\n templateUrl: './banner.component.html',\n styleUrls: ['./banner.component.scss'],\n})\nexport class BannerComponent implements OnInit {\n @Input()\n props: BannerMetadata;\n\n @Output()\n onClick = new EventEmitter<string>();\n\n @Output()\n onClose = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n clickHandler(token?: string) {\n this.onClick.emit(token);\n }\n\n closeHandler() {\n this.onClose.emit();\n }\n}\n","<val-box\n color=\"light\"\n [icon]=\"props.closable ? 'close-outline' : ''\"\n [bordered]=\"props.bordered\"\n (onClick)=\"closeHandler()\"\n>\n <div [ngClass]=\"['content-container', props.mode]\" body>\n <val-title-block\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n [aboveTitle]=\"props.content.aboveTitle\"\n [title]=\"props.content.title\"\n [bellowTitle]=\"props.content.bellowTitle\"\n ></val-title-block>\n <val-button-group\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n class=\"buttons-container\"\n [buttons]=\"props.actions\"\n (onClick)=\"clickHandler($event)\"\n ></val-button-group>\n </div>\n</val-box>\n","export type LanguageText = {\n [key: string]: string;\n};\n\nexport type LanguagesContent = {\n [key: string]: LanguageText;\n};\n\nexport type ContentProvider = {\n [x: string]: TextContent;\n};\n\nexport class TextContent {\n text: LanguagesContent;\n constructor(text: LanguagesContent) {\n this.text = text;\n }\n\n get Content(): LanguagesContent {\n return this.text;\n }\n}\n\nexport enum LangOption {\n ES = 'es',\n EN = 'en',\n}\n","export class LocalStorageService {\n static set<T>(reference: string, value: T): void {\n localStorage.setItem(reference, JSON.stringify(value));\n }\n\n static get<T>(reference: string): T {\n const value = localStorage.getItem(reference);\n return JSON.parse(value) as T;\n }\n\n static remove(reference: string): void {\n localStorage.removeItem(reference);\n }\n\n static clear() {\n localStorage.clear();\n }\n}\n","export const LANG = 'LANG';\nexport const THEME = 'THEME';","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { LocalStorageService } from './local-storage.service';\nimport { THEME } from '../shared/contants/storage';\n\nexport enum ThemeOption {\n LIGHT = 'light',\n DARK = 'dark',\n AUTO = 'auto',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n lightToggle = false;\n darkToggle = false;\n autoToggle = false;\n currentOption = ThemeOption.AUTO;\n themeOptions = ThemeOption;\n prefersDark = false;\n default = ThemeOption.AUTO;\n theme: BehaviorSubject<ThemeOption>;\n\n constructor() {\n const current = LocalStorageService.get<ThemeOption>(THEME);\n this.theme = new BehaviorSubject<ThemeOption>(current || this.default);\n\n // Use matchMedia to check the user preference\n const prefersDark = window.matchMedia('(prefers-color-scheme: dark)');\n console.log('💡 ThemeConfig prefersDark::: ', prefersDark);\n // value of the prefers-color-scheme media query\n this.prefersDark = prefersDark.matches;\n // get the current persisted preference\n this.currentOption = this.Theme;\n console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);\n this.toggleUserPreference(this.currentOption);\n // Listen for changes to the prefers-color-scheme media query\n prefersDark.addEventListener('change', (mediaQuery) => {\n console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);\n this.prefersDark = mediaQuery.matches;\n this.toggleUserPreference(this.currentOption);\n });\n }\n\n get Theme(): ThemeOption {\n return this.theme.value;\n }\n\n set Theme(theme: ThemeOption) {\n this.theme.next(theme);\n LocalStorageService.set<ThemeOption>(THEME, theme);\n }\n\n toggleChange(ev) {\n console.log('💡 ThemeConfig toggleChange ev::: ', ev);\n this.toggleTheme('dark', ev.detail.checked);\n }\n\n // Add or remove the class on the document body\n toggleTheme(name: string, shouldAdd: boolean) {\n document.body.classList.toggle(name, shouldAdd);\n }\n\n toggleUserPreference(option: ThemeOption) {\n console.log('💡 ThemeConfig toggleUserPreference option::: ', option);\n\n this.lightToggle = option == ThemeOption.LIGHT;\n this.toggleTheme(ThemeOption.LIGHT, this.lightToggle);\n this.darkToggle = option == ThemeOption.DARK;\n this.toggleTheme(ThemeOption.DARK, this.darkToggle);\n this.autoToggle = option == ThemeOption.AUTO;\n\n this.toggleTheme(\n this.autoToggle ? (this.prefersDark ? ThemeOption.DARK : ThemeOption.LIGHT) : this.currentOption,\n this.autoToggle,\n );\n\n this.Theme = option;\n this.currentOption = option;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { IonicModule } from '@ionic/angular';\nimport { ButtonComponent } from './components/atoms/button/button.component';\nimport { DisplayComponent } from './components/atoms/display/display.component';\nimport { TextComponent } from './components/atoms/text/text.component';\nimport { TitleComponent } from './components/atoms/title/title.component';\nimport { AvatarComponent } from './components/atoms/avatar/avatar.component';\nimport { DividerComponent } from './components/atoms/divider/divider.component';\nimport { ContentLoaderComponent } from './components/molecules/content-loader/content-loader.component';\nimport { LinkComponent } from './components/molecules/link/link.component';\nimport { SearchbarComponent } from './components/molecules/searchbar/searchbar.component';\nimport { ToolbarComponent } from './components/organisms/toolbar/toolbar.component';\nimport { Provider } from './services/lang-provider/content';\nimport { LangService } from './services/lang-provider/lang-provider.service';\nimport { ThemeService } from './services/theme.service';\nimport { BoxComponent } from './components/atoms/box/box.component';\nimport { IconComponent } from './components/atoms/icon/icon.component';\nimport { AlertBoxComponent } from './components/molecules/alert-box/alert-box.component';\nimport { ButtonGroupComponent } from './components/molecules/button-group/button-group.component';\nimport { TitleBlockComponent } from './components/molecules/title-block/title-block.component';\nimport { BannerComponent } from './components/organisms/banner/banner.component';\nimport { NotesBoxComponent } from './components/molecules/notes-box/notes-box.component';\n\nexport interface ValtechConfig {\n content: Provider;\n}\n\nexport const ValtechConfigService = new InjectionToken<ValtechConfig>('ValtechConfig');\n\n@NgModule({\n declarations: [\n ButtonComponent,\n BoxComponent,\n DisplayComponent,\n TextComponent,\n TitleComponent,\n AvatarComponent,\n DividerComponent,\n ContentLoaderComponent,\n LinkComponent,\n SearchbarComponent,\n ToolbarComponent,\n IconComponent,\n ButtonGroupComponent,\n TitleBlockComponent,\n AlertBoxComponent,\n BannerComponent,\n NotesBoxComponent,\n ],\n imports: [CommonModule, HttpClientModule, IonicModule],\n exports: [\n ButtonComponent,\n BoxComponent,\n DisplayComponent,\n TextComponent,\n TitleComponent,\n AvatarComponent,\n DividerComponent,\n ContentLoaderComponent,\n LinkComponent,\n SearchbarComponent,\n ToolbarComponent,\n IconComponent,\n ButtonGroupComponent,\n TitleBlockComponent,\n AlertBoxComponent,\n BannerComponent,\n NotesBoxComponent,\n ],\n})\nexport class ValtechComponentsModule {\n static forRoot(config: ValtechConfig): ModuleWithProviders<ValtechComponentsModule> {\n return {\n ngModule: ValtechComponentsModule,\n providers: [\n LangService,\n ThemeService,\n {\n provide: ValtechConfigService,\n useValue: config,\n },\n ],\n };\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport content from './content';\nimport { LangOption, LanguageText, ContentProvider } from './types';\nimport { LocalStorageService } from '../local-storage.service';\nimport { LANG } from '../../shared/contants/storage';\nimport { ValtechConfig, ValtechConfigService } from '../../valtech-components.module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LangService {\n content: ContentProvider;\n default = LangOption.ES;\n selectedLang: BehaviorSubject<LangOption>;\n config: ValtechConfig;\n\n constructor(@Inject(ValtechConfigService) config: ValtechConfig) {\n console.log('injected config: ', config);\n this.content = config.content;\n this.config = config;\n const current = LocalStorageService.get<LangOption>(LANG);\n this.selectedLang = new BehaviorSubject<LangOption>(current || this.default);\n }\n\n Text(className: string): LanguageText {\n return this.content[className].Content[this.selectedLang.value];\n }\n\n get Lang(): LangOption {\n return this.selectedLang.value;\n }\n\n set Lang(lang: LangOption) {\n this.selectedLang.next(lang);\n LocalStorageService.set<LangOption>(LANG, lang);\n }\n}\n","/*\n * Public API Surface of valtech-components\n */\n\nexport * from './lib/components/atoms/button/button.component';\nexport * from './lib/components/atoms/button/types';\nexport * from './lib/components/atoms/button/factory';\nexport * from './lib/components/atoms/text/text.component';\nexport * from './lib/components/atoms/title/title.component';\nexport * from './lib/components/atoms/display/display.component';\nexport * from './lib/components/atoms/avatar/avatar.component';\nexport * from './lib/components/atoms/divider/divider.component';\nexport * from './lib/components/atoms/box/box.component';\nexport * from './lib/components/atoms/icon/icon.component';\n\nexport * from './lib/components/molecules/content-loader/content-loader.component';\nexport * from './lib/components/molecules/link/link.component';\nexport * from './lib/components/molecules/searchbar/searchbar.component';\nexport * from './lib/components/molecules/button-group/button-group.component';\nexport * from './lib/components/molecules/title-block/title-block.component';\nexport * from './lib/components/molecules/notes-box/notes-box.component';\nexport * from './lib/components/molecules/alert-box/alert-box.component';\n\nexport * from './lib/components/organisms/toolbar/toolbar.component';\nexport * from './lib/components/organisms/banner/banner.component';\n\nexport * from './lib/services/lang-provider/lang-provider.service';\nexport * from './lib/services/lang-provider/types';\nexport * from './lib/services/local-storage.service';\nexport * from './lib/services/theme.service';\n\nexport * from './lib/components/types';\nexport * from './lib/valtech-components.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i2.ButtonComponent","i2.DisplayComponent","i3.TitleComponent","i2.BoxComponent","i3.TextComponent","i1.BoxComponent","i2.TextComponent","i3.IconComponent","i3.ButtonGroupComponent","i4.TitleBlockComponent"],"mappings":"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"}
1
+ {"version":3,"file":"valtech-components.mjs","sources":["../../../projects/valtech-components/src/lib/components/types.ts","../../../projects/valtech-components/src/lib/services/download.service.ts","../../../projects/valtech-components/src/lib/components/atoms/button/button.component.ts","../../../projects/valtech-components/src/lib/components/atoms/button/button.component.html","../../../projects/valtech-components/src/lib/components/atoms/button/factory.ts","../../../projects/valtech-components/src/lib/components/atoms/text/text.component.ts","../../../projects/valtech-components/src/lib/components/atoms/text/text.component.html","../../../projects/valtech-components/src/lib/components/atoms/title/title.component.ts","../../../projects/valtech-components/src/lib/components/atoms/title/title.component.html","../../../projects/valtech-components/src/lib/components/atoms/display/display.component.ts","../../../projects/valtech-components/src/lib/components/atoms/display/display.component.html","../../../projects/valtech-components/src/lib/components/atoms/avatar/avatar.component.ts","../../../projects/valtech-components/src/lib/components/atoms/avatar/avatar.component.html","../../../projects/valtech-components/src/lib/components/atoms/divider/divider.component.ts","../../../projects/valtech-components/src/lib/components/atoms/divider/divider.component.html","../../../projects/valtech-components/src/lib/components/atoms/box/box.component.ts","../../../projects/valtech-components/src/lib/components/atoms/box/box.component.html","../../../projects/valtech-components/src/lib/components/atoms/icon/icon.component.ts","../../../projects/valtech-components/src/lib/components/atoms/icon/icon.component.html","../../../projects/valtech-components/src/lib/components/molecules/content-loader/content-loader.component.ts","../../../projects/valtech-components/src/lib/components/molecules/content-loader/content-loader.component.html","../../../projects/valtech-components/src/lib/components/molecules/link/link.component.ts","../../../projects/valtech-components/src/lib/components/molecules/link/link.component.html","../../../projects/valtech-components/src/lib/components/molecules/searchbar/searchbar.component.ts","../../../projects/valtech-components/src/lib/components/molecules/searchbar/searchbar.component.html","../../../projects/valtech-components/src/lib/components/molecules/button-group/button-group.component.ts","../../../projects/valtech-components/src/lib/components/molecules/button-group/button-group.component.html","../../../projects/valtech-components/src/lib/components/molecules/title-block/title-block.component.ts","../../../projects/valtech-components/src/lib/components/molecules/title-block/title-block.component.html","../../../projects/valtech-components/src/lib/components/molecules/notes-box/notes-box.component.ts","../../../projects/valtech-components/src/lib/components/molecules/notes-box/notes-box.component.html","../../../projects/valtech-components/src/lib/components/molecules/alert-box/alert-box.component.ts","../../../projects/valtech-components/src/lib/components/molecules/alert-box/alert-box.component.html","../../../projects/valtech-components/src/lib/components/organisms/toolbar/toolbar.component.ts","../../../projects/valtech-components/src/lib/components/organisms/toolbar/toolbar.component.html","../../../projects/valtech-components/src/lib/components/organisms/banner/banner.component.ts","../../../projects/valtech-components/src/lib/components/organisms/banner/banner.component.html","../../../projects/valtech-components/src/lib/services/lang-provider/types.ts","../../../projects/valtech-components/src/lib/services/local-storage.service.ts","../../../projects/valtech-components/src/lib/shared/contants/storage.ts","../../../projects/valtech-components/src/lib/services/theme.service.ts","../../../projects/valtech-components/src/lib/valtech-components.module.ts","../../../projects/valtech-components/src/lib/services/lang-provider/lang-provider.service.ts","../../../projects/valtech-components/src/public-api.ts","../../../projects/valtech-components/src/valtech-components.ts"],"sourcesContent":["export type ComponentState = 'ENABLED' | 'DISABLED' | 'WORKING';\nconst ENABLED: ComponentState = 'ENABLED';\nconst DISABLED: ComponentState = 'DISABLED';\nconst WORKING: ComponentState = 'WORKING';\nexport const ComponentStates = { ENABLED, DISABLED, WORKING };\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n getFileNameFromUrl(url: string): string {\n try {\n const pathSegments = url.split('/');\n const lastSegment = pathSegments[pathSegments.length - 1];\n const fileName = decodeURIComponent(lastSegment);\n return fileName;\n } catch (error) {\n console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));\n return 'filename';\n }\n }\n\n downloadLinkFromBrowser(url: string): void {\n if (url) {\n const fileName = this.getFileNameFromUrl(url);\n const link = document.createElement('a');\n link.href = url;\n link.download = `${+new Date()}-${fileName}`;\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n console.error('La URL no está definida');\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ButtonMetadata } from './types';\nimport { ComponentStates } from '../../types';\nimport { DownloadService } from '../../../services/download.service';\n\n@Component({\n selector: 'val-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n states = ComponentStates;\n\n @Input()\n props!: ButtonMetadata;\n\n @Output()\n onClick = new EventEmitter<string>();\n\n constructor(private download: DownloadService) {}\n\n ngOnInit() {}\n\n clickHandler() {\n if (this.props.download) {\n this.download.downloadLinkFromBrowser(this.props.download);\n }\n this.onClick.emit(this.props.token);\n }\n}\n","<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n","import { ButtonMetadata, IconMetada } from './types';\n\nexport const Icon = (name: string, slot: 'start' | 'end'): IconMetada => {\n return {\n name,\n slot,\n };\n};\n\n/* name convention: COLOR FILL SIZE [optionals: SHAPE EXPAND ICON HREF/DOWNLOAD] TYPE */\n\nexport const BaseDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return {\n color: 'primary',\n state: 'ENABLED',\n text,\n size: 'default',\n type,\n };\n};\n\nexport const ClearDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'clear' };\n};\n\nexport const ClearDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), shape: 'round' };\n};\n\nexport const SolidDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'solid' };\n};\n\nexport const SolidDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), shape: 'round' };\n};\n\nexport const OutlineDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'outline' };\n};\n\nexport const OutlineDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), shape: 'round' };\n};\n\nexport const ClearDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), expand: 'full' };\n};\n\nexport const ClearDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefaultRound(text, type), expand: 'full' };\n};\n\nexport const ClearDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), expand: 'block' };\n};\n\nexport const ClearDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefaultRound(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), expand: 'full' };\n};\n\nexport const SolidDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefaultRound(text, type), expand: 'full' };\n};\n\nexport const SolidDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefaultRound(text, type), expand: 'block' };\n};\n\nexport const OutlineDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), expand: 'full' };\n};\n\nexport const OutlineDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefaultRound(text, type), expand: 'full' };\n};\n\nexport const OutlineDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), expand: 'block' };\n};\n\nexport const OutlineDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefaultRound(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultButton = (text: string): ButtonMetadata => {\n return SolidDefault(text, 'button');\n};\n\nexport const SolidSmallButton = (text: string): ButtonMetadata => {\n return { ...SolidDefault(text, 'button'), size: 'small' };\n};\n\nexport const SolidLargeButton = (text: string): ButtonMetadata => {\n return { ...SolidDefault(text, 'button'), size: 'large' };\n};\n\nexport const SolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return SolidDefaultRound(text, 'button');\n};\n\nexport const SolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRound(text, 'button'), size: 'small' };\n};\n\nexport const SolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRound(text, 'button'), size: 'large' };\n};\n\nexport const SolidFullButton = (text: string): ButtonMetadata => {\n return SolidDefaultFull(text, 'button');\n};\n\nexport const SolidBlockButton = (text: string): ButtonMetadata => {\n return SolidDefaultBlock(text, 'button');\n};\n\n/** PRIMARY */\n\nexport const PrimarySolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidDefaultRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundButton(text), icon };\n};\n\nexport const PrimarySolidDefaultRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundButton(text), href, target };\n};\n\nexport const PrimarySolidDefaultRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidSmallRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidSmallRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundButton(text), icon };\n};\n\nexport const PrimarySolidSmallRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundButton(text), href, target };\n};\n\nexport const PrimarySolidSmallRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidLargeRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidLargeRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundButton(text), icon };\n};\n\nexport const PrimarySolidLargeRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundButton(text), href, target };\n};\n\nexport const PrimarySolidLargeRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidBlockButton = (text: string): ButtonMetadata => {\n return { ...SolidBlockButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidBlockIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidBlockButton(text), icon };\n};\n\nexport const PrimarySolidBlockHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidBlockButton(text), href, target };\n};\n\nexport const PrimarySolidBlockIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidBlockIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidFullButton = (text: string): ButtonMetadata => {\n return { ...SolidFullButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidFullIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidFullButton(text), icon };\n};\n\nexport const PrimarySolidFullHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidFullButton(text), href, target };\n};\n\nexport const PrimarySolidFullIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidFullIconButton(text, icon), href, target };\n};\n\n/** SECONDARY */\n\nexport const SecondarySolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidDefaultRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundButton(text), icon };\n};\n\nexport const SecondarySolidDefaultRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundButton(text), href, target };\n};\n\nexport const SecondarySolidDefaultRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidSmallRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidSmallRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundButton(text), icon };\n};\n\nexport const SecondarySolidSmallRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundButton(text), href, target };\n};\n\nexport const SecondarySolidSmallRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidLargeRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidLargeRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundButton(text), icon };\n};\n\nexport const SecondarySolidLargeRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundButton(text), href, target };\n};\n\nexport const SecondarySolidLargeRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidFullButton = (text: string): ButtonMetadata => {\n return { ...SolidFullButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidFullIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidFullButton(text), icon };\n};\n\nexport const SecondarySolidFullHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidFullButton(text), href, target };\n};\n\nexport const SecondarySolidFullIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidFullIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidBlockButton = (text: string): ButtonMetadata => {\n return { ...SolidBlockButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidBlockIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidBlockButton(text), icon };\n};\n\nexport const SecondarySolidBlockHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidBlockButton(text), href, target };\n};\n\nexport const SecondarySolidBlockIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidBlockIconButton(text, icon), href, target };\n};\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n})\nexport class TextComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge';\n @Input()\n color: Color;\n @Input()\n content: string;\n @Input()\n bold: boolean = false;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ion-text [color]=\"color\">\n <p [class]=\"size\" [class.bold]=\"bold\">\n {{ content }}\n </p>\n</ion-text>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-title',\n templateUrl: './title.component.html',\n styleUrls: ['./title.component.scss'],\n})\nexport class TitleComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge';\n @Input()\n color: Color;\n @Input()\n content: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-display',\n templateUrl: './display.component.html',\n styleUrls: ['./display.component.scss'],\n})\nexport class DisplayComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge';\n @Input()\n color: Color;\n @Input()\n content: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'val-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class AvatarComponent implements OnInit {\n @Input()\n image: string;\n @Input()\n default: string;\n @Input()\n size: 'small' | 'medium' | 'large' = 'medium';\n @Input()\n box: boolean = false;\n\n @Output()\n onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n onClickHandler() {\n this.onClick.emit();\n }\n}\n","<ion-avatar [class]=\"size\" [class.box]=\"box\" (click)=\"onClickHandler()\">\n <img alt=\"profile image\" [src]=\"image || default\" />\n</ion-avatar>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'val-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n})\nexport class DividerComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' = 'small';\n @Input()\n color: 'primary' | 'secondary' | 'dark' | 'light' | 'medium' = 'dark';\n @Input()\n fill: 'solid' | 'gradient' = 'solid';\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div [ngClass]=\"['divider', size, color, fill]\"></div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-box',\n templateUrl: './box.component.html',\n styleUrls: ['./box.component.scss'],\n})\nexport class BoxComponent implements OnInit {\n @Input()\n color: Color = 'dark';\n @Input()\n icon: string;\n @Input()\n bordered: boolean = false;\n @Input()\n leftBorder: boolean = false;\n \n @Output()\n onClick = new EventEmitter();\n \n constructor() { }\n\n ngOnInit() {}\n\n clickHandler() {\n this.onClick.emit();\n }\n}\n","<ion-card class=\"box\" [color]=\"color\" [class.bordered]=\"bordered\" [class.left-border]=\"leftBorder\">\n <ion-icon *ngIf=\"!!icon\" class=\"icon\" [name]=\"icon\" (click)=\"clickHandler()\"></ion-icon>\n <ng-content select=\"[body]\"></ng-content>\n</ion-card>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent implements OnInit {\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge' = 'small';\n @Input()\n color: Color;\n @Input()\n name: string;\n\n constructor() {}\n\n ngOnInit() {}\n}","<ion-icon [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-icon>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-content-loader',\n templateUrl: './content-loader.component.html',\n styleUrls: ['./content-loader.component.scss'],\n})\nexport class ContentLoaderComponent implements OnInit {\n @Input()\n color: Color = 'primary';\n @Input()\n size: 'small' | 'medium' | 'large' = 'small';\n @Input()\n name: 'circular' | 'crescent' | 'dots' | 'lines-sharp' = 'circular';\n @Input()\n text: string;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div [ngClass]=\"['spinner-wrapper', size]\">\n <ion-spinner [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-spinner>\n <ion-text [color]=\"color\">\n <p>{{ text }}</p>\n </ion-text>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n})\nexport class LinkComponent implements OnInit {\n @Input()\n text: string;\n @Input()\n size: 'small' | 'default' | 'large';\n @Input()\n color: Color;\n\n @Output()\n onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n onClickHandler() {\n this.onClick.emit();\n }\n}\n","<div>\n <ion-button type=\"button\" [color]=\"color\" fill=\"clear\" [size]=\"size\" (click)=\"onClickHandler()\">\n <ion-icon slot=\"end\" name=\"chevron-forward-outline\"></ion-icon>\n <ion-text>{{ text }}</ion-text>\n </ion-button>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-searchbar',\n templateUrl: './searchbar.component.html',\n styleUrls: ['./searchbar.component.scss'],\n})\nexport class SearchbarComponent {\n @Input() disabled: boolean;\n\n @Output() focusEvent = new EventEmitter<void>();\n\n @Output() blurEvent = new EventEmitter<void>();\n\n @Output() filterEvent = new EventEmitter<string>();\n\n constructor() {}\n\n onSearch($event: any) {\n const searchTerm = $event.detail.value\n this.filterEvent.emit(searchTerm);\n }\n\n onFocus() {\n this.focusEvent.emit();\n }\n\n onBlur() {\n this.blurEvent.emit();\n }\n}\n","<ion-searchbar mode=\"ios\" debounce=\"500\" placeholder=\"Búsqueda\" [disabled]=\"disabled\"\n showCancelButton=\"focus\" cancelButtonText=\"Cancelar\" (ionInput)=\"onSearch($event)\" \n (ionBlur)=\"onBlur()\" (ionFocus)=\"onFocus()\">\n</ion-searchbar>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ButtonMetadata } from '../../atoms/button/types';\n\n@Component({\n selector: 'val-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.scss'],\n})\nexport class ButtonGroupComponent implements OnInit {\n @Input()\n buttons: ButtonMetadata[];\n @Input()\n position: 'center' | 'left' | 'right' = 'left';\n\n @Output()\n onClick = new EventEmitter<string>();\n\n constructor() {}\n\n ngOnInit() {}\n\n clickHandler(token?: string) {\n this.onClick.emit(token);\n }\n}\n","<div [ngClass]=\"['group-container', position]\">\n <val-button *ngFor=\"let b of buttons\" [props]=\"b\" (click)=\"clickHandler(b?.token)\"></val-button>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TitleMetada } from './types';\n\n@Component({\n selector: 'val-title-block',\n templateUrl: './title-block.component.html',\n styleUrls: ['./title-block.component.scss'],\n})\nexport class TitleBlockComponent implements OnInit {\n @Input()\n position: 'center' | 'left' | 'right' = 'left';\n @Input()\n title: TitleMetada;\n @Input()\n aboveTitle: TitleMetada;\n @Input()\n bellowTitle: TitleMetada;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div [ngClass]=\"['titles-container', position]\">\n <val-title\n *ngIf=\"aboveTitle\"\n [size]=\"aboveTitle.size\"\n [color]=\"aboveTitle.color\"\n content=\"{{ aboveTitle.text | uppercase }}\"\n ></val-title>\n <val-display\n *ngIf=\"title\"\n [size]=\"title.size\"\n [color]=\"title.color\"\n [content]=\"title.text\"\n ></val-display>\n <val-title\n *ngIf=\"bellowTitle\"\n [size]=\"bellowTitle.size\"\n [color]=\"bellowTitle.color\"\n [content]=\"bellowTitle.text\"\n ></val-title>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-notes-box',\n templateUrl: './notes-box.component.html',\n styleUrls: ['./notes-box.component.scss'],\n})\nexport class NotesBoxComponent implements OnInit {\n @Input()\n color: Color = 'light';\n @Input()\n textColor: Color;\n @Input()\n prefix: string;\n @Input()\n text: string;\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge' = 'small';\n\n constructor() { }\n\n ngOnInit() {}\n\n}\n","<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\" [leftBorder]=\"true\">\n <div [ngClass]=\"['content-container', size]\" body>\n <val-text [content]=\"prefix\" [size]=\"size\" [bold]=\"true\" [color]=\"textColor\"></val-text>\n <val-text [content]=\"text\" [size]=\"size\" [bold]=\"false\" [color]=\"textColor\"></val-text>\n </div>\n</val-box>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-alert-box',\n templateUrl: './alert-box.component.html',\n styleUrls: ['./alert-box.component.scss'],\n})\nexport class AlertBoxComponent implements OnInit {\n @Input()\n color: Color = 'warning';\n @Input()\n icon: string = 'alert-circle-outline';\n @Input()\n text: string;\n @Input()\n bold: boolean = false;\n @Input()\n size: 'small' | 'medium' | 'large' | 'xlarge' = 'small';\n\n constructor() { }\n\n ngOnInit() {}\n\n}\n","<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\">\n <div class=\"content-container\" body>\n <val-icon [name]=\"icon\" [size]=\"size\"></val-icon>\n <val-text class=\"text\" [content]=\"text\" [size]=\"size\" [bold]=\"bold\"></val-text>\n </div>\n</val-box>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NavController } from '@ionic/angular';\nimport { Color } from '@ionic/core';\n\n@Component({\n selector: 'val-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss'],\n})\nexport class ToolbarComponent implements OnInit {\n @Input()\n withBack: boolean = false;\n @Input()\n backText: string = '';\n @Input()\n withActions: boolean = false;\n @Input()\n color: Color = '';\n @Input()\n textColor: Color = '';\n @Input()\n title: string;\n\n constructor(private navCtrl: NavController) { }\n\n ngOnInit() {}\n\n goBack(): void {\n this.navCtrl.back();\n }\n}\n","<ion-toolbar [color]=\"color\">\n <ion-buttons class=\"left-buttons\" slot=\"start\" *ngIf=\"withBack\">\n <ion-button fill=\"clear\" (click)=\"goBack()\" [color]=\"textColor\">\n <ion-icon name=\"chevron-back-outline\" [slot]=\"backText ? 'start' : 'icon-only'\"></ion-icon>\n <ion-text *ngIf=\"backText\">{{ backText }}</ion-text>\n </ion-button>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"withActions\">\n <ng-content select=\"[toolbar-right-side]\"></ng-content>\n </ion-buttons>\n <ion-title [color]=\"textColor\">{{ title }}</ion-title>\n</ion-toolbar>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { BannerMetadata } from './types';\n\n@Component({\n selector: 'val-banner',\n templateUrl: './banner.component.html',\n styleUrls: ['./banner.component.scss'],\n})\nexport class BannerComponent implements OnInit {\n @Input()\n props: BannerMetadata;\n\n @Output()\n onClick = new EventEmitter<string>();\n\n @Output()\n onClose = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n clickHandler(token?: string) {\n this.onClick.emit(token);\n }\n\n closeHandler() {\n this.onClose.emit();\n }\n}\n","<val-box\n color=\"light\"\n [icon]=\"props.closable ? 'close-outline' : ''\"\n [bordered]=\"props.bordered\"\n (onClick)=\"closeHandler()\"\n>\n <div [ngClass]=\"['content-container', props.mode]\" body>\n <val-title-block\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n [aboveTitle]=\"props.content.aboveTitle\"\n [title]=\"props.content.title\"\n [bellowTitle]=\"props.content.bellowTitle\"\n ></val-title-block>\n <val-button-group\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n class=\"buttons-container\"\n [buttons]=\"props.actions\"\n (onClick)=\"clickHandler($event)\"\n ></val-button-group>\n </div>\n</val-box>\n","export type LanguageText = {\n [key: string]: string;\n};\n\nexport type LanguagesContent = {\n [key: string]: LanguageText;\n};\n\nexport type ContentProvider = {\n [x: string]: TextContent;\n};\n\nexport class TextContent {\n text: LanguagesContent;\n constructor(text: LanguagesContent) {\n this.text = text;\n }\n\n get Content(): LanguagesContent {\n return this.text;\n }\n}\n\nexport enum LangOption {\n ES = 'es',\n EN = 'en',\n}\n","export class LocalStorageService {\n static set<T>(reference: string, value: T): void {\n localStorage.setItem(reference, JSON.stringify(value));\n }\n\n static get<T>(reference: string): T {\n const value = localStorage.getItem(reference);\n return JSON.parse(value) as T;\n }\n\n static remove(reference: string): void {\n localStorage.removeItem(reference);\n }\n\n static clear() {\n localStorage.clear();\n }\n}\n","export const LANG = 'LANG';\nexport const THEME = 'THEME';","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { LocalStorageService } from './local-storage.service';\nimport { THEME } from '../shared/contants/storage';\n\nexport enum ThemeOption {\n LIGHT = 'light',\n DARK = 'dark',\n AUTO = 'auto',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n lightToggle = false;\n darkToggle = false;\n autoToggle = false;\n currentOption = ThemeOption.AUTO;\n themeOptions = ThemeOption;\n prefersDark = false;\n default = ThemeOption.AUTO;\n theme: BehaviorSubject<ThemeOption>;\n\n constructor() {\n const current = LocalStorageService.get<ThemeOption>(THEME);\n console.log('💡 ThemeConfig current::: ', current);\n this.theme = new BehaviorSubject<ThemeOption>(current || this.default);\n this.currentOption = this.Theme;\n console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);\n this.toggleUserPreference(this.currentOption);\n\n const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');\n this.prefersDark = prefersDarkQuery.matches;\n this.handleAutoConfiguration();\n\n prefersDarkQuery.addEventListener('change', (mediaQuery) => {\n console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);\n this.prefersDark = mediaQuery.matches;\n this.handleAutoConfiguration();\n });\n }\n\n private handleAutoConfiguration() {\n if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {\n console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);\n this.toggleUserPreference(ThemeOption.AUTO);\n }\n if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {\n console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);\n this.toggleUserPreference(ThemeOption.AUTO);\n }\n }\n\n private handleDarkPreference() {\n this.toggleTheme(ThemeOption.DARK, true);\n this.toggleTheme(ThemeOption.LIGHT, false);\n }\n\n private handleLightPreference() {\n this.toggleTheme(ThemeOption.LIGHT, true);\n this.toggleTheme(ThemeOption.DARK, false);\n }\n\n get Theme(): ThemeOption {\n return this.theme.value;\n }\n\n set Theme(theme: ThemeOption) {\n this.theme.next(theme);\n LocalStorageService.set<ThemeOption>(THEME, theme);\n }\n\n toggleTheme(name: string, shouldAdd: boolean) {\n console.log('toggleTheme::: ', name, shouldAdd);\n document.body.classList.toggle(name, shouldAdd);\n }\n\n toggleUserPreference(option: ThemeOption) {\n this.currentOption = option;\n this.Theme = option;\n this.lightToggle = option === ThemeOption.LIGHT;\n this.darkToggle = option === ThemeOption.DARK;\n this.autoToggle = option === ThemeOption.AUTO;\n\n switch (option) {\n case ThemeOption.LIGHT:\n this.handleLightPreference();\n break;\n case ThemeOption.DARK:\n this.handleDarkPreference();\n break;\n case ThemeOption.AUTO:\n if (this.prefersDark) {\n this.handleDarkPreference();\n } else {\n this.handleLightPreference();\n }\n break;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { IonicModule } from '@ionic/angular';\nimport { ButtonComponent } from './components/atoms/button/button.component';\nimport { DisplayComponent } from './components/atoms/display/display.component';\nimport { TextComponent } from './components/atoms/text/text.component';\nimport { TitleComponent } from './components/atoms/title/title.component';\nimport { AvatarComponent } from './components/atoms/avatar/avatar.component';\nimport { DividerComponent } from './components/atoms/divider/divider.component';\nimport { ContentLoaderComponent } from './components/molecules/content-loader/content-loader.component';\nimport { LinkComponent } from './components/molecules/link/link.component';\nimport { SearchbarComponent } from './components/molecules/searchbar/searchbar.component';\nimport { ToolbarComponent } from './components/organisms/toolbar/toolbar.component';\nimport { Provider } from './services/lang-provider/content';\nimport { BoxComponent } from './components/atoms/box/box.component';\nimport { IconComponent } from './components/atoms/icon/icon.component';\nimport { AlertBoxComponent } from './components/molecules/alert-box/alert-box.component';\nimport { ButtonGroupComponent } from './components/molecules/button-group/button-group.component';\nimport { TitleBlockComponent } from './components/molecules/title-block/title-block.component';\nimport { BannerComponent } from './components/organisms/banner/banner.component';\nimport { NotesBoxComponent } from './components/molecules/notes-box/notes-box.component';\nimport { DownloadService } from './services/download.service';\nimport { LangService } from './services/lang-provider/lang-provider.service';\nimport { ThemeService } from './services/theme.service';\n\nexport interface ValtechConfig {\n content: Provider;\n}\n\nexport const ValtechConfigService = new InjectionToken<ValtechConfig>('ValtechConfig');\n\n@NgModule({\n declarations: [\n ButtonComponent,\n BoxComponent,\n DisplayComponent,\n TextComponent,\n TitleComponent,\n AvatarComponent,\n DividerComponent,\n ContentLoaderComponent,\n LinkComponent,\n SearchbarComponent,\n ToolbarComponent,\n IconComponent,\n ButtonGroupComponent,\n TitleBlockComponent,\n AlertBoxComponent,\n BannerComponent,\n NotesBoxComponent,\n ],\n imports: [CommonModule, HttpClientModule, IonicModule],\n exports: [\n ButtonComponent,\n BoxComponent,\n DisplayComponent,\n TextComponent,\n TitleComponent,\n AvatarComponent,\n DividerComponent,\n ContentLoaderComponent,\n LinkComponent,\n SearchbarComponent,\n ToolbarComponent,\n IconComponent,\n ButtonGroupComponent,\n TitleBlockComponent,\n AlertBoxComponent,\n BannerComponent,\n NotesBoxComponent,\n ],\n providers: [\n DownloadService,\n LangService,\n ThemeService,\n ],\n})\nexport class ValtechComponentsModule {}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport content from './content';\nimport { LangOption, LanguageText, ContentProvider } from './types';\nimport { LocalStorageService } from '../local-storage.service';\nimport { LANG } from '../../shared/contants/storage';\nimport { ValtechConfig, ValtechConfigService } from '../../valtech-components.module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LangService {\n content: ContentProvider;\n default = LangOption.ES;\n selectedLang: BehaviorSubject<LangOption>;\n config: ValtechConfig;\n\n constructor(@Inject(ValtechConfigService) config: ValtechConfig) {\n console.log('injected config: ', config);\n this.content = config.content;\n this.config = config;\n const current = LocalStorageService.get<LangOption>(LANG);\n this.selectedLang = new BehaviorSubject<LangOption>(current || this.default);\n }\n\n Text(className: string): LanguageText {\n return this.content[className].Content[this.selectedLang.value];\n }\n\n get Lang(): LangOption {\n return this.selectedLang.value;\n }\n\n set Lang(lang: LangOption) {\n this.selectedLang.next(lang);\n LocalStorageService.set<LangOption>(LANG, lang);\n }\n}\n","/*\n * Public API Surface of valtech-components\n */\n\nexport * from './lib/components/atoms/button/button.component';\nexport * from './lib/components/atoms/button/types';\nexport * from './lib/components/atoms/button/factory';\nexport * from './lib/components/atoms/text/text.component';\nexport * from './lib/components/atoms/title/title.component';\nexport * from './lib/components/atoms/display/display.component';\nexport * from './lib/components/atoms/avatar/avatar.component';\nexport * from './lib/components/atoms/divider/divider.component';\nexport * from './lib/components/atoms/box/box.component';\nexport * from './lib/components/atoms/icon/icon.component';\n\nexport * from './lib/components/molecules/content-loader/content-loader.component';\nexport * from './lib/components/molecules/link/link.component';\nexport * from './lib/components/molecules/searchbar/searchbar.component';\nexport * from './lib/components/molecules/button-group/button-group.component';\nexport * from './lib/components/molecules/title-block/title-block.component';\nexport * from './lib/components/molecules/notes-box/notes-box.component';\nexport * from './lib/components/molecules/alert-box/alert-box.component';\n\nexport * from './lib/components/organisms/toolbar/toolbar.component';\nexport * from './lib/components/organisms/banner/banner.component';\n\nexport * from './lib/services/lang-provider/lang-provider.service';\nexport * from './lib/services/lang-provider/types';\nexport * from './lib/services/local-storage.service';\nexport * from './lib/services/theme.service';\nexport * from './lib/services/download.service';\n\nexport * from './lib/components/types';\nexport * from './lib/valtech-components.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DownloadService","i2","i3","i1","i2.ButtonComponent","i2.DisplayComponent","i3.TitleComponent","i2.BoxComponent","i3.TextComponent","i1.BoxComponent","i2.TextComponent","i3.IconComponent","i3.ButtonGroupComponent","i4.TitleBlockComponent"],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { ButtonMetadata } from './types';
3
+ import { DownloadService } from '../../../services/download.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class ButtonComponent implements OnInit {
6
+ private download;
5
7
  states: {
6
8
  ENABLED: "ENABLED";
7
9
  DISABLED: "DISABLED";
@@ -9,7 +11,7 @@ export declare class ButtonComponent implements OnInit {
9
11
  };
10
12
  props: ButtonMetadata;
11
13
  onClick: EventEmitter<string>;
12
- constructor();
14
+ constructor(download: DownloadService);
13
15
  ngOnInit(): void;
14
16
  clickHandler(): void;
15
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DownloadService {
3
+ getFileNameFromUrl(url: string): string;
4
+ downloadLinkFromBrowser(url: string): void;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<DownloadService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<DownloadService>;
7
+ }
@@ -15,9 +15,11 @@ export declare class ThemeService {
15
15
  default: ThemeOption;
16
16
  theme: BehaviorSubject<ThemeOption>;
17
17
  constructor();
18
+ private handleAutoConfiguration;
19
+ private handleDarkPreference;
20
+ private handleLightPreference;
18
21
  get Theme(): ThemeOption;
19
22
  set Theme(theme: ThemeOption);
20
- toggleChange(ev: any): void;
21
23
  toggleTheme(name: string, shouldAdd: boolean): void;
22
24
  toggleUserPreference(option: ThemeOption): void;
23
25
  static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
@@ -1,4 +1,4 @@
1
- import { InjectionToken, ModuleWithProviders } from '@angular/core';
1
+ import { InjectionToken } from '@angular/core';
2
2
  import { Provider } from './services/lang-provider/content';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./components/atoms/button/button.component";
@@ -26,7 +26,6 @@ export interface ValtechConfig {
26
26
  }
27
27
  export declare const ValtechConfigService: InjectionToken<ValtechConfig>;
28
28
  export declare class ValtechComponentsModule {
29
- static forRoot(config: ValtechConfig): ModuleWithProviders<ValtechComponentsModule>;
30
29
  static ɵfac: i0.ɵɵFactoryDeclaration<ValtechComponentsModule, never>;
31
30
  static ɵmod: i0.ɵɵNgModuleDeclaration<ValtechComponentsModule, [typeof i1.ButtonComponent, typeof i2.BoxComponent, typeof i3.DisplayComponent, typeof i4.TextComponent, typeof i5.TitleComponent, typeof i6.AvatarComponent, typeof i7.DividerComponent, typeof i8.ContentLoaderComponent, typeof i9.LinkComponent, typeof i10.SearchbarComponent, typeof i11.ToolbarComponent, typeof i12.IconComponent, typeof i13.ButtonGroupComponent, typeof i14.TitleBlockComponent, typeof i15.AlertBoxComponent, typeof i16.BannerComponent, typeof i17.NotesBoxComponent], [typeof i18.CommonModule, typeof i19.HttpClientModule, typeof i20.IonicModule], [typeof i1.ButtonComponent, typeof i2.BoxComponent, typeof i3.DisplayComponent, typeof i4.TextComponent, typeof i5.TitleComponent, typeof i6.AvatarComponent, typeof i7.DividerComponent, typeof i8.ContentLoaderComponent, typeof i9.LinkComponent, typeof i10.SearchbarComponent, typeof i11.ToolbarComponent, typeof i12.IconComponent, typeof i13.ButtonGroupComponent, typeof i14.TitleBlockComponent, typeof i15.AlertBoxComponent, typeof i16.BannerComponent, typeof i17.NotesBoxComponent]>;
32
31
  static ɵinj: i0.ɵɵInjectorDeclaration<ValtechComponentsModule>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "1.11.34",
3
+ "version": "1.11.36",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/solucionesvaltech/valtech-workspace.git"
package/public-api.d.ts CHANGED
@@ -21,5 +21,6 @@ export * from './lib/services/lang-provider/lang-provider.service';
21
21
  export * from './lib/services/lang-provider/types';
22
22
  export * from './lib/services/local-storage.service';
23
23
  export * from './lib/services/theme.service';
24
+ export * from './lib/services/download.service';
24
25
  export * from './lib/components/types';
25
26
  export * from './lib/valtech-components.module';