ngx-material-entity 16.0.2 → 16.0.3

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 (97) hide show
  1. package/components/edit-page/edit-page.component.d.ts +13 -2
  2. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +1 -0
  3. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +2 -1
  4. package/components/input/input.component.d.ts +1 -1
  5. package/components/input/input.module.d.ts +4 -2
  6. package/components/input/number/number-slider-input/number-slider-input.component.d.ts +2 -1
  7. package/components/table/create-dialog/create-entity-dialog.component.d.ts +3 -0
  8. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +4 -0
  9. package/components/tooltip/tooltip.component.d.ts +9 -0
  10. package/decorators/array/array-decorator-internal.data.d.ts +6 -6
  11. package/decorators/array/array-decorator.data.d.ts +7 -7
  12. package/decorators/base/property-decorator-internal.data.d.ts +11 -2
  13. package/decorators/base/property-decorator.data.d.ts +9 -1
  14. package/decorators/boolean/boolean-decorator-internal.data.d.ts +3 -3
  15. package/decorators/boolean/boolean-decorator.data.d.ts +1 -1
  16. package/decorators/custom/custom-decorator-internal.data.d.ts +2 -2
  17. package/decorators/custom/custom-decorator.data.d.ts +4 -4
  18. package/decorators/date/date-decorator-internal.data.d.ts +4 -4
  19. package/decorators/date/date-decorator.data.d.ts +5 -5
  20. package/decorators/file/file-decorator-internal.data.d.ts +3 -3
  21. package/decorators/file/file-decorator.data.d.ts +1 -1
  22. package/decorators/has-many/has-many-decorator-internal.data.d.ts +1 -1
  23. package/decorators/has-many/has-many-decorator.data.d.ts +1 -1
  24. package/decorators/number/number-decorator-internal.data.d.ts +3 -3
  25. package/decorators/number/number-decorator.data.d.ts +1 -1
  26. package/decorators/object/object-decorator-internal.data.d.ts +1 -1
  27. package/decorators/object/object-decorator.data.d.ts +1 -1
  28. package/decorators/references-many/references-many-decorator-internal.data.d.ts +1 -1
  29. package/decorators/references-many/references-many-decorator.data.d.ts +1 -1
  30. package/decorators/references-one/references-one-decorator-internal.data.d.ts +1 -1
  31. package/decorators/references-one/references-one-decorator.data.d.ts +1 -1
  32. package/decorators/string/string-decorator-internal.data.d.ts +5 -6
  33. package/decorators/string/string-decorator.data.d.ts +1 -7
  34. package/directives/number.directive.d.ts +17 -0
  35. package/directives/password-match.directive.d.ts +14 -0
  36. package/directives/tooltip.directive.d.ts +33 -0
  37. package/esm2022/components/edit-page/edit-page.component.mjs +57 -13
  38. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +1 -1
  39. package/esm2022/components/input/base-input.component.mjs +2 -1
  40. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +6 -3
  41. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +6 -3
  42. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +3 -1
  43. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +3 -3
  44. package/esm2022/components/input/file/file-input/file-input.component.mjs +1 -1
  45. package/esm2022/components/input/input.component.mjs +7 -6
  46. package/esm2022/components/input/input.module.mjs +10 -4
  47. package/esm2022/components/input/number/number-input/number-input.component.mjs +4 -3
  48. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +6 -3
  49. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +4 -3
  50. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +18 -6
  51. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +26 -13
  52. package/esm2022/components/table/table.component.mjs +7 -4
  53. package/esm2022/components/tooltip/tooltip.component.mjs +20 -0
  54. package/esm2022/decorators/array/array-decorator-internal.data.mjs +1 -1
  55. package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
  56. package/esm2022/decorators/base/property-decorator-internal.data.mjs +22 -1
  57. package/esm2022/decorators/base/property-decorator.data.mjs +10 -1
  58. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +1 -1
  59. package/esm2022/decorators/boolean/boolean-decorator.data.mjs +1 -1
  60. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +2 -2
  61. package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
  62. package/esm2022/decorators/date/date-decorator-internal.data.mjs +2 -1
  63. package/esm2022/decorators/date/date-decorator.data.mjs +1 -1
  64. package/esm2022/decorators/file/file-decorator-internal.data.mjs +1 -1
  65. package/esm2022/decorators/file/file-decorator.data.mjs +1 -1
  66. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +1 -1
  67. package/esm2022/decorators/has-many/has-many-decorator.data.mjs +1 -1
  68. package/esm2022/decorators/number/number-decorator-internal.data.mjs +1 -1
  69. package/esm2022/decorators/number/number-decorator.data.mjs +1 -1
  70. package/esm2022/decorators/object/object-decorator-internal.data.mjs +1 -1
  71. package/esm2022/decorators/object/object-decorator.data.mjs +1 -1
  72. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +1 -1
  73. package/esm2022/decorators/references-many/references-many-decorator.data.mjs +1 -1
  74. package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +1 -1
  75. package/esm2022/decorators/references-one/references-one-decorator.data.mjs +1 -1
  76. package/esm2022/decorators/string/string-decorator-internal.data.mjs +1 -4
  77. package/esm2022/decorators/string/string-decorator.data.mjs +1 -1
  78. package/esm2022/directives/drag-drop.directive.mjs +62 -0
  79. package/esm2022/directives/number.directive.mjs +38 -0
  80. package/esm2022/directives/password-match.directive.mjs +30 -0
  81. package/esm2022/directives/tooltip.directive.mjs +112 -0
  82. package/esm2022/functions/get-validation-error-message.function.mjs +49 -0
  83. package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +25 -0
  84. package/esm2022/public-api.mjs +6 -2
  85. package/esm2022/utilities/entity.utilities.mjs +83 -386
  86. package/esm2022/utilities/validation.utilities.mjs +455 -0
  87. package/fesm2022/ngx-material-entity.mjs +1374 -905
  88. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  89. package/functions/get-validation-errors-tooltip-content.function.ts.d.ts +10 -0
  90. package/package.json +1 -1
  91. package/public-api.d.ts +4 -1
  92. package/utilities/entity.utilities.d.ts +33 -30
  93. package/utilities/validation.utilities.d.ts +56 -0
  94. package/esm2022/components/get-validation-error-message.function.mjs +0 -42
  95. package/esm2022/components/input/file/file-input/dragDrop.directive.mjs +0 -62
  96. /package/{components/input/file/file-input/dragDrop.directive.d.ts → directives/drag-drop.directive.d.ts} +0 -0
  97. /package/{components → functions}/get-validation-error-message.function.d.ts +0 -0
@@ -0,0 +1,30 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A directive that validates if a given password matches the control value.
6
+ */
7
+ export class PasswordMatchValidatorDirective {
8
+ /**
9
+ * The password that the control value should be matched against.
10
+ */
11
+ passwordMatch;
12
+ // eslint-disable-next-line jsdoc/require-jsdoc
13
+ validate(control) {
14
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
15
+ return this.passwordMatch == control.value ? null : { passwordMatch: { value: control.value } };
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PasswordMatchValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: PasswordMatchValidatorDirective, isStandalone: true, selector: "[passwordMatch]", inputs: { passwordMatch: "passwordMatch" }, providers: [{ provide: NG_VALIDATORS, useExisting: PasswordMatchValidatorDirective, multi: true }], ngImport: i0 });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PasswordMatchValidatorDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[passwordMatch]',
24
+ providers: [{ provide: NG_VALIDATORS, useExisting: PasswordMatchValidatorDirective, multi: true }],
25
+ standalone: true
26
+ }]
27
+ }], propDecorators: { passwordMatch: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtbWF0Y2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZGlyZWN0aXZlcy9wYXNzd29yZC1tYXRjaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFtQixhQUFhLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdGOztHQUVHO0FBTUgsTUFBTSxPQUFPLCtCQUErQjtJQUV4Qzs7T0FFRztJQUVILGFBQWEsQ0FBVTtJQUV2QiwrQ0FBK0M7SUFDL0MsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLG1FQUFtRTtRQUNuRSxPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNwRyxDQUFDO3VHQVpRLCtCQUErQjsyRkFBL0IsK0JBQStCLDBHQUg3QixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzsyRkFHekYsK0JBQStCO2tCQUwzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDbEcsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgdmFsaWRhdGVzIGlmIGEgZ2l2ZW4gcGFzc3dvcmQgbWF0Y2hlcyB0aGUgY29udHJvbCB2YWx1ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcGFzc3dvcmRNYXRjaF0nLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFBhc3N3b3JkTWF0Y2hWYWxpZGF0b3JEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNYXRjaFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGFzc3dvcmQgdGhhdCB0aGUgY29udHJvbCB2YWx1ZSBzaG91bGQgYmUgbWF0Y2hlZCBhZ2FpbnN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFzc3dvcmRNYXRjaD86IHN0cmluZztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICAgIHJldHVybiB0aGlzLnBhc3N3b3JkTWF0Y2ggPT0gY29udHJvbC52YWx1ZSA/IG51bGwgOiB7IHBhc3N3b3JkTWF0Y2g6IHsgdmFsdWU6IGNvbnRyb2wudmFsdWUgfSB9O1xuICAgIH1cbn0iXX0=
@@ -0,0 +1,112 @@
1
+ import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A directive that displays a tooltip on hover.
5
+ */
6
+ export class TooltipDirective {
7
+ el;
8
+ renderer;
9
+ /**
10
+ * The content to display inside the tooltip.
11
+ */
12
+ tooltip;
13
+ tooltipElement;
14
+ isTooltipVisible = false;
15
+ closeListeners = [];
16
+ constructor(el, renderer) {
17
+ this.el = el;
18
+ this.renderer = renderer;
19
+ }
20
+ /**
21
+ * Shows the tooltip.
22
+ */
23
+ onMouseEnter() {
24
+ if (!this.isTooltipVisible) {
25
+ this.showTooltip();
26
+ this.registerCloseListeners();
27
+ }
28
+ else {
29
+ this.hideTooltip();
30
+ this.removeCloseListeners();
31
+ }
32
+ }
33
+ /**
34
+ * Hides the tooltip.
35
+ */
36
+ onMouseLeave() {
37
+ this.hideTooltip();
38
+ this.removeCloseListeners();
39
+ }
40
+ showTooltip() {
41
+ if (!this.tooltipElement) {
42
+ this.tooltipElement = this.renderer.createElement('div');
43
+ this.tooltipElement.innerHTML = this.tooltip;
44
+ const rect = this.el.nativeElement.getBoundingClientRect();
45
+ this.renderer.setStyle(this.tooltipElement, 'z-index', '1000');
46
+ this.renderer.setStyle(this.tooltipElement, 'position', 'absolute');
47
+ this.renderer.setStyle(this.tooltipElement, 'padding', '4px 8px 4px 8px');
48
+ this.renderer.setStyle(this.tooltipElement, 'border-radius', '5px');
49
+ this.renderer.setStyle(this.tooltipElement, 'background-color', '#616161');
50
+ this.renderer.setStyle(this.tooltipElement, 'color', 'white');
51
+ this.renderer.setStyle(this.tooltipElement, 'max-height', '30vh');
52
+ this.renderer.setStyle(this.tooltipElement, 'overflow', 'scroll');
53
+ this.renderer.appendChild(document.body, this.tooltipElement);
54
+ const left = window.scrollX + rect.left - (this.tooltipElement.clientWidth / 2) + 18;
55
+ this.renderer.setStyle(this.tooltipElement, 'left', `${left}px`);
56
+ const top = window.scrollY + rect.top - this.tooltipElement.clientHeight - 5;
57
+ this.renderer.setStyle(this.tooltipElement, 'top', `${top}px`);
58
+ this.isTooltipVisible = true;
59
+ }
60
+ }
61
+ registerCloseListeners() {
62
+ setTimeout(() => {
63
+ this.closeListeners.push(this.getCloseListener('click'), this.getCloseListener('touchmove'), this.getCloseListener('resize'));
64
+ }, 100);
65
+ }
66
+ getCloseListener(event) {
67
+ return this.renderer.listen('document', event, () => {
68
+ this.hideTooltip();
69
+ this.removeCloseListeners();
70
+ });
71
+ }
72
+ hideTooltip() {
73
+ if (this.tooltipElement) {
74
+ this.renderer.removeChild(this.el.nativeElement, this.tooltipElement);
75
+ this.tooltipElement = undefined;
76
+ this.isTooltipVisible = false;
77
+ }
78
+ }
79
+ removeCloseListeners() {
80
+ for (const listener of this.closeListeners) {
81
+ listener();
82
+ }
83
+ this.closeListeners = [];
84
+ }
85
+ ngOnDestroy() {
86
+ this.removeCloseListeners();
87
+ }
88
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
89
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TooltipDirective, isStandalone: true, selector: "[tooltip]", inputs: { tooltip: "tooltip" }, host: { listeners: { "mouseenter": "onMouseEnter()", "click": "onMouseEnter()", "mouseleave": "onMouseLeave()", "window:resize": "onMouseLeave()" } }, ngImport: i0 });
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
92
+ type: Directive,
93
+ args: [{
94
+ selector: '[tooltip]',
95
+ standalone: true
96
+ }]
97
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltip: [{
98
+ type: Input
99
+ }], onMouseEnter: [{
100
+ type: HostListener,
101
+ args: ['mouseenter']
102
+ }, {
103
+ type: HostListener,
104
+ args: ['click']
105
+ }], onMouseLeave: [{
106
+ type: HostListener,
107
+ args: ['mouseleave']
108
+ }, {
109
+ type: HostListener,
110
+ args: ['window:resize']
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kaXJlY3RpdmVzL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRzs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFlSjtJQUNBO0lBZHJCOztPQUVHO0lBRUgsT0FBTyxDQUFVO0lBRVQsY0FBYyxDQUFlO0lBRTdCLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUVsQyxjQUFjLEdBQWUsRUFBRSxDQUFDO0lBRXhDLFlBQ3FCLEVBQWMsRUFDZCxRQUFtQjtRQURuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUNyQyxDQUFDO0lBRUo7O09BRUc7SUFHSCxZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDakM7YUFDSTtZQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUdILFlBQVk7UUFDUixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FB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LFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3VHQXRHUSxnQkFBZ0I7MkZBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3lIQU9HLE9BQU87c0JBRE4sS0FBSztnQkFtQk4sWUFBWTtzQkFGWCxZQUFZO3VCQUFDLFlBQVk7O3NCQUN6QixZQUFZO3VCQUFDLE9BQU87Z0JBaUJyQixZQUFZO3NCQUZYLFlBQVk7dUJBQUMsWUFBWTs7c0JBQ3pCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBhIGdsb2JhbCBsaXN0ZW5lci4gSXMgYSBmdW5jdGlvbiB0aGF0IHNpbXBseSB1bnN1YnNjcmliZXMgdGhlIGxpc3RlbmVyLlxuICovXG50eXBlIExpc3RlbmVyID0gKCkgPT4gdm9pZDtcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0aGF0IGRpc3BsYXlzIGEgdG9vbHRpcCBvbiBob3Zlci5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9vbHRpcF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29udGVudCB0byBkaXNwbGF5IGluc2lkZSB0aGUgdG9vbHRpcC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRvb2x0aXAhOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHRvb2x0aXBFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGlzVG9vbHRpcFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgY2xvc2VMaXN0ZW5lcnM6IExpc3RlbmVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyB0aGUgdG9vbHRpcC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNUb29sdGlwVmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcCgpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNsb3NlTGlzdGVuZXJzKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlcyB0aGUgdG9vbHRpcC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1Rvb2x0aXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50b29sdGlwRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50LmlubmVySFRNTCA9IHRoaXMudG9vbHRpcDtcbiAgICAgICAgICAgIGNvbnN0IHJlY3Q6IERPTVJlY3QgPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnei1pbmRleCcsICcxMDAwJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAncGFkZGluZycsICc0cHggOHB4IDRweCA4cHgnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ2JvcmRlci1yYWRpdXMnLCAnNXB4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdiYWNrZ3JvdW5kLWNvbG9yJywgJyM2MTYxNjEnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ2NvbG9yJywgJ3doaXRlJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXgtaGVpZ2h0JywgJzMwdmgnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ292ZXJmbG93JywgJ3Njcm9sbCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXBFbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQ6IG51bWJlciA9IHdpbmRvdy5zY3JvbGxYICsgcmVjdC5sZWZ0IC0gKHRoaXMudG9vbHRpcEVsZW1lbnQuY2xpZW50V2lkdGggLyAyKSArIDE4O1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbGVmdCcsIGAke2xlZnR9cHhgKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcDogbnVtYmVyID0gd2luZG93LnNjcm9sbFkgKyByZWN0LnRvcCAtIHRoaXMudG9vbHRpcEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gNTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3RvcCcsIGAke3RvcH1weGApO1xuICAgICAgICAgICAgdGhpcy5pc1Rvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDbG9zZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlTGlzdGVuZXJzLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDbG9zZUxpc3RlbmVyKCdjbGljaycpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2xvc2VMaXN0ZW5lcigndG91Y2htb3ZlJyksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDbG9zZUxpc3RlbmVyKCdyZXNpemUnKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSwgMTAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENsb3NlTGlzdGVuZXIoZXZlbnQ6IHN0cmluZyk6IExpc3RlbmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsIGV2ZW50LCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy50b29sdGlwRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5pc1Rvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUNsb3NlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mIHRoaXMuY2xvc2VMaXN0ZW5lcnMpIHtcbiAgICAgICAgICAgIGxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZUxpc3RlbmVycyA9IFtdO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,49 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const NGX_GET_VALIDATION_ERROR_MESSAGE = new InjectionToken('Provider for the default getValidationErrorMessage.', {
3
+ providedIn: 'root',
4
+ factory: () => getValidationErrorMessage
5
+ });
6
+ /**
7
+ * Generates a default error message for most validation errors.
8
+ *
9
+ * @param model - The ngModel to get the error from.
10
+ * @returns The Validation Error Message to display.
11
+ */
12
+ function getValidationErrorMessage(model) {
13
+ if (model.hasError('matDatepickerParse')) {
14
+ return 'not a valid date';
15
+ }
16
+ else if (model.hasError('email')) {
17
+ return 'not a valid email';
18
+ }
19
+ else if (model.hasError('minlength')) {
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
21
+ return `needs to be at least ${model.getError('minlength').requiredLength} characters long`;
22
+ }
23
+ else if (model.hasError('maxlength')) {
24
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
25
+ return `needs to be at most ${model.getError('maxlength').requiredLength} characters long`;
26
+ }
27
+ else if (model.hasError('min')) {
28
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
29
+ return `needs to be equal or bigger than ${model.getError('min').min}`;
30
+ }
31
+ else if (model.hasError('max')) {
32
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
33
+ return `needs to be equal or smaller than ${model.getError('max').max}`;
34
+ }
35
+ else if (model.hasError('passwordMatch')) {
36
+ return 'Passwords need to match!';
37
+ }
38
+ else if (model.hasError('required')) {
39
+ return 'required';
40
+ }
41
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
42
+ else if (model.hasError('pattern') && model.getError('pattern').requiredPattern === '^true$') {
43
+ return 'needs to be selected';
44
+ }
45
+ else {
46
+ return 'invalid input';
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbGlkYXRpb24tZXJyb3ItbWVzc2FnZS5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2Z1bmN0aW9ucy9nZXQtdmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQWlDLElBQUksY0FBYyxDQUM1RixxREFBcUQsRUFDckQ7SUFDSSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCO0NBQzNDLENBQ0osQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsU0FBUyx5QkFBeUIsQ0FBQyxLQUFjO0lBQzdDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sa0JBQWtCLENBQUM7S0FDN0I7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUIsT0FBTyxtQkFBbUIsQ0FBQztLQUM5QjtTQUNJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNsQyxzRUFBc0U7UUFDdEUsT0FBTyx3QkFBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLGtCQUFrQixDQUFDO0tBQy9GO1NBQ0ksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ2xDLHNFQUFzRTtRQUN0RSxPQUFPLHVCQUF1QixLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsa0JBQWtCLENBQUM7S0FDOUY7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUIsc0VBQXNFO1FBQ3RFLE9BQU8sb0NBQW9DLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDMUU7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUIsc0VBQXNFO1FBQ3RFLE9BQU8scUNBQXFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDM0U7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDdEMsT0FBTywwQkFBMEIsQ0FBQztLQUNyQztTQUNJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNqQyxPQUFPLFVBQVUsQ0FBQztLQUNyQjtJQUNELHNFQUFzRTtTQUNqRSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQzFGLE9BQU8sc0JBQXNCLENBQUM7S0FDakM7U0FDSTtRQUNELE9BQU8sZUFBZSxDQUFDO0tBQzFCO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY29uc3QgTkdYX0dFVF9WQUxJREFUSU9OX0VSUk9SX01FU1NBR0U6IEluamVjdGlvblRva2VuPCgpID0+IHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgJ1Byb3ZpZGVyIGZvciB0aGUgZGVmYXVsdCBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlLicsXG4gICAge1xuICAgICAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2VcbiAgICB9XG4pO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgbW9zdCB2YWxpZGF0aW9uIGVycm9ycy5cbiAqXG4gKiBAcGFyYW0gbW9kZWwgLSBUaGUgbmdNb2RlbCB0byBnZXQgdGhlIGVycm9yIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgVmFsaWRhdGlvbiBFcnJvciBNZXNzYWdlIHRvIGRpc3BsYXkuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UobW9kZWw6IE5nTW9kZWwpOiBzdHJpbmcge1xuICAgIGlmIChtb2RlbC5oYXNFcnJvcignbWF0RGF0ZXBpY2tlclBhcnNlJykpIHtcbiAgICAgICAgcmV0dXJuICdub3QgYSB2YWxpZCBkYXRlJztcbiAgICB9XG4gICAgZWxzZSBpZiAobW9kZWwuaGFzRXJyb3IoJ2VtYWlsJykpIHtcbiAgICAgICAgcmV0dXJuICdub3QgYSB2YWxpZCBlbWFpbCc7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgIHJldHVybiBgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJHttb2RlbC5nZXRFcnJvcignbWlubGVuZ3RoJykucmVxdWlyZWRMZW5ndGh9IGNoYXJhY3RlcnMgbG9uZ2A7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgIHJldHVybiBgbmVlZHMgdG8gYmUgYXQgbW9zdCAke21vZGVsLmdldEVycm9yKCdtYXhsZW5ndGgnKS5yZXF1aXJlZExlbmd0aH0gY2hhcmFjdGVycyBsb25nYDtcbiAgICB9XG4gICAgZWxzZSBpZiAobW9kZWwuaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgcmV0dXJuIGBuZWVkcyB0byBiZSBlcXVhbCBvciBiaWdnZXIgdGhhbiAke21vZGVsLmdldEVycm9yKCdtaW4nKS5taW59YDtcbiAgICB9XG4gICAgZWxzZSBpZiAobW9kZWwuaGFzRXJyb3IoJ21heCcpKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgcmV0dXJuIGBuZWVkcyB0byBiZSBlcXVhbCBvciBzbWFsbGVyIHRoYW4gJHttb2RlbC5nZXRFcnJvcignbWF4JykubWF4fWA7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdwYXNzd29yZE1hdGNoJykpIHtcbiAgICAgICAgcmV0dXJuICdQYXNzd29yZHMgbmVlZCB0byBtYXRjaCEnO1xuICAgIH1cbiAgICBlbHNlIGlmIChtb2RlbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICByZXR1cm4gJ3JlcXVpcmVkJztcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdwYXR0ZXJuJykgJiYgbW9kZWwuZ2V0RXJyb3IoJ3BhdHRlcm4nKS5yZXF1aXJlZFBhdHRlcm4gPT09ICdedHJ1ZSQnKSB7XG4gICAgICAgIHJldHVybiAnbmVlZHMgdG8gYmUgc2VsZWN0ZWQnO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuICdpbnZhbGlkIGlucHV0JztcbiAgICB9XG59Il19
@@ -0,0 +1,25 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const NGX_VALIDATION_ERRORS_TOOLTIP_TITLE = new InjectionToken('Provider for the validation errors tooltip title.', {
3
+ providedIn: 'root',
4
+ factory: () => 'Validation Errors:'
5
+ });
6
+ /**
7
+ * The default function that gets the validation errors tooltip content.
8
+ *
9
+ * @param validationErrors - All validation errors for which the tooltip content should be generated.
10
+ * @returns A html string, containing a list of the name of each invalid property.
11
+ */
12
+ export function getValidationErrorsTooltipContent(validationErrors) {
13
+ const title = inject(NGX_VALIDATION_ERRORS_TOOLTIP_TITLE);
14
+ let res = `
15
+ ${title}
16
+ <br>
17
+ <ul style="margin-bottom: 0px; padding-left: 16px;">
18
+ `;
19
+ for (const error of validationErrors) {
20
+ res = res.concat(`<li>${error.property}</li>`);
21
+ }
22
+ res = res.concat('</ul>');
23
+ return res;
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbGlkYXRpb24tZXJyb3JzLXRvb2x0aXAtY29udGVudC5mdW5jdGlvbi50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2Z1bmN0aW9ucy9nZXQtdmFsaWRhdGlvbi1lcnJvcnMtdG9vbHRpcC1jb250ZW50LmZ1bmN0aW9uLnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUEyQixJQUFJLGNBQWMsQ0FDekYsbURBQW1ELEVBQ25EO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG9CQUFvQjtDQUN0QyxDQUNKLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxnQkFBbUM7SUFDakYsTUFBTSxLQUFLLEdBQVcsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDbEUsSUFBSSxHQUFHLEdBQVc7VUFDWixLQUFLOzs7S0FHVixDQUFDO0lBQ0YsS0FBSyxNQUFNLEtBQUssSUFBSSxnQkFBZ0IsRUFBRTtRQUNsQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssQ0FBQyxRQUFRLE9BQU8sQ0FBQyxDQUFDO0tBQ2xEO0lBQ0QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUIsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3ZhbGlkYXRpb24udXRpbGl0aWVzJztcblxuZXhwb3J0IGNvbnN0IE5HWF9WQUxJREFUSU9OX0VSUk9SU19UT09MVElQX1RJVExFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgICdQcm92aWRlciBmb3IgdGhlIHZhbGlkYXRpb24gZXJyb3JzIHRvb2x0aXAgdGl0bGUuJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gJ1ZhbGlkYXRpb24gRXJyb3JzOidcbiAgICB9XG4pO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGZ1bmN0aW9uIHRoYXQgZ2V0cyB0aGUgdmFsaWRhdGlvbiBlcnJvcnMgdG9vbHRpcCBjb250ZW50LlxuICpcbiAqIEBwYXJhbSB2YWxpZGF0aW9uRXJyb3JzIC0gQWxsIHZhbGlkYXRpb24gZXJyb3JzIGZvciB3aGljaCB0aGUgdG9vbHRpcCBjb250ZW50IHNob3VsZCBiZSBnZW5lcmF0ZWQuXG4gKiBAcmV0dXJucyBBIGh0bWwgc3RyaW5nLCBjb250YWluaW5nIGEgbGlzdCBvZiB0aGUgbmFtZSBvZiBlYWNoIGludmFsaWQgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0aW9uRXJyb3JzVG9vbHRpcENvbnRlbnQodmFsaWRhdGlvbkVycm9yczogVmFsaWRhdGlvbkVycm9yW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHRpdGxlOiBzdHJpbmcgPSBpbmplY3QoTkdYX1ZBTElEQVRJT05fRVJST1JTX1RPT0xUSVBfVElUTEUpO1xuICAgIGxldCByZXM6IHN0cmluZyA9IGBcbiAgICAgICAgJHt0aXRsZX1cbiAgICAgICAgPGJyPlxuICAgICAgICA8dWwgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7IHBhZGRpbmctbGVmdDogMTZweDtcIj5cbiAgICBgO1xuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgdmFsaWRhdGlvbkVycm9ycykge1xuICAgICAgICByZXMgPSByZXMuY29uY2F0KGA8bGk+JHtlcnJvci5wcm9wZXJ0eX08L2xpPmApO1xuICAgIH1cbiAgICByZXMgPSByZXMuY29uY2F0KCc8L3VsPicpO1xuICAgIHJldHVybiByZXM7XG59Il19
@@ -8,7 +8,6 @@ export * from './components/confirm-dialog/confirm-dialog-data';
8
8
  export * from './components/confirm-dialog/confirm-dialog.component';
9
9
  export * from './components/edit-page/edit-data.route';
10
10
  export * from './components/edit-page/edit-page.component';
11
- export * from './components/get-validation-error-message.function';
12
11
  export * from './components/input/base-input.component';
13
12
  export * from './components/input/input.component';
14
13
  export * from './components/input/input.module';
@@ -20,6 +19,7 @@ export * from './components/table/edit-dialog/edit-entity-data';
20
19
  export * from './components/table/edit-dialog/edit-entity-dialog.component';
21
20
  export * from './components/table/table-data';
22
21
  export * from './components/table/table.component';
22
+ export * from './components/tooltip/tooltip.component';
23
23
  // decorators
24
24
  export * from './decorators/array/array-decorator.data';
25
25
  export * from './decorators/array/array.decorator';
@@ -45,6 +45,9 @@ export * from './decorators/references-one/references-one-decorator.data';
45
45
  export * from './decorators/references-one/references-one.decorator';
46
46
  export * from './decorators/string/string-decorator.data';
47
47
  export * from './decorators/string/string.decorator';
48
+ // functions
49
+ export * from './functions/get-validation-error-message.function';
50
+ export * from './functions/get-validation-errors-tooltip-content.function.ts';
48
51
  // services
49
52
  export * from './services/entity.service';
50
53
  export * from './services/unsaved-changes.guard';
@@ -52,4 +55,5 @@ export * from './services/unsaved-changes.guard';
52
55
  export * from './utilities/date.utilities';
53
56
  export * from './utilities/entity.utilities';
54
57
  export * from './utilities/file.utilities';
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxVQUFVO0FBQ1YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxhQUFhO0FBQ2IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxhQUFhO0FBQ2IsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsV0FBVztBQUNYLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxXQUFXO0FBQ1gsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbWF0ZXJpYWwtZW50aXR5LlxuICovXG5cbi8vIGNsYXNzZXNcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuLy8gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1wYWdlL2VkaXQtZGF0YS5yb3V0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1wYWdlL2VkaXQtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2dldC12YWxpZGF0aW9uLWVycm9yLW1lc3NhZ2UuZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2Jhc2UtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvY3JlYXRlLWRpYWxvZy9jcmVhdGUtZW50aXR5LWRpYWxvZy1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9jcmVhdGUtZGlhbG9nL2NyZWF0ZS1lbnRpdHktZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvZGVmYXVsdC5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS9iYXNlLWRpc3BsYXktY29sdW1uLXZhbHVlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Jztcbi8vIGRlY29yYXRvcnNcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9hcnJheS9hcnJheS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYXJyYXkvYXJyYXkuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9iYXNlL2Ryb3Bkb3duLXZhbHVlLmludGVyZmFjZSc7XG5leHBvcnQgeyBDb2wsIFBvc2l0aW9uIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2Jvb2xlYW4vYm9vbGVhbi1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYm9vbGVhbi9ib29sZWFuLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvY3VzdG9tL2N1c3RvbS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvY3VzdG9tL2N1c3RvbS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2RhdGUvZGF0ZS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvZGF0ZS9kYXRlLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvZmlsZS9maWxlLWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9maWxlL2ZpbGUuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9oYXMtbWFueS9oYXMtbWFueS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvaGFzLW1hbnkvaGFzLW1hbnkuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9udW1iZXIvbnVtYmVyLWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9udW1iZXIvbnVtYmVyLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvb2JqZWN0L29iamVjdC1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvb2JqZWN0L29iamVjdC5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3JlZmVyZW5jZXMtbWFueS9yZWZlcmVuY2VzLW1hbnktZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3JlZmVyZW5jZXMtbWFueS9yZWZlcmVuY2VzLW1hbnkuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9yZWZlcmVuY2VzLW9uZS9yZWZlcmVuY2VzLW9uZS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvcmVmZXJlbmNlcy1vbmUvcmVmZXJlbmNlcy1vbmUuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9zdHJpbmcvc3RyaW5nLWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9zdHJpbmcvc3RyaW5nLmRlY29yYXRvcic7XG4vLyBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9lbnRpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3Vuc2F2ZWQtY2hhbmdlcy5ndWFyZCc7XG4vL3V0aWxpdGllc1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMvZGF0ZS51dGlsaXRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMvZW50aXR5LnV0aWxpdGllcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxpdGllcy9maWxlLnV0aWxpdGllcyc7Il19
58
+ export * from './utilities/validation.utilities';
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxVQUFVO0FBQ1YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxhQUFhO0FBQ2IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZFQUE2RSxDQUFDO0FBQzVGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxhQUFhO0FBQ2IsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsWUFBWTtBQUNaLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxXQUFXO0FBQ1gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELFdBQVc7QUFDWCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LW1hdGVyaWFsLWVudGl0eS5cbiAqL1xuXG4vLyBjbGFzc2VzXG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMvZW50aXR5Lm1vZGVsJztcbi8vIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtcGFnZS9lZGl0LWRhdGEucm91dGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtcGFnZS9lZGl0LXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9iYXNlLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2NyZWF0ZS1kaWFsb2cvY3JlYXRlLWVudGl0eS1kaWFsb2ctZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvY3JlYXRlLWRpYWxvZy9jcmVhdGUtZW50aXR5LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2RlZmF1bHQuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvZGlzcGxheS1jb2x1bW4tdmFsdWUvYmFzZS1kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG4vLyBkZWNvcmF0b3JzXG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYXJyYXkvYXJyYXktZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2FycmF5L2FycmF5LmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYmFzZS9kcm9wZG93bi12YWx1ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgQ29sLCBQb3NpdGlvbiB9IGZyb20gJy4vZGVjb3JhdG9ycy9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9ib29sZWFuL2Jvb2xlYW4tZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2Jvb2xlYW4vYm9vbGVhbi5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2N1c3RvbS9jdXN0b20tZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2N1c3RvbS9jdXN0b20uZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9kYXRlL2RhdGUtZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2RhdGUvZGF0ZS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2ZpbGUvZmlsZS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvZmlsZS9maWxlLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvaGFzLW1hbnkvaGFzLW1hbnktZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2hhcy1tYW55L2hhcy1tYW55LmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvbnVtYmVyL251bWJlci1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvbnVtYmVyL251bWJlci5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL29iamVjdC9vYmplY3QtZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL29iamVjdC9vYmplY3QuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9yZWZlcmVuY2VzLW1hbnkvcmVmZXJlbmNlcy1tYW55LWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9yZWZlcmVuY2VzLW1hbnkvcmVmZXJlbmNlcy1tYW55LmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvcmVmZXJlbmNlcy1vbmUvcmVmZXJlbmNlcy1vbmUtZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3JlZmVyZW5jZXMtb25lL3JlZmVyZW5jZXMtb25lLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvc3RyaW5nL3N0cmluZy1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvc3RyaW5nL3N0cmluZy5kZWNvcmF0b3InO1xuLy8gZnVuY3Rpb25zXG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9ucy9nZXQtdmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb25zL2dldC12YWxpZGF0aW9uLWVycm9ycy10b29sdGlwLWNvbnRlbnQuZnVuY3Rpb24udHMnO1xuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91bnNhdmVkLWNoYW5nZXMuZ3VhcmQnO1xuLy91dGlsaXRpZXNcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0aWVzL2RhdGUudXRpbGl0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0aWVzL2VudGl0eS51dGlsaXRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMvZmlsZS51dGlsaXRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMvdmFsaWRhdGlvbi51dGlsaXRpZXMnOyJdfQ==