@searchstax-inc/searchstudio-ux-angular 1.2.8 → 1.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.
- package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs +44 -0
- package/esm2022/lib/components/searchstax-wrapper.component.mjs +7 -3
- package/esm2022/lib/searchstudio-ux-angular.module.mjs +10 -5
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +55 -7
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -1
- package/lib/components/searchstax-search-answer/searchstax-search-answer.component.d.ts +18 -0
- package/lib/components/searchstax-wrapper.component.d.ts +2 -1
- package/lib/searchstudio-ux-angular.module.d.ts +4 -3
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/store-service.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class SearchstaxSearchAnswerWidget {
|
|
6
|
+
constructor(storeServiceService) {
|
|
7
|
+
this.storeServiceService = storeServiceService;
|
|
8
|
+
this.answerData = null;
|
|
9
|
+
this.rand = Math.random();
|
|
10
|
+
this.context = this;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
if (this.storeServiceService.searchstax) {
|
|
14
|
+
this.attachObservables();
|
|
15
|
+
setTimeout(() => {
|
|
16
|
+
this.storeServiceService.searchstax.addAnswerWidget('searchstax-answer-container' + this.rand, { showShowMoreAfterWordCount: this.showShowMoreAfterWordCount });
|
|
17
|
+
}, 0);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
showMore(event, context) {
|
|
24
|
+
if (context.storeServiceService.searchstax) {
|
|
25
|
+
context.storeServiceService.searchstax.answerWidget?.showMore(event);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
attachObservables() {
|
|
29
|
+
this.storeServiceService.searchstax.dataLayer.$answerData.subscribe((answerData) => {
|
|
30
|
+
this.answerData = answerData;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchAnswerWidget, selector: "app-searchstax-answer", inputs: { templateOverride: "templateOverride", showShowMoreAfterWordCount: "showShowMoreAfterWordCount" }, ngImport: i0, template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-description\">\n {{\n answerData.showMoreButtonVisible\n ? answerData.answerTruncated\n : answerData.answer\n }}\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: "app-searchstax-answer", template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-description\">\n {{\n answerData.showMoreButtonVisible\n ? answerData.answerTruncated\n : answerData.answer\n }}\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
39
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverride: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], showShowMoreAfterWordCount: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7OztBQVN0RSxNQUFNLE9BQU8sNEJBQTRCO0lBT3ZDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSDVELGVBQVUsR0FBaUMsSUFBSSxDQUFDO1FBQ2hELFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUNnRCxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFDLENBQUMsQ0FBQztZQUNoSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQWE7UUFDbEMsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQzFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUNyRTtJQUNILENBQUM7SUFHRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUNqRSxDQUFDLFVBQXdDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUMvQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBakNVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHlLQ1R6QyxnOENBd0RBOzs0RkQvQ2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjt3RkFLeEIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVNlYXJjaHN0YXhBbnN3ZXJEYXRhIH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1hbnN3ZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFNlYXJjaEFuc3dlcldpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBzaG93U2hvd01vcmVBZnRlcldvcmRDb3VudD86IG51bWJlcjtcblxuICBhbnN3ZXJEYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhBbnN3ZXJEYXRhID0gbnVsbDtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG4gIGNvbnRleHQgPSB0aGlzO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkQW5zd2VyV2lkZ2V0KCdzZWFyY2hzdGF4LWFuc3dlci1jb250YWluZXInICsgdGhpcy5yYW5kLCB7c2hvd1Nob3dNb3JlQWZ0ZXJXb3JkQ291bnQ6IHRoaXMuc2hvd1Nob3dNb3JlQWZ0ZXJXb3JkQ291bnR9KTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlNlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBzaG93TW9yZShldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBpZiAoY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFuc3dlcldpZGdldD8uc2hvd01vcmUoZXZlbnQpXG4gICAgfVxuICB9XG5cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGFuc3dlckRhdGEuc3Vic2NyaWJlKFxuICAgICAgKGFuc3dlckRhdGE6IG51bGwgfCBJU2VhcmNoc3RheEFuc3dlckRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5hbnN3ZXJEYXRhID0gYW5zd2VyRGF0YTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1hbnN3ZXItY29udGFpbmVyJyArIHJhbmRcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBhbnN3ZXJEYXRhICYmXG4gICAgICBhbnN3ZXJEYXRhPy5zZWFyY2hFeGVjdXRlZCAmJlxuICAgICAgYW5zd2VyRGF0YS5zaG91bGRTaG93QW5zd2VyICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8ZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBbY2xhc3NdPVwiXG4gICAgICAgICAgJ3NlYXJjaHN0YXgtYW5zd2VyLWNvbnRhaW5lcicgKyBhbnN3ZXJEYXRhLnNob3dNb3JlQnV0dG9uVmlzaWJsZVxuICAgICAgICAgICAgPyAnc2VhcmNoc3RheC1hbnN3ZXItc2hvdy1tb3JlJ1xuICAgICAgICAgICAgOiAnJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItdGl0bGVcIj5BbnN3ZXI8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtYW5zd2VyLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgIGFuc3dlckRhdGEuc2hvd01vcmVCdXR0b25WaXNpYmxlXG4gICAgICAgICAgICAgID8gYW5zd2VyRGF0YS5hbnN3ZXJUcnVuY2F0ZWRcbiAgICAgICAgICAgICAgOiBhbnN3ZXJEYXRhLmFuc3dlclxuICAgICAgICAgIH19XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJhbnN3ZXJEYXRhLmFuc3dlckxvYWRpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1sb2FkaW5nXCJcbiAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYW5zd2VyRGF0YS5zaG93TW9yZUJ1dHRvblZpc2libGVcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtYW5zd2VyLWxvYWQtbW9yZS1idXR0b24tY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItbG9hZC1tb3JlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dNb3JlKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICA+XG4gICAgICAgICAgU2hvdyBNb3JlLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIGFuc3dlckRhdGEgJiZcbiAgICAgIGFuc3dlckRhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBhbnN3ZXJEYXRhLnNob3VsZFNob3dBbnN3ZXIgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGVcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -11,6 +11,7 @@ export class SearchstaxWrapper {
|
|
|
11
11
|
this.searchAuth = '';
|
|
12
12
|
this.analyticsBaseUrl = '';
|
|
13
13
|
this.analyticsSrc = '';
|
|
14
|
+
this.questionURL = '';
|
|
14
15
|
this.authType = 'basic';
|
|
15
16
|
this.autoCorrect = true;
|
|
16
17
|
this.initialized = new EventEmitter();
|
|
@@ -35,12 +36,13 @@ export class SearchstaxWrapper {
|
|
|
35
36
|
hooks: this.hooks,
|
|
36
37
|
analyticsBaseUrl: this.analyticsBaseUrl,
|
|
37
38
|
analyticsSrc: this.analyticsSrc,
|
|
38
|
-
sessionId: this.sessionId
|
|
39
|
+
sessionId: this.sessionId,
|
|
40
|
+
questionURL: this.questionURL
|
|
39
41
|
});
|
|
40
42
|
this.initialized.emit(this.storeServiceService.searchstax);
|
|
41
43
|
}
|
|
42
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxWrapper, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxWrapper, selector: "app-searchstax-wrapper", inputs: { language: "language", searchURL: "searchURL", suggesterURL: "suggesterURL", trackApiKey: "trackApiKey", searchAuth: "searchAuth", sessionId: "sessionId", analyticsBaseUrl: "analyticsBaseUrl", analyticsSrc: "analyticsSrc", authType: "authType", autoCorrect: "autoCorrect", router: "router", beforeSearch: "beforeSearch", afterSearch: "afterSearch" }, outputs: { initialized: "initialized" }, ngImport: i0, template: `
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxWrapper, selector: "app-searchstax-wrapper", inputs: { language: "language", searchURL: "searchURL", suggesterURL: "suggesterURL", trackApiKey: "trackApiKey", searchAuth: "searchAuth", sessionId: "sessionId", analyticsBaseUrl: "analyticsBaseUrl", analyticsSrc: "analyticsSrc", questionURL: "questionURL", authType: "authType", autoCorrect: "autoCorrect", router: "router", beforeSearch: "beforeSearch", afterSearch: "afterSearch" }, outputs: { initialized: "initialized" }, ngImport: i0, template: `
|
|
44
46
|
<div>
|
|
45
47
|
<ng-content></ng-content>
|
|
46
48
|
</div>
|
|
@@ -69,6 +71,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
69
71
|
type: Input
|
|
70
72
|
}], analyticsSrc: [{
|
|
71
73
|
type: Input
|
|
74
|
+
}], questionURL: [{
|
|
75
|
+
type: Input
|
|
72
76
|
}], authType: [{
|
|
73
77
|
type: Input
|
|
74
78
|
}], autoCorrect: [{
|
|
@@ -82,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
82
86
|
}], initialized: [{
|
|
83
87
|
type: Output
|
|
84
88
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWMvRSxNQUFNLE9BQU8saUJBQWlCO0lBaUI1QixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWhCbkQsYUFBUSxHQUFJLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFeEIscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBc0IsT0FBTyxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSWxCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN2RCxVQUFLLEdBQXVKLEVBQUUsQ0FBQztRQUU3SixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUM3QztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzNDO0lBRUgsQ0FBQztJQUVELFFBQVE7UUFFTixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUM3QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM1RCxDQUFDOytHQTlDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyZUFSbEI7Ozs7R0FJVDs7NEZBSVUsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLHdCQUF3QixZQUN4Qjs7OztHQUlUO3dGQUtRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSb3V0ZXJDb25maWcsIElTZWFyY2hPYmplY3QsIElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0LCBTZWFyY2hzdGF4IH0gZnJvbSAnQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qcyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNlYXJjaHN0YXgtd3JhcHBlcicsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXY+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFdyYXBwZXIgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYW5ndWFnZSA9ICAnZW4nO1xuICBASW5wdXQoKSBzZWFyY2hVUkw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzdWdnZXN0ZXJVUkw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB0cmFja0FwaUtleTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNlYXJjaEF1dGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzZXNzaW9uSWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFuYWx5dGljc0Jhc2VVcmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBhbmFseXRpY3NTcmM6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBxdWVzdGlvblVSTDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGF1dGhUeXBlOiAnYmFzaWMnIHwgJ3Rva2VuJyA9ICdiYXNpYyc7XG4gIEBJbnB1dCgpIGF1dG9Db3JyZWN0ID0gdHJ1ZTtcbiAgQElucHV0KCkgcm91dGVyPzogSVJvdXRlckNvbmZpZztcbiAgQElucHV0KCkgYmVmb3JlU2VhcmNoPzogKHByb3BzOiBJU2VhcmNoT2JqZWN0KSA9PiBJU2VhcmNoT2JqZWN0IHwgbnVsbCA7XG4gIEBJbnB1dCgpIGFmdGVyU2VhcmNoPzogKHJlc3VsdHM6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0W10pID0+IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0W107XG4gIEBPdXRwdXQoKSBpbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoc3RheD4oKTtcbiAgaG9va3M6IHsgYmVmb3JlU2VhcmNoPzogKHByb3BzOiBJU2VhcmNoT2JqZWN0KSA9PiBJU2VhcmNoT2JqZWN0IHwgbnVsbCwgYWZ0ZXJTZWFyY2g/OiAocmVzdWx0czogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRbXSkgPT4gSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRbXSB9ID0ge307XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge1xuICAgIGlmICh0aGlzLmJlZm9yZVNlYXJjaCkge1xuICAgICAgdGhpcy5ob29rcy5iZWZvcmVTZWFyY2ggPSB0aGlzLmJlZm9yZVNlYXJjaDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWZ0ZXJTZWFyY2gpIHtcbiAgICAgIHRoaXMuaG9va3MuYWZ0ZXJTZWFyY2ggPSB0aGlzLmFmdGVyU2VhcmNoO1xuICAgIH1cblxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5pbml0aWFsaXplKHtcbiAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlLFxuICAgICAgc2VhcmNoVVJMOiB0aGlzLnNlYXJjaFVSTCxcbiAgICAgIHN1Z2dlc3RlclVSTDogdGhpcy5zdWdnZXN0ZXJVUkwsXG4gICAgICB0cmFja0FwaUtleTogdGhpcy50cmFja0FwaUtleSxcbiAgICAgIHNlYXJjaEF1dGg6IHRoaXMuc2VhcmNoQXV0aCxcbiAgICAgIGF1dGhUeXBlOiB0aGlzLmF1dGhUeXBlLFxuICAgICAgYXV0b0NvcnJlY3Q6IHRoaXMuYXV0b0NvcnJlY3QsXG4gICAgICByb3V0ZXI6IHRoaXMucm91dGVyLFxuICAgICAgaG9va3M6IHRoaXMuaG9va3MsXG4gICAgICBhbmFseXRpY3NCYXNlVXJsOiB0aGlzLmFuYWx5dGljc0Jhc2VVcmwsXG4gICAgICBhbmFseXRpY3NTcmM6IHRoaXMuYW5hbHl0aWNzU3JjLFxuICAgICAgc2Vzc2lvbklkOiB0aGlzLnNlc3Npb25JZCxcbiAgICAgIHF1ZXN0aW9uVVJMOiB0aGlzLnF1ZXN0aW9uVVJMXG4gICAgfSlcblxuICAgIHRoaXMuaW5pdGlhbGl6ZWQuZW1pdCh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheClcbiAgfVxuXG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ import { CommonModule } from "@angular/common";
|
|
|
5
5
|
import { SearchstaxResultsWidget } from "./components/searchstax-results/searchstax-results.component";
|
|
6
6
|
import { SearchstaxSearchFeedbackWidget } from "../public-api";
|
|
7
7
|
import { SearchstaxSearchPaginationWidget } from "./components/searchstax-search-pagination/searchstax-search-pagination.component";
|
|
8
|
+
import { SearchstaxSearchAnswerWidget } from "./components/searchstax-search-answer/searchstax-search-answer.component";
|
|
8
9
|
import { SearchstaxSearchFacetsWidget } from "./components/searchstax-search-facets/searchstax-search-facets.component";
|
|
9
10
|
import { SearchstaxSearchSortingWidget } from "./components/searchstax-search-sorting/searchstax-search-sorting.component";
|
|
10
11
|
import { SearchstaxSearchRelatedSearchesWidget } from "./components/searchstax-search-related/searchstax-search-related.component";
|
|
@@ -21,7 +22,8 @@ export class SearchstudioUxAngularModule {
|
|
|
21
22
|
SearchstaxSearchFacetsWidget,
|
|
22
23
|
SearchstaxSearchSortingWidget,
|
|
23
24
|
SearchstaxSearchRelatedSearchesWidget,
|
|
24
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
25
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
26
|
+
SearchstaxSearchAnswerWidget], imports: [CommonModule, FormsModule], exports: [SearchstaxWrapper,
|
|
25
27
|
SearchstaxInputWidget,
|
|
26
28
|
SearchstaxResultsWidget,
|
|
27
29
|
SearchstaxSearchFeedbackWidget,
|
|
@@ -29,7 +31,8 @@ export class SearchstudioUxAngularModule {
|
|
|
29
31
|
SearchstaxSearchFacetsWidget,
|
|
30
32
|
SearchstaxSearchSortingWidget,
|
|
31
33
|
SearchstaxSearchRelatedSearchesWidget,
|
|
32
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
34
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
35
|
+
SearchstaxSearchAnswerWidget] }); }
|
|
33
36
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstudioUxAngularModule, imports: [CommonModule, FormsModule] }); }
|
|
34
37
|
}
|
|
35
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstudioUxAngularModule, decorators: [{
|
|
@@ -44,7 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
44
47
|
SearchstaxSearchFacetsWidget,
|
|
45
48
|
SearchstaxSearchSortingWidget,
|
|
46
49
|
SearchstaxSearchRelatedSearchesWidget,
|
|
47
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
50
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
51
|
+
SearchstaxSearchAnswerWidget
|
|
48
52
|
],
|
|
49
53
|
imports: [CommonModule, FormsModule],
|
|
50
54
|
exports: [
|
|
@@ -56,8 +60,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
56
60
|
SearchstaxSearchFacetsWidget,
|
|
57
61
|
SearchstaxSearchSortingWidget,
|
|
58
62
|
SearchstaxSearchRelatedSearchesWidget,
|
|
59
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
63
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
64
|
+
SearchstaxSearchAnswerWidget
|
|
60
65
|
],
|
|
61
66
|
}]
|
|
62
67
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdkcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQ3BJLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzNILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQ25JLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDhFQUE4RSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUE2QjdDLE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjtnSEFBM0IsMkJBQTJCLGlCQXpCcEMsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsOEJBQThCO1lBQzlCLGdDQUFnQztZQUNoQyw0QkFBNEI7WUFDNUIsNkJBQTZCO1lBQzdCLHFDQUFxQztZQUNyQyx3Q0FBd0M7WUFDeEMsNEJBQTRCLGFBRXBCLFlBQVksRUFBRSxXQUFXLGFBRWpDLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5QixnQ0FBZ0M7WUFDaEMsNEJBQTRCO1lBQzVCLDZCQUE2QjtZQUM3QixxQ0FBcUM7WUFDckMsd0NBQXdDO1lBQ3hDLDRCQUE0QjtnSEFHbkIsMkJBQTJCLFlBZDVCLFlBQVksRUFBRSxXQUFXOzs0RkFjeEIsMkJBQTJCO2tCQTNCdkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QixnQ0FBZ0M7d0JBQ2hDLDRCQUE0Qjt3QkFDNUIsNkJBQTZCO3dCQUM3QixxQ0FBcUM7d0JBQ3JDLHdDQUF3Qzt3QkFDeEMsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QixnQ0FBZ0M7d0JBQ2hDLDRCQUE0Qjt3QkFDNUIsNkJBQTZCO3dCQUM3QixxQ0FBcUM7d0JBQ3JDLHdDQUF3Qzt3QkFDeEMsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFNlYXJjaHN0YXhXcmFwcGVyIH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXdyYXBwZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWFyY2hzdGF4SW5wdXRXaWRnZXQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3NlYXJjaHN0YXgtaW5wdXQvc2VhcmNoc3RheC1pbnB1dC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFNlYXJjaHN0YXhSZXN1bHRzV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VhcmNoc3RheFNlYXJjaEZlZWRiYWNrV2lkZ2V0IH0gZnJvbSBcIi4uL3B1YmxpYy1hcGlcIjtcbmltcG9ydCB7IFNlYXJjaHN0YXhTZWFyY2hQYWdpbmF0aW9uV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1wYWdpbmF0aW9uL3NlYXJjaHN0YXgtc2VhcmNoLXBhZ2luYXRpb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWFyY2hzdGF4U2VhcmNoQW5zd2VyV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VhcmNoc3RheFNlYXJjaEZhY2V0c1dpZGdldCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzL3NlYXJjaHN0YXgtc2VhcmNoLWZhY2V0cy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlYXJjaHN0YXhTZWFyY2hTb3J0aW5nV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1zb3J0aW5nL3NlYXJjaHN0YXgtc2VhcmNoLXNvcnRpbmcuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWFyY2hzdGF4U2VhcmNoUmVsYXRlZFNlYXJjaGVzV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1yZWxhdGVkL3NlYXJjaHN0YXgtc2VhcmNoLXJlbGF0ZWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWFyY2hzdGF4U2VhcmNoRXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNlYXJjaHN0YXhXcmFwcGVyLFxuICAgIFNlYXJjaHN0YXhJbnB1dFdpZGdldCxcbiAgICBTZWFyY2hzdGF4UmVzdWx0c1dpZGdldCxcbiAgICBTZWFyY2hzdGF4U2VhcmNoRmVlZGJhY2tXaWRnZXQsXG4gICAgU2VhcmNoc3RheFNlYXJjaFBhZ2luYXRpb25XaWRnZXQsXG4gICAgU2VhcmNoc3RheFNlYXJjaEZhY2V0c1dpZGdldCxcbiAgICBTZWFyY2hzdGF4U2VhcmNoU29ydGluZ1dpZGdldCxcbiAgICBTZWFyY2hzdGF4U2VhcmNoUmVsYXRlZFNlYXJjaGVzV2lkZ2V0LFxuICAgIFNlYXJjaHN0YXhTZWFyY2hFeHRlcm5hbFByb21vdGlvbnNXaWRnZXQsXG4gICAgU2VhcmNoc3RheFNlYXJjaEFuc3dlcldpZGdldFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWFyY2hzdGF4V3JhcHBlcixcbiAgICBTZWFyY2hzdGF4SW5wdXRXaWRnZXQsXG4gICAgU2VhcmNoc3RheFJlc3VsdHNXaWRnZXQsXG4gICAgU2VhcmNoc3RheFNlYXJjaEZlZWRiYWNrV2lkZ2V0LFxuICAgIFNlYXJjaHN0YXhTZWFyY2hQYWdpbmF0aW9uV2lkZ2V0LFxuICAgIFNlYXJjaHN0YXhTZWFyY2hGYWNldHNXaWRnZXQsXG4gICAgU2VhcmNoc3RheFNlYXJjaFNvcnRpbmdXaWRnZXQsXG4gICAgU2VhcmNoc3RheFNlYXJjaFJlbGF0ZWRTZWFyY2hlc1dpZGdldCxcbiAgICBTZWFyY2hzdGF4U2VhcmNoRXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0LFxuICAgIFNlYXJjaHN0YXhTZWFyY2hBbnN3ZXJXaWRnZXRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3R1ZGlvVXhBbmd1bGFyTW9kdWxlIHt9XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -8,8 +8,9 @@ export * from './lib/components/searchstax-search-overview/searchstax-search-ove
|
|
|
8
8
|
export * from './lib/components/searchstax-search-pagination/searchstax-search-pagination.component';
|
|
9
9
|
export * from './lib/components/searchstax-search-facets/searchstax-search-facets.component';
|
|
10
10
|
export * from './lib/components/searchstax-search-sorting/searchstax-search-sorting.component';
|
|
11
|
+
export * from './lib/components/searchstax-search-answer/searchstax-search-answer.component';
|
|
11
12
|
export * from './lib/components/searchstax-search-related/searchstax-search-related.component';
|
|
12
13
|
export * from './lib/components/searchstax-search-external/searchstax-search-external.component';
|
|
13
14
|
export * from './lib/services/store-service.service';
|
|
14
15
|
export * from './lib/searchstudio-ux-angular.module';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHNGQUFzRixDQUFDO0FBQ3JHLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNlYXJjaHN0dWRpby11eC1hbmd1bGFyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1pbnB1dC9zZWFyY2hzdGF4LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtcmVzdWx0cy9zZWFyY2hzdGF4LXJlc3VsdHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtb3ZlcnZpZXcvc2VhcmNoc3RheC1zZWFyY2gtb3ZlcnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi9zZWFyY2hzdGF4LXNlYXJjaC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWZhY2V0cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtc29ydGluZy9zZWFyY2hzdGF4LXNlYXJjaC1zb3J0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWFuc3dlci9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtcmVsYXRlZC9zZWFyY2hzdGF4LXNlYXJjaC1yZWxhdGVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zdG9yZS1zZXJ2aWNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIubW9kdWxlJztcbiJdfQ==
|
|
@@ -30,6 +30,7 @@ class SearchstaxWrapper {
|
|
|
30
30
|
this.searchAuth = '';
|
|
31
31
|
this.analyticsBaseUrl = '';
|
|
32
32
|
this.analyticsSrc = '';
|
|
33
|
+
this.questionURL = '';
|
|
33
34
|
this.authType = 'basic';
|
|
34
35
|
this.autoCorrect = true;
|
|
35
36
|
this.initialized = new EventEmitter();
|
|
@@ -54,12 +55,13 @@ class SearchstaxWrapper {
|
|
|
54
55
|
hooks: this.hooks,
|
|
55
56
|
analyticsBaseUrl: this.analyticsBaseUrl,
|
|
56
57
|
analyticsSrc: this.analyticsSrc,
|
|
57
|
-
sessionId: this.sessionId
|
|
58
|
+
sessionId: this.sessionId,
|
|
59
|
+
questionURL: this.questionURL
|
|
58
60
|
});
|
|
59
61
|
this.initialized.emit(this.storeServiceService.searchstax);
|
|
60
62
|
}
|
|
61
63
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxWrapper, deps: [{ token: StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxWrapper, selector: "app-searchstax-wrapper", inputs: { language: "language", searchURL: "searchURL", suggesterURL: "suggesterURL", trackApiKey: "trackApiKey", searchAuth: "searchAuth", sessionId: "sessionId", analyticsBaseUrl: "analyticsBaseUrl", analyticsSrc: "analyticsSrc", authType: "authType", autoCorrect: "autoCorrect", router: "router", beforeSearch: "beforeSearch", afterSearch: "afterSearch" }, outputs: { initialized: "initialized" }, ngImport: i0, template: `
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxWrapper, selector: "app-searchstax-wrapper", inputs: { language: "language", searchURL: "searchURL", suggesterURL: "suggesterURL", trackApiKey: "trackApiKey", searchAuth: "searchAuth", sessionId: "sessionId", analyticsBaseUrl: "analyticsBaseUrl", analyticsSrc: "analyticsSrc", questionURL: "questionURL", authType: "authType", autoCorrect: "autoCorrect", router: "router", beforeSearch: "beforeSearch", afterSearch: "afterSearch" }, outputs: { initialized: "initialized" }, ngImport: i0, template: `
|
|
63
65
|
<div>
|
|
64
66
|
<ng-content></ng-content>
|
|
65
67
|
</div>
|
|
@@ -88,6 +90,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
88
90
|
type: Input
|
|
89
91
|
}], analyticsSrc: [{
|
|
90
92
|
type: Input
|
|
93
|
+
}], questionURL: [{
|
|
94
|
+
type: Input
|
|
91
95
|
}], authType: [{
|
|
92
96
|
type: Input
|
|
93
97
|
}], autoCorrect: [{
|
|
@@ -495,6 +499,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
495
499
|
type: Input
|
|
496
500
|
}] } });
|
|
497
501
|
|
|
502
|
+
class SearchstaxSearchAnswerWidget {
|
|
503
|
+
constructor(storeServiceService) {
|
|
504
|
+
this.storeServiceService = storeServiceService;
|
|
505
|
+
this.answerData = null;
|
|
506
|
+
this.rand = Math.random();
|
|
507
|
+
this.context = this;
|
|
508
|
+
}
|
|
509
|
+
ngOnInit() {
|
|
510
|
+
if (this.storeServiceService.searchstax) {
|
|
511
|
+
this.attachObservables();
|
|
512
|
+
setTimeout(() => {
|
|
513
|
+
this.storeServiceService.searchstax.addAnswerWidget('searchstax-answer-container' + this.rand, { showShowMoreAfterWordCount: this.showShowMoreAfterWordCount });
|
|
514
|
+
}, 0);
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
showMore(event, context) {
|
|
521
|
+
if (context.storeServiceService.searchstax) {
|
|
522
|
+
context.storeServiceService.searchstax.answerWidget?.showMore(event);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
attachObservables() {
|
|
526
|
+
this.storeServiceService.searchstax.dataLayer.$answerData.subscribe((answerData) => {
|
|
527
|
+
this.answerData = answerData;
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, deps: [{ token: StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
531
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchAnswerWidget, selector: "app-searchstax-answer", inputs: { templateOverride: "templateOverride", showShowMoreAfterWordCount: "showShowMoreAfterWordCount" }, ngImport: i0, template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-description\">\n {{\n answerData.showMoreButtonVisible\n ? answerData.answerTruncated\n : answerData.answer\n }}\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
532
|
+
}
|
|
533
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, decorators: [{
|
|
534
|
+
type: Component,
|
|
535
|
+
args: [{ selector: "app-searchstax-answer", template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-description\">\n {{\n answerData.showMoreButtonVisible\n ? answerData.answerTruncated\n : answerData.answer\n }}\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
536
|
+
}], ctorParameters: () => [{ type: StoreServiceService }], propDecorators: { templateOverride: [{
|
|
537
|
+
type: Input
|
|
538
|
+
}], showShowMoreAfterWordCount: [{
|
|
539
|
+
type: Input
|
|
540
|
+
}] } });
|
|
541
|
+
|
|
498
542
|
class SearchstaxSearchRelatedSearchesWidget {
|
|
499
543
|
constructor(storeServiceService) {
|
|
500
544
|
this.storeServiceService = storeServiceService;
|
|
@@ -581,7 +625,8 @@ class SearchstudioUxAngularModule {
|
|
|
581
625
|
SearchstaxSearchFacetsWidget,
|
|
582
626
|
SearchstaxSearchSortingWidget,
|
|
583
627
|
SearchstaxSearchRelatedSearchesWidget,
|
|
584
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
628
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
629
|
+
SearchstaxSearchAnswerWidget], imports: [CommonModule, FormsModule], exports: [SearchstaxWrapper,
|
|
585
630
|
SearchstaxInputWidget,
|
|
586
631
|
SearchstaxResultsWidget,
|
|
587
632
|
SearchstaxSearchFeedbackWidget,
|
|
@@ -589,7 +634,8 @@ class SearchstudioUxAngularModule {
|
|
|
589
634
|
SearchstaxSearchFacetsWidget,
|
|
590
635
|
SearchstaxSearchSortingWidget,
|
|
591
636
|
SearchstaxSearchRelatedSearchesWidget,
|
|
592
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
637
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
638
|
+
SearchstaxSearchAnswerWidget] }); }
|
|
593
639
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstudioUxAngularModule, imports: [CommonModule, FormsModule] }); }
|
|
594
640
|
}
|
|
595
641
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstudioUxAngularModule, decorators: [{
|
|
@@ -604,7 +650,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
604
650
|
SearchstaxSearchFacetsWidget,
|
|
605
651
|
SearchstaxSearchSortingWidget,
|
|
606
652
|
SearchstaxSearchRelatedSearchesWidget,
|
|
607
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
653
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
654
|
+
SearchstaxSearchAnswerWidget
|
|
608
655
|
],
|
|
609
656
|
imports: [CommonModule, FormsModule],
|
|
610
657
|
exports: [
|
|
@@ -616,7 +663,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
616
663
|
SearchstaxSearchFacetsWidget,
|
|
617
664
|
SearchstaxSearchSortingWidget,
|
|
618
665
|
SearchstaxSearchRelatedSearchesWidget,
|
|
619
|
-
SearchstaxSearchExternalPromotionsWidget
|
|
666
|
+
SearchstaxSearchExternalPromotionsWidget,
|
|
667
|
+
SearchstaxSearchAnswerWidget
|
|
620
668
|
],
|
|
621
669
|
}]
|
|
622
670
|
}] });
|
|
@@ -629,5 +677,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
629
677
|
* Generated bundle index. Do not edit.
|
|
630
678
|
*/
|
|
631
679
|
|
|
632
|
-
export { SearchstaxInputWidget, SearchstaxResultsWidget, SearchstaxSearchExternalPromotionsWidget, SearchstaxSearchFacetsWidget, SearchstaxSearchFeedbackWidget, SearchstaxSearchPaginationWidget, SearchstaxSearchRelatedSearchesWidget, SearchstaxSearchSortingWidget, SearchstaxWrapper, SearchstudioUxAngularModule, StoreServiceService };
|
|
680
|
+
export { SearchstaxInputWidget, SearchstaxResultsWidget, SearchstaxSearchAnswerWidget, SearchstaxSearchExternalPromotionsWidget, SearchstaxSearchFacetsWidget, SearchstaxSearchFeedbackWidget, SearchstaxSearchPaginationWidget, SearchstaxSearchRelatedSearchesWidget, SearchstaxSearchSortingWidget, SearchstaxWrapper, SearchstudioUxAngularModule, StoreServiceService };
|
|
633
681
|
//# sourceMappingURL=searchstax-inc-searchstudio-ux-angular.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchstax-inc-searchstudio-ux-angular.mjs","sources":["../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/services/store-service.service.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-wrapper.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-input/searchstax-input.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-input/searchstax-input.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-results/searchstax-results.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-results/searchstax-results.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-overview/searchstax-search-overview.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-overview/searchstax-search-overview.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-facets/searchstax-search-facets.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-facets/searchstax-search-facets.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-related/searchstax-search-related.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-related/searchstax-search-related.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-external/searchstax-search-external.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-external/searchstax-search-external.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/searchstudio-ux-angular.module.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/public-api.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/searchstax-inc-searchstudio-ux-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Searchstax } from '@searchstax-inc/searchstudio-ux-js'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreServiceService {\n searchstax = new Searchstax('vue' as any)\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IRouterConfig, ISearchObject, ISearchstaxParsedResult, Searchstax } from '@searchstax-inc/searchstudio-ux-js';\nimport { StoreServiceService } from '../services/store-service.service';\n\n@Component({\n selector: 'app-searchstax-wrapper',\n template: `\n <div>\n <ng-content></ng-content>\n </div>\n `,\n styles: [\n ]\n})\nexport class SearchstaxWrapper implements OnInit {\n @Input() language = 'en';\n @Input() searchURL: string = '';\n @Input() suggesterURL: string = '';\n @Input() trackApiKey: string = '';\n @Input() searchAuth: string = '';\n @Input() sessionId?: string;\n @Input() analyticsBaseUrl: string = '';\n @Input() analyticsSrc: string = '';\n @Input() authType: 'basic' | 'token' = 'basic';\n @Input() autoCorrect = true;\n @Input() router?: IRouterConfig;\n @Input() beforeSearch?: (props: ISearchObject) => ISearchObject | null ;\n @Input() afterSearch?: (results: ISearchstaxParsedResult[]) => ISearchstaxParsedResult[];\n @Output() initialized = new EventEmitter<Searchstax>();\n hooks: { beforeSearch?: (props: ISearchObject) => ISearchObject | null, afterSearch?: (results: ISearchstaxParsedResult[]) => ISearchstaxParsedResult[] } = {};\n constructor(private storeServiceService: StoreServiceService) {\n if (this.beforeSearch) {\n this.hooks.beforeSearch = this.beforeSearch;\n }\n if (this.afterSearch) {\n this.hooks.afterSearch = this.afterSearch;\n }\n\n }\n\n ngOnInit(): void {\n\n this.storeServiceService.searchstax.initialize({\n language: this.language,\n searchURL: this.searchURL,\n suggesterURL: this.suggesterURL,\n trackApiKey: this.trackApiKey,\n searchAuth: this.searchAuth,\n authType: this.authType,\n autoCorrect: this.autoCorrect,\n router: this.router,\n hooks: this.hooks,\n analyticsBaseUrl: this.analyticsBaseUrl,\n analyticsSrc: this.analyticsSrc,\n sessionId: this.sessionId\n })\n\n this.initialized.emit(this.storeServiceService.searchstax)\n }\n\n}\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { ISearchstaxSEARCHTERM, ISearchstaxSuggestProps, ISearchstaxSuggestResponse, ISearchstaxSuggestion } from '@searchstax-inc/searchstudio-ux-js';\nimport { StoreServiceService } from '../../services/store-service.service';\n\n@Component({\n selector: 'app-searchstax-input',\n templateUrl: './searchstax-input.component.html',\n styles: []\n})\nexport class SearchstaxInputWidget implements OnInit {\n @Input() afterAutosuggest?: (result: ISearchstaxSuggestResponse) => ISearchstaxSuggestResponse;\n @Input() beforeAutosuggest?: (props: ISearchstaxSuggestProps) => ISearchstaxSuggestProps | null\n @Input() searchInputId = '';\n @Input() suggestAfterMinChars?: number ;\n @Input() templateOverride?: TemplateRef<any>;\n\n hooks: {[key: string]: (prop: any) => any } = {};\n suggestions: ISearchstaxSuggestion[] = []\n context = this;\n\n constructor(private storeServiceService: StoreServiceService) { }\n\n ngOnInit(): void {\n console.log('this.templateOverride', this.templateOverride);\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n // const hooks: { [key: string]: (prop: any) => any } = {}\n if (this.afterAutosuggest) {\n this.hooks['afterAutosuggest'] = this.afterAutosuggest\n }\n if (this.beforeAutosuggest) {\n this.hooks['beforeAutosuggest'] = this.beforeAutosuggest\n }\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchInputWidget('searchstax-input-container', {\n suggestAfterMinChars: this.suggestAfterMinChars,\n hooks: this.hooks,\n templates: {\n mainTemplate: {\n template: ``,\n searchInputId: this.searchInputId ?? 'searchstax-search-input'\n }\n }\n })\n }, 0);\n } else {\n throw Error('Searchstax instance needs to be passed via props')\n }\n }\n\n onMouseLeave(context: this) {\n context.storeServiceService.searchstax.searchInputWidget?.resetAutosuggestSelection();\n context.storeServiceService.searchstax.searchInputWidget?.markActiveAutosuggestItem();\n }\n\n onMouseOver(suggestion: ISearchstaxSuggestion, context: this) {\n context.storeServiceService.searchstax.searchInputWidget?.onSuggestionEnter(suggestion)\n }\n\n onMouseClick(e: Event, context: this) {\n e.stopImmediatePropagation();\n context.storeServiceService.searchstax.searchInputWidget?.suggestionChosen()\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$autosuggestResults.subscribe(\n (suggestions: null | ISearchstaxSEARCHTERM) => {\n this.suggestions = suggestions?.suggestions ?? [];\n }\n );\n }\n\n}\n","<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container\">\n <div *ngIf=\"!templateOverride\" class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n aria-label=\"search\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion, context)\"\n tabindex=\"0\"\n (click)=\"onMouseClick($event, context)\"\n ></div>\n </div>\n </div>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n aria-label=\"search\"\n ></button>\n </div>\n <div *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { StoreServiceService } from '../../services/store-service.service';\nimport {\n ISearchstaxParsedResult,\n ISearchstaxSearchMetadata,\n} from '@searchstax-inc/searchstudio-ux-js';\n\n@Component({\n selector: 'app-searchstax-results',\n templateUrl: './searchstax-results.component.html',\n styles: [],\n})\nexport class SearchstaxResultsWidget implements OnInit {\n @Input() afterLinkClick?: (\n results: ISearchstaxParsedResult\n ) => ISearchstaxParsedResult;\n\n @Input() noResultsTemplate?: TemplateRef<any>;\n @Input() resultsTemplate?: TemplateRef<any>;\n @Input() renderMethod?: \"infiniteScroll\" | \"pagination\";\n\n searchResults: ISearchstaxParsedResult[] | null = null;\n metadata: ISearchstaxSearchMetadata | null = null;\n searchTerm = '';\n context = this;\n\n get hooks(): { [key: string]: (prop: any) => any } {\n const hooks: { [key: string]: (prop: any) => any } = {};\n if (this.afterLinkClick) {\n hooks['afterLinkClick'] = this.afterLinkClick;\n }\n return hooks;\n }\n\n constructor(public storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchResultsWidget(\n 'searchstax-results-container',\n {\n templates: {},\n hooks: this.hooks,\n renderMethod: this.renderMethod ?? \"pagination\",\n }\n );\n }, 0);\n } else {\n throw Error('Searchstax instance needs to be passed via props');\n }\n }\n\n executeSearch(term: string, event: Event, context: this): void {\n event.preventDefault();\n context.storeServiceService.searchstax.executeSearch(term);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchResults.subscribe(\n (results: ISearchstaxParsedResult[] | null) => {\n\n const current = this.searchResults ? [...this.searchResults] : [];\n const newResults = results ?? [];\n const resultsCombined =\n this.renderMethod === \"infiniteScroll\"\n ? [...current, ...newResults]\n : results;\n if (this.storeServiceService.searchstax.dataLayer.$searchObject.value?.page === 1) {\n this.searchResults = newResults;\n } else {\n this.searchResults = resultsCombined;\n }\n }\n );\n this.storeServiceService.searchstax.dataLayer.$searchTermChange.subscribe(\n (result: string) => {\n this.searchTerm = result;\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$searchResultsMetadata.subscribe(\n (value: ISearchstaxSearchMetadata) => {\n this.metadata = value;\n }\n );\n }\n\n resultClicked(result: ISearchstaxParsedResult, event: Event, context: this) {\n event.preventDefault();\n event.stopPropagation();\n context.storeServiceService.searchstax.executeLinkClick(result.uniqueId);\n }\n\n isImage(field: any){\n return field.isImage && typeof field.value === 'string'\n }\n}\n","<div id=\"searchstax-results-container\">\n <div class=\"searchstax-search-results-container\">\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && !noResultsTemplate\"\n >\n <div class=\"searchstax-no-results\">\n Showing <strong>no results</strong> for\n <strong>\"{{ searchTerm }}\"</strong>\n <br />\n <span *ngIf=\"metadata?.spellingSuggestion\"\n > Did you mean\n <a href=\"#\" class=\"searchstax-suggestion-term\" (click)=\"executeSearch(metadata?.spellingSuggestion ?? '', $event, context)\">{{\n metadata?.spellingSuggestion\n }}</a\n >?</span\n >\n </div>\n <ul>\n <li>\n Try searching for search related terms or topics. We offer a wide\n variety of content to help you get the information you need.\n </li>\n <li>Lost? Click on the ‘X” in the Search Box to reset your search.</li>\n </ul>\n </div>\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && noResultsTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-search-results\"\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n\n <a\n *ngFor=\"let searchResult of searchResults\"\n [href]=\"searchResult.url\"\n [attr.data-searchstax-unique-result-id]=\"searchResult.uniqueId\"\n (click)=\"resultClicked(searchResult, $event, context)\"\n (keyup.enter)=\"resultClicked(searchResult, $event, context)\"\n (keyup.space)=\"resultClicked(searchResult, $event, context)\"\n tabindex=\"0\"\n class=\"searchstax-result-item-link searchstax-result-item-link-wrapping\"\n >\n\n <div\n class=\"searchstax-search-result\"\n [ngClass]=\"{ 'has-thumbnail': searchResult.thumbnail }\"\n\n >\n <div\n *ngIf=\"searchResult.promoted\"\n class=\"searchstax-search-result-promoted\"\n ></div>\n <div\n *ngIf=\"searchResult.ribbon\"\n [innerHTML]=\"searchResult.ribbon\"\n class=\"searchstax-search-result-ribbon\"\n >\n </div>\n <img\n *ngIf=\"searchResult.thumbnail\"\n [src]=\"searchResult.thumbnail\"\n class=\"searchstax-thumbnail\"\n />\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\" [innerHTML]=\"searchResult.title\"></span>\n </div>\n <p *ngIf=\"searchResult.paths\" class=\"searchstax-search-result-common\" [innerHTML]=\"searchResult.paths\">\n </p>\n <p\n *ngIf=\"searchResult.description\"\n [innerHTML]=\"searchResult.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n </p>\n <div *ngFor=\"let unmappedField of searchResult.unmappedFields\">\n <div\n *ngIf=\"isImage(unmappedField)\"\n class=\"searchstax-search-result-image-container\"\n >\n <img\n [src]=\"unmappedField.value\"\n class=\"searchstax-result-image\"\n />\n </div>\n <div *ngIf=\"!isImage(unmappedField)\">\n <p class=\"searchstax-search-result-common\"\n [innerHTML]=\"unmappedField.value\"\n >\n </p>\n </div>\n </div>\n </div>\n </a>\n </div>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchstaxSearchFeedbackData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-feedback\",\n templateUrl: \"./searchstax-search-overview.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchFeedbackWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n\n searchFeedbackData: null | ISearchstaxSearchFeedbackData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchFeedbackWidget(\"search-feedback-container\" + this.rand, {});\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n onOriginalQueryClick(e: Event, context: this) {\n e.stopImmediatePropagation();\n context.storeServiceService.searchstax.searchFeedbackWidget?.onOriginalQueryClick(e);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchFeedbackData.subscribe(\n (searchFeedbackData: null | ISearchstaxSearchFeedbackData) => {\n this.searchFeedbackData = searchFeedbackData;\n }\n );\n }\n}\n","<div\n class=\"search-feedback-container\"\n [id]=\"'search-feedback-container' + rand\"\n>\n <div\n class=\"searchstax-feedback-container\"\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n !templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n Showing\n <b\n >{{ searchFeedbackData!.startResultIndex }} -\n {{ searchFeedbackData!.endResultIndex }}</b\n >\n of <b>{{ searchFeedbackData!.totalResults }}</b> results\n <span *ngIf=\"searchFeedbackData.searchTerm\"\n >for \"<b>{{ searchFeedbackData!.searchTerm }}</b\n >\"\n </span>\n <div class=\"searchstax-feedback-container-suggested\">\n <div *ngIf=\"searchFeedbackData.autoCorrectedQuery\">\n Search instead for\n <a\n href=\"#\"\n (click)=\"onOriginalQueryClick($event, context)\"\n class=\"searchstax-feedback-original-query\"\n >{{ searchFeedbackData!.originalQuery }}</a\n >\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport {\n IPaginationData,\n ISearchObject,\n} from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-pagination\",\n templateUrl: \"./searchstax-search-pagination.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchPaginationWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n @Input() infiniteScrollTemplateOverride?: TemplateRef<any>;\n\n paginationData: null | IPaginationData = null;\n rand = Math.random();\n context = this;\n paginationAdded = false;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.addWidget();\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n nextPage(event: Event, context: this) {\n event.stopImmediatePropagation();\n if (!context.paginationData?.isLastPage) {\n context.storeServiceService.searchstax.searchPaginationWidget?.nextPage(\n event\n );\n }\n }\n\n previousPage(event: Event, context: this) {\n event.stopImmediatePropagation();\n if (!context.paginationData?.isFirstPage) {\n context.storeServiceService.searchstax.searchPaginationWidget?.previousPage(\n event\n );\n }\n }\n\n addWidget() {\n if (\n !this.paginationAdded &&\n this.storeServiceService.searchstax.routerHelper\n ) {\n this.paginationAdded = true;\n this.storeServiceService.searchstax.addPaginationWidget(\n \"searchstax-pagination-container\" + this.rand,\n {}\n );\n }\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchObject.subscribe(\n (pagination: ISearchObject | null) => {\n this.addWidget();\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$paginationData.subscribe(\n (pagination: IPaginationData | null) => {\n this.paginationData = pagination;\n }\n );\n }\n}\n","<div [id]=\"'searchstax-pagination-container' + rand\">\n <div\n class=\"searchstax-pagination-container\"\n *ngIf=\"\n paginationData?.totalResults &&\n !templateOverride &&\n !paginationData?.isInfiniteScroll\n \"\n >\n <div class=\"searchstax-pagination-content\">\n <a\n class=\"searchstax-pagination-previous\"\n [class]=\"paginationData?.isFirstPage ? 'disabled' : ''\"\n (click)=\"previousPage($event, context)\"\n (keyup.enter)=\"previousPage($event, context)\"\n (keyup.space)=\"previousPage($event, context)\"\n tabindex=\"0\"\n id=\"searchstax-pagination-previous\"\n >\n < Previous\n </a>\n <div class=\"searchstax-pagination-details\">\n {{ paginationData?.startResultIndex }} -\n {{ paginationData?.endResultIndex }} of\n {{ paginationData?.totalResults }}\n </div>\n <a\n class=\"searchstax-pagination-next\"\n [class]=\"paginationData?.isLastPage ? 'disabled' : ''\"\n (click)=\"nextPage($event, context)\"\n (keyup.enter)=\"nextPage($event, context)\"\n (keyup.space)=\"nextPage($event, context)\"\n tabindex=\"0\"\n id=\"searchstax-pagination-next\"\n >Next ></a\n >\n </div>\n </div>\n\n <div\n *ngIf=\"\n paginationData?.totalResults &&\n templateOverride &&\n !paginationData?.isInfiniteScroll\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-pagination-container\"\n *ngIf=\"\n paginationData?.totalResults &&\n !infiniteScrollTemplateOverride &&\n paginationData?.totalResults !== 0 &&\n !paginationData?.isLastPage &&\n paginationData?.isInfiniteScroll\n \"\n >\n <a\n class=\"searchstax-pagination-load-more\"\n (click)=\"nextPage($event, context)\"\n (keyup.enter)=\"nextPage($event, context)\"\n (keyup.space)=\"nextPage($event, context)\"\n tabindex=\"0\"\n >\n Load More\n </a>\n </div>\n\n <div\n *ngIf=\"\n paginationData?.totalResults &&\n infiniteScrollTemplateOverride &&\n paginationData?.totalResults !== 0 &&\n !paginationData?.isLastPage &&\n paginationData?.isInfiniteScroll\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"infiniteScrollTemplateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n","import { Component, ElementRef, Input, OnInit, QueryList, TemplateRef, ViewChild, ViewChildren } from \"@angular/core\";\nimport { IFacetData, IFacetValue, IFacetValueData, IFacetValueRange, IFacetsTemplateData, IPaginationData, ISearchObject } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-facets\",\n templateUrl: \"./searchstax-search-facets.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchFacetsWidget implements OnInit {\n @Input() templateOverrideMobile?: TemplateRef<any>;\n @Input() templateOverrideDesktop?: TemplateRef<any>;\n @Input() facetingType!: \"and\" | \"or\" | \"showUnavailable\" | \"tabs\";\n @Input() itemsPerPageDesktop!: number;\n @Input() itemsPerPageMobile!: number;\n @Input() specificFacets!: string[];\n\n facetsTemplateDataDesktop: null | IFacetsTemplateData = null;\n facetsTemplateDataMobile: null | IFacetsTemplateData = null;\n context = this;\n selectedFacetsCheckboxes: IFacetValue[] = [];\n selectedFacetsRange: IFacetValueRange[] = [];\n rand = Math.random();\n\n // @ViewChildren(\"facetContainers\") facetContainers: QueryList<ElementRef>;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.addWidget();\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n addWidget() {\n this.storeServiceService.searchstax.addFacetsWidget('searchstax-facets-container' + this.rand, {\n facetingType: this.facetingType,\n specificFacets: this.specificFacets,\n itemsPerPageDesktop: this.itemsPerPageDesktop,\n itemsPerPageMobile: this.itemsPerPageMobile\n })\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$facetsTemplateData.subscribe(\n (data: null | IFacetsTemplateData) => {\n if (data?.isMobile) {\n this.facetsTemplateDataMobile = data;\n\n } else {\n this.facetsTemplateDataDesktop = data;\n }\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(\n (data: null | (IFacetValue | IFacetValueRange)[]) => {\n const da = data ?? [];\n this.selectedFacetsCheckboxes = da.filter((d) => d.type === 'checkbox') as IFacetValue[];\n }\n );\n }\n\n\n unselectFacet(facet: IFacetValue, context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.unselectFacet(facet)\n }\n\n unselectAll(context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.removeSelectedFacets()\n }\n\n isNotDeactivated(name: string, context: this) {\n return !context.storeServiceService.searchstax.searchFacetsWidget?.deactivatedFacets[name]\n }\n\n toggleFacetGroup(name: string, context: this) {\n if(context.storeServiceService.searchstax.searchFacetsWidget)\n if (context.isNotDeactivated(name, context)) {\n context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = true\n } else {\n context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = false\n }\n }\n\n isChecked(facetValue: IFacetValueData, context: this) {\n return context.storeServiceService.searchstax.searchFacetsWidget?.isChecked(facetValue)\n }\n\n selectFacet(el: HTMLDivElement, event: Event, data: IFacetValueData, isInput: boolean, context: this) {\n const wrapperDiv = document.createElement('div');\n wrapperDiv.innerHTML = el.outerHTML;\n context.storeServiceService.searchstax.searchFacetsWidget?.onFacetSelect(event, data, el, isInput)\n\n }\n\n showMoreLessDesktop(e: Event, data: IFacetData, context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, false)\n }\n\n showMoreLessMobile(e: Event, data: IFacetData, context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, true)\n }\n\n openOverlay(context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.openOverlay();\n }\n\n closeOverlay(context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.closeOverlay();\n }\n\n facetValues(facet: IFacetData) : IFacetValueData[] {\n return facet.values as IFacetValueData[];\n }\n\n facetMobileData(facet: IFacetsTemplateData | null) : any {\n return facet as any\n }\n}\n","<div [id]=\"'searchstax-facets-container' + rand\">\n <div\n *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && !templateOverrideDesktop\"\n class=\"searchstax-facets-container-desktop\"\n >\n <div\n class=\"searchstax-facet-container\"\n *ngFor=\"let facet of facetsTemplateDataDesktop?.facets\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div class=\"searchstax-facet-value-label\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n {{ facetValue.value }}\n </div>\n <div class=\"searchstax-facet-value-count\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\" (keyup.enter)=\"showMoreLessDesktop($event, facet, context)\" (keyup.space)=\"showMoreLessDesktop($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && templateOverrideDesktop\">\n <ng-container *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"></ng-container>\n </div>\n\n <div\n class=\"searchstax-facets-container-mobile\"\n *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && !templateOverrideMobile\"\n >\n <div class=\"searchstax-facets-pills-container\">\n <div class=\"searchstax-facets-pill searchstax-facets-pill-filter-by\" (click)=\"openOverlay(context)\">\n <div class=\"searchstax-facets-pill-label\">Filter By</div>\n </div>\n <div class=\"searchstax-facets-pills-selected\">\n <div\n class=\"searchstax-facets-pill searchstax-facets-pill-facets\"\n *ngFor=\"let facet of selectedFacetsCheckboxes\"\n (click)=\"unselectFacet(facet, context)\"\n >\n <div class=\"searchstax-facets-pill-label\">{{ facet.value }} ({{ facet.count }})</div>\n <div class=\"searchstax-facets-pill-icon-close\"></div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all\"\n *ngIf=\"selectedFacetsCheckboxes.length\"\n (click)=\"unselectAll(context)\"\n >\n <div class=\"searchstax-facets-pill-label\">Clear Filters</div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-mobile-overlay\"\n [class]=\"{ 'searchstax-show': facetMobileData(facetsTemplateDataMobile)?.overlayOpened }\"\n >\n <div class=\"searchstax-facets-mobile-overlay-header\">\n <div class=\"searchstax-facets-mobile-overlay-header-title\">Filter By</div>\n <div class=\"searchstax-search-close\" (click)=\"closeOverlay(context)\"></div>\n </div>\n <div class=\"searchstax-facets-container-mobile\">\n <div\n *ngFor=\"let facet of facetsTemplateDataMobile?.facets\"\n class=\"searchstax-facet-container\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div\n class=\"searchstax-facet-value-label\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n {{ facetValue.value }}\n </div>\n <div\n class=\"searchstax-facet-value-count\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessMobile($event, facet, context)\" (keyup.enter)=\"showMoreLessMobile($event, facet, context)\" (keyup.space)=\"showMoreLessMobile($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"searchstax-facets-mobile-overlay-done\" (click)=\"closeOverlay(context)\">Done</button>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && templateOverrideMobile\">\n <ng-container *ngTemplateOutlet=\"templateOverrideMobile; context: context\"></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchObject, ISearchstaxSearchFeedbackData, ISearchstaxSearchSortingData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-sorting\",\n templateUrl: \"./searchstax-search-sorting.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchSortingWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n\n sortingData: null | ISearchstaxSearchSortingData = null;\n rand = Math.random();\n context = this;\n selectedSorting: string = \"\";\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchSortingWidget(\"search-sorting-container\" + this.rand, {});\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n orderChange(e: Event, context: this) {\n e.stopImmediatePropagation();\n context.storeServiceService.searchstax.searchSortingWidget?.setOrderQuery((e.target as HTMLSelectElement).value);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchSortingData.subscribe(\n (sortingData: null | ISearchstaxSearchSortingData) => {\n this.sortingData = sortingData;\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$searchObject.subscribe((searchObject: null | ISearchObject) => {\n this.selectedSorting = decodeURIComponent(searchObject?.order ?? '');\n });\n }\n}\n","<div class=\"search-feedback-container\" [id]=\"'search-sorting-container' + rand\">\n <div\n class=\"searchstax-sorting-container\"\n *ngIf=\"sortingData && sortingData?.searchExecuted && sortingData?.hasResultsOrExternalPromotions && !templateOverride\"\n >\n <label class=\"searchstax-sorting-label\" for=\"searchstax-search-order-select\">Sort By</label>\n <select\n id=\"searchstax-search-order-select\"\n class=\"searchstax-search-order-select\"\n [(ngModel)]=\"selectedSorting\"\n (change)=\"orderChange($event, context)\"\n >\n <option *ngFor=\"let sortOption of sortingData.sortOptions\" [value]=\"sortOption.key\">{{sortOption.value}}</option>\n </select>\n </div>\n\n <div\n *ngIf=\"\n sortingData && sortingData?.searchExecuted && sortingData?.hasResultsOrExternalPromotions && templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchstaxRelatedSearchResult, ISearchstaxRelatedSearchesData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-related-searches\",\n templateUrl: \"./searchstax-search-related.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchRelatedSearchesWidget implements OnInit {\n @Input() relatedSearchesURL?: string;\n @Input() relatedSearchesAPIKey?: string;\n @Input() templateOverride?: TemplateRef<any>;\n\n relatedData: null | ISearchstaxRelatedSearchesData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addRelatedSearchesWidget(\n \"searchstax-related-searches-container\" + this.rand,\n { relatedSearchesURL: this.relatedSearchesURL ?? \"\", relatedSearchesAPIKey: this.relatedSearchesAPIKey ?? \"\" }\n );\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n executeSearch(result: ISearchstaxRelatedSearchResult, context: this) {\n context.storeServiceService.searchstax.relatedSearchesWidget?.executeSearch(result);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(\n (relatedData: null | ISearchstaxRelatedSearchesData) => {\n this.relatedData = relatedData;\n }\n );\n }\n}\n","<div\n class=\"searchstax-related-searches-container\"\n [id]=\"'searchstax-related-searches-container' + rand\"\n *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && !templateOverride\"\n>\n Related searches: <span id=\"searchstax-related-searches\"></span>\n <span class=\"searchstax-related-search\" *ngIf=\"relatedData.relatedSearches\">\n <span\n *ngFor=\"let related of relatedData.relatedSearches\"\n tabindex=\"0\"\n (click)=\"executeSearch(related, context)\"\n (keyup.enter)=\"executeSearch(related, context)\"\n (keyup.space)=\"executeSearch(related, context)\"\n class=\"searchstax-related-search searchstax-related-search-item\"\n >\n {{ related.related_search }}<span *ngIf=\"!related.last\">,</span>\n </span>\n </span>\n</div>\n\n<div *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && templateOverride\">\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { IExternalPromotion, ISearchstaxExternalPromotionsData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-external-promotions\",\n templateUrl: \"./searchstax-search-external.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchExternalPromotionsWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n\n externalPromotionsData: null | ISearchstaxExternalPromotionsData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addExternalPromotionsWidget(\n \"searchstax-external-promotions-layout-container\" + this.rand,\n {}\n );\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n trackClick(externalPromotion: IExternalPromotion, event: Event, context: this) {\n context.storeServiceService.searchstax.externalPromotionsWidget?.trackClick(externalPromotion, event);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(\n (externalPromotionsData: null | ISearchstaxExternalPromotionsData) => {\n this.externalPromotionsData = externalPromotionsData;\n }\n );\n }\n}\n","<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <div\n class=\"searchstax-external-promotions-container\"\n id=\"searchstax-external-promotions-container\"\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <div\n class=\"searchstax-external-promotion searchstax-search-result\"\n *ngFor=\"let externalPromotion of externalPromotionsData.externalPromotions\"\n >\n <div class=\"icon-elevated\"></div>\n <a\n *ngIf=\"externalPromotion.url\"\n [href]=\"externalPromotion.url\"\n (click)=\"trackClick(externalPromotion, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{ externalPromotion.name }}</span>\n </div>\n <p\n *ngIf=\"externalPromotion.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ externalPromotion.description }}\n </p>\n <p *ngIf=\"externalPromotion.url\" class=\"searchstax-search-result-description searchstax-search-result-common\">\n {{ externalPromotion.url }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { SearchstaxWrapper } from \"./components/searchstax-wrapper.component\";\nimport { SearchstaxInputWidget } from \"./components/searchstax-input/searchstax-input.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { SearchstaxResultsWidget } from \"./components/searchstax-results/searchstax-results.component\";\nimport { SearchstaxSearchFeedbackWidget } from \"../public-api\";\nimport { SearchstaxSearchPaginationWidget } from \"./components/searchstax-search-pagination/searchstax-search-pagination.component\";\nimport { SearchstaxSearchFacetsWidget } from \"./components/searchstax-search-facets/searchstax-search-facets.component\";\nimport { SearchstaxSearchSortingWidget } from \"./components/searchstax-search-sorting/searchstax-search-sorting.component\";\nimport { SearchstaxSearchRelatedSearchesWidget } from \"./components/searchstax-search-related/searchstax-search-related.component\";\nimport { SearchstaxSearchExternalPromotionsWidget } from \"./components/searchstax-search-external/searchstax-search-external.component\";\nimport { FormsModule } from \"@angular/forms\";\n\n@NgModule({\n declarations: [\n SearchstaxWrapper,\n SearchstaxInputWidget,\n SearchstaxResultsWidget,\n SearchstaxSearchFeedbackWidget,\n SearchstaxSearchPaginationWidget,\n SearchstaxSearchFacetsWidget,\n SearchstaxSearchSortingWidget,\n SearchstaxSearchRelatedSearchesWidget,\n SearchstaxSearchExternalPromotionsWidget\n ],\n imports: [CommonModule, FormsModule],\n exports: [\n SearchstaxWrapper,\n SearchstaxInputWidget,\n SearchstaxResultsWidget,\n SearchstaxSearchFeedbackWidget,\n SearchstaxSearchPaginationWidget,\n SearchstaxSearchFacetsWidget,\n SearchstaxSearchSortingWidget,\n SearchstaxSearchRelatedSearchesWidget,\n SearchstaxSearchExternalPromotionsWidget\n ],\n})\nexport class SearchstudioUxAngularModule {}\n","/*\n * Public API Surface of searchstudio-ux-angular\n */\n\nexport * from './lib/components/searchstax-wrapper.component';\nexport * from './lib/components/searchstax-input/searchstax-input.component';\nexport * from './lib/components/searchstax-results/searchstax-results.component';\nexport * from './lib/components/searchstax-search-overview/searchstax-search-overview.component';\nexport * from './lib/components/searchstax-search-pagination/searchstax-search-pagination.component';\nexport * from './lib/components/searchstax-search-facets/searchstax-search-facets.component';\nexport * from './lib/components/searchstax-search-sorting/searchstax-search-sorting.component';\nexport * from './lib/components/searchstax-search-related/searchstax-search-related.component';\nexport * from './lib/components/searchstax-search-external/searchstax-search-external.component';\nexport * from './lib/services/store-service.service';\nexport * from './lib/searchstudio-ux-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StoreServiceService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"searchstax-inc-searchstudio-ux-angular.mjs","sources":["../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/services/store-service.service.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-wrapper.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-input/searchstax-input.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-input/searchstax-input.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-results/searchstax-results.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-results/searchstax-results.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-overview/searchstax-search-overview.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-overview/searchstax-search-overview.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-facets/searchstax-search-facets.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-facets/searchstax-search-facets.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-answer/searchstax-search-answer.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-answer/searchstax-search-answer.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-related/searchstax-search-related.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-related/searchstax-search-related.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-external/searchstax-search-external.component.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/components/searchstax-search-external/searchstax-search-external.component.html","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/lib/searchstudio-ux-angular.module.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/public-api.ts","../../../../projects/searchstax-inc/searchstudio-ux-angular/src/searchstax-inc-searchstudio-ux-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Searchstax } from '@searchstax-inc/searchstudio-ux-js'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreServiceService {\n searchstax = new Searchstax('vue' as any)\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IRouterConfig, ISearchObject, ISearchstaxParsedResult, Searchstax } from '@searchstax-inc/searchstudio-ux-js';\nimport { StoreServiceService } from '../services/store-service.service';\n\n@Component({\n selector: 'app-searchstax-wrapper',\n template: `\n <div>\n <ng-content></ng-content>\n </div>\n `,\n styles: [\n ]\n})\nexport class SearchstaxWrapper implements OnInit {\n @Input() language = 'en';\n @Input() searchURL: string = '';\n @Input() suggesterURL: string = '';\n @Input() trackApiKey: string = '';\n @Input() searchAuth: string = '';\n @Input() sessionId?: string;\n @Input() analyticsBaseUrl: string = '';\n @Input() analyticsSrc: string = '';\n @Input() questionURL: string = '';\n @Input() authType: 'basic' | 'token' = 'basic';\n @Input() autoCorrect = true;\n @Input() router?: IRouterConfig;\n @Input() beforeSearch?: (props: ISearchObject) => ISearchObject | null ;\n @Input() afterSearch?: (results: ISearchstaxParsedResult[]) => ISearchstaxParsedResult[];\n @Output() initialized = new EventEmitter<Searchstax>();\n hooks: { beforeSearch?: (props: ISearchObject) => ISearchObject | null, afterSearch?: (results: ISearchstaxParsedResult[]) => ISearchstaxParsedResult[] } = {};\n constructor(private storeServiceService: StoreServiceService) {\n if (this.beforeSearch) {\n this.hooks.beforeSearch = this.beforeSearch;\n }\n if (this.afterSearch) {\n this.hooks.afterSearch = this.afterSearch;\n }\n\n }\n\n ngOnInit(): void {\n\n this.storeServiceService.searchstax.initialize({\n language: this.language,\n searchURL: this.searchURL,\n suggesterURL: this.suggesterURL,\n trackApiKey: this.trackApiKey,\n searchAuth: this.searchAuth,\n authType: this.authType,\n autoCorrect: this.autoCorrect,\n router: this.router,\n hooks: this.hooks,\n analyticsBaseUrl: this.analyticsBaseUrl,\n analyticsSrc: this.analyticsSrc,\n sessionId: this.sessionId,\n questionURL: this.questionURL\n })\n\n this.initialized.emit(this.storeServiceService.searchstax)\n }\n\n}\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { ISearchstaxSEARCHTERM, ISearchstaxSuggestProps, ISearchstaxSuggestResponse, ISearchstaxSuggestion } from '@searchstax-inc/searchstudio-ux-js';\nimport { StoreServiceService } from '../../services/store-service.service';\n\n@Component({\n selector: 'app-searchstax-input',\n templateUrl: './searchstax-input.component.html',\n styles: []\n})\nexport class SearchstaxInputWidget implements OnInit {\n @Input() afterAutosuggest?: (result: ISearchstaxSuggestResponse) => ISearchstaxSuggestResponse;\n @Input() beforeAutosuggest?: (props: ISearchstaxSuggestProps) => ISearchstaxSuggestProps | null\n @Input() searchInputId = '';\n @Input() suggestAfterMinChars?: number ;\n @Input() templateOverride?: TemplateRef<any>;\n\n hooks: {[key: string]: (prop: any) => any } = {};\n suggestions: ISearchstaxSuggestion[] = []\n context = this;\n\n constructor(private storeServiceService: StoreServiceService) { }\n\n ngOnInit(): void {\n console.log('this.templateOverride', this.templateOverride);\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n // const hooks: { [key: string]: (prop: any) => any } = {}\n if (this.afterAutosuggest) {\n this.hooks['afterAutosuggest'] = this.afterAutosuggest\n }\n if (this.beforeAutosuggest) {\n this.hooks['beforeAutosuggest'] = this.beforeAutosuggest\n }\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchInputWidget('searchstax-input-container', {\n suggestAfterMinChars: this.suggestAfterMinChars,\n hooks: this.hooks,\n templates: {\n mainTemplate: {\n template: ``,\n searchInputId: this.searchInputId ?? 'searchstax-search-input'\n }\n }\n })\n }, 0);\n } else {\n throw Error('Searchstax instance needs to be passed via props')\n }\n }\n\n onMouseLeave(context: this) {\n context.storeServiceService.searchstax.searchInputWidget?.resetAutosuggestSelection();\n context.storeServiceService.searchstax.searchInputWidget?.markActiveAutosuggestItem();\n }\n\n onMouseOver(suggestion: ISearchstaxSuggestion, context: this) {\n context.storeServiceService.searchstax.searchInputWidget?.onSuggestionEnter(suggestion)\n }\n\n onMouseClick(e: Event, context: this) {\n e.stopImmediatePropagation();\n context.storeServiceService.searchstax.searchInputWidget?.suggestionChosen()\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$autosuggestResults.subscribe(\n (suggestions: null | ISearchstaxSEARCHTERM) => {\n this.suggestions = suggestions?.suggestions ?? [];\n }\n );\n }\n\n}\n","<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container\">\n <div *ngIf=\"!templateOverride\" class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n aria-label=\"search\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion, context)\"\n tabindex=\"0\"\n (click)=\"onMouseClick($event, context)\"\n ></div>\n </div>\n </div>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n aria-label=\"search\"\n ></button>\n </div>\n <div *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { StoreServiceService } from '../../services/store-service.service';\nimport {\n ISearchstaxParsedResult,\n ISearchstaxSearchMetadata,\n} from '@searchstax-inc/searchstudio-ux-js';\n\n@Component({\n selector: 'app-searchstax-results',\n templateUrl: './searchstax-results.component.html',\n styles: [],\n})\nexport class SearchstaxResultsWidget implements OnInit {\n @Input() afterLinkClick?: (\n results: ISearchstaxParsedResult\n ) => ISearchstaxParsedResult;\n\n @Input() noResultsTemplate?: TemplateRef<any>;\n @Input() resultsTemplate?: TemplateRef<any>;\n @Input() renderMethod?: \"infiniteScroll\" | \"pagination\";\n\n searchResults: ISearchstaxParsedResult[] | null = null;\n metadata: ISearchstaxSearchMetadata | null = null;\n searchTerm = '';\n context = this;\n\n get hooks(): { [key: string]: (prop: any) => any } {\n const hooks: { [key: string]: (prop: any) => any } = {};\n if (this.afterLinkClick) {\n hooks['afterLinkClick'] = this.afterLinkClick;\n }\n return hooks;\n }\n\n constructor(public storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchResultsWidget(\n 'searchstax-results-container',\n {\n templates: {},\n hooks: this.hooks,\n renderMethod: this.renderMethod ?? \"pagination\",\n }\n );\n }, 0);\n } else {\n throw Error('Searchstax instance needs to be passed via props');\n }\n }\n\n executeSearch(term: string, event: Event, context: this): void {\n event.preventDefault();\n context.storeServiceService.searchstax.executeSearch(term);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchResults.subscribe(\n (results: ISearchstaxParsedResult[] | null) => {\n\n const current = this.searchResults ? [...this.searchResults] : [];\n const newResults = results ?? [];\n const resultsCombined =\n this.renderMethod === \"infiniteScroll\"\n ? [...current, ...newResults]\n : results;\n if (this.storeServiceService.searchstax.dataLayer.$searchObject.value?.page === 1) {\n this.searchResults = newResults;\n } else {\n this.searchResults = resultsCombined;\n }\n }\n );\n this.storeServiceService.searchstax.dataLayer.$searchTermChange.subscribe(\n (result: string) => {\n this.searchTerm = result;\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$searchResultsMetadata.subscribe(\n (value: ISearchstaxSearchMetadata) => {\n this.metadata = value;\n }\n );\n }\n\n resultClicked(result: ISearchstaxParsedResult, event: Event, context: this) {\n event.preventDefault();\n event.stopPropagation();\n context.storeServiceService.searchstax.executeLinkClick(result.uniqueId);\n }\n\n isImage(field: any){\n return field.isImage && typeof field.value === 'string'\n }\n}\n","<div id=\"searchstax-results-container\">\n <div class=\"searchstax-search-results-container\">\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && !noResultsTemplate\"\n >\n <div class=\"searchstax-no-results\">\n Showing <strong>no results</strong> for\n <strong>\"{{ searchTerm }}\"</strong>\n <br />\n <span *ngIf=\"metadata?.spellingSuggestion\"\n > Did you mean\n <a href=\"#\" class=\"searchstax-suggestion-term\" (click)=\"executeSearch(metadata?.spellingSuggestion ?? '', $event, context)\">{{\n metadata?.spellingSuggestion\n }}</a\n >?</span\n >\n </div>\n <ul>\n <li>\n Try searching for search related terms or topics. We offer a wide\n variety of content to help you get the information you need.\n </li>\n <li>Lost? Click on the ‘X” in the Search Box to reset your search.</li>\n </ul>\n </div>\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && noResultsTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-search-results\"\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n\n <a\n *ngFor=\"let searchResult of searchResults\"\n [href]=\"searchResult.url\"\n [attr.data-searchstax-unique-result-id]=\"searchResult.uniqueId\"\n (click)=\"resultClicked(searchResult, $event, context)\"\n (keyup.enter)=\"resultClicked(searchResult, $event, context)\"\n (keyup.space)=\"resultClicked(searchResult, $event, context)\"\n tabindex=\"0\"\n class=\"searchstax-result-item-link searchstax-result-item-link-wrapping\"\n >\n\n <div\n class=\"searchstax-search-result\"\n [ngClass]=\"{ 'has-thumbnail': searchResult.thumbnail }\"\n\n >\n <div\n *ngIf=\"searchResult.promoted\"\n class=\"searchstax-search-result-promoted\"\n ></div>\n <div\n *ngIf=\"searchResult.ribbon\"\n [innerHTML]=\"searchResult.ribbon\"\n class=\"searchstax-search-result-ribbon\"\n >\n </div>\n <img\n *ngIf=\"searchResult.thumbnail\"\n [src]=\"searchResult.thumbnail\"\n class=\"searchstax-thumbnail\"\n />\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\" [innerHTML]=\"searchResult.title\"></span>\n </div>\n <p *ngIf=\"searchResult.paths\" class=\"searchstax-search-result-common\" [innerHTML]=\"searchResult.paths\">\n </p>\n <p\n *ngIf=\"searchResult.description\"\n [innerHTML]=\"searchResult.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n </p>\n <div *ngFor=\"let unmappedField of searchResult.unmappedFields\">\n <div\n *ngIf=\"isImage(unmappedField)\"\n class=\"searchstax-search-result-image-container\"\n >\n <img\n [src]=\"unmappedField.value\"\n class=\"searchstax-result-image\"\n />\n </div>\n <div *ngIf=\"!isImage(unmappedField)\">\n <p class=\"searchstax-search-result-common\"\n [innerHTML]=\"unmappedField.value\"\n >\n </p>\n </div>\n </div>\n </div>\n </a>\n </div>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchstaxSearchFeedbackData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-feedback\",\n templateUrl: \"./searchstax-search-overview.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchFeedbackWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n\n searchFeedbackData: null | ISearchstaxSearchFeedbackData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchFeedbackWidget(\"search-feedback-container\" + this.rand, {});\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n onOriginalQueryClick(e: Event, context: this) {\n e.stopImmediatePropagation();\n context.storeServiceService.searchstax.searchFeedbackWidget?.onOriginalQueryClick(e);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchFeedbackData.subscribe(\n (searchFeedbackData: null | ISearchstaxSearchFeedbackData) => {\n this.searchFeedbackData = searchFeedbackData;\n }\n );\n }\n}\n","<div\n class=\"search-feedback-container\"\n [id]=\"'search-feedback-container' + rand\"\n>\n <div\n class=\"searchstax-feedback-container\"\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n !templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n Showing\n <b\n >{{ searchFeedbackData!.startResultIndex }} -\n {{ searchFeedbackData!.endResultIndex }}</b\n >\n of <b>{{ searchFeedbackData!.totalResults }}</b> results\n <span *ngIf=\"searchFeedbackData.searchTerm\"\n >for \"<b>{{ searchFeedbackData!.searchTerm }}</b\n >\"\n </span>\n <div class=\"searchstax-feedback-container-suggested\">\n <div *ngIf=\"searchFeedbackData.autoCorrectedQuery\">\n Search instead for\n <a\n href=\"#\"\n (click)=\"onOriginalQueryClick($event, context)\"\n class=\"searchstax-feedback-original-query\"\n >{{ searchFeedbackData!.originalQuery }}</a\n >\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport {\n IPaginationData,\n ISearchObject,\n} from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-pagination\",\n templateUrl: \"./searchstax-search-pagination.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchPaginationWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n @Input() infiniteScrollTemplateOverride?: TemplateRef<any>;\n\n paginationData: null | IPaginationData = null;\n rand = Math.random();\n context = this;\n paginationAdded = false;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.addWidget();\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n nextPage(event: Event, context: this) {\n event.stopImmediatePropagation();\n if (!context.paginationData?.isLastPage) {\n context.storeServiceService.searchstax.searchPaginationWidget?.nextPage(\n event\n );\n }\n }\n\n previousPage(event: Event, context: this) {\n event.stopImmediatePropagation();\n if (!context.paginationData?.isFirstPage) {\n context.storeServiceService.searchstax.searchPaginationWidget?.previousPage(\n event\n );\n }\n }\n\n addWidget() {\n if (\n !this.paginationAdded &&\n this.storeServiceService.searchstax.routerHelper\n ) {\n this.paginationAdded = true;\n this.storeServiceService.searchstax.addPaginationWidget(\n \"searchstax-pagination-container\" + this.rand,\n {}\n );\n }\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchObject.subscribe(\n (pagination: ISearchObject | null) => {\n this.addWidget();\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$paginationData.subscribe(\n (pagination: IPaginationData | null) => {\n this.paginationData = pagination;\n }\n );\n }\n}\n","<div [id]=\"'searchstax-pagination-container' + rand\">\n <div\n class=\"searchstax-pagination-container\"\n *ngIf=\"\n paginationData?.totalResults &&\n !templateOverride &&\n !paginationData?.isInfiniteScroll\n \"\n >\n <div class=\"searchstax-pagination-content\">\n <a\n class=\"searchstax-pagination-previous\"\n [class]=\"paginationData?.isFirstPage ? 'disabled' : ''\"\n (click)=\"previousPage($event, context)\"\n (keyup.enter)=\"previousPage($event, context)\"\n (keyup.space)=\"previousPage($event, context)\"\n tabindex=\"0\"\n id=\"searchstax-pagination-previous\"\n >\n < Previous\n </a>\n <div class=\"searchstax-pagination-details\">\n {{ paginationData?.startResultIndex }} -\n {{ paginationData?.endResultIndex }} of\n {{ paginationData?.totalResults }}\n </div>\n <a\n class=\"searchstax-pagination-next\"\n [class]=\"paginationData?.isLastPage ? 'disabled' : ''\"\n (click)=\"nextPage($event, context)\"\n (keyup.enter)=\"nextPage($event, context)\"\n (keyup.space)=\"nextPage($event, context)\"\n tabindex=\"0\"\n id=\"searchstax-pagination-next\"\n >Next ></a\n >\n </div>\n </div>\n\n <div\n *ngIf=\"\n paginationData?.totalResults &&\n templateOverride &&\n !paginationData?.isInfiniteScroll\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-pagination-container\"\n *ngIf=\"\n paginationData?.totalResults &&\n !infiniteScrollTemplateOverride &&\n paginationData?.totalResults !== 0 &&\n !paginationData?.isLastPage &&\n paginationData?.isInfiniteScroll\n \"\n >\n <a\n class=\"searchstax-pagination-load-more\"\n (click)=\"nextPage($event, context)\"\n (keyup.enter)=\"nextPage($event, context)\"\n (keyup.space)=\"nextPage($event, context)\"\n tabindex=\"0\"\n >\n Load More\n </a>\n </div>\n\n <div\n *ngIf=\"\n paginationData?.totalResults &&\n infiniteScrollTemplateOverride &&\n paginationData?.totalResults !== 0 &&\n !paginationData?.isLastPage &&\n paginationData?.isInfiniteScroll\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"infiniteScrollTemplateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n","import { Component, ElementRef, Input, OnInit, QueryList, TemplateRef, ViewChild, ViewChildren } from \"@angular/core\";\nimport { IFacetData, IFacetValue, IFacetValueData, IFacetValueRange, IFacetsTemplateData, IPaginationData, ISearchObject } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-facets\",\n templateUrl: \"./searchstax-search-facets.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchFacetsWidget implements OnInit {\n @Input() templateOverrideMobile?: TemplateRef<any>;\n @Input() templateOverrideDesktop?: TemplateRef<any>;\n @Input() facetingType!: \"and\" | \"or\" | \"showUnavailable\" | \"tabs\";\n @Input() itemsPerPageDesktop!: number;\n @Input() itemsPerPageMobile!: number;\n @Input() specificFacets!: string[];\n\n facetsTemplateDataDesktop: null | IFacetsTemplateData = null;\n facetsTemplateDataMobile: null | IFacetsTemplateData = null;\n context = this;\n selectedFacetsCheckboxes: IFacetValue[] = [];\n selectedFacetsRange: IFacetValueRange[] = [];\n rand = Math.random();\n\n // @ViewChildren(\"facetContainers\") facetContainers: QueryList<ElementRef>;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.addWidget();\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n addWidget() {\n this.storeServiceService.searchstax.addFacetsWidget('searchstax-facets-container' + this.rand, {\n facetingType: this.facetingType,\n specificFacets: this.specificFacets,\n itemsPerPageDesktop: this.itemsPerPageDesktop,\n itemsPerPageMobile: this.itemsPerPageMobile\n })\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$facetsTemplateData.subscribe(\n (data: null | IFacetsTemplateData) => {\n if (data?.isMobile) {\n this.facetsTemplateDataMobile = data;\n\n } else {\n this.facetsTemplateDataDesktop = data;\n }\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(\n (data: null | (IFacetValue | IFacetValueRange)[]) => {\n const da = data ?? [];\n this.selectedFacetsCheckboxes = da.filter((d) => d.type === 'checkbox') as IFacetValue[];\n }\n );\n }\n\n\n unselectFacet(facet: IFacetValue, context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.unselectFacet(facet)\n }\n\n unselectAll(context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.removeSelectedFacets()\n }\n\n isNotDeactivated(name: string, context: this) {\n return !context.storeServiceService.searchstax.searchFacetsWidget?.deactivatedFacets[name]\n }\n\n toggleFacetGroup(name: string, context: this) {\n if(context.storeServiceService.searchstax.searchFacetsWidget)\n if (context.isNotDeactivated(name, context)) {\n context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = true\n } else {\n context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = false\n }\n }\n\n isChecked(facetValue: IFacetValueData, context: this) {\n return context.storeServiceService.searchstax.searchFacetsWidget?.isChecked(facetValue)\n }\n\n selectFacet(el: HTMLDivElement, event: Event, data: IFacetValueData, isInput: boolean, context: this) {\n const wrapperDiv = document.createElement('div');\n wrapperDiv.innerHTML = el.outerHTML;\n context.storeServiceService.searchstax.searchFacetsWidget?.onFacetSelect(event, data, el, isInput)\n\n }\n\n showMoreLessDesktop(e: Event, data: IFacetData, context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, false)\n }\n\n showMoreLessMobile(e: Event, data: IFacetData, context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, true)\n }\n\n openOverlay(context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.openOverlay();\n }\n\n closeOverlay(context: this) {\n context.storeServiceService.searchstax.searchFacetsWidget?.closeOverlay();\n }\n\n facetValues(facet: IFacetData) : IFacetValueData[] {\n return facet.values as IFacetValueData[];\n }\n\n facetMobileData(facet: IFacetsTemplateData | null) : any {\n return facet as any\n }\n}\n","<div [id]=\"'searchstax-facets-container' + rand\">\n <div\n *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && !templateOverrideDesktop\"\n class=\"searchstax-facets-container-desktop\"\n >\n <div\n class=\"searchstax-facet-container\"\n *ngFor=\"let facet of facetsTemplateDataDesktop?.facets\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div class=\"searchstax-facet-value-label\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n {{ facetValue.value }}\n </div>\n <div class=\"searchstax-facet-value-count\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\" (keyup.enter)=\"showMoreLessDesktop($event, facet, context)\" (keyup.space)=\"showMoreLessDesktop($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && templateOverrideDesktop\">\n <ng-container *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"></ng-container>\n </div>\n\n <div\n class=\"searchstax-facets-container-mobile\"\n *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && !templateOverrideMobile\"\n >\n <div class=\"searchstax-facets-pills-container\">\n <div class=\"searchstax-facets-pill searchstax-facets-pill-filter-by\" (click)=\"openOverlay(context)\">\n <div class=\"searchstax-facets-pill-label\">Filter By</div>\n </div>\n <div class=\"searchstax-facets-pills-selected\">\n <div\n class=\"searchstax-facets-pill searchstax-facets-pill-facets\"\n *ngFor=\"let facet of selectedFacetsCheckboxes\"\n (click)=\"unselectFacet(facet, context)\"\n >\n <div class=\"searchstax-facets-pill-label\">{{ facet.value }} ({{ facet.count }})</div>\n <div class=\"searchstax-facets-pill-icon-close\"></div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all\"\n *ngIf=\"selectedFacetsCheckboxes.length\"\n (click)=\"unselectAll(context)\"\n >\n <div class=\"searchstax-facets-pill-label\">Clear Filters</div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-mobile-overlay\"\n [class]=\"{ 'searchstax-show': facetMobileData(facetsTemplateDataMobile)?.overlayOpened }\"\n >\n <div class=\"searchstax-facets-mobile-overlay-header\">\n <div class=\"searchstax-facets-mobile-overlay-header-title\">Filter By</div>\n <div class=\"searchstax-search-close\" (click)=\"closeOverlay(context)\"></div>\n </div>\n <div class=\"searchstax-facets-container-mobile\">\n <div\n *ngFor=\"let facet of facetsTemplateDataMobile?.facets\"\n class=\"searchstax-facet-container\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div\n class=\"searchstax-facet-value-label\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n {{ facetValue.value }}\n </div>\n <div\n class=\"searchstax-facet-value-count\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessMobile($event, facet, context)\" (keyup.enter)=\"showMoreLessMobile($event, facet, context)\" (keyup.space)=\"showMoreLessMobile($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"searchstax-facets-mobile-overlay-done\" (click)=\"closeOverlay(context)\">Done</button>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && templateOverrideMobile\">\n <ng-container *ngTemplateOutlet=\"templateOverrideMobile; context: context\"></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchObject, ISearchstaxSearchFeedbackData, ISearchstaxSearchSortingData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-search-sorting\",\n templateUrl: \"./searchstax-search-sorting.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchSortingWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n\n sortingData: null | ISearchstaxSearchSortingData = null;\n rand = Math.random();\n context = this;\n selectedSorting: string = \"\";\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addSearchSortingWidget(\"search-sorting-container\" + this.rand, {});\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n orderChange(e: Event, context: this) {\n e.stopImmediatePropagation();\n context.storeServiceService.searchstax.searchSortingWidget?.setOrderQuery((e.target as HTMLSelectElement).value);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchSortingData.subscribe(\n (sortingData: null | ISearchstaxSearchSortingData) => {\n this.sortingData = sortingData;\n }\n );\n\n this.storeServiceService.searchstax.dataLayer.$searchObject.subscribe((searchObject: null | ISearchObject) => {\n this.selectedSorting = decodeURIComponent(searchObject?.order ?? '');\n });\n }\n}\n","<div class=\"search-feedback-container\" [id]=\"'search-sorting-container' + rand\">\n <div\n class=\"searchstax-sorting-container\"\n *ngIf=\"sortingData && sortingData?.searchExecuted && sortingData?.hasResultsOrExternalPromotions && !templateOverride\"\n >\n <label class=\"searchstax-sorting-label\" for=\"searchstax-search-order-select\">Sort By</label>\n <select\n id=\"searchstax-search-order-select\"\n class=\"searchstax-search-order-select\"\n [(ngModel)]=\"selectedSorting\"\n (change)=\"orderChange($event, context)\"\n >\n <option *ngFor=\"let sortOption of sortingData.sortOptions\" [value]=\"sortOption.key\">{{sortOption.value}}</option>\n </select>\n </div>\n\n <div\n *ngIf=\"\n sortingData && sortingData?.searchExecuted && sortingData?.hasResultsOrExternalPromotions && templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchstaxAnswerData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-answer\",\n templateUrl: \"./searchstax-search-answer.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchAnswerWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n @Input() showShowMoreAfterWordCount?: number;\n\n answerData: null | ISearchstaxAnswerData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addAnswerWidget('searchstax-answer-container' + this.rand, {showShowMoreAfterWordCount: this.showShowMoreAfterWordCount});\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n showMore(event: Event, context: this) {\n if (context.storeServiceService.searchstax) {\n context.storeServiceService.searchstax.answerWidget?.showMore(event)\n }\n }\n\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$answerData.subscribe(\n (answerData: null | ISearchstaxAnswerData) => {\n this.answerData = answerData;\n }\n );\n }\n}\n","<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-description\">\n {{\n answerData.showMoreButtonVisible\n ? answerData.answerTruncated\n : answerData.answer\n }}\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { ISearchstaxRelatedSearchResult, ISearchstaxRelatedSearchesData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-related-searches\",\n templateUrl: \"./searchstax-search-related.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchRelatedSearchesWidget implements OnInit {\n @Input() relatedSearchesURL?: string;\n @Input() relatedSearchesAPIKey?: string;\n @Input() templateOverride?: TemplateRef<any>;\n\n relatedData: null | ISearchstaxRelatedSearchesData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addRelatedSearchesWidget(\n \"searchstax-related-searches-container\" + this.rand,\n { relatedSearchesURL: this.relatedSearchesURL ?? \"\", relatedSearchesAPIKey: this.relatedSearchesAPIKey ?? \"\" }\n );\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n executeSearch(result: ISearchstaxRelatedSearchResult, context: this) {\n context.storeServiceService.searchstax.relatedSearchesWidget?.executeSearch(result);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(\n (relatedData: null | ISearchstaxRelatedSearchesData) => {\n this.relatedData = relatedData;\n }\n );\n }\n}\n","<div\n class=\"searchstax-related-searches-container\"\n [id]=\"'searchstax-related-searches-container' + rand\"\n *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && !templateOverride\"\n>\n Related searches: <span id=\"searchstax-related-searches\"></span>\n <span class=\"searchstax-related-search\" *ngIf=\"relatedData.relatedSearches\">\n <span\n *ngFor=\"let related of relatedData.relatedSearches\"\n tabindex=\"0\"\n (click)=\"executeSearch(related, context)\"\n (keyup.enter)=\"executeSearch(related, context)\"\n (keyup.space)=\"executeSearch(related, context)\"\n class=\"searchstax-related-search searchstax-related-search-item\"\n >\n {{ related.related_search }}<span *ngIf=\"!related.last\">,</span>\n </span>\n </span>\n</div>\n\n<div *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && templateOverride\">\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n</div>\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\nimport { IExternalPromotion, ISearchstaxExternalPromotionsData } from \"@searchstax-inc/searchstudio-ux-js\";\nimport { StoreServiceService } from \"../../services/store-service.service\";\n\n@Component({\n selector: \"app-searchstax-external-promotions\",\n templateUrl: \"./searchstax-search-external.component.html\",\n styles: [],\n})\nexport class SearchstaxSearchExternalPromotionsWidget implements OnInit {\n @Input() templateOverride?: TemplateRef<any>;\n\n externalPromotionsData: null | ISearchstaxExternalPromotionsData = null;\n rand = Math.random();\n context = this;\n constructor(private storeServiceService: StoreServiceService) {}\n\n ngOnInit(): void {\n if (this.storeServiceService.searchstax) {\n this.attachObservables();\n setTimeout(() => {\n this.storeServiceService.searchstax.addExternalPromotionsWidget(\n \"searchstax-external-promotions-layout-container\" + this.rand,\n {}\n );\n }, 0);\n } else {\n throw Error(\"Searchstax instance needs to be passed via props\");\n }\n }\n\n trackClick(externalPromotion: IExternalPromotion, event: Event, context: this) {\n context.storeServiceService.searchstax.externalPromotionsWidget?.trackClick(externalPromotion, event);\n }\n\n attachObservables() {\n this.storeServiceService.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(\n (externalPromotionsData: null | ISearchstaxExternalPromotionsData) => {\n this.externalPromotionsData = externalPromotionsData;\n }\n );\n }\n}\n","<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <div\n class=\"searchstax-external-promotions-container\"\n id=\"searchstax-external-promotions-container\"\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <div\n class=\"searchstax-external-promotion searchstax-search-result\"\n *ngFor=\"let externalPromotion of externalPromotionsData.externalPromotions\"\n >\n <div class=\"icon-elevated\"></div>\n <a\n *ngIf=\"externalPromotion.url\"\n [href]=\"externalPromotion.url\"\n (click)=\"trackClick(externalPromotion, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{ externalPromotion.name }}</span>\n </div>\n <p\n *ngIf=\"externalPromotion.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ externalPromotion.description }}\n </p>\n <p *ngIf=\"externalPromotion.url\" class=\"searchstax-search-result-description searchstax-search-result-common\">\n {{ externalPromotion.url }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { SearchstaxWrapper } from \"./components/searchstax-wrapper.component\";\nimport { SearchstaxInputWidget } from \"./components/searchstax-input/searchstax-input.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { SearchstaxResultsWidget } from \"./components/searchstax-results/searchstax-results.component\";\nimport { SearchstaxSearchFeedbackWidget } from \"../public-api\";\nimport { SearchstaxSearchPaginationWidget } from \"./components/searchstax-search-pagination/searchstax-search-pagination.component\";\nimport { SearchstaxSearchAnswerWidget } from \"./components/searchstax-search-answer/searchstax-search-answer.component\";\nimport { SearchstaxSearchFacetsWidget } from \"./components/searchstax-search-facets/searchstax-search-facets.component\";\nimport { SearchstaxSearchSortingWidget } from \"./components/searchstax-search-sorting/searchstax-search-sorting.component\";\nimport { SearchstaxSearchRelatedSearchesWidget } from \"./components/searchstax-search-related/searchstax-search-related.component\";\nimport { SearchstaxSearchExternalPromotionsWidget } from \"./components/searchstax-search-external/searchstax-search-external.component\";\nimport { FormsModule } from \"@angular/forms\";\n\n@NgModule({\n declarations: [\n SearchstaxWrapper,\n SearchstaxInputWidget,\n SearchstaxResultsWidget,\n SearchstaxSearchFeedbackWidget,\n SearchstaxSearchPaginationWidget,\n SearchstaxSearchFacetsWidget,\n SearchstaxSearchSortingWidget,\n SearchstaxSearchRelatedSearchesWidget,\n SearchstaxSearchExternalPromotionsWidget,\n SearchstaxSearchAnswerWidget\n ],\n imports: [CommonModule, FormsModule],\n exports: [\n SearchstaxWrapper,\n SearchstaxInputWidget,\n SearchstaxResultsWidget,\n SearchstaxSearchFeedbackWidget,\n SearchstaxSearchPaginationWidget,\n SearchstaxSearchFacetsWidget,\n SearchstaxSearchSortingWidget,\n SearchstaxSearchRelatedSearchesWidget,\n SearchstaxSearchExternalPromotionsWidget,\n SearchstaxSearchAnswerWidget\n ],\n})\nexport class SearchstudioUxAngularModule {}\n","/*\n * Public API Surface of searchstudio-ux-angular\n */\n\nexport * from './lib/components/searchstax-wrapper.component';\nexport * from './lib/components/searchstax-input/searchstax-input.component';\nexport * from './lib/components/searchstax-results/searchstax-results.component';\nexport * from './lib/components/searchstax-search-overview/searchstax-search-overview.component';\nexport * from './lib/components/searchstax-search-pagination/searchstax-search-pagination.component';\nexport * from './lib/components/searchstax-search-facets/searchstax-search-facets.component';\nexport * from './lib/components/searchstax-search-sorting/searchstax-search-sorting.component';\nexport * from './lib/components/searchstax-search-answer/searchstax-search-answer.component';\nexport * from './lib/components/searchstax-search-related/searchstax-search-related.component';\nexport * from './lib/components/searchstax-search-external/searchstax-search-external.component';\nexport * from './lib/services/store-service.service';\nexport * from './lib/searchstudio-ux-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StoreServiceService"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OnInit, TemplateRef } from "@angular/core";
|
|
2
|
+
import { ISearchstaxAnswerData } from "@searchstax-inc/searchstudio-ux-js";
|
|
3
|
+
import { StoreServiceService } from "../../services/store-service.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SearchstaxSearchAnswerWidget implements OnInit {
|
|
6
|
+
private storeServiceService;
|
|
7
|
+
templateOverride?: TemplateRef<any>;
|
|
8
|
+
showShowMoreAfterWordCount?: number;
|
|
9
|
+
answerData: null | ISearchstaxAnswerData;
|
|
10
|
+
rand: number;
|
|
11
|
+
context: this;
|
|
12
|
+
constructor(storeServiceService: StoreServiceService);
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
showMore(event: Event, context: this): void;
|
|
15
|
+
attachObservables(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchstaxSearchAnswerWidget, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SearchstaxSearchAnswerWidget, "app-searchstax-answer", never, { "templateOverride": { "alias": "templateOverride"; "required": false; }; "showShowMoreAfterWordCount": { "alias": "showShowMoreAfterWordCount"; "required": false; }; }, {}, never, never, false, never>;
|
|
18
|
+
}
|
|
@@ -12,6 +12,7 @@ export declare class SearchstaxWrapper implements OnInit {
|
|
|
12
12
|
sessionId?: string;
|
|
13
13
|
analyticsBaseUrl: string;
|
|
14
14
|
analyticsSrc: string;
|
|
15
|
+
questionURL: string;
|
|
15
16
|
authType: 'basic' | 'token';
|
|
16
17
|
autoCorrect: boolean;
|
|
17
18
|
router?: IRouterConfig;
|
|
@@ -25,5 +26,5 @@ export declare class SearchstaxWrapper implements OnInit {
|
|
|
25
26
|
constructor(storeServiceService: StoreServiceService);
|
|
26
27
|
ngOnInit(): void;
|
|
27
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<SearchstaxWrapper, never>;
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SearchstaxWrapper, "app-searchstax-wrapper", never, { "language": { "alias": "language"; "required": false; }; "searchURL": { "alias": "searchURL"; "required": false; }; "suggesterURL": { "alias": "suggesterURL"; "required": false; }; "trackApiKey": { "alias": "trackApiKey"; "required": false; }; "searchAuth": { "alias": "searchAuth"; "required": false; }; "sessionId": { "alias": "sessionId"; "required": false; }; "analyticsBaseUrl": { "alias": "analyticsBaseUrl"; "required": false; }; "analyticsSrc": { "alias": "analyticsSrc"; "required": false; }; "authType": { "alias": "authType"; "required": false; }; "autoCorrect": { "alias": "autoCorrect"; "required": false; }; "router": { "alias": "router"; "required": false; }; "beforeSearch": { "alias": "beforeSearch"; "required": false; }; "afterSearch": { "alias": "afterSearch"; "required": false; }; }, { "initialized": "initialized"; }, never, ["*"], false, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SearchstaxWrapper, "app-searchstax-wrapper", never, { "language": { "alias": "language"; "required": false; }; "searchURL": { "alias": "searchURL"; "required": false; }; "suggesterURL": { "alias": "suggesterURL"; "required": false; }; "trackApiKey": { "alias": "trackApiKey"; "required": false; }; "searchAuth": { "alias": "searchAuth"; "required": false; }; "sessionId": { "alias": "sessionId"; "required": false; }; "analyticsBaseUrl": { "alias": "analyticsBaseUrl"; "required": false; }; "analyticsSrc": { "alias": "analyticsSrc"; "required": false; }; "questionURL": { "alias": "questionURL"; "required": false; }; "authType": { "alias": "authType"; "required": false; }; "autoCorrect": { "alias": "autoCorrect"; "required": false; }; "router": { "alias": "router"; "required": false; }; "beforeSearch": { "alias": "beforeSearch"; "required": false; }; "afterSearch": { "alias": "afterSearch"; "required": false; }; }, { "initialized": "initialized"; }, never, ["*"], false, never>;
|
|
29
30
|
}
|
|
@@ -8,10 +8,11 @@ import * as i6 from "./components/searchstax-search-facets/searchstax-search-fac
|
|
|
8
8
|
import * as i7 from "./components/searchstax-search-sorting/searchstax-search-sorting.component";
|
|
9
9
|
import * as i8 from "./components/searchstax-search-related/searchstax-search-related.component";
|
|
10
10
|
import * as i9 from "./components/searchstax-search-external/searchstax-search-external.component";
|
|
11
|
-
import * as i10 from "
|
|
12
|
-
import * as i11 from "@angular/
|
|
11
|
+
import * as i10 from "./components/searchstax-search-answer/searchstax-search-answer.component";
|
|
12
|
+
import * as i11 from "@angular/common";
|
|
13
|
+
import * as i12 from "@angular/forms";
|
|
13
14
|
export declare class SearchstudioUxAngularModule {
|
|
14
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<SearchstudioUxAngularModule, never>;
|
|
15
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SearchstudioUxAngularModule, [typeof i1.SearchstaxWrapper, typeof i2.SearchstaxInputWidget, typeof i3.SearchstaxResultsWidget, typeof i4.SearchstaxSearchFeedbackWidget, typeof i5.SearchstaxSearchPaginationWidget, typeof i6.SearchstaxSearchFacetsWidget, typeof i7.SearchstaxSearchSortingWidget, typeof i8.SearchstaxSearchRelatedSearchesWidget, typeof i9.SearchstaxSearchExternalPromotionsWidget], [typeof
|
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SearchstudioUxAngularModule, [typeof i1.SearchstaxWrapper, typeof i2.SearchstaxInputWidget, typeof i3.SearchstaxResultsWidget, typeof i4.SearchstaxSearchFeedbackWidget, typeof i5.SearchstaxSearchPaginationWidget, typeof i6.SearchstaxSearchFacetsWidget, typeof i7.SearchstaxSearchSortingWidget, typeof i8.SearchstaxSearchRelatedSearchesWidget, typeof i9.SearchstaxSearchExternalPromotionsWidget, typeof i10.SearchstaxSearchAnswerWidget], [typeof i11.CommonModule, typeof i12.FormsModule], [typeof i1.SearchstaxWrapper, typeof i2.SearchstaxInputWidget, typeof i3.SearchstaxResultsWidget, typeof i4.SearchstaxSearchFeedbackWidget, typeof i5.SearchstaxSearchPaginationWidget, typeof i6.SearchstaxSearchFacetsWidget, typeof i7.SearchstaxSearchSortingWidget, typeof i8.SearchstaxSearchRelatedSearchesWidget, typeof i9.SearchstaxSearchExternalPromotionsWidget, typeof i10.SearchstaxSearchAnswerWidget]>;
|
|
16
17
|
static ɵinj: i0.ɵɵInjectorDeclaration<SearchstudioUxAngularModule>;
|
|
17
18
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchstax-inc/searchstudio-ux-angular",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.13",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"@angular/common": "13 - 17",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"tslib": "^2.3.0",
|
|
12
|
-
"@searchstax-inc/searchstudio-ux-js": "npm:@searchstax-inc/searchstudio-ux-js@^1.0.
|
|
12
|
+
"@searchstax-inc/searchstudio-ux-js": "npm:@searchstax-inc/searchstudio-ux-js@^1.0.28"
|
|
13
13
|
},
|
|
14
14
|
"module": "fesm2022/searchstax-inc-searchstudio-ux-angular.mjs",
|
|
15
15
|
"typings": "index.d.ts",
|
package/public-api.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './lib/components/searchstax-search-overview/searchstax-search-ove
|
|
|
5
5
|
export * from './lib/components/searchstax-search-pagination/searchstax-search-pagination.component';
|
|
6
6
|
export * from './lib/components/searchstax-search-facets/searchstax-search-facets.component';
|
|
7
7
|
export * from './lib/components/searchstax-search-sorting/searchstax-search-sorting.component';
|
|
8
|
+
export * from './lib/components/searchstax-search-answer/searchstax-search-answer.component';
|
|
8
9
|
export * from './lib/components/searchstax-search-related/searchstax-search-related.component';
|
|
9
10
|
export * from './lib/components/searchstax-search-external/searchstax-search-external.component';
|
|
10
11
|
export * from './lib/services/store-service.service';
|