i-tech-shared-components 1.1.4 → 1.1.6

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.
Files changed (81) hide show
  1. package/docs/README.md +12 -5
  2. package/ng-package.json +17 -0
  3. package/package.json +19 -32
  4. package/src/README.md +0 -0
  5. package/src/lib/components/autocomplete-select/autocomplete-select.component.html +211 -0
  6. package/src/lib/components/autocomplete-select/autocomplete-select.component.scss +58 -0
  7. package/src/lib/components/autocomplete-select/autocomplete-select.component.ts +430 -0
  8. package/src/lib/components/autocomplete-select/loader.svg +6 -0
  9. package/src/lib/components/button/button.component.css +0 -0
  10. package/src/lib/components/button/button.component.html +48 -0
  11. package/src/lib/components/button/button.component.spec.ts +23 -0
  12. package/src/lib/components/button/button.component.ts +106 -0
  13. package/src/lib/components/clear-value/clear-value.component.ts +44 -0
  14. package/src/lib/components/date-picker/date-picker.component.html +61 -0
  15. package/src/lib/components/date-picker/date-picker.component.ts +75 -0
  16. package/src/lib/components/date-range-datepicker/date-range-datepicker.component.html +44 -0
  17. package/src/lib/components/date-range-datepicker/date-range-datepicker.component.ts +105 -0
  18. package/src/lib/components/icon-button/icon-button.component.html +27 -0
  19. package/src/lib/components/icon-button/icon-button.component.scss +0 -0
  20. package/src/lib/components/icon-button/icon-button.component.ts +37 -0
  21. package/src/lib/components/label/label.component.html +15 -0
  22. package/src/lib/components/label/label.component.ts +33 -0
  23. package/src/lib/components/menu/menu.component.html +20 -0
  24. package/src/lib/components/menu/menu.component.scss +9 -0
  25. package/src/lib/components/menu/menu.component.ts +39 -0
  26. package/src/lib/components/text/text-input.component.html +91 -0
  27. package/src/lib/components/text/text-input.component.ts +73 -0
  28. package/src/lib/directives/date-mask.directive.ts +97 -0
  29. package/src/lib/directives/input-mask.directive.ts +93 -0
  30. package/src/lib/interfaces/app-input.interface.ts +32 -0
  31. package/src/lib/interfaces/autocomplete-configs.interface.ts +37 -0
  32. package/src/lib/interfaces/button-types.enum.ts +19 -0
  33. package/src/lib/interfaces/dropdown-selection.constants.ts +11 -0
  34. package/src/lib/interfaces/label-type.enum.ts +14 -0
  35. package/src/lib/pipes/array-to-string.pipe.ts +13 -0
  36. package/src/lib/pipes/generate-error-messages.pipe.ts +31 -0
  37. package/src/lib/pipes/get-value-by-key-from-object.pipe.ts +46 -0
  38. package/src/lib/services/input.service.ts +30 -0
  39. package/{public-api.d.ts → src/public-api.ts} +20 -15
  40. package/theme.scss +4 -2
  41. package/tsconfig.lib.json +15 -0
  42. package/tsconfig.lib.prod.json +11 -0
  43. package/tsconfig.spec.json +15 -0
  44. package/.npmignore +0 -2
  45. package/esm2022/i-tech-shared-components.mjs +0 -5
  46. package/esm2022/lib/components/autocomplete-select/autocomplete-select.component.mjs +0 -409
  47. package/esm2022/lib/components/button/button.component.mjs +0 -122
  48. package/esm2022/lib/components/clear-value/clear-value.component.mjs +0 -34
  49. package/esm2022/lib/components/date-picker/date-picker.component.mjs +0 -97
  50. package/esm2022/lib/components/date-range-datepicker/date-range-datepicker.component.mjs +0 -118
  51. package/esm2022/lib/components/icon-button/icon-button.component.mjs +0 -49
  52. package/esm2022/lib/components/text/text-input.component.mjs +0 -73
  53. package/esm2022/lib/directives/date-mask.directive.mjs +0 -92
  54. package/esm2022/lib/directives/input-mask.directive.mjs +0 -92
  55. package/esm2022/lib/interfaces/app-input.interface.mjs +0 -2
  56. package/esm2022/lib/interfaces/autocomplete-configs.interface.mjs +0 -2
  57. package/esm2022/lib/interfaces/button-types.enum.mjs +0 -17
  58. package/esm2022/lib/pipes/array-to-string.pipe.mjs +0 -17
  59. package/esm2022/lib/pipes/generate-error-messages.pipe.mjs +0 -31
  60. package/esm2022/lib/pipes/get-value-by-key-from-object.pipe.mjs +0 -45
  61. package/esm2022/lib/services/input.service.mjs +0 -29
  62. package/esm2022/public-api.mjs +0 -19
  63. package/fesm2022/i-tech-shared-components.mjs +0 -1149
  64. package/fesm2022/i-tech-shared-components.mjs.map +0 -1
  65. package/index.d.ts +0 -5
  66. package/lib/components/autocomplete-select/autocomplete-select.component.d.ts +0 -84
  67. package/lib/components/button/button.component.d.ts +0 -65
  68. package/lib/components/clear-value/clear-value.component.d.ts +0 -9
  69. package/lib/components/date-picker/date-picker.component.d.ts +0 -32
  70. package/lib/components/date-range-datepicker/date-range-datepicker.component.d.ts +0 -36
  71. package/lib/components/icon-button/icon-button.component.d.ts +0 -14
  72. package/lib/components/text/text-input.component.d.ts +0 -21
  73. package/lib/directives/date-mask.directive.d.ts +0 -25
  74. package/lib/directives/input-mask.directive.d.ts +0 -21
  75. package/lib/interfaces/app-input.interface.d.ts +0 -31
  76. package/lib/interfaces/autocomplete-configs.interface.d.ts +0 -37
  77. package/lib/interfaces/button-types.enum.d.ts +0 -15
  78. package/lib/pipes/array-to-string.pipe.d.ts +0 -7
  79. package/lib/pipes/generate-error-messages.pipe.d.ts +0 -10
  80. package/lib/pipes/get-value-by-key-from-object.pipe.d.ts +0 -7
  81. package/lib/services/input.service.d.ts +0 -7
@@ -1,122 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { MatButton } from "@angular/material/button";
3
- import { NgClass, NgIf } from "@angular/common";
4
- import { MatProgressSpinner } from "@angular/material/progress-spinner";
5
- import { MatIconModule } from "@angular/material/icon";
6
- import { TranslateModule, TranslatePipe, TranslateService } from "@ngx-translate/core";
7
- import { ButtonType } from '../../interfaces/button-types.enum';
8
- import { NgxMaskDirective, NgxMaskPipe } from 'ngx-mask';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/icon";
11
- import * as i2 from "@ngx-translate/core";
12
- /**
13
- * A reusable button component with Material Design styling and custom functionality.
14
- */
15
- export class ButtonComponent {
16
- constructor() {
17
- /**
18
- * The text displayed inside the button.
19
- */
20
- this.text = '';
21
- /**
22
- * Data attribute used for Cypress or other testing frameworks.
23
- */
24
- this.data_cy = '';
25
- /**
26
- * Font icon class for displaying an icon (e.g., Material Icons).
27
- */
28
- this.fontIcon = '';
29
- /**
30
- * SVG icon name for displaying an SVG icon.
31
- */
32
- this.svgIcon = '';
33
- /**
34
- * Defines the type of button (e.g., `FILLED`, `OUTLINED`).
35
- */
36
- this.type = ButtonType.FILLED;
37
- /**
38
- * Additional custom classes to style the button.
39
- */
40
- this.customClass = '';
41
- /**
42
- * If true, the button acts as a submit button.
43
- */
44
- this.submit = false;
45
- /**
46
- * If true, the button is disabled and cannot be clicked.
47
- */
48
- this.disabled = false;
49
- /**
50
- * Indicates whether the button is currently activated.
51
- */
52
- this.activated = false;
53
- /**
54
- * The color of the button (e.g., `primary`, `warn`).
55
- */
56
- this.color = 'primary';
57
- /**
58
- * Emits an event when the button is clicked.
59
- */
60
- this.buttonClick = new EventEmitter();
61
- /**
62
- * Enum reference for `ButtonType` to use in templates.
63
- */
64
- this.ButtonType = ButtonType;
65
- }
66
- /**
67
- * Handles the button click event.
68
- *
69
- * @param event - The mouse event triggered by clicking the button.
70
- */
71
- onClick(event) {
72
- if (!this.disabled && !this.submit) {
73
- this.buttonClick.emit();
74
- }
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "i-tech-button", inputs: { text: "text", data_cy: "data_cy", fontIcon: "fontIcon", svgIcon: "svgIcon", type: "type", customClass: "customClass", submit: "submit", disabled: "disabled", activated: "activated", color: "color" }, outputs: { buttonClick: "buttonClick" }, providers: [
78
- NgxMaskDirective,
79
- NgxMaskPipe,
80
- TranslatePipe,
81
- TranslateService
82
- ], ngImport: i0, template: "<button *ngIf=\"[ButtonType.FILLED,ButtonType.WARNING].includes(type)\"\r\n mat-flat-button\r\n [attr.data-cy]=\"data_cy\"\r\n [color]=\"type === ButtonType.WARNING ? 'warn' : color\"\r\n [class.activated]=\"activated\"\r\n [ngClass]=\"(customClass || '')\"\r\n [disabled]=\"disabled || submit\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <span *ngIf=\"submit\" class=\"spinner-overlay\">\r\n <mat-spinner diameter=\"16\"></mat-spinner>\r\n </span>\r\n <mat-icon *ngIf=\"fontIcon && !submit\">{{fontIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIcon && !submit\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n <span>{{text | translate}}</span>\r\n</button>\r\n<button *ngIf=\"[ButtonType.TONAL,ButtonType.TEXT].includes(type)\"\r\n mat-button\r\n [attr.data-cy]=\"data_cy\"\r\n [ngClass]=\"(type === ButtonType.TONAL ? 'tertiary ' : '') + (customClass || '')\"\r\n [class.activated]=\"activated\"\r\n [disabled]=\"disabled || submit\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <span *ngIf=\"submit\" class=\"spinner-overlay\">\r\n <mat-spinner diameter=\"16\"></mat-spinner>\r\n </span>\r\n <mat-icon *ngIf=\"fontIcon && !submit\">{{fontIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIcon && !submit\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n\r\n <span>{{text | translate}}</span>\r\n</button>\r\n<button *ngIf=\"type === ButtonType.OUTLINE\"\r\n [color]=\"color\"\r\n mat-stroked-button\r\n [attr.data-cy]=\"data_cy\"\r\n [ngClass]=\"(customClass || '') \"\r\n [disabled]=\"disabled || submit\"\r\n (click)=\"onClick($event)\"\r\n [class.activated]=\"activated\"\r\n>\r\n <span *ngIf=\"submit\" class=\"spinner-overlay\">\r\n <mat-spinner diameter=\"16\"></mat-spinner>\r\n </span>\r\n <mat-icon *ngIf=\"fontIcon && !submit\" >{{fontIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIcon && !submit\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n <span>{{text | translate}}</span>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
85
- type: Component,
86
- args: [{ selector: 'i-tech-button', standalone: true, imports: [
87
- MatButton,
88
- NgClass,
89
- MatProgressSpinner,
90
- NgIf,
91
- MatIconModule,
92
- TranslateModule
93
- ], providers: [
94
- NgxMaskDirective,
95
- NgxMaskPipe,
96
- TranslatePipe,
97
- TranslateService
98
- ], template: "<button *ngIf=\"[ButtonType.FILLED,ButtonType.WARNING].includes(type)\"\r\n mat-flat-button\r\n [attr.data-cy]=\"data_cy\"\r\n [color]=\"type === ButtonType.WARNING ? 'warn' : color\"\r\n [class.activated]=\"activated\"\r\n [ngClass]=\"(customClass || '')\"\r\n [disabled]=\"disabled || submit\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <span *ngIf=\"submit\" class=\"spinner-overlay\">\r\n <mat-spinner diameter=\"16\"></mat-spinner>\r\n </span>\r\n <mat-icon *ngIf=\"fontIcon && !submit\">{{fontIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIcon && !submit\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n <span>{{text | translate}}</span>\r\n</button>\r\n<button *ngIf=\"[ButtonType.TONAL,ButtonType.TEXT].includes(type)\"\r\n mat-button\r\n [attr.data-cy]=\"data_cy\"\r\n [ngClass]=\"(type === ButtonType.TONAL ? 'tertiary ' : '') + (customClass || '')\"\r\n [class.activated]=\"activated\"\r\n [disabled]=\"disabled || submit\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <span *ngIf=\"submit\" class=\"spinner-overlay\">\r\n <mat-spinner diameter=\"16\"></mat-spinner>\r\n </span>\r\n <mat-icon *ngIf=\"fontIcon && !submit\">{{fontIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIcon && !submit\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n\r\n <span>{{text | translate}}</span>\r\n</button>\r\n<button *ngIf=\"type === ButtonType.OUTLINE\"\r\n [color]=\"color\"\r\n mat-stroked-button\r\n [attr.data-cy]=\"data_cy\"\r\n [ngClass]=\"(customClass || '') \"\r\n [disabled]=\"disabled || submit\"\r\n (click)=\"onClick($event)\"\r\n [class.activated]=\"activated\"\r\n>\r\n <span *ngIf=\"submit\" class=\"spinner-overlay\">\r\n <mat-spinner diameter=\"16\"></mat-spinner>\r\n </span>\r\n <mat-icon *ngIf=\"fontIcon && !submit\" >{{fontIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"svgIcon && !submit\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n <span>{{text | translate}}</span>\r\n</button>\r\n" }]
99
- }], ctorParameters: () => [], propDecorators: { text: [{
100
- type: Input
101
- }], data_cy: [{
102
- type: Input
103
- }], fontIcon: [{
104
- type: Input
105
- }], svgIcon: [{
106
- type: Input
107
- }], type: [{
108
- type: Input
109
- }], customClass: [{
110
- type: Input
111
- }], submit: [{
112
- type: Input
113
- }], disabled: [{
114
- type: Input
115
- }], activated: [{
116
- type: Input
117
- }], color: [{
118
- type: Input
119
- }], buttonClick: [{
120
- type: Output
121
- }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFFeEQ7O0dBRUc7QUFxQkgsTUFBTSxPQUFPLGVBQWU7SUE2RDFCO1FBNURBOztXQUVHO1FBQ00sU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUUzQjs7V0FFRztRQUNNLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFOUI7O1dBRUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COztXQUVHO1FBQ00sWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUU5Qjs7V0FFRztRQUNNLFNBQUksR0FBZSxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRTlDOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRWpDOztXQUVHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUNNLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFcEM7O1dBRUc7UUFDTSxVQUFLLEdBQXVCLFNBQVMsQ0FBQztRQUUvQzs7V0FFRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVqRDs7V0FFRztRQUNnQixlQUFVLEdBQUcsVUFBVSxDQUFDO0lBRTVCLENBQUM7SUFFaEI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOytHQXhFVSxlQUFlO21HQUFmLGVBQWUsdVRBUGY7WUFDVCxnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWE7WUFDYixnQkFBZ0I7U0FDakIsMEJDOUJILHlpRUFnREEsMEREaENJLFNBQVMsaUxBQ1QsT0FBTyxvRkFDUCxrQkFBa0IsK0tBQ2xCLElBQUksNEZBQ0osYUFBYSxtTEFDYixlQUFlOzs0RkFXTixlQUFlO2tCQXBCM0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLElBQUk7d0JBQ0osYUFBYTt3QkFDYixlQUFlO3FCQUNoQixhQUdVO3dCQUNULGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7d0RBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0QnV0dG9ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcclxuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYnV0dG9uLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQge05neE1hc2tEaXJlY3RpdmUsIE5neE1hc2tQaXBlIH0gZnJvbSAnbmd4LW1hc2snO1xyXG5cclxuLyoqXHJcbiAqIEEgcmV1c2FibGUgYnV0dG9uIGNvbXBvbmVudCB3aXRoIE1hdGVyaWFsIERlc2lnbiBzdHlsaW5nIGFuZCBjdXN0b20gZnVuY3Rpb25hbGl0eS5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaS10ZWNoLWJ1dHRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRCdXR0b24sXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyLFxyXG4gICAgTmdJZixcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBOZ3hNYXNrRGlyZWN0aXZlLFxyXG4gICAgTmd4TWFza1BpcGUsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgVHJhbnNsYXRlU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogVGhlIHRleHQgZGlzcGxheWVkIGluc2lkZSB0aGUgYnV0dG9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEYXRhIGF0dHJpYnV0ZSB1c2VkIGZvciBDeXByZXNzIG9yIG90aGVyIHRlc3RpbmcgZnJhbWV3b3Jrcy5cclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhX2N5OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRm9udCBpY29uIGNsYXNzIGZvciBkaXNwbGF5aW5nIGFuIGljb24gKGUuZy4sIE1hdGVyaWFsIEljb25zKS5cclxuICAgKi9cclxuICBASW5wdXQoKSBmb250SWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNWRyBpY29uIG5hbWUgZm9yIGRpc3BsYXlpbmcgYW4gU1ZHIGljb24uXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3ZnSWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIHR5cGUgb2YgYnV0dG9uIChlLmcuLCBgRklMTEVEYCwgYE9VVExJTkVEYCkuXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uVHlwZSA9IEJ1dHRvblR5cGUuRklMTEVEO1xyXG5cclxuICAvKipcclxuICAgKiBBZGRpdGlvbmFsIGN1c3RvbSBjbGFzc2VzIHRvIHN0eWxlIHRoZSBidXR0b24uXHJcbiAgICovXHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBJZiB0cnVlLCB0aGUgYnV0dG9uIGFjdHMgYXMgYSBzdWJtaXQgYnV0dG9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBJZiB0cnVlLCB0aGUgYnV0dG9uIGlzIGRpc2FibGVkIGFuZCBjYW5ub3QgYmUgY2xpY2tlZC5cclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYnV0dG9uIGlzIGN1cnJlbnRseSBhY3RpdmF0ZWQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjb2xvciBvZiB0aGUgYnV0dG9uIChlLmcuLCBgcHJpbWFyeWAsIGB3YXJuYCkuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3I6ICdwcmltYXJ5JyB8ICd3YXJuJyA9ICdwcmltYXJ5JztcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFbnVtIHJlZmVyZW5jZSBmb3IgYEJ1dHRvblR5cGVgIHRvIHVzZSBpbiB0ZW1wbGF0ZXMuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJ1dHRvblR5cGUgPSBCdXR0b25UeXBlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGJ1dHRvbiBjbGljayBldmVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBtb3VzZSBldmVudCB0cmlnZ2VyZWQgYnkgY2xpY2tpbmcgdGhlIGJ1dHRvbi5cclxuICAgKi9cclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuc3VibWl0KSB7XHJcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uICpuZ0lmPVwiW0J1dHRvblR5cGUuRklMTEVELEJ1dHRvblR5cGUuV0FSTklOR10uaW5jbHVkZXModHlwZSlcIlxyXG4gICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgIFthdHRyLmRhdGEtY3ldPVwiZGF0YV9jeVwiXHJcbiAgICAgICAgW2NvbG9yXT1cInR5cGUgPT09IEJ1dHRvblR5cGUuV0FSTklORyA/ICd3YXJuJyA6IGNvbG9yXCJcclxuICAgICAgICBbY2xhc3MuYWN0aXZhdGVkXT1cImFjdGl2YXRlZFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiKGN1c3RvbUNsYXNzIHx8ICcnKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHN1Ym1pdFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXHJcbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInN1Ym1pdFwiIGNsYXNzPVwic3Bpbm5lci1vdmVybGF5XCI+XHJcbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjE2XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgPG1hdC1pY29uICpuZ0lmPVwiZm9udEljb24gJiYgIXN1Ym1pdFwiPnt7Zm9udEljb259fTwvbWF0LWljb24+XHJcbiAgPG1hdC1pY29uICpuZ0lmPVwic3ZnSWNvbiAmJiAhc3VibWl0XCIgW3N2Z0ljb25dPVwic3ZnSWNvblwiPjwvbWF0LWljb24+XHJcbiAgPHNwYW4+e3t0ZXh0IHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbjwvYnV0dG9uPlxyXG48YnV0dG9uICpuZ0lmPVwiW0J1dHRvblR5cGUuVE9OQUwsQnV0dG9uVHlwZS5URVhUXS5pbmNsdWRlcyh0eXBlKVwiXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIFthdHRyLmRhdGEtY3ldPVwiZGF0YV9jeVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiKHR5cGUgPT09IEJ1dHRvblR5cGUuVE9OQUwgPyAndGVydGlhcnkgJyA6ICcnKSArIChjdXN0b21DbGFzcyB8fCAnJylcIlxyXG4gICAgICAgIFtjbGFzcy5hY3RpdmF0ZWRdPVwiYWN0aXZhdGVkXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgc3VibWl0XCJcclxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcclxuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwic3VibWl0XCIgIGNsYXNzPVwic3Bpbm5lci1vdmVybGF5XCI+XHJcbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjE2XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgPG1hdC1pY29uICpuZ0lmPVwiZm9udEljb24gJiYgIXN1Ym1pdFwiPnt7Zm9udEljb259fTwvbWF0LWljb24+XHJcbiAgPG1hdC1pY29uICpuZ0lmPVwic3ZnSWNvbiAmJiAhc3VibWl0XCIgW3N2Z0ljb25dPVwic3ZnSWNvblwiPjwvbWF0LWljb24+XHJcblxyXG4gIDxzcGFuPnt7dGV4dCB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG48L2J1dHRvbj5cclxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09IEJ1dHRvblR5cGUuT1VUTElORVwiXHJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cclxuICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImRhdGFfY3lcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIihjdXN0b21DbGFzcyB8fCAnJykgXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgc3VibWl0XCJcclxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICBbY2xhc3MuYWN0aXZhdGVkXT1cImFjdGl2YXRlZFwiXHJcbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInN1Ym1pdFwiICBjbGFzcz1cInNwaW5uZXItb3ZlcmxheVwiPlxyXG4gICAgICAgICAgICA8bWF0LXNwaW5uZXIgZGlhbWV0ZXI9XCIxNlwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gIDxtYXQtaWNvbiAqbmdJZj1cImZvbnRJY29uICYmICFzdWJtaXRcIiA+e3tmb250SWNvbn19PC9tYXQtaWNvbj5cclxuICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uICYmICFzdWJtaXRcIiBbc3ZnSWNvbl09XCJzdmdJY29uXCI+PC9tYXQtaWNvbj5cclxuICA8c3Bhbj57e3RleHQgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { NgClass, NgOptimizedImage } from "@angular/common";
3
- import * as i0 from "@angular/core";
4
- export class ClearValueComponent {
5
- constructor() {
6
- this.reset = new EventEmitter();
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClearValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ClearValueComponent, isStandalone: true, selector: "i-tech-clear-value", inputs: { className: "className", additionalClass: "additionalClass" }, outputs: { reset: "reset" }, ngImport: i0, template: `<img
10
- class="pointer"
11
- [ngClass]="className || 'standard'"
12
- (click)="reset.emit()"
13
- ngSrc="./ic_close.svg"
14
- height="24" width="24" alt=""/>`, isInline: true, styles: ["img{position:absolute;width:15px;height:15px}.big{width:25px;height:25px}.range_date{right:-65px;top:15px}.standard{right:-20px;top:40px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClearValueComponent, decorators: [{
17
- type: Component,
18
- args: [{ selector: 'i-tech-clear-value', template: `<img
19
- class="pointer"
20
- [ngClass]="className || 'standard'"
21
- (click)="reset.emit()"
22
- ngSrc="./ic_close.svg"
23
- height="24" width="24" alt=""/>`, imports: [
24
- NgClass,
25
- NgOptimizedImage
26
- ], standalone: true, styles: ["img{position:absolute;width:15px;height:15px}.big{width:25px;height:25px}.range_date{right:-65px;top:15px}.standard{right:-20px;top:40px}\n"] }]
27
- }], propDecorators: { className: [{
28
- type: Input
29
- }], additionalClass: [{
30
- type: Input
31
- }], reset: [{
32
- type: Output
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NsZWFyLXZhbHVlL2NsZWFyLXZhbHVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFzQzFELE1BQU0sT0FBTyxtQkFBbUI7SUFwQ2hDO1FBdUNZLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBQzNDOytHQUpZLG1CQUFtQjttR0FBbkIsbUJBQW1CLG1MQWxDcEI7Ozs7O29DQUt3QixxTkF3QmhDLE9BQU8sb0ZBQ1AsZ0JBQWdCOzs0RkFJUCxtQkFBbUI7a0JBcEMvQixTQUFTOytCQUNFLG9CQUFvQixZQUNwQjs7Ozs7b0NBS3dCLFdBdUJ6Qjt3QkFDUCxPQUFPO3dCQUNQLGdCQUFnQjtxQkFDakIsY0FDVyxJQUFJOzhCQUdQLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ09wdGltaXplZEltYWdlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ktdGVjaC1jbGVhci12YWx1ZScsXHJcbiAgdGVtcGxhdGU6IGA8aW1nXHJcbiAgICBjbGFzcz1cInBvaW50ZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiY2xhc3NOYW1lIHx8ICdzdGFuZGFyZCdcIlxyXG4gICAgKGNsaWNrKT1cInJlc2V0LmVtaXQoKVwiXHJcbiAgICBuZ1NyYz1cIi4vaWNfY2xvc2Uuc3ZnXCJcclxuICAgIGhlaWdodD1cIjI0XCIgd2lkdGg9XCIyNFwiIGFsdD1cIlwiLz5gLFxyXG4gIHN0eWxlczogW2BcclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuYmlnIHtcclxuICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIGhlaWdodDogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAucmFuZ2VfZGF0ZSB7XHJcbiAgICAgIHJpZ2h0OiAtNjVweDtcclxuICAgICAgdG9wOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFuZGFyZCB7XHJcbiAgICAgIHJpZ2h0OiAtMjBweDtcclxuICAgICAgdG9wOiA0MHB4O1xyXG4gICAgfVxyXG4gIGBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ09wdGltaXplZEltYWdlXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGVhclZhbHVlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWRkaXRpb25hbENsYXNzITogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZXNldCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG59XHJcbiJdfQ==
@@ -1,97 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { ReactiveFormsModule } from "@angular/forms";
3
- import { NgClass, NgIf } from "@angular/common";
4
- import { TranslateModule } from "@ngx-translate/core";
5
- import { MatFormFieldModule } from "@angular/material/form-field";
6
- import { MatDatepickerModule } from "@angular/material/datepicker";
7
- import { MatInput } from "@angular/material/input";
8
- import { MatTooltip } from "@angular/material/tooltip";
9
- import { MatIconModule } from "@angular/material/icon";
10
- import { DateMaskDirective } from "../../directives/date-mask.directive";
11
- import { GenerateErrorMessagesPipe } from "../../pipes/generate-error-messages.pipe";
12
- import { IconButtonComponent } from "../icon-button/icon-button.component";
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../../services/input.service";
15
- import * as i2 from "@ngx-translate/core";
16
- import * as i3 from "@angular/forms";
17
- import * as i4 from "@angular/material/form-field";
18
- import * as i5 from "@angular/material/datepicker";
19
- import * as i6 from "@angular/material/icon";
20
- export class DatePickerComponent {
21
- constructor(inputService) {
22
- this.inputService = inputService;
23
- this.label = '';
24
- this.required = false;
25
- this.hintText = '';
26
- this.placeholder = 'MM/DD/YYYY';
27
- this.submit = false;
28
- this.valueChangeEmitter = new EventEmitter();
29
- this.isOpen = false;
30
- this.focused = false;
31
- this.customErrorStateMatcher = {
32
- isErrorState: (control, form) => {
33
- return !!(control && control.invalid && this.submit);
34
- }
35
- };
36
- this.ngControl = this.inputService.injectNgControl();
37
- }
38
- emitChange() {
39
- if (!this.valueChangeEmit) {
40
- return;
41
- }
42
- this.valueChangeEmitter.emit();
43
- }
44
- clickForFocusOut() {
45
- setTimeout(() => {
46
- this.inputElement.nativeElement.focus();
47
- this.inputElement.nativeElement.blur();
48
- }, 120);
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.InputService }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatePickerComponent, isStandalone: true, selector: "i-tech-date-picker", inputs: { label: "label", defaultPatternKey: "defaultPatternKey", required: "required", hintText: "hintText", placeholder: "placeholder", iconPrefix: "iconPrefix", iconPrefixSvg: "iconPrefixSvg", iconPrefixTooltip: "iconPrefixTooltip", iconPrefixColor: "iconPrefixColor", iconPrefixVariant: "iconPrefixVariant", valueChangeEmit: "valueChangeEmit", submit: "submit" }, outputs: { valueChangeEmitter: "valueChangeEmitter" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"flex_column relative mat-date-range-input\" *ngIf=\"ngControl\" [ngClass]=\"{'check_requirements': submit}\">\r\n <div class=\"w-100\">\r\n <mat-label [ngClass]=\"{\r\n 'readonly-color' : ngControl.control.disabled,\r\n 'invalid-label-color': !!(ngControl.control.errors && submit)\r\n }\">\r\n {{ label | translate }}\r\n </mat-label>\r\n <span *ngIf=\"required\" class=\"required-input\" [ngClass]=\"{'readonly-color' : ngControl.control.disabled}\">*</span>\r\n </div>\r\n <mat-form-field appearance=\"outline\" [ngClass]=\"{'opened_calendar': isOpen}\"\r\n [class.readonly-field]=\"ngControl.control.disabled\">\r\n <input matInput #inputElement\r\n type=\"text\"\r\n [formControl]=\"ngControl.control\"\r\n [placeholder]=\"placeholder | translate\"\r\n dateMask\r\n [matDatepicker]=\"datePicker\"\r\n [errorStateMatcher]=\"customErrorStateMatcher\"\r\n (focus)=\"focused = true\"\r\n (click)=\"datePicker.open();\"\r\n (dateChange)=\"emitChange()\"\r\n >\r\n\r\n <mat-icon *ngIf=\"iconPrefix\"\r\n matPrefix\r\n [matTooltip]=\"((iconPrefixTooltip || '') | translate)\"\r\n [style.color]=\"iconPrefixColor\"\r\n >{{ iconPrefix }}\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"iconPrefixSvg\"\r\n matPrefix\r\n [matTooltip]=\"((iconPrefixTooltip || '') | translate)\"\r\n [svgIcon]=\"iconPrefixSvg\"\r\n ></mat-icon>\r\n\r\n <i-tech-icon-button matSuffix\r\n [iconName]=\"'date_range'\"\r\n [disabled]=\"ngControl.control.disabled\"\r\n (click)=\"datePicker.open()\"\r\n [ngClass]=\"ngControl.control.disabled ? 'readonly-color' : 'default-form-icon-color'\"\r\n ></i-tech-icon-button>\r\n\r\n <mat-datepicker #datePicker (closed)=\"isOpen = false;clickForFocusOut()\"\r\n (opened)=\"isOpen = true;focused = true\"></mat-datepicker>\r\n\r\n <!-- Error Messages -->\r\n <mat-error *ngIf=\"!!(ngControl.control.errors && submit)\">\r\n {{ ngControl.control | generateErrorMessages : label : defaultPatternKey }}\r\n </mat-error>\r\n\r\n <!-- Helper Text -->\r\n <mat-hint *ngIf=\"!(!!(ngControl.control.errors && submit)) && hintText\"\r\n [ngClass]=\"{'readonly-color' : ngControl.control.disabled}\"\r\n >\r\n {{ hintText | translate }}\r\n </mat-hint>\r\n\r\n </mat-form-field>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: DateMaskDirective, selector: "[dateMask]", inputs: ["maskType", "matDatepicker", "rangeFormControl"] }, { kind: "pipe", type: GenerateErrorMessagesPipe, name: "generateErrorMessages" }, { kind: "component", type: IconButtonComponent, selector: "i-tech-icon-button", inputs: ["size", "type", "iconSvg", "iconName", "tooltip", "disabled"], outputs: ["buttonClick"] }] }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, decorators: [{
54
- type: Component,
55
- args: [{ selector: 'i-tech-date-picker', imports: [
56
- NgClass, NgIf,
57
- TranslateModule,
58
- ReactiveFormsModule,
59
- MatFormFieldModule,
60
- MatDatepickerModule,
61
- MatInput,
62
- MatTooltip,
63
- MatIconModule,
64
- DateMaskDirective,
65
- GenerateErrorMessagesPipe, IconButtonComponent
66
- ], standalone: true, template: "<div class=\"flex_column relative mat-date-range-input\" *ngIf=\"ngControl\" [ngClass]=\"{'check_requirements': submit}\">\r\n <div class=\"w-100\">\r\n <mat-label [ngClass]=\"{\r\n 'readonly-color' : ngControl.control.disabled,\r\n 'invalid-label-color': !!(ngControl.control.errors && submit)\r\n }\">\r\n {{ label | translate }}\r\n </mat-label>\r\n <span *ngIf=\"required\" class=\"required-input\" [ngClass]=\"{'readonly-color' : ngControl.control.disabled}\">*</span>\r\n </div>\r\n <mat-form-field appearance=\"outline\" [ngClass]=\"{'opened_calendar': isOpen}\"\r\n [class.readonly-field]=\"ngControl.control.disabled\">\r\n <input matInput #inputElement\r\n type=\"text\"\r\n [formControl]=\"ngControl.control\"\r\n [placeholder]=\"placeholder | translate\"\r\n dateMask\r\n [matDatepicker]=\"datePicker\"\r\n [errorStateMatcher]=\"customErrorStateMatcher\"\r\n (focus)=\"focused = true\"\r\n (click)=\"datePicker.open();\"\r\n (dateChange)=\"emitChange()\"\r\n >\r\n\r\n <mat-icon *ngIf=\"iconPrefix\"\r\n matPrefix\r\n [matTooltip]=\"((iconPrefixTooltip || '') | translate)\"\r\n [style.color]=\"iconPrefixColor\"\r\n >{{ iconPrefix }}\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"iconPrefixSvg\"\r\n matPrefix\r\n [matTooltip]=\"((iconPrefixTooltip || '') | translate)\"\r\n [svgIcon]=\"iconPrefixSvg\"\r\n ></mat-icon>\r\n\r\n <i-tech-icon-button matSuffix\r\n [iconName]=\"'date_range'\"\r\n [disabled]=\"ngControl.control.disabled\"\r\n (click)=\"datePicker.open()\"\r\n [ngClass]=\"ngControl.control.disabled ? 'readonly-color' : 'default-form-icon-color'\"\r\n ></i-tech-icon-button>\r\n\r\n <mat-datepicker #datePicker (closed)=\"isOpen = false;clickForFocusOut()\"\r\n (opened)=\"isOpen = true;focused = true\"></mat-datepicker>\r\n\r\n <!-- Error Messages -->\r\n <mat-error *ngIf=\"!!(ngControl.control.errors && submit)\">\r\n {{ ngControl.control | generateErrorMessages : label : defaultPatternKey }}\r\n </mat-error>\r\n\r\n <!-- Helper Text -->\r\n <mat-hint *ngIf=\"!(!!(ngControl.control.errors && submit)) && hintText\"\r\n [ngClass]=\"{'readonly-color' : ngControl.control.disabled}\"\r\n >\r\n {{ hintText | translate }}\r\n </mat-hint>\r\n\r\n </mat-form-field>\r\n</div>\r\n" }]
67
- }], ctorParameters: () => [{ type: i1.InputService }], propDecorators: { label: [{
68
- type: Input
69
- }], defaultPatternKey: [{
70
- type: Input
71
- }], required: [{
72
- type: Input
73
- }], hintText: [{
74
- type: Input
75
- }], placeholder: [{
76
- type: Input
77
- }], iconPrefix: [{
78
- type: Input
79
- }], iconPrefixSvg: [{
80
- type: Input
81
- }], iconPrefixTooltip: [{
82
- type: Input
83
- }], iconPrefixColor: [{
84
- type: Input
85
- }], iconPrefixVariant: [{
86
- type: Input
87
- }], valueChangeEmit: [{
88
- type: Input
89
- }], submit: [{
90
- type: Input
91
- }], inputElement: [{
92
- type: ViewChild,
93
- args: ['inputElement']
94
- }], valueChangeEmitter: [{
95
- type: Output
96
- }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQWtCLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBbUJ6RSxNQUFNLE9BQU8sbUJBQW1CO0lBc0I1QixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXJCckMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBVyxZQUFZLENBQUM7UUFRbkMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV2Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXhELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBb0JoQiw0QkFBdUIsR0FBRztZQUN0QixZQUFZLEVBQUUsQ0FBQyxPQUFZLEVBQUUsSUFBUyxFQUFXLEVBQUU7Z0JBQy9DLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELENBQUM7U0FDSixDQUFDO1FBbkJFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQXFCLENBQUM7SUFDNUUsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ1YsQ0FBQzsrR0FwQ1EsbUJBQW1CO21HQUFuQixtQkFBbUIsbW1CQy9CaEMsdWpGQTZEQSw0Q0QzQ0ksT0FBTyxvRkFBRSxJQUFJLDRGQUNiLGVBQWUsMkZBQ2YsbUJBQW1CLHlrQkFDbkIsa0JBQWtCLGl1QkFDbEIsbUJBQW1CLCtUQUNuQixRQUFRLGlVQUNSLFVBQVUsZ1JBQ1YsYUFBYSxvTEFDYixpQkFBaUIsNkdBQ2pCLHlCQUF5Qiw4REFBRSxtQkFBbUI7OzRGQUlyQyxtQkFBbUI7a0JBakIvQixTQUFTOytCQUNJLG9CQUFvQixXQUV2Qjt3QkFDUCxPQUFPLEVBQUUsSUFBSTt3QkFDYixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLFFBQVE7d0JBQ1IsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIseUJBQXlCLEVBQUUsbUJBQW1CO3FCQUMvQyxjQUNhLElBQUk7aUZBR1AsS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ2Ysa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtQ29udHJvbE5hbWUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBJbnB1dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnB1dC5zZXJ2aWNlJztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHtNYXREYXRlcGlja2VyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlclwiO1xyXG5pbXBvcnQge01hdElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHtNYXRUb29sdGlwfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7RGF0ZU1hc2tEaXJlY3RpdmV9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2RhdGUtbWFzay5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtHZW5lcmF0ZUVycm9yTWVzc2FnZXNQaXBlfSBmcm9tIFwiLi4vLi4vcGlwZXMvZ2VuZXJhdGUtZXJyb3ItbWVzc2FnZXMucGlwZVwiO1xyXG5pbXBvcnQge0ljb25CdXR0b25Db21wb25lbnR9IGZyb20gXCIuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpLXRlY2gtZGF0ZS1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLCBOZ0lmLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE1hdFRvb2x0aXAsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRGF0ZU1hc2tEaXJlY3RpdmUsXHJcbiAgICBHZW5lcmF0ZUVycm9yTWVzc2FnZXNQaXBlLCBJY29uQnV0dG9uQ29tcG9uZW50XHJcbiAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgZGVmYXVsdFBhdHRlcm5LZXkhOiBzdHJpbmcgO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGhpbnRUZXh0OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnTU0vREQvWVlZWSc7XHJcbiAgICBASW5wdXQoKSBpY29uUHJlZml4Pzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeFN2Zz86IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGljb25QcmVmaXhUb29sdGlwPzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeENvbG9yPzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeFZhcmlhbnQ/OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB2YWx1ZUNoYW5nZUVtaXQ/OiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpIHN1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgaXNPcGVuID0gZmFsc2U7XHJcbiAgICBmb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gICAgbmdDb250cm9sOiBGb3JtQ29udHJvbE5hbWU7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbnB1dFNlcnZpY2U6IElucHV0U2VydmljZSkge1xyXG4gICAgICAgIHRoaXMubmdDb250cm9sID0gdGhpcy5pbnB1dFNlcnZpY2UuaW5qZWN0TmdDb250cm9sKCkgYXMgRm9ybUNvbnRyb2xOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGVtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlQ2hhbmdlRW1pdCkgeyByZXR1cm47IH1cclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xpY2tGb3JGb2N1c091dCgpOiB2b2lkIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcclxuICAgICAgICB9LDEyMClcclxuICAgIH1cclxuXHJcbiAgICBjdXN0b21FcnJvclN0YXRlTWF0Y2hlciA9IHtcclxuICAgICAgICBpc0Vycm9yU3RhdGU6IChjb250cm9sOiBhbnksIGZvcm06IGFueSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gISEoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgdGhpcy5zdWJtaXQpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXhfY29sdW1uIHJlbGF0aXZlIG1hdC1kYXRlLXJhbmdlLWlucHV0XCIgKm5nSWY9XCJuZ0NvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2NoZWNrX3JlcXVpcmVtZW50cyc6IHN1Ym1pdH1cIj5cclxuICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgIDxtYXQtbGFiZWwgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdyZWFkb25seS1jb2xvcicgOiBuZ0NvbnRyb2wuY29udHJvbC5kaXNhYmxlZCxcclxuICAgICAgICAnaW52YWxpZC1sYWJlbC1jb2xvcic6ICEhKG5nQ29udHJvbC5jb250cm9sLmVycm9ycyAmJiBzdWJtaXQpXHJcbiAgICAgICAgfVwiPlxyXG4gICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9tYXQtbGFiZWw+XHJcbiAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1pbnB1dFwiIFtuZ0NsYXNzXT1cInsncmVhZG9ubHktY29sb3InIDogbmdDb250cm9sLmNvbnRyb2wuZGlzYWJsZWR9XCI+Kjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBbbmdDbGFzc109XCJ7J29wZW5lZF9jYWxlbmRhcic6IGlzT3Blbn1cIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MucmVhZG9ubHktZmllbGRdPVwibmdDb250cm9sLmNvbnRyb2wuZGlzYWJsZWRcIj5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCAjaW5wdXRFbGVtZW50XHJcbiAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICBkYXRlTWFza1xyXG4gICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImRhdGVQaWNrZXJcIlxyXG4gICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJjdXN0b21FcnJvclN0YXRlTWF0Y2hlclwiXHJcbiAgICAgICAgICAgKGZvY3VzKT1cImZvY3VzZWQgPSB0cnVlXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiZGF0ZVBpY2tlci5vcGVuKCk7XCJcclxuICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJlbWl0Q2hhbmdlKClcIlxyXG4gICAgPlxyXG5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25QcmVmaXhcIlxyXG4gICAgICAgICAgICAgIG1hdFByZWZpeFxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIigoaWNvblByZWZpeFRvb2x0aXAgfHwgJycpIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImljb25QcmVmaXhDb2xvclwiXHJcbiAgICA+e3sgaWNvblByZWZpeCB9fVxyXG4gICAgPC9tYXQtaWNvbj5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4U3ZnXCJcclxuICAgICAgICAgICAgICBtYXRQcmVmaXhcclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCIoKGljb25QcmVmaXhUb29sdGlwIHx8ICcnKSB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgIFtzdmdJY29uXT1cImljb25QcmVmaXhTdmdcIlxyXG4gICAgPjwvbWF0LWljb24+XHJcblxyXG4gICAgPGktdGVjaC1pY29uLWJ1dHRvbiBtYXRTdWZmaXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cIidkYXRlX3JhbmdlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJuZ0NvbnRyb2wuY29udHJvbC5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlUGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm5nQ29udHJvbC5jb250cm9sLmRpc2FibGVkID8gJ3JlYWRvbmx5LWNvbG9yJyA6ICdkZWZhdWx0LWZvcm0taWNvbi1jb2xvcidcIlxyXG4gICAgPjwvaS10ZWNoLWljb24tYnV0dG9uPlxyXG5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZVBpY2tlciAoY2xvc2VkKT1cImlzT3BlbiA9IGZhbHNlO2NsaWNrRm9yRm9jdXNPdXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9wZW5lZCk9XCJpc09wZW4gPSB0cnVlO2ZvY3VzZWQgPSB0cnVlXCI+PC9tYXQtZGF0ZXBpY2tlcj5cclxuXHJcbiAgICA8IS0tIEVycm9yIE1lc3NhZ2VzIC0tPlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIiEhKG5nQ29udHJvbC5jb250cm9sLmVycm9ycyAmJiBzdWJtaXQpXCI+XHJcbiAgICAgIHt7IG5nQ29udHJvbC5jb250cm9sIHwgZ2VuZXJhdGVFcnJvck1lc3NhZ2VzIDogbGFiZWwgOiBkZWZhdWx0UGF0dGVybktleSB9fVxyXG4gICAgPC9tYXQtZXJyb3I+XHJcblxyXG4gICAgPCEtLSBIZWxwZXIgVGV4dCAtLT5cclxuICAgIDxtYXQtaGludCAqbmdJZj1cIiEoISEobmdDb250cm9sLmNvbnRyb2wuZXJyb3JzICYmIHN1Ym1pdCkpICYmIGhpbnRUZXh0XCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3JlYWRvbmx5LWNvbG9yJyA6IG5nQ29udHJvbC5jb250cm9sLmRpc2FibGVkfVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGhpbnRUZXh0IHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L21hdC1oaW50PlxyXG5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuIl19
@@ -1,118 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { MatDatepickerModule } from "@angular/material/datepicker";
3
- import { ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, Validators } from "@angular/forms";
4
- import { MatFormFieldModule } from "@angular/material/form-field";
5
- import { NgClass, NgIf } from "@angular/common";
6
- import { TranslateModule } from "@ngx-translate/core";
7
- import { IconButtonComponent } from "../icon-button/icon-button.component";
8
- import { DateMaskDirective } from "../../directives/date-mask.directive";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/form-field";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "@angular/material/datepicker";
13
- import * as i4 from "@ngx-translate/core";
14
- export class DateRangeDatepickerComponent {
15
- constructor() {
16
- this.submit = false;
17
- this.clearValue = true;
18
- this.errorMessage = '';
19
- this.hintText = 'MM/DD/YYYY - MM/DD/YYYY';
20
- this.resetForm = new EventEmitter();
21
- this.selectionChange = new EventEmitter();
22
- this.isOpen = false;
23
- this.dateRangeForm = new UntypedFormGroup({
24
- startDate: new UntypedFormControl('', [Validators.maxLength(10)]),
25
- endDate: new UntypedFormControl('', [Validators.maxLength(10)]),
26
- });
27
- this.customErrorStateMatcher = {
28
- isErrorState: (control, form) => {
29
- return !!(control && control.invalid && this.submit);
30
- }
31
- };
32
- }
33
- ngAfterViewInit() {
34
- setTimeout(() => {
35
- if (this.defaultValue?.length) {
36
- this.dateRangeForm.patchValue({
37
- startDate: this.defaultValue[0],
38
- endDate: this.defaultValue[1]
39
- });
40
- }
41
- });
42
- }
43
- ngOnChanges(changes) {
44
- setTimeout(() => {
45
- if (changes['value']?.currentValue && !(changes['value'].currentValue[0])) {
46
- if (this.picker) {
47
- this.dateRangeForm.reset();
48
- this.picker.select(null);
49
- }
50
- }
51
- else if (changes['value'] && this.value?.length) {
52
- this.dateRangeForm.setValue({
53
- startDate: new Date(this.value[0] || ''),
54
- endDate: new Date(this.value[1] || '')
55
- });
56
- }
57
- }, 10);
58
- }
59
- clickForFocusOut() {
60
- setTimeout(() => {
61
- this.min.nativeElement.focus();
62
- this.min.nativeElement.blur();
63
- }, 120);
64
- }
65
- setDate(value, element) {
66
- this.selectionChange.emit(value);
67
- element.blur();
68
- }
69
- keyEventHandler(event, value, element) {
70
- if (event.code === 'Enter') {
71
- this.setDate(value, element);
72
- }
73
- }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangeDatepickerComponent, isStandalone: true, selector: "app-mat-range-datepicker", inputs: { label: "label", placeholder: "placeholder", value: "value", defaultValue: "defaultValue", key: "key", submit: "submit", clearValue: "clearValue", errorMessage: "errorMessage", onePlaceholder: "onePlaceholder", hintText: "hintText" }, outputs: { resetForm: "resetForm", selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }, { propertyName: "min", first: true, predicate: ["min"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex_column relative mat-date-range-input\"\r\n [formGroup]=\"dateRangeForm\"\r\n>\r\n <div class=\"w-100\">\r\n <mat-label>\r\n {{(label || '') | translate}}\r\n </mat-label>\r\n </div>\r\n <mat-form-field appearance=\"outline\" [ngClass]=\"{'opened_calendar': isOpen}\">\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input formControlName=\"startDate\"\r\n [placeholder]=\" (placeholder ? placeholder[0] : 'Start Date')\"\r\n [title]=\"key ? key.title : 'Date'\"\r\n [attr.data-accessKey]=\"key ? key.start : 'minStartDate'\"\r\n [attr.data-parentKey]=\"key ? (key.start + '_' + key.end) : 'minStartDate_maxEndDate'\"\r\n matStartDate #min\r\n dateMask\r\n [errorStateMatcher]=\"customErrorStateMatcher\"\r\n [rangeFormControl]=\"dateRangeForm.controls['startDate']\"\r\n (keydown)=\"keyEventHandler($event,[min.value, max.value || null],min)\"\r\n (dateChange)=\"setDate([min.value, max.value || null],min)\">\r\n <input formControlName=\"endDate\"\r\n [placeholder]=\"(placeholder ? placeholder[1] : 'End Date')\"\r\n [title]=\"key ? key.title : 'Date'\"\r\n [attr.data-accessKey]=\"key ? key.end : 'maxEndDate'\"\r\n [attr.data-parentKey]=\"key ? (key.start + '_' + key.end) : 'minStartDate_maxEndDate'\"\r\n matEndDate #max\r\n dateMask\r\n [errorStateMatcher]=\"customErrorStateMatcher\"\r\n [rangeFormControl]=\"dateRangeForm.controls['endDate']\"\r\n (keydown)=\"keyEventHandler($event,[min.value, max.value || null],max)\"\r\n (dateChange)=\"setDate([min.value, max.value || null],max)\">\r\n </mat-date-range-input>\r\n <i-tech-icon-button matSuffix\r\n [iconName]=\"'cancel'\"\r\n (buttonClick)=\"selectionChange.emit([null, null])\"\r\n class=\"default-form-icon-color\"\r\n *ngIf=\"dateRangeForm.get('startDate')?.value && this.dateRangeForm.get('endDate')?.value\"\r\n ></i-tech-icon-button>\r\n <i-tech-icon-button matSuffix [iconName]=\"'date_range'\" (buttonClick)=\"picker.open()\" class=\"default-form-icon-color\"></i-tech-icon-button>\r\n <mat-date-range-picker #picker (closed)=\"isOpen = false;clickForFocusOut()\" (opened)=\"isOpen = true\"></mat-date-range-picker>\r\n <mat-hint *ngIf=\"hintText && !errorMessage\">{{hintText}}</mat-hint>\r\n </mat-form-field>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i3.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: IconButtonComponent, selector: "i-tech-icon-button", inputs: ["size", "type", "iconSvg", "iconName", "tooltip", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: DateMaskDirective, selector: "[dateMask]", inputs: ["maskType", "matDatepicker", "rangeFormControl"] }] }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangeDatepickerComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: 'app-mat-range-datepicker', imports: [
80
- MatFormFieldModule,
81
- ReactiveFormsModule,
82
- MatDatepickerModule,
83
- NgClass, NgIf,
84
- TranslateModule,
85
- IconButtonComponent, DateMaskDirective
86
- ], standalone: true, template: "<div class=\"flex_column relative mat-date-range-input\"\r\n [formGroup]=\"dateRangeForm\"\r\n>\r\n <div class=\"w-100\">\r\n <mat-label>\r\n {{(label || '') | translate}}\r\n </mat-label>\r\n </div>\r\n <mat-form-field appearance=\"outline\" [ngClass]=\"{'opened_calendar': isOpen}\">\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input formControlName=\"startDate\"\r\n [placeholder]=\" (placeholder ? placeholder[0] : 'Start Date')\"\r\n [title]=\"key ? key.title : 'Date'\"\r\n [attr.data-accessKey]=\"key ? key.start : 'minStartDate'\"\r\n [attr.data-parentKey]=\"key ? (key.start + '_' + key.end) : 'minStartDate_maxEndDate'\"\r\n matStartDate #min\r\n dateMask\r\n [errorStateMatcher]=\"customErrorStateMatcher\"\r\n [rangeFormControl]=\"dateRangeForm.controls['startDate']\"\r\n (keydown)=\"keyEventHandler($event,[min.value, max.value || null],min)\"\r\n (dateChange)=\"setDate([min.value, max.value || null],min)\">\r\n <input formControlName=\"endDate\"\r\n [placeholder]=\"(placeholder ? placeholder[1] : 'End Date')\"\r\n [title]=\"key ? key.title : 'Date'\"\r\n [attr.data-accessKey]=\"key ? key.end : 'maxEndDate'\"\r\n [attr.data-parentKey]=\"key ? (key.start + '_' + key.end) : 'minStartDate_maxEndDate'\"\r\n matEndDate #max\r\n dateMask\r\n [errorStateMatcher]=\"customErrorStateMatcher\"\r\n [rangeFormControl]=\"dateRangeForm.controls['endDate']\"\r\n (keydown)=\"keyEventHandler($event,[min.value, max.value || null],max)\"\r\n (dateChange)=\"setDate([min.value, max.value || null],max)\">\r\n </mat-date-range-input>\r\n <i-tech-icon-button matSuffix\r\n [iconName]=\"'cancel'\"\r\n (buttonClick)=\"selectionChange.emit([null, null])\"\r\n class=\"default-form-icon-color\"\r\n *ngIf=\"dateRangeForm.get('startDate')?.value && this.dateRangeForm.get('endDate')?.value\"\r\n ></i-tech-icon-button>\r\n <i-tech-icon-button matSuffix [iconName]=\"'date_range'\" (buttonClick)=\"picker.open()\" class=\"default-form-icon-color\"></i-tech-icon-button>\r\n <mat-date-range-picker #picker (closed)=\"isOpen = false;clickForFocusOut()\" (opened)=\"isOpen = true\"></mat-date-range-picker>\r\n <mat-hint *ngIf=\"hintText && !errorMessage\">{{hintText}}</mat-hint>\r\n </mat-form-field>\r\n</div>\r\n" }]
87
- }], propDecorators: { label: [{
88
- type: Input
89
- }], placeholder: [{
90
- type: Input
91
- }], value: [{
92
- type: Input
93
- }], defaultValue: [{
94
- type: Input
95
- }], key: [{
96
- type: Input
97
- }], submit: [{
98
- type: Input
99
- }], clearValue: [{
100
- type: Input
101
- }], errorMessage: [{
102
- type: Input
103
- }], onePlaceholder: [{
104
- type: Input
105
- }], hintText: [{
106
- type: Input
107
- }], resetForm: [{
108
- type: Output
109
- }], selectionChange: [{
110
- type: Output
111
- }], picker: [{
112
- type: ViewChild,
113
- args: ['picker']
114
- }], min: [{
115
- type: ViewChild,
116
- args: ['min']
117
- }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1kYXRlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLWRhdGVwaWNrZXIvZGF0ZS1yYW5nZS1kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLWRhdGVwaWNrZXIvZGF0ZS1yYW5nZS1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxtQkFBbUIsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQWV2RSxNQUFNLE9BQU8sNEJBQTRCO0lBYnpDO1FBbUJXLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGFBQVEsR0FBVyx5QkFBeUIsQ0FBQztRQUM1QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHcEQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGtCQUFhLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUNuQyxTQUFTLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakUsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2hFLENBQUMsQ0FBQztRQW9DSCw0QkFBdUIsR0FBRztZQUN4QixZQUFZLEVBQUUsQ0FBQyxPQUFZLEVBQUUsSUFBUyxFQUFXLEVBQUU7Z0JBQ2pELE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELENBQUM7U0FDRixDQUFDO0tBYUg7SUFuREMsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO29CQUM1QixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztpQkFDOUIsQ0FBQyxDQUFBO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztvQkFDMUIsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN4QyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3ZDLENBQUMsQ0FBQTtZQUNKLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDUixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFRRCxPQUFPLENBQUMsS0FBMkIsRUFBRSxPQUFZO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQW9CLEVBQUMsS0FBMkIsRUFBRSxPQUFZO1FBQzVFLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QixDQUFDO0lBQ0gsQ0FBQzsrR0F2RVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIscWxCQy9CekMsNnJGQTRDQSwyQ0R0Qkksa0JBQWtCLG1nQkFDbEIsbUJBQW1CLG0yQkFDbkIsbUJBQW1CLGtuQkFDbkIsT0FBTyxvRkFBRSxJQUFJLDRGQUNiLGVBQWUsNEZBQ2YsbUJBQW1CLGlLQUFFLGlCQUFpQjs7NEZBSTdCLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDRSwwQkFBMEIsV0FFM0I7d0JBQ1Asa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsT0FBTyxFQUFFLElBQUk7d0JBQ2IsZUFBZTt3QkFDZixtQkFBbUIsRUFBRSxpQkFBaUI7cUJBQ3ZDLGNBQ1csSUFBSTs4QkFHUCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDRCxHQUFHO3NCQUFwQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZSwgTWF0RGF0ZVJhbmdlUGlja2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlclwiO1xyXG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbkJ1dHRvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RhdGVNYXNrRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9kYXRlLW1hc2suZGlyZWN0aXZlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1tYXQtcmFuZ2UtZGF0ZXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBOZ0NsYXNzLCBOZ0lmLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCwgRGF0ZU1hc2tEaXJlY3RpdmVcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZURhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogQXJyYXk8c3RyaW5nPjtcclxuICBASW5wdXQoKSB2YWx1ZT86IEFycmF5PHN0cmluZyB8IG51bGw+O1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZT86IEFycmF5PERhdGU+O1xyXG4gIEBJbnB1dCgpIGtleT86IHtzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZywgdGl0bGU6IHN0cmluZ307XHJcbiAgQElucHV0KCkgc3VibWl0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xlYXJWYWx1ZSA9IHRydWU7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgQElucHV0KCkgb25lUGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGludFRleHQ6IHN0cmluZyA9ICdNTS9ERC9ZWVlZIC0gTU0vREQvWVlZWSc7XHJcbiAgQE91dHB1dCgpIHJlc2V0Rm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkKCdwaWNrZXInKSBwaWNrZXIhOiBNYXREYXRlUmFuZ2VQaWNrZXI8YW55PjtcclxuICBAVmlld0NoaWxkKCdtaW4nKSBtaW4hOiBFbGVtZW50UmVmO1xyXG4gIGlzT3BlbiA9IGZhbHNlO1xyXG5cclxuICBkYXRlUmFuZ2VGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xyXG4gICAgc3RhcnREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTApXSksXHJcbiAgICBlbmREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTApXSksXHJcbiAgfSk7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWU/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZVJhbmdlRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kZWZhdWx0VmFsdWVbMF0sXHJcbiAgICAgICAgICBlbmREYXRlOiB0aGlzLmRlZmF1bHRWYWx1ZVsxXVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10/LmN1cnJlbnRWYWx1ZSAmJiAhKGNoYW5nZXNbJ3ZhbHVlJ10uY3VycmVudFZhbHVlWzBdKSkge1xyXG4gICAgICAgIGlmICh0aGlzLnBpY2tlcikge1xyXG4gICAgICAgICAgdGhpcy5kYXRlUmFuZ2VGb3JtLnJlc2V0KCk7XHJcbiAgICAgICAgICB0aGlzLnBpY2tlci5zZWxlY3QobnVsbClcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoY2hhbmdlc1sndmFsdWUnXSAmJiB0aGlzLnZhbHVlPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmRhdGVSYW5nZUZvcm0uc2V0VmFsdWUoe1xyXG4gICAgICAgICAgc3RhcnREYXRlOiBuZXcgRGF0ZSh0aGlzLnZhbHVlWzBdIHx8ICcnKSxcclxuICAgICAgICAgIGVuZERhdGU6IG5ldyBEYXRlKHRoaXMudmFsdWVbMV0gfHwgJycpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSwgMTApXHJcbiAgfVxyXG5cclxuICBjbGlja0ZvckZvY3VzT3V0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMubWluLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgdGhpcy5taW4ubmF0aXZlRWxlbWVudC5ibHVyKCk7XHJcbiAgICB9LDEyMClcclxuICB9XHJcblxyXG4gIGN1c3RvbUVycm9yU3RhdGVNYXRjaGVyID0ge1xyXG4gICAgaXNFcnJvclN0YXRlOiAoY29udHJvbDogYW55LCBmb3JtOiBhbnkpOiBib29sZWFuID0+IHtcclxuICAgICAgcmV0dXJuICEhKGNvbnRyb2wgJiYgY29udHJvbC5pbnZhbGlkICYmIHRoaXMuc3VibWl0KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBzZXREYXRlKHZhbHVlOiBBcnJheTxzdHJpbmcgfCBudWxsPiwgZWxlbWVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIGVsZW1lbnQuYmx1cigpO1xyXG4gIH1cclxuXHJcbiAga2V5RXZlbnRIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50LHZhbHVlOiBBcnJheTxzdHJpbmcgfCBudWxsPiwgZWxlbWVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLnNldERhdGUodmFsdWUsZWxlbWVudClcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4X2NvbHVtbiByZWxhdGl2ZSBtYXQtZGF0ZS1yYW5nZS1pbnB1dFwiXHJcbiAgICAgW2Zvcm1Hcm91cF09XCJkYXRlUmFuZ2VGb3JtXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAge3sobGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgW25nQ2xhc3NdPVwieydvcGVuZWRfY2FsZW5kYXInOiBpc09wZW59XCI+XHJcbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiIChwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyWzBdIDogJ1N0YXJ0IERhdGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwia2V5ID8ga2V5LnRpdGxlIDogICdEYXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWFjY2Vzc0tleV09XCJrZXkgPyBrZXkuc3RhcnQgOiAnbWluU3RhcnREYXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBhcmVudEtleV09XCJrZXkgPyAoa2V5LnN0YXJ0ICsgJ18nICsga2V5LmVuZCkgOiAnbWluU3RhcnREYXRlX21heEVuZERhdGUnXCJcclxuICAgICAgICAgICAgICAgICAgIG1hdFN0YXJ0RGF0ZSAjbWluXHJcbiAgICAgICAgICAgICAgICAgICBkYXRlTWFza1xyXG4gICAgICAgICAgICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cImN1c3RvbUVycm9yU3RhdGVNYXRjaGVyXCJcclxuICAgICAgICAgICAgICAgICAgIFtyYW5nZUZvcm1Db250cm9sXT1cImRhdGVSYW5nZUZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddXCJcclxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cImtleUV2ZW50SGFuZGxlcigkZXZlbnQsW21pbi52YWx1ZSwgbWF4LnZhbHVlIHx8IG51bGxdLG1pbilcIlxyXG4gICAgICAgICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwic2V0RGF0ZShbbWluLnZhbHVlLCBtYXgudmFsdWUgfHwgbnVsbF0sbWluKVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyICA/IHBsYWNlaG9sZGVyWzFdIDogJ0VuZCBEYXRlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImtleSA/IGtleS50aXRsZSA6ICAnRGF0ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hY2Nlc3NLZXldPVwia2V5ID8ga2V5LmVuZCA6ICdtYXhFbmREYXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBhcmVudEtleV09XCJrZXkgPyAoa2V5LnN0YXJ0ICsgJ18nICsga2V5LmVuZCkgOiAnbWluU3RhcnREYXRlX21heEVuZERhdGUnXCJcclxuICAgICAgICAgICAgICAgICAgIG1hdEVuZERhdGUgI21heFxyXG4gICAgICAgICAgICAgICAgICAgZGF0ZU1hc2tcclxuICAgICAgICAgICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJjdXN0b21FcnJvclN0YXRlTWF0Y2hlclwiXHJcbiAgICAgICAgICAgICAgICAgICBbcmFuZ2VGb3JtQ29udHJvbF09XCJkYXRlUmFuZ2VGb3JtLmNvbnRyb2xzWydlbmREYXRlJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwia2V5RXZlbnRIYW5kbGVyKCRldmVudCxbbWluLnZhbHVlLCBtYXgudmFsdWUgfHwgbnVsbF0sbWF4KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJzZXREYXRlKFttaW4udmFsdWUsIG1heC52YWx1ZSB8fCBudWxsXSxtYXgpXCI+XHJcbiAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cclxuICAgICAgICA8aS10ZWNoLWljb24tYnV0dG9uIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICAgW2ljb25OYW1lXT1cIidjYW5jZWwnXCJcclxuICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZWxlY3Rpb25DaGFuZ2UuZW1pdChbbnVsbCwgbnVsbF0pXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZGVmYXVsdC1mb3JtLWljb24tY29sb3JcIlxyXG4gICAgICAgICAgICAgKm5nSWY9XCJkYXRlUmFuZ2VGb3JtLmdldCgnc3RhcnREYXRlJyk/LnZhbHVlICYmIHRoaXMuZGF0ZVJhbmdlRm9ybS5nZXQoJ2VuZERhdGUnKT8udmFsdWVcIlxyXG4gICAgICAgID48L2ktdGVjaC1pY29uLWJ1dHRvbj5cclxuICAgICAgICA8aS10ZWNoLWljb24tYnV0dG9uIG1hdFN1ZmZpeCBbaWNvbk5hbWVdPVwiJ2RhdGVfcmFuZ2UnXCIgKGJ1dHRvbkNsaWNrKT1cInBpY2tlci5vcGVuKClcIiBjbGFzcz1cImRlZmF1bHQtZm9ybS1pY29uLWNvbG9yXCI+PC9pLXRlY2gtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyIChjbG9zZWQpPVwiaXNPcGVuID0gZmFsc2U7Y2xpY2tGb3JGb2N1c091dCgpXCIgKG9wZW5lZCk9XCJpc09wZW4gPSB0cnVlXCI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XHJcbiAgICAgICAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFRleHQgJiYgIWVycm9yTWVzc2FnZVwiPnt7aGludFRleHR9fTwvbWF0LWhpbnQ+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuIl19
@@ -1,49 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { MatFabButton, MatIconButton } from "@angular/material/button";
3
- import { NgClass, NgIf } from "@angular/common";
4
- import { MatTooltip } from "@angular/material/tooltip";
5
- import { TranslateModule } from "@ngx-translate/core";
6
- import { MatIcon } from "@angular/material/icon";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@ngx-translate/core";
9
- export class IconButtonComponent {
10
- constructor() {
11
- this.size = 'medium';
12
- this.type = 'tonal';
13
- this.buttonClick = new EventEmitter();
14
- }
15
- onClick(event) {
16
- if (!this.disabled) {
17
- this.buttonClick.emit();
18
- }
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IconButtonComponent, isStandalone: true, selector: "i-tech-icon-button", inputs: { size: "size", type: "type", iconSvg: "iconSvg", iconName: "iconName", tooltip: "tooltip", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<button\r\n *ngIf=\"['tonal','standard'].includes(type)\"\r\n mat-icon-button\r\n [ngClass]=\"{small: size === 'small', tonal: type === 'tonal', standard: type === 'standard'}\"\r\n [matTooltip]=\"tooltip | translate\"\r\n [matTooltipDisabled]=\"!tooltip\"\r\n [disabled]=\"disabled || false\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg\"></mat-icon>\r\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\r\n</button>\r\n\r\n<button\r\n *ngIf=\"type === 'filled'\"\r\n mat-fab\r\n class=\"filled\"\r\n [ngClass]=\"{small: size === 'small'}\"\r\n [matTooltip]=\"tooltip | translate\"\r\n [matTooltipDisabled]=\"!tooltip\"\r\n [color]=\"'primary'\"\r\n [disabled]=\"disabled || false\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg\"></mat-icon>\r\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconButtonComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: 'i-tech-icon-button', imports: [
26
- MatIconButton,
27
- NgClass,
28
- MatTooltip,
29
- TranslateModule,
30
- MatIcon,
31
- MatFabButton,
32
- NgIf
33
- ], standalone: true, template: "<button\r\n *ngIf=\"['tonal','standard'].includes(type)\"\r\n mat-icon-button\r\n [ngClass]=\"{small: size === 'small', tonal: type === 'tonal', standard: type === 'standard'}\"\r\n [matTooltip]=\"tooltip | translate\"\r\n [matTooltipDisabled]=\"!tooltip\"\r\n [disabled]=\"disabled || false\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg\"></mat-icon>\r\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\r\n</button>\r\n\r\n<button\r\n *ngIf=\"type === 'filled'\"\r\n mat-fab\r\n class=\"filled\"\r\n [ngClass]=\"{small: size === 'small'}\"\r\n [matTooltip]=\"tooltip | translate\"\r\n [matTooltipDisabled]=\"!tooltip\"\r\n [color]=\"'primary'\"\r\n [disabled]=\"disabled || false\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg\"></mat-icon>\r\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\r\n</button>\r\n" }]
34
- }], propDecorators: { size: [{
35
- type: Input
36
- }], type: [{
37
- type: Input
38
- }], iconSvg: [{
39
- type: Input
40
- }], iconName: [{
41
- type: Input
42
- }], tooltip: [{
43
- type: Input
44
- }], disabled: [{
45
- type: Input
46
- }], buttonClick: [{
47
- type: Output
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBaUIvQyxNQUFNLE9BQU8sbUJBQW1CO0lBZmhDO1FBZ0JXLFNBQUksR0FBdUIsUUFBUSxDQUFDO1FBQ3BDLFNBQUksR0FBb0MsT0FBTyxDQUFDO1FBSy9DLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQU9sRDtJQUxDLE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7K0dBYlUsbUJBQW1CO21HQUFuQixtQkFBbUIsbVBDdEJoQywyZ0NBMkJBLDBERGZJLGFBQWEsNkZBQ2IsT0FBTyxvRkFDUCxVQUFVLGdSQUNWLGVBQWUsNEZBQ2YsT0FBTywySUFDUCxZQUFZLDJHQUNaLElBQUk7OzRGQUlLLG1CQUFtQjtrQkFmL0IsU0FBUzsrQkFDRSxvQkFBb0IsV0FHckI7d0JBQ1AsYUFBYTt3QkFDYixPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osSUFBSTtxQkFDTCxjQUNXLElBQUk7OEJBR1AsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0RmFiQnV0dG9uLCBNYXRJY29uQnV0dG9ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01hdFRvb2x0aXB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge01hdEljb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ktdGVjaC1pY29uLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaWNvbi1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb25CdXR0b24sXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0VG9vbHRpcCxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEljb24sXHJcbiAgICBNYXRGYWJCdXR0b24sXHJcbiAgICBOZ0lmXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzaXplOiAnbWVkaXVtJyB8ICdzbWFsbCcgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSB0eXBlOiAnc3RhbmRhcmQnIHwgJ2ZpbGxlZCcgfCAndG9uYWwnID0gJ3RvbmFsJztcclxuICBASW5wdXQoKSBpY29uU3ZnITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25OYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXAhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJbJ3RvbmFsJywnc3RhbmRhcmQnXS5pbmNsdWRlcyh0eXBlKVwiXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie3NtYWxsOiBzaXplID09PSAnc21hbGwnLCB0b25hbDogdHlwZSA9PT0gJ3RvbmFsJywgc3RhbmRhcmQ6IHR5cGUgPT09ICdzdGFuZGFyZCd9XCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiF0b29sdGlwXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgZmFsc2VcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxyXG4+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3ZnXCIgW3N2Z0ljb25dPVwiaWNvblN2Z1wiPjwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uTmFtZVwiPnt7aWNvbk5hbWV9fTwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG5cclxuPGJ1dHRvblxyXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2ZpbGxlZCdcIlxyXG4gICAgICAgIG1hdC1mYWJcclxuICAgICAgICBjbGFzcz1cImZpbGxlZFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie3NtYWxsOiBzaXplID09PSAnc21hbGwnfVwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhdG9vbHRpcFwiXHJcbiAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGZhbHNlXCJcclxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcclxuPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblN2Z1wiIFtzdmdJY29uXT1cImljb25TdmdcIj48L21hdC1pY29uPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvbk5hbWVcIj57e2ljb25OYW1lfX08L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuIl19