@firestitch/filter 18.2.10 → 18.2.12

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 (150) hide show
  1. package/app/classes/actions-controller.d.ts +1 -1
  2. package/app/components/filter/filter.component.d.ts +39 -68
  3. package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
  4. package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
  5. package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
  6. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
  7. package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
  8. package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
  9. package/app/components/filters-item/chips/chips.component.d.ts +6 -5
  10. package/app/components/filters-item/date/date.component.d.ts +4 -4
  11. package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
  12. package/app/components/filters-item/filter-item.component.d.ts +2 -2
  13. package/app/components/filters-item/range/range.component.d.ts +6 -7
  14. package/app/components/filters-item/select/select.component.d.ts +17 -20
  15. package/app/components/filters-item/text/text.component.d.ts +6 -7
  16. package/app/components/filters-item/week/week.component.d.ts +5 -5
  17. package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
  18. package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
  19. package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
  20. package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
  21. package/app/fs-filter.module.d.ts +20 -24
  22. package/app/helpers/create-filter-item.d.ts +2 -1
  23. package/app/interfaces/items/date.interface.d.ts +1 -1
  24. package/app/models/filter-config.d.ts +2 -2
  25. package/app/models/items/autocomplete-chips-item.d.ts +11 -8
  26. package/app/models/items/autocomplete-item.d.ts +7 -5
  27. package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
  28. package/app/models/items/base-date-item.d.ts +13 -0
  29. package/app/models/items/base-date-range-item.d.ts +17 -0
  30. package/app/models/items/base-item.d.ts +32 -41
  31. package/app/models/items/checkbox-item.d.ts +10 -9
  32. package/app/models/items/chips-item.d.ts +11 -8
  33. package/app/models/items/date-item.d.ts +7 -3
  34. package/app/models/items/date-range-item.d.ts +1 -1
  35. package/app/models/items/date-time-item.d.ts +6 -3
  36. package/app/models/items/date-time-range-item.d.ts +1 -1
  37. package/app/models/items/index.d.ts +0 -4
  38. package/app/models/items/range-item.d.ts +19 -8
  39. package/app/models/items/select-item.d.ts +29 -6
  40. package/app/models/items/text-item.d.ts +7 -6
  41. package/app/models/items/week-item.d.ts +7 -6
  42. package/app/services/filter-controller.service.d.ts +47 -0
  43. package/app/services/filter-overlay.service.d.ts +1 -0
  44. package/app/services/focus-controller.service.d.ts +4 -4
  45. package/app/services/index.d.ts +4 -2
  46. package/app/services/keyword-controller.service.d.ts +20 -0
  47. package/app/services/persistance-controller.service.d.ts +10 -4
  48. package/app/services/query-param-controller.service.d.ts +10 -12
  49. package/app/services/root-filter-overlay.service.d.ts +6 -0
  50. package/app/services/saved-filter-controller.service.d.ts +4 -4
  51. package/app/services/sort-controller.service.d.ts +21 -0
  52. package/esm2022/app/classes/actions-controller.mjs +2 -2
  53. package/esm2022/app/components/filter/filter.component.mjs +162 -330
  54. package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
  55. package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
  56. package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
  57. package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +8 -15
  58. package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
  59. package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
  60. package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
  61. package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
  62. package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
  63. package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
  64. package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
  65. package/esm2022/app/components/filters-item/filter-item.component.mjs +7 -5
  66. package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
  67. package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
  68. package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
  69. package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
  70. package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
  71. package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
  72. package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
  73. package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
  74. package/esm2022/app/fs-filter.module.mjs +1 -16
  75. package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
  76. package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
  77. package/esm2022/app/models/action.model.mjs +2 -2
  78. package/esm2022/app/models/filter-config.mjs +2 -3
  79. package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
  80. package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
  81. package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
  82. package/esm2022/app/models/items/base-date-item.mjs +28 -0
  83. package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
  84. package/esm2022/app/models/items/base-item.mjs +76 -140
  85. package/esm2022/app/models/items/checkbox-item.mjs +35 -26
  86. package/esm2022/app/models/items/chips-item.mjs +50 -42
  87. package/esm2022/app/models/items/date-item.mjs +21 -8
  88. package/esm2022/app/models/items/date-range-item.mjs +2 -2
  89. package/esm2022/app/models/items/date-time-item.mjs +4 -7
  90. package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
  91. package/esm2022/app/models/items/index.mjs +1 -5
  92. package/esm2022/app/models/items/range-item.mjs +48 -44
  93. package/esm2022/app/models/items/select-item.mjs +104 -9
  94. package/esm2022/app/models/items/text-item.mjs +17 -15
  95. package/esm2022/app/models/items/week-item.mjs +23 -24
  96. package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
  97. package/esm2022/app/services/filter-controller.service.mjs +209 -0
  98. package/esm2022/app/services/filter-overlay.service.mjs +6 -3
  99. package/esm2022/app/services/focus-controller.service.mjs +3 -3
  100. package/esm2022/app/services/index.mjs +5 -3
  101. package/esm2022/app/services/keyword-controller.service.mjs +49 -0
  102. package/esm2022/app/services/persistance-controller.service.mjs +24 -6
  103. package/esm2022/app/services/query-param-controller.service.mjs +44 -34
  104. package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
  105. package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
  106. package/esm2022/app/services/sort-controller.service.mjs +60 -0
  107. package/esm2022/public_api.mjs +1 -2
  108. package/fesm2022/firestitch-filter.mjs +2776 -3423
  109. package/fesm2022/firestitch-filter.mjs.map +1 -1
  110. package/package.json +1 -1
  111. package/public_api.d.ts +0 -1
  112. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
  113. package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
  114. package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
  115. package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
  116. package/app/helpers/build-query-params.d.ts +0 -4
  117. package/app/helpers/compare.d.ts +0 -2
  118. package/app/helpers/find-value.d.ts +0 -1
  119. package/app/models/items/autocomplete/index.d.ts +0 -1
  120. package/app/models/items/date/base-date-item.d.ts +0 -17
  121. package/app/models/items/date/index.d.ts +0 -1
  122. package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
  123. package/app/models/items/date-range/index.d.ts +0 -1
  124. package/app/models/items/select/base-select-item.d.ts +0 -16
  125. package/app/models/items/select/index.d.ts +0 -3
  126. package/app/models/items/select/multiple-select-item.d.ts +0 -14
  127. package/app/models/items/select/simple-select-item.d.ts +0 -14
  128. package/app/providers/filter-meta.d.ts +0 -5
  129. package/app/services/item-store.service.d.ts +0 -70
  130. package/app/services/param-controller.service.d.ts +0 -30
  131. package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
  132. package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
  133. package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
  134. package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
  135. package/esm2022/app/helpers/build-query-params.mjs +0 -38
  136. package/esm2022/app/helpers/compare.mjs +0 -38
  137. package/esm2022/app/helpers/find-value.mjs +0 -13
  138. package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
  139. package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
  140. package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
  141. package/esm2022/app/models/items/date/index.mjs +0 -2
  142. package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
  143. package/esm2022/app/models/items/date-range/index.mjs +0 -2
  144. package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
  145. package/esm2022/app/models/items/select/index.mjs +0 -4
  146. package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
  147. package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
  148. package/esm2022/app/providers/filter-meta.mjs +0 -10
  149. package/esm2022/app/services/item-store.service.mjs +0 -356
  150. package/esm2022/app/services/param-controller.service.mjs +0 -151
@@ -19,9 +19,9 @@ export class WeekItem extends BaseItem {
19
19
  return new WeekItem(config, null, filter);
20
20
  }
21
21
  get value() {
22
- let value = clone(this.model);
23
- if (!isObject(this.model) ||
24
- (isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
22
+ let value = clone(super.value);
23
+ if (!isObject(value) ||
24
+ (isEmpty(value.from, { zero: true }) && isEmpty(value.to, { zero: true }))) {
25
25
  value = undefined;
26
26
  }
27
27
  if (isEmpty(value, { zero: true })) {
@@ -52,7 +52,15 @@ export class WeekItem extends BaseItem {
52
52
  }
53
53
  return value;
54
54
  }
55
- get queryObject() {
55
+ set value(value) {
56
+ if (value) {
57
+ value.from = parseDate(value.from);
58
+ value.to = parseDate(value.to);
59
+ value.period = parseInt(value.period, 10) || undefined;
60
+ }
61
+ super.value = value;
62
+ }
63
+ get query() {
56
64
  const value = this.value;
57
65
  const name = this.name;
58
66
  const paramFromName = getRangeName(name, 'from');
@@ -65,7 +73,7 @@ export class WeekItem extends BaseItem {
65
73
  };
66
74
  }
67
75
  get persistanceObject() {
68
- const query = this.queryObject;
76
+ const query = this.query;
69
77
  const name = this.name;
70
78
  const paramFromName = getRangeName(name, 'from');
71
79
  const paramFromValue = query[paramFromName] && simpleFormat(query[paramFromName]) || query[paramFromName];
@@ -78,25 +86,16 @@ export class WeekItem extends BaseItem {
78
86
  [paramPeriodName]: query[paramPeriodName],
79
87
  };
80
88
  }
81
- setModel(value) {
82
- if (value) {
83
- value.from = parseDate(value.from);
84
- value.to = parseDate(value.to);
85
- value.period = parseInt(value.period, 10) || undefined;
89
+ get chips() {
90
+ if (!this.hasValue) {
91
+ return [];
86
92
  }
87
- super.setModel(value);
88
- }
89
- getChipsContent(type = null) {
90
- return formatPeriodObject(this.value);
91
- }
92
- _validateModel() {
93
- //
94
- }
95
- _init() {
96
- //
97
- }
98
- _clearValue(defaultValue = undefined) {
99
- this.model = defaultValue ?? undefined;
93
+ return [
94
+ {
95
+ value: formatPeriodObject(this.value),
96
+ label: this.label,
97
+ },
98
+ ];
100
99
  }
101
100
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQU0vQztJQUNBO0lBSFosWUFDRSxVQUFpQyxFQUN2QixpQkFBMEIsRUFDMUIsT0FBd0I7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUhwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFD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LEtBQUs7UUFDYixFQUFFO0lBQ0osQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxJQUFJLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IHNpbXBsZUZvcm1hdCB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuaW1wb3J0IHsgZm9ybWF0UGVyaW9kT2JqZWN0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGlzRGF0ZSwgaXNWYWxpZCwgcGFyc2VJU08gfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHsgcGFyc2VEYXRlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9wYXJzZS1kYXRlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdXZWVrSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvd2Vlay5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4vYmFzZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgV2Vla0l0ZW0gZXh0ZW5kcyBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnV2Vla0l0ZW0+IHtcblxuICBwdWJsaWMgZGVjbGFyZSBzZWVkRGF0ZTogRGF0ZTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IElGaWx0ZXJDb25maWdXZWVrSXRlbSxcbiAgICBwcm90ZWN0ZWQgX2FkZGl0aW9uYWxDb25maWc6IHVua25vd24sXG4gICAgcHJvdGVjdGVkIF9maWx0ZXI6IEZpbHRlckNvbXBvbmVudCxcbiAgKSB7XG4gICAgc3VwZXIoaXRlbUNvbmZpZywgX2FkZGl0aW9uYWxDb25maWcsIF9maWx0ZXIpO1xuICAgIHRoaXMuc2VlZERhdGUgPSBpdGVtQ29uZmlnLnNlZWREYXRlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnV2Vla0l0ZW0sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBXZWVrSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIGxldCB2YWx1ZSA9IGNsb25lKHRoaXMubW9kZWwpO1xuXG4gICAgaWYgKCFpc09iamVjdCh0aGlzLm1vZGVsKSB8fFxuICAgICAgKGlzRW1wdHkodGhpcy5tb2RlbC5mcm9tLCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLnRvLCB7IHplcm86IHRydWUgfSkpKSB7XG4gICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNFbXB0eSh2YWx1ZSwgeyB6ZXJvOiB0cnVlIH0pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmcm9tID0gdmFsdWUuZnJvbTtcbiAgICBsZXQgdG8gPSB2YWx1ZS50bztcbiAgICBjb25zdCBwZXJpb2QgPSB2YWx1ZS5wZXJpb2Q7XG5cbiAgICB2YWx1ZSA9IHt9O1xuXG4gICAgaWYgKGZyb20pIHtcbiAgICAgIGlmIChpc1N0cmluZyhmcm9tKSkge1xuICAgICAgICBmcm9tID0gcGFyc2VJU08oZnJvbSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1ZhbGlkKGZyb20pICYmIGlzRGF0ZShmcm9tKSkge1xuICAgICAgICB2YWx1ZS5mcm9tID0gZnJvbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG8pIHtcbiAgICAgIGlmIChpc1N0cmluZyh0bykpIHtcbiAgICAgICAgdG8gPSBwYXJzZUlTTyh0byk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1ZhbGlkKHRvKSAmJiBpc0RhdGUodG8pKSB7XG4gICAgICAgIHZhbHVlLnRvID0gdG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBlcmlvZCkge1xuICAgICAgdmFsdWUucGVyaW9kID0gaXNTdHJpbmcocGVyaW9kKSA/IHBhcnNlSW50KHBlcmlvZCwgMTApIDogcGVyaW9kO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtVG9OYW1lID0gZ2V0UmFuZ2VOYW1lKG5hbWUsICd0bycpO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHZhbHVlPy5mcm9tIHx8IHVuZGVmaW5lZCxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHZhbHVlPy50byB8fCB1bmRlZmluZWQsXG4gICAgICBbcGFyYW1QZXJpb2ROYW1lXTogdmFsdWU/LnBlcmlvZCB8fCB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVyc2lzdGFuY2VPYmplY3QoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJ5T2JqZWN0O1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtRnJvbVZhbHVlID0gcXVlcnlbcGFyYW1Gcm9tTmFtZV0gJiYgc2ltcGxlRm9ybWF0KHF1ZXJ5W3BhcmFtRnJvbU5hbWVdKSB8fCBxdWVyeVtwYXJhbUZyb21OYW1lXTtcbiAgICBjb25zdCBwYXJhbVRvTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAndG8nKTtcbiAgICBjb25zdCBwYXJhbVRvVmFsdWUgPSBxdWVyeVtwYXJhbVRvTmFtZV0gJiYgc2ltcGxlRm9ybWF0KHF1ZXJ5W3BhcmFtVG9OYW1lXSkgfHwgcXVlcnlbcGFyYW1Ub05hbWVdO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHBhcmFtRnJvbVZhbHVlLFxuICAgICAgW3BhcmFtVG9OYW1lXTogcGFyYW1Ub1ZhbHVlLFxuICAgICAgW3BhcmFtUGVyaW9kTmFtZV06IHF1ZXJ5W3BhcmFtUGVyaW9kTmFtZV0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNb2RlbCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUuZnJvbSA9IHBhcnNlRGF0ZSh2YWx1ZS5mcm9tKTtcbiAgICAgIHZhbHVlLnRvID0gcGFyc2VEYXRlKHZhbHVlLnRvKTtcbiAgICAgIHZhbHVlLnBlcmlvZCA9IHBhcnNlSW50KHZhbHVlLnBlcmlvZCwgMTApIHx8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRNb2RlbCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0UGVyaW9kT2JqZWN0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIC8vXG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7IFxuICAgIC8vXG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQU0vQztJQUNBO0lBSFosWUFDRSxVQUFpQyxFQUN2QixpQkFBMEIsRUFDMUIsT0FBd0I7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUhwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFD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LEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IHNpbXBsZUZvcm1hdCB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuaW1wb3J0IHsgZm9ybWF0UGVyaW9kT2JqZWN0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGlzRGF0ZSwgaXNWYWxpZCwgcGFyc2VJU08gfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHsgcGFyc2VEYXRlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9wYXJzZS1kYXRlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdXZWVrSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvd2Vlay5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4vYmFzZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgV2Vla0l0ZW0gZXh0ZW5kcyBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnV2Vla0l0ZW0+IHtcblxuICBwdWJsaWMgZGVjbGFyZSBzZWVkRGF0ZTogRGF0ZTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IElGaWx0ZXJDb25maWdXZWVrSXRlbSxcbiAgICBwcm90ZWN0ZWQgX2FkZGl0aW9uYWxDb25maWc6IHVua25vd24sXG4gICAgcHJvdGVjdGVkIF9maWx0ZXI6IEZpbHRlckNvbXBvbmVudCxcbiAgKSB7XG4gICAgc3VwZXIoaXRlbUNvbmZpZywgX2FkZGl0aW9uYWxDb25maWcsIF9maWx0ZXIpO1xuICAgIHRoaXMuc2VlZERhdGUgPSBpdGVtQ29uZmlnLnNlZWREYXRlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnV2Vla0l0ZW0sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBXZWVrSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIGxldCB2YWx1ZSA9IGNsb25lKHN1cGVyLnZhbHVlKTtcblxuICAgIGlmICghaXNPYmplY3QodmFsdWUpIHx8XG4gICAgICAoaXNFbXB0eSh2YWx1ZS5mcm9tLCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh2YWx1ZS50bywgeyB6ZXJvOiB0cnVlIH0pKSkge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGlzRW1wdHkodmFsdWUsIHsgemVybzogdHJ1ZSB9KSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgZnJvbSA9IHZhbHVlLmZyb207XG4gICAgbGV0IHRvID0gdmFsdWUudG87XG4gICAgY29uc3QgcGVyaW9kID0gdmFsdWUucGVyaW9kO1xuXG4gICAgdmFsdWUgPSB7fTtcblxuICAgIGlmIChmcm9tKSB7XG4gICAgICBpZiAoaXNTdHJpbmcoZnJvbSkpIHtcbiAgICAgICAgZnJvbSA9IHBhcnNlSVNPKGZyb20pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZChmcm9tKSAmJiBpc0RhdGUoZnJvbSkpIHtcbiAgICAgICAgdmFsdWUuZnJvbSA9IGZyb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvKSB7XG4gICAgICBpZiAoaXNTdHJpbmcodG8pKSB7XG4gICAgICAgIHRvID0gcGFyc2VJU08odG8pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZCh0bykgJiYgaXNEYXRlKHRvKSkge1xuICAgICAgICB2YWx1ZS50byA9IHRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwZXJpb2QpIHtcbiAgICAgIHZhbHVlLnBlcmlvZCA9IGlzU3RyaW5nKHBlcmlvZCkgPyBwYXJzZUludChwZXJpb2QsIDEwKSA6IHBlcmlvZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZS5mcm9tID0gcGFyc2VEYXRlKHZhbHVlLmZyb20pO1xuICAgICAgdmFsdWUudG8gPSBwYXJzZURhdGUodmFsdWUudG8pO1xuICAgICAgdmFsdWUucGVyaW9kID0gcGFyc2VJbnQodmFsdWUucGVyaW9kLCAxMCkgfHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHN1cGVyLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5KCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ2Zyb20nKTtcbiAgICBjb25zdCBwYXJhbVRvTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAndG8nKTtcbiAgICBjb25zdCBwYXJhbVBlcmlvZE5hbWUgPSBgJHtuYW1lfVBlcmlvZGA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiB2YWx1ZT8uZnJvbSB8fCB1bmRlZmluZWQsXG4gICAgICBbcGFyYW1Ub05hbWVdOiB2YWx1ZT8udG8gfHwgdW5kZWZpbmVkLFxuICAgICAgW3BhcmFtUGVyaW9kTmFtZV06IHZhbHVlPy5wZXJpb2QgfHwgdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ2Zyb20nKTtcbiAgICBjb25zdCBwYXJhbUZyb21WYWx1ZSA9IHF1ZXJ5W3BhcmFtRnJvbU5hbWVdICYmIHNpbXBsZUZvcm1hdChxdWVyeVtwYXJhbUZyb21OYW1lXSkgfHwgcXVlcnlbcGFyYW1Gcm9tTmFtZV07XG4gICAgY29uc3QgcGFyYW1Ub05hbWUgPSBnZXRSYW5nZU5hbWUobmFtZSwgJ3RvJyk7XG4gICAgY29uc3QgcGFyYW1Ub1ZhbHVlID0gcXVlcnlbcGFyYW1Ub05hbWVdICYmIHNpbXBsZUZvcm1hdChxdWVyeVtwYXJhbVRvTmFtZV0pIHx8IHF1ZXJ5W3BhcmFtVG9OYW1lXTtcbiAgICBjb25zdCBwYXJhbVBlcmlvZE5hbWUgPSBgJHtuYW1lfVBlcmlvZGA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiBwYXJhbUZyb21WYWx1ZSxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHBhcmFtVG9WYWx1ZSxcbiAgICAgIFtwYXJhbVBlcmlvZE5hbWVdOiBxdWVyeVtwYXJhbVBlcmlvZE5hbWVdLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzKCk6IHsgbmFtZT86IHN0cmluZywgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9W10ge1xuICAgIGlmKCF0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGZvcm1hdFBlcmlvZE9iamVjdCh0aGlzLnZhbHVlKSxcbiAgICAgICAgbGFiZWw6IHRoaXMubGFiZWwsXG4gICAgICB9LFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
19
19
  standalone: true,
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcGlwZXMvcmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFTcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxTQUFTLENBQUMsTUFBdUIsRUFBRSxPQUFPO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7d0dBVlUscUJBQXFCO3NHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZnNGaWx0ZXJJc29sYXRlVmFsdWVzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlcklzb2xhdGVWYWx1ZXMgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlczogQmFzZUl0ZW08YW55PltdLCBpc29sYXRlKSB7XG4gICAgaWYgKCFpc29sYXRlKSB7XG4gICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZXMuZmlsdGVyKCh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHZhbHVlLnZhbHVlICE9PSBpc29sYXRlLnZhbHVlO1xuICAgIH0pO1xuXG4gIH1cbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcGlwZXMvcmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFTcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN6QixTQUFTLENBQUMsTUFBdUIsRUFBRSxPQUFPO1FBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7d0dBVlUscUJBQXFCO3NHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzRmlsdGVySXNvbGF0ZVZhbHVlcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVySXNvbGF0ZVZhbHVlcyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlczogQmFzZUl0ZW08YW55PltdLCBpc29sYXRlKSB7XG4gICAgaWYgKCFpc29sYXRlKSB7XG4gICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZXMuZmlsdGVyKCh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHZhbHVlLnZhbHVlICE9PSBpc29sYXRlLnZhbHVlO1xuICAgIH0pO1xuXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,209 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject, forkJoin, merge, of, Subject } from 'rxjs';
3
+ import { debounceTime, filter, finalize, map, switchMap, takeUntil, tap } from 'rxjs/operators';
4
+ import { ItemType } from '../enums/item-type.enum';
5
+ import { createFilterItem } from '../helpers/create-filter-item';
6
+ import { KeywordController } from './keyword-controller.service';
7
+ import { PersistanceController } from './persistance-controller.service';
8
+ import { QueryParamController } from './query-param-controller.service';
9
+ import { SavedFilterController } from './saved-filter-controller.service';
10
+ import { SortController } from './sort-controller.service';
11
+ import * as i0 from "@angular/core";
12
+ export class FilterController {
13
+ filter;
14
+ _ready$ = new BehaviorSubject(false);
15
+ _items = new Map();
16
+ _config;
17
+ _add$ = new Subject();
18
+ _init$ = new Subject();
19
+ _change$ = new Subject();
20
+ _destroy$ = new Subject();
21
+ _persistanceController = inject(PersistanceController);
22
+ _savedFilterController = inject(SavedFilterController);
23
+ _queryParamController = inject(QueryParamController);
24
+ _keywordController = inject(KeywordController);
25
+ _sortController = inject(SortController);
26
+ _emitChange = true;
27
+ get items() {
28
+ return Array.from(this._items.values());
29
+ }
30
+ get itemNames() {
31
+ return this.items.map((item) => item.name);
32
+ }
33
+ get config() {
34
+ return this._config;
35
+ }
36
+ get init$() {
37
+ return this._init$.asObservable();
38
+ }
39
+ get add$() {
40
+ return this._add$.asObservable();
41
+ }
42
+ get change$() {
43
+ return this._change$
44
+ .pipe(debounceTime(30));
45
+ }
46
+ change() {
47
+ this._change$.next(null);
48
+ }
49
+ get ready$() {
50
+ return this._ready$.asObservable();
51
+ }
52
+ ngOnDestroy() {
53
+ this._destroy$.next(null);
54
+ this._destroy$.complete();
55
+ }
56
+ init(config) {
57
+ this._config = config;
58
+ of(null)
59
+ .pipe(tap(() => this._addItems(this._config.items || [])), tap(() => this._keywordController.init(this)), tap(() => this._sortController.init(this)), switchMap(() => forkJoin({
60
+ savedFilters: this._savedFilterController.init(this),
61
+ persistance: this._persistanceController.init(this),
62
+ queryParams: this._queryParamController.init(this),
63
+ })), switchMap(() => this._initItems()), tap(() => this._initChanges()), tap(() => {
64
+ this._init$.next();
65
+ if (this._config.init) {
66
+ this._config.init(this.query, this._sortController.getSort(), this.filter);
67
+ }
68
+ }), finalize(() => this._ready$.next(true)), takeUntil(this._destroy$))
69
+ .subscribe();
70
+ }
71
+ getItem(name) {
72
+ return this._items.get(name);
73
+ }
74
+ changeTransaction(fn) {
75
+ this._emitChange = false;
76
+ fn();
77
+ this._emitChange = true;
78
+ this._change$.next(null);
79
+ }
80
+ filtersClear() {
81
+ this.changeTransaction(() => {
82
+ this.items.forEach((item) => {
83
+ item.clear();
84
+ });
85
+ this._keywordController.clear();
86
+ this._sortController.clear();
87
+ });
88
+ }
89
+ get queryParam() {
90
+ return this.items
91
+ .reduce((accum, item) => {
92
+ return {
93
+ ...accum,
94
+ ...item.queryParam,
95
+ };
96
+ }, {});
97
+ }
98
+ get query() {
99
+ return {
100
+ ...this.items
101
+ .reduce((accum, item) => {
102
+ return {
103
+ ...accum,
104
+ ...item.query,
105
+ };
106
+ }, {}),
107
+ ...this._sortController.query(),
108
+ };
109
+ }
110
+ set values(values) {
111
+ this.changeTransaction(() => {
112
+ this.items.forEach((item) => {
113
+ item.value = values[item.name];
114
+ });
115
+ });
116
+ }
117
+ get values() {
118
+ return this.items
119
+ .reduce((acc, item) => {
120
+ const value = item.value;
121
+ if (value !== null) {
122
+ acc[item.name] = value;
123
+ }
124
+ return acc;
125
+ }, {});
126
+ }
127
+ _getInitValues() {
128
+ let result = {};
129
+ if (this._savedFilterController.enabled && this._savedFilterController.activeFilter) {
130
+ const query = Object.keys(result)
131
+ .filter((key) => !this.itemNames.includes(key))
132
+ .reduce((acc, key) => {
133
+ return {
134
+ ...acc,
135
+ [key]: result[key],
136
+ };
137
+ }, {});
138
+ result = {
139
+ ...query,
140
+ ...this._savedFilterController.activeFilterData,
141
+ };
142
+ }
143
+ else {
144
+ if (this._persistanceController.enabled) {
145
+ result = {
146
+ ...result,
147
+ ...this._persistanceController.getQuery(),
148
+ };
149
+ }
150
+ if (this._config.queryParam) {
151
+ result = {
152
+ ...result,
153
+ ...this._queryParamController.params,
154
+ };
155
+ }
156
+ }
157
+ return result;
158
+ }
159
+ _initItems() {
160
+ const values = this._getInitValues();
161
+ return forkJoin(this.items
162
+ .map((item) => {
163
+ return item.init(values[item.name]);
164
+ }));
165
+ }
166
+ _addItems(items) {
167
+ this._add$.next();
168
+ this._items = new Map(items
169
+ .filter((item) => {
170
+ if (this._items.has(item.name)) {
171
+ throw Error('Filter init error. Items name must be unique.');
172
+ }
173
+ return true;
174
+ })
175
+ .map((item) => {
176
+ const filterItem = createFilterItem(item, {}, this.filter);
177
+ if (filterItem.type === ItemType.Keyword) {
178
+ this._keywordController.keywordItem = filterItem;
179
+ }
180
+ this._items.set(item.name, filterItem);
181
+ return [item.name, filterItem];
182
+ }));
183
+ }
184
+ _initChanges() {
185
+ merge(...this.items
186
+ .map((item) => item.value$
187
+ .pipe(map((_item) => item))))
188
+ .pipe(tap((item) => this._change$.next([item])), takeUntil(this._destroy$))
189
+ .subscribe();
190
+ this._change$
191
+ .pipe(filter(() => this._emitChange), tap((items) => {
192
+ if (this._config.change) {
193
+ this._config.change(this.query, this._sortController.getSort());
194
+ }
195
+ items?.forEach((item) => {
196
+ if (item.changeCallback) {
197
+ item.changeCallback(item, this.filter);
198
+ }
199
+ });
200
+ }), takeUntil(this._destroy$))
201
+ .subscribe();
202
+ }
203
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
204
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterController });
205
+ }
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterController, decorators: [{
207
+ type: Injectable
208
+ }] });
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUWpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM1QixNQUFNLEdBQUcs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Q0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzt3R0EvUFUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmltcG9ydCB7IGNyZWF0ZUZpbHRlckl0ZW0gfSBmcm9tICcuLi9oZWxwZXJzL2NyZWF0ZS1maWx0ZXItaXRlbSc7XG5pbXBvcnQge1xuICBJRmlsdGVyQ29uZmlnSXRlbSxcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRlcm5hbC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1jb25maWcnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcblxuaW1wb3J0IHsgS2V5d29yZENvbnRyb2xsZXIgfSBmcm9tICcuL2tleXdvcmQtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNpc3RhbmNlQ29udHJvbGxlciB9IGZyb20gJy4vcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXJ5UGFyYW1Db250cm9sbGVyIH0gZnJvbSAnLi9xdWVyeS1wYXJhbS1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJDb250cm9sbGVyIH0gZnJvbSAnLi9zYXZlZC1maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvcnRDb250cm9sbGVyIH0gZnJvbSAnLi9zb3J0LWNvbnRyb2xsZXIuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudDtcblxuICBwcml2YXRlIF9yZWFkeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBfaXRlbXMgPSBuZXcgTWFwPHN0cmluZywgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+PigpO1xuICBwcml2YXRlIF9jb25maWc6IEZzRmlsdGVyQ29uZmlnO1xuICBwcml2YXRlIF9hZGQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfaW5pdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9jaGFuZ2UkID0gbmV3IFN1YmplY3Q8QmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+W10+KCk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfcGVyc2lzdGFuY2VDb250cm9sbGVyID0gaW5qZWN0KFBlcnNpc3RhbmNlQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3NhdmVkRmlsdGVyQ29udHJvbGxlciA9IGluamVjdChTYXZlZEZpbHRlckNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9xdWVyeVBhcmFtQ29udHJvbGxlciA9IGluamVjdChRdWVyeVBhcmFtQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX2tleXdvcmRDb250cm9sbGVyID0gaW5qZWN0KEtleXdvcmRDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfc29ydENvbnRyb2xsZXIgPSBpbmplY3QoU29ydENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9lbWl0Q2hhbmdlID0gdHJ1ZTtcblxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pdGVtcy52YWx1ZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogRnNGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWRkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZSgpIHtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGNvbmZpZzogRnNGaWx0ZXJDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgb2YobnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fYWRkSXRlbXModGhpcy5fY29uZmlnLml0ZW1zIHx8IFtdKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5pbml0KHRoaXMpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX3NvcnRDb250cm9sbGVyLmluaXQodGhpcykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZm9ya0pvaW4oe1xuICAgICAgICAgIHNhdmVkRmlsdGVyczogdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgICAgcGVyc2lzdGFuY2U6IHRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLl9xdWVyeVBhcmFtQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICB9KSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9pbml0SXRlbXMoKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9pbml0Q2hhbmdlcygpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbml0JC5uZXh0KCk7XG4gICAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pbml0KSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuaW5pdCh0aGlzLnF1ZXJ5LCB0aGlzLl9zb3J0Q29udHJvbGxlci5nZXRTb3J0KCksIHRoaXMuZmlsdGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLl9yZWFkeSQubmV4dCh0cnVlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShuYW1lOiBzdHJpbmcpOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcy5nZXQobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlVHJhbnNhY3Rpb24oZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlID0gZmFsc2U7XG4gICAgZm4oKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyc0NsZWFyKCkge1xuICAgIHRoaXMuY2hhbmdlVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW0uY2xlYXIoKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5jbGVhcigpO1xuICAgICAgdGhpcy5fc29ydENvbnRyb2xsZXIuY2xlYXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgLi4uaXRlbS5xdWVyeVBhcmFtLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBLZXlWYWx1ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuaXRlbXNcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAuLi5pdGVtLnF1ZXJ5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIC4uLnRoaXMuX3NvcnRDb250cm9sbGVyLnF1ZXJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLmNoYW5nZVRyYW5zYWN0aW9uKCgpID0+IHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLnZhbHVlID0gdmFsdWVzW2l0ZW0ubmFtZV07XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1xuICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbS52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBhY2NbaXRlbS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfZ2V0SW5pdFZhbHVlcygpOiBLZXlWYWx1ZSB7XG4gICAgbGV0IHJlc3VsdDogS2V5VmFsdWUgPSB7fTtcblxuICAgIGlmICh0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuZW5hYmxlZCAmJiB0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuYWN0aXZlRmlsdGVyKSB7XG4gICAgICBjb25zdCBxdWVyeSA9IE9iamVjdC5rZXlzKHJlc3VsdClcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiAhdGhpcy5pdGVtTmFtZXMuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW2tleV06IHJlc3VsdFtrZXldLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5xdWVyeSwgXG4gICAgICAgIC4uLnRoaXMuX3NhdmVkRmlsdGVyQ29udHJvbGxlci5hY3RpdmVGaWx0ZXJEYXRhLFxuICAgICAgfTtcblxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fcGVyc2lzdGFuY2VDb250cm9sbGVyLmVuYWJsZWQpIHtcbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgICAgLi4udGhpcy5fcGVyc2lzdGFuY2VDb250cm9sbGVyLmdldFF1ZXJ5KCksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICh0aGlzLl9jb25maWcucXVlcnlQYXJhbSkge1xuICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgLi4ucmVzdWx0LCBcbiAgICAgICAgICAuLi50aGlzLl9xdWVyeVBhcmFtQ29udHJvbGxlci5wYXJhbXMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRJdGVtcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuX2dldEluaXRWYWx1ZXMoKTtcblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIHRoaXMuaXRlbXNcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHJldHVybiBpdGVtLmluaXQodmFsdWVzW2l0ZW0ubmFtZV0pO1xuICAgICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkSXRlbXMoaXRlbXM6IElGaWx0ZXJDb25maWdJdGVtW10pIHtcbiAgICB0aGlzLl9hZGQkLm5leHQoKTtcblxuICAgIHRoaXMuX2l0ZW1zID0gbmV3IE1hcChcbiAgICAgIGl0ZW1zICAgICAgXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faXRlbXMuaGFzKGl0ZW0ubmFtZSkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdGaWx0ZXIgaW5pdCBlcnJvci4gSXRlbXMgbmFtZSBtdXN0IGJlIHVuaXF1ZS4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlckl0ZW0gPSBjcmVhdGVGaWx0ZXJJdGVtKGl0ZW0sIHsgfSwgdGhpcy5maWx0ZXIpO1xuXG4gICAgICAgICAgaWYgKGZpbHRlckl0ZW0udHlwZSA9PT0gSXRlbVR5cGUuS2V5d29yZCkge1xuICAgICAgICAgICAgdGhpcy5fa2V5d29yZENvbnRyb2xsZXIua2V5d29yZEl0ZW0gPSBmaWx0ZXJJdGVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2l0ZW1zLnNldChpdGVtLm5hbWUsIGZpbHRlckl0ZW0pO1xuXG4gICAgICAgICAgcmV0dXJuIFtpdGVtLm5hbWUsIGZpbHRlckl0ZW1dO1xuICAgICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENoYW5nZXMoKSB7XG4gICAgbWVyZ2UoXG4gICAgICAuLi50aGlzLml0ZW1zXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUkXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKF9pdGVtKSA9PiBpdGVtKSxcbiAgICAgICAgICApKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChpdGVtKSA9PiB0aGlzLl9jaGFuZ2UkLm5leHQoW2l0ZW1dKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9jaGFuZ2UkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX2VtaXRDaGFuZ2UpLFxuICAgICAgICB0YXAoKGl0ZW1zOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuY2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuY2hhbmdlKHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaXRlbXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoYW5nZUNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgIGl0ZW0uY2hhbmdlQ2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iXX0=
@@ -7,8 +7,8 @@ import { filter, takeUntil } from 'rxjs/operators';
7
7
  import { FilterDrawerComponent } from '../components/filter-drawer/filter-drawer.component';
8
8
  import { FILTER_DRAWER_DATA } from '../injectors/filter-drawer-data';
9
9
  import { FILTER_DRAWER_OVERLAY } from '../injectors/filter-drawer-overlay';
10
- import { FS_FILTER_META } from '../providers/filter-meta';
11
10
  import { FocusControllerService } from './focus-controller.service';
11
+ import { FsRootFilterOverlayService } from './root-filter-overlay.service';
12
12
  import * as i0 from "@angular/core";
13
13
  export class FsFilterOverlayService {
14
14
  _detach$ = new Subject();
@@ -21,7 +21,7 @@ export class FsFilterOverlayService {
21
21
  _overlay = inject(Overlay);
22
22
  _focusController = inject(FocusControllerService);
23
23
  _htmlClassRenderer = inject(HtmlClassRenderer);
24
- _filterMeta = inject(FS_FILTER_META);
24
+ _filterMeta = inject(FsRootFilterOverlayService);
25
25
  constructor() {
26
26
  this._openWhenChipClicked();
27
27
  }
@@ -46,6 +46,9 @@ export class FsFilterOverlayService {
46
46
  this._removeFilterClass();
47
47
  }
48
48
  }
49
+ opened() {
50
+ return !!this._overlayRef;
51
+ }
49
52
  open() {
50
53
  if (this._overlayRef) {
51
54
  return;
@@ -122,4 +125,4 @@ export class FsFilterOverlayService {
122
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterOverlayService, decorators: [{
123
126
  type: Injectable
124
127
  }], ctorParameters: () => [] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLW92ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSXBFLE1BQU0sT0FBTyxzQkFBc0I7SUFFekIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsUUFBUSxDQUFhO0lBQ3JCLE9BQU8sQ0FBYTtJQUVwQixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQixXQUFXLENBQWE7SUFDeEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3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LFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBeklVLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95LCBTdGF0aWNQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEh0bWxDbGFzc1JlbmRlcmVyIH0gZnJvbSAnQGZpcmVzdGl0Y2gvaHRtbCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbHRlci1kcmF3ZXIvZmlsdGVyLWRyYXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRklMVEVSX0RSQVdFUl9EQVRBIH0gZnJvbSAnLi4vaW5qZWN0b3JzL2ZpbHRlci1kcmF3ZXItZGF0YSc7XG5pbXBvcnQgeyBGSUxURVJfRFJBV0VSX09WRVJMQVkgfSBmcm9tICcuLi9pbmplY3RvcnMvZmlsdGVyLWRyYXdlci1vdmVybGF5JztcbmltcG9ydCB7IEZTX0ZJTFRFUl9NRVRBIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2ZpbHRlci1tZXRhJztcblxuaW1wb3J0IHsgRm9jdXNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJPdmVybGF5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZGV0YWNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2F0dGFjaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9jbGVhckZuOiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIF9kb25lRm46ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgX292ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgX2ZvY3VzQ29udHJvbGxlciA9IGluamVjdChGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfaHRtbENsYXNzUmVuZGVyZXIgPSBpbmplY3QoSHRtbENsYXNzUmVuZGVyZXIpO1xuICBwcml2YXRlIF9maWx0ZXJNZXRhID0gaW5qZWN0KEZTX0ZJTFRFUl9NRVRBKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9vcGVuV2hlbkNoaXBDbGlja2VkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRldGFjaCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RldGFjaCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dGFjaCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dGFjaCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbmVkKCkge1xuICAgIHJldHVybiAhIXRoaXMuX292ZXJsYXlSZWY7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xlYXJGbihmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuX2NsZWFyRm4gPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREb25lRm4oZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLl9kb25lRm4gPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgIHRoaXMuX3JlbW92ZUZpbHRlckNsYXNzKCk7XG4gICAgfSBcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCkge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkoKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2RldGFjaCQubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNobWVudHMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYXR0YWNoJC5uZXh0KG51bGwpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9hZGRGaWx0ZXJDbGFzcygpO1xuXG4gICAgcmV0dXJuIHRoaXMuX29wZW5Qb3J0YWxQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpIHtcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3BlblBvcnRhbFByZXZpZXcoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGRvbmU6IHRoaXMuX2RvbmVGbixcbiAgICAgIGNsZWFyOiB0aGlzLl9jbGVhckZuLFxuICAgIH07XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLl9jcmVhdGVJbmplY3Rvcih0aGlzLl9pbmplY3RvciwgZGF0YSwgdGhpcy5fb3ZlcmxheVJlZik7XG4gICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChGaWx0ZXJEcmF3ZXJDb21wb25lbnQsIHVuZGVmaW5lZCwgaW5qZWN0b3IpO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoPEZpbHRlckRyYXdlckNvbXBvbmVudD4oY29udGFpbmVyUG9ydGFsKTtcblxuICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVJbmplY3RvcihwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsIGRhdGE6IGFueSwgb3ZlcmxheVJlZjogYW55KTogSW5qZWN0b3Ige1xuICAgIGNvbnN0IHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgIHsgcHJvdmlkZTogRklMVEVSX0RSQVdFUl9EQVRBLCB1c2VWYWx1ZTogZGF0YSB9LFxuICAgICAgeyBwcm92aWRlOiBGSUxURVJfRFJBV0VSX09WRVJMQVksIHVzZVZhbHVlOiBvdmVybGF5UmVmIH0sXG4gICAgXTtcbiAgXG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHBhcmVudEluamVjdG9yLFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgX3JlbW92ZUZpbHRlckNsYXNzKCkge1xuICAgIHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycy0tO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycyA9PT0gMCkge1xuICAgICAgdGhpcy5faHRtbENsYXNzUmVuZGVyZXIucmVtb3ZlQ2xhc3MoJ2ZzLWZpbHRlci1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYWRkRmlsdGVyQ2xhc3MoKSB7XG4gICAgdGhpcy5fZmlsdGVyTWV0YS5vcGVuZWRGaWx0ZXJzKys7XG5cbiAgICBpZiAodGhpcy5fZmlsdGVyTWV0YS5vcGVuZWRGaWx0ZXJzID09PSAxKSB7XG4gICAgICB0aGlzLl9odG1sQ2xhc3NSZW5kZXJlci5hZGRDbGFzcygnZnMtZmlsdGVyLW9wZW4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuV2hlbkNoaXBDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzQ29udHJvbGxlci5mb2N1c09uJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodikgPT4gISF2KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLW92ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJM0UsTUFBTSxPQUFPLHNCQUFzQjtJQUV6QixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUMvQixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUMvQixRQUFRLENBQWE7SUFDckIsT0FBTyxDQUFhO0lBRXBCLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFCLFdBQVcsQ0FBYTtJQUN4QixTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lB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Q0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0E3SVUsc0JBQXNCOzRHQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3ksIFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHsgSHRtbENsYXNzUmVuZGVyZXIgfSBmcm9tICdAZmlyZXN0aXRjaC9odG1sJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZpbHRlckRyYXdlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyLWRyYXdlci9maWx0ZXItZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGSUxURVJfRFJBV0VSX0RBVEEgfSBmcm9tICcuLi9pbmplY3RvcnMvZmlsdGVyLWRyYXdlci1kYXRhJztcbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfT1ZFUkxBWSB9IGZyb20gJy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLW92ZXJsYXknO1xuXG5pbXBvcnQgeyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRnNSb290RmlsdGVyT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuL3Jvb3QtZmlsdGVyLW92ZXJsYXkuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVyT3ZlcmxheVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2RldGFjaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9hdHRhY2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2xlYXJGbjogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfZG9uZUZuOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9vdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIF9mb2N1c0NvbnRyb2xsZXIgPSBpbmplY3QoRm9jdXNDb250cm9sbGVyU2VydmljZSk7XG4gIHByaXZhdGUgX2h0bWxDbGFzc1JlbmRlcmVyID0gaW5qZWN0KEh0bWxDbGFzc1JlbmRlcmVyKTtcbiAgcHJpdmF0ZSBfZmlsdGVyTWV0YSA9IGluamVjdChGc1Jvb3RGaWx0ZXJPdmVybGF5U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fb3BlbldoZW5DaGlwQ2xpY2tlZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXRhY2gkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kZXRhY2gkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRhY2gkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2gkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW5lZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9vdmVybGF5UmVmO1xuICB9XG5cbiAgcHVibGljIHNldENsZWFyRm4oZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLl9jbGVhckZuID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RG9uZUZuKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5fZG9uZUZuID0gZm47XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICB0aGlzLl9yZW1vdmVGaWx0ZXJDbGFzcygpO1xuICAgIH0gXG4gIH1cblxuICBwdWJsaWMgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX292ZXJsYXlSZWY7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpIHtcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9kZXRhY2gkLm5leHQobnVsbCk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2F0dGFjaCQubmV4dChudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fYWRkRmlsdGVyQ2xhc3MoKTtcblxuICAgIHJldHVybiB0aGlzLl9vcGVuUG9ydGFsUHJldmlldygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkoKSB7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29wZW5Qb3J0YWxQcmV2aWV3KCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBkb25lOiB0aGlzLl9kb25lRm4sXG4gICAgICBjbGVhcjogdGhpcy5fY2xlYXJGbixcbiAgICB9O1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIGRhdGEsIHRoaXMuX292ZXJsYXlSZWYpO1xuICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoRmlsdGVyRHJhd2VyQ29tcG9uZW50LCB1bmRlZmluZWQsIGluamVjdG9yKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaDxGaWx0ZXJEcmF3ZXJDb21wb25lbnQ+KGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IocGFyZW50SW5qZWN0b3I6IEluamVjdG9yLCBkYXRhOiBhbnksIG92ZXJsYXlSZWY6IGFueSk6IEluamVjdG9yIHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXG4gICAgICB7IHByb3ZpZGU6IEZJTFRFUl9EUkFXRVJfREFUQSwgdXNlVmFsdWU6IGRhdGEgfSxcbiAgICAgIHsgcHJvdmlkZTogRklMVEVSX0RSQVdFUl9PVkVSTEFZLCB1c2VWYWx1ZTogb3ZlcmxheVJlZiB9LFxuICAgIF07XG4gIFxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiBwYXJlbnRJbmplY3RvcixcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIF9yZW1vdmVGaWx0ZXJDbGFzcygpIHtcbiAgICB0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMtLTtcblxuICAgIGlmICh0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMgPT09IDApIHtcbiAgICAgIHRoaXMuX2h0bWxDbGFzc1JlbmRlcmVyLnJlbW92ZUNsYXNzKCdmcy1maWx0ZXItb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZEZpbHRlckNsYXNzKCkge1xuICAgIHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycysrO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycyA9PT0gMSkge1xuICAgICAgdGhpcy5faHRtbENsYXNzUmVuZGVyZXIuYWRkQ2xhc3MoJ2ZzLWZpbHRlci1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbldoZW5DaGlwQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXIuZm9jdXNPbiRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+ICEhdiksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -8,10 +8,10 @@ export class FocusControllerService {
8
8
  get focusOn$() {
9
9
  return this._focusOn.asObservable();
10
10
  }
11
- click(item, type = null) {
11
+ click(item, type) {
12
12
  this._focusOn.next({ item, type });
13
13
  }
14
- listenFocusFor$(targetItem, targetType = null) {
14
+ listenFocusFor$(targetItem, targetType) {
15
15
  return this._focusOn
16
16
  .pipe(filter((event) => !!event), filter(({ item, type }) => {
17
17
  return targetItem === item && targetType === type;
@@ -26,4 +26,4 @@ export class FocusControllerService {
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FocusControllerService, decorators: [{
27
27
  type: Injectable
28
28
  }], ctorParameters: () => [] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFFekIsUUFBUSxHQUFHLElBQUksZUFBZSxDQUE4QyxJQUFJLENBQUMsQ0FBQztJQUUxRixnQkFBZSxDQUFDO0lBRWhCLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFtQixFQUFFLE9BQXNCLElBQUk7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sZUFBZSxDQUFDLFVBQXlCLEVBQUUsYUFBNEIsSUFBSTtRQUNoRixPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDMUIsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN4QixPQUFPLFVBQVUsS0FBSyxJQUFJLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQztRQUNwRCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7d0dBM0JVLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9mb2N1c09uID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGl0ZW06IEJhc2VJdGVtPGFueT4sIHR5cGU6ICdmcm9tJyB8ICd0byd9PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGdldCBmb2N1c09uJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGljayhpdGVtOiBCYXNlSXRlbTxhbnk+LCB0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCkge1xuICAgIHRoaXMuX2ZvY3VzT24ubmV4dCh7IGl0ZW0sIHR5cGUgfSk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuRm9jdXNGb3IkKHRhcmdldEl0ZW06IEJhc2VJdGVtPGFueT4sIHRhcmdldFR5cGU6ICdmcm9tJyB8ICd0bycgPSBudWxsKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzT25cbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAhIWV2ZW50KSxcbiAgICAgICAgZmlsdGVyKCh7IGl0ZW0sIHR5cGUgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0YXJnZXRJdGVtID09PSBpdGVtICYmIHRhcmdldFR5cGUgPT09IHR5cGU7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5jbGVhckZvY3VzKCkpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZvY3VzKCkge1xuICAgIHRoaXMuX2ZvY3VzT24ubmV4dChudWxsKTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFFekIsUUFBUSxHQUFHLElBQUksZUFBZSxDQUF1QyxJQUFJLENBQUMsQ0FBQztJQUVuRixnQkFBZSxDQUFDO0lBRWhCLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFtQixFQUFFLElBQVk7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sZUFBZSxDQUFDLFVBQXlCLEVBQUUsVUFBa0I7UUFDbEUsT0FBTyxJQUFJLENBQUMsUUFBUTthQUNqQixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQzFCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxVQUFVLEtBQUssSUFBSSxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUM7UUFDcEQsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO3dHQTNCVSxzQkFBc0I7NEdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcblxuXG5ASW5qZWN0YWJsZSgpIFxuZXhwb3J0IGNsYXNzIEZvY3VzQ29udHJvbGxlclNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2ZvY3VzT24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgaXRlbTogQmFzZUl0ZW08YW55PiwgdHlwZTogc3RyaW5nfT4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNPbiQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzT24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xpY2soaXRlbTogQmFzZUl0ZW08YW55PiwgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZm9jdXNPbi5uZXh0KHsgaXRlbSwgdHlwZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5Gb2N1c0ZvciQodGFyZ2V0SXRlbTogQmFzZUl0ZW08YW55PiwgdGFyZ2V0VHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzT25cbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAhIWV2ZW50KSxcbiAgICAgICAgZmlsdGVyKCh7IGl0ZW0sIHR5cGUgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0YXJnZXRJdGVtID09PSBpdGVtICYmIHRhcmdldFR5cGUgPT09IHR5cGU7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5jbGVhckZvY3VzKCkpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZvY3VzKCkge1xuICAgIHRoaXMuX2ZvY3VzT24ubmV4dChudWxsKTtcbiAgfVxufVxuIl19
@@ -1,8 +1,10 @@
1
+ export * from './filter-controller.service';
1
2
  export * from './filter-overlay.service';
2
3
  export * from './focus-controller.service';
3
- export * from './item-store.service';
4
- export * from './param-controller.service';
4
+ export * from './keyword-controller.service';
5
5
  export * from './persistance-controller.service';
6
6
  export * from './query-param-controller.service';
7
+ export * from './root-filter-overlay.service';
7
8
  export * from './saved-filter-controller.service';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci1vdmVybGF5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pdGVtLXN0b3JlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJhbS1jb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1wYXJhbS1jb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYXZlZC1maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcblxuIl19
9
+ export * from './sort-controller.service';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW92ZXJsYXkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZvY3VzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2tleXdvcmQtY29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktcGFyYW0tY29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcm9vdC1maWx0ZXItb3ZlcmxheS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnQtY29udHJvbGxlci5zZXJ2aWNlJztcblxuIl19
@@ -0,0 +1,49 @@
1
+ import { DestroyRef, inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject, distinctUntilChanged, of, switchMap } from 'rxjs';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import * as i0 from "@angular/core";
5
+ export class KeywordController {
6
+ _keywordItem$ = new BehaviorSubject(null);
7
+ _keywordVisible$ = new BehaviorSubject(false);
8
+ _destroyRef = inject(DestroyRef);
9
+ _filterController;
10
+ init(filterController) {
11
+ this._filterController = filterController;
12
+ this._keywordItem$
13
+ .pipe(
14
+ // when item changes, unsubscribe from the previous visible$
15
+ switchMap((item) => item ? item.visible$ : of(false)),
16
+ // avoid redundant writes
17
+ distinctUntilChanged(),
18
+ // clean up on destroy,
19
+ takeUntilDestroyed(this._destroyRef))
20
+ .subscribe((v) => this._keywordVisible$.next(v));
21
+ }
22
+ get keywordItem$() {
23
+ return this._keywordItem$.asObservable();
24
+ }
25
+ get keywordItem() {
26
+ return this._keywordItem$.value;
27
+ }
28
+ set keywordItem(item) {
29
+ this._keywordItem$.next(item);
30
+ }
31
+ clear() {
32
+ this.keywordItem.value = '';
33
+ }
34
+ show() {
35
+ this.keywordItem.show();
36
+ }
37
+ hide() {
38
+ this.keywordItem.hide();
39
+ }
40
+ get keywordVisible$() {
41
+ return this._keywordVisible$.asObservable();
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeywordController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeywordController });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeywordController, decorators: [{
47
+ type: Injectable
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5d29yZC1jb250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2tleXdvcmQtY29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUWhFLE1BQU0sT0FBTyxpQkFBaUI7SUFFcEIsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFXLElBQUksQ0FBQyxDQUFDO0lBQ3BELGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsaUJBQWlCLENBQW1CO0lBRXJDLElBQUksQ0FBQyxnQkFBa0M7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhO2FBQ2YsSUFBSTtRQUNILDREQUE0RDtRQUM1RCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELHlCQUF5QjtRQUN6QixvQkFBb0IsRUFBRTtRQUN0Qix1QkFBdUI7UUFDdkIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNyQzthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsSUFBYztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzt3R0EvQ1UsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFRleHRJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2l0ZW1zL3RleHQtaXRlbSc7XG5cbmltcG9ydCB7IEZpbHRlckNvbnRyb2xsZXIgfSBmcm9tICcuL2ZpbHRlci1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBLZXl3b3JkQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSBfa2V5d29yZEl0ZW0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZXh0SXRlbT4obnVsbCk7XG4gIHByaXZhdGUgX2tleXdvcmRWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIF9maWx0ZXJDb250cm9sbGVyOiBGaWx0ZXJDb250cm9sbGVyO1xuXG4gIHB1YmxpYyBpbml0KGZpbHRlckNvbnRyb2xsZXI6IEZpbHRlckNvbnRyb2xsZXIpIHtcbiAgICB0aGlzLl9maWx0ZXJDb250cm9sbGVyID0gZmlsdGVyQ29udHJvbGxlcjtcbiAgICB0aGlzLl9rZXl3b3JkSXRlbSRcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyB3aGVuIGl0ZW0gY2hhbmdlcywgdW5zdWJzY3JpYmUgZnJvbSB0aGUgcHJldmlvdXMgdmlzaWJsZSRcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtKSA9PiBpdGVtID8gaXRlbS52aXNpYmxlJCA6IG9mKGZhbHNlKSksXG4gICAgICAgIC8vIGF2b2lkIHJlZHVuZGFudCB3cml0ZXNcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgLy8gY2xlYW4gdXAgb24gZGVzdHJveSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodikgPT4gdGhpcy5fa2V5d29yZFZpc2libGUkLm5leHQodikpO1xuICB9XG5cbiAgcHVibGljIGdldCBrZXl3b3JkSXRlbSQoKTogT2JzZXJ2YWJsZTxUZXh0SXRlbT4ge1xuICAgIHJldHVybiB0aGlzLl9rZXl3b3JkSXRlbSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleXdvcmRJdGVtKCk6IFRleHRJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5d29yZEl0ZW0kLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldCBrZXl3b3JkSXRlbShpdGVtOiBUZXh0SXRlbSkge1xuICAgIHRoaXMuX2tleXdvcmRJdGVtJC5uZXh0KGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMua2V5d29yZEl0ZW0udmFsdWUgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBzaG93KCkge1xuICAgIHRoaXMua2V5d29yZEl0ZW0uc2hvdygpO1xuICB9XG5cbiAgcHVibGljIGhpZGUoKSB7XG4gICAgdGhpcy5rZXl3b3JkSXRlbS5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleXdvcmRWaXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fa2V5d29yZFZpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbn1cblxuIl19