@dangl/angular-material-shared 2.7.4-beta0002 → 2.7.4-beta0014

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.
package/README.md CHANGED
@@ -33,17 +33,18 @@ This package defines a common theme to be used in all Dangl**IT** apps.
33
33
 
34
34
  Add this import to your global `styles.scss` file:
35
35
 
36
+ ### For using Material 2
37
+
36
38
  @import '@dangl/angular-material-shared/styles/material-style.scss';
37
39
 
38
- To access color variables, you can add this import to any file:
40
+ ### For using Material 3
41
+
42
+ @import '@dangl/angular-material-shared/styles/m3-theme.scss';
39
43
 
40
- @import '@dangl/angular-material-shared/styles/material-variables.scss';
41
- // Provides the following colors:
42
- $color-primary: mat-color($dangl-app-primary);
43
- $color-accent: mat-color($dangl-app-accent);
44
- $color-warn: mat-color($dangl-app-warn);
45
- $color-dark: #3b4c55;
46
- $color-light: #bdbdbd;
44
+ To access color variables, just use css var():
45
+ Example:
46
+ background-color: var(--color-accent);
47
+ Colors: var(--color-primary), var(--color-accent) , var(--color-warn) , var(--color-dark),var(--color-light)
47
48
 
48
49
  ### Fonts
49
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"dangl-angular-material-shared-guid-generator.mjs","sources":["../../../projects/angular-material-shared/guid-generator/src/guid-generator.ts","../../../projects/angular-material-shared/guid-generator/dangl-angular-material-shared-guid-generator.ts"],"sourcesContent":["export class GuidGenerator {\r\n /**\r\n * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid\r\n * (modified)\r\n * Generates a Version 4 (= Pseudorandom) Guid\r\n */\r\n public static generatePseudoRandomGuid(): string {\r\n const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\r\n const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));\r\n return pseudoGuid;\r\n }\r\n\r\n private static generateRandomHexDigit(letter: string): string {\r\n const r = Math.random() * 16 | 0;\r\n let v: number;\r\n if (letter === 'x') {\r\n v = r;\r\n } else if (letter === 'y') {\r\n v = r & 0x3 | 0x8;\r\n /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011\r\n * | 0x8 -> 0x1000 = 8\r\n * 0x1001 = 9\r\n * 0x1010 = A\r\n * 0x1011 = B\r\n * The possible variants of version 4 Guids\r\n */\r\n } else {\r\n throw new Error('Please provide either \"x\" to indicate a random replacement or \"y\" to '\r\n + 'indicate the generation of the variant identifier');\r\n }\r\n return v.toString(16);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"MAAa,aAAa,CAAA;AACxB;;;;AAIE;AACK,IAAA,OAAO,wBAAwB,GAAA;QACpC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,QAAA,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtG,QAAA,OAAO,UAAU,CAAC;KACnB;IAEO,OAAO,sBAAsB,CAAC,MAAc,EAAA;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,QAAA,IAAI,CAAS,CAAC;AACd,QAAA,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC;SACP;AAAM,aAAA,IAAI,MAAM,KAAK,GAAG,EAAE;AACzB,YAAA,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAClB;;;;;;AAME;SACH;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,uEAAuE;AACnF,kBAAA,mDAAmD,CAAC,CAAC;SAC1D;AACD,QAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACvB;AACF;;AChCD;;AAEG;;;;"}
1
+ {"version":3,"file":"dangl-angular-material-shared-guid-generator.mjs","sources":["../../../projects/angular-material-shared/guid-generator/src/guid-generator.ts","../../../projects/angular-material-shared/guid-generator/dangl-angular-material-shared-guid-generator.ts"],"sourcesContent":["export class GuidGenerator {\r\n /**\r\n * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid\r\n * (modified)\r\n * Generates a Version 4 (= Pseudorandom) Guid\r\n */\r\n public static generatePseudoRandomGuid(): string {\r\n const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\r\n const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));\r\n return pseudoGuid;\r\n }\r\n\r\n private static generateRandomHexDigit(letter: string): string {\r\n const r = Math.random() * 16 | 0;\r\n let v: number;\r\n if (letter === 'x') {\r\n v = r;\r\n } else if (letter === 'y') {\r\n v = r & 0x3 | 0x8;\r\n /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011\r\n * | 0x8 -> 0x1000 = 8\r\n * 0x1001 = 9\r\n * 0x1010 = A\r\n * 0x1011 = B\r\n * The possible variants of version 4 Guids\r\n */\r\n } else {\r\n throw new Error('Please provide either \"x\" to indicate a random replacement or \"y\" to '\r\n + 'indicate the generation of the variant identifier');\r\n }\r\n return v.toString(16);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"MAAa,aAAa,CAAA;AACxB;;;;AAIE;AACK,IAAA,OAAO,wBAAwB,GAAA;QACpC,MAAM,kBAAkB,GAAG,sCAAsC;AACjE,QAAA,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACrG,QAAA,OAAO,UAAU;;IAGX,OAAO,sBAAsB,CAAC,MAAc,EAAA;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;AAChC,QAAA,IAAI,CAAS;AACb,QAAA,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,CAAC,GAAG,CAAC;;AACA,aAAA,IAAI,MAAM,KAAK,GAAG,EAAE;AACzB,YAAA,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;AACjB;;;;;;AAME;;aACG;YACL,MAAM,IAAI,KAAK,CAAC;AACZ,kBAAA,mDAAmD,CAAC;;AAE1D,QAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;;AAExB;;AChCD;;AAEG;;;;"}
@@ -88,8 +88,8 @@ class TinyMceComponent {
88
88
  this.editor.mode.set('design');
89
89
  }
90
90
  }
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
93
93
  {
94
94
  provide: NG_VALUE_ACCESSOR,
95
95
  useExisting: forwardRef(() => TinyMceComponent),
@@ -97,7 +97,7 @@ class TinyMceComponent {
97
97
  }
98
98
  ], ngImport: i0, template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TinyMceComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TinyMceComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{ selector: 'dangl-tiny-mce', providers: [
103
103
  {
@@ -105,7 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
105
105
  useExisting: forwardRef(() => TinyMceComponent),
106
106
  multi: true,
107
107
  }
108
- ], standalone: true, imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
108
+ ], imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
109
109
  }], ctorParameters: () => [{ type: undefined, decorators: [{
110
110
  type: Inject,
111
111
  args: ['TINYMCE_BASE_URL']
@@ -1 +1 @@
1
- {"version":3,"file":"dangl-angular-material-shared-tiny-mce.mjs","sources":["../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.ts","../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.html","../../../projects/angular-material-shared/tiny-mce/dangl-angular-material-shared-tiny-mce.ts"],"sourcesContent":["import { Component, forwardRef, Inject, Input, NgZone, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';\r\nimport { RawEditorOptions, Editor } from 'tinymce';\r\n@Component({\r\n selector: 'dangl-tiny-mce',\r\n templateUrl: './tiny-mce.component.html',\r\n styleUrls: ['./tiny-mce.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TinyMceComponent),\r\n multi: true,\r\n }\r\n ],\r\n standalone: true,\r\n imports: [EditorModule],\r\n})\r\nexport class TinyMceComponent implements OnInit, ControlValueAccessor {\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: Editor;\r\n init:RawEditorOptions;\r\n private _editorContent: string;\r\n private _disabled = false;\r\n get editorContent(): string {\r\n return this._editorContent;\r\n }\r\n set editorContent(value: string) {\r\n if (value !== this._editorContent) {\r\n this._editorContent = value;\r\n this.ngZone.run(() => {\r\n // tinyMCE events are outside of the Angular zone\r\n // ngZone.run() makes sure everything runs in the\r\n // Angular zone, so it integrates in the Angular\r\n // lifecycle. Otherwise, e.g., 'required' validation\r\n // would not update on change\r\n this.onChangeCallback(value);\r\n });\r\n }\r\n }\r\n\r\n private onTouchedCallback: () => void = () => {};\r\n private onChangeCallback: (_: any) => void = () => {};\r\n\r\n constructor(\r\n @Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init = {\r\n selector:`#${this.elementId}`,\r\n plugins: ['link', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n promotion: false,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: (editor: Editor) => {\r\n editor.on('change keyup', () => {\r\n const content = editor.getContent();\r\n this.editorContent = content;\r\n });\r\n },\r\n init_instance_callback: (editor: Editor) => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n this.setDisabledState(this._disabled)\r\n }\r\n };\r\n }\r\n\r\n writeValue(obj: any): void {\r\n obj = obj || '';\r\n this.editorContent = obj;\r\n if (!this.editor) {\r\n return;\r\n }\r\n const tinyMceContent = this.editor.getContent();\r\n if (tinyMceContent !== obj) {\r\n this.editor.setContent(obj);\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (isDisabled) {\r\n this.editor.mode.set('readonly');\r\n } else {\r\n this.editor.mode.set('design');\r\n }\r\n }\r\n}\r\n","<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dangl-angular-material-shared-tiny-mce.mjs","sources":["../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.ts","../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.html","../../../projects/angular-material-shared/tiny-mce/dangl-angular-material-shared-tiny-mce.ts"],"sourcesContent":["import { Component, forwardRef, Inject, Input, NgZone, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';\r\nimport { RawEditorOptions, Editor } from 'tinymce';\r\n@Component({\r\n selector: 'dangl-tiny-mce',\r\n templateUrl: './tiny-mce.component.html',\r\n styleUrls: ['./tiny-mce.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TinyMceComponent),\r\n multi: true,\r\n }\r\n ],\r\n imports: [EditorModule]\r\n})\r\nexport class TinyMceComponent implements OnInit, ControlValueAccessor {\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: Editor;\r\n init:RawEditorOptions;\r\n private _editorContent: string;\r\n private _disabled = false;\r\n get editorContent(): string {\r\n return this._editorContent;\r\n }\r\n set editorContent(value: string) {\r\n if (value !== this._editorContent) {\r\n this._editorContent = value;\r\n this.ngZone.run(() => {\r\n // tinyMCE events are outside of the Angular zone\r\n // ngZone.run() makes sure everything runs in the\r\n // Angular zone, so it integrates in the Angular\r\n // lifecycle. Otherwise, e.g., 'required' validation\r\n // would not update on change\r\n this.onChangeCallback(value);\r\n });\r\n }\r\n }\r\n\r\n private onTouchedCallback: () => void = () => {};\r\n private onChangeCallback: (_: any) => void = () => {};\r\n\r\n constructor(\r\n @Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init = {\r\n selector:`#${this.elementId}`,\r\n plugins: ['link', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n promotion: false,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: (editor: Editor) => {\r\n editor.on('change keyup', () => {\r\n const content = editor.getContent();\r\n this.editorContent = content;\r\n });\r\n },\r\n init_instance_callback: (editor: Editor) => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n this.setDisabledState(this._disabled)\r\n }\r\n };\r\n }\r\n\r\n writeValue(obj: any): void {\r\n obj = obj || '';\r\n this.editorContent = obj;\r\n if (!this.editor) {\r\n return;\r\n }\r\n const tinyMceContent = this.editor.getContent();\r\n if (tinyMceContent !== obj) {\r\n this.editor.setContent(obj);\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (isDisabled) {\r\n this.editor.mode.set('readonly');\r\n } else {\r\n this.editor.mode.set('design');\r\n }\r\n }\r\n}\r\n","<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -24,12 +24,12 @@ class FooterComponent {
24
24
  options;
25
25
  legalNoticeCallback = new EventEmitter();
26
26
  privacyCallback = new EventEmitter();
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: FooterComponent, isStandalone: true, selector: "dangl-footer", inputs: { showLegalNotice: "showLegalNotice", showPrivacy: "showPrivacy", legalNoticeText: "legalNoticeText", privacyText: "privacyText", legalNoticeLink: "legalNoticeLink", privacyLink: "privacyLink", useLegalNoticeCallback: "useLegalNoticeCallback", usePrivaceCallback: "usePrivaceCallback", options: "options" }, outputs: { legalNoticeCallback: "legalNoticeCallback", privacyCallback: "privacyCallback" }, ngImport: i0, template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: FooterComponent, isStandalone: true, selector: "dangl-footer", inputs: { showLegalNotice: "showLegalNotice", showPrivacy: "showPrivacy", legalNoticeText: "legalNoticeText", privacyText: "privacyText", legalNoticeLink: "legalNoticeLink", privacyLink: "privacyLink", useLegalNoticeCallback: "useLegalNoticeCallback", usePrivaceCallback: "usePrivaceCallback", options: "options" }, outputs: { legalNoticeCallback: "legalNoticeCallback", privacyCallback: "privacyCallback" }, ngImport: i0, template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FooterComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: FooterComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'dangl-footer', standalone: true, imports: [
32
+ args: [{ selector: 'dangl-footer', imports: [
33
33
  CommonModule,
34
34
  RouterModule
35
35
  ], template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n" }]
@@ -107,18 +107,18 @@ class HeaderComponent {
107
107
  this.showPrerelease = false;
108
108
  }
109
109
  }
110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: HeaderComponent, isStandalone: true, selector: "dangl-header", inputs: { prefix: "prefix", postfix: "postfix", showMenuButton: "showMenuButton", logoInitials: "logoInitials", iconUrl: "iconUrl", preReleaseVersion: "preReleaseVersion", preReleaseBuildDate: "preReleaseBuildDate", preReleaseLiveSiteLink: "preReleaseLiveSiteLink", showPrerelease: "showPrerelease" }, outputs: { menuButtonClicked: "menuButtonClicked" }, usesOnChanges: true, ngImport: i0, template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.header-divider{background-color:#3b4c55;height:12px}mat-toolbar-row.preview-notice{height:auto;background-color:#f44336;display:flex;flex-direction:column}mat-toolbar-row.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between;padding-top:5px}mat-toolbar-row.preview-notice .preview-row a{text-decoration:underline}mat-toolbar-row.preview-notice .preview-row .btn-wrap button{margin:1px}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{font-size:1.5rem;height:1.5rem;width:1.5rem;transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}.warn-message{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2$1.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: HeaderComponent, isStandalone: true, selector: "dangl-header", inputs: { prefix: "prefix", postfix: "postfix", showMenuButton: "showMenuButton", logoInitials: "logoInitials", iconUrl: "iconUrl", preReleaseVersion: "preReleaseVersion", preReleaseBuildDate: "preReleaseBuildDate", preReleaseLiveSiteLink: "preReleaseLiveSiteLink", showPrerelease: "showPrerelease" }, outputs: { menuButtonClicked: "menuButtonClicked" }, usesOnChanges: true, ngImport: i0, template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-mini-fab\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".header-divider{background-color:var(--color-dark);height:12px}mat-toolbar-row.preview-notice{height:auto;background-color:var(--color-warn);display:flex;flex-direction:column}mat-toolbar-row.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between;padding-top:5px}mat-toolbar-row.preview-notice .preview-row a{text-decoration:underline}mat-toolbar-row.preview-notice .preview-row .btn-wrap button{margin:1px}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px;background:var(--color-primary);box-shadow:none!important;border-radius:0}.menu-button mat-icon{font-size:1.5rem;height:1.5rem;width:1.5rem;transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}.warn-message{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2$1.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HeaderComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: HeaderComponent, decorators: [{
114
114
  type: Component,
115
- args: [{ selector: 'dangl-header', standalone: true, imports: [
115
+ args: [{ selector: 'dangl-header', imports: [
116
116
  CommonModule,
117
117
  MatToolbarModule,
118
118
  MatIconModule,
119
119
  MatButtonModule,
120
120
  RouterLink
121
- ], template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.header-divider{background-color:#3b4c55;height:12px}mat-toolbar-row.preview-notice{height:auto;background-color:#f44336;display:flex;flex-direction:column}mat-toolbar-row.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between;padding-top:5px}mat-toolbar-row.preview-notice .preview-row a{text-decoration:underline}mat-toolbar-row.preview-notice .preview-row .btn-wrap button{margin:1px}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{font-size:1.5rem;height:1.5rem;width:1.5rem;transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}.warn-message{display:flex;align-items:center}\n"] }]
121
+ ], template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-mini-fab\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".header-divider{background-color:var(--color-dark);height:12px}mat-toolbar-row.preview-notice{height:auto;background-color:var(--color-warn);display:flex;flex-direction:column}mat-toolbar-row.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between;padding-top:5px}mat-toolbar-row.preview-notice .preview-row a{text-decoration:underline}mat-toolbar-row.preview-notice .preview-row .btn-wrap button{margin:1px}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px;background:var(--color-primary);box-shadow:none!important;border-radius:0}.menu-button mat-icon{font-size:1.5rem;height:1.5rem;width:1.5rem;transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}.warn-message{display:flex;align-items:center}\n"] }]
122
122
  }], propDecorators: { prefix: [{
123
123
  type: Input
124
124
  }], postfix: [{
@@ -1 +1 @@
1
- {"version":3,"file":"dangl-angular-material-shared.mjs","sources":["../../../projects/angular-material-shared/src/lib/components/footer/footer.component.ts","../../../projects/angular-material-shared/src/lib/components/footer/footer.component.html","../../../projects/angular-material-shared/src/lib/components/header/header.component.ts","../../../projects/angular-material-shared/src/lib/components/header/header.component.html","../../../projects/angular-material-shared/src/public_api.ts","../../../projects/angular-material-shared/src/dangl-angular-material-shared.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { FooterOptions } from '../../models/footer-options';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'dangl-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ]\r\n})\r\nexport class FooterComponent {\r\n currentYear = new Date().getFullYear();\r\n\r\n @Input() showLegalNotice = false;\r\n @Input() showPrivacy = false;\r\n @Input() legalNoticeText = 'Legal Notice';\r\n @Input() privacyText = 'Privacy';\r\n @Input() legalNoticeLink = 'legal-notice';\r\n @Input() privacyLink = 'privacy';\r\n @Input() useLegalNoticeCallback = false;\r\n @Input() usePrivaceCallback = false;\r\n @Input() options: FooterOptions;\r\n @Output() legalNoticeCallback = new EventEmitter();\r\n @Output() privacyCallback = new EventEmitter();\r\n}\r\n","<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH © {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { RouterLink } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'dangl-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n RouterLink\r\n ]\r\n})\r\nexport class HeaderComponent implements OnChanges {\r\n @Input() prefix: string;\r\n @Input() postfix: string;\r\n @Input() showMenuButton = false;\r\n @Input() logoInitials = 'GD';\r\n @Input() iconUrl: string;\r\n @Output() menuButtonClicked = new EventEmitter();\r\n\r\n @Input() preReleaseVersion: string;\r\n @Input() preReleaseBuildDate: Date;\r\n @Input() preReleaseLiveSiteLink: string;\r\n\r\n @Input() set showPrerelease(val: boolean) {\r\n if (val) {\r\n this._forceDisablePrereleaseHeader = false;\r\n this._showPrerelease = this.checkPrereleaseData();\r\n } else {\r\n this._forceDisablePrereleaseHeader = true;\r\n this._showPrerelease = false;\r\n }\r\n }\r\n\r\n get showPrerelease() {\r\n if (this._forceDisablePrereleaseHeader) {\r\n return false;\r\n }\r\n return this._showPrerelease;\r\n }\r\n\r\n private _showPrerelease: boolean;\r\n private _forceDisablePrereleaseHeader = false;\r\n\r\n ngOnChanges(_: SimpleChanges): void {\r\n if (!this._forceDisablePrereleaseHeader) {\r\n this._showPrerelease = this.checkPrereleaseData();\r\n }\r\n }\r\n\r\n checkPrereleaseData(): boolean {\r\n let isShowing =\r\n this.preReleaseVersion != null ||\r\n this.preReleaseBuildDate != null ||\r\n this.preReleaseLiveSiteLink != null;\r\n if (this.preReleaseVersion != null && typeof Storage !== \"undefined\") {\r\n isShowing =\r\n this.preReleaseVersion !==\r\n localStorage.getItem(\"dangl_preview_notice_header_hide_version\");\r\n }\r\n return isShowing;\r\n }\r\n\r\n hideForCurrentVersion() {\r\n if (typeof Storage !== \"undefined\") {\r\n localStorage.setItem(\r\n \"dangl_preview_notice_header_hide_version\",\r\n this.preReleaseVersion\r\n );\r\n this.showPrerelease = false;\r\n }\r\n }\r\n}\r\n","<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n","/*\r\n * Public API Surface of angular-material-shared\r\n */\r\n\r\nexport * from './lib/models/footer-options';\r\nexport * from './lib/components/footer/footer.component';\r\nexport * from './lib/components/header/header.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"dangl-angular-material-shared.mjs","sources":["../../../projects/angular-material-shared/src/lib/components/footer/footer.component.ts","../../../projects/angular-material-shared/src/lib/components/footer/footer.component.html","../../../projects/angular-material-shared/src/lib/components/header/header.component.ts","../../../projects/angular-material-shared/src/lib/components/header/header.component.html","../../../projects/angular-material-shared/src/public_api.ts","../../../projects/angular-material-shared/src/dangl-angular-material-shared.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { FooterOptions } from '../../models/footer-options';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'dangl-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ]\r\n})\r\nexport class FooterComponent {\r\n currentYear = new Date().getFullYear();\r\n\r\n @Input() showLegalNotice = false;\r\n @Input() showPrivacy = false;\r\n @Input() legalNoticeText = 'Legal Notice';\r\n @Input() privacyText = 'Privacy';\r\n @Input() legalNoticeLink = 'legal-notice';\r\n @Input() privacyLink = 'privacy';\r\n @Input() useLegalNoticeCallback = false;\r\n @Input() usePrivaceCallback = false;\r\n @Input() options: FooterOptions;\r\n @Output() legalNoticeCallback = new EventEmitter();\r\n @Output() privacyCallback = new EventEmitter();\r\n}\r\n","<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH © {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { RouterLink } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'dangl-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n imports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n RouterLink\r\n ]\r\n})\r\nexport class HeaderComponent implements OnChanges {\r\n @Input() prefix: string;\r\n @Input() postfix: string;\r\n @Input() showMenuButton = false;\r\n @Input() logoInitials = 'GD';\r\n @Input() iconUrl: string;\r\n @Output() menuButtonClicked = new EventEmitter();\r\n\r\n @Input() preReleaseVersion: string;\r\n @Input() preReleaseBuildDate: Date;\r\n @Input() preReleaseLiveSiteLink: string;\r\n\r\n @Input() set showPrerelease(val: boolean) {\r\n if (val) {\r\n this._forceDisablePrereleaseHeader = false;\r\n this._showPrerelease = this.checkPrereleaseData();\r\n } else {\r\n this._forceDisablePrereleaseHeader = true;\r\n this._showPrerelease = false;\r\n }\r\n }\r\n\r\n get showPrerelease() {\r\n if (this._forceDisablePrereleaseHeader) {\r\n return false;\r\n }\r\n return this._showPrerelease;\r\n }\r\n\r\n private _showPrerelease: boolean;\r\n private _forceDisablePrereleaseHeader = false;\r\n\r\n ngOnChanges(_: SimpleChanges): void {\r\n if (!this._forceDisablePrereleaseHeader) {\r\n this._showPrerelease = this.checkPrereleaseData();\r\n }\r\n }\r\n\r\n checkPrereleaseData(): boolean {\r\n let isShowing =\r\n this.preReleaseVersion != null ||\r\n this.preReleaseBuildDate != null ||\r\n this.preReleaseLiveSiteLink != null;\r\n if (this.preReleaseVersion != null && typeof Storage !== \"undefined\") {\r\n isShowing =\r\n this.preReleaseVersion !==\r\n localStorage.getItem(\"dangl_preview_notice_header_hide_version\");\r\n }\r\n return isShowing;\r\n }\r\n\r\n hideForCurrentVersion() {\r\n if (typeof Storage !== \"undefined\") {\r\n localStorage.setItem(\r\n \"dangl_preview_notice_header_hide_version\",\r\n this.preReleaseVersion\r\n );\r\n this.showPrerelease = false;\r\n }\r\n }\r\n}\r\n","<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-mini-fab\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n","/*\r\n * Public API Surface of angular-material-shared\r\n */\r\n\r\nexport * from './lib/models/footer-options';\r\nexport * from './lib/components/footer/footer.component';\r\nexport * from './lib/components/header/header.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dangl/angular-material-shared",
3
- "version": "2.7.4-beta0002",
3
+ "version": "2.7.4-beta0014",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=18.0.0",
6
6
  "@angular/common": ">=18.0.0",
@@ -22,20 +22,14 @@
22
22
  },
23
23
  ".": {
24
24
  "types": "./index.d.ts",
25
- "esm2022": "./esm2022/dangl-angular-material-shared.mjs",
26
- "esm": "./esm2022/dangl-angular-material-shared.mjs",
27
25
  "default": "./fesm2022/dangl-angular-material-shared.mjs"
28
26
  },
29
27
  "./guid-generator": {
30
28
  "types": "./guid-generator/index.d.ts",
31
- "esm2022": "./esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs",
32
- "esm": "./esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs",
33
29
  "default": "./fesm2022/dangl-angular-material-shared-guid-generator.mjs"
34
30
  },
35
31
  "./tiny-mce": {
36
32
  "types": "./tiny-mce/index.d.ts",
37
- "esm2022": "./esm2022/tiny-mce/dangl-angular-material-shared-tiny-mce.mjs",
38
- "esm": "./esm2022/tiny-mce/dangl-angular-material-shared-tiny-mce.mjs",
39
33
  "default": "./fesm2022/dangl-angular-material-shared-tiny-mce.mjs"
40
34
  }
41
35
  },
@@ -0,0 +1,13 @@
1
+ @function hex-to-rgba($hex, $alpha: 1) {
2
+ @if type-of($hex) != 'color' {
3
+ @error "hex-to-rgba: $hex must be a color.";
4
+ }
5
+
6
+ // Extract RGB values from the HEX color
7
+ $red: red($hex);
8
+ $green: green($hex);
9
+ $blue: blue($hex);
10
+
11
+ // Return RGBA color
12
+ @return rgba($red, $green, $blue, $alpha);
13
+ }
@@ -0,0 +1,66 @@
1
+ @use '@angular/material' as mat;
2
+ @use './m3_theme-colors.scss' as dangl-theme;
3
+ @import "./hex-to-rgba.scss";
4
+ @import "./partials/logo.scss";
5
+ @import "./partials/mat-toolbar.scss";
6
+ @import "./partials/side-navbar.scss";
7
+ @import "./partials/footer.scss";
8
+ @import "./partials/highlights.scss";
9
+
10
+
11
+ html {
12
+ @include mat.theme((
13
+ color: (
14
+ theme-type: light,
15
+ primary: dangl-theme.$primary-palette,
16
+ tertiary: dangl-theme.$tertiary-palette,
17
+ ),
18
+ typography: Roboto,
19
+ density: 0
20
+ ));
21
+
22
+ }
23
+
24
+ :root {
25
+ --color-primary: var(--mat-sys-surface);
26
+ --color-accent:var(--mat-sys-secondary);
27
+ --color-warn:var(--mat-sys-error);
28
+ --color-dark: #3b4c55;
29
+ --color-light: #bdbdbd;
30
+
31
+ @include mat.toolbar-overrides((
32
+ container-text-color: #ffffff,
33
+ ));
34
+
35
+ @include mat.fab-overrides((
36
+ small-container-color:var(--mat-sys-surface),
37
+ small-foreground-color:#ffffff,
38
+ small-focus-container-elevation-shadow:var(--mat-sys-surface),
39
+ small-hover-container-elevation-shadow:var(--mat-sys-surface),
40
+ small-pressed-container-elevation-shadow:var(--mat-sys-surface),
41
+ small-container-elevation-shadow:var(--mat-sys-surface)
42
+ ));
43
+
44
+ @include mat.button-overrides((
45
+ protected-label-text-color:#ffffff,
46
+ ));
47
+
48
+ .mat-warn {
49
+ @include mat.button-overrides((
50
+ filled-container-color:var(--mat-sys-error),
51
+ ));
52
+ }
53
+
54
+ .menu-button {
55
+ @include mat.button-overrides((
56
+ filled-label-text-font: 3.5rem,
57
+ filled-label-text-size:3.5rem,
58
+ outlined-outline-width:3.5rem,
59
+ protected-label-text-transform:scale(3.5),
60
+ ));
61
+
62
+ }
63
+ }
64
+
65
+
66
+
@@ -0,0 +1,138 @@
1
+ // This file was generated by running 'ng generate @angular/material:theme-color'.
2
+ // Proceed with caution if making changes to this file.
3
+
4
+ @use 'sass:map';
5
+ @use '@angular/material' as mat;
6
+
7
+ // Note: Color palettes are generated from primary: #00acc1, secondary: #3b4c55, tertiary: #bdbdbd
8
+ $_palettes: (
9
+ primary: (
10
+ 0: #000000,
11
+ 10: #001f24,
12
+ 20: #00363e,
13
+ 25: #00424b,
14
+ 30: #004e59,
15
+ 35: #005b67,
16
+ 40: #006876,
17
+ 50: #008394,
18
+ 60: #009fb3,
19
+ 70: #2dbbd0,
20
+ 80: #55d7ed,
21
+ 90: #9eefff,
22
+ 95: #d3f7ff,
23
+ 98: #eefcff,
24
+ 99: #f7fdff,
25
+ 100: #ffffff,
26
+ ),
27
+ secondary: (
28
+ 0: #000000,
29
+ 10: #0c1e26,
30
+ 20: #22333b,
31
+ 25: #2d3e46,
32
+ 30: #384952,
33
+ 35: #44555e,
34
+ 40: rgb(96, 125, 139),
35
+ 50: rgb(96, 125, 139),
36
+ 60: #82939d,
37
+ 70: #9caeb8,
38
+ 80: #b7c9d4,
39
+ 90: #d3e5f0,
40
+ 95: #e1f4ff,
41
+ 98: #f4faff,
42
+ 99: #fafcff,
43
+ 100: #ffffff,
44
+ ),
45
+ tertiary: (
46
+ 0: #000000,
47
+ 10: #1a1c1c,
48
+ 20: #2f3131,
49
+ 25: #3a3c3c,
50
+ 30: #464747,
51
+ 35: #515353,
52
+ 40: #5d5e5f,
53
+ 50: #767777,
54
+ 60: #909191,
55
+ 70: #ababab,
56
+ 80: #c6c6c6,
57
+ 90: #e3e2e2,
58
+ 95: #f1f0f0,
59
+ 98: #faf9f9,
60
+ 99: #fdfcfc,
61
+ 100: #ffffff,
62
+ ),
63
+ neutral: (
64
+ 0: #000000,
65
+ 10: #171d1e,
66
+ 20: #2b3133,
67
+ 25: #363c3e,
68
+ 30: #424849,
69
+ 35: #4d5355,
70
+ 40: #595f61,
71
+ 50: #727879,
72
+ 60: #8c9293,
73
+ 70: #a6acae,
74
+ 80: #c2c7c9,
75
+ 90: #dee3e5,
76
+ 95: #ecf2f3,
77
+ 98: #00acc1,
78
+ 99: #f8fdfe,
79
+ 100: #ffffff,
80
+ 4: #090f10,
81
+ 6: #0f1416,
82
+ 12: #1b2122,
83
+ 17: #252b2c,
84
+ 22: #303637,
85
+ 24: #343a3b,
86
+ 87: #d5dbdc,
87
+ 92: #e4e9ea,
88
+ 94: #e9eff0,
89
+ 96: #eff5f6,
90
+ ),
91
+ neutral-variant: (
92
+ 0: #000000,
93
+ 10: #121d20,
94
+ 20: #263235,
95
+ 25: #313d40,
96
+ 30: #3d494b,
97
+ 35: #485557,
98
+ 40: #546163,
99
+ 50: #6d797c,
100
+ 60: #869396,
101
+ 70: #a1adb0,
102
+ 80: #bcc9cc,
103
+ 90: #d8e5e8,
104
+ 95: #e6f3f6,
105
+ 98: #effcff,
106
+ 99: #f7fdff,
107
+ 100: #ffffff,
108
+ ),
109
+ error: (
110
+ 0: #ffffff,
111
+ 10: #f44336,
112
+ 20: #f44336,
113
+ 25: #f44336,
114
+ 30: #f44336,
115
+ 35: #f44336,
116
+ 40: #f44336,
117
+ 50: #f44336,
118
+ 60: #f44336,
119
+ 70: #f44336,
120
+ 80: #f44336,
121
+ 90: #f44336,
122
+ 95: #f44336,
123
+ 98: #f44336,
124
+ 99: #fffbff,
125
+ 100: #ffffff,
126
+ ),
127
+ );
128
+
129
+ $_rest: (
130
+ secondary: map.get($_palettes, secondary),
131
+ neutral: map.get($_palettes, neutral),
132
+ neutral-variant: map.get($_palettes, neutral-variant),
133
+ error: map.get($_palettes, error),
134
+ );
135
+
136
+ $primary-palette: map.merge(map.get($_palettes, primary), $_rest);
137
+ $tertiary-palette: map.merge(map.get($_palettes, tertiary), $_rest);
138
+ $secondary-palette: map.merge(map.get($_palettes, secondary), $_rest);
@@ -1,7 +1,9 @@
1
1
  // Import material theming functions
2
2
  @use '@angular/material' as mat;
3
3
  // @import '@angular/material/theming';
4
- @include mat.core();
4
+ @include mat.elevation-classes();
5
+ @include mat.app-background();
6
+ @import "./hex-to-rgba.scss";
5
7
  // Define the palettes for your theme using the Material Design palettes available in palette.scss
6
8
  // (imported above). For each palette, you can optionally specify a default, lighter, and darker
7
9
  // hue.
@@ -29,3 +31,12 @@ $color-accent: mat.m2-get-color-from-palette($dangl-app-accent);
29
31
  $color-warn: mat.m2-get-color-from-palette($dangl-app-warn);
30
32
  $color-dark: #3b4c55;
31
33
  $color-light: #bdbdbd;
34
+
35
+ :root {
36
+ --color-primary: #{hex-to-rgba($color-primary,1)};
37
+ --color-accent: #{hex-to-rgba($color-accent,1)};
38
+ --color-warn: #{hex-to-rgba($color-warn,1)};
39
+ --color-dark: #3b4c55;
40
+ --color-light: #bdbdbd;
41
+ --color-primary-rgba: #{hex-to-rgba($color-primary,1)};
42
+ }
@@ -1,12 +1,11 @@
1
- @import '../material-variables.scss';
2
1
 
3
2
  .gd-footer p {
4
3
  text-align: center;
5
4
  padding: 0;
6
5
  margin: 0;
7
- color: $color-light;
6
+ color: var(--color-light);
8
7
  a {
9
- color: $color-light;
8
+ color: var(--color-light);
10
9
  text-decoration: none;
11
10
  }
12
11
  }
@@ -16,6 +15,6 @@
16
15
  inset 0 3px 1px -2px rgba(0,0,0,.2),
17
16
  inset 0 1px 5px 0 rgba(0,0,0,.12);
18
17
  padding: 0.4rem 0;
19
- background-color: $color-dark;
18
+ background-color: var(--color-dark);
20
19
  font-weight: 400;
21
20
  }
@@ -1,3 +1,3 @@
1
1
  .primary {
2
- background-color: $color-primary;
2
+ background-color: var(--color-primary);
3
3
  }
@@ -3,36 +3,36 @@ mat-toolbar {
3
3
  margin-right: 10px;
4
4
  vertical-align: middle;
5
5
  }
6
-
6
+
7
7
  .gd-logo {
8
- color: $color-primary;
8
+ color: var(--color-primary);
9
9
  background-color: #fff;
10
- text-shadow: 1px 1px 0 fade-out($color-primary, 0.96),
11
- 1px 2px 0 fade-out($color-primary, 0.96),
12
- 1px 3px 0 fade-out($color-primary, 0.96),
13
- 2px 4px 0 fade-out($color-primary, 0.96),
14
- 3px 5px 0 fade-out($color-primary, 0.96),
15
- 4px 6px 0 fade-out($color-primary, 0.96),
16
- 5px 7px 0 fade-out($color-primary, 0.96),
17
- 6px 8px 0 fade-out($color-primary, 0.96),
18
- 7px 9px 0 fade-out($color-primary, 0.96),
19
- 8px 10px 0 fade-out($color-primary, 0.96),
20
- 9px 11px 0 fade-out($color-primary, 0.96),
21
- 10px 12px 0 fade-out($color-primary, 0.96),
22
- 11px 13px 0 fade-out($color-primary, 0.96),
23
- 12px 14px 0 fade-out($color-primary, 0.96),
24
- 13px 15px 0 fade-out($color-primary, 0.96),
25
- 14px 16px 0 fade-out($color-primary, 0.96),
26
- 15px 17px 0 fade-out($color-primary, 0.96),
27
- 16px 18px 0 fade-out($color-primary, 0.96),
28
- 17px 19px 0 fade-out($color-primary, 0.96),
29
- 18px 20px 0 fade-out($color-primary, 0.96),
30
- 19px 21px 0 fade-out($color-primary, 0.96),
31
- 20px 22px 0 fade-out($color-primary, 0.96),
32
- 21px 23px 0 fade-out($color-primary, 0.96);
10
+ text-shadow: 1px 1px 0 --color-primary-rgba,
11
+ 1px 2px 0 --color-primary-rgba,
12
+ 1px 3px 0 --color-primary-rgba,
13
+ 2px 4px 0 --color-primary-rgba,
14
+ 3px 5px 0 --color-primary-rgba,
15
+ 4px 6px 0 --color-primary-rgba,
16
+ 5px 7px 0 --color-primary-rgba,
17
+ 6px 8px 0 --color-primary-rgba,
18
+ 7px 9px 0 --color-primary-rgba,
19
+ 8px 10px 0 --color-primary-rgba,
20
+ 9px 11px 0 --color-primary-rgba,
21
+ 10px 12px 0 --color-primary-rgba,
22
+ 11px 13px 0 --color-primary-rgba,
23
+ 12px 14px 0 --color-primary-rgba,
24
+ 13px 15px 0 --color-primary-rgba,
25
+ 14px 16px 0 --color-primary-rgba,
26
+ 15px 17px 0 --color-primary-rgba,
27
+ 16px 18px 0 --color-primary-rgba,
28
+ 17px 19px 0 --color-primary-rgba,
29
+ 18px 20px 0 --color-primary-rgba,
30
+ 19px 21px 0 --color-primary-rgba,
31
+ 20px 22px 0 --color-primary-rgba,
32
+ 21px 23px 0 --color-primary-rgba;
33
33
  }
34
34
  }
35
-
35
+
36
36
  .gd-logo {
37
37
  width: 50px;
38
38
  height: 50px;
@@ -41,7 +41,7 @@ mat-toolbar {
41
41
  line-height: 50px;
42
42
  font-weight: 400;
43
43
  vertical-align: middle;
44
- background-color: $color-primary;
44
+ background-color: var(--color-primary);
45
45
  color: #fff;
46
46
  text-align: center;
47
47
  border-radius: 50%;
@@ -69,42 +69,42 @@ mat-toolbar {
69
69
  19px 21px 0 rgba(0,0,0,.05),
70
70
  20px 22px 0 rgba(0,0,0,.05),
71
71
  21px 23px 0 rgba(0,0,0,.05);
72
-
72
+
73
73
  &.gd-logo-white {
74
- color: $color-primary;
74
+ color: var(--color-primary);
75
75
  background-color: #fff;
76
- text-shadow: 1px 1px 0 fade-out($color-primary, 0.96),
77
- 1px 2px 0 fade-out($color-primary, 0.96),
78
- 1px 3px 0 fade-out($color-primary, 0.96),
79
- 2px 4px 0 fade-out($color-primary, 0.96),
80
- 3px 5px 0 fade-out($color-primary, 0.96),
81
- 4px 6px 0 fade-out($color-primary, 0.96),
82
- 5px 7px 0 fade-out($color-primary, 0.96),
83
- 6px 8px 0 fade-out($color-primary, 0.96),
84
- 7px 9px 0 fade-out($color-primary, 0.96),
85
- 8px 10px 0 fade-out($color-primary, 0.96),
86
- 9px 11px 0 fade-out($color-primary, 0.96),
87
- 10px 12px 0 fade-out($color-primary, 0.96),
88
- 11px 13px 0 fade-out($color-primary, 0.96),
89
- 12px 14px 0 fade-out($color-primary, 0.96),
90
- 13px 15px 0 fade-out($color-primary, 0.96),
91
- 14px 16px 0 fade-out($color-primary, 0.96),
92
- 15px 17px 0 fade-out($color-primary, 0.96),
93
- 16px 18px 0 fade-out($color-primary, 0.96),
94
- 17px 19px 0 fade-out($color-primary, 0.96),
95
- 18px 20px 0 fade-out($color-primary, 0.96),
96
- 19px 21px 0 fade-out($color-primary, 0.96),
97
- 20px 22px 0 fade-out($color-primary, 0.96),
98
- 21px 23px 0 fade-out($color-primary, 0.96);
76
+ text-shadow: 1px 1px 0 --color-primary-rgba,
77
+ 1px 2px 0 --color-primary-rgba,
78
+ 1px 3px 0 --color-primary-rgba,
79
+ 2px 4px 0 --color-primary-rgba,
80
+ 3px 5px 0 --color-primary-rgba,
81
+ 4px 6px 0 --color-primary-rgba,
82
+ 5px 7px 0 --color-primary-rgba,
83
+ 6px 8px 0 --color-primary-rgba,
84
+ 7px 9px 0 --color-primary-rgba,
85
+ 8px 10px 0 --color-primary-rgba,
86
+ 9px 11px 0 --color-primary-rgba,
87
+ 10px 12px 0 --color-primary-rgba,
88
+ 11px 13px 0 --color-primary-rgba,
89
+ 12px 14px 0 --color-primary-rgba,
90
+ 13px 15px 0 --color-primary-rgba,
91
+ 14px 16px 0 --color-primary-rgba,
92
+ 15px 17px 0 --color-primary-rgba,
93
+ 16px 18px 0 --color-primary-rgba,
94
+ 17px 19px 0 --color-primary-rgba,
95
+ 18px 20px 0 --color-primary-rgba,
96
+ 19px 21px 0 --color-primary-rgba,
97
+ 20px 22px 0 --color-primary-rgba,
98
+ 21px 23px 0 --color-primary-rgba;
99
99
  }
100
-
100
+
101
101
  &.gd-logo-sm {
102
102
  height: 35px;
103
103
  width: 35px;
104
104
  line-height: 35px;
105
105
  font-size: 18px;
106
106
  }
107
-
107
+
108
108
  &.gd-logo-lg {
109
109
  height: 70px;
110
110
  width: 70px;
@@ -1,4 +1,4 @@
1
1
  .navbar button.route-active {
2
- background-color: $color-accent;
2
+ background-color: var(--color-accent);
3
3
  color: #fff;
4
4
  }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9zcmMvZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvci9kYW5nbC1hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC1ndWlkLWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './src/guid-generator';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL2d1aWQtZ2VuZXJhdG9yL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2d1aWQtZ2VuZXJhdG9yJztcclxuIl19
@@ -1,35 +0,0 @@
1
- export class GuidGenerator {
2
- /**
3
- * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
4
- * (modified)
5
- * Generates a Version 4 (= Pseudorandom) Guid
6
- */
7
- static generatePseudoRandomGuid() {
8
- const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
9
- const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
10
- return pseudoGuid;
11
- }
12
- static generateRandomHexDigit(letter) {
13
- const r = Math.random() * 16 | 0;
14
- let v;
15
- if (letter === 'x') {
16
- v = r;
17
- }
18
- else if (letter === 'y') {
19
- v = r & 0x3 | 0x8;
20
- /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
21
- * | 0x8 -> 0x1000 = 8
22
- * 0x1001 = 9
23
- * 0x1010 = A
24
- * 0x1011 = B
25
- * The possible variants of version 4 Guids
26
- */
27
- }
28
- else {
29
- throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
30
- + 'indicate the generation of the variant identifier');
31
- }
32
- return v.toString(16);
33
- }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvci9zcmMvZ3VpZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDeEI7Ozs7TUFJRTtJQUNLLE1BQU0sQ0FBQyx3QkFBd0I7UUFDcEMsTUFBTSxrQkFBa0IsR0FBRyxzQ0FBc0MsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEcsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFjO1FBQ2xELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBUyxDQUFDO1FBQ2QsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNSLENBQUM7YUFBTSxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbEI7Ozs7OztjQU1FO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RTtrQkFDbkYsbURBQW1ELENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHdWlkR2VuZXJhdG9yIHtcclxuICAvKipcclxuICAqIFRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1N0ZXZlLUZlbnRvbi9UeXBlU2NyaXB0VXRpbGl0aWVzL2Jsb2IvbWFzdGVyL0d1aWRcclxuICAqIChtb2RpZmllZClcclxuICAqIEdlbmVyYXRlcyBhIFZlcnNpb24gNCAoPSBQc2V1ZG9yYW5kb20pIEd1aWRcclxuICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVQc2V1ZG9SYW5kb21HdWlkKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBuZXdHdWlkUGxhY2Vob2xkZXIgPSAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4JztcclxuICAgIGNvbnN0IHBzZXVkb0d1aWQgPSBuZXdHdWlkUGxhY2Vob2xkZXIucmVwbGFjZSgvW3h5XS9nLCBsZXR0ZXIgPT4gdGhpcy5nZW5lcmF0ZVJhbmRvbUhleERpZ2l0KGxldHRlcikpO1xyXG4gICAgcmV0dXJuIHBzZXVkb0d1aWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVJhbmRvbUhleERpZ2l0KGxldHRlcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwO1xyXG4gICAgbGV0IHY6IG51bWJlcjtcclxuICAgIGlmIChsZXR0ZXIgPT09ICd4Jykge1xyXG4gICAgICB2ID0gcjtcclxuICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAneScpIHtcclxuICAgICAgdiA9IHIgJiAweDMgfCAweDg7XHJcbiAgICAgIC8qICByICYgMHgzIC0+IEFsbG93cyBlaXRoZXIgMHgwMDAwLCAweDAwMDEsIDB4MDAxMCBvciAweDAwMTFcclxuICAgICAgKiB8IDB4OCAgICAtPiAweDEwMDAgPSA4XHJcbiAgICAgICogICAgICAgICAgICAgMHgxMDAxID0gOVxyXG4gICAgICAqICAgICAgICAgICAgIDB4MTAxMCA9IEFcclxuICAgICAgKiAgICAgICAgICAgICAweDEwMTEgPSBCXHJcbiAgICAgICogVGhlIHBvc3NpYmxlIHZhcmlhbnRzIG9mIHZlcnNpb24gNCBHdWlkc1xyXG4gICAgICAqL1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBlaXRoZXIgXCJ4XCIgdG8gaW5kaWNhdGUgYSByYW5kb20gcmVwbGFjZW1lbnQgb3IgXCJ5XCIgdG8gJ1xyXG4gICAgICAgICsgJ2luZGljYXRlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSB2YXJpYW50IGlkZW50aWZpZXInKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,52 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/router";
7
- export class FooterComponent {
8
- currentYear = new Date().getFullYear();
9
- showLegalNotice = false;
10
- showPrivacy = false;
11
- legalNoticeText = 'Legal Notice';
12
- privacyText = 'Privacy';
13
- legalNoticeLink = 'legal-notice';
14
- privacyLink = 'privacy';
15
- useLegalNoticeCallback = false;
16
- usePrivaceCallback = false;
17
- options;
18
- legalNoticeCallback = new EventEmitter();
19
- privacyCallback = new EventEmitter();
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: FooterComponent, isStandalone: true, selector: "dangl-footer", inputs: { showLegalNotice: "showLegalNotice", showPrivacy: "showPrivacy", legalNoticeText: "legalNoticeText", privacyText: "privacyText", legalNoticeLink: "legalNoticeLink", privacyLink: "privacyLink", useLegalNoticeCallback: "useLegalNoticeCallback", usePrivaceCallback: "usePrivaceCallback", options: "options" }, outputs: { legalNoticeCallback: "legalNoticeCallback", privacyCallback: "privacyCallback" }, ngImport: i0, template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FooterComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: 'dangl-footer', standalone: true, imports: [
26
- CommonModule,
27
- RouterModule
28
- ], template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span>&nbsp;</span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span>&nbsp;</span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"showPrivacy\">\r\n -\r\n <a *ngIf=\"!usePrivaceCallback\" [routerLink]=\"privacyLink\">{{\r\n privacyText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"usePrivaceCallback\"\r\n (click)=\"privacyCallback.next(null)\"\r\n >{{ privacyText }}</a\r\n >\r\n </ng-template>\r\n &nbsp;\r\n <ng-content></ng-content>\r\n </p>\r\n</footer>\r\n" }]
29
- }], propDecorators: { showLegalNotice: [{
30
- type: Input
31
- }], showPrivacy: [{
32
- type: Input
33
- }], legalNoticeText: [{
34
- type: Input
35
- }], privacyText: [{
36
- type: Input
37
- }], legalNoticeLink: [{
38
- type: Input
39
- }], privacyLink: [{
40
- type: Input
41
- }], useLegalNoticeCallback: [{
42
- type: Input
43
- }], usePrivaceCallback: [{
44
- type: Input
45
- }], options: [{
46
- type: Input
47
- }], legalNoticeCallback: [{
48
- type: Output
49
- }], privacyCallback: [{
50
- type: Output
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVkvQyxNQUFNLE9BQU8sZUFBZTtJQUMxQixXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUNqQyxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDakMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUN4QixzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDL0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLE9BQU8sQ0FBZ0I7SUFDdEIsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN6QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQzt1R0FicEMsZUFBZTsyRkFBZixlQUFlLGllQ2hCNUIsc29EQWtEQSx5RER0Q0ksWUFBWSxrSUFDWixZQUFZOzsyRkFHSCxlQUFlO2tCQVYzQixTQUFTOytCQUNFLGNBQWMsY0FHWixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3FCQUNiOzhCQUtRLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZvb3Rlck9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9vdGVyLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYW5nbC1mb290ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvb3Rlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IHtcclxuICBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0xlZ2FsTm90aWNlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd1ByaXZhY3kgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsZWdhbE5vdGljZVRleHQgPSAnTGVnYWwgTm90aWNlJztcclxuICBASW5wdXQoKSBwcml2YWN5VGV4dCA9ICdQcml2YWN5JztcclxuICBASW5wdXQoKSBsZWdhbE5vdGljZUxpbmsgPSAnbGVnYWwtbm90aWNlJztcclxuICBASW5wdXQoKSBwcml2YWN5TGluayA9ICdwcml2YWN5JztcclxuICBASW5wdXQoKSB1c2VMZWdhbE5vdGljZUNhbGxiYWNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlUHJpdmFjZUNhbGxiYWNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb3B0aW9uczogRm9vdGVyT3B0aW9ucztcclxuICBAT3V0cHV0KCkgbGVnYWxOb3RpY2VDYWxsYmFjayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHJpdmFjeUNhbGxiYWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG59XHJcbiIsIjxmb290ZXIgY2xhc3M9XCJnZC1mb290ZXJcIj5cclxuICA8cD5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhb3B0aW9uc1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImdkLWxvZ28gZ2QtbG9nby1zbVwiPkdEPC9zcGFuPlxyXG4gICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5kYW5nbC1pdC5jb21cIlxyXG4gICAgICAgID5EYW5nbDxzdHJvbmc+SVQ8L3N0cm9uZz4gR21iSCDCqSB7eyBjdXJyZW50WWVhciB9fTwvYVxyXG4gICAgICA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIm9wdGlvbnNcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb25zLmxvZ29Jbml0aWFsc1wiIGNsYXNzPVwiZ2QtbG9nbyBnZC1sb2dvLXNtXCI+e3tcclxuICAgICAgICBvcHRpb25zLmxvZ29Jbml0aWFsc1xyXG4gICAgICB9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4+Jm5ic3A7PC9zcGFuPlxyXG4gICAgICA8YSAqbmdJZj1cIm9wdGlvbnMuY29weXJpZ2h0VXJsXCIgaHJlZj1cInt7IG9wdGlvbnMuY29weXJpZ2h0VXJsIH19XCJcclxuICAgICAgICA+PHNwYW4gW2lubmVySHRtbF09XCJvcHRpb25zLmNvbXBhbnlOYW1lSHRtbFwiPjwvc3BhblxyXG4gICAgICA+PC9hPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgICpuZ0lmPVwiIW9wdGlvbnMuY29weXJpZ2h0VXJsXCJcclxuICAgICAgICBbaW5uZXJIdG1sXT1cIm9wdGlvbnMuY29tcGFueU5hbWVIdG1sXCJcclxuICAgICAgPjwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2hvd0xlZ2FsTm90aWNlXCI+XHJcbiAgICAgIC1cclxuICAgICAgPGEgKm5nSWY9XCIhdXNlTGVnYWxOb3RpY2VDYWxsYmFja1wiIFtyb3V0ZXJMaW5rXT1cImxlZ2FsTm90aWNlTGlua1wiPnt7XHJcbiAgICAgICAgbGVnYWxOb3RpY2VUZXh0XHJcbiAgICAgIH19PC9hPlxyXG4gICAgICA8YVxyXG4gICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgICpuZ0lmPVwidXNlTGVnYWxOb3RpY2VDYWxsYmFja1wiXHJcbiAgICAgICAgKGNsaWNrKT1cImxlZ2FsTm90aWNlQ2FsbGJhY2submV4dChudWxsKVwiXHJcbiAgICAgICAgPnt7IGxlZ2FsTm90aWNlVGV4dCB9fTwvYVxyXG4gICAgICA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNob3dQcml2YWN5XCI+XHJcbiAgICAgIC1cclxuICAgICAgPGEgKm5nSWY9XCIhdXNlUHJpdmFjZUNhbGxiYWNrXCIgW3JvdXRlckxpbmtdPVwicHJpdmFjeUxpbmtcIj57e1xyXG4gICAgICAgIHByaXZhY3lUZXh0XHJcbiAgICAgIH19PC9hPlxyXG4gICAgICA8YVxyXG4gICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgICpuZ0lmPVwidXNlUHJpdmFjZUNhbGxiYWNrXCJcclxuICAgICAgICAoY2xpY2spPVwicHJpdmFjeUNhbGxiYWNrLm5leHQobnVsbClcIlxyXG4gICAgICAgID57eyBwcml2YWN5VGV4dCB9fTwvYVxyXG4gICAgICA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgJm5ic3A7XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9wPlxyXG48L2Zvb3Rlcj5cclxuIl19
@@ -1,95 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatToolbarModule } from '@angular/material/toolbar';
6
- import { RouterLink } from '@angular/router';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/material/toolbar";
10
- import * as i3 from "@angular/material/icon";
11
- import * as i4 from "@angular/material/button";
12
- export class HeaderComponent {
13
- prefix;
14
- postfix;
15
- showMenuButton = false;
16
- logoInitials = 'GD';
17
- iconUrl;
18
- menuButtonClicked = new EventEmitter();
19
- preReleaseVersion;
20
- preReleaseBuildDate;
21
- preReleaseLiveSiteLink;
22
- set showPrerelease(val) {
23
- if (val) {
24
- this._forceDisablePrereleaseHeader = false;
25
- this._showPrerelease = this.checkPrereleaseData();
26
- }
27
- else {
28
- this._forceDisablePrereleaseHeader = true;
29
- this._showPrerelease = false;
30
- }
31
- }
32
- get showPrerelease() {
33
- if (this._forceDisablePrereleaseHeader) {
34
- return false;
35
- }
36
- return this._showPrerelease;
37
- }
38
- _showPrerelease;
39
- _forceDisablePrereleaseHeader = false;
40
- ngOnChanges(_) {
41
- if (!this._forceDisablePrereleaseHeader) {
42
- this._showPrerelease = this.checkPrereleaseData();
43
- }
44
- }
45
- checkPrereleaseData() {
46
- let isShowing = this.preReleaseVersion != null ||
47
- this.preReleaseBuildDate != null ||
48
- this.preReleaseLiveSiteLink != null;
49
- if (this.preReleaseVersion != null && typeof Storage !== "undefined") {
50
- isShowing =
51
- this.preReleaseVersion !==
52
- localStorage.getItem("dangl_preview_notice_header_hide_version");
53
- }
54
- return isShowing;
55
- }
56
- hideForCurrentVersion() {
57
- if (typeof Storage !== "undefined") {
58
- localStorage.setItem("dangl_preview_notice_header_hide_version", this.preReleaseVersion);
59
- this.showPrerelease = false;
60
- }
61
- }
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: HeaderComponent, isStandalone: true, selector: "dangl-header", inputs: { prefix: "prefix", postfix: "postfix", showMenuButton: "showMenuButton", logoInitials: "logoInitials", iconUrl: "iconUrl", preReleaseVersion: "preReleaseVersion", preReleaseBuildDate: "preReleaseBuildDate", preReleaseLiveSiteLink: "preReleaseLiveSiteLink", showPrerelease: "showPrerelease" }, outputs: { menuButtonClicked: "menuButtonClicked" }, usesOnChanges: true, ngImport: i0, template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.header-divider{background-color:#3b4c55;height:12px}mat-toolbar-row.preview-notice{height:auto;background-color:#f44336;display:flex;flex-direction:column}mat-toolbar-row.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between;padding-top:5px}mat-toolbar-row.preview-notice .preview-row a{text-decoration:underline}mat-toolbar-row.preview-notice .preview-row .btn-wrap button{margin:1px}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{font-size:1.5rem;height:1.5rem;width:1.5rem;transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}.warn-message{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HeaderComponent, decorators: [{
66
- type: Component,
67
- args: [{ selector: 'dangl-header', standalone: true, imports: [
68
- CommonModule,
69
- MatToolbarModule,
70
- MatIconModule,
71
- MatButtonModule,
72
- RouterLink
73
- ], template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <div class=\"warn-message\">\r\n <mat-icon>warning</mat-icon>\r\n <span>This is a preview site. </span>\r\n </div>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div class=\"btn-wrap\">\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date : \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.header-divider{background-color:#3b4c55;height:12px}mat-toolbar-row.preview-notice{height:auto;background-color:#f44336;display:flex;flex-direction:column}mat-toolbar-row.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between;padding-top:5px}mat-toolbar-row.preview-notice .preview-row a{text-decoration:underline}mat-toolbar-row.preview-notice .preview-row .btn-wrap button{margin:1px}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{font-size:1.5rem;height:1.5rem;width:1.5rem;transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}.warn-message{display:flex;align-items:center}\n"] }]
74
- }], propDecorators: { prefix: [{
75
- type: Input
76
- }], postfix: [{
77
- type: Input
78
- }], showMenuButton: [{
79
- type: Input
80
- }], logoInitials: [{
81
- type: Input
82
- }], iconUrl: [{
83
- type: Input
84
- }], menuButtonClicked: [{
85
- type: Output
86
- }], preReleaseVersion: [{
87
- type: Input
88
- }], preReleaseBuildDate: [{
89
- type: Input
90
- }], preReleaseLiveSiteLink: [{
91
- type: Input
92
- }], showPrerelease: [{
93
- type: Input
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFlN0MsTUFBTSxPQUFPLGVBQWU7SUFDakIsTUFBTSxDQUFTO0lBQ2YsT0FBTyxDQUFTO0lBQ2hCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixPQUFPLENBQVM7SUFDZixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXhDLGlCQUFpQixDQUFTO0lBQzFCLG1CQUFtQixDQUFPO0lBQzFCLHNCQUFzQixDQUFTO0lBRXhDLElBQWEsY0FBYyxDQUFDLEdBQVk7UUFDdEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNwRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUN2QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWUsQ0FBVTtJQUN6Qiw2QkFBNkIsR0FBRyxLQUFLLENBQUM7SUFFOUMsV0FBVyxDQUFDLENBQWdCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksU0FBUyxHQUNYLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3JFLFNBQVM7Z0JBQ1AsSUFBSSxDQUFDLGlCQUFpQjtvQkFDdEIsWUFBWSxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkMsWUFBWSxDQUFDLE9BQU8sQ0FDbEIsMENBQTBDLEVBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO3VHQTNEVSxlQUFlOzJGQUFmLGVBQWUsZ2NDM0I1Qiw0aUVBNkRBLHcvSUR6Q0ksWUFBWSxxTEFDWixnQkFBZ0IseVBBQ2hCLGFBQWEsbUxBQ2IsZUFBZSw0TkFDZixVQUFVOzsyRkFHRCxlQUFlO2tCQWIzQixTQUFTOytCQUNFLGNBQWMsY0FHWixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3FCQUNYOzhCQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBRUUsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRU8sY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGFuZ2wtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgUm91dGVyTGlua1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcG9zdGZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dNZW51QnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9nb0luaXRpYWxzID0gJ0dEJztcclxuICBASW5wdXQoKSBpY29uVXJsOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIG1lbnVCdXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBwcmVSZWxlYXNlVmVyc2lvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByZVJlbGVhc2VCdWlsZERhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgcHJlUmVsZWFzZUxpdmVTaXRlTGluazogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBzZXQgc2hvd1ByZXJlbGVhc2UodmFsOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuX2ZvcmNlRGlzYWJsZVByZXJlbGVhc2VIZWFkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fc2hvd1ByZXJlbGVhc2UgPSB0aGlzLmNoZWNrUHJlcmVsZWFzZURhdGEoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2ZvcmNlRGlzYWJsZVByZXJlbGVhc2VIZWFkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zaG93UHJlcmVsZWFzZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dQcmVyZWxlYXNlKCkge1xyXG4gICAgaWYgKHRoaXMuX2ZvcmNlRGlzYWJsZVByZXJlbGVhc2VIZWFkZXIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3dQcmVyZWxlYXNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd1ByZXJlbGVhc2U6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfZm9yY2VEaXNhYmxlUHJlcmVsZWFzZUhlYWRlciA9IGZhbHNlO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2ZvcmNlRGlzYWJsZVByZXJlbGVhc2VIZWFkZXIpIHtcclxuICAgICAgdGhpcy5fc2hvd1ByZXJlbGVhc2UgPSB0aGlzLmNoZWNrUHJlcmVsZWFzZURhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrUHJlcmVsZWFzZURhdGEoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNTaG93aW5nID1cclxuICAgICAgdGhpcy5wcmVSZWxlYXNlVmVyc2lvbiAhPSBudWxsIHx8XHJcbiAgICAgIHRoaXMucHJlUmVsZWFzZUJ1aWxkRGF0ZSAhPSBudWxsIHx8XHJcbiAgICAgIHRoaXMucHJlUmVsZWFzZUxpdmVTaXRlTGluayAhPSBudWxsO1xyXG4gICAgaWYgKHRoaXMucHJlUmVsZWFzZVZlcnNpb24gIT0gbnVsbCAmJiB0eXBlb2YgU3RvcmFnZSAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICBpc1Nob3dpbmcgPVxyXG4gICAgICAgIHRoaXMucHJlUmVsZWFzZVZlcnNpb24gIT09XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJkYW5nbF9wcmV2aWV3X25vdGljZV9oZWFkZXJfaGlkZV92ZXJzaW9uXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzU2hvd2luZztcclxuICB9XHJcblxyXG4gIGhpZGVGb3JDdXJyZW50VmVyc2lvbigpIHtcclxuICAgIGlmICh0eXBlb2YgU3RvcmFnZSAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICBcImRhbmdsX3ByZXZpZXdfbm90aWNlX2hlYWRlcl9oaWRlX3ZlcnNpb25cIixcclxuICAgICAgICB0aGlzLnByZVJlbGVhc2VWZXJzaW9uXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2hvd1ByZXJlbGVhc2UgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gIDxtYXQtdG9vbGJhci1yb3c+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvblwiXHJcbiAgICAgICpuZ0lmPVwic2hvd01lbnVCdXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwibWVudUJ1dHRvbkNsaWNrZWQubmV4dChudWxsKVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGEgcm91dGVyTGluaz1cIi9cIiBjbGFzcz1cImhlYWRlci10aXRsZVwiICpuZ0lmPVwiaWNvblVybFwiPlxyXG4gICAgICA8aW1nIGNsYXNzPVwiZGFuZ2wtaGVhZGVyLWxvZ29cIiBbc3JjXT1cImljb25VcmxcIiAvPlxyXG4gICAgPC9hPlxyXG4gICAgPGEgcm91dGVyTGluaz1cIi9cIiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxyXG4gICAgICA8aDE+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJsb2dvSW5pdGlhbHNcIiBjbGFzcz1cImdkLWxvZ29cIj57eyBsb2dvSW5pdGlhbHMgfX08L3NwYW4+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByZWZpeCB8fCBwb3N0Zml4XCI+XHJcbiAgICAgICAgICB7eyBwcmVmaXggfX08c3Ryb25nPnt7IHBvc3RmaXggfX08L3N0cm9uZz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9oMT5cclxuICAgIDwvYT5cclxuICAgIDxzcGFuIGNsYXNzPVwidG9vbGJhci1zcGFjZXJcIj48L3NwYW4+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9tYXQtdG9vbGJhci1yb3c+XHJcbiAgPG1hdC10b29sYmFyLXJvdyAqbmdJZj1cInNob3dQcmVyZWxlYXNlXCIgY2xhc3M9XCJwcmV2aWV3LW5vdGljZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByZXZpZXctcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3YXJuLW1lc3NhZ2VcIj5cclxuICAgICAgICA8bWF0LWljb24+d2FybmluZzwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+VGhpcyBpcyBhIHByZXZpZXcgc2l0ZS4gPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGEgaHJlZj1cInt7IHByZVJlbGVhc2VMaXZlU2l0ZUxpbmsgfX1cIiAqbmdJZj1cInByZVJlbGVhc2VMaXZlU2l0ZUxpbmtcIlxyXG4gICAgICAgID5DbGljayBoZXJlIHRvIGdvIHRvIHRoZSBsaXZlIHNpdGU8L2FcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuLXdyYXBcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93UHJlcmVsZWFzZSA9IGZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBPS1xyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImhpZGVGb3JDdXJyZW50VmVyc2lvbigpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBIaWRlIGZvciB0aGlzIHZlcnNpb25cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXJvd1wiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInByZVJlbGVhc2VWZXJzaW9uXCI+VmVyc2lvbjoge3sgcHJlUmVsZWFzZVZlcnNpb24gfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwicHJlUmVsZWFzZUJ1aWxkRGF0ZVwiXHJcbiAgICAgICAgPkJ1aWx0OiB7eyBwcmVSZWxlYXNlQnVpbGREYXRlIHwgZGF0ZSA6IFwiZGQuTU0ueXl5eSBISDptbVwiIH19PC9zcGFuXHJcbiAgICAgID5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXRvb2xiYXItcm93PlxyXG4gIDxtYXQtdG9vbGJhci1yb3cgY2xhc3M9XCJoZWFkZXItZGl2aWRlclwiPjwvbWF0LXRvb2xiYXItcm93PlxyXG48L21hdC10b29sYmFyPlxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9zcmMvbGliL21vZGVscy9mb290ZXItb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGb290ZXJPcHRpb25zIHtcclxuICAgIGxvZ29Jbml0aWFscz86IHN0cmluZztcclxuICAgIGNvcHlyaWdodFVybD86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lSHRtbD86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,7 +0,0 @@
1
- /*
2
- * Public API Surface of angular-material-shared
3
- */
4
- export * from './lib/models/footer-options';
5
- export * from './lib/components/footer/footer.component';
6
- export * from './lib/components/header/header.component';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhci1tYXRlcmlhbC1zaGFyZWRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9vdGVyLW9wdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtdGlueS1tY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC90aW55LW1jZS9kYW5nbC1hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC10aW55LW1jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './src/tiny-mce.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3RpbnktbWNlLmNvbXBvbmVudCdcclxuIl19
@@ -1,114 +0,0 @@
1
- import { Component, forwardRef, Inject, Input } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { EditorModule } from '@tinymce/tinymce-angular';
4
- import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@tinymce/tinymce-angular";
7
- export class TinyMceComponent {
8
- baseUrl;
9
- ngZone;
10
- tinyMceLanguageCode;
11
- elementId = GuidGenerator.generatePseudoRandomGuid();
12
- editor;
13
- init;
14
- _editorContent;
15
- _disabled = false;
16
- get editorContent() {
17
- return this._editorContent;
18
- }
19
- set editorContent(value) {
20
- if (value !== this._editorContent) {
21
- this._editorContent = value;
22
- this.ngZone.run(() => {
23
- // tinyMCE events are outside of the Angular zone
24
- // ngZone.run() makes sure everything runs in the
25
- // Angular zone, so it integrates in the Angular
26
- // lifecycle. Otherwise, e.g., 'required' validation
27
- // would not update on change
28
- this.onChangeCallback(value);
29
- });
30
- }
31
- }
32
- onTouchedCallback = () => { };
33
- onChangeCallback = () => { };
34
- constructor(baseUrl, ngZone) {
35
- this.baseUrl = baseUrl;
36
- this.ngZone = ngZone;
37
- }
38
- ngOnInit() {
39
- this.init = {
40
- selector: `#${this.elementId}`,
41
- plugins: ['link', 'table', 'image', 'code'],
42
- language: this.tinyMceLanguageCode,
43
- base_url: this.baseUrl,
44
- promotion: false,
45
- branding: false, // To disable 'POWERED BY TINYMCE' in footer
46
- setup: (editor) => {
47
- editor.on('change keyup', () => {
48
- const content = editor.getContent();
49
- this.editorContent = content;
50
- });
51
- },
52
- init_instance_callback: (editor) => {
53
- if (editor && this.editorContent) {
54
- editor.setContent(this.editorContent);
55
- }
56
- this.editor = editor;
57
- this.setDisabledState(this._disabled);
58
- }
59
- };
60
- }
61
- writeValue(obj) {
62
- obj = obj || '';
63
- this.editorContent = obj;
64
- if (!this.editor) {
65
- return;
66
- }
67
- const tinyMceContent = this.editor.getContent();
68
- if (tinyMceContent !== obj) {
69
- this.editor.setContent(obj);
70
- }
71
- }
72
- registerOnChange(fn) {
73
- this.onChangeCallback = fn;
74
- }
75
- registerOnTouched(fn) {
76
- this.onTouchedCallback = fn;
77
- }
78
- setDisabledState(isDisabled) {
79
- this._disabled = isDisabled;
80
- if (!this.editor) {
81
- return;
82
- }
83
- if (isDisabled) {
84
- this.editor.mode.set('readonly');
85
- }
86
- else {
87
- this.editor.mode.set('design');
88
- }
89
- }
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
92
- {
93
- provide: NG_VALUE_ACCESSOR,
94
- useExisting: forwardRef(() => TinyMceComponent),
95
- multi: true,
96
- }
97
- ], ngImport: i0, template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] });
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TinyMceComponent, decorators: [{
100
- type: Component,
101
- args: [{ selector: 'dangl-tiny-mce', providers: [
102
- {
103
- provide: NG_VALUE_ACCESSOR,
104
- useExisting: forwardRef(() => TinyMceComponent),
105
- multi: true,
106
- }
107
- ], standalone: true, imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
108
- }], ctorParameters: () => [{ type: undefined, decorators: [{
109
- type: Inject,
110
- args: ['TINYMCE_BASE_URL']
111
- }] }, { type: i0.NgZone }], propDecorators: { tinyMceLanguageCode: [{
112
- type: Input
113
- }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1tY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQvdGlueS1tY2Uvc3JjL3RpbnktbWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy90aW55LW1jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBZ0I5RSxNQUFNLE9BQU8sZ0JBQWdCO0lBNkJXO0lBQzVCO0lBN0JELG1CQUFtQixDQUFTO0lBRXJDLFNBQVMsR0FBRyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyRCxNQUFNLENBQVM7SUFDZixJQUFJLENBQWtCO0lBQ2QsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLGlEQUFpRDtnQkFDakQsaURBQWlEO2dCQUNqRCxnREFBZ0Q7Z0JBQ2hE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OzJGQTdCakIsZ0JBQWdCLHFIQVZoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9DLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNmSCw4REFDQSx5RERnQlksWUFBWTs7MkZBRVgsZ0JBQWdCO2tCQWQ1QixTQUFTOytCQUNFLGdCQUFnQixhQUdmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixjQUNXLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs7MEJBK0JwQixNQUFNOzJCQUFDLGtCQUFrQjs4REE1Qm5CLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tICdAdGlueW1jZS90aW55bWNlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBHdWlkR2VuZXJhdG9yIH0gZnJvbSAnQGRhbmdsL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL2d1aWQtZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgUmF3RWRpdG9yT3B0aW9ucywgRWRpdG9yIH0gZnJvbSAndGlueW1jZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGFuZ2wtdGlueS1tY2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW55LW1jZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGlueS1tY2UuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbnlNY2VDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH1cclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0VkaXRvck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW55TWNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgdGlueU1jZUxhbmd1YWdlQ29kZTogc3RyaW5nO1xyXG5cclxuICBlbGVtZW50SWQgPSBHdWlkR2VuZXJhdG9yLmdlbmVyYXRlUHNldWRvUmFuZG9tR3VpZCgpO1xyXG4gIGVkaXRvcjogRWRpdG9yO1xyXG4gIGluaXQ6UmF3RWRpdG9yT3B0aW9ucztcclxuICBwcml2YXRlIF9lZGl0b3JDb250ZW50OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICBnZXQgZWRpdG9yQ29udGVudCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvckNvbnRlbnQ7XHJcbiAgfVxyXG4gIHNldCBlZGl0b3JDb250ZW50KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fZWRpdG9yQ29udGVudCkge1xyXG4gICAgICB0aGlzLl9lZGl0b3JDb250ZW50ID0gdmFsdWU7XHJcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgLy8gdGlueU1DRSBldmVudHMgYXJlIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgem9uZVxyXG4gICAgICAgIC8vIG5nWm9uZS5ydW4oKSBtYWtlcyBzdXJlIGV2ZXJ5dGhpbmcgcnVucyBpbiB0aGVcclxuICAgICAgICAvLyBBbmd1bGFyIHpvbmUsIHNvIGl0IGludGVncmF0ZXMgaW4gdGhlIEFuZ3VsYXJcclxuICAgICAgICAvLyBsaWZlY3ljbGUuIE90aGVyd2lzZSwgZS5nLiwgJ3JlcXVpcmVkJyB2YWxpZGF0aW9uXHJcbiAgICAgICAgLy8gd291bGQgbm90IHVwZGF0ZSBvbiBjaGFuZ2VcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdUSU5ZTUNFX0JBU0VfVVJMJykgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCA9IHtcclxuICAgICAgc2VsZWN0b3I6YCMke3RoaXMuZWxlbWVudElkfWAsXHJcbiAgICAgIHBsdWdpbnM6IFsnbGluaycsICd0YWJsZScsICdpbWFnZScsICdjb2RlJ10sXHJcbiAgICAgIGxhbmd1YWdlOiB0aGlzLnRpbnlNY2VMYW5ndWFnZUNvZGUsXHJcbiAgICAgIGJhc2VfdXJsOiB0aGlzLmJhc2VVcmwsXHJcbiAgICAgIHByb21vdGlvbjogZmFsc2UsXHJcbiAgICAgIGJyYW5kaW5nOiBmYWxzZSwgLy8gVG8gZGlzYWJsZSAnUE9XRVJFRCBCWSBUSU5ZTUNFJyBpbiBmb290ZXJcclxuICAgICAgc2V0dXA6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xyXG4gICAgICAgIGVkaXRvci5vbignY2hhbmdlIGtleXVwJywgKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29udGVudCA9IGVkaXRvci5nZXRDb250ZW50KCk7XHJcbiAgICAgICAgICB0aGlzLmVkaXRvckNvbnRlbnQgPSBjb250ZW50O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBpbml0X2luc3RhbmNlX2NhbGxiYWNrOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcclxuICAgICAgICBpZiAoZWRpdG9yICYmIHRoaXMuZWRpdG9yQ29udGVudCkge1xyXG4gICAgICAgICAgZWRpdG9yLnNldENvbnRlbnQodGhpcy5lZGl0b3JDb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7XHJcbiAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHRoaXMuX2Rpc2FibGVkKVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgb2JqID0gb2JqIHx8ICcnO1xyXG4gICAgdGhpcy5lZGl0b3JDb250ZW50ID0gb2JqO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRvcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aW55TWNlQ29udGVudCA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnQoKTtcclxuICAgIGlmICh0aW55TWNlQ29udGVudCAhPT0gb2JqKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yLnNldENvbnRlbnQob2JqKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICBpZiAoIXRoaXMuZWRpdG9yKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yLm1vZGUuc2V0KCdyZWFkb25seScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0b3IubW9kZS5zZXQoJ2Rlc2lnbicpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZWRpdG9yIGlkPVwie3sgZWxlbWVudElkIH19XCIgW2luaXRdPVwiaW5pdFwiPjwvZWRpdG9yPlxyXG4iXX0=