@tilde-nlp/ngx-common 3.0.2 → 4.0.1

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 (236) hide show
  1. package/README.md +2 -0
  2. package/{esm2020 → esm2022}/lib/close-button/close-button.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/close-button/close-button.module.mjs +11 -11
  4. package/{esm2020 → esm2022}/lib/company-product/company-product.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/company-product/company-product.module.mjs +5 -5
  6. package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +25 -0
  7. package/esm2022/lib/confirmation-modal/confirmation-modal.module.mjs +21 -0
  8. package/esm2022/lib/confirmation-modal/index.mjs +6 -0
  9. package/esm2022/lib/confirmation-modal/models/confirmation-body.model.mjs +2 -0
  10. package/esm2022/lib/confirmation-modal/models/confirmation.enum.mjs +6 -0
  11. package/esm2022/lib/confirmation-modal/services/confirmation.service.mjs +25 -0
  12. package/esm2022/lib/confirmation-modal/services/index.mjs +2 -0
  13. package/{esm2020 → esm2022}/lib/directives/click-outside/click-outside.directive.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/directives/click-outside/click-outside.module.mjs +5 -5
  15. package/esm2022/lib/directives/drag-and-drop/drag-and-drop.directive.mjs +62 -0
  16. package/esm2022/lib/directives/drag-and-drop/drag-and-drop.module.mjs +24 -0
  17. package/esm2022/lib/directives/drag-and-drop/index.mjs +3 -0
  18. package/esm2022/lib/directives/index.mjs +4 -0
  19. package/esm2022/lib/directives/mat-button-loading/index.mjs +3 -0
  20. package/esm2022/lib/directives/mat-button-loading/mat-button-loading.directive.mjs +65 -0
  21. package/esm2022/lib/directives/mat-button-loading/mat-button-loading.module.mjs +20 -0
  22. package/esm2022/lib/file-upload/file-upload.component.mjs +107 -0
  23. package/esm2022/lib/file-upload/file-upload.module.mjs +42 -0
  24. package/esm2022/lib/file-upload/index.mjs +4 -0
  25. package/esm2022/lib/file-upload/models/file-upload-error-type.enum.mjs +8 -0
  26. package/esm2022/lib/file-upload/models/file-upload-error.model.mjs +2 -0
  27. package/esm2022/lib/file-upload/models/index.mjs +3 -0
  28. package/esm2022/lib/filter-bar/filter-bar.component.mjs +146 -0
  29. package/esm2022/lib/filter-bar/filter-bar.module.mjs +71 -0
  30. package/esm2022/lib/filter-bar/index.mjs +4 -0
  31. package/esm2022/lib/filter-bar/models/filter-bar-change-event.model.mjs +2 -0
  32. package/esm2022/lib/filter-bar/models/filter-bar-filter-item.model.mjs +2 -0
  33. package/esm2022/lib/filter-bar/models/filter-bar-filter.model.mjs +2 -0
  34. package/esm2022/lib/filter-bar/models/filter-bar-settings.model.mjs +2 -0
  35. package/esm2022/lib/filter-bar/models/index.mjs +4 -0
  36. package/{esm2020 → esm2022}/lib/footer/footer.component.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/footer/footer.module.mjs +11 -11
  38. package/esm2022/lib/helpers/html-element-parse.helper.mjs +15 -0
  39. package/esm2022/lib/helpers/index.mjs +4 -0
  40. package/{esm2020/lib/helpers/missing-translation-helper.mjs → esm2022/lib/helpers/missing-translation.helper.mjs} +1 -1
  41. package/esm2022/lib/helpers/save-file.helper.mjs +11 -0
  42. package/{esm2020 → esm2022}/lib/inline-message/inline-message.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/inline-message/inline-message.module.mjs +9 -9
  44. package/esm2022/lib/multi-functional-table/constants/disable-export-attribute-name.const.mjs +2 -0
  45. package/esm2022/lib/multi-functional-table/constants/index.mjs +2 -0
  46. package/esm2022/lib/multi-functional-table/index.mjs +5 -0
  47. package/esm2022/lib/multi-functional-table/models/batch-config.model.mjs +2 -0
  48. package/esm2022/lib/multi-functional-table/models/column-config.model.mjs +2 -0
  49. package/esm2022/lib/multi-functional-table/models/column-select-config.model.mjs +2 -0
  50. package/esm2022/lib/multi-functional-table/models/export-config.model.mjs +2 -0
  51. package/esm2022/lib/multi-functional-table/models/export-format.enum.mjs +5 -0
  52. package/esm2022/lib/multi-functional-table/models/filter-config.model.mjs +2 -0
  53. package/esm2022/lib/multi-functional-table/models/index.mjs +8 -0
  54. package/esm2022/lib/multi-functional-table/models/multi-functional-table-config.model.mjs +2 -0
  55. package/esm2022/lib/multi-functional-table/models/no-data-row-config.model.mjs +2 -0
  56. package/esm2022/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs +2 -0
  57. package/esm2022/lib/multi-functional-table/multi-functional-table.component.mjs +225 -0
  58. package/esm2022/lib/multi-functional-table/multi-functional-table.module.mjs +64 -0
  59. package/esm2022/lib/notification-message/notification-message.component.mjs +51 -0
  60. package/{esm2020 → esm2022}/lib/notification-message/notification-message.module.mjs +15 -15
  61. package/esm2022/lib/pipes/date-ago/date-ago.module.mjs +28 -0
  62. package/esm2022/lib/pipes/date-ago/date-ago.pipe.mjs +114 -0
  63. package/esm2022/lib/pipes/date-ago/index.mjs +3 -0
  64. package/esm2022/lib/pipes/date-ago/models/date-ago-interval.model.mjs +2 -0
  65. package/esm2022/lib/pipes/date-ago/models/date-ago-settings.model.mjs +2 -0
  66. package/esm2022/lib/pipes/date-ago/models/date-ago-settings.token.mjs +2 -0
  67. package/esm2022/lib/pipes/date-ago/models/date-ago.model.mjs +2 -0
  68. package/esm2022/lib/pipes/date-ago/models/index.mjs +5 -0
  69. package/{esm2020 → esm2022}/lib/pipes/filter-with-highlight/filter-with-highlight.module.mjs +5 -5
  70. package/{esm2020 → esm2022}/lib/pipes/filter-with-highlight/filter-with-highlight.pipe.mjs +4 -4
  71. package/esm2022/lib/pipes/index.mjs +5 -0
  72. package/{esm2020 → esm2022}/lib/pipes/sort-translations/sort-translations.module.mjs +5 -5
  73. package/{esm2020 → esm2022}/lib/pipes/sort-translations/sort-translations.pipe.mjs +4 -4
  74. package/esm2022/lib/pipes/sort-translations-by-property/index.mjs +3 -0
  75. package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.mjs +18 -0
  76. package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.mjs +40 -0
  77. package/{esm2020 → esm2022}/lib/plausible/plausible-event.directive.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/plausible/plausible.module.mjs +5 -5
  79. package/{esm2020 → esm2022}/lib/services/dom.service.mjs +4 -4
  80. package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
  81. package/{esm2020 → esm2022}/lib/tld-loader/tld-loader.component.mjs +4 -4
  82. package/{esm2020 → esm2022}/lib/tld-loader/tld-loader.module.mjs +5 -5
  83. package/esm2022/public-api.mjs +19 -0
  84. package/fesm2022/tilde-nlp-ngx-common.mjs +1712 -0
  85. package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -0
  86. package/lib/close-button/close-button.component.d.ts +1 -1
  87. package/lib/company-product/company-product.component.d.ts +1 -1
  88. package/lib/confirmation-modal/confirmation-modal.component.d.ts +12 -0
  89. package/lib/confirmation-modal/confirmation-modal.module.d.ts +11 -0
  90. package/lib/confirmation-modal/index.d.ts +5 -0
  91. package/lib/confirmation-modal/models/confirmation-body.model.d.ts +8 -0
  92. package/lib/confirmation-modal/models/confirmation.enum.d.ts +4 -0
  93. package/lib/confirmation-modal/services/confirmation.service.d.ts +12 -0
  94. package/lib/confirmation-modal/services/index.d.ts +1 -0
  95. package/lib/directives/drag-and-drop/drag-and-drop.directive.d.ts +14 -0
  96. package/lib/directives/drag-and-drop/drag-and-drop.module.d.ts +8 -0
  97. package/lib/directives/drag-and-drop/index.d.ts +2 -0
  98. package/lib/directives/index.d.ts +2 -0
  99. package/lib/directives/mat-button-loading/index.d.ts +2 -0
  100. package/lib/directives/mat-button-loading/mat-button-loading.directive.d.ts +18 -0
  101. package/lib/directives/mat-button-loading/mat-button-loading.module.d.ts +8 -0
  102. package/lib/file-upload/file-upload.component.d.ts +29 -0
  103. package/lib/file-upload/file-upload.module.d.ts +13 -0
  104. package/lib/file-upload/index.d.ts +3 -0
  105. package/lib/file-upload/models/file-upload-error-type.enum.d.ts +6 -0
  106. package/lib/file-upload/models/file-upload-error.model.d.ts +6 -0
  107. package/lib/file-upload/models/index.d.ts +2 -0
  108. package/lib/filter-bar/filter-bar.component.d.ts +54 -0
  109. package/lib/filter-bar/filter-bar.module.d.ts +19 -0
  110. package/lib/filter-bar/index.d.ts +3 -0
  111. package/lib/filter-bar/models/filter-bar-change-event.model.d.ts +6 -0
  112. package/lib/filter-bar/models/filter-bar-filter-item.model.d.ts +4 -0
  113. package/lib/filter-bar/models/filter-bar-filter.model.d.ts +6 -0
  114. package/lib/filter-bar/models/filter-bar-settings.model.d.ts +19 -0
  115. package/lib/filter-bar/models/index.d.ts +3 -0
  116. package/lib/footer/footer.component.d.ts +1 -1
  117. package/lib/helpers/html-element-parse.helper.d.ts +3 -0
  118. package/lib/helpers/index.d.ts +3 -1
  119. package/lib/helpers/save-file.helper.d.ts +3 -0
  120. package/lib/inline-message/inline-message.component.d.ts +1 -1
  121. package/lib/multi-functional-table/constants/disable-export-attribute-name.const.d.ts +1 -0
  122. package/lib/multi-functional-table/constants/index.d.ts +1 -0
  123. package/lib/multi-functional-table/index.d.ts +4 -0
  124. package/lib/multi-functional-table/models/batch-config.model.d.ts +4 -0
  125. package/lib/multi-functional-table/models/column-config.model.d.ts +18 -0
  126. package/lib/multi-functional-table/models/column-select-config.model.d.ts +14 -0
  127. package/lib/multi-functional-table/models/export-config.model.d.ts +9 -0
  128. package/lib/multi-functional-table/models/export-format.enum.d.ts +3 -0
  129. package/lib/multi-functional-table/models/filter-config.model.d.ts +6 -0
  130. package/lib/multi-functional-table/models/index.d.ts +7 -0
  131. package/lib/multi-functional-table/models/multi-functional-table-config.model.d.ts +36 -0
  132. package/lib/multi-functional-table/models/no-data-row-config.model.d.ts +9 -0
  133. package/lib/multi-functional-table/models/selected-column-local-storage-config.model.d.ts +20 -0
  134. package/lib/multi-functional-table/multi-functional-table.component.d.ts +65 -0
  135. package/lib/multi-functional-table/multi-functional-table.module.d.ts +18 -0
  136. package/lib/notification-message/notification-message.component.d.ts +1 -1
  137. package/lib/pipes/date-ago/date-ago.module.d.ts +9 -0
  138. package/lib/pipes/date-ago/date-ago.pipe.d.ts +20 -0
  139. package/lib/pipes/date-ago/index.d.ts +2 -0
  140. package/lib/pipes/date-ago/models/date-ago-interval.model.d.ts +5 -0
  141. package/lib/pipes/date-ago/models/date-ago-settings.model.d.ts +26 -0
  142. package/lib/pipes/date-ago/models/date-ago-settings.token.d.ts +1 -0
  143. package/lib/pipes/date-ago/models/date-ago.model.d.ts +4 -0
  144. package/lib/pipes/date-ago/models/index.d.ts +4 -0
  145. package/lib/pipes/index.d.ts +2 -0
  146. package/lib/pipes/sort-translations-by-property/index.d.ts +2 -0
  147. package/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.d.ts +8 -0
  148. package/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.d.ts +15 -0
  149. package/lib/plausible/plausible-event.directive.d.ts +1 -1
  150. package/package.json +8 -14
  151. package/public-api.d.ts +4 -0
  152. package/styles/components/buttons.scss +19 -0
  153. package/styles/components/dialogs.scss +18 -0
  154. package/styles/components/icons.scss +16 -4
  155. package/styles/fonts/inter/inter.scss +567 -0
  156. package/styles/fonts/inter/woff/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2 +0 -0
  157. package/styles/fonts/inter/woff/inter-cyrillic-ext.woff2 +0 -0
  158. package/styles/fonts/inter/woff/inter-cyrillic.woff2 +0 -0
  159. package/styles/fonts/inter/woff/inter-greek-ext.woff2 +0 -0
  160. package/styles/fonts/inter/woff/inter-greek.woff2 +0 -0
  161. package/styles/fonts/inter/woff/inter-latin-ext.woff2 +0 -0
  162. package/styles/fonts/inter/woff/inter-latin.woff2 +0 -0
  163. package/styles/fonts/inter/woff/inter-vietnamese.woff2 +0 -0
  164. package/styles/fonts/material-icons/material-icons.scss +40 -0
  165. package/styles/fonts/material-icons/woff/material-icons-outlined.woff2 +0 -0
  166. package/styles/fonts/material-icons/woff/material-icons.woff2 +0 -0
  167. package/styles/fonts/roboto/roboto.scss +252 -0
  168. package/styles/fonts/roboto/woff/roboto-cyrillic-300.woff2 +0 -0
  169. package/styles/fonts/roboto/woff/roboto-cyrillic-400.woff2 +0 -0
  170. package/styles/fonts/roboto/woff/roboto-cyrillic-500.woff2 +0 -0
  171. package/styles/fonts/roboto/woff/roboto-cyrillic-700.woff2 +0 -0
  172. package/styles/fonts/roboto/woff/roboto-cyrillic-ext-300.woff2 +0 -0
  173. package/styles/fonts/roboto/woff/roboto-cyrillic-ext-400.woff2 +0 -0
  174. package/styles/fonts/roboto/woff/roboto-cyrillic-ext-500.woff2 +0 -0
  175. package/styles/fonts/roboto/woff/roboto-cyrillic-ext-700.woff2 +0 -0
  176. package/styles/fonts/roboto/woff/roboto-greek-300.woff2 +0 -0
  177. package/styles/fonts/roboto/woff/roboto-greek-400.woff2 +0 -0
  178. package/styles/fonts/roboto/woff/roboto-greek-500.woff2 +0 -0
  179. package/styles/fonts/roboto/woff/roboto-greek-700.woff2 +0 -0
  180. package/styles/fonts/roboto/woff/roboto-greek-ext-300.woff2 +0 -0
  181. package/styles/fonts/roboto/woff/roboto-greek-ext-400.woff2 +0 -0
  182. package/styles/fonts/roboto/woff/roboto-greek-ext-500.woff2 +0 -0
  183. package/styles/fonts/roboto/woff/roboto-greek-ext-700.woff2 +0 -0
  184. package/styles/fonts/roboto/woff/roboto-latin-300.woff2 +0 -0
  185. package/styles/fonts/roboto/woff/roboto-latin-400.woff2 +0 -0
  186. package/styles/fonts/roboto/woff/roboto-latin-500.woff2 +0 -0
  187. package/styles/fonts/roboto/woff/roboto-latin-700.woff2 +0 -0
  188. package/styles/fonts/roboto/woff/roboto-latin-ext-300.woff2 +0 -0
  189. package/styles/fonts/roboto/woff/roboto-latin-ext-400.woff2 +0 -0
  190. package/styles/fonts/roboto/woff/roboto-latin-ext-500.woff2 +0 -0
  191. package/styles/fonts/roboto/woff/roboto-latin-ext-700.woff2 +0 -0
  192. package/styles/fonts/roboto/woff/roboto-vietnamese-300.woff2 +0 -0
  193. package/styles/fonts/roboto/woff/roboto-vietnamese-400.woff2 +0 -0
  194. package/styles/fonts/roboto/woff/roboto-vietnamese-500.woff2 +0 -0
  195. package/styles/fonts/roboto/woff/roboto-vietnamese-700.woff2 +0 -0
  196. package/styles/mixins/material-overrides/mat-button-overrides.mixin.scss +13 -3
  197. package/styles/mixins/material-overrides/mat-form-field-overrides.mixin.scss +1 -0
  198. package/styles/mixins/material-overrides/mat-progress-bar-overrides.mixin.scss +15 -0
  199. package/styles/mixins/material-overrides/material-overrides.mixin.scss +2 -0
  200. package/styles/mixins/tld-all-mixins.mixin.scss +9 -1
  201. package/styles/tilde-fonts.scss +2 -2
  202. package/styles/tilde-style.scss +1 -0
  203. package/styles/variables/colors.variables.scss +1 -0
  204. package/esm2020/lib/directives/index.mjs +0 -2
  205. package/esm2020/lib/helpers/index.mjs +0 -2
  206. package/esm2020/lib/notification-message/notification-message.component.mjs +0 -51
  207. package/esm2020/lib/pipes/index.mjs +0 -3
  208. package/esm2020/public-api.mjs +0 -15
  209. package/fesm2015/tilde-nlp-ngx-common.mjs +0 -676
  210. package/fesm2015/tilde-nlp-ngx-common.mjs.map +0 -1
  211. package/fesm2020/tilde-nlp-ngx-common.mjs +0 -675
  212. package/fesm2020/tilde-nlp-ngx-common.mjs.map +0 -1
  213. /package/{esm2020 → esm2022}/lib/close-button/index.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/company-product/index.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/directives/click-outside/index.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/footer/index.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/inline-message/index.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/inline-message/models/index.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/inline-message/models/inline-message-icon-position.enum.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/inline-message/models/inline-message-type.enum.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/inline-message/models/inline-message.model.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/notification-message/enums/index.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/notification-message/enums/notification-message-type.enum.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/notification-message/index.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/notification-message/interfaces/index.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/notification-message/interfaces/notification-message.model.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/pipes/filter-with-highlight/index.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/pipes/sort-translations/index.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/plausible/index.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/plausible/models/index.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/plausible/models/plausible-event.model.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/plausible/plausible.helper.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/tld-loader/index.mjs +0 -0
  235. /package/{esm2020 → esm2022}/tilde-nlp-ngx-common.mjs +0 -0
  236. /package/lib/helpers/{missing-translation-helper.d.ts → missing-translation.helper.d.ts} +0 -0
@@ -0,0 +1,107 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { FileUploadErrorTypeEnum } from './models/file-upload-error-type.enum';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/progress-bar";
6
+ import * as i3 from "@angular/flex-layout/extended";
7
+ import * as i4 from "@angular/material/button";
8
+ import * as i5 from "../directives/drag-and-drop/drag-and-drop.directive";
9
+ import * as i6 from "@angular/material/icon";
10
+ export class FileUploadComponent {
11
+ constructor() {
12
+ this.fileChange = new EventEmitter();
13
+ this.errorEvent = new EventEmitter();
14
+ this._accept = [];
15
+ this.multiple = false;
16
+ }
17
+ set accept(val) {
18
+ this._accept = val;
19
+ this.allowedExtensions = val ? val.join(",") : "";
20
+ }
21
+ get accept() { return this._accept; }
22
+ handleFileInput(event) {
23
+ const target = event.target;
24
+ const files = target.files;
25
+ this.validate(files);
26
+ }
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ onFileDrop(files) {
29
+ this.validate(files);
30
+ }
31
+ emit(files) {
32
+ if (files && files.length > 0) {
33
+ this.fileChange.emit(files);
34
+ }
35
+ }
36
+ emitError(error) {
37
+ this.errorEvent.emit(error);
38
+ }
39
+ validate(files) {
40
+ //let size = 0;
41
+ const validFiles = [];
42
+ for (let i = 0; i < files.length; i++) {
43
+ const file = files[i];
44
+ if (!this.allowEmpty && file.size == 0) {
45
+ this.emitError({ code: FileUploadErrorTypeEnum.FILE_EMPTY, error: "File is empty", fileName: file.name });
46
+ return;
47
+ }
48
+ //size += file.size;
49
+ const extensionErrorCode = this.getExtensionErrorCode(file.name);
50
+ if (extensionErrorCode) {
51
+ const error = { code: extensionErrorCode, error: "Not valid extension.", fileName: file.name };
52
+ this.emitError(error);
53
+ }
54
+ else if (this.maxSize && file.size > this.maxSize) {
55
+ const error = { code: FileUploadErrorTypeEnum.MAX_SIZE, error: "Maximum allowed file size exceeded.", fileName: file.name };
56
+ this.emitError(error);
57
+ }
58
+ else {
59
+ validFiles.push(file);
60
+ }
61
+ }
62
+ this.emit(validFiles);
63
+ this.fileInput.nativeElement.value = '';
64
+ }
65
+ getExtensionErrorCode(fileName) {
66
+ const extension = fileName.slice(fileName.lastIndexOf('.')).toLowerCase();
67
+ if (this.accept.length == 0 || (this.accept.length == 1 && this.accept[0] == '*') || this.accept.includes(extension)) {
68
+ return null;
69
+ }
70
+ else {
71
+ return this.extendedAcceptList?.includes(extension) ? FileUploadErrorTypeEnum.FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER : FileUploadErrorTypeEnum.FILE_UPLOAD_UNSUPPORTED_FORMAT;
72
+ }
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: FileUploadComponent, selector: "tld-file-upload", inputs: { accept: "accept", maxSize: "maxSize", multiple: "multiple", filePreviewProgress: "filePreviewProgress", allowEmpty: "allowEmpty", disabled: "disabled", uploadIconName: "uploadIconName", extendedAcceptList: "extendedAcceptList" }, outputs: { fileChange: "fileChange", errorEvent: "errorEvent" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "inputButton", first: true, predicate: ["inputButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\">\r\n <mat-progress-bar class=\"tld-file-upload-progress\" color=\"primary\" [value]=\"filePreviewProgress\"\r\n *ngIf=\"filePreviewProgress\"></mat-progress-bar>\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\">\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n</div>\r\n<input #fileInput type=\"file\" (change)=\"handleFileInput($event)\" name=\"files\" class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" [multiple]=\"multiple\" />\r\n", styles: [".file-upload{max-width:100%;width:100%}.file-upload .upload-button{width:100%;font-size:1em;border:1px dashed #9aa5b1;border-radius:16px;background-color:#fff;font-family:var(--tld-font);padding:1em;white-space:normal;line-height:normal;text-align:left}.file-upload-mobile .upload-button{border:2px solid var(--base-70);padding:.5em 1em!important}.tld-file-over{background-color:#e5e7e8!important;border-color:#00f!important}.mat-icon{color:var(--accent);margin-right:16px}.mat-mdc-outlined-button .mat-button-wrapper{pointer-events:none}.native-file-input{display:none}.tld-file-upload-progress ::ng-deep .mat-progress-bar-fill:after{background-color:#1e457c}.tld-file-upload-progress ::ng-deep .mat-progress-bar-buffer{background:white}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.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: i5.DragAndDropDirective, selector: "[tldDragAndDrop]", outputs: ["fileDropped"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FileUploadComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'tld-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\">\r\n <mat-progress-bar class=\"tld-file-upload-progress\" color=\"primary\" [value]=\"filePreviewProgress\"\r\n *ngIf=\"filePreviewProgress\"></mat-progress-bar>\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\">\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n</div>\r\n<input #fileInput type=\"file\" (change)=\"handleFileInput($event)\" name=\"files\" class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" [multiple]=\"multiple\" />\r\n", styles: [".file-upload{max-width:100%;width:100%}.file-upload .upload-button{width:100%;font-size:1em;border:1px dashed #9aa5b1;border-radius:16px;background-color:#fff;font-family:var(--tld-font);padding:1em;white-space:normal;line-height:normal;text-align:left}.file-upload-mobile .upload-button{border:2px solid var(--base-70);padding:.5em 1em!important}.tld-file-over{background-color:#e5e7e8!important;border-color:#00f!important}.mat-icon{color:var(--accent);margin-right:16px}.mat-mdc-outlined-button .mat-button-wrapper{pointer-events:none}.native-file-input{display:none}.tld-file-upload-progress ::ng-deep .mat-progress-bar-fill:after{background-color:#1e457c}.tld-file-upload-progress ::ng-deep .mat-progress-bar-buffer{background:white}\n"] }]
80
+ }], propDecorators: { fileInput: [{
81
+ type: ViewChild,
82
+ args: ['fileInput']
83
+ }], inputButton: [{
84
+ type: ViewChild,
85
+ args: ['inputButton', { read: ElementRef }]
86
+ }], fileChange: [{
87
+ type: Output
88
+ }], errorEvent: [{
89
+ type: Output
90
+ }], accept: [{
91
+ type: Input
92
+ }], maxSize: [{
93
+ type: Input
94
+ }], multiple: [{
95
+ type: Input
96
+ }], filePreviewProgress: [{
97
+ type: Input
98
+ }], allowEmpty: [{
99
+ type: Input
100
+ }], disabled: [{
101
+ type: Input
102
+ }], uploadIconName: [{
103
+ type: Input
104
+ }], extendedAcceptList: [{
105
+ type: Input
106
+ }] } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBUy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFVWSxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUQsZUFBVSxHQUFrQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNsRixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBT3RCLGFBQVEsR0FBRyxLQUFLLENBQUM7S0F1RTNCO0lBN0VDLElBQWEsTUFBTSxDQUFDLEdBQWE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDO0lBYXBDLGVBQWUsQ0FBQyxLQUFZO1FBQzFCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFpQixD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QUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLDhCQUE4QixDQUFDO1NBQ2hMO0lBQ0gsQ0FBQzs4R0FuRlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsd2hCQUVJLFVBQVUsNkJDWjlDLHl1QkFXQTs7MkZERGEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUVFLGlCQUFpQjs4QkFLSCxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQzBCLFdBQVc7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFFcEMsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVNLE1BQU07c0JBQWxCLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZEVycm9yVHlwZUVudW0gfSBmcm9tICcuL21vZGVscy9maWxlLXVwbG9hZC1lcnJvci10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3IgfSBmcm9tICcuL21vZGVscy9maWxlLXVwbG9hZC1lcnJvci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAndGxkLWZpbGUtdXBsb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRCdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgaW5wdXRCdXR0b24hOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcclxuICBAT3V0cHV0KCkgZXJyb3JFdmVudDogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4oKTtcclxuICBwcml2YXRlIF9hY2NlcHQ6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgc2V0IGFjY2VwdCh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9hY2NlcHQgPSB2YWw7XHJcbiAgICB0aGlzLmFsbG93ZWRFeHRlbnNpb25zID0gdmFsID8gdmFsLmpvaW4oXCIsXCIpIDogXCJcIjtcclxuICB9XHJcbiAgZ2V0IGFjY2VwdCgpIHsgcmV0dXJuIHRoaXMuX2FjY2VwdCB9XHJcbiAgQElucHV0KCkgbWF4U2l6ZSE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpbGVQcmV2aWV3UHJvZ3Jlc3MhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgYWxsb3dFbXB0eSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHVwbG9hZEljb25OYW1lITogc3RyaW5nO1xyXG5cclxuICAvKiogc2FtZSBhcyBhY2NlcHQgYnV0IGZvciByZWdpc3RlcmVkIHVzZXJzLiBJdCBjaGFuZ2VzIGVycm9yIG1lc3NhZ2UgaWYgZXh0ZW5zaW9uIGlzIHN1cHBvcnRlZCBmb3IgcmVnaXN0ZXJlZCB1c2Vycy4gKi9cclxuICBASW5wdXQoKSBleHRlbmRlZEFjY2VwdExpc3QhOiBzdHJpbmdbXTtcclxuXHJcbiAgYWxsb3dlZEV4dGVuc2lvbnMhOiBzdHJpbmc7XHJcblxyXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgZmlsZXMgPSB0YXJnZXQuZmlsZXMgYXMgRmlsZUxpc3Q7XHJcbiAgICB0aGlzLnZhbGlkYXRlKGZpbGVzKTtcclxuICB9XHJcblxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIG9uRmlsZURyb3AoZmlsZXM6IGFueSkge1xyXG4gICAgdGhpcy52YWxpZGF0ZShmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEZpbGVVcGxvYWRFcnJvcikge1xyXG4gICAgdGhpcy5lcnJvckV2ZW50LmVtaXQoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZShmaWxlczogRmlsZUxpc3QpIHtcclxuICAgIC8vbGV0IHNpemUgPSAwO1xyXG4gICAgY29uc3QgdmFsaWRGaWxlczogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcclxuICAgICAgaWYgKCF0aGlzLmFsbG93RW1wdHkgJiYgZmlsZS5zaXplID09IDApIHtcclxuICAgICAgICB0aGlzLmVtaXRFcnJvcih7IGNvZGU6IEZpbGVVcGxvYWRFcnJvclR5cGVFbnVtLkZJTEVfRU1QVFksIGVycm9yOiBcIkZpbGUgaXMgZW1wdHlcIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy9zaXplICs9IGZpbGUuc2l6ZTtcclxuICAgICAgY29uc3QgZXh0ZW5zaW9uRXJyb3JDb2RlID0gdGhpcy5nZXRFeHRlbnNpb25FcnJvckNvZGUoZmlsZS5uYW1lKTtcclxuICAgICAgaWYgKGV4dGVuc2lvbkVycm9yQ29kZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0geyBjb2RlOiBleHRlbnNpb25FcnJvckNvZGUsIGVycm9yOiBcIk5vdCB2YWxpZCBleHRlbnNpb24uXCIsIGZpbGVOYW1lOiBmaWxlLm5hbWUgfTtcclxuICAgICAgICB0aGlzLmVtaXRFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5tYXhTaXplICYmIGZpbGUuc2l6ZSA+IHRoaXMubWF4U2l6ZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0geyBjb2RlOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5NQVhfU0laRSwgZXJyb3I6IFwiTWF4aW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBleGNlZWRlZC5cIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9O1xyXG4gICAgICAgIHRoaXMuZW1pdEVycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB2YWxpZEZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVtaXQodmFsaWRGaWxlcyk7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEV4dGVuc2lvbkVycm9yQ29kZShmaWxlTmFtZTogc3RyaW5nKTogRmlsZVVwbG9hZEVycm9yVHlwZUVudW0gfCBudWxsIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNsaWNlKGZpbGVOYW1lLmxhc3RJbmRleE9mKCcuJykpLnRvTG93ZXJDYXNlKClcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hY2NlcHQubGVuZ3RoID09IDAgfHwgKHRoaXMuYWNjZXB0Lmxlbmd0aCA9PSAxICYmIHRoaXMuYWNjZXB0WzBdID09ICcqJykgfHwgdGhpcy5hY2NlcHQuaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5leHRlbmRlZEFjY2VwdExpc3Q/LmluY2x1ZGVzKGV4dGVuc2lvbikgPyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVIgOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWxlLXVwbG9hZFwiIFtuZ0NsYXNzLmx0LXNtXT1cIidmaWxlLXVwbG9hZC1tb2JpbGUnXCI+XHJcbiAgPG1hdC1wcm9ncmVzcy1iYXIgY2xhc3M9XCJ0bGQtZmlsZS11cGxvYWQtcHJvZ3Jlc3NcIiBjb2xvcj1cInByaW1hcnlcIiBbdmFsdWVdPVwiZmlsZVByZXZpZXdQcm9ncmVzc1wiXHJcbiAgICAqbmdJZj1cImZpbGVQcmV2aWV3UHJvZ3Jlc3NcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgPGJ1dHRvbiB0bGREcmFnQW5kRHJvcCAjaW5wdXRCdXR0b24gbWF0LWJ1dHRvbiAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIiBjbGFzcz1cInVwbG9hZC1idXR0b24gdGV4dC1sXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJ1cGxvYWRJY29uTmFtZVwiPnt7dXBsb2FkSWNvbk5hbWV9fTwvbWF0LWljb24+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG48aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIiBuYW1lPVwiZmlsZXNcIiBjbGFzcz1cIm5hdGl2ZS1maWxlLWlucHV0XCJcclxuICBbYWNjZXB0XT1cImFsbG93ZWRFeHRlbnNpb25zXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgLz5cclxuIl19
@@ -0,0 +1,42 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FileUploadComponent } from './file-upload.component';
4
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
5
+ import { FlexLayoutModule } from '@angular/flex-layout';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { DragAndDropModule } from '../directives/drag-and-drop/drag-and-drop.module';
8
+ import { MatIconModule } from '@angular/material/icon';
9
+ import * as i0 from "@angular/core";
10
+ export class FileUploadModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: FileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule,
13
+ MatProgressBarModule,
14
+ FlexLayoutModule,
15
+ MatButtonModule,
16
+ DragAndDropModule,
17
+ MatIconModule], exports: [FileUploadComponent] }); }
18
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FileUploadModule, imports: [CommonModule,
19
+ MatProgressBarModule,
20
+ FlexLayoutModule,
21
+ MatButtonModule,
22
+ DragAndDropModule,
23
+ MatIconModule] }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FileUploadModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ declarations: [FileUploadComponent],
29
+ imports: [
30
+ CommonModule,
31
+ MatProgressBarModule,
32
+ FlexLayoutModule,
33
+ MatButtonModule,
34
+ DragAndDropModule,
35
+ MatIconModule
36
+ ],
37
+ exports: [
38
+ FileUploadComponent
39
+ ]
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlCdkQsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBYlosbUJBQW1CLGFBRWhDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsYUFBYSxhQUdiLG1CQUFtQjsrR0FHVixnQkFBZ0IsWUFYekIsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixhQUFhOzsyRkFNSixnQkFBZ0I7a0JBZDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRHJhZ0FuZERyb3BNb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RyYWctYW5kLWRyb3AvZHJhZy1hbmQtZHJvcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtGaWxlVXBsb2FkQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBEcmFnQW5kRHJvcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEZpbGVVcGxvYWRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './file-upload.component';
2
+ export * from './file-upload.module';
3
+ export * from './models';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsZS11cGxvYWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtdXBsb2FkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuIl19
@@ -0,0 +1,8 @@
1
+ export var FileUploadErrorTypeEnum;
2
+ (function (FileUploadErrorTypeEnum) {
3
+ FileUploadErrorTypeEnum["FILE_UPLOAD_UNSUPPORTED_FORMAT"] = "FILE_UPLOAD_UNSUPPORTED_FORMAT";
4
+ FileUploadErrorTypeEnum["FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER"] = "FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER";
5
+ FileUploadErrorTypeEnum["MAX_SIZE"] = "FILE_UPLOAD_MAX_SIZE";
6
+ FileUploadErrorTypeEnum["FILE_EMPTY"] = "FILE_UPLOAD_EMPTY";
7
+ })(FileUploadErrorTypeEnum || (FileUploadErrorTypeEnum = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtZXJyb3ItdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbGUtdXBsb2FkL21vZGVscy9maWxlLXVwbG9hZC1lcnJvci10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksdUJBS1g7QUFMRCxXQUFZLHVCQUF1QjtJQUNqQyw0RkFBaUUsQ0FBQTtJQUNqRSw4R0FBbUYsQ0FBQTtJQUNuRiw0REFBaUMsQ0FBQTtJQUNqQywyREFBZ0MsQ0FBQTtBQUNsQyxDQUFDLEVBTFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUtsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpbGVVcGxvYWRFcnJvclR5cGVFbnVte1xyXG4gIEZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVCA9IFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCIsXHJcbiAgRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSID0gXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIixcclxuICBNQVhfU0laRSA9IFwiRklMRV9VUExPQURfTUFYX1NJWkVcIixcclxuICBGSUxFX0VNUFRZID0gXCJGSUxFX1VQTE9BRF9FTVBUWVwiXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtZXJyb3IubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsZS11cGxvYWQvbW9kZWxzL2ZpbGUtdXBsb2FkLWVycm9yLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bSB9IGZyb20gXCIuL2ZpbGUtdXBsb2FkLWVycm9yLXR5cGUuZW51bVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlVXBsb2FkRXJyb3Ige1xyXG4gIGNvZGU6IEZpbGVVcGxvYWRFcnJvclR5cGVFbnVtO1xyXG4gIGVycm9yOiBzdHJpbmc7XHJcbiAgZmlsZU5hbWU6IHN0cmluZztcclxufVxyXG5cclxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './file-upload-error-type.enum';
2
+ export * from './file-upload-error.model';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsZS11cGxvYWQvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQtZXJyb3ItdHlwZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLXVwbG9hZC1lcnJvci5tb2RlbCc7XHJcbiJdfQ==
@@ -0,0 +1,146 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngx-translate/core";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/input";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/flex-layout/flex";
9
+ import * as i6 from "@angular/flex-layout/extended";
10
+ import * as i7 from "@angular/material/select";
11
+ import * as i8 from "@angular/material/core";
12
+ import * as i9 from "@angular/forms";
13
+ import * as i10 from "@angular/material/tooltip";
14
+ import * as i11 from "@angular/material/button";
15
+ import * as i12 from "@angular/material/chips";
16
+ import * as i13 from "@angular/material/icon";
17
+ import * as i14 from "../pipes/sort-translations-by-property/sort-translations-by-property.pipe";
18
+ export class FilterBarComponent {
19
+ onResize() {
20
+ this.checkOverflow();
21
+ }
22
+ set filterRowVisible(value) {
23
+ this._filterRowVisible = value;
24
+ this.cdref.detectChanges();
25
+ this.checkOverflow();
26
+ }
27
+ // getter for cleaner template html
28
+ get filterFormGroupValue() {
29
+ return this.filterFormGroup.value;
30
+ }
31
+ // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures
32
+ get filterRowVisible() { return this._filterRowVisible; }
33
+ get inputText() {
34
+ return this._inputText;
35
+ }
36
+ get showSearch() {
37
+ return !this.settings?.hideSearch;
38
+ }
39
+ // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures
40
+ set inputText(value) {
41
+ this._inputText = value;
42
+ this.filters.input = this._inputText;
43
+ this.emitFilters();
44
+ }
45
+ constructor(cdref, translate) {
46
+ this.cdref = cdref;
47
+ this.translate = translate;
48
+ this.filterBarChange = new EventEmitter();
49
+ this._inputText = "";
50
+ /** To hide filters, but leave chips visible */
51
+ this.inputFormControlName = "input";
52
+ this.filterFormGroup = new FormGroup({});
53
+ this.form = new FormGroup({
54
+ [this.inputFormControlName]: new FormControl(""),
55
+ filters: this.filterFormGroup
56
+ });
57
+ this.filters = {
58
+ filters: {},
59
+ input: ""
60
+ };
61
+ this.filterOverflow = false;
62
+ this.activeFilterIndex = 0;
63
+ // when to show filter by name or id on mobile
64
+ this.searchIndex = -1;
65
+ }
66
+ ngOnInit() {
67
+ this.settings.filters?.forEach((field) => {
68
+ this.filterFormGroup.addControl(field.fieldName, new FormControl([]));
69
+ });
70
+ this.subscribeToFormValueChanges();
71
+ this.searchTooltip = this.settings?.searchTooltip ?? 'FILTER_BAR.SEARCH_TOOLTIP';
72
+ this.searchTitle = this.settings?.searchTitle ?? 'FILTER_BAR.SEARCH';
73
+ this.prefixIcon = this.settings?.prefixIcon ?? "filter_alt";
74
+ this.suffixIcon = this.settings?.suffixIcon ?? "question_mark";
75
+ this.showSuffixIcon = this.settings?.showSuffixIcon ?? true;
76
+ }
77
+ ngAfterViewInit() {
78
+ this.checkOverflow();
79
+ this.cdref.detectChanges();
80
+ }
81
+ ngOnDestroy() {
82
+ this.formChangesSubscription.unsubscribe();
83
+ }
84
+ emitFilters() {
85
+ this.filterBarChange.next(this.filters);
86
+ }
87
+ switchRight() {
88
+ if (this.settings?.filters && this.settings?.filters.length === this.activeFilterIndex + 1) {
89
+ return;
90
+ }
91
+ this.activeFilterIndex += 1;
92
+ }
93
+ switchLeft() {
94
+ if (this.activeFilterIndex === this.searchIndex) {
95
+ return;
96
+ }
97
+ this.activeFilterIndex -= 1;
98
+ }
99
+ removeFilter(key, ix) {
100
+ const control = this.filterFormGroup.get(key);
101
+ if (!control) {
102
+ return;
103
+ }
104
+ const newArray = control.value;
105
+ newArray.splice(ix, 1);
106
+ control.setValue(newArray);
107
+ }
108
+ checkOverflow() {
109
+ if (this.filterWrapper) {
110
+ this.filterOverflow = this.filterWrapper.nativeElement.clientWidth < this.filterWrapper.nativeElement.scrollWidth;
111
+ }
112
+ }
113
+ subscribeToFormValueChanges() {
114
+ this.formChangesSubscription = this.form.valueChanges.subscribe(() => {
115
+ this.filters = {
116
+ input: this.form.value.input ?? "",
117
+ filters: {}
118
+ };
119
+ for (const filterKey in this.form.value.filters) {
120
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
+ const filter = this.form.value.filters[filterKey];
122
+ this.filters.filters[filterKey] = filter.map((item) => item.value);
123
+ }
124
+ this.emitFilters();
125
+ });
126
+ }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FilterBarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: FilterBarComponent, selector: "tld-filter-bar", inputs: { settings: "settings", filterRowVisible: "filterRowVisible" }, outputs: { filterBarChange: "filterBarChange" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "filterWrapper", first: true, predicate: ["filterWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"filter-row\" *ngIf=\"filterRowVisible\">\r\n <div fxLayout=\"row\" class=\"filter-wrapper\" #filterWrapper [formGroup]=\"form\">\r\n <mat-form-field fxFlex *ngIf=\"showSearch && !filterOverflow || activeFilterIndex === searchIndex\" class=\"filter-bar-search-input\">\r\n <span matPrefix class=\"material-icons-outlined\">\r\n {{prefixIcon}}\r\n </span>\r\n <span matSuffix class=\"material-icons-outlined\" *ngIf=\"showSuffixIcon\" [matTooltip]=\"searchTooltip | translate\">\r\n {{suffixIcon}}\r\n </span>\r\n <input class=\"search-input\" matInput [placeholder]=\"searchTitle | translate\"\r\n [formControlName]=\"inputFormControlName\">\r\n </mat-form-field>\r\n <ng-container [formGroup]=\"filterFormGroup\">\r\n\r\n <mat-form-field [ngClass]=\"{'hidden': filterOverflow && activeFilterIndex !== i, 'engine-filter': !filterOverflow}\" *ngFor=\"let filter of settings?.filters; let i = index\">\r\n <mat-label>{{filter.title | translate}}</mat-label>\r\n <mat-select multiple [formControlName]=\"filter.fieldName\">\r\n <ng-container *ngIf=\"filter.values.length\">\r\n <mat-option *ngFor=\"let value of filter.values | sortTranslationsByProperty:'key'\" [value]=\"value\">\r\n {{value.key | translate : {default: value.value | titlecase } }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <button mat-icon-button (click)=\"switchLeft()\" *ngIf=\"filterOverflow\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_back_ios\r\n </span>\r\n </button>\r\n <button mat-icon-button *ngIf=\"filterOverflow\" (click)=\"switchRight()\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_forward_ios\r\n </span>\r\n </button>\r\n</div>\r\n<mat-chip-listbox>\r\n <div *ngFor=\"let filter of settings?.filters\">\r\n <mat-chip-option *ngFor=\"let filterValue of filterFormGroupValue[filter.fieldName]; let ix=index\"\r\n (removed)=\"removeFilter(filter.fieldName, ix)\" class=\"text-s\">\r\n <button matChipRemove>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <span class=\"chip-filter-title\">{{filter.title | translate}}:</span>\r\n <span class=\"chip-value semi-bold\"> {{filterValue.key | translate : {default: filterValue.value | titlecase }\r\n }}</span>\r\n </mat-chip-option>\r\n </div>\r\n</mat-chip-listbox>\r\n", styles: [":host{display:inline-block}.filter-row{display:flex;background-color:var(--base-95);min-height:40px;min-width:100%;border-radius:.5rem;padding:.5rem 1.25rem 1rem;max-width:100%;align-items:baseline;margin-bottom:.5rem}.filter-row ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}.filter-row ::ng-deep .mat-form-field-underline{bottom:0!important}.search-input{background-color:unset;border:none}.engine-filter{margin-left:1rem}.filter-bar-search-input{width:100%}.filter-bar-search-input::ng-deep .material-icons-outlined{vertical-align:bottom}.material-icons-outlined{color:var(--base-40)}.filter-wrapper{max-width:100%;overflow-x:hidden;overflow-y:hidden;display:flex;flex:1}.mat-mdc-chip.mat-mdc-standard-chip{background-color:var(--base-95);padding-left:.5em;padding-right:.75em;border:.5px solid var(--base-70)}.mat-mdc-chip.mat-mdc-standard-chip span{display:inline-block}.mat-mdc-chip.mat-mdc-standard-chip .chip-filter-title+.chip-value{margin-left:.25rem}.mat-mdc-chip .mat-chip-remove{margin-left:0;margin-right:.5em;color:var(--base-40);opacity:1}.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i12.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i12.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.SortTranslationsByPropertyPipe, name: "sortTranslationsByProperty" }] }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FilterBarComponent, decorators: [{
131
+ type: Component,
132
+ args: [{ selector: 'tld-filter-bar', template: "<div class=\"filter-row\" *ngIf=\"filterRowVisible\">\r\n <div fxLayout=\"row\" class=\"filter-wrapper\" #filterWrapper [formGroup]=\"form\">\r\n <mat-form-field fxFlex *ngIf=\"showSearch && !filterOverflow || activeFilterIndex === searchIndex\" class=\"filter-bar-search-input\">\r\n <span matPrefix class=\"material-icons-outlined\">\r\n {{prefixIcon}}\r\n </span>\r\n <span matSuffix class=\"material-icons-outlined\" *ngIf=\"showSuffixIcon\" [matTooltip]=\"searchTooltip | translate\">\r\n {{suffixIcon}}\r\n </span>\r\n <input class=\"search-input\" matInput [placeholder]=\"searchTitle | translate\"\r\n [formControlName]=\"inputFormControlName\">\r\n </mat-form-field>\r\n <ng-container [formGroup]=\"filterFormGroup\">\r\n\r\n <mat-form-field [ngClass]=\"{'hidden': filterOverflow && activeFilterIndex !== i, 'engine-filter': !filterOverflow}\" *ngFor=\"let filter of settings?.filters; let i = index\">\r\n <mat-label>{{filter.title | translate}}</mat-label>\r\n <mat-select multiple [formControlName]=\"filter.fieldName\">\r\n <ng-container *ngIf=\"filter.values.length\">\r\n <mat-option *ngFor=\"let value of filter.values | sortTranslationsByProperty:'key'\" [value]=\"value\">\r\n {{value.key | translate : {default: value.value | titlecase } }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <button mat-icon-button (click)=\"switchLeft()\" *ngIf=\"filterOverflow\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_back_ios\r\n </span>\r\n </button>\r\n <button mat-icon-button *ngIf=\"filterOverflow\" (click)=\"switchRight()\">\r\n <span class=\"material-icons-outlined\">\r\n arrow_forward_ios\r\n </span>\r\n </button>\r\n</div>\r\n<mat-chip-listbox>\r\n <div *ngFor=\"let filter of settings?.filters\">\r\n <mat-chip-option *ngFor=\"let filterValue of filterFormGroupValue[filter.fieldName]; let ix=index\"\r\n (removed)=\"removeFilter(filter.fieldName, ix)\" class=\"text-s\">\r\n <button matChipRemove>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <span class=\"chip-filter-title\">{{filter.title | translate}}:</span>\r\n <span class=\"chip-value semi-bold\"> {{filterValue.key | translate : {default: filterValue.value | titlecase }\r\n }}</span>\r\n </mat-chip-option>\r\n </div>\r\n</mat-chip-listbox>\r\n", styles: [":host{display:inline-block}.filter-row{display:flex;background-color:var(--base-95);min-height:40px;min-width:100%;border-radius:.5rem;padding:.5rem 1.25rem 1rem;max-width:100%;align-items:baseline;margin-bottom:.5rem}.filter-row ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}.filter-row ::ng-deep .mat-form-field-underline{bottom:0!important}.search-input{background-color:unset;border:none}.engine-filter{margin-left:1rem}.filter-bar-search-input{width:100%}.filter-bar-search-input::ng-deep .material-icons-outlined{vertical-align:bottom}.material-icons-outlined{color:var(--base-40)}.filter-wrapper{max-width:100%;overflow-x:hidden;overflow-y:hidden;display:flex;flex:1}.mat-mdc-chip.mat-mdc-standard-chip{background-color:var(--base-95);padding-left:.5em;padding-right:.75em;border:.5px solid var(--base-70)}.mat-mdc-chip.mat-mdc-standard-chip span{display:inline-block}.mat-mdc-chip.mat-mdc-standard-chip .chip-filter-title+.chip-value{margin-left:.25rem}.mat-mdc-chip .mat-chip-remove{margin-left:0;margin-right:.5em;color:var(--base-40);opacity:1}.hidden{display:none}\n"] }]
133
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }]; }, propDecorators: { filterWrapper: [{
134
+ type: ViewChild,
135
+ args: ["filterWrapper"]
136
+ }], onResize: [{
137
+ type: HostListener,
138
+ args: ['window:resize', []]
139
+ }], settings: [{
140
+ type: Input
141
+ }], filterRowVisible: [{
142
+ type: Input
143
+ }], filterBarChange: [{
144
+ type: Output
145
+ }] } });
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9maWx0ZXItYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWx0ZXItYmFyL2ZpbHRlci1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakssT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQWF4RCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQWEsZ0JBQWdCLENBQUMsS0FBYztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFnQ0QsbUNBQW1DO0lBQ25DLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNELDJFQUEyRTtJQUMzRSxJQUFJLGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUN6RCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxF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LE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDbkU7WUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzhHQTFJVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix1VkNkL0IsKzlFQWtEQTs7MkZEcENhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFFRSxnQkFBZ0I7dUlBS0UsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUUxQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBS3hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQU1JLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmlsdGVyQmFyRmlsdGVySXRlbSB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlsdGVyQmFyQ2hhbmdlRXZlbnQgfSBmcm9tICcuL21vZGVscy9maWx0ZXItYmFyLWNoYW5nZS1ldmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlckJhclNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyLWJhci1zZXR0aW5ncy5tb2RlbCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICd0bGQtZmlsdGVyLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJmaWx0ZXJXcmFwcGVyXCIpIGZpbHRlcldyYXBwZXIhOiBFbGVtZW50UmVmO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0dGluZ3MhOiBGaWx0ZXJCYXJTZXR0aW5ncztcclxuICBASW5wdXQoKSBzZXQgZmlsdGVyUm93VmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZmlsdGVyUm93VmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBmaWx0ZXJCYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckJhckNoYW5nZUV2ZW50PigpO1xyXG5cclxuICBwcml2YXRlIF9pbnB1dFRleHQgPSBcIlwiO1xyXG4gIHByaXZhdGUgX2ZpbHRlclJvd1Zpc2libGUhOiBib29sZWFuO1xyXG4gIHByaXZhdGUgZm9ybUNoYW5nZXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKiBUbyBoaWRlIGZpbHRlcnMsIGJ1dCBsZWF2ZSBjaGlwcyB2aXNpYmxlICovXHJcbiAgcmVhZG9ubHkgaW5wdXRGb3JtQ29udHJvbE5hbWUgPSBcImlucHV0XCI7XHJcbiAgcmVhZG9ubHkgZmlsdGVyRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgW3RoaXMuaW5wdXRGb3JtQ29udHJvbE5hbWVdOiBuZXcgRm9ybUNvbnRyb2woXCJcIiksXHJcbiAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlckZvcm1Hcm91cFxyXG4gIH0pO1xyXG5cclxuICBzZWFyY2hUaXRsZSE6IHN0cmluZztcclxuICBzZWFyY2hUb29sdGlwITogc3RyaW5nO1xyXG4gIHN1ZmZpeEljb24hOiBzdHJpbmc7XHJcbiAgcHJlZml4SWNvbiE6IHN0cmluZztcclxuICBzaG93U3VmZml4SWNvbiE6IGJvb2xlYW47XHJcbiAgZmlsdGVyczogRmlsdGVyQmFyQ2hhbmdlRXZlbnQgPSB7XHJcbiAgICBmaWx0ZXJzOiB7fSxcclxuICAgIGlucHV0OiBcIlwiXHJcbiAgfTtcclxuXHJcbiAgZmlsdGVyT3ZlcmZsb3cgPSBmYWxzZTtcclxuICBhY3RpdmVGaWx0ZXJJbmRleCA9IDA7XHJcblxyXG4gIC8vIHdoZW4gdG8gc2hvdyBmaWx0ZXIgYnkgbmFtZSBvciBpZCBvbiBtb2JpbGVcclxuICBzZWFyY2hJbmRleCA9IC0xO1xyXG5cclxuICAvLyBnZXR0ZXIgZm9yIGNsZWFuZXIgdGVtcGxhdGUgaHRtbFxyXG4gIGdldCBmaWx0ZXJGb3JtR3JvdXBWYWx1ZSgpOiB7IFtrZXk6IHN0cmluZ106IEZpbHRlckJhckZpbHRlckl0ZW1bXSB9IHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXHJcbiAgZ2V0IGZpbHRlclJvd1Zpc2libGUoKSB7IHJldHVybiB0aGlzLl9maWx0ZXJSb3dWaXNpYmxlOyB9XHJcbiAgZ2V0IGlucHV0VGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbnB1dFRleHQ7XHJcbiAgfVxyXG4gIGdldCBzaG93U2VhcmNoKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLnNldHRpbmdzPy5oaWRlU2VhcmNoO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXHJcbiAgc2V0IGlucHV0VGV4dCh2YWx1ZSkge1xyXG4gICAgdGhpcy5faW5wdXRUZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcnMuaW5wdXQgPSB0aGlzLl9pbnB1dFRleHQ7XHJcbiAgICB0aGlzLmVtaXRGaWx0ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZmlsdGVycz8uZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuYWRkQ29udHJvbChmaWVsZC5maWVsZE5hbWUsIG5ldyBGb3JtQ29udHJvbChbXSkpO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZVRvRm9ybVZhbHVlQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5zZWFyY2hUb29sdGlwID0gdGhpcy5zZXR0aW5ncz8uc2VhcmNoVG9vbHRpcCA/PyAnRklMVEVSX0JBUi5TRUFSQ0hfVE9PTFRJUCc7XHJcbiAgICB0aGlzLnNlYXJjaFRpdGxlID0gdGhpcy5zZXR0aW5ncz8uc2VhcmNoVGl0bGUgPz8gJ0ZJTFRFUl9CQVIuU0VBUkNIJztcclxuICAgIHRoaXMucHJlZml4SWNvbiA9IHRoaXMuc2V0dGluZ3M/LnByZWZpeEljb24gPz8gXCJmaWx0ZXJfYWx0XCI7XHJcbiAgICB0aGlzLnN1ZmZpeEljb24gPSB0aGlzLnNldHRpbmdzPy5zdWZmaXhJY29uID8/IFwicXVlc3Rpb25fbWFya1wiO1xyXG4gICAgdGhpcy5zaG93U3VmZml4SWNvbiA9IHRoaXMuc2V0dGluZ3M/LnNob3dTdWZmaXhJY29uID8/IHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKTtcclxuICAgIHRoaXMuY2RyZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBlbWl0RmlsdGVycygpIHtcclxuICAgIHRoaXMuZmlsdGVyQmFyQ2hhbmdlLm5leHQodGhpcy5maWx0ZXJzKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFJpZ2h0KCkge1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3M/LmZpbHRlcnMgJiYgdGhpcy5zZXR0aW5ncz8uZmlsdGVycy5sZW5ndGggPT09IHRoaXMuYWN0aXZlRmlsdGVySW5kZXggKyAxKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlRmlsdGVySW5kZXggKz0gMTtcclxuICB9XHJcblxyXG4gIHN3aXRjaExlZnQoKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXJJbmRleCA9PT0gdGhpcy5zZWFyY2hJbmRleCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZUZpbHRlckluZGV4IC09IDE7XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWx0ZXIoa2V5OiBzdHJpbmcsIGl4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoa2V5KTtcclxuXHJcbiAgICBpZiAoIWNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld0FycmF5ID0gY29udHJvbC52YWx1ZSBhcyBbXTtcclxuICAgIG5ld0FycmF5LnNwbGljZShpeCwgMSk7XHJcbiAgICBjb250cm9sLnNldFZhbHVlKG5ld0FycmF5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tPdmVyZmxvdygpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlcldyYXBwZXIpIHtcclxuICAgICAgdGhpcy5maWx0ZXJPdmVyZmxvdyA9IHRoaXMuZmlsdGVyV3JhcHBlci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDwgdGhpcy5maWx0ZXJXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvRm9ybVZhbHVlQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuZm9ybUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHtcclxuICAgICAgICBpbnB1dDogdGhpcy5mb3JtLnZhbHVlLmlucHV0ID8/IFwiXCIsXHJcbiAgICAgICAgZmlsdGVyczoge31cclxuICAgICAgfTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZmlsdGVyS2V5IGluIHRoaXMuZm9ybS52YWx1ZS5maWx0ZXJzKSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBjb25zdCBmaWx0ZXI6IEZpbHRlckJhckZpbHRlckl0ZW1bXSA9ICh0aGlzLmZvcm0udmFsdWUuZmlsdGVycyBhcyBhbnkpW2ZpbHRlcktleV0gYXMgRmlsdGVyQmFyRmlsdGVySXRlbVtdO1xyXG4gICAgICAgIHRoaXMuZmlsdGVycy5maWx0ZXJzW2ZpbHRlcktleV0gPSBmaWx0ZXIubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlKVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZW1pdEZpbHRlcnMoKTtcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItcm93XCIgKm5nSWY9XCJmaWx0ZXJSb3dWaXNpYmxlXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiZmlsdGVyLXdyYXBwZXJcIiAjZmlsdGVyV3JhcHBlciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXggKm5nSWY9XCJzaG93U2VhcmNoICYmICFmaWx0ZXJPdmVyZmxvdyB8fCBhY3RpdmVGaWx0ZXJJbmRleCA9PT0gc2VhcmNoSW5kZXhcIiBjbGFzcz1cImZpbHRlci1iYXItc2VhcmNoLWlucHV0XCI+XHJcbiAgICAgIDxzcGFuIG1hdFByZWZpeCBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XHJcbiAgICAgICAge3twcmVmaXhJY29ufX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiICpuZ0lmPVwic2hvd1N1ZmZpeEljb25cIiBbbWF0VG9vbHRpcF09XCJzZWFyY2hUb29sdGlwIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAge3tzdWZmaXhJY29ufX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwic2VhcmNoVGl0bGUgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaW5wdXRGb3JtQ29udHJvbE5hbWVcIj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybUdyb3VwXCI+XHJcblxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieydoaWRkZW4nOiBmaWx0ZXJPdmVyZmxvdyAmJiBhY3RpdmVGaWx0ZXJJbmRleCAhPT0gaSwgJ2VuZ2luZS1maWx0ZXInOiAhZmlsdGVyT3ZlcmZsb3d9XCIgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBzZXR0aW5ncz8uZmlsdGVyczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3tmaWx0ZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IG11bHRpcGxlIFtmb3JtQ29udHJvbE5hbWVdPVwiZmlsdGVyLmZpZWxkTmFtZVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci52YWx1ZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmaWx0ZXIudmFsdWVzIHwgc29ydFRyYW5zbGF0aW9uc0J5UHJvcGVydHk6J2tleSdcIiBbdmFsdWVdPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICB7e3ZhbHVlLmtleSB8IHRyYW5zbGF0ZSA6IHtkZWZhdWx0OiB2YWx1ZS52YWx1ZSB8IHRpdGxlY2FzZSB9IH19XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzd2l0Y2hMZWZ0KClcIiAqbmdJZj1cImZpbHRlck92ZXJmbG93XCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XHJcbiAgICAgIGFycm93X2JhY2tfaW9zXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJmaWx0ZXJPdmVyZmxvd1wiIChjbGljayk9XCJzd2l0Y2hSaWdodCgpXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XHJcbiAgICAgIGFycm93X2ZvcndhcmRfaW9zXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG48bWF0LWNoaXAtbGlzdGJveD5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2Ygc2V0dGluZ3M/LmZpbHRlcnNcIj5cclxuICAgIDxtYXQtY2hpcC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlclZhbHVlIG9mIGZpbHRlckZvcm1Hcm91cFZhbHVlW2ZpbHRlci5maWVsZE5hbWVdOyBsZXQgaXg9aW5kZXhcIlxyXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVGaWx0ZXIoZmlsdGVyLmZpZWxkTmFtZSwgaXgpXCIgY2xhc3M9XCJ0ZXh0LXNcIj5cclxuICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlPlxyXG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNoaXAtZmlsdGVyLXRpdGxlXCI+e3tmaWx0ZXIudGl0bGUgfCB0cmFuc2xhdGV9fTo8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcC12YWx1ZSBzZW1pLWJvbGRcIj4ge3tmaWx0ZXJWYWx1ZS5rZXkgfCB0cmFuc2xhdGUgOiB7ZGVmYXVsdDogZmlsdGVyVmFsdWUudmFsdWUgfCB0aXRsZWNhc2UgfVxyXG4gICAgICAgIH19PC9zcGFuPlxyXG4gICAgPC9tYXQtY2hpcC1vcHRpb24+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LWNoaXAtbGlzdGJveD5cclxuIl19
@@ -0,0 +1,71 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FilterBarComponent } from './filter-bar.component';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { MatInputModule } from '@angular/material/input';
6
+ import { FlexLayoutModule } from '@angular/flex-layout';
7
+ import { MatSelectModule } from '@angular/material/select';
8
+ import { MatFormFieldModule } from '@angular/material/form-field';
9
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import { MatButtonModule } from '@angular/material/button';
12
+ import { MatChipsModule } from '@angular/material/chips';
13
+ import { MatIconModule } from '@angular/material/icon';
14
+ import { SortTranslationsByPropertyModule } from '../pipes/sort-translations-by-property';
15
+ import * as i0 from "@angular/core";
16
+ export class FilterBarModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FilterBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: FilterBarModule, declarations: [FilterBarComponent], imports: [CommonModule,
19
+ TranslateModule,
20
+ MatInputModule,
21
+ MatFormFieldModule,
22
+ FlexLayoutModule,
23
+ MatSelectModule,
24
+ FormsModule,
25
+ MatTooltipModule,
26
+ MatButtonModule,
27
+ MatChipsModule,
28
+ MatIconModule,
29
+ ReactiveFormsModule,
30
+ SortTranslationsByPropertyModule], exports: [FilterBarComponent] }); }
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FilterBarModule, imports: [CommonModule,
32
+ TranslateModule,
33
+ MatInputModule,
34
+ MatFormFieldModule,
35
+ FlexLayoutModule,
36
+ MatSelectModule,
37
+ FormsModule,
38
+ MatTooltipModule,
39
+ MatButtonModule,
40
+ MatChipsModule,
41
+ MatIconModule,
42
+ ReactiveFormsModule,
43
+ SortTranslationsByPropertyModule] }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FilterBarModule, decorators: [{
46
+ type: NgModule,
47
+ args: [{
48
+ declarations: [
49
+ FilterBarComponent
50
+ ],
51
+ imports: [
52
+ CommonModule,
53
+ TranslateModule,
54
+ MatInputModule,
55
+ MatFormFieldModule,
56
+ FlexLayoutModule,
57
+ MatSelectModule,
58
+ FormsModule,
59
+ MatTooltipModule,
60
+ MatButtonModule,
61
+ MatChipsModule,
62
+ MatIconModule,
63
+ ReactiveFormsModule,
64
+ SortTranslationsByPropertyModule
65
+ ],
66
+ exports: [
67
+ FilterBarComponent
68
+ ]
69
+ }]
70
+ }] });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9maWx0ZXItYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBeUIxRixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsaUJBckJ4QixrQkFBa0IsYUFHbEIsWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZ0NBQWdDLGFBR2hDLGtCQUFrQjsrR0FHVCxlQUFlLFlBbEJ4QixZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixjQUFjO1lBQ2QsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixnQ0FBZ0M7OzJGQU12QixlQUFlO2tCQXZCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZpbHRlckJhckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBTb3J0VHJhbnNsYXRpb25zQnlQcm9wZXJ0eU1vZHVsZSB9IGZyb20gJy4uL3BpcGVzL3NvcnQtdHJhbnNsYXRpb25zLWJ5LXByb3BlcnR5JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBGaWx0ZXJCYXJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTb3J0VHJhbnNsYXRpb25zQnlQcm9wZXJ0eU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRmlsdGVyQmFyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQmFyTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './filter-bar.component';
2
+ export * from './filter-bar.module';
3
+ export * from './models';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci1iYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItYmFyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1jaGFuZ2UtZXZlbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9tb2RlbHMvZmlsdGVyLWJhci1jaGFuZ2UtZXZlbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJhckNoYW5nZUV2ZW50IHtcclxuICBpbnB1dDogc3RyaW5nO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZmlsdGVyczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBhbnlbXSB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1maWx0ZXItaXRlbS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItYmFyLWZpbHRlci1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZpbHRlckJhckZpbHRlckl0ZW0ge1xyXG4gIC8vIGRpc3BsYXlWYWx1ZVxyXG4gIGtleTogc3RyaW5nO1xyXG4gIC8vIGFueSBiZWNhdXNlIGZpbHRlciBjYW4gYmUgcmVhbGx5IHdpdGggYW55IHR5cGUuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1maWx0ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9tb2RlbHMvZmlsdGVyLWJhci1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckJhckZpbHRlckl0ZW0gfSBmcm9tIFwiLi9maWx0ZXItYmFyLWZpbHRlci1pdGVtLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJhckZpbHRlciB7XHJcbiAgZmllbGROYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB2YWx1ZXM6IEZpbHRlckJhckZpbHRlckl0ZW1bXTtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci1zZXR0aW5ncy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItYmFyLXNldHRpbmdzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJCYXJGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXItYmFyLWZpbHRlci5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJCYXJTZXR0aW5ncyB7XHJcbiAgLyoqIFNob3cvaGlkZSBzZWFyY2ggaW5wdXQuIEVuYWJsZWQgYnkgZGVmYXVsdC4gKi9cclxuICBoaWRlU2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBUaXRsZSBmb3Igc2VhcmNoIGlucHV0IGZpZWxkLiBEZWZhdWx0IHZhbHVlOiBGSUxURVJfQkFSLlNFQVJDSFxyXG4gICAqL1xyXG4gIHNlYXJjaFRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0b29sdGlwLCBzaG93biBhZnRlciBpbnB1dCBmaWVsZCBmb3IgaWNvblxyXG4gICAqL1xyXG4gIHNlYXJjaFRvb2x0aXA/OiBzdHJpbmc7XHJcbiAgLyoqIFByZWZpeCBpY29uIGZyb20gbWF0ZXJpYWwgaWNvbnMuICovXHJcbiAgcHJlZml4SWNvbj86IHN0cmluZztcclxuICAvKiogU3VmZml4IGljb24gZnJvbSBtYXRlcmlhbCBpY29ucy4gKi9cclxuICBzdWZmaXhJY29uPzogc3RyaW5nO1xyXG4gIHNob3dTdWZmaXhJY29uPzogYm9vbGVhbjtcclxuXHJcbiAgZmlsdGVycz86IEZpbHRlckJhckZpbHRlcltdO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './filter-bar-filter.model';
2
+ export * from './filter-bar-settings.model';
3
+ export * from './filter-bar-filter-item.model';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvZmlsdGVyLWJhci9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci1iYXItZmlsdGVyLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItYmFyLXNldHRpbmdzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItYmFyLWZpbHRlci1pdGVtLm1vZGVsJztcclxuIl19
@@ -19,10 +19,10 @@ export class FooterComponent {
19
19
  this.termsOfUseRoute = this.baseUrl + this.termsOfUseRoute;
20
20
  }
21
21
  }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: FooterComponent, selector: "tld-footer", inputs: { privacyRoute: "privacyRoute", termsOfUseRoute: "termsOfUseRoute", contactUsRoute: "contactUsRoute", baseUrl: "baseUrl" }, ngImport: i0, template: "<footer fxLayout=\"row\" class=\"text-m\">\r\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutAlign.xs=\"center center\" fxLayout.xs=\"column\"\r\n fxLayoutGap=\"16px\">\r\n <div>\r\n {{ 'FOOTER.TITLE' | translate: {currentYear: currentYear} }}\r\n </div>\r\n <div fxLayoutGap=\"1rem\">\r\n <ng-container *ngIf=\"baseUrl; else localRoutes\">\r\n <a class=\"semi-bold\" *ngIf=\"termsOfUseRoute\" [attr.href]=\"termsOfUseRoute\" target=\"_blank\"> {{\r\n 'FOOTER.TERMS_OF_USE' |\r\n translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"privacyRoute\" [attr.href]=\"privacyRoute\" target=\"_blank\"> {{ 'FOOTER.PRIVACY'\r\n | translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"contactUsRoute\" [routerLink]=\"[contactUsRoute]\"> {{ 'FOOTER.CONTACT_US'| translate\r\n }}</a>\r\n\r\n </ng-container>\r\n <ng-template #localRoutes>\r\n <a class=\"semi-bold\" *ngIf=\"termsOfUseRoute\" [routerLink]=\"[termsOfUseRoute]\"> {{ 'FOOTER.TERMS_OF_USE' |\r\n translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"privacyRoute\" [routerLink]=\"[privacyRoute]\"> {{ 'FOOTER.PRIVACY'| translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"contactUsRoute\" [routerLink]=\"[contactUsRoute]\"> {{ 'FOOTER.CONTACT_US'| translate\r\n }}</a>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</footer>\r\n", styles: [":host footer{color:var(--base-30);padding:1rem 2rem;margin-bottom:0;border-top:1px solid var(--base-70);margin-top:1rem}:host footer a{color:var(--base-30);text-decoration:none}:host footer a:hover{color:var(--base-30);text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
22
24
  }
23
- FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FooterComponent, selector: "tld-footer", inputs: { privacyRoute: "privacyRoute", termsOfUseRoute: "termsOfUseRoute", contactUsRoute: "contactUsRoute", baseUrl: "baseUrl" }, ngImport: i0, template: "<footer fxLayout=\"row\" class=\"text-m\">\r\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutAlign.xs=\"center center\" fxLayout.xs=\"column\"\r\n fxLayoutGap=\"16px\">\r\n <div>\r\n {{ 'FOOTER.TITLE' | translate: {currentYear: currentYear} }}\r\n </div>\r\n <div fxLayoutGap=\"1rem\">\r\n <ng-container *ngIf=\"baseUrl; else localRoutes\">\r\n <a class=\"semi-bold\" *ngIf=\"termsOfUseRoute\" [attr.href]=\"termsOfUseRoute\" target=\"_blank\"> {{\r\n 'FOOTER.TERMS_OF_USE' |\r\n translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"privacyRoute\" [attr.href]=\"privacyRoute\" target=\"_blank\"> {{ 'FOOTER.PRIVACY'\r\n | translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"contactUsRoute\" [routerLink]=\"[contactUsRoute]\"> {{ 'FOOTER.CONTACT_US'| translate\r\n }}</a>\r\n\r\n </ng-container>\r\n <ng-template #localRoutes>\r\n <a class=\"semi-bold\" *ngIf=\"termsOfUseRoute\" [routerLink]=\"[termsOfUseRoute]\"> {{ 'FOOTER.TERMS_OF_USE' |\r\n translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"privacyRoute\" [routerLink]=\"[privacyRoute]\"> {{ 'FOOTER.PRIVACY'| translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"contactUsRoute\" [routerLink]=\"[contactUsRoute]\"> {{ 'FOOTER.CONTACT_US'| translate\r\n }}</a>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</footer>\r\n", styles: [":host footer{color:var(--base-30);padding:1rem 2rem;margin-bottom:0;border-top:1px solid var(--base-70);margin-top:1rem}:host footer a{color:var(--base-30);text-decoration:none}:host footer a:hover{color:var(--base-30);text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FooterComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FooterComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'tld-footer', template: "<footer fxLayout=\"row\" class=\"text-m\">\r\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutAlign.xs=\"center center\" fxLayout.xs=\"column\"\r\n fxLayoutGap=\"16px\">\r\n <div>\r\n {{ 'FOOTER.TITLE' | translate: {currentYear: currentYear} }}\r\n </div>\r\n <div fxLayoutGap=\"1rem\">\r\n <ng-container *ngIf=\"baseUrl; else localRoutes\">\r\n <a class=\"semi-bold\" *ngIf=\"termsOfUseRoute\" [attr.href]=\"termsOfUseRoute\" target=\"_blank\"> {{\r\n 'FOOTER.TERMS_OF_USE' |\r\n translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"privacyRoute\" [attr.href]=\"privacyRoute\" target=\"_blank\"> {{ 'FOOTER.PRIVACY'\r\n | translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"contactUsRoute\" [routerLink]=\"[contactUsRoute]\"> {{ 'FOOTER.CONTACT_US'| translate\r\n }}</a>\r\n\r\n </ng-container>\r\n <ng-template #localRoutes>\r\n <a class=\"semi-bold\" *ngIf=\"termsOfUseRoute\" [routerLink]=\"[termsOfUseRoute]\"> {{ 'FOOTER.TERMS_OF_USE' |\r\n translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"privacyRoute\" [routerLink]=\"[privacyRoute]\"> {{ 'FOOTER.PRIVACY'| translate }}</a>\r\n <a class=\"semi-bold\" *ngIf=\"contactUsRoute\" [routerLink]=\"[contactUsRoute]\"> {{ 'FOOTER.CONTACT_US'| translate\r\n }}</a>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</footer>\r\n", styles: [":host footer{color:var(--base-30);padding:1rem 2rem;margin-bottom:0;border-top:1px solid var(--base-70);margin-top:1rem}:host footer a{color:var(--base-30);text-decoration:none}:host footer a:hover{color:var(--base-30);text-decoration:underline}\n"] }]
28
28
  }], ctorParameters: function () { return []; }, propDecorators: { privacyRoute: [{
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
34
34
  }], baseUrl: [{
35
35
  type: Input
36
36
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRekQsTUFBTSxPQUFPLGVBQWU7SUFZMUI7UUFUUyxzQkFBaUIsR0FBRyxjQUFjLENBQUM7UUFDbkMsd0JBQW1CLEdBQUcsZ0JBQWdCLENBQUE7UUFFdEMsaUJBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDeEMsb0JBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDekMsbUJBQWMsR0FBRyxzQ0FBc0MsQ0FBQztRQUsvRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDNUQ7SUFDSCxDQUFDOzs0R0FyQlUsZUFBZTtnR0FBZixlQUFlLHNMQ1I1QiwwNUNBMkJBOzJGRG5CYSxlQUFlO2tCQU4zQixTQUFTOytCQUVFLFlBQVk7MEVBVWIsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAndGxkLWZvb3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9vdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY3VycmVudFllYXIhOiBudW1iZXI7XHJcblxyXG4gIHJlYWRvbmx5IGRlZmF1bHRUZXJtc1JvdXRlID0gXCJ0ZXJtcy1vZi11c2VcIjtcclxuICByZWFkb25seSBkZWZhdWx0UHJpdmFjeVJvdXRlID0gXCJwcml2YWN5LXBvbGljeVwiXHJcblxyXG4gIEBJbnB1dCgpIHByaXZhY3lSb3V0ZSA9IHRoaXMuZGVmYXVsdFByaXZhY3lSb3V0ZTtcclxuICBASW5wdXQoKSB0ZXJtc09mVXNlUm91dGUgPSB0aGlzLmRlZmF1bHRUZXJtc1JvdXRlO1xyXG4gIEBJbnB1dCgpIGNvbnRhY3RVc1JvdXRlID0gXCJodHRwczovL3RpbGRlLmNvbS9hYm91dC9nZXQtaW4tdG91Y2hcIjtcclxuXHJcbiAgQElucHV0KCkgYmFzZVVybCE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5iYXNlVXJsKSB7XHJcbiAgICAgIHRoaXMucHJpdmFjeVJvdXRlID0gdGhpcy5iYXNlVXJsICsgdGhpcy5wcml2YWN5Um91dGU7XHJcbiAgICAgIHRoaXMudGVybXNPZlVzZVJvdXRlID0gdGhpcy5iYXNlVXJsICsgdGhpcy50ZXJtc09mVXNlUm91dGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9vdGVyIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJ0ZXh0LW1cIj5cclxuICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEFsaWduLnhzPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0LnhzPVwiY29sdW1uXCJcclxuICAgIGZ4TGF5b3V0R2FwPVwiMTZweFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAge3sgJ0ZPT1RFUi5USVRMRScgfCB0cmFuc2xhdGU6IHtjdXJyZW50WWVhcjogY3VycmVudFllYXJ9IH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYXNlVXJsOyBlbHNlIGxvY2FsUm91dGVzXCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJzZW1pLWJvbGRcIiAqbmdJZj1cInRlcm1zT2ZVc2VSb3V0ZVwiIFthdHRyLmhyZWZdPVwidGVybXNPZlVzZVJvdXRlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+IHt7XHJcbiAgICAgICAgICAnRk9PVEVSLlRFUk1TX09GX1VTRScgfFxyXG4gICAgICAgICAgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgIDxhIGNsYXNzPVwic2VtaS1ib2xkXCIgKm5nSWY9XCJwcml2YWN5Um91dGVcIiBbYXR0ci5ocmVmXT1cInByaXZhY3lSb3V0ZVwiIHRhcmdldD1cIl9ibGFua1wiPiB7eyAnRk9PVEVSLlBSSVZBQ1knXHJcbiAgICAgICAgICB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICA8YSBjbGFzcz1cInNlbWktYm9sZFwiICpuZ0lmPVwiY29udGFjdFVzUm91dGVcIiBbcm91dGVyTGlua109XCJbY29udGFjdFVzUm91dGVdXCI+IHt7ICdGT09URVIuQ09OVEFDVF9VUyd8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX08L2E+XHJcblxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNsb2NhbFJvdXRlcz5cclxuICAgICAgICA8YSBjbGFzcz1cInNlbWktYm9sZFwiICpuZ0lmPVwidGVybXNPZlVzZVJvdXRlXCIgW3JvdXRlckxpbmtdPVwiW3Rlcm1zT2ZVc2VSb3V0ZV1cIj4ge3sgJ0ZPT1RFUi5URVJNU19PRl9VU0UnIHxcclxuICAgICAgICAgIHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICA8YSBjbGFzcz1cInNlbWktYm9sZFwiICpuZ0lmPVwicHJpdmFjeVJvdXRlXCIgW3JvdXRlckxpbmtdPVwiW3ByaXZhY3lSb3V0ZV1cIj4ge3sgJ0ZPT1RFUi5QUklWQUNZJ3wgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgIDxhIGNsYXNzPVwic2VtaS1ib2xkXCIgKm5nSWY9XCJjb250YWN0VXNSb3V0ZVwiIFtyb3V0ZXJMaW5rXT1cIltjb250YWN0VXNSb3V0ZV1cIj4ge3sgJ0ZPT1RFUi5DT05UQUNUX1VTJ3wgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvYT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvb3Rlcj5cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRekQsTUFBTSxPQUFPLGVBQWU7SUFZMUI7UUFUUyxzQkFBaUIsR0FBRyxjQUFjLENBQUM7UUFDbkMsd0JBQW1CLEdBQUcsZ0JBQWdCLENBQUE7UUFFdEMsaUJBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDeEMsb0JBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDekMsbUJBQWMsR0FBRyxzQ0FBc0MsQ0FBQztRQUsvRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDNUQ7SUFDSCxDQUFDOzhHQXJCVSxlQUFlO2tHQUFmLGVBQWUsc0xDUjVCLDA1Q0EyQkE7OzJGRG5CYSxlQUFlO2tCQU4zQixTQUFTOytCQUVFLFlBQVk7MEVBVWIsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAndGxkLWZvb3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9vdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY3VycmVudFllYXIhOiBudW1iZXI7XHJcblxyXG4gIHJlYWRvbmx5IGRlZmF1bHRUZXJtc1JvdXRlID0gXCJ0ZXJtcy1vZi11c2VcIjtcclxuICByZWFkb25seSBkZWZhdWx0UHJpdmFjeVJvdXRlID0gXCJwcml2YWN5LXBvbGljeVwiXHJcblxyXG4gIEBJbnB1dCgpIHByaXZhY3lSb3V0ZSA9IHRoaXMuZGVmYXVsdFByaXZhY3lSb3V0ZTtcclxuICBASW5wdXQoKSB0ZXJtc09mVXNlUm91dGUgPSB0aGlzLmRlZmF1bHRUZXJtc1JvdXRlO1xyXG4gIEBJbnB1dCgpIGNvbnRhY3RVc1JvdXRlID0gXCJodHRwczovL3RpbGRlLmNvbS9hYm91dC9nZXQtaW4tdG91Y2hcIjtcclxuXHJcbiAgQElucHV0KCkgYmFzZVVybCE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5iYXNlVXJsKSB7XHJcbiAgICAgIHRoaXMucHJpdmFjeVJvdXRlID0gdGhpcy5iYXNlVXJsICsgdGhpcy5wcml2YWN5Um91dGU7XHJcbiAgICAgIHRoaXMudGVybXNPZlVzZVJvdXRlID0gdGhpcy5iYXNlVXJsICsgdGhpcy50ZXJtc09mVXNlUm91dGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9vdGVyIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJ0ZXh0LW1cIj5cclxuICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEFsaWduLnhzPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0LnhzPVwiY29sdW1uXCJcclxuICAgIGZ4TGF5b3V0R2FwPVwiMTZweFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAge3sgJ0ZPT1RFUi5USVRMRScgfCB0cmFuc2xhdGU6IHtjdXJyZW50WWVhcjogY3VycmVudFllYXJ9IH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYXNlVXJsOyBlbHNlIGxvY2FsUm91dGVzXCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJzZW1pLWJvbGRcIiAqbmdJZj1cInRlcm1zT2ZVc2VSb3V0ZVwiIFthdHRyLmhyZWZdPVwidGVybXNPZlVzZVJvdXRlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+IHt7XHJcbiAgICAgICAgICAnRk9PVEVSLlRFUk1TX09GX1VTRScgfFxyXG4gICAgICAgICAgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgIDxhIGNsYXNzPVwic2VtaS1ib2xkXCIgKm5nSWY9XCJwcml2YWN5Um91dGVcIiBbYXR0ci5ocmVmXT1cInByaXZhY3lSb3V0ZVwiIHRhcmdldD1cIl9ibGFua1wiPiB7eyAnRk9PVEVSLlBSSVZBQ1knXHJcbiAgICAgICAgICB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICA8YSBjbGFzcz1cInNlbWktYm9sZFwiICpuZ0lmPVwiY29udGFjdFVzUm91dGVcIiBbcm91dGVyTGlua109XCJbY29udGFjdFVzUm91dGVdXCI+IHt7ICdGT09URVIuQ09OVEFDVF9VUyd8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX08L2E+XHJcblxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNsb2NhbFJvdXRlcz5cclxuICAgICAgICA8YSBjbGFzcz1cInNlbWktYm9sZFwiICpuZ0lmPVwidGVybXNPZlVzZVJvdXRlXCIgW3JvdXRlckxpbmtdPVwiW3Rlcm1zT2ZVc2VSb3V0ZV1cIj4ge3sgJ0ZPT1RFUi5URVJNU19PRl9VU0UnIHxcclxuICAgICAgICAgIHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICA8YSBjbGFzcz1cInNlbWktYm9sZFwiICpuZ0lmPVwicHJpdmFjeVJvdXRlXCIgW3JvdXRlckxpbmtdPVwiW3ByaXZhY3lSb3V0ZV1cIj4ge3sgJ0ZPT1RFUi5QUklWQUNZJ3wgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgIDxhIGNsYXNzPVwic2VtaS1ib2xkXCIgKm5nSWY9XCJjb250YWN0VXNSb3V0ZVwiIFtyb3V0ZXJMaW5rXT1cIltjb250YWN0VXNSb3V0ZV1cIj4ge3sgJ0ZPT1RFUi5DT05UQUNUX1VTJ3wgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvYT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvb3Rlcj5cclxuIl19