@enigmatry/entry-components 1.15.1-preview.9 → 15.0.0-preview

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 (207) hide show
  1. package/README.md +2 -1
  2. package/assets/fonts/Montserrat/Montserrat-bold.eot +0 -0
  3. package/assets/fonts/Montserrat/Montserrat-bold.ttf +0 -0
  4. package/assets/fonts/Montserrat/Montserrat-bold.woff +0 -0
  5. package/assets/fonts/Montserrat/Montserrat-bold.woff2 +0 -0
  6. package/assets/fonts/OpenSans/OpenSans-bold.eot +0 -0
  7. package/assets/fonts/OpenSans/OpenSans-bold.ttf +0 -0
  8. package/assets/fonts/OpenSans/OpenSans-bold.woff +0 -0
  9. package/assets/fonts/OpenSans/OpenSans-bold.woff2 +0 -0
  10. package/assets/fonts/OpenSans/OpenSans-normal.eot +0 -0
  11. package/assets/fonts/OpenSans/OpenSans-normal.ttf +0 -0
  12. package/assets/fonts/OpenSans/OpenSans-normal.woff +0 -0
  13. package/assets/fonts/OpenSans/OpenSans-normal.woff2 +0 -0
  14. package/assets/fonts/Roboto/Roboto-bold.woff2 +0 -0
  15. package/assets/fonts/Roboto/Roboto-normal.woff2 +0 -0
  16. package/button/README.md +47 -0
  17. package/button/entry-button-config.d.ts +26 -0
  18. package/button/entry-button.directive.d.ts +18 -0
  19. package/button/entry-button.module.d.ts +9 -0
  20. package/{header → button}/index.d.ts +1 -1
  21. package/button/public-api.d.ts +3 -0
  22. package/dialog/README.md +2 -2
  23. package/dialog/entry-dialog-buttons-alignment.type.d.ts +1 -1
  24. package/dialog/entry-dialog-config.model.d.ts +1 -1
  25. package/dialog/entry-dialog.module.d.ts +4 -1
  26. package/esm2020/{header/enigmatry-entry-components-header.mjs → button/enigmatry-entry-components-button.mjs} +1 -1
  27. package/esm2020/button/entry-button-config.mjs +22 -0
  28. package/esm2020/button/entry-button.directive.mjs +56 -0
  29. package/esm2020/button/entry-button.module.mjs +28 -0
  30. package/esm2020/button/public-api.mjs +4 -0
  31. package/esm2020/dialog/dialogs/entry-dialog.component.mjs +8 -5
  32. package/esm2020/dialog/entry-dialog-buttons-alignment.type.mjs +1 -2
  33. package/esm2020/dialog/entry-dialog-config.model.mjs +3 -3
  34. package/esm2020/dialog/entry-dialog.module.mjs +16 -4
  35. package/esm2020/file-input/enigmatry-entry-components-file-input.mjs +5 -0
  36. package/esm2020/file-input/entry-file-input.component.mjs +197 -0
  37. package/esm2020/file-input/entry-file-input.module.mjs +40 -0
  38. package/esm2020/file-input/public-api.mjs +3 -0
  39. package/esm2020/permissions/enigmatry-entry-components-permissions.mjs +5 -0
  40. package/esm2020/permissions/permission-type.mjs +2 -0
  41. package/esm2020/permissions/permission.directive.mjs +35 -0
  42. package/esm2020/permissions/permission.guard.mjs +14 -0
  43. package/esm2020/permissions/permission.module.mjs +29 -0
  44. package/esm2020/permissions/permission.pipe.mjs +20 -0
  45. package/esm2020/permissions/permission.service.mjs +3 -0
  46. package/esm2020/permissions/public-api.mjs +6 -0
  47. package/esm2020/public-api.mjs +4 -3
  48. package/esm2020/search-filter/entry-search-filter.component.mjs +8 -6
  49. package/esm2020/search-filter/entry-search-filter.module.mjs +12 -4
  50. package/esm2020/search-filter/search-filter-input/search-filter-input.component.mjs +9 -4
  51. package/esm2020/table/components/entry-cell/entry-cell.component.mjs +23 -0
  52. package/esm2020/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +33 -0
  53. package/esm2020/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +25 -0
  54. package/esm2020/table/components/entry-table/entry-table.component.mjs +248 -0
  55. package/esm2020/table/components/index.mjs +5 -0
  56. package/esm2020/table/enigmatry-entry-components-table.mjs +5 -0
  57. package/esm2020/table/entry-table.module.mjs +84 -0
  58. package/esm2020/table/interfaces/cell-template.mjs +2 -0
  59. package/esm2020/table/interfaces/column-def.mjs +2 -0
  60. package/esm2020/table/interfaces/column-sort-prop.mjs +2 -0
  61. package/esm2020/table/interfaces/column-type-parameter.mjs +2 -0
  62. package/esm2020/table/interfaces/column-type.mjs +2 -0
  63. package/esm2020/table/interfaces/context-menu-item.mjs +2 -0
  64. package/esm2020/table/interfaces/entry-table-config.mjs +18 -0
  65. package/esm2020/table/interfaces/index.mjs +13 -0
  66. package/esm2020/table/interfaces/paged-query.mjs +34 -0
  67. package/esm2020/table/interfaces/pagination.mjs +2 -0
  68. package/esm2020/table/interfaces/row-class-formatter.mjs +2 -0
  69. package/esm2020/table/interfaces/row-context-menu-formatter.mjs +2 -0
  70. package/esm2020/table/interfaces/row-selection-formatter.mjs +2 -0
  71. package/esm2020/table/public-api.mjs +4 -0
  72. package/esm2020/validation/entry-form-errors.component.mjs +7 -3
  73. package/fesm2015/enigmatry-entry-components-button.mjs +110 -0
  74. package/fesm2015/enigmatry-entry-components-button.mjs.map +1 -0
  75. package/fesm2015/enigmatry-entry-components-dialog.mjs +22 -7
  76. package/fesm2015/enigmatry-entry-components-dialog.mjs.map +1 -1
  77. package/fesm2015/enigmatry-entry-components-file-input.mjs +237 -0
  78. package/fesm2015/enigmatry-entry-components-file-input.mjs.map +1 -0
  79. package/fesm2015/enigmatry-entry-components-permissions.mjs +98 -0
  80. package/fesm2015/enigmatry-entry-components-permissions.mjs.map +1 -0
  81. package/fesm2015/enigmatry-entry-components-search-filter.mjs +24 -9
  82. package/fesm2015/enigmatry-entry-components-search-filter.mjs.map +1 -1
  83. package/fesm2015/enigmatry-entry-components-table.mjs +459 -0
  84. package/fesm2015/enigmatry-entry-components-table.mjs.map +1 -0
  85. package/fesm2015/enigmatry-entry-components-validation.mjs +6 -2
  86. package/fesm2015/enigmatry-entry-components-validation.mjs.map +1 -1
  87. package/fesm2015/enigmatry-entry-components.mjs +3 -2
  88. package/fesm2015/enigmatry-entry-components.mjs.map +1 -1
  89. package/fesm2020/enigmatry-entry-components-button.mjs +107 -0
  90. package/fesm2020/enigmatry-entry-components-button.mjs.map +1 -0
  91. package/fesm2020/enigmatry-entry-components-dialog.mjs +22 -7
  92. package/fesm2020/enigmatry-entry-components-dialog.mjs.map +1 -1
  93. package/fesm2020/enigmatry-entry-components-file-input.mjs +240 -0
  94. package/fesm2020/enigmatry-entry-components-file-input.mjs.map +1 -0
  95. package/fesm2020/enigmatry-entry-components-permissions.mjs +97 -0
  96. package/fesm2020/enigmatry-entry-components-permissions.mjs.map +1 -0
  97. package/fesm2020/enigmatry-entry-components-search-filter.mjs +24 -9
  98. package/fesm2020/enigmatry-entry-components-search-filter.mjs.map +1 -1
  99. package/fesm2020/enigmatry-entry-components-table.mjs +450 -0
  100. package/fesm2020/enigmatry-entry-components-table.mjs.map +1 -0
  101. package/fesm2020/enigmatry-entry-components-validation.mjs +6 -2
  102. package/fesm2020/enigmatry-entry-components-validation.mjs.map +1 -1
  103. package/fesm2020/enigmatry-entry-components.mjs +3 -2
  104. package/fesm2020/enigmatry-entry-components.mjs.map +1 -1
  105. package/file-input/README.md +71 -0
  106. package/file-input/entry-file-input.component.d.ts +74 -0
  107. package/file-input/entry-file-input.module.d.ts +12 -0
  108. package/file-input/index.d.ts +5 -0
  109. package/file-input/public-api.d.ts +2 -0
  110. package/package.json +31 -15
  111. package/permissions/README.md +68 -0
  112. package/permissions/index.d.ts +5 -0
  113. package/permissions/permission-type.d.ts +3 -0
  114. package/permissions/permission.directive.d.ts +11 -0
  115. package/permissions/permission.guard.d.ts +2 -0
  116. package/permissions/permission.module.d.ts +9 -0
  117. package/permissions/permission.pipe.d.ts +11 -0
  118. package/permissions/permission.service.d.ts +4 -0
  119. package/permissions/public-api.d.ts +5 -0
  120. package/public-api.d.ts +3 -2
  121. package/search-filter/entry-search-filter.module.d.ts +4 -2
  122. package/search-filter/search-filter-input/search-filter-input.component.d.ts +4 -2
  123. package/styles/_generator.scss +15 -10
  124. package/styles/modules/_default-theme.scss +36 -59
  125. package/styles/modules/components/buttons/_generator.scss +8 -0
  126. package/styles/modules/components/dialogs/_generator.scss +8 -3
  127. package/styles/modules/components/forms/_generator.scss +12 -6
  128. package/styles/modules/components/inputs/_generator.scss +15 -0
  129. package/styles/modules/components/search-filter/_generator.scss +15 -0
  130. package/styles/modules/components/tables/_cells.scss +11 -8
  131. package/styles/modules/components/tables/_no-result.scss +1 -3
  132. package/styles/modules/components/tables/_rows.scss +10 -40
  133. package/styles/modules/components/tables/_sorting.scss +2 -9
  134. package/styles/modules/typography/_fonts.scss +35 -42
  135. package/styles/modules/vendors/angular-material/_generator.scss +46 -0
  136. package/styles/modules/vendors/angular-material/_palette-generator.scss +32 -0
  137. package/styles/modules/vendors/angular-material/_typography-generator.scss +101 -0
  138. package/styles/partials/core/components/_index.scss +3 -3
  139. package/styles/partials/core/components/dialogs/_general.scss +10 -64
  140. package/styles/partials/core/components/forms/_general.scss +9 -13
  141. package/styles/partials/core/components/search-filter/_general.scss +9 -0
  142. package/styles/partials/core/components/tables/_general.scss +17 -0
  143. package/styles/partials/generator-test.scss +38 -0
  144. package/table/README.md +76 -0
  145. package/table/components/entry-cell/entry-cell.component.d.ts +10 -0
  146. package/table/components/entry-cell-context-menu/entry-cell-context-menu.component.d.ts +14 -0
  147. package/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.d.ts +10 -0
  148. package/table/components/entry-table/entry-table.component.d.ts +81 -0
  149. package/table/components/index.d.ts +4 -0
  150. package/table/entry-table.module.d.ts +20 -0
  151. package/{toolbar → table}/index.d.ts +1 -1
  152. package/table/interfaces/cell-template.d.ts +4 -0
  153. package/table/interfaces/column-def.d.ts +20 -0
  154. package/table/interfaces/column-sort-prop.d.ts +5 -0
  155. package/table/interfaces/column-type-parameter.d.ts +9 -0
  156. package/table/interfaces/column-type.d.ts +1 -0
  157. package/table/interfaces/context-menu-item.d.ts +6 -0
  158. package/table/interfaces/entry-table-config.d.ts +11 -0
  159. package/table/interfaces/index.d.ts +12 -0
  160. package/table/interfaces/paged-query.d.ts +14 -0
  161. package/table/interfaces/pagination.d.ts +19 -0
  162. package/table/interfaces/row-class-formatter.d.ts +3 -0
  163. package/table/interfaces/row-context-menu-formatter.d.ts +4 -0
  164. package/table/interfaces/row-selection-formatter.d.ts +4 -0
  165. package/table/public-api.d.ts +3 -0
  166. package/esm2020/header/entry-header.component.mjs +0 -13
  167. package/esm2020/header/entry-header.module.mjs +0 -24
  168. package/esm2020/header/public-api.mjs +0 -3
  169. package/esm2020/toolbar/enigmatry-entry-components-toolbar.mjs +0 -5
  170. package/esm2020/toolbar/entry-toolbar.component.mjs +0 -43
  171. package/esm2020/toolbar/entry-toolbar.module.mjs +0 -24
  172. package/esm2020/toolbar/public-api.mjs +0 -3
  173. package/fesm2015/enigmatry-entry-components-header.mjs +0 -41
  174. package/fesm2015/enigmatry-entry-components-header.mjs.map +0 -1
  175. package/fesm2015/enigmatry-entry-components-toolbar.mjs +0 -71
  176. package/fesm2015/enigmatry-entry-components-toolbar.mjs.map +0 -1
  177. package/fesm2020/enigmatry-entry-components-header.mjs +0 -41
  178. package/fesm2020/enigmatry-entry-components-header.mjs.map +0 -1
  179. package/fesm2020/enigmatry-entry-components-toolbar.mjs +0 -71
  180. package/fesm2020/enigmatry-entry-components-toolbar.mjs.map +0 -1
  181. package/header/README.md +0 -41
  182. package/header/entry-header.component.d.ts +0 -6
  183. package/header/entry-header.module.d.ts +0 -8
  184. package/header/public-api.d.ts +0 -2
  185. package/styles/modules/components/forms/outlines/_field-outlines.scss +0 -45
  186. package/styles/modules/components/forms/outlines/_form-fields.scss +0 -26
  187. package/styles/modules/components/forms/outlines/_general.scss +0 -9
  188. package/styles/modules/components/forms/selectors/_checkboxes.scss +0 -55
  189. package/styles/modules/components/forms/selectors/_radio-buttons.scss +0 -39
  190. package/styles/modules/components/headers/_generator.scss +0 -12
  191. package/styles/modules/elements/_generator.scss +0 -20
  192. package/styles/modules/elements/anchors/_generator.scss +0 -16
  193. package/styles/modules/elements/buttons/_default.scss +0 -12
  194. package/styles/modules/elements/buttons/_generator.scss +0 -45
  195. package/styles/modules/states/_hover.scss +0 -18
  196. package/styles/partials/core/components/headers/_general.scss +0 -7
  197. package/styles/partials/core/components/tables/_action-cells.scss +0 -26
  198. package/styles/partials/core/components/tables/_cells.scss +0 -39
  199. package/styles/partials/core/components/tables/_index.scss +0 -5
  200. package/styles/partials/core/components/tables/_layout.scss +0 -47
  201. package/styles/partials/core/components/tables/_rows.scss +0 -13
  202. package/styles/partials/core/components/tables/_sorting.scss +0 -8
  203. package/styles/partials/test.scss +0 -35
  204. package/toolbar/README.md +0 -39
  205. package/toolbar/entry-toolbar.component.d.ts +0 -28
  206. package/toolbar/entry-toolbar.module.d.ts +0 -8
  207. package/toolbar/public-api.d.ts +0 -2
@@ -0,0 +1,197 @@
1
+ /* eslint-disable @typescript-eslint/member-ordering */
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';
4
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { Subject, fromEvent } from 'rxjs';
6
+ import { takeUntil } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/material/icon";
10
+ import * as i3 from "@angular/material/button";
11
+ import * as i4 from "@enigmatry/entry-components/button";
12
+ const providers = [
13
+ {
14
+ provide: NG_VALUE_ACCESSOR,
15
+ useExisting: forwardRef(() => EntryFileInputComponent),
16
+ multi: true
17
+ },
18
+ {
19
+ provide: NG_VALIDATORS,
20
+ useExisting: forwardRef(() => EntryFileInputComponent),
21
+ multi: true
22
+ }
23
+ ];
24
+ export class EntryFileInputComponent {
25
+ /**
26
+ * Same as 'multiple' attribute in <input/> element.
27
+ */
28
+ set multiple(multiple) {
29
+ this._multiple = coerceBooleanProperty(multiple);
30
+ }
31
+ get multiple() {
32
+ return this._multiple;
33
+ }
34
+ /**
35
+ * Same as 'disabled' attribute in <input/> element.
36
+ */
37
+ set disabled(disabled) {
38
+ this._disabled = coerceBooleanProperty(disabled);
39
+ }
40
+ get disabled() {
41
+ return this._disabled;
42
+ }
43
+ /**
44
+ * Same as 'readonly' attribute in <input/> element.
45
+ */
46
+ set readonly(readonly) {
47
+ this._readonly = coerceBooleanProperty(readonly);
48
+ }
49
+ get readonly() {
50
+ return this._readonly;
51
+ }
52
+ constructor(_ngZone, _renderer) {
53
+ this._ngZone = _ngZone;
54
+ this._renderer = _renderer;
55
+ /**
56
+ * Label for the select file button. Defaults to 'Choose file...'
57
+ */
58
+ this.label = 'Choose file...';
59
+ /**
60
+ * MatIcon for the select file button. Defaults to 'insert_drive_file' (optional)
61
+ */
62
+ this.matIcon = 'insert_drive_file';
63
+ this._multiple = false;
64
+ this._disabled = false;
65
+ this._readonly = false;
66
+ /**
67
+ * Size limit per file in KB (kilobytes)
68
+ */
69
+ this.maxFileSizeInKb = undefined;
70
+ /**
71
+ * Number of files allowed when multiple=true
72
+ */
73
+ this.maxFileCount = undefined;
74
+ /**
75
+ * Event emitted when a file is selected. Emits a [File | FileList] object.
76
+ */
77
+ this.selectedFile = new EventEmitter();
78
+ this._destroy$ = new Subject();
79
+ // implements ControlValueAccessor interface
80
+ this.onChange = (_) => { };
81
+ this.onTouched = () => { };
82
+ }
83
+ get fileNames() {
84
+ if (this.value instanceof File) {
85
+ return this.value.name;
86
+ }
87
+ if (this.value instanceof FileList) {
88
+ return `${this.value.length} files`;
89
+ }
90
+ return '';
91
+ }
92
+ ngOnInit() {
93
+ // Handle click event on custom file button and trigger click on native file input
94
+ this._ngZone.runOutsideAngular(() => {
95
+ fromEvent(this._fileButton.nativeElement, 'click')
96
+ .pipe(takeUntil(this._destroy$))
97
+ .subscribe(() => {
98
+ this._fileInput.nativeElement.click();
99
+ });
100
+ });
101
+ }
102
+ ngOnDestroy() {
103
+ this._destroy$.next();
104
+ }
105
+ onFileSelect(event) {
106
+ const fileInputEl = event.target;
107
+ const files = fileInputEl.files;
108
+ const value = this._multiple
109
+ ? files?.length > 1 ? files : files[0]
110
+ : files[0];
111
+ this.value = value;
112
+ this.onChange(value);
113
+ this.onTouched();
114
+ if (value) {
115
+ this.selectedFile.emit(value);
116
+ }
117
+ }
118
+ clear() {
119
+ this.value = undefined;
120
+ this.onChange(undefined);
121
+ this._renderer.setProperty(this._fileInput.nativeElement, 'value', '');
122
+ }
123
+ writeValue(value) {
124
+ this.value = value;
125
+ }
126
+ registerOnChange(fn) {
127
+ this.onChange = fn;
128
+ }
129
+ registerOnTouched(fn) {
130
+ this.onTouched = fn;
131
+ }
132
+ setDisabledState(isDisabled) {
133
+ this._disabled = isDisabled;
134
+ }
135
+ // implements Validator interface
136
+ validate(control) {
137
+ const isSizeLimitExceeded = this.isFileSizeLimitExceeded(control.value);
138
+ const isCountLimitExceeded = this.isFileCountLimitExceeded(control.value);
139
+ if (!isSizeLimitExceeded && !isCountLimitExceeded) {
140
+ return null;
141
+ }
142
+ return {
143
+ ...(isSizeLimitExceeded ? { maxFileSize: true } : {}),
144
+ ...(isCountLimitExceeded ? { maxFileCount: true } : {})
145
+ };
146
+ }
147
+ isFileCountLimitExceeded(files) {
148
+ const isMultiple = this.multiple && files instanceof FileList;
149
+ const maxFileCount = this.maxFileCount;
150
+ const actualFileCount = files?.length;
151
+ return isMultiple && maxFileCount && actualFileCount > maxFileCount;
152
+ }
153
+ isFileSizeLimitExceeded(files) {
154
+ if (!this.maxFileSizeInKb) {
155
+ return false;
156
+ }
157
+ const maxFileSizeInBytes = this.maxFileSizeInKb * 1024;
158
+ if (files instanceof File) {
159
+ return files.size > maxFileSizeInBytes;
160
+ }
161
+ if (files instanceof FileList) {
162
+ return Array.from(files).some(file => file.size > maxFileSizeInBytes);
163
+ }
164
+ return false;
165
+ }
166
+ }
167
+ EntryFileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryFileInputComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
168
+ EntryFileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EntryFileInputComponent, selector: "entry-file-input", inputs: { label: "label", matIcon: "matIcon", accept: "accept", multiple: "multiple", disabled: "disabled", readonly: "readonly", maxFileSizeInKb: "maxFileSizeInKb", maxFileCount: "maxFileCount" }, outputs: { selectedFile: "selectedFile" }, providers: providers, viewQueries: [{ propertyName: "_fileButton", first: true, predicate: ["fileButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "_fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<button \r\n #fileButton \r\n mat-button \r\n entry-submit-button \r\n type=\"button\" \r\n [disabled]=\"disabled || readonly\">\r\n <mat-icon *ngIf=\"matIcon\">{{matIcon}}</mat-icon>\r\n <span>{{label}}</span>\r\n</button>\r\n<ng-container *ngIf=\"value\">\r\n {{fileNames}}\r\n</ng-container>\r\n<input\r\n #fileInput\r\n type=\"file\"\r\n class=\"file-input-hidden\"\r\n [accept]=\"accept\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"onFileSelect($event)\"\r\n/>", styles: [".file-input-hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.EntryButtonDirective, selector: "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryFileInputComponent, decorators: [{
170
+ type: Component,
171
+ args: [{ selector: 'entry-file-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers, template: "<button \r\n #fileButton \r\n mat-button \r\n entry-submit-button \r\n type=\"button\" \r\n [disabled]=\"disabled || readonly\">\r\n <mat-icon *ngIf=\"matIcon\">{{matIcon}}</mat-icon>\r\n <span>{{label}}</span>\r\n</button>\r\n<ng-container *ngIf=\"value\">\r\n {{fileNames}}\r\n</ng-container>\r\n<input\r\n #fileInput\r\n type=\"file\"\r\n class=\"file-input-hidden\"\r\n [accept]=\"accept\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"onFileSelect($event)\"\r\n/>", styles: [".file-input-hidden{display:none}\n"] }]
172
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { label: [{
173
+ type: Input
174
+ }], matIcon: [{
175
+ type: Input
176
+ }], accept: [{
177
+ type: Input
178
+ }], multiple: [{
179
+ type: Input
180
+ }], disabled: [{
181
+ type: Input
182
+ }], readonly: [{
183
+ type: Input
184
+ }], maxFileSizeInKb: [{
185
+ type: Input
186
+ }], maxFileCount: [{
187
+ type: Input
188
+ }], selectedFile: [{
189
+ type: Output
190
+ }], _fileButton: [{
191
+ type: ViewChild,
192
+ args: ['fileButton', { static: true, read: ElementRef }]
193
+ }], _fileInput: [{
194
+ type: ViewChild,
195
+ args: ['fileInput', { static: true }]
196
+ }] } });
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dC9lbnRyeS1maWxlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9maWxlLWlucHV0L2VudHJ5LWZpbGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFDdkIsTUFBTSxFQUFhLFNBQVMsRUFBRSxVQUFVLEVBQzVELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDa0MsYUFBYSxFQUNwRCxpQkFBaUIsRUFDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUUzQyxNQUFNLFNBQVMsR0FBRztJQUNoQjtRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUN0RCxLQUFLLEVBQUUsSUFBSTtLQUNaO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsYUFBYTtRQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1FBQ3RELEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBU0YsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEM7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxRQUFzQjtR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RXNDLFVBQVUsbUpDNUczRCw4Z0JBcUJFOzJGRGFXLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxhQUMvQyxTQUFTO3FIQU9BLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQU1GLFFBQVE7c0JBRFgsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBYUYsUUFBUTtzQkFEWCxLQUFLO2dCQVlHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFVSSxZQUFZO3NCQUFyQixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSTNELFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZyAqL1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLFxuICBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IHByb3ZpZGVycyA9IFtcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVudHJ5RmlsZUlucHV0Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbnRyeUZpbGVJbnB1dENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfVxuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50cnktZmlsZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS1maWxlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50cnktZmlsZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5RmlsZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuXG4gIC8qKlxuICAgKiBMYWJlbCBmb3IgdGhlIHNlbGVjdCBmaWxlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gJ0Nob29zZSBmaWxlLi4uJ1xuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnQ2hvb3NlIGZpbGUuLi4nO1xuXG4gIC8qKlxuICAgKiBNYXRJY29uIGZvciB0aGUgc2VsZWN0IGZpbGUgYnV0dG9uLiBEZWZhdWx0cyB0byAnaW5zZXJ0X2RyaXZlX2ZpbGUnIChvcHRpb25hbClcbiAgICovXG4gIEBJbnB1dCgpIG1hdEljb24/PSAnaW5zZXJ0X2RyaXZlX2ZpbGUnO1xuXG4gIC8qKlxuICAgKiBTYW1lIGFzICdhY2NlcHQnIGF0dHJpYnV0ZSBpbiA8aW5wdXQvPiBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KCkgYWNjZXB0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTYW1lIGFzICdtdWx0aXBsZScgYXR0cmlidXRlIGluIDxpbnB1dC8+IGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbXVsdGlwbGUobXVsdGlwbGU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX211bHRpcGxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG11bHRpcGxlKTtcbiAgfVxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpcGxlO1xuICB9XG4gIHByaXZhdGUgX211bHRpcGxlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNhbWUgYXMgJ2Rpc2FibGVkJyBhdHRyaWJ1dGUgaW4gPGlucHV0Lz4gZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoZGlzYWJsZWQpO1xuICB9XG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2FtZSBhcyAncmVhZG9ubHknIGF0dHJpYnV0ZSBpbiA8aW5wdXQvPiBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJlYWRvbmx5KHJlYWRvbmx5OiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShyZWFkb25seSk7XG4gIH1cbiAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIGxpbWl0IHBlciBmaWxlIGluIEtCIChraWxvYnl0ZXMpXG4gICAqL1xuICBASW5wdXQoKSBtYXhGaWxlU2l6ZUluS2I/OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBmaWxlcyBhbGxvd2VkIHdoZW4gbXVsdGlwbGU9dHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgbWF4RmlsZUNvdW50PzogbnVtYmVyID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHNlbGVjdGVkIFtGaWxlIHwgRmlsZUxpc3RdIG9iamVjdC5cbiAgICovXG4gIHZhbHVlOiBGaWxlIHwgRmlsZUxpc3QgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGZpbGUgaXMgc2VsZWN0ZWQuIEVtaXRzIGEgW0ZpbGUgfCBGaWxlTGlzdF0gb2JqZWN0LlxuICAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xuXG5cbiAgQFZpZXdDaGlsZCgnZmlsZUJ1dHRvbicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIF9maWxlQnV0dG9uITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2ZpbGVJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgfVxuXG4gIGdldCBmaWxlTmFtZXMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlLm5hbWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgRmlsZUxpc3QpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnZhbHVlLmxlbmd0aH0gZmlsZXNgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgY2xpY2sgZXZlbnQgb24gY3VzdG9tIGZpbGUgYnV0dG9uIGFuZCB0cmlnZ2VyIGNsaWNrIG9uIG5hdGl2ZSBmaWxlIGlucHV0XG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGZyb21FdmVudCh0aGlzLl9maWxlQnV0dG9uLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2ZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgb25GaWxlU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVJbnB1dEVsID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZXM6IEZpbGVMaXN0ID0gZmlsZUlucHV0RWwuZmlsZXM7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX211bHRpcGxlXG4gICAgICA/IGZpbGVzPy5sZW5ndGggPiAxID8gZmlsZXMgOiBmaWxlc1swXVxuICAgICAgOiBmaWxlc1swXTtcblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZS5lbWl0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMub25DaGFuZ2UodW5kZWZpbmVkKTtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9maWxlSW5wdXQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xuICB9XG5cbiAgLy8gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLy8gaW1wbGVtZW50cyBWYWxpZGF0b3IgaW50ZXJmYWNlXG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPEZpbGUgfCBGaWxlTGlzdCB8IHVuZGVmaW5lZD4pOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBjb25zdCBpc1NpemVMaW1pdEV4Y2VlZGVkID0gdGhpcy5pc0ZpbGVTaXplTGltaXRFeGNlZWRlZChjb250cm9sLnZhbHVlKTtcbiAgICBjb25zdCBpc0NvdW50TGltaXRFeGNlZWRlZCA9IHRoaXMuaXNGaWxlQ291bnRMaW1pdEV4Y2VlZGVkKGNvbnRyb2wudmFsdWUpO1xuXG4gICAgaWYgKCFpc1NpemVMaW1pdEV4Y2VlZGVkICYmICFpc0NvdW50TGltaXRFeGNlZWRlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi4oaXNTaXplTGltaXRFeGNlZWRlZCA/IHsgbWF4RmlsZVNpemU6IHRydWUgfSA6IHt9KSxcbiAgICAgIC4uLihpc0NvdW50TGltaXRFeGNlZWRlZCA/IHsgbWF4RmlsZUNvdW50OiB0cnVlIH0gOiB7fSlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0ZpbGVDb3VudExpbWl0RXhjZWVkZWQoZmlsZXM6IEZpbGUgfCBGaWxlTGlzdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSB0aGlzLm11bHRpcGxlICYmIGZpbGVzIGluc3RhbmNlb2YgRmlsZUxpc3Q7XG4gICAgY29uc3QgbWF4RmlsZUNvdW50ID0gdGhpcy5tYXhGaWxlQ291bnQ7XG4gICAgY29uc3QgYWN0dWFsRmlsZUNvdW50ID0gKGZpbGVzIGFzIEZpbGVMaXN0KT8ubGVuZ3RoO1xuXG4gICAgcmV0dXJuIGlzTXVsdGlwbGUgJiYgbWF4RmlsZUNvdW50ICYmIGFjdHVhbEZpbGVDb3VudCA+IG1heEZpbGVDb3VudDtcbiAgfVxuXG4gIHByaXZhdGUgaXNGaWxlU2l6ZUxpbWl0RXhjZWVkZWQoZmlsZXM6IEZpbGUgfCBGaWxlTGlzdCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5tYXhGaWxlU2l6ZUluS2IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbWF4RmlsZVNpemVJbkJ5dGVzID0gdGhpcy5tYXhGaWxlU2l6ZUluS2IgKiAxMDI0O1xuXG4gICAgaWYgKGZpbGVzIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgcmV0dXJuIGZpbGVzLnNpemUgPiBtYXhGaWxlU2l6ZUluQnl0ZXM7XG4gICAgfVxuICAgIGlmIChmaWxlcyBpbnN0YW5jZW9mIEZpbGVMaXN0KSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbShmaWxlcykuc29tZShmaWxlID0+IGZpbGUuc2l6ZSA+IG1heEZpbGVTaXplSW5CeXRlcyk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPGJ1dHRvbiBcclxuICNmaWxlQnV0dG9uIFxyXG4gbWF0LWJ1dHRvbiBcclxuIGVudHJ5LXN1Ym1pdC1idXR0b24gXHJcbiB0eXBlPVwiYnV0dG9uXCIgXHJcbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIj5cclxuICA8bWF0LWljb24gKm5nSWY9XCJtYXRJY29uXCI+e3ttYXRJY29ufX08L21hdC1pY29uPlxyXG4gIDxzcGFuPnt7bGFiZWx9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWx1ZVwiPlxyXG4gIHt7ZmlsZU5hbWVzfX1cclxuPC9uZy1jb250YWluZXI+XHJcbjxpbnB1dFxyXG4gI2ZpbGVJbnB1dFxyXG4gdHlwZT1cImZpbGVcIlxyXG4gY2xhc3M9XCJmaWxlLWlucHV0LWhpZGRlblwiXHJcbiBbYWNjZXB0XT1cImFjY2VwdFwiXHJcbiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQpXCJcclxuLz4iXX0=
@@ -0,0 +1,40 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EntryFileInputComponent } from './entry-file-input.component';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { EntryButtonModule } from '@enigmatry/entry-components/button';
8
+ import * as i0 from "@angular/core";
9
+ export class EntryFileInputModule {
10
+ }
11
+ EntryFileInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryFileInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ EntryFileInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: EntryFileInputModule, declarations: [EntryFileInputComponent], imports: [CommonModule,
13
+ FormsModule,
14
+ MatIconModule,
15
+ MatButtonModule,
16
+ EntryButtonModule], exports: [EntryFileInputComponent] });
17
+ EntryFileInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryFileInputModule, imports: [CommonModule,
18
+ FormsModule,
19
+ MatIconModule,
20
+ MatButtonModule,
21
+ EntryButtonModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryFileInputModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: [
26
+ EntryFileInputComponent
27
+ ],
28
+ imports: [
29
+ CommonModule,
30
+ FormsModule,
31
+ MatIconModule,
32
+ MatButtonModule,
33
+ EntryButtonModule
34
+ ],
35
+ exports: [
36
+ EntryFileInputComponent
37
+ ]
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZmlsZS1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dC9lbnRyeS1maWxlLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFpQnZFLE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFiN0IsdUJBQXVCLGFBR3ZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUIsYUFHakIsdUJBQXVCO2tIQUdkLG9CQUFvQixZQVY3QixZQUFZO1FBQ1osV0FBVztRQUNYLGFBQWE7UUFDYixlQUFlO1FBQ2YsaUJBQWlCOzJGQU1SLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbnRyeUZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZW50cnktZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRW50cnlGaWxlSW5wdXRDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBFbnRyeUJ1dHRvbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRW50cnlGaWxlSW5wdXRDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRyeUZpbGVJbnB1dE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { EntryFileInputModule } from './entry-file-input.module';
2
+ export { EntryFileInputComponent } from './entry-file-input.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9maWxlLWlucHV0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBFbnRyeUZpbGVJbnB1dE1vZHVsZSB9IGZyb20gJy4vZW50cnktZmlsZS1pbnB1dC5tb2R1bGUnO1xuZXhwb3J0IHsgRW50cnlGaWxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VudHJ5LWZpbGUtaW5wdXQuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtcGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtcGVybWlzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGVybWlzc2lvblR5cGUgPSBudW1iZXIgfCBzdHJpbmcgfCB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfTtcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Directive, Input, inject } from '@angular/core';
3
+ import { EntryPermissionService } from './permission.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class EntryPermissionDirective {
7
+ constructor() {
8
+ this.ngIfDirective = inject(NgIf);
9
+ this.permissionService = inject((EntryPermissionService));
10
+ }
11
+ set only(permissions) {
12
+ this.ngIfDirective.ngIf = this.permissionService.hasPermissions(permissions);
13
+ }
14
+ set except(permissions) {
15
+ this.ngIfDirective.ngIf = !this.permissionService.hasPermissions(permissions);
16
+ }
17
+ }
18
+ EntryPermissionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ EntryPermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: EntryPermissionDirective, selector: "[entryPermissionsOnly],[entryPermissionsExcept]", inputs: { only: ["entryPermissionsOnly", "only"], except: ["entryPermissionsExcept", "except"] }, hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[entryPermissionsOnly],[entryPermissionsExcept]',
24
+ hostDirectives: [{
25
+ directive: NgIf
26
+ }]
27
+ }]
28
+ }], propDecorators: { only: [{
29
+ type: Input,
30
+ args: ['entryPermissionsOnly']
31
+ }], except: [{
32
+ type: Input,
33
+ args: ['entryPermissionsExcept']
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUTlELE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixzQkFBaUIsR0FBRyxNQUFNLENBQUMsQ0FBQSxzQkFBeUIsQ0FBQSxDQUFDLENBQUM7S0FTL0Q7SUFQQyxJQUFtQyxJQUFJLENBQUMsV0FBZ0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBcUMsTUFBTSxDQUFDLFdBQWdCO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRixDQUFDOztxSEFWVSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELGNBQWMsRUFBRSxDQUFDOzRCQUNmLFNBQVMsRUFBRSxJQUFJO3lCQUNoQixDQUFDO2lCQUNIOzhCQUtvQyxJQUFJO3NCQUF0QyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFJUSxNQUFNO3NCQUExQyxLQUFLO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uVHlwZSB9IGZyb20gJy4vcGVybWlzc2lvbi10eXBlJztcbmltcG9ydCB7IEVudHJ5UGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbnRyeVBlcm1pc3Npb25zT25seV0sW2VudHJ5UGVybWlzc2lvbnNFeGNlcHRdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7XG4gICAgZGlyZWN0aXZlOiBOZ0lmXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZTxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IHtcbiAgcHJpdmF0ZSBuZ0lmRGlyZWN0aXZlID0gaW5qZWN0KE5nSWYpO1xuICBwcml2YXRlIHBlcm1pc3Npb25TZXJ2aWNlID0gaW5qZWN0KEVudHJ5UGVybWlzc2lvblNlcnZpY2U8VD4pO1xuXG4gIEBJbnB1dCgnZW50cnlQZXJtaXNzaW9uc09ubHknKSBzZXQgb25seShwZXJtaXNzaW9uczogVFtdKSB7XG4gICAgdGhpcy5uZ0lmRGlyZWN0aXZlLm5nSWYgPSB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zKTtcbiAgfVxuXG4gIEBJbnB1dCgnZW50cnlQZXJtaXNzaW9uc0V4Y2VwdCcpIHNldCBleGNlcHQocGVybWlzc2lvbnM6IFRbXSkge1xuICAgIHRoaXMubmdJZkRpcmVjdGl2ZS5uZ0lmID0gIXRoaXMucGVybWlzc2lvblNlcnZpY2UuaGFzUGVybWlzc2lvbnMocGVybWlzc2lvbnMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { inject } from '@angular/core';
2
+ import { EntryPermissionService } from './permission.service';
3
+ export const entryPermissionGuard = (route, _state) => {
4
+ const permissionService = inject(EntryPermissionService);
5
+ const routePermissions = route.data.permissions ?? {};
6
+ if (routePermissions.only) {
7
+ return permissionService.hasPermissions(routePermissions.only);
8
+ }
9
+ if (routePermissions.except) {
10
+ return !permissionService.hasPermissions(routePermissions.except);
11
+ }
12
+ return false;
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPOUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQ2pDLENBQTRCLEtBQTZCLEVBQUUsTUFBMkIsRUFBRSxFQUFFO0lBQ3hGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXVDLElBQUksRUFBRSxDQUFDO0lBRWxGLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1FBQ3pCLE9BQU8saUJBQWlCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFDM0IsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuRTtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4sIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uVHlwZSB9IGZyb20gJy4vcGVybWlzc2lvbi10eXBlJztcclxuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuXHJcbmludGVyZmFjZSBSb3V0ZVBlcm1pc3Npb25Db25maWc8VCBleHRlbmRzIFBlcm1pc3Npb25UeXBlPiB7XHJcbiAgb25seT86IFRbXTtcclxuICBleGNlcHQ/OiBUW107XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBlbnRyeVBlcm1pc3Npb25HdWFyZDogQ2FuQWN0aXZhdGVGbiA9XHJcbjxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgX3N0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XHJcbiAgY29uc3QgcGVybWlzc2lvblNlcnZpY2UgPSBpbmplY3QoRW50cnlQZXJtaXNzaW9uU2VydmljZSk7XHJcbiAgY29uc3Qgcm91dGVQZXJtaXNzaW9ucyA9IHJvdXRlLmRhdGEucGVybWlzc2lvbnMgYXMgUm91dGVQZXJtaXNzaW9uQ29uZmlnPFQ+ID8/IHt9O1xyXG5cclxuICBpZiAocm91dGVQZXJtaXNzaW9ucy5vbmx5KSB7XHJcbiAgICByZXR1cm4gcGVybWlzc2lvblNlcnZpY2UuaGFzUGVybWlzc2lvbnMocm91dGVQZXJtaXNzaW9ucy5vbmx5KTtcclxuICB9XHJcbiAgaWYgKHJvdXRlUGVybWlzc2lvbnMuZXhjZXB0KSB7XHJcbiAgICByZXR1cm4gIXBlcm1pc3Npb25TZXJ2aWNlLmhhc1Blcm1pc3Npb25zKHJvdXRlUGVybWlzc2lvbnMuZXhjZXB0KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuIl19
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EntryPermissionDirective } from './permission.directive';
4
+ import { EntryPermissionPipe } from './permission.pipe';
5
+ import * as i0 from "@angular/core";
6
+ export class EntryPermissionModule {
7
+ }
8
+ EntryPermissionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ EntryPermissionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionModule, declarations: [EntryPermissionDirective,
10
+ EntryPermissionPipe], imports: [CommonModule], exports: [EntryPermissionDirective,
11
+ EntryPermissionPipe] });
12
+ EntryPermissionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionModule, imports: [CommonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ EntryPermissionDirective,
18
+ EntryPermissionPipe
19
+ ],
20
+ imports: [
21
+ CommonModule
22
+ ],
23
+ exports: [
24
+ EntryPermissionDirective,
25
+ EntryPermissionPipe
26
+ ]
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBZXhELE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFYOUIsd0JBQXdCO1FBQ3hCLG1CQUFtQixhQUduQixZQUFZLGFBR1osd0JBQXdCO1FBQ3hCLG1CQUFtQjttSEFHVixxQkFBcUIsWUFQOUIsWUFBWTsyRkFPSCxxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbnRyeVBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEVudHJ5UGVybWlzc2lvblBpcGUgfSBmcm9tICcuL3Blcm1pc3Npb24ucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBFbnRyeVBlcm1pc3Npb25QaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBFbnRyeVBlcm1pc3Npb25QaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlQZXJtaXNzaW9uTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./permission.service";
4
+ export class EntryPermissionPipe {
5
+ constructor(permissionsService) {
6
+ this.permissionsService = permissionsService;
7
+ }
8
+ transform(permissions) {
9
+ return this.permissionsService.hasPermissions(permissions);
10
+ }
11
+ }
12
+ EntryPermissionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionPipe, deps: [{ token: i1.EntryPermissionService }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ EntryPermissionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionPipe, name: "entryHasPermissions" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryPermissionPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'entryHasPermissions'
18
+ }]
19
+ }], ctorParameters: function () { return [{ type: i1.EntryPermissionService }]; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBT3BELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0Isa0JBQTZDO1FBQTdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7SUFBSSxDQUFDO0lBRXRFLFNBQVMsQ0FBQyxXQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Z0hBTFUsbUJBQW1COzhHQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUscUJBQXFCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLXR5cGUnO1xuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZW50cnlIYXNQZXJtaXNzaW9ucydcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlQZXJtaXNzaW9uUGlwZTxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlPFQ+KSB7IH1cblxuICB0cmFuc2Zvcm0ocGVybWlzc2lvbnM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class EntryPermissionService {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLHNCQUFzQjtDQUUzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLXR5cGUnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVudHJ5UGVybWlzc2lvblNlcnZpY2U8VCBleHRlbmRzIFBlcm1pc3Npb25UeXBlPiB7XHJcbiAgcHVibGljIGFic3RyYWN0IGhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zOiBUW10pOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export { EntryPermissionPipe } from './permission.pipe';
2
+ export { EntryPermissionDirective } from './permission.directive';
3
+ export { entryPermissionGuard } from './permission.guard';
4
+ export { EntryPermissionService } from './permission.service';
5
+ export { EntryPermissionModule } from './permission.module';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRW50cnlQZXJtaXNzaW9uUGlwZSB9IGZyb20gJy4vcGVybWlzc2lvbi5waXBlJztcbmV4cG9ydCB7IEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgZW50cnlQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICcuL3Blcm1pc3Npb24uZ3VhcmQnO1xuZXhwb3J0IHsgRW50cnlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuZXhwb3J0IHsgRW50cnlQZXJtaXNzaW9uTW9kdWxlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLm1vZHVsZSc7XG4iXX0=
@@ -1,9 +1,10 @@
1
1
  /*
2
2
  * Public API Surface of entry-components
3
3
  */
4
- export * from '@enigmatry/entry-components/header';
5
4
  export * from '@enigmatry/entry-components/dialog';
6
5
  export * from '@enigmatry/entry-components/search-filter';
7
- export * from '@enigmatry/entry-components/toolbar';
8
6
  export * from '@enigmatry/entry-components/validation';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlbnRyeS1jb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL2hlYWRlcic7XG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy90b29sYmFyJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy92YWxpZGF0aW9uJztcbiJdfQ==
7
+ export * from '@enigmatry/entry-components/button';
8
+ export * from '@enigmatry/entry-components/file-input';
9
+ export * from '@enigmatry/entry-components/permissions';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGVudHJ5LWNvbXBvbmVudHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy92YWxpZGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL2ZpbGUtaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zJztcbiJdfQ==
@@ -4,8 +4,10 @@ import { ENTRY_SEARCH_FILTER_CONFIG } from './search-filter-config.model';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/forms";
7
- import * as i3 from "./search-filter-input/search-filter-input.component";
8
- import * as i4 from "./search-filter-config.model";
7
+ import * as i3 from "@angular/material/button";
8
+ import * as i4 from "@enigmatry/entry-components/button";
9
+ import * as i5 from "./search-filter-input/search-filter-input.component";
10
+ import * as i6 from "./search-filter-config.model";
9
11
  /**
10
12
  * Entry SearchFilter component.
11
13
  */
@@ -37,11 +39,11 @@ export class EntrySearchFilterComponent {
37
39
  }
38
40
  }
39
41
  EntrySearchFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntrySearchFilterComponent, deps: [{ token: ENTRY_SEARCH_FILTER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
40
- EntrySearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EntrySearchFilterComponent, selector: "entry-search-filter", inputs: { searchFilters: "searchFilters" }, outputs: { searchFilterChange: "searchFilterChange" }, ngImport: i0, template: "<div class=\"search-form-container\">\r\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\">\r\n <div class=\"search-form-fields\">\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"search-form-field\">\r\n <entry-search-filter-input [searchFilter]=\"searchFilter\" [form]=\"searchFilterForm\">\r\n </entry-search-filter-input>\r\n </div>\r\n <div>\r\n <button type=\"button\" class=\"mat-raised-button mat-accent\" type=\"submit\">\r\n {{config.applyButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n</div>", styles: [".search-form-fields{display:flex;align-items:flex-start}.search-form-fields .search-form-field{width:200px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: i3.EntrySearchFilterInputComponent, selector: "entry-search-filter-input", inputs: ["searchFilter", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ EntrySearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EntrySearchFilterComponent, selector: "entry-search-filter", inputs: { searchFilters: "searchFilters" }, outputs: { searchFilterChange: "searchFilterChange" }, ngImport: i0, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\" class=\"search-form-container entry-form\">\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"form-field\">\r\n <entry-search-filter-input [searchFilter]=\"searchFilter\" [form]=\"searchFilterForm\">\r\n </entry-search-filter-input>\r\n </div>\r\n <div class=\"entry-search-filter-actions\">\r\n <button mat-button entry-submit-button>\r\n <span>{{config.applyButtonText}}</span>\r\n </button>\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.EntryButtonDirective, selector: "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]" }, { kind: "component", type: i5.EntrySearchFilterInputComponent, selector: "entry-search-filter-input", inputs: ["searchFilter", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntrySearchFilterComponent, decorators: [{
42
44
  type: Component,
43
- args: [{ selector: 'entry-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"search-form-container\">\r\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\">\r\n <div class=\"search-form-fields\">\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"search-form-field\">\r\n <entry-search-filter-input [searchFilter]=\"searchFilter\" [form]=\"searchFilterForm\">\r\n </entry-search-filter-input>\r\n </div>\r\n <div>\r\n <button type=\"button\" class=\"mat-raised-button mat-accent\" type=\"submit\">\r\n {{config.applyButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n</div>", styles: [".search-form-fields{display:flex;align-items:flex-start}.search-form-fields .search-form-field{width:200px}\n"] }]
44
- }], ctorParameters: function () { return [{ type: i4.EntrySearchFilterConfig, decorators: [{
45
+ args: [{ selector: 'entry-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\" class=\"search-form-container entry-form\">\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"form-field\">\r\n <entry-search-filter-input [searchFilter]=\"searchFilter\" [form]=\"searchFilterForm\">\r\n </entry-search-filter-input>\r\n </div>\r\n <div class=\"entry-search-filter-actions\">\r\n <button mat-button entry-submit-button>\r\n <span>{{config.applyButtonText}}</span>\r\n </button>\r\n </div>\r\n</form>" }]
46
+ }], ctorParameters: function () { return [{ type: i6.EntrySearchFilterConfig, decorators: [{
45
47
  type: Inject,
46
48
  args: [ENTRY_SEARCH_FILTER_CONFIG]
47
49
  }] }]; }, propDecorators: { searchFilters: [{
@@ -49,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
49
51
  }], searchFilterChange: [{
50
52
  type: Output
51
53
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFHbkc7O0dBRUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBV3JDLFlBQXVELE1BQStCO1FBQS9CLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBVHRGLHdHQUF3RztRQUMvRixrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFDckQ7O1dBRUc7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUlvQixDQUFDO0lBRTNGLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxhQUFzQztRQUNoRCxNQUFNLEtBQUssR0FBUSxFQUFFLENBQUM7UUFDdEIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNuQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakQsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDdEMsWUFBWSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7dUhBOUJVLDBCQUEwQixrQkFXakIsMEJBQTBCOzJHQVhuQywwQkFBMEIsOEpDZnZDLHFyQkFjTTsyRkRDTywwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OzBCQWFsQyxNQUFNOzJCQUFDLDBCQUEwQjs0Q0FSckMsYUFBYTtzQkFBckIsS0FBSztnQkFJSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlYXJjaEZpbHRlclBhcmFtcyB9IGZyb20gJy4vc2VhcmNoLWZpbHRlci1wYXJhbXMudHlwZSc7XHJcbmltcG9ydCB7IEVOVFJZX1NFQVJDSF9GSUxURVJfQ09ORklHLCBFbnRyeVNlYXJjaEZpbHRlckNvbmZpZyB9IGZyb20gJy4vc2VhcmNoLWZpbHRlci1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJCYXNlIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLWlucHV0L3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogRW50cnkgU2VhcmNoRmlsdGVyIGNvbXBvbmVudC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZW50cnktc2VhcmNoLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogQ29uZmlndXJhdGlvbiBvZiB0aGUgc2VhcmNoIGZpbHRlcnMgaW5wdXRzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlYXJjaC1maWx0ZXIgY29tcG9uZW50LiAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckJhc2U8YW55PltdID0gW107XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIGNoYW5nZSBpbiBTZWFyY2hGaWx0ZXJQYXJhbXMgc28gdGhlIGNvbnRhaW5pbmcgY29tcG9uZW50IGNhbiBhcHBseSB0aGVtIGFuZCByZXRyaWV2ZSB0aGUgZmlsdGVyZWQgcmVzdWx0cy5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoRmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hGaWx0ZXJQYXJhbXM+KCk7XHJcblxyXG4gIHNlYXJjaEZpbHRlckZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEVOVFJZX1NFQVJDSF9GSUxURVJfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBFbnRyeVNlYXJjaEZpbHRlckNvbmZpZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWFyY2hGaWx0ZXJGb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLnNlYXJjaEZpbHRlcnMpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnNlYXJjaEZpbHRlckZvcm0udmFsdWU7XHJcbiAgICB0aGlzLnNlYXJjaEZpbHRlckNoYW5nZS5lbWl0KGZvcm1WYWx1ZSk7XHJcbiAgfVxyXG5cclxuICB0b0Zvcm1Hcm91cChzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJCYXNlPGFueT5bXSkge1xyXG4gICAgY29uc3QgZ3JvdXA6IGFueSA9IHt9O1xyXG4gICAgc2VhcmNoRmlsdGVycy5mb3JFYWNoKHNlYXJjaEZpbHRlciA9PiB7XHJcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gc2VhcmNoRmlsdGVyLnRvRm9ybUNvbnRyb2woKTtcclxuICAgICAgZ3JvdXBbc2VhcmNoRmlsdGVyLmtleV0gPSBmb3JtQ29udHJvbDtcclxuICAgICAgc2VhcmNoRmlsdGVyLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChncm91cCk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwic2VhcmNoLWZvcm0tY29udGFpbmVyXCI+XHJcbiAgICA8Zm9ybSAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIFtmb3JtR3JvdXBdPVwic2VhcmNoRmlsdGVyRm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtZm9ybS1maWVsZHNcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2VhcmNoRmlsdGVyIG9mIHNlYXJjaEZpbHRlcnNcIiBjbGFzcz1cInNlYXJjaC1mb3JtLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZW50cnktc2VhcmNoLWZpbHRlci1pbnB1dCBbc2VhcmNoRmlsdGVyXT1cInNlYXJjaEZpbHRlclwiIFtmb3JtXT1cInNlYXJjaEZpbHRlckZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDwvZW50cnktc2VhcmNoLWZpbHRlci1pbnB1dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1hdC1yYWlzZWQtYnV0dG9uIG1hdC1hY2NlbnRcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tjb25maWcuYXBwbHlCdXR0b25UZXh0fX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuPC9kaXY+Il19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQUduRzs7R0FFRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFXckMsWUFBdUQsTUFBK0I7UUFBL0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFUdEYsd0dBQXdHO1FBQy9GLGtCQUFhLEdBQTRCLEVBQUUsQ0FBQztRQUNyRDs7V0FFRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO0lBSW9CLENBQUM7SUFFM0YsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQXNDO1FBQ2hELE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ25DLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN0QyxZQUFZLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOzt1SEE5QlUsMEJBQTBCLGtCQVdqQiwwQkFBMEI7MkdBWG5DLDBCQUEwQiw4SkNmdkMsaWlCQVVPOzJGREtNLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs7MEJBYWxDLE1BQU07MkJBQUMsMEJBQTBCOzRDQVJyQyxhQUFhO3NCQUFyQixLQUFLO2dCQUlJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2VhcmNoRmlsdGVyUGFyYW1zIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLXBhcmFtcy50eXBlJztcclxuaW1wb3J0IHsgRU5UUllfU0VBUkNIX0ZJTFRFUl9DT05GSUcsIEVudHJ5U2VhcmNoRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlYXJjaEZpbHRlckJhc2UgfSBmcm9tICcuL3NlYXJjaC1maWx0ZXItaW5wdXQvc2VhcmNoLWZpbHRlci1iYXNlLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBFbnRyeSBTZWFyY2hGaWx0ZXIgY29tcG9uZW50LlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlbnRyeS1zZWFyY2gtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyeVNlYXJjaEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8qKiBDb25maWd1cmF0aW9uIG9mIHRoZSBzZWFyY2ggZmlsdGVycyBpbnB1dHMgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgc2VhcmNoLWZpbHRlciBjb21wb25lbnQuICovXHJcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyczogU2VhcmNoRmlsdGVyQmFzZTxhbnk+W10gPSBbXTtcclxuICAvKipcclxuICAgKiBFbWl0cyB0aGUgY2hhbmdlIGluIFNlYXJjaEZpbHRlclBhcmFtcyBzbyB0aGUgY29udGFpbmluZyBjb21wb25lbnQgY2FuIGFwcGx5IHRoZW0gYW5kIHJldHJpZXZlIHRoZSBmaWx0ZXJlZCByZXN1bHRzLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hGaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaEZpbHRlclBhcmFtcz4oKTtcclxuXHJcbiAgc2VhcmNoRmlsdGVyRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRU5UUllfU0VBUkNIX0ZJTFRFUl9DT05GSUcpIHB1YmxpYyBjb25maWc6IEVudHJ5U2VhcmNoRmlsdGVyQ29uZmlnKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZpbHRlckZvcm0gPSB0aGlzLnRvRm9ybUdyb3VwKHRoaXMuc2VhcmNoRmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuc2VhcmNoRmlsdGVyRm9ybS52YWx1ZTtcclxuICAgIHRoaXMuc2VhcmNoRmlsdGVyQ2hhbmdlLmVtaXQoZm9ybVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHRvRm9ybUdyb3VwKHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckJhc2U8YW55PltdKSB7XHJcbiAgICBjb25zdCBncm91cDogYW55ID0ge307XHJcbiAgICBzZWFyY2hGaWx0ZXJzLmZvckVhY2goc2VhcmNoRmlsdGVyID0+IHtcclxuICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSBzZWFyY2hGaWx0ZXIudG9Gb3JtQ29udHJvbCgpO1xyXG4gICAgICBncm91cFtzZWFyY2hGaWx0ZXIua2V5XSA9IGZvcm1Db250cm9sO1xyXG4gICAgICBzZWFyY2hGaWx0ZXIuZm9ybUNvbnRyb2wgPSBmb3JtQ29udHJvbDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBVbnR5cGVkRm9ybUdyb3VwKGdyb3VwKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxmb3JtIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgW2Zvcm1Hcm91cF09XCJzZWFyY2hGaWx0ZXJGb3JtXCIgY2xhc3M9XCJzZWFyY2gtZm9ybS1jb250YWluZXIgZW50cnktZm9ybVwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc2VhcmNoRmlsdGVyIG9mIHNlYXJjaEZpbHRlcnNcIiBjbGFzcz1cImZvcm0tZmllbGRcIj5cclxuICAgICAgICA8ZW50cnktc2VhcmNoLWZpbHRlci1pbnB1dCBbc2VhcmNoRmlsdGVyXT1cInNlYXJjaEZpbHRlclwiIFtmb3JtXT1cInNlYXJjaEZpbHRlckZvcm1cIj5cclxuICAgICAgICA8L2VudHJ5LXNlYXJjaC1maWx0ZXItaW5wdXQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlbnRyeS1zZWFyY2gtZmlsdGVyLWFjdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gZW50cnktc3VibWl0LWJ1dHRvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tjb25maWcuYXBwbHlCdXR0b25UZXh0fX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
@@ -4,6 +4,8 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MatInputModule } from '@angular/material/input';
5
5
  import { MatButtonModule } from '@angular/material/button';
6
6
  import { MatSelectModule } from '@angular/material/select';
7
+ import { EntryButtonModule } from '@enigmatry/entry-components/button';
8
+ import { MatTooltipModule } from '@angular/material/tooltip';
7
9
  import { EntrySearchFilterComponent } from './entry-search-filter.component';
8
10
  import { EntrySearchFilterInputComponent } from './search-filter-input/search-filter-input.component';
9
11
  import * as i0 from "@angular/core";
@@ -16,13 +18,17 @@ EntrySearchFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
16
18
  ReactiveFormsModule,
17
19
  MatInputModule,
18
20
  MatButtonModule,
19
- MatSelectModule], exports: [EntrySearchFilterComponent] });
21
+ EntryButtonModule,
22
+ MatSelectModule,
23
+ MatTooltipModule], exports: [EntrySearchFilterComponent] });
20
24
  EntrySearchFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntrySearchFilterModule, imports: [CommonModule,
21
25
  FormsModule,
22
26
  ReactiveFormsModule,
23
27
  MatInputModule,
24
28
  MatButtonModule,
25
- MatSelectModule] });
29
+ EntryButtonModule,
30
+ MatSelectModule,
31
+ MatTooltipModule] });
26
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntrySearchFilterModule, decorators: [{
27
33
  type: NgModule,
28
34
  args: [{
@@ -36,11 +42,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
36
42
  ReactiveFormsModule,
37
43
  MatInputModule,
38
44
  MatButtonModule,
39
- MatSelectModule
45
+ EntryButtonModule,
46
+ MatSelectModule,
47
+ MatTooltipModule
40
48
  ],
41
49
  exports: [
42
50
  EntrySearchFilterComponent
43
51
  ]
44
52
  }]
45
53
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBbUJ0RyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBZmhDLDBCQUEwQjtRQUMxQiwrQkFBK0IsYUFHL0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlLGFBR2YsMEJBQTBCO3FIQUdqQix1QkFBdUIsWUFYaEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlOzJGQU1OLHVCQUF1QjtrQkFqQm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDBCQUEwQjt3QkFDMUIsK0JBQStCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7cUJBQzNCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5cclxuaW1wb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWZpbHRlci1pbnB1dC9zZWFyY2gtZmlsdGVyLWlucHV0LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBFbnRyeVNlYXJjaEZpbHRlcklucHV0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyeVNlYXJjaEZpbHRlck1vZHVsZSB7IH1cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBcUJ0RyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBakJoQywwQkFBMEI7UUFDMUIsK0JBQStCLGFBRy9CLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixnQkFBZ0IsYUFHaEIsMEJBQTBCO3FIQUdqQix1QkFBdUIsWUFiaEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGdCQUFnQjsyRkFNUCx1QkFBdUI7a0JBbkJuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLCtCQUErQjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBFbnRyeVNlYXJjaEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnRyeVNlYXJjaEZpbHRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLWlucHV0L3NlYXJjaC1maWx0ZXItaW5wdXQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBFbnRyeVNlYXJjaEZpbHRlckNvbXBvbmVudCxcclxuICAgIEVudHJ5U2VhcmNoRmlsdGVySW5wdXRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRW50cnlCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBFbnRyeVNlYXJjaEZpbHRlckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudHJ5U2VhcmNoRmlsdGVyTW9kdWxlIHsgfVxyXG4iXX0=