@searchstax-inc/searchstudio-ux-angular 4.1.0 → 4.1.5
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.
- package/CHANGELOG.md +30 -15
- package/README.md +6 -2
- package/esm2022/lib/components/searchstax-input/searchstax-input.component.mjs +81 -0
- package/esm2022/lib/components/searchstax-results/searchstax-results.component.mjs +88 -0
- package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs +47 -0
- package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +41 -0
- package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +114 -0
- package/esm2022/lib/components/searchstax-search-location/searchstax-search-location.component.mjs +92 -0
- package/esm2022/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +42 -0
- package/esm2022/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +64 -0
- package/esm2022/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +45 -0
- package/esm2022/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +46 -0
- package/esm2022/lib/components/searchstax-wrapper.component.mjs +93 -0
- package/esm2022/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.mjs +91 -0
- package/esm2022/lib/components/templates/searchstax-search-answer-template.mjs +119 -0
- package/esm2022/lib/components/templates/searchstax-search-external-template.mjs +107 -0
- package/esm2022/lib/components/templates/searchstax-search-facet-desktop-template.mjs +207 -0
- package/esm2022/lib/components/templates/searchstax-search-facet-mobile-template.mjs +343 -0
- package/esm2022/lib/components/templates/searchstax-search-input-template.mjs +126 -0
- package/esm2022/lib/components/templates/searchstax-search-location-template.mjs +152 -0
- package/esm2022/lib/components/templates/searchstax-search-no-results-template.mjs +85 -0
- package/esm2022/lib/components/templates/searchstax-search-overview-template.mjs +87 -0
- package/esm2022/lib/components/templates/searchstax-search-pagination-infinite-template.mjs +60 -0
- package/esm2022/lib/components/templates/searchstax-search-pagination-template.mjs +96 -0
- package/esm2022/lib/components/templates/searchstax-search-related-template.mjs +81 -0
- package/esm2022/lib/components/templates/searchstax-search-results-template.mjs +175 -0
- package/esm2022/lib/components/templates/searchstax-search-sorting-template.mjs +76 -0
- package/esm2022/lib/searchstudio-ux-angular.module.mjs +138 -0
- package/esm2022/lib/services/store-service.service.mjs +17 -0
- package/esm2022/public-api.mjs +30 -0
- package/esm2022/searchstax-inc-searchstudio-ux-angular.mjs +5 -0
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +2601 -0
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/searchstax-input/searchstax-input.component.d.ts +37 -0
- package/lib/components/searchstax-results/searchstax-results.component.d.ts +27 -0
- package/lib/components/searchstax-search-answer/searchstax-search-answer.component.d.ts +19 -0
- package/lib/components/searchstax-search-external/searchstax-search-external.component.d.ts +17 -0
- package/lib/components/searchstax-search-facets/searchstax-search-facets.component.d.ts +37 -0
- package/lib/components/searchstax-search-location/searchstax-search-location.component.d.ts +33 -0
- package/lib/components/searchstax-search-overview/searchstax-search-overview.component.d.ts +17 -0
- package/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.d.ts +21 -0
- package/lib/components/searchstax-search-related/searchstax-search-related.component.d.ts +19 -0
- package/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.d.ts +18 -0
- package/lib/components/searchstax-wrapper.component.d.ts +31 -0
- package/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.d.ts +13 -0
- package/lib/components/templates/searchstax-search-answer-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-external-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-facet-desktop-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-facet-mobile-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-input-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-location-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-no-results-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-overview-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-pagination-infinite-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-pagination-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-related-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-results-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-sorting-template.d.ts +7 -0
- package/lib/searchstudio-ux-angular.module.d.ts +32 -0
- package/lib/services/store-service.service.d.ts +8 -0
- package/package.json +2 -5
- package/public-api.d.ts +26 -0
|
@@ -0,0 +1,119 @@
|
|
|
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 AnswerTemplateComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnswerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnswerTemplateComponent, selector: "app-answer-template", viewQueries: [{ propertyName: "answerTemplate", first: true, predicate: ["answerTemplate"], descendants: true }], ngImport: i0, template: `
|
|
8
|
+
<ng-template
|
|
9
|
+
#answerTemplate
|
|
10
|
+
let-answerData="answerData"
|
|
11
|
+
let-showMore="showMore"
|
|
12
|
+
let-context="context"
|
|
13
|
+
>
|
|
14
|
+
<div class="searchstax-answer-wrap">
|
|
15
|
+
<div class="searchstax-answer-icon"></div>
|
|
16
|
+
<div>
|
|
17
|
+
<div
|
|
18
|
+
[class]="{
|
|
19
|
+
'searchstax-answer-container': true,
|
|
20
|
+
'searchstax-answer-show-more': answerData.showMoreButtonVisible
|
|
21
|
+
}"
|
|
22
|
+
>
|
|
23
|
+
<div class="searchstax-answer-title">Smart Answers</div>
|
|
24
|
+
<div
|
|
25
|
+
class="searchstax-answer-error"
|
|
26
|
+
*ngIf="answerData.shouldShowAnswerError"
|
|
27
|
+
[innerHTML]="answerData.answerErrorMessage"
|
|
28
|
+
></div>
|
|
29
|
+
<div
|
|
30
|
+
class="searchstax-answer-description"
|
|
31
|
+
[innerHTML]="answerData.fullAnswerFormatted"
|
|
32
|
+
></div>
|
|
33
|
+
<div
|
|
34
|
+
*ngIf="answerData.answerLoading"
|
|
35
|
+
class="searchstax-answer-loading"
|
|
36
|
+
></div>
|
|
37
|
+
</div>
|
|
38
|
+
<div
|
|
39
|
+
*ngIf="answerData.showMoreButtonVisible"
|
|
40
|
+
class="searchstax-answer-load-more-button-container"
|
|
41
|
+
>
|
|
42
|
+
<button
|
|
43
|
+
class="searchstax-answer-load-more-button"
|
|
44
|
+
(click)="showMore($event, context)"
|
|
45
|
+
>
|
|
46
|
+
Read More
|
|
47
|
+
</button>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="searchstax-answer-footer">
|
|
51
|
+
<div id="feedbackWidgetContainer"></div>
|
|
52
|
+
<div class="searchstax-lightweight-widget-separator-inline"></div>
|
|
53
|
+
<p class="searchstax-disclaimer">Generative AI is Experimental</p>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</ng-template>
|
|
57
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnswerTemplateComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{
|
|
62
|
+
selector: "app-answer-template",
|
|
63
|
+
template: `
|
|
64
|
+
<ng-template
|
|
65
|
+
#answerTemplate
|
|
66
|
+
let-answerData="answerData"
|
|
67
|
+
let-showMore="showMore"
|
|
68
|
+
let-context="context"
|
|
69
|
+
>
|
|
70
|
+
<div class="searchstax-answer-wrap">
|
|
71
|
+
<div class="searchstax-answer-icon"></div>
|
|
72
|
+
<div>
|
|
73
|
+
<div
|
|
74
|
+
[class]="{
|
|
75
|
+
'searchstax-answer-container': true,
|
|
76
|
+
'searchstax-answer-show-more': answerData.showMoreButtonVisible
|
|
77
|
+
}"
|
|
78
|
+
>
|
|
79
|
+
<div class="searchstax-answer-title">Smart Answers</div>
|
|
80
|
+
<div
|
|
81
|
+
class="searchstax-answer-error"
|
|
82
|
+
*ngIf="answerData.shouldShowAnswerError"
|
|
83
|
+
[innerHTML]="answerData.answerErrorMessage"
|
|
84
|
+
></div>
|
|
85
|
+
<div
|
|
86
|
+
class="searchstax-answer-description"
|
|
87
|
+
[innerHTML]="answerData.fullAnswerFormatted"
|
|
88
|
+
></div>
|
|
89
|
+
<div
|
|
90
|
+
*ngIf="answerData.answerLoading"
|
|
91
|
+
class="searchstax-answer-loading"
|
|
92
|
+
></div>
|
|
93
|
+
</div>
|
|
94
|
+
<div
|
|
95
|
+
*ngIf="answerData.showMoreButtonVisible"
|
|
96
|
+
class="searchstax-answer-load-more-button-container"
|
|
97
|
+
>
|
|
98
|
+
<button
|
|
99
|
+
class="searchstax-answer-load-more-button"
|
|
100
|
+
(click)="showMore($event, context)"
|
|
101
|
+
>
|
|
102
|
+
Read More
|
|
103
|
+
</button>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="searchstax-answer-footer">
|
|
107
|
+
<div id="feedbackWidgetContainer"></div>
|
|
108
|
+
<div class="searchstax-lightweight-widget-separator-inline"></div>
|
|
109
|
+
<p class="searchstax-disclaimer">Generative AI is Experimental</p>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
</ng-template>
|
|
113
|
+
`,
|
|
114
|
+
}]
|
|
115
|
+
}], propDecorators: { answerTemplate: [{
|
|
116
|
+
type: ViewChild,
|
|
117
|
+
args: ["answerTemplate"]
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3RlbXBsYXRlcy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXItdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7QUF3RGxFLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCLDZLQXBEeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RUOzs0RkFFVSx1QkFBdUI7a0JBdERuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrRFQ7aUJBQ0Y7OEJBRThCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmV1c2FibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLWFuc3dlci10ZW1wbGF0ZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2Fuc3dlclRlbXBsYXRlXG4gICAgICBsZXQtYW5zd2VyRGF0YT1cImFuc3dlckRhdGFcIlxuICAgICAgbGV0LXNob3dNb3JlPVwic2hvd01vcmVcIlxuICAgICAgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItaWNvblwiPjwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtjbGFzc109XCJ7XG4gICAgICAgICAgICAgICdzZWFyY2hzdGF4LWFuc3dlci1jb250YWluZXInOiB0cnVlLFxuICAgICAgICAgICAgICAnc2VhcmNoc3RheC1hbnN3ZXItc2hvdy1tb3JlJzogYW5zd2VyRGF0YS5zaG93TW9yZUJ1dHRvblZpc2libGVcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci10aXRsZVwiPlNtYXJ0IEFuc3dlcnM8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1lcnJvclwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiYW5zd2VyRGF0YS5zaG91bGRTaG93QW5zd2VyRXJyb3JcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImFuc3dlckRhdGEuYW5zd2VyRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiYW5zd2VyRGF0YS5mdWxsQW5zd2VyRm9ybWF0dGVkXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbnN3ZXJEYXRhLmFuc3dlckxvYWRpbmdcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtYW5zd2VyLWxvYWRpbmdcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYW5zd2VyRGF0YS5zaG93TW9yZUJ1dHRvblZpc2libGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1sb2FkLW1vcmUtYnV0dG9uLWNvbnRhaW5lclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtYW5zd2VyLWxvYWQtbW9yZS1idXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd01vcmUoJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJlYWQgTW9yZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItZm9vdGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cImZlZWRiYWNrV2lkZ2V0Q29udGFpbmVyXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtbGlnaHR3ZWlnaHQtd2lkZ2V0LXNlcGFyYXRvci1pbmxpbmVcIj48L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzcz1cInNlYXJjaHN0YXgtZGlzY2xhaW1lclwiPkdlbmVyYXRpdmUgQUkgaXMgRXhwZXJpbWVudGFsPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEFuc3dlclRlbXBsYXRlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChcImFuc3dlclRlbXBsYXRlXCIpIGFuc3dlclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,107 @@
|
|
|
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 ExternalPromotionsTemplateComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExternalPromotionsTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ExternalPromotionsTemplateComponent, selector: "app-external-template", viewQueries: [{ propertyName: "externalPromotionsTemplate", first: true, predicate: ["externalPromotionsTemplate"], descendants: true }], ngImport: i0, template: `
|
|
8
|
+
<ng-template
|
|
9
|
+
#externalPromotionsTemplate
|
|
10
|
+
let-context="context"
|
|
11
|
+
let-externalPromotionsData="externalPromotionsData"
|
|
12
|
+
let-trackClick="trackClick"
|
|
13
|
+
>
|
|
14
|
+
<div
|
|
15
|
+
class="searchstax-external-promotions-container"
|
|
16
|
+
id="searchstax-external-promotions-container"
|
|
17
|
+
>
|
|
18
|
+
<div
|
|
19
|
+
class="searchstax-external-promotion searchstax-search-result"
|
|
20
|
+
*ngFor="
|
|
21
|
+
let externalPromotion of externalPromotionsData.externalPromotions
|
|
22
|
+
"
|
|
23
|
+
>
|
|
24
|
+
<div class="icon-elevated"></div>
|
|
25
|
+
<a
|
|
26
|
+
*ngIf="externalPromotion.url"
|
|
27
|
+
[href]="externalPromotion.url"
|
|
28
|
+
(click)="trackClick(externalPromotion, $event, context)"
|
|
29
|
+
class="searchstax-result-item-link"
|
|
30
|
+
></a>
|
|
31
|
+
<div class="searchstax-search-result-title-container">
|
|
32
|
+
<span class="searchstax-search-result-title">{{
|
|
33
|
+
externalPromotion.name
|
|
34
|
+
}}</span>
|
|
35
|
+
</div>
|
|
36
|
+
<p
|
|
37
|
+
*ngIf="externalPromotion.description"
|
|
38
|
+
class="searchstax-search-result-description searchstax-search-result-common"
|
|
39
|
+
>
|
|
40
|
+
{{ externalPromotion.description }}
|
|
41
|
+
</p>
|
|
42
|
+
<p
|
|
43
|
+
*ngIf="externalPromotion.url"
|
|
44
|
+
class="searchstax-search-result-description searchstax-search-result-common"
|
|
45
|
+
>
|
|
46
|
+
{{ externalPromotion.url }}
|
|
47
|
+
</p>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</ng-template>
|
|
51
|
+
`, 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"] }] }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExternalPromotionsTemplateComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{
|
|
56
|
+
selector: "app-external-template",
|
|
57
|
+
template: `
|
|
58
|
+
<ng-template
|
|
59
|
+
#externalPromotionsTemplate
|
|
60
|
+
let-context="context"
|
|
61
|
+
let-externalPromotionsData="externalPromotionsData"
|
|
62
|
+
let-trackClick="trackClick"
|
|
63
|
+
>
|
|
64
|
+
<div
|
|
65
|
+
class="searchstax-external-promotions-container"
|
|
66
|
+
id="searchstax-external-promotions-container"
|
|
67
|
+
>
|
|
68
|
+
<div
|
|
69
|
+
class="searchstax-external-promotion searchstax-search-result"
|
|
70
|
+
*ngFor="
|
|
71
|
+
let externalPromotion of externalPromotionsData.externalPromotions
|
|
72
|
+
"
|
|
73
|
+
>
|
|
74
|
+
<div class="icon-elevated"></div>
|
|
75
|
+
<a
|
|
76
|
+
*ngIf="externalPromotion.url"
|
|
77
|
+
[href]="externalPromotion.url"
|
|
78
|
+
(click)="trackClick(externalPromotion, $event, context)"
|
|
79
|
+
class="searchstax-result-item-link"
|
|
80
|
+
></a>
|
|
81
|
+
<div class="searchstax-search-result-title-container">
|
|
82
|
+
<span class="searchstax-search-result-title">{{
|
|
83
|
+
externalPromotion.name
|
|
84
|
+
}}</span>
|
|
85
|
+
</div>
|
|
86
|
+
<p
|
|
87
|
+
*ngIf="externalPromotion.description"
|
|
88
|
+
class="searchstax-search-result-description searchstax-search-result-common"
|
|
89
|
+
>
|
|
90
|
+
{{ externalPromotion.description }}
|
|
91
|
+
</p>
|
|
92
|
+
<p
|
|
93
|
+
*ngIf="externalPromotion.url"
|
|
94
|
+
class="searchstax-search-result-description searchstax-search-result-common"
|
|
95
|
+
>
|
|
96
|
+
{{ externalPromotion.url }}
|
|
97
|
+
</p>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</ng-template>
|
|
101
|
+
`,
|
|
102
|
+
}]
|
|
103
|
+
}], propDecorators: { externalPromotionsTemplate: [{
|
|
104
|
+
type: ViewChild,
|
|
105
|
+
args: ["externalPromotionsTemplate"]
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZXh0ZXJuYWwtdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7O0FBa0RsRSxNQUFNLE9BQU8sbUNBQW1DOytHQUFuQyxtQ0FBbUM7bUdBQW5DLG1DQUFtQyx1TUE5Q3BDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDVDs7NEZBRVUsbUNBQW1DO2tCQWhEL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENUO2lCQUNGOzhCQUUwQywwQkFBMEI7c0JBQWxFLFNBQVM7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmV1c2FibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLWV4dGVybmFsLXRlbXBsYXRlXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAjZXh0ZXJuYWxQcm9tb3Rpb25zVGVtcGxhdGVcbiAgICAgIGxldC1jb250ZXh0PVwiY29udGV4dFwiXG4gICAgICBsZXQtZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YT1cImV4dGVybmFsUHJvbW90aW9uc0RhdGFcIlxuICAgICAgbGV0LXRyYWNrQ2xpY2s9XCJ0cmFja0NsaWNrXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWNvbnRhaW5lclwiXG4gICAgICAgIGlkPVwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9uIHNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgZXh0ZXJuYWxQcm9tb3Rpb24gb2YgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YS5leHRlcm5hbFByb21vdGlvbnNcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tZWxldmF0ZWRcIj48L2Rpdj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgKm5nSWY9XCJleHRlcm5hbFByb21vdGlvbi51cmxcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZXh0ZXJuYWxQcm9tb3Rpb24udXJsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0cmFja0NsaWNrKGV4dGVybmFsUHJvbW90aW9uLCAkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1yZXN1bHQtaXRlbS1saW5rXCJcbiAgICAgICAgICA+PC9hPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZVwiPnt7XG4gICAgICAgICAgICAgIGV4dGVybmFsUHJvbW90aW9uLm5hbWVcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cImV4dGVybmFsUHJvbW90aW9uLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWRlc2NyaXB0aW9uIHNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGV4dGVybmFsUHJvbW90aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cImV4dGVybmFsUHJvbW90aW9uLnVybFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1kZXNjcmlwdGlvbiBzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBleHRlcm5hbFByb21vdGlvbi51cmwgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxQcm9tb3Rpb25zVGVtcGxhdGVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKFwiZXh0ZXJuYWxQcm9tb3Rpb25zVGVtcGxhdGVcIikgZXh0ZXJuYWxQcm9tb3Rpb25zVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIl19
|
|
@@ -0,0 +1,207 @@
|
|
|
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==
|