@firestitch/filter 18.2.11 → 18.2.13

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 (147) hide show
  1. package/app/components/filter/filter.component.d.ts +40 -64
  2. package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
  3. package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
  4. package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
  5. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
  6. package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
  7. package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
  8. package/app/components/filters-item/chips/chips.component.d.ts +6 -5
  9. package/app/components/filters-item/date/date.component.d.ts +4 -4
  10. package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
  11. package/app/components/filters-item/filter-item.component.d.ts +2 -2
  12. package/app/components/filters-item/range/range.component.d.ts +6 -7
  13. package/app/components/filters-item/select/select.component.d.ts +17 -20
  14. package/app/components/filters-item/text/text.component.d.ts +6 -7
  15. package/app/components/filters-item/week/week.component.d.ts +5 -5
  16. package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
  17. package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
  18. package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
  19. package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
  20. package/app/fs-filter.module.d.ts +20 -24
  21. package/app/helpers/create-filter-item.d.ts +2 -1
  22. package/app/interfaces/items/date.interface.d.ts +1 -1
  23. package/app/models/filter-config.d.ts +2 -2
  24. package/app/models/items/autocomplete-chips-item.d.ts +11 -8
  25. package/app/models/items/autocomplete-item.d.ts +7 -5
  26. package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
  27. package/app/models/items/base-date-item.d.ts +13 -0
  28. package/app/models/items/base-date-range-item.d.ts +17 -0
  29. package/app/models/items/base-item.d.ts +26 -40
  30. package/app/models/items/checkbox-item.d.ts +10 -9
  31. package/app/models/items/chips-item.d.ts +12 -9
  32. package/app/models/items/date-item.d.ts +7 -3
  33. package/app/models/items/date-range-item.d.ts +1 -1
  34. package/app/models/items/date-time-item.d.ts +6 -3
  35. package/app/models/items/date-time-range-item.d.ts +1 -1
  36. package/app/models/items/index.d.ts +0 -4
  37. package/app/models/items/range-item.d.ts +19 -8
  38. package/app/models/items/select-item.d.ts +29 -6
  39. package/app/models/items/text-item.d.ts +7 -6
  40. package/app/models/items/week-item.d.ts +7 -7
  41. package/app/services/filter-controller.service.d.ts +47 -0
  42. package/app/services/focus-controller.service.d.ts +4 -4
  43. package/app/services/index.d.ts +4 -2
  44. package/app/services/keyword-controller.service.d.ts +20 -0
  45. package/app/services/persistance-controller.service.d.ts +10 -4
  46. package/app/services/query-param-controller.service.d.ts +10 -12
  47. package/app/services/root-filter-overlay.service.d.ts +6 -0
  48. package/app/services/saved-filter-controller.service.d.ts +4 -4
  49. package/app/services/sort-controller.service.d.ts +21 -0
  50. package/esm2022/app/components/filter/filter.component.mjs +150 -294
  51. package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
  52. package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
  53. package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
  54. package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +7 -14
  55. package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
  56. package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
  57. package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
  58. package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
  59. package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
  60. package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
  61. package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
  62. package/esm2022/app/components/filters-item/filter-item.component.mjs +5 -5
  63. package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
  64. package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
  65. package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
  66. package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
  67. package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
  68. package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
  69. package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
  70. package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
  71. package/esm2022/app/fs-filter.module.mjs +1 -16
  72. package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
  73. package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
  74. package/esm2022/app/models/action.model.mjs +2 -2
  75. package/esm2022/app/models/filter-config.mjs +2 -3
  76. package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
  77. package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
  78. package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
  79. package/esm2022/app/models/items/base-date-item.mjs +28 -0
  80. package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
  81. package/esm2022/app/models/items/base-item.mjs +58 -138
  82. package/esm2022/app/models/items/checkbox-item.mjs +35 -26
  83. package/esm2022/app/models/items/chips-item.mjs +50 -59
  84. package/esm2022/app/models/items/date-item.mjs +21 -8
  85. package/esm2022/app/models/items/date-range-item.mjs +2 -2
  86. package/esm2022/app/models/items/date-time-item.mjs +4 -7
  87. package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
  88. package/esm2022/app/models/items/index.mjs +1 -5
  89. package/esm2022/app/models/items/range-item.mjs +48 -44
  90. package/esm2022/app/models/items/select-item.mjs +104 -9
  91. package/esm2022/app/models/items/text-item.mjs +17 -15
  92. package/esm2022/app/models/items/week-item.mjs +22 -38
  93. package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
  94. package/esm2022/app/services/filter-controller.service.mjs +209 -0
  95. package/esm2022/app/services/filter-overlay.service.mjs +3 -3
  96. package/esm2022/app/services/focus-controller.service.mjs +3 -3
  97. package/esm2022/app/services/index.mjs +5 -3
  98. package/esm2022/app/services/keyword-controller.service.mjs +49 -0
  99. package/esm2022/app/services/persistance-controller.service.mjs +24 -6
  100. package/esm2022/app/services/query-param-controller.service.mjs +44 -34
  101. package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
  102. package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
  103. package/esm2022/app/services/sort-controller.service.mjs +60 -0
  104. package/esm2022/public_api.mjs +1 -2
  105. package/fesm2022/firestitch-filter.mjs +2593 -3243
  106. package/fesm2022/firestitch-filter.mjs.map +1 -1
  107. package/package.json +1 -1
  108. package/public_api.d.ts +0 -1
  109. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
  110. package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
  111. package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
  112. package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
  113. package/app/helpers/build-query-params.d.ts +0 -4
  114. package/app/helpers/compare.d.ts +0 -2
  115. package/app/helpers/find-value.d.ts +0 -1
  116. package/app/models/items/autocomplete/index.d.ts +0 -1
  117. package/app/models/items/date/base-date-item.d.ts +0 -17
  118. package/app/models/items/date/index.d.ts +0 -1
  119. package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
  120. package/app/models/items/date-range/index.d.ts +0 -1
  121. package/app/models/items/select/base-select-item.d.ts +0 -16
  122. package/app/models/items/select/index.d.ts +0 -3
  123. package/app/models/items/select/multiple-select-item.d.ts +0 -14
  124. package/app/models/items/select/simple-select-item.d.ts +0 -14
  125. package/app/providers/filter-meta.d.ts +0 -5
  126. package/app/services/item-store.service.d.ts +0 -63
  127. package/app/services/param-controller.service.d.ts +0 -30
  128. package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
  129. package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
  130. package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
  131. package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
  132. package/esm2022/app/helpers/build-query-params.mjs +0 -38
  133. package/esm2022/app/helpers/compare.mjs +0 -38
  134. package/esm2022/app/helpers/find-value.mjs +0 -13
  135. package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
  136. package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
  137. package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
  138. package/esm2022/app/models/items/date/index.mjs +0 -2
  139. package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
  140. package/esm2022/app/models/items/date-range/index.mjs +0 -2
  141. package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
  142. package/esm2022/app/models/items/select/index.mjs +0 -4
  143. package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
  144. package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
  145. package/esm2022/app/providers/filter-meta.mjs +0 -10
  146. package/esm2022/app/services/item-store.service.mjs +0 -333
  147. package/esm2022/app/services/param-controller.service.mjs +0 -151
@@ -12,27 +12,29 @@ export class TextItem extends BaseItem {
12
12
  static create(config, filter) {
13
13
  return new TextItem(config, null, filter);
14
14
  }
15
- get value() {
16
- return this.model ? this.model : undefined;
15
+ get hasValue() {
16
+ return typeof this.value === 'string' && this.value.length > 0;
17
17
  }
18
- get queryObject() {
18
+ get query() {
19
+ if (!this.hasValue) {
20
+ return {};
21
+ }
19
22
  const value = this.value;
20
23
  const name = this.name;
21
24
  const params = {};
22
25
  params[name] = value;
23
26
  return params;
24
27
  }
25
- getChipsContent() {
26
- return this.model;
27
- }
28
- _validateModel() {
29
- //
30
- }
31
- _init() {
32
- //
33
- }
34
- _clearValue(defaultValue = undefined) {
35
- this.model = defaultValue ?? '';
28
+ get chips() {
29
+ if (!this.hasValue || this.isTypeKeyword) {
30
+ return [];
31
+ }
32
+ return [
33
+ {
34
+ value: this.value,
35
+ label: this.label,
36
+ },
37
+ ];
36
38
  }
37
39
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQU8vQztJQUNBO0lBSFosWUFDRSxVQUFpQyxFQUN2QixpQkFBMEIsRUFDMUIsT0FBd0I7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUhwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUE2QixFQUFFLE1BQXVCO1FBQ3pFLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFckIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLEVBQUU7SUFDSixDQUFDO0lBRVMsS0FBSztRQUNiLEVBQUU7SUFDSixDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdUZXh0SXRlbSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBUZXh0SXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdUZXh0SXRlbT4ge1xuXG4gIHB1YmxpYyBkZWNsYXJlIHByZWZpeDogc3RyaW5nO1xuICBwdWJsaWMgZGVjbGFyZSBzdWZmaXg6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtQ29uZmlnOiBJRmlsdGVyQ29uZmlnVGV4dEl0ZW0sXG4gICAgcHJvdGVjdGVkIF9hZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duLFxuICAgIHByb3RlY3RlZCBfZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQsXG4gICkge1xuICAgIHN1cGVyKGl0ZW1Db25maWcsIF9hZGRpdGlvbmFsQ29uZmlnLCBfZmlsdGVyKTtcbiAgICB0aGlzLnByZWZpeCA9IGl0ZW1Db25maWcucHJlZml4O1xuICAgIHRoaXMuc3VmZml4ID0gaXRlbUNvbmZpZy5zdWZmaXg7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdUZXh0SXRlbSwgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IFRleHRJdGVtKGNvbmZpZywgbnVsbCwgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPyB0aGlzLm1vZGVsIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeU9iamVjdCgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcblxuICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbGlkYXRlTW9kZWwoKSB7XG4gICAgLy9cbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICAvL1xuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQU8vQztJQUNBO0lBSFosWUFDRSxVQUFpQyxFQUN2QixpQkFBMEIsRUFDMUIsT0FBd0I7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUhwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUE2QixFQUFFLE1BQXVCO1FBQ3pFLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVsQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXJCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2xCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdUZXh0SXRlbSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBUZXh0SXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdUZXh0SXRlbT4ge1xuXG4gIHB1YmxpYyBkZWNsYXJlIHByZWZpeDogc3RyaW5nO1xuICBwdWJsaWMgZGVjbGFyZSBzdWZmaXg6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtQ29uZmlnOiBJRmlsdGVyQ29uZmlnVGV4dEl0ZW0sXG4gICAgcHJvdGVjdGVkIF9hZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duLFxuICAgIHByb3RlY3RlZCBfZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQsXG4gICkge1xuICAgIHN1cGVyKGl0ZW1Db25maWcsIF9hZGRpdGlvbmFsQ29uZmlnLCBfZmlsdGVyKTtcbiAgICB0aGlzLnByZWZpeCA9IGl0ZW1Db25maWcucHJlZml4O1xuICAgIHRoaXMuc3VmZml4ID0gaXRlbUNvbmZpZy5zdWZmaXg7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdUZXh0SXRlbSwgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IFRleHRJdGVtKGNvbmZpZywgbnVsbCwgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsdWUoKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5KCkge1xuICAgIGlmKCF0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG5cbiAgICBwYXJhbXNbbmFtZV0gPSB2YWx1ZTtcblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzKCk6IHsgbmFtZT86IHN0cmluZywgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9W10ge1xuICAgIGlmKCF0aGlzLmhhc1ZhbHVlIHx8IHRoaXMuaXNUeXBlS2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
1
  import { isEmpty } from '@firestitch/common';
2
- import { simpleFormat } from '@firestitch/date';
3
2
  import { formatPeriodObject } from '@firestitch/datepicker';
4
3
  import { isDate, isValid, parseISO } from 'date-fns';
5
4
  import { clone, isObject, isString } from 'lodash-es';
@@ -19,9 +18,9 @@ export class WeekItem extends BaseItem {
19
18
  return new WeekItem(config, null, filter);
20
19
  }
21
20
  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 }))) {
21
+ let value = clone(super.value);
22
+ if (!isObject(value) ||
23
+ (isEmpty(value.from, { zero: true }) && isEmpty(value.to, { zero: true }))) {
25
24
  value = undefined;
26
25
  }
27
26
  if (isEmpty(value, { zero: true })) {
@@ -52,7 +51,15 @@ export class WeekItem extends BaseItem {
52
51
  }
53
52
  return value;
54
53
  }
55
- get queryObject() {
54
+ set value(value) {
55
+ if (value) {
56
+ value.from = parseDate(value.from);
57
+ value.to = parseDate(value.to);
58
+ value.period = parseInt(value.period, 10) || undefined;
59
+ }
60
+ super.value = value;
61
+ }
62
+ get query() {
56
63
  const value = this.value;
57
64
  const name = this.name;
58
65
  const paramFromName = getRangeName(name, 'from');
@@ -64,39 +71,16 @@ export class WeekItem extends BaseItem {
64
71
  [paramPeriodName]: value?.period || undefined,
65
72
  };
66
73
  }
67
- get persistanceObject() {
68
- const query = this.queryObject;
69
- const name = this.name;
70
- const paramFromName = getRangeName(name, 'from');
71
- const paramFromValue = query[paramFromName] && simpleFormat(query[paramFromName]) || query[paramFromName];
72
- const paramToName = getRangeName(name, 'to');
73
- const paramToValue = query[paramToName] && simpleFormat(query[paramToName]) || query[paramToName];
74
- const paramPeriodName = `${name}Period`;
75
- return {
76
- [paramFromName]: paramFromValue,
77
- [paramToName]: paramToValue,
78
- [paramPeriodName]: query[paramPeriodName],
79
- };
80
- }
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;
74
+ get chips() {
75
+ if (!this.hasValue) {
76
+ return [];
86
77
  }
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;
78
+ return [
79
+ {
80
+ value: formatPeriodObject(this.value),
81
+ label: this.label,
82
+ },
83
+ ];
100
84
  }
101
85
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQU0vQztJQUNBO0lBSFosWUFDRSxVQUFpQyxFQUN2QixpQkFBMEIsRUFDMUIsT0FBd0I7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUhwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RixLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUU1QixLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNqQixFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNsRSxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0MsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQztRQUV4QyxPQUFPO1lBQ0wsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLFNBQVM7WUFDekMsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLFNBQVM7WUFDckMsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLFNBQVM7U0FDOUMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xHLE1BQU0sZUFBZSxHQUFHLEdBQUcsSUFBSSxRQUFRLENBQUM7UUFFeEMsT0FBTztZQUNMLENBQUMsYUFBYSxDQUFDLEVBQUUsY0FBYztZQUMvQixDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVk7WUFDM0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDO1NBQzFDLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxLQUFLLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0IsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDekQsQ0FBQztRQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNoQyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsY0FBYztRQUN0QixFQUFFO0lBQ0osQ0FBQztJQUVTLEtBQUs7UUFDYixFQUFFO0lBQ0osQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxJQUFJLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IHNpbXBsZUZvcm1hdCB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuaW1wb3J0IHsgZm9ybWF0UGVyaW9kT2JqZWN0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGlzRGF0ZSwgaXNWYWxpZCwgcGFyc2VJU08gfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHsgcGFyc2VEYXRlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9wYXJzZS1kYXRlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdXZWVrSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvd2Vlay5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4vYmFzZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgV2Vla0l0ZW0gZXh0ZW5kcyBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnV2Vla0l0ZW0+IHtcblxuICBwdWJsaWMgZGVjbGFyZSBzZWVkRGF0ZTogRGF0ZTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IElGaWx0ZXJDb25maWdXZWVrSXRlbSxcbiAgICBwcm90ZWN0ZWQgX2FkZGl0aW9uYWxDb25maWc6IHVua25vd24sXG4gICAgcHJvdGVjdGVkIF9maWx0ZXI6IEZpbHRlckNvbXBvbmVudCxcbiAgKSB7XG4gICAgc3VwZXIoaXRlbUNvbmZpZywgX2FkZGl0aW9uYWxDb25maWcsIF9maWx0ZXIpO1xuICAgIHRoaXMuc2VlZERhdGUgPSBpdGVtQ29uZmlnLnNlZWREYXRlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnV2Vla0l0ZW0sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBXZWVrSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIGxldCB2YWx1ZSA9IGNsb25lKHRoaXMubW9kZWwpO1xuXG4gICAgaWYgKCFpc09iamVjdCh0aGlzLm1vZGVsKSB8fFxuICAgICAgKGlzRW1wdHkodGhpcy5tb2RlbC5mcm9tLCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLnRvLCB7IHplcm86IHRydWUgfSkpKSB7XG4gICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNFbXB0eSh2YWx1ZSwgeyB6ZXJvOiB0cnVlIH0pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmcm9tID0gdmFsdWUuZnJvbTtcbiAgICBsZXQgdG8gPSB2YWx1ZS50bztcbiAgICBjb25zdCBwZXJpb2QgPSB2YWx1ZS5wZXJpb2Q7XG5cbiAgICB2YWx1ZSA9IHt9O1xuXG4gICAgaWYgKGZyb20pIHtcbiAgICAgIGlmIChpc1N0cmluZyhmcm9tKSkge1xuICAgICAgICBmcm9tID0gcGFyc2VJU08oZnJvbSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1ZhbGlkKGZyb20pICYmIGlzRGF0ZShmcm9tKSkge1xuICAgICAgICB2YWx1ZS5mcm9tID0gZnJvbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG8pIHtcbiAgICAgIGlmIChpc1N0cmluZyh0bykpIHtcbiAgICAgICAgdG8gPSBwYXJzZUlTTyh0byk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1ZhbGlkKHRvKSAmJiBpc0RhdGUodG8pKSB7XG4gICAgICAgIHZhbHVlLnRvID0gdG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBlcmlvZCkge1xuICAgICAgdmFsdWUucGVyaW9kID0gaXNTdHJpbmcocGVyaW9kKSA/IHBhcnNlSW50KHBlcmlvZCwgMTApIDogcGVyaW9kO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtVG9OYW1lID0gZ2V0UmFuZ2VOYW1lKG5hbWUsICd0bycpO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHZhbHVlPy5mcm9tIHx8IHVuZGVmaW5lZCxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHZhbHVlPy50byB8fCB1bmRlZmluZWQsXG4gICAgICBbcGFyYW1QZXJpb2ROYW1lXTogdmFsdWU/LnBlcmlvZCB8fCB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVyc2lzdGFuY2VPYmplY3QoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJ5T2JqZWN0O1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtRnJvbVZhbHVlID0gcXVlcnlbcGFyYW1Gcm9tTmFtZV0gJiYgc2ltcGxlRm9ybWF0KHF1ZXJ5W3BhcmFtRnJvbU5hbWVdKSB8fCBxdWVyeVtwYXJhbUZyb21OYW1lXTtcbiAgICBjb25zdCBwYXJhbVRvTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAndG8nKTtcbiAgICBjb25zdCBwYXJhbVRvVmFsdWUgPSBxdWVyeVtwYXJhbVRvTmFtZV0gJiYgc2ltcGxlRm9ybWF0KHF1ZXJ5W3BhcmFtVG9OYW1lXSkgfHwgcXVlcnlbcGFyYW1Ub05hbWVdO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHBhcmFtRnJvbVZhbHVlLFxuICAgICAgW3BhcmFtVG9OYW1lXTogcGFyYW1Ub1ZhbHVlLFxuICAgICAgW3BhcmFtUGVyaW9kTmFtZV06IHF1ZXJ5W3BhcmFtUGVyaW9kTmFtZV0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNb2RlbCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUuZnJvbSA9IHBhcnNlRGF0ZSh2YWx1ZS5mcm9tKTtcbiAgICAgIHZhbHVlLnRvID0gcGFyc2VEYXRlKHZhbHVlLnRvKTtcbiAgICAgIHZhbHVlLnBlcmlvZCA9IHBhcnNlSW50KHZhbHVlLnBlcmlvZCwgMTApIHx8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRNb2RlbCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0UGVyaW9kT2JqZWN0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIC8vXG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7IFxuICAgIC8vXG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd2QyxNQUFNLE9BQU8sUUFBUyxTQUFRLFFBQStCO0lBTS9DO0lBQ0E7SUFIWixZQUNFLFVBQWlDLEVBQ3ZCLGlCQUEwQixFQUMxQixPQUF3QjtRQUVsQyxLQUFLLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSHBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUdsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBNkIsRUFBRSxNQUF1QjtRQUN6RSxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdFLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDcEIsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRTVCLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDO1lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUM5QixLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFLO1FBQ3BCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsS0FBSyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ3pELENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLElBQUksUUFBUSxDQUFDO1FBRXhDLE9BQU87WUFDTCxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksU0FBUztZQUN6QyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksU0FBUztZQUNyQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksU0FBUztTQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMO2dCQUNFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5pbXBvcnQgeyBmb3JtYXRQZXJpb2RPYmplY3QgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlcGlja2VyJztcblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGNsb25lLCBpc09iamVjdCwgaXNTdHJpbmcgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UmFuZ2VOYW1lIH0gZnJvbSAnLi4vLi4vaGVscGVycy9nZXQtcmFuZ2UtbmFtZSc7XG5pbXBvcnQgeyBwYXJzZURhdGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3BhcnNlLWRhdGUnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1dlZWtJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy93ZWVrLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBXZWVrSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdXZWVrSXRlbT4ge1xuXG4gIHB1YmxpYyBkZWNsYXJlIHNlZWREYXRlOiBEYXRlO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgaXRlbUNvbmZpZzogSUZpbHRlckNvbmZpZ1dlZWtJdGVtLFxuICAgIHByb3RlY3RlZCBfYWRkaXRpb25hbENvbmZpZzogdW5rbm93bixcbiAgICBwcm90ZWN0ZWQgX2ZpbHRlcjogRmlsdGVyQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcihpdGVtQ29uZmlnLCBfYWRkaXRpb25hbENvbmZpZywgX2ZpbHRlcik7XG4gICAgdGhpcy5zZWVkRGF0ZSA9IGl0ZW1Db25maWcuc2VlZERhdGU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdXZWVrSXRlbSwgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IFdlZWtJdGVtKGNvbmZpZywgbnVsbCwgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUoc3VwZXIudmFsdWUpO1xuXG4gICAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHxcbiAgICAgIChpc0VtcHR5KHZhbHVlLmZyb20sIHsgemVybzogdHJ1ZSB9KSAmJiBpc0VtcHR5KHZhbHVlLnRvLCB7IHplcm86IHRydWUgfSkpKSB7XG4gICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNFbXB0eSh2YWx1ZSwgeyB6ZXJvOiB0cnVlIH0pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmcm9tID0gdmFsdWUuZnJvbTtcbiAgICBsZXQgdG8gPSB2YWx1ZS50bztcbiAgICBjb25zdCBwZXJpb2QgPSB2YWx1ZS5wZXJpb2Q7XG5cbiAgICB2YWx1ZSA9IHt9O1xuXG4gICAgaWYgKGZyb20pIHtcbiAgICAgIGlmIChpc1N0cmluZyhmcm9tKSkge1xuICAgICAgICBmcm9tID0gcGFyc2VJU08oZnJvbSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1ZhbGlkKGZyb20pICYmIGlzRGF0ZShmcm9tKSkge1xuICAgICAgICB2YWx1ZS5mcm9tID0gZnJvbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG8pIHtcbiAgICAgIGlmIChpc1N0cmluZyh0bykpIHtcbiAgICAgICAgdG8gPSBwYXJzZUlTTyh0byk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1ZhbGlkKHRvKSAmJiBpc0RhdGUodG8pKSB7XG4gICAgICAgIHZhbHVlLnRvID0gdG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBlcmlvZCkge1xuICAgICAgdmFsdWUucGVyaW9kID0gaXNTdHJpbmcocGVyaW9kKSA/IHBhcnNlSW50KHBlcmlvZCwgMTApIDogcGVyaW9kO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHZhbHVlLmZyb20gPSBwYXJzZURhdGUodmFsdWUuZnJvbSk7XG4gICAgICB2YWx1ZS50byA9IHBhcnNlRGF0ZSh2YWx1ZS50byk7XG4gICAgICB2YWx1ZS5wZXJpb2QgPSBwYXJzZUludCh2YWx1ZS5wZXJpb2QsIDEwKSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgc3VwZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnkoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtVG9OYW1lID0gZ2V0UmFuZ2VOYW1lKG5hbWUsICd0bycpO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHZhbHVlPy5mcm9tIHx8IHVuZGVmaW5lZCxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHZhbHVlPy50byB8fCB1bmRlZmluZWQsXG4gICAgICBbcGFyYW1QZXJpb2ROYW1lXTogdmFsdWU/LnBlcmlvZCB8fCB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcHMoKTogeyBuYW1lPzogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH1bXSB7XG4gICAgaWYoIXRoaXMuaGFzVmFsdWUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogZm9ybWF0UGVyaW9kT2JqZWN0KHRoaXMudmFsdWUpLFxuICAgICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIl19
@@ -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
  }
@@ -125,4 +125,4 @@ export class FsFilterOverlayService {
125
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsFilterOverlayService, decorators: [{
126
126
  type: Injectable
127
127
  }], ctorParameters: () => [] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLW92ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSXBFLE1BQU0sT0FBTyxzQkFBc0I7SUFFekIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsUUFBUSxDQUFhO0lBQ3JCLE9BQU8sQ0FBYTtJQUVwQixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQixXQUFXLENBQWE7SUFDeEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3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LE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQTdJVSxzQkFBc0I7NEdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uRGVzdHJveSwgU3RhdGljUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5pbXBvcnQgeyBIdG1sQ2xhc3NSZW5kZXJlciB9IGZyb20gJ0BmaXJlc3RpdGNoL2h0bWwnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRmlsdGVyRHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfREFUQSB9IGZyb20gJy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLWRhdGEnO1xuaW1wb3J0IHsgRklMVEVSX0RSQVdFUl9PVkVSTEFZIH0gZnJvbSAnLi4vaW5qZWN0b3JzL2ZpbHRlci1kcmF3ZXItb3ZlcmxheSc7XG5pbXBvcnQgeyBGU19GSUxURVJfTUVUQSB9IGZyb20gJy4uL3Byb3ZpZGVycy9maWx0ZXItbWV0YSc7XG5cbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2ZvY3VzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVyT3ZlcmxheVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2RldGFjaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9hdHRhY2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2xlYXJGbjogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfZG9uZUZuOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9vdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIF9mb2N1c0NvbnRyb2xsZXIgPSBpbmplY3QoRm9jdXNDb250cm9sbGVyU2VydmljZSk7XG4gIHByaXZhdGUgX2h0bWxDbGFzc1JlbmRlcmVyID0gaW5qZWN0KEh0bWxDbGFzc1JlbmRlcmVyKTtcbiAgcHJpdmF0ZSBfZmlsdGVyTWV0YSA9IGluamVjdChGU19GSUxURVJfTUVUQSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fb3BlbldoZW5DaGlwQ2xpY2tlZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXRhY2gkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kZXRhY2gkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRhY2gkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2gkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW5lZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9vdmVybGF5UmVmO1xuICB9XG5cbiAgcHVibGljIHNldENsZWFyRm4oZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLl9jbGVhckZuID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RG9uZUZuKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5fZG9uZUZuID0gZm47XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICB0aGlzLl9yZW1vdmVGaWx0ZXJDbGFzcygpO1xuICAgIH0gXG4gIH1cblxuICBwdWJsaWMgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX292ZXJsYXlSZWY7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpIHtcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9kZXRhY2gkLm5leHQobnVsbCk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2F0dGFjaCQubmV4dChudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fYWRkRmlsdGVyQ2xhc3MoKTtcblxuICAgIHJldHVybiB0aGlzLl9vcGVuUG9ydGFsUHJldmlldygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkoKSB7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29wZW5Qb3J0YWxQcmV2aWV3KCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBkb25lOiB0aGlzLl9kb25lRm4sXG4gICAgICBjbGVhcjogdGhpcy5fY2xlYXJGbixcbiAgICB9O1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIGRhdGEsIHRoaXMuX292ZXJsYXlSZWYpO1xuICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoRmlsdGVyRHJhd2VyQ29tcG9uZW50LCB1bmRlZmluZWQsIGluamVjdG9yKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaDxGaWx0ZXJEcmF3ZXJDb21wb25lbnQ+KGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IocGFyZW50SW5qZWN0b3I6IEluamVjdG9yLCBkYXRhOiBhbnksIG92ZXJsYXlSZWY6IGFueSk6IEluamVjdG9yIHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXG4gICAgICB7IHByb3ZpZGU6IEZJTFRFUl9EUkFXRVJfREFUQSwgdXNlVmFsdWU6IGRhdGEgfSxcbiAgICAgIHsgcHJvdmlkZTogRklMVEVSX0RSQVdFUl9PVkVSTEFZLCB1c2VWYWx1ZTogb3ZlcmxheVJlZiB9LFxuICAgIF07XG4gIFxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiBwYXJlbnRJbmplY3RvcixcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIF9yZW1vdmVGaWx0ZXJDbGFzcygpIHtcbiAgICB0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMtLTtcblxuICAgIGlmICh0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMgPT09IDApIHtcbiAgICAgIHRoaXMuX2h0bWxDbGFzc1JlbmRlcmVyLnJlbW92ZUNsYXNzKCdmcy1maWx0ZXItb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZEZpbHRlckNsYXNzKCkge1xuICAgIHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycysrO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycyA9PT0gMSkge1xuICAgICAgdGhpcy5faHRtbENsYXNzUmVuZGVyZXIuYWRkQ2xhc3MoJ2ZzLWZpbHRlci1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbldoZW5DaGlwQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXIuZm9jdXNPbiRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+ICEhdiksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
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