@searchstax-inc/searchstudio-ux-angular 2.0.0 → 4.1.0

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 (63) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +40 -5
  3. package/package.json +5 -2
  4. package/esm2022/lib/components/searchstax-input/searchstax-input.component.mjs +0 -81
  5. package/esm2022/lib/components/searchstax-results/searchstax-results.component.mjs +0 -85
  6. package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs +0 -47
  7. package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +0 -41
  8. package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +0 -114
  9. package/esm2022/lib/components/searchstax-search-location/searchstax-search-location.component.mjs +0 -92
  10. package/esm2022/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +0 -42
  11. package/esm2022/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +0 -64
  12. package/esm2022/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +0 -45
  13. package/esm2022/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +0 -46
  14. package/esm2022/lib/components/searchstax-wrapper.component.mjs +0 -93
  15. package/esm2022/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.mjs +0 -91
  16. package/esm2022/lib/components/templates/searchstax-search-answer-template.mjs +0 -119
  17. package/esm2022/lib/components/templates/searchstax-search-external-template.mjs +0 -107
  18. package/esm2022/lib/components/templates/searchstax-search-facet-desktop-template.mjs +0 -207
  19. package/esm2022/lib/components/templates/searchstax-search-facet-mobile-template.mjs +0 -343
  20. package/esm2022/lib/components/templates/searchstax-search-input-template.mjs +0 -126
  21. package/esm2022/lib/components/templates/searchstax-search-location-template.mjs +0 -152
  22. package/esm2022/lib/components/templates/searchstax-search-no-results-template.mjs +0 -85
  23. package/esm2022/lib/components/templates/searchstax-search-overview-template.mjs +0 -87
  24. package/esm2022/lib/components/templates/searchstax-search-pagination-infinite-template.mjs +0 -60
  25. package/esm2022/lib/components/templates/searchstax-search-pagination-template.mjs +0 -96
  26. package/esm2022/lib/components/templates/searchstax-search-related-template.mjs +0 -81
  27. package/esm2022/lib/components/templates/searchstax-search-results-template.mjs +0 -171
  28. package/esm2022/lib/components/templates/searchstax-search-sorting-template.mjs +0 -76
  29. package/esm2022/lib/searchstudio-ux-angular.module.mjs +0 -138
  30. package/esm2022/lib/services/store-service.service.mjs +0 -17
  31. package/esm2022/public-api.mjs +0 -30
  32. package/esm2022/searchstax-inc-searchstudio-ux-angular.mjs +0 -5
  33. package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +0 -2594
  34. package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs.map +0 -1
  35. package/index.d.ts +0 -5
  36. package/lib/components/searchstax-input/searchstax-input.component.d.ts +0 -37
  37. package/lib/components/searchstax-results/searchstax-results.component.d.ts +0 -26
  38. package/lib/components/searchstax-search-answer/searchstax-search-answer.component.d.ts +0 -19
  39. package/lib/components/searchstax-search-external/searchstax-search-external.component.d.ts +0 -17
  40. package/lib/components/searchstax-search-facets/searchstax-search-facets.component.d.ts +0 -37
  41. package/lib/components/searchstax-search-location/searchstax-search-location.component.d.ts +0 -33
  42. package/lib/components/searchstax-search-overview/searchstax-search-overview.component.d.ts +0 -17
  43. package/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.d.ts +0 -21
  44. package/lib/components/searchstax-search-related/searchstax-search-related.component.d.ts +0 -19
  45. package/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.d.ts +0 -18
  46. package/lib/components/searchstax-wrapper.component.d.ts +0 -31
  47. package/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.d.ts +0 -13
  48. package/lib/components/templates/searchstax-search-answer-template.d.ts +0 -7
  49. package/lib/components/templates/searchstax-search-external-template.d.ts +0 -7
  50. package/lib/components/templates/searchstax-search-facet-desktop-template.d.ts +0 -7
  51. package/lib/components/templates/searchstax-search-facet-mobile-template.d.ts +0 -7
  52. package/lib/components/templates/searchstax-search-input-template.d.ts +0 -7
  53. package/lib/components/templates/searchstax-search-location-template.d.ts +0 -7
  54. package/lib/components/templates/searchstax-search-no-results-template.d.ts +0 -7
  55. package/lib/components/templates/searchstax-search-overview-template.d.ts +0 -7
  56. package/lib/components/templates/searchstax-search-pagination-infinite-template.d.ts +0 -7
  57. package/lib/components/templates/searchstax-search-pagination-template.d.ts +0 -7
  58. package/lib/components/templates/searchstax-search-related-template.d.ts +0 -7
  59. package/lib/components/templates/searchstax-search-results-template.d.ts +0 -7
  60. package/lib/components/templates/searchstax-search-sorting-template.d.ts +0 -7
  61. package/lib/searchstudio-ux-angular.module.d.ts +0 -32
  62. package/lib/services/store-service.service.d.ts +0 -8
  63. package/public-api.d.ts +0 -26
@@ -1,207 +0,0 @@
1
- // reusable-template.component.ts
2
- import { Component, ViewChild } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class FacetDesktopTemplateComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FacetDesktopTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FacetDesktopTemplateComponent, selector: "app-facet-desktop-template", viewQueries: [{ propertyName: "templateOverrideDesktop", first: true, predicate: ["templateOverrideDesktop"], descendants: true }], ngImport: i0, template: `
8
- <ng-template
9
- #templateOverrideDesktop
10
- let-facetsTemplateDataDesktop="facetsTemplateDataDesktop"
11
- let-isNotDeactivated="isNotDeactivated"
12
- let-context="context"
13
- let-toggleFacetGroup="toggleFacetGroup"
14
- let-facetValues="facetValues"
15
- let-isChecked="isChecked"
16
- let-selectFacet="selectFacet"
17
- let-showMoreLessDesktop="showMoreLessDesktop"
18
- >
19
- <div class="searchstax-facets-container-desktop">
20
- <div
21
- class="searchstax-facet-container"
22
- *ngFor="let facet of facetsTemplateDataDesktop?.facets"
23
- [class]="{ active: isNotDeactivated(facet.name, context) }"
24
- >
25
- <div>
26
- <div
27
- class="searchstax-facet-title-container"
28
- (click)="toggleFacetGroup(facet.name, context)"
29
- >
30
- <div class="searchstax-facet-title">
31
- {{ facet.label }}
32
- </div>
33
- <div class="searchstax-facet-title-arrow active"></div>
34
- </div>
35
- <div class="searchstax-facet-values-container" aria-live="polite">
36
- <div
37
- *ngFor="let facetValue of facetValues(facet); index as key"
38
- class="searchstax-facet-value-container"
39
- [class]="{
40
- 'searchstax-facet-value-disabled': facetValue.disabled
41
- }"
42
- #ref
43
- >
44
- <div class="searchstax-facet-input">
45
- <input
46
- type="checkbox"
47
- class="searchstax-facet-input-checkbox"
48
- [checked]="isChecked(facetValue, context)"
49
- [attr.aria-label]="
50
- facetValue.value + ' ' + facetValue.count
51
- "
52
- [disabled]="facetValue.disabled"
53
- (click)="
54
- selectFacet(ref, $event, facetValue, true, context)
55
- "
56
- />
57
- </div>
58
- <div
59
- class="searchstax-facet-value-label"
60
- (click)="selectFacet(ref, $event, facetValue, false, context)"
61
- >
62
- {{ facetValue.value }}
63
- </div>
64
- <div
65
- class="searchstax-facet-value-count"
66
- (click)="selectFacet(ref, $event, facetValue, false, context)"
67
- >
68
- ({{ facetValue.count }})
69
- </div>
70
- </div>
71
- <div
72
- class="searchstax-facet-show-more-container"
73
- *ngIf="facet.hasMoreFacets"
74
- >
75
- <div
76
- class="searchstax-facet-show-more-container"
77
- (click)="showMoreLessDesktop($event, facet, context)"
78
- (keyup.enter)="showMoreLessDesktop($event, facet, context)"
79
- (keyup.space)="showMoreLessDesktop($event, facet, context)"
80
- tabindex="0"
81
- >
82
- <div
83
- *ngIf="facet.showingAllFacets"
84
- class="searchstax-facet-show-less-button searchstax-facet-show-button"
85
- >
86
- less
87
- </div>
88
- <div
89
- *ngIf="!facet.showingAllFacets"
90
- class="searchstax-facet-show-more-button searchstax-facet-show-button"
91
- >
92
- more
93
- </div>
94
- </div>
95
- </div>
96
- </div>
97
- </div>
98
- </div>
99
- </div>
100
- </ng-template>
101
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
102
- }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FacetDesktopTemplateComponent, decorators: [{
104
- type: Component,
105
- args: [{
106
- selector: "app-facet-desktop-template",
107
- template: `
108
- <ng-template
109
- #templateOverrideDesktop
110
- let-facetsTemplateDataDesktop="facetsTemplateDataDesktop"
111
- let-isNotDeactivated="isNotDeactivated"
112
- let-context="context"
113
- let-toggleFacetGroup="toggleFacetGroup"
114
- let-facetValues="facetValues"
115
- let-isChecked="isChecked"
116
- let-selectFacet="selectFacet"
117
- let-showMoreLessDesktop="showMoreLessDesktop"
118
- >
119
- <div class="searchstax-facets-container-desktop">
120
- <div
121
- class="searchstax-facet-container"
122
- *ngFor="let facet of facetsTemplateDataDesktop?.facets"
123
- [class]="{ active: isNotDeactivated(facet.name, context) }"
124
- >
125
- <div>
126
- <div
127
- class="searchstax-facet-title-container"
128
- (click)="toggleFacetGroup(facet.name, context)"
129
- >
130
- <div class="searchstax-facet-title">
131
- {{ facet.label }}
132
- </div>
133
- <div class="searchstax-facet-title-arrow active"></div>
134
- </div>
135
- <div class="searchstax-facet-values-container" aria-live="polite">
136
- <div
137
- *ngFor="let facetValue of facetValues(facet); index as key"
138
- class="searchstax-facet-value-container"
139
- [class]="{
140
- 'searchstax-facet-value-disabled': facetValue.disabled
141
- }"
142
- #ref
143
- >
144
- <div class="searchstax-facet-input">
145
- <input
146
- type="checkbox"
147
- class="searchstax-facet-input-checkbox"
148
- [checked]="isChecked(facetValue, context)"
149
- [attr.aria-label]="
150
- facetValue.value + ' ' + facetValue.count
151
- "
152
- [disabled]="facetValue.disabled"
153
- (click)="
154
- selectFacet(ref, $event, facetValue, true, context)
155
- "
156
- />
157
- </div>
158
- <div
159
- class="searchstax-facet-value-label"
160
- (click)="selectFacet(ref, $event, facetValue, false, context)"
161
- >
162
- {{ facetValue.value }}
163
- </div>
164
- <div
165
- class="searchstax-facet-value-count"
166
- (click)="selectFacet(ref, $event, facetValue, false, context)"
167
- >
168
- ({{ facetValue.count }})
169
- </div>
170
- </div>
171
- <div
172
- class="searchstax-facet-show-more-container"
173
- *ngIf="facet.hasMoreFacets"
174
- >
175
- <div
176
- class="searchstax-facet-show-more-container"
177
- (click)="showMoreLessDesktop($event, facet, context)"
178
- (keyup.enter)="showMoreLessDesktop($event, facet, context)"
179
- (keyup.space)="showMoreLessDesktop($event, facet, context)"
180
- tabindex="0"
181
- >
182
- <div
183
- *ngIf="facet.showingAllFacets"
184
- class="searchstax-facet-show-less-button searchstax-facet-show-button"
185
- >
186
- less
187
- </div>
188
- <div
189
- *ngIf="!facet.showingAllFacets"
190
- class="searchstax-facet-show-more-button searchstax-facet-show-button"
191
- >
192
- more
193
- </div>
194
- </div>
195
- </div>
196
- </div>
197
- </div>
198
- </div>
199
- </div>
200
- </ng-template>
201
- `,
202
- }]
203
- }], propDecorators: { templateOverrideDesktop: [{
204
- type: ViewChild,
205
- args: ["templateOverrideDesktop"]
206
- }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZmFjZXQtZGVza3RvcC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXQtZGVza3RvcC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQW9HbEUsTUFBTSxPQUFPLDZCQUE2QjsrR0FBN0IsNkJBQTZCO21HQUE3Qiw2QkFBNkIsc01BaEc5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThGVDs7NEZBRVUsNkJBQTZCO2tCQWxHekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4RlQ7aUJBQ0Y7OEJBR0MsdUJBQXVCO3NCQUR0QixTQUFTO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJldXNhYmxlLXRlbXBsYXRlLmNvbXBvbmVudC50c1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1mYWNldC1kZXNrdG9wLXRlbXBsYXRlXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAjdGVtcGxhdGVPdmVycmlkZURlc2t0b3BcbiAgICAgIGxldC1mYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wPVwiZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcFwiXG4gICAgICBsZXQtaXNOb3REZWFjdGl2YXRlZD1cImlzTm90RGVhY3RpdmF0ZWRcIlxuICAgICAgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCJcbiAgICAgIGxldC10b2dnbGVGYWNldEdyb3VwPVwidG9nZ2xlRmFjZXRHcm91cFwiXG4gICAgICBsZXQtZmFjZXRWYWx1ZXM9XCJmYWNldFZhbHVlc1wiXG4gICAgICBsZXQtaXNDaGVja2VkPVwiaXNDaGVja2VkXCJcbiAgICAgIGxldC1zZWxlY3RGYWNldD1cInNlbGVjdEZhY2V0XCJcbiAgICAgIGxldC1zaG93TW9yZUxlc3NEZXNrdG9wPVwic2hvd01vcmVMZXNzRGVza3RvcFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lci1kZXNrdG9wXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtY29udGFpbmVyXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXQgb2YgZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcD8uZmFjZXRzXCJcbiAgICAgICAgICBbY2xhc3NdPVwieyBhY3RpdmU6IGlzTm90RGVhY3RpdmF0ZWQoZmFjZXQubmFtZSwgY29udGV4dCkgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdGl0bGUtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUZhY2V0R3JvdXAoZmFjZXQubmFtZSwgY29udGV4dClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7IGZhY2V0LmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZS1hcnJvdyBhY3RpdmVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdmFsdWVzLWNvbnRhaW5lclwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZhY2V0VmFsdWUgb2YgZmFjZXRWYWx1ZXMoZmFjZXQpOyBpbmRleCBhcyBrZXlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAnc2VhcmNoc3RheC1mYWNldC12YWx1ZS1kaXNhYmxlZCc6IGZhY2V0VmFsdWUuZGlzYWJsZWRcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAjcmVmXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1pbnB1dC1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZChmYWNldFZhbHVlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgZmFjZXRWYWx1ZS52YWx1ZSArICcgJyArIGZhY2V0VmFsdWUuY291bnRcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhY2V0VmFsdWUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIHRydWUsIGNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIGZhbHNlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZmFjZXRWYWx1ZS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1jb3VudFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIGZhbHNlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgKHt7IGZhY2V0VmFsdWUuY291bnQgfX0pXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmFjZXQuaGFzTW9yZUZhY2V0c1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtc2hvdy1tb3JlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd01vcmVMZXNzRGVza3RvcCgkZXZlbnQsIGZhY2V0LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwic2hvd01vcmVMZXNzRGVza3RvcCgkZXZlbnQsIGZhY2V0LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwic2hvd01vcmVMZXNzRGVza3RvcCgkZXZlbnQsIGZhY2V0LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmYWNldC5zaG93aW5nQWxsRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbGVzcy1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIGxlc3NcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFmYWNldC5zaG93aW5nQWxsRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIG1vcmVcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZhY2V0RGVza3RvcFRlbXBsYXRlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChcInRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wXCIpXG4gIHRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wITogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==
@@ -1,343 +0,0 @@
1
- // reusable-template.component.ts
2
- import { Component, ViewChild } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class FacetMobileTemplateComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FacetMobileTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FacetMobileTemplateComponent, selector: "app-facet-mobile-template", viewQueries: [{ propertyName: "templateOverrideMobile", first: true, predicate: ["templateOverrideMobile"], descendants: true }], ngImport: i0, template: `
8
- <ng-template
9
- #templateOverrideMobile
10
- let-isNotDeactivated="isNotDeactivated"
11
- let-context="context"
12
- let-toggleFacetGroup="toggleFacetGroup"
13
- let-facetValues="facetValues"
14
- let-isChecked="isChecked"
15
- let-selectFacet="selectFacet"
16
- let-openOverlay="openOverlay"
17
- let-selectedFacetsCheckboxes="selectedFacetsCheckboxes"
18
- let-unselectFacet="unselectFacet"
19
- let-unselectAll="unselectAll"
20
- let-facetMobileData="facetMobileData"
21
- let-facetsTemplateDataMobile="facetsTemplateDataMobile"
22
- let-closeOverlay="closeOverlay"
23
- let-showMoreLessDesktop="showMoreLessDesktop"
24
- let-showMoreLessMobile="showMoreLessMobile"
25
- >
26
- <div class="searchstax-facets-container-mobile">
27
- <div class="searchstax-facets-pills-container">
28
- <div
29
- class="searchstax-facets-pill searchstax-facets-pill-filter-by"
30
- (click)="openOverlay(context)"
31
- >
32
- <div class="searchstax-facets-pill-label">Filter By</div>
33
- </div>
34
- <div class="searchstax-facets-pills-selected">
35
- <div
36
- class="searchstax-facets-pill searchstax-facets-pill-facets"
37
- *ngFor="let facet of selectedFacetsCheckboxes"
38
- (click)="unselectFacet(facet, context)"
39
- >
40
- <div class="searchstax-facets-pill-label">
41
- {{ facet.value }} ({{ facet.count }})
42
- </div>
43
- <div class="searchstax-facets-pill-icon-close"></div>
44
- </div>
45
- </div>
46
- <div
47
- class="searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all"
48
- *ngIf="selectedFacetsCheckboxes.length"
49
- (click)="unselectAll(context)"
50
- >
51
- <div class="searchstax-facets-pill-label">Clear Filters</div>
52
- </div>
53
- </div>
54
- <div
55
- class="searchstax-facets-mobile-overlay"
56
- [class]="{
57
- 'searchstax-show': facetMobileData(facetsTemplateDataMobile)
58
- ?.overlayOpened
59
- }"
60
- >
61
- <div class="searchstax-facets-mobile-overlay-header">
62
- <div class="searchstax-facets-mobile-overlay-header-title">
63
- Filter By
64
- </div>
65
- <div
66
- class="searchstax-search-close"
67
- (click)="closeOverlay(context)"
68
- ></div>
69
- </div>
70
- <div class="searchstax-facets-container-mobile">
71
- <div
72
- *ngFor="let facet of facetsTemplateDataMobile?.facets"
73
- class="searchstax-facet-container"
74
- [class]="{
75
- active: isNotDeactivated(facet.name, context)
76
- }"
77
- >
78
- <div>
79
- <div
80
- class="searchstax-facet-title-container"
81
- (click)="toggleFacetGroup(facet.name, context)"
82
- >
83
- <div class="searchstax-facet-title">
84
- {{ facet.label }}
85
- </div>
86
- <div class="searchstax-facet-title-arrow active"></div>
87
- </div>
88
- <div
89
- class="searchstax-facet-values-container"
90
- aria-live="polite"
91
- >
92
- <div
93
- *ngFor="let facetValue of facetValues(facet); index as key"
94
- class="searchstax-facet-value-container"
95
- [class]="{
96
- 'searchstax-facet-value-disabled': facetValue.disabled
97
- }"
98
- #ref
99
- >
100
- <div class="searchstax-facet-input">
101
- <input
102
- type="checkbox"
103
- class="searchstax-facet-input-checkbox"
104
- [checked]="isChecked(facetValue, context)"
105
- [attr.aria-label]="
106
- facetValue.value + ' ' + facetValue.count
107
- "
108
- [disabled]="facetValue.disabled"
109
- (click)="
110
- selectFacet(ref, $event, facetValue, true, context)
111
- "
112
- />
113
- </div>
114
- <div
115
- class="searchstax-facet-value-label"
116
- (click)="
117
- selectFacet(ref, $event, facetValue, false, context)
118
- "
119
- >
120
- {{ facetValue.value }}
121
- </div>
122
- <div
123
- class="searchstax-facet-value-count"
124
- (click)="
125
- selectFacet(ref, $event, facetValue, false, context)
126
- "
127
- >
128
- ({{ facetValue.count }})
129
- </div>
130
- </div>
131
- <div
132
- class="searchstax-facet-show-more-container"
133
- *ngIf="facet.hasMoreFacets"
134
- >
135
- <div
136
- class="searchstax-facet-show-more-container"
137
- (click)="showMoreLessMobile($event, facet, context)"
138
- (keyup.enter)="showMoreLessMobile($event, facet, context)"
139
- (keyup.space)="showMoreLessMobile($event, facet, context)"
140
- tabindex="0"
141
- >
142
- <div
143
- *ngIf="facet.showingAllFacets"
144
- class="searchstax-facet-show-less-button searchstax-facet-show-button"
145
- >
146
- less
147
- </div>
148
- <div
149
- *ngIf="!facet.showingAllFacets"
150
- class="searchstax-facet-show-more-button searchstax-facet-show-button"
151
- >
152
- more
153
- </div>
154
- </div>
155
- </div>
156
- </div>
157
- </div>
158
- </div>
159
- </div>
160
- <button
161
- class="searchstax-facets-mobile-overlay-done"
162
- (click)="closeOverlay(context)"
163
- >
164
- Done
165
- </button>
166
- </div>
167
- </div>
168
- </ng-template>
169
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
170
- }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FacetMobileTemplateComponent, decorators: [{
172
- type: Component,
173
- args: [{
174
- selector: "app-facet-mobile-template",
175
- template: `
176
- <ng-template
177
- #templateOverrideMobile
178
- let-isNotDeactivated="isNotDeactivated"
179
- let-context="context"
180
- let-toggleFacetGroup="toggleFacetGroup"
181
- let-facetValues="facetValues"
182
- let-isChecked="isChecked"
183
- let-selectFacet="selectFacet"
184
- let-openOverlay="openOverlay"
185
- let-selectedFacetsCheckboxes="selectedFacetsCheckboxes"
186
- let-unselectFacet="unselectFacet"
187
- let-unselectAll="unselectAll"
188
- let-facetMobileData="facetMobileData"
189
- let-facetsTemplateDataMobile="facetsTemplateDataMobile"
190
- let-closeOverlay="closeOverlay"
191
- let-showMoreLessDesktop="showMoreLessDesktop"
192
- let-showMoreLessMobile="showMoreLessMobile"
193
- >
194
- <div class="searchstax-facets-container-mobile">
195
- <div class="searchstax-facets-pills-container">
196
- <div
197
- class="searchstax-facets-pill searchstax-facets-pill-filter-by"
198
- (click)="openOverlay(context)"
199
- >
200
- <div class="searchstax-facets-pill-label">Filter By</div>
201
- </div>
202
- <div class="searchstax-facets-pills-selected">
203
- <div
204
- class="searchstax-facets-pill searchstax-facets-pill-facets"
205
- *ngFor="let facet of selectedFacetsCheckboxes"
206
- (click)="unselectFacet(facet, context)"
207
- >
208
- <div class="searchstax-facets-pill-label">
209
- {{ facet.value }} ({{ facet.count }})
210
- </div>
211
- <div class="searchstax-facets-pill-icon-close"></div>
212
- </div>
213
- </div>
214
- <div
215
- class="searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all"
216
- *ngIf="selectedFacetsCheckboxes.length"
217
- (click)="unselectAll(context)"
218
- >
219
- <div class="searchstax-facets-pill-label">Clear Filters</div>
220
- </div>
221
- </div>
222
- <div
223
- class="searchstax-facets-mobile-overlay"
224
- [class]="{
225
- 'searchstax-show': facetMobileData(facetsTemplateDataMobile)
226
- ?.overlayOpened
227
- }"
228
- >
229
- <div class="searchstax-facets-mobile-overlay-header">
230
- <div class="searchstax-facets-mobile-overlay-header-title">
231
- Filter By
232
- </div>
233
- <div
234
- class="searchstax-search-close"
235
- (click)="closeOverlay(context)"
236
- ></div>
237
- </div>
238
- <div class="searchstax-facets-container-mobile">
239
- <div
240
- *ngFor="let facet of facetsTemplateDataMobile?.facets"
241
- class="searchstax-facet-container"
242
- [class]="{
243
- active: isNotDeactivated(facet.name, context)
244
- }"
245
- >
246
- <div>
247
- <div
248
- class="searchstax-facet-title-container"
249
- (click)="toggleFacetGroup(facet.name, context)"
250
- >
251
- <div class="searchstax-facet-title">
252
- {{ facet.label }}
253
- </div>
254
- <div class="searchstax-facet-title-arrow active"></div>
255
- </div>
256
- <div
257
- class="searchstax-facet-values-container"
258
- aria-live="polite"
259
- >
260
- <div
261
- *ngFor="let facetValue of facetValues(facet); index as key"
262
- class="searchstax-facet-value-container"
263
- [class]="{
264
- 'searchstax-facet-value-disabled': facetValue.disabled
265
- }"
266
- #ref
267
- >
268
- <div class="searchstax-facet-input">
269
- <input
270
- type="checkbox"
271
- class="searchstax-facet-input-checkbox"
272
- [checked]="isChecked(facetValue, context)"
273
- [attr.aria-label]="
274
- facetValue.value + ' ' + facetValue.count
275
- "
276
- [disabled]="facetValue.disabled"
277
- (click)="
278
- selectFacet(ref, $event, facetValue, true, context)
279
- "
280
- />
281
- </div>
282
- <div
283
- class="searchstax-facet-value-label"
284
- (click)="
285
- selectFacet(ref, $event, facetValue, false, context)
286
- "
287
- >
288
- {{ facetValue.value }}
289
- </div>
290
- <div
291
- class="searchstax-facet-value-count"
292
- (click)="
293
- selectFacet(ref, $event, facetValue, false, context)
294
- "
295
- >
296
- ({{ facetValue.count }})
297
- </div>
298
- </div>
299
- <div
300
- class="searchstax-facet-show-more-container"
301
- *ngIf="facet.hasMoreFacets"
302
- >
303
- <div
304
- class="searchstax-facet-show-more-container"
305
- (click)="showMoreLessMobile($event, facet, context)"
306
- (keyup.enter)="showMoreLessMobile($event, facet, context)"
307
- (keyup.space)="showMoreLessMobile($event, facet, context)"
308
- tabindex="0"
309
- >
310
- <div
311
- *ngIf="facet.showingAllFacets"
312
- class="searchstax-facet-show-less-button searchstax-facet-show-button"
313
- >
314
- less
315
- </div>
316
- <div
317
- *ngIf="!facet.showingAllFacets"
318
- class="searchstax-facet-show-more-button searchstax-facet-show-button"
319
- >
320
- more
321
- </div>
322
- </div>
323
- </div>
324
- </div>
325
- </div>
326
- </div>
327
- </div>
328
- <button
329
- class="searchstax-facets-mobile-overlay-done"
330
- (click)="closeOverlay(context)"
331
- >
332
- Done
333
- </button>
334
- </div>
335
- </div>
336
- </ng-template>
337
- `,
338
- }]
339
- }], propDecorators: { templateOverrideMobile: [{
340
- type: ViewChild,
341
- args: ["templateOverrideMobile"]
342
- }] } });
343
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZmFjZXQtbW9iaWxlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3RlbXBsYXRlcy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldC1tb2JpbGUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7QUF3S2xFLE1BQU0sT0FBTyw0QkFBNEI7K0dBQTVCLDRCQUE0QjttR0FBNUIsNEJBQTRCLG1NQXBLN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtLVDs7NEZBRVUsNEJBQTRCO2tCQXRLeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtLVDtpQkFDRjs4QkFHQyxzQkFBc0I7c0JBRHJCLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmV1c2FibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLWZhY2V0LW1vYmlsZS10ZW1wbGF0ZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI3RlbXBsYXRlT3ZlcnJpZGVNb2JpbGVcbiAgICAgIGxldC1pc05vdERlYWN0aXZhdGVkPVwiaXNOb3REZWFjdGl2YXRlZFwiXG4gICAgICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuICAgICAgbGV0LXRvZ2dsZUZhY2V0R3JvdXA9XCJ0b2dnbGVGYWNldEdyb3VwXCJcbiAgICAgIGxldC1mYWNldFZhbHVlcz1cImZhY2V0VmFsdWVzXCJcbiAgICAgIGxldC1pc0NoZWNrZWQ9XCJpc0NoZWNrZWRcIlxuICAgICAgbGV0LXNlbGVjdEZhY2V0PVwic2VsZWN0RmFjZXRcIlxuICAgICAgbGV0LW9wZW5PdmVybGF5PVwib3Blbk92ZXJsYXlcIlxuICAgICAgbGV0LXNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlcz1cInNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlc1wiXG4gICAgICBsZXQtdW5zZWxlY3RGYWNldD1cInVuc2VsZWN0RmFjZXRcIlxuICAgICAgbGV0LXVuc2VsZWN0QWxsPVwidW5zZWxlY3RBbGxcIlxuICAgICAgbGV0LWZhY2V0TW9iaWxlRGF0YT1cImZhY2V0TW9iaWxlRGF0YVwiXG4gICAgICBsZXQtZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPVwiZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlXCJcbiAgICAgIGxldC1jbG9zZU92ZXJsYXk9XCJjbG9zZU92ZXJsYXlcIlxuICAgICAgbGV0LXNob3dNb3JlTGVzc0Rlc2t0b3A9XCJzaG93TW9yZUxlc3NEZXNrdG9wXCJcbiAgICAgIGxldC1zaG93TW9yZUxlc3NNb2JpbGU9XCJzaG93TW9yZUxlc3NNb2JpbGVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1jb250YWluZXItbW9iaWxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1waWxscy1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1maWx0ZXItYnlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5PdmVybGF5KGNvbnRleHQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1sYWJlbFwiPkZpbHRlciBCeTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1waWxscy1zZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1mYWNldHNcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXQgb2Ygc2VsZWN0ZWRGYWNldHNDaGVja2JveGVzXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVuc2VsZWN0RmFjZXQoZmFjZXQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyBmYWNldC52YWx1ZSB9fSAoe3sgZmFjZXQuY291bnQgfX0pXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1pY29uLWNsb3NlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1jbGVhci1maWx0ZXJzIHNlYXJjaHN0YXgtZmFjZXRzLXBpbGwtY2xlYXItYWxsXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRGYWNldHNDaGVja2JveGVzLmxlbmd0aFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidW5zZWxlY3RBbGwoY29udGV4dClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1waWxsLWxhYmVsXCI+Q2xlYXIgRmlsdGVyczwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtbW9iaWxlLW92ZXJsYXlcIlxuICAgICAgICAgIFtjbGFzc109XCJ7XG4gICAgICAgICAgICAnc2VhcmNoc3RheC1zaG93JzogZmFjZXRNb2JpbGVEYXRhKGZhY2V0c1RlbXBsYXRlRGF0YU1vYmlsZSlcbiAgICAgICAgICAgICAgPy5vdmVybGF5T3BlbmVkXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtbW9iaWxlLW92ZXJsYXktaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtbW9iaWxlLW92ZXJsYXktaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgIEZpbHRlciBCeVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtY2xvc2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VPdmVybGF5KGNvbnRleHQpXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtY29udGFpbmVyLW1vYmlsZVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXQgb2YgZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPy5mYWNldHNcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGlzTm90RGVhY3RpdmF0ZWQoZmFjZXQubmFtZSwgY29udGV4dClcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXRpdGxlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRmFjZXRHcm91cChmYWNldC5uYW1lLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZmFjZXQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdGl0bGUtYXJyb3cgYWN0aXZlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlcy1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmYWNldFZhbHVlIG9mIGZhY2V0VmFsdWVzKGZhY2V0KTsgaW5kZXggYXMga2V5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgJ3NlYXJjaHN0YXgtZmFjZXQtdmFsdWUtZGlzYWJsZWQnOiBmYWNldFZhbHVlLmRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAjcmVmXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0LWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZChmYWNldFZhbHVlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmYWNldFZhbHVlLnZhbHVlICsgJyAnICsgZmFjZXRWYWx1ZS5jb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWNldFZhbHVlLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIHRydWUsIGNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RGYWNldChyZWYsICRldmVudCwgZmFjZXRWYWx1ZSwgZmFsc2UsIGNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGZhY2V0VmFsdWUudmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdmFsdWUtY291bnRcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdEZhY2V0KHJlZiwgJGV2ZW50LCBmYWNldFZhbHVlLCBmYWxzZSwgY29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgKHt7IGZhY2V0VmFsdWUuY291bnQgfX0pXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmYWNldC5oYXNNb3JlRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd01vcmVMZXNzTW9iaWxlKCRldmVudCwgZmFjZXQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwic2hvd01vcmVMZXNzTW9iaWxlKCRldmVudCwgZmFjZXQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwic2hvd01vcmVMZXNzTW9iaWxlKCRldmVudCwgZmFjZXQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmYWNldC5zaG93aW5nQWxsRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LWxlc3MtYnV0dG9uIHNlYXJjaHN0YXgtZmFjZXQtc2hvdy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxlc3NcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFmYWNldC5zaG93aW5nQWxsRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtYnV0dG9uIHNlYXJjaHN0YXgtZmFjZXQtc2hvdy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1vcmVcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLW1vYmlsZS1vdmVybGF5LWRvbmVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlT3ZlcmxheShjb250ZXh0KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgRG9uZVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZhY2V0TW9iaWxlVGVtcGxhdGVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKFwidGVtcGxhdGVPdmVycmlkZU1vYmlsZVwiKVxuICB0ZW1wbGF0ZU92ZXJyaWRlTW9iaWxlITogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==