@bridgeline-digital/hawksearch-handlebars-ui 6.2.3 → 6.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +11 -1
- package/dist/hawksearch-handlebars-ui.cjs +2 -2
- package/dist/hawksearch-handlebars-ui.js +66 -31
- package/dist/hawksearch-handlebars-ui.min.js +53 -53
- package/dist/hawksearch-handlebars-ui.umd.cjs +2 -2
- package/dist/index.d.ts +17 -0
- package/docs/assets/highlight.css +15 -8
- package/docs/assets/search.js +1 -1
- package/docs/classes/Components.AutocompleteComponent.html +25 -3
- package/docs/classes/Components.BaseComponent.html +24 -2
- package/docs/classes/Components.BaseContentComponent.html +24 -2
- package/docs/classes/Components.BaseFacetComponent.html +24 -2
- package/docs/classes/Components.CheckboxListFacetComponent.html +25 -3
- package/docs/classes/Components.ColorFacetComponent.html +25 -3
- package/docs/classes/Components.ConceptSearchFieldComponent.html +24 -2
- package/docs/classes/Components.ContentZoneComponent.html +25 -3
- package/docs/classes/Components.ConversationalSearchComponent.html +25 -3
- package/docs/classes/Components.CustomContentComponent.html +24 -2
- package/docs/classes/Components.DatePickerComponent.html +25 -3
- package/docs/classes/Components.DateRangeFacetComponent.html +25 -3
- package/docs/classes/Components.FacetWrapperComponent.html +25 -3
- package/docs/classes/Components.FacetsListComponent.html +25 -3
- package/docs/classes/Components.FeaturedItemsContentComponent.html +25 -3
- package/docs/classes/Components.FeaturedItemsContentItemComponent.html +25 -3
- package/docs/classes/Components.IconComponent.html +25 -3
- package/docs/classes/Components.ImageContentComponent.html +24 -2
- package/docs/classes/Components.ImageSearchFieldComponent.html +24 -2
- package/docs/classes/Components.LandingPageComponent.html +25 -3
- package/docs/classes/Components.LinkListFacetComponent.html +24 -2
- package/docs/classes/Components.ModifiedQueryComponent.html +25 -3
- package/docs/classes/Components.NumericRangeFacetComponent.html +24 -2
- package/docs/classes/Components.PageSizeComponent.html +24 -2
- package/docs/classes/Components.PaginationComponent.html +25 -3
- package/docs/classes/Components.PopularQueriesContentComponent.html +24 -2
- package/docs/classes/Components.QuerySuggestionsComponent.html +25 -3
- package/docs/classes/Components.RangeSliderComponent.html +25 -3
- package/docs/classes/Components.RangeSliderFacetComponent.html +25 -3
- package/docs/classes/Components.RatingComponent.html +25 -3
- package/docs/classes/Components.RecentSearchesFacetComponent.html +24 -2
- package/docs/classes/Components.RecommendationsComponent.html +25 -3
- package/docs/classes/Components.RecommendationsItemComponent.html +25 -3
- package/docs/classes/Components.RelatedSearchesFacetComponent.html +24 -2
- package/docs/classes/Components.SearchFieldComponent.html +25 -3
- package/docs/classes/Components.SearchResultsComponent.html +25 -3
- package/docs/classes/Components.SearchResultsItemComponent.html +25 -3
- package/docs/classes/Components.SearchResultsListComponent.html +25 -3
- package/docs/classes/Components.SearchWithinFacetComponent.html +24 -2
- package/docs/classes/Components.SelectedFacetsComponent.html +25 -3
- package/docs/classes/Components.SizeFacetComponent.html +25 -3
- package/docs/classes/Components.SmartResponseComponent.html +25 -3
- package/docs/classes/Components.SortingComponent.html +24 -2
- package/docs/classes/Components.TabsComponent.html +24 -2
- package/docs/classes/Components.TooltipComponent.html +25 -3
- package/docs/classes/Components.UnifiedSearchFieldComponent.html +361 -0
- package/docs/classes/Components.VariantSelectorComponent.html +25 -3
- package/docs/classes/Components.VisualSearchFieldComponent.html +25 -3
- package/docs/enums/Models.AutocompleteItemType.html +1 -0
- package/docs/enums/Models.EventType.html +1 -0
- package/docs/enums/Models.PageType.html +1 -0
- package/docs/enums/Models.SearchType.html +1 -0
- package/docs/index.html +15 -3
- package/docs/interfaces/Configuration.HawkSearchComponents.html +5 -0
- package/docs/interfaces/Configuration.HawkSearchConfig.html +1 -1
- package/docs/interfaces/Configuration.SmartSearchFieldComponentConfig.html +2 -2
- package/docs/interfaces/Models.AutocompleteCategories.html +1 -0
- package/docs/interfaces/Models.AutocompleteCategory.html +1 -0
- package/docs/interfaces/Models.AutocompleteComponentModel.html +1 -0
- package/docs/interfaces/Models.AutocompleteContent.html +1 -0
- package/docs/interfaces/Models.AutocompleteContentResult.html +1 -0
- package/docs/interfaces/Models.AutocompleteProductResult.html +1 -0
- package/docs/interfaces/Models.AutocompleteProducts.html +1 -0
- package/docs/interfaces/Models.AutocompleteQueries.html +1 -0
- package/docs/interfaces/Models.AutocompleteQuery.html +1 -0
- package/docs/interfaces/Models.AutocompleteRequest.html +1 -0
- package/docs/interfaces/Models.AutocompleteResponse.html +1 -0
- package/docs/interfaces/Models.BaseComponentModel.html +1 -0
- package/docs/interfaces/Models.CalendarDay.html +1 -0
- package/docs/interfaces/Models.CheckboxListFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.CheckboxListFacetValue.html +1 -0
- package/docs/interfaces/Models.ColorFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.ColorFacetValue.html +1 -0
- package/docs/interfaces/Models.ContentConfiguration.html +1 -0
- package/docs/interfaces/Models.ContentType.html +1 -0
- package/docs/interfaces/Models.ContentZone.html +1 -0
- package/docs/interfaces/Models.ContentZoneComponentModel.html +1 -0
- package/docs/interfaces/Models.ContentZoneItem.html +1 -0
- package/docs/interfaces/Models.ContentZones.html +1 -0
- package/docs/interfaces/Models.ConversationalSearchComponentModel.html +1 -0
- package/docs/interfaces/Models.CustomContent.html +1 -0
- package/docs/interfaces/Models.CustomContentComponentModel.html +1 -0
- package/docs/interfaces/Models.CustomWidgetContent.html +1 -0
- package/docs/interfaces/Models.DateFacetRange.html +1 -0
- package/docs/interfaces/Models.DatePickerComponentModel.html +1 -0
- package/docs/interfaces/Models.DateRangeFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.Facet.html +1 -0
- package/docs/interfaces/Models.FacetScrolling.html +1 -0
- package/docs/interfaces/Models.FacetSearch.html +1 -0
- package/docs/interfaces/Models.FacetTruncation.html +1 -0
- package/docs/interfaces/Models.FacetValue.html +1 -0
- package/docs/interfaces/Models.FacetValueColor.html +1 -0
- package/docs/interfaces/Models.FacetWrapperComponentModel.html +1 -0
- package/docs/interfaces/Models.FacetsListComponentModel.html +1 -0
- package/docs/interfaces/Models.FeaturedItemsContent.html +1 -0
- package/docs/interfaces/Models.FeaturedItemsContentComponentModel.html +1 -0
- package/docs/interfaces/Models.FeaturedItemsContentItem.html +1 -0
- package/docs/interfaces/Models.FeaturedItemsContentItemComponentModel.html +1 -0
- package/docs/interfaces/Models.IconComponentModel.html +1 -0
- package/docs/interfaces/Models.ImageContent.html +1 -0
- package/docs/interfaces/Models.ImageContentComponentModel.html +1 -0
- package/docs/interfaces/Models.Item.html +1 -0
- package/docs/interfaces/Models.ItemVariant.html +1 -0
- package/docs/interfaces/Models.LandingPageComponentModel.html +1 -0
- package/docs/interfaces/Models.LinkListFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.LinkListFacetValue.html +1 -0
- package/docs/interfaces/Models.MessageItem.html +1 -0
- package/docs/interfaces/Models.MessageItemList.html +2 -1
- package/docs/interfaces/Models.ModifiedQueryComponentModel.html +1 -0
- package/docs/interfaces/Models.ModifiedQueryData.html +1 -0
- package/docs/interfaces/Models.NumericFacetRange.html +1 -0
- package/docs/interfaces/Models.NumericRangeFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.PageSizeComponentModel.html +1 -0
- package/docs/interfaces/Models.Pagination.html +1 -0
- package/docs/interfaces/Models.PaginationComponentModel.html +1 -0
- package/docs/interfaces/Models.PaginationOption.html +1 -0
- package/docs/interfaces/Models.PopularQueriesContent.html +1 -0
- package/docs/interfaces/Models.PopularQueriesContentComponentModel.html +1 -0
- package/docs/interfaces/Models.PopularQueriesContentItem.html +1 -0
- package/docs/interfaces/Models.QuerySuggestionsComponentModel.html +1 -0
- package/docs/interfaces/Models.QuerySuggestionsData.html +1 -0
- package/docs/interfaces/Models.RangeSliderComponentModel.html +1 -0
- package/docs/interfaces/Models.RangeSliderEventData.html +1 -0
- package/docs/interfaces/Models.RangeSliderFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.RatingComponentModel.html +1 -0
- package/docs/interfaces/Models.RecentSearchesFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.RecommendationsCarouselData.html +232 -0
- package/docs/interfaces/Models.RecommendationsComponentModel.html +7 -0
- package/docs/interfaces/Models.RecommendationsItem.html +1 -0
- package/docs/interfaces/Models.RecommendationsItemComponentModel.html +1 -0
- package/docs/interfaces/Models.RecommendationsRequest.html +1 -0
- package/docs/interfaces/Models.RecommendationsResponse.html +1 -0
- package/docs/interfaces/Models.RecommendationsWidget.html +6 -0
- package/docs/interfaces/Models.Redirect.html +1 -0
- package/docs/interfaces/Models.RelatedSearchesFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.SearchFieldComponentModel.html +1 -0
- package/docs/interfaces/Models.SearchRequest.html +1 -0
- package/docs/interfaces/Models.SearchResponse.html +1 -0
- package/docs/interfaces/Models.SearchResultsComponentModel.html +1 -0
- package/docs/interfaces/Models.SearchResultsItem.html +1 -0
- package/docs/interfaces/Models.SearchResultsItemComponentModel.html +1 -0
- package/docs/interfaces/Models.SearchResultsItemVariant.html +1 -0
- package/docs/interfaces/Models.SearchResultsListComponentModel.html +1 -0
- package/docs/interfaces/Models.SearchWithinFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.SelectedFacet.html +1 -0
- package/docs/interfaces/Models.SelectedFacetValue.html +1 -0
- package/docs/interfaces/Models.SelectedFacetsComponentModel.html +1 -0
- package/docs/interfaces/Models.SeoConfiguration.html +1 -0
- package/docs/interfaces/Models.SizeFacetComponentModel.html +1 -0
- package/docs/interfaces/Models.SizeFacetValue.html +1 -0
- package/docs/interfaces/Models.SmartResponseComponentModel.html +1 -0
- package/docs/interfaces/Models.SmartResponseRequest.html +1 -0
- package/docs/interfaces/Models.SmartResponseResponse.html +1 -0
- package/docs/interfaces/Models.SmartSearchFieldComponentModel.html +3 -2
- package/docs/interfaces/Models.Sorting.html +1 -0
- package/docs/interfaces/Models.SortingComponentModel.html +1 -0
- package/docs/interfaces/Models.SortingOption.html +1 -0
- package/docs/interfaces/Models.TabsComponentModel.html +1 -0
- package/docs/interfaces/Models.TooltipComponentModel.html +1 -0
- package/docs/interfaces/Models.VariantSelectorComponentModel.html +1 -0
- package/docs/interfaces/Models.Variants.html +1 -0
- package/docs/interfaces/Models.VisualSearchFieldComponentModel.html +1 -0
- package/docs/modules/Components.html +3 -1
- package/docs/modules/Models.html +3 -1
- package/docs/types/Models.FacetState.html +1 -0
- package/docs/types/Models.FacetType.html +1 -0
- package/docs/types/Models.FacetValueState.html +1 -0
- package/docs/types/Models.IconName.html +1 -0
- package/docs/types/Models.ItemType.html +1 -0
- package/docs/types/Models.MessageRole.html +1 -0
- package/docs/types/Models.RequestType.html +1 -0
- package/docs/types/Models.SearchResultsMode.html +1 -0
- package/docs/types/Models.SearchTypes.html +1 -0
- package/docs/types/Models.SelectedFacets.html +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @bridgeline-digital/hawksearch-handlebars-ui
|
|
3
3
|
*
|
|
4
|
-
* version: v6.2.
|
|
4
|
+
* version: v6.2.4
|
|
5
5
|
*
|
|
6
6
|
* description: The HawkSearch Handlebars UI package allows you to add a highly-customizable search results page to your website powered by HawkSearch.
|
|
7
7
|
*
|
|
@@ -6009,6 +6009,10 @@ class BaseComponent extends HTMLElement {
|
|
|
6009
6009
|
});
|
|
6010
6010
|
return output;
|
|
6011
6011
|
}
|
|
6012
|
+
triggerEvent(name, data) {
|
|
6013
|
+
const event = new CustomEvent(name, { detail: data });
|
|
6014
|
+
window.dispatchEvent(event);
|
|
6015
|
+
}
|
|
6012
6016
|
}
|
|
6013
6017
|
class BaseContentComponent extends BaseComponent {
|
|
6014
6018
|
constructor() {
|
|
@@ -7025,6 +7029,14 @@ class RecommendationsComponent extends BaseComponent {
|
|
|
7025
7029
|
get carouselPosition() {
|
|
7026
7030
|
return this.carousel ? `${-1 * this.selectedIndex * 100 / this.itemsToDisplay}%` : void 0;
|
|
7027
7031
|
}
|
|
7032
|
+
get paginationEnabled() {
|
|
7033
|
+
var _a, _b, _c, _d;
|
|
7034
|
+
return ((_b = (_a = this.data) == null ? void 0 : _a.carouselData) == null ? void 0 : _b.showDots) ?? ((_d = (_c = this.configuration) == null ? void 0 : _c.carousel) == null ? void 0 : _d.paginationEnabled) ?? false;
|
|
7035
|
+
}
|
|
7036
|
+
get buttonsEnabled() {
|
|
7037
|
+
var _a, _b, _c;
|
|
7038
|
+
return ((_a = this.data) == null ? void 0 : _a.carouselData.showNextPrevButtons) ?? ((_c = (_b = this.configuration) == null ? void 0 : _b.carousel) == null ? void 0 : _c.buttonsEnabled) ?? true;
|
|
7039
|
+
}
|
|
7028
7040
|
get displayType() {
|
|
7029
7041
|
var _a, _b;
|
|
7030
7042
|
const width = window.innerWidth;
|
|
@@ -7102,23 +7114,23 @@ class RecommendationsComponent extends BaseComponent {
|
|
|
7102
7114
|
return !!((_b = (_a = this.data) == null ? void 0 : _a.items) == null ? void 0 : _b.length);
|
|
7103
7115
|
}
|
|
7104
7116
|
getContentModel() {
|
|
7105
|
-
var _a, _b, _c, _d, _e
|
|
7117
|
+
var _a, _b, _c, _d, _e;
|
|
7106
7118
|
this.previousDisplayType = this.displayType;
|
|
7107
7119
|
return {
|
|
7108
7120
|
...this.data,
|
|
7109
|
-
buttonsEnabled: ((_b = (_a = this.configuration) == null ? void 0 : _a.carousel) == null ? void 0 : _b.buttonsEnabled) ?? true,
|
|
7110
7121
|
carousel: this.carousel,
|
|
7111
7122
|
carouselPosition: this.carouselPosition,
|
|
7112
|
-
headingEnabled: ((
|
|
7123
|
+
headingEnabled: ((_a = this.configuration) == null ? void 0 : _a.headingEnabled) ?? true,
|
|
7113
7124
|
itemWidth: this.itemWidth,
|
|
7114
|
-
|
|
7125
|
+
buttonsEnabled: this.buttonsEnabled,
|
|
7126
|
+
paginationEnabled: this.paginationEnabled,
|
|
7115
7127
|
paginationItems: this.data.items.map((item, index) => ({
|
|
7116
7128
|
selected: this.getSelected(index),
|
|
7117
7129
|
title: item.title
|
|
7118
7130
|
})),
|
|
7119
7131
|
strings: {
|
|
7120
|
-
next: ((
|
|
7121
|
-
previous: ((
|
|
7132
|
+
next: ((_c = (_b = this.configuration) == null ? void 0 : _b.strings) == null ? void 0 : _c.next) ?? "Next",
|
|
7133
|
+
previous: ((_e = (_d = this.configuration) == null ? void 0 : _d.strings) == null ? void 0 : _e.previous) ?? "Previous"
|
|
7122
7134
|
}
|
|
7123
7135
|
};
|
|
7124
7136
|
}
|
|
@@ -9627,31 +9639,32 @@ class VisualSearchFieldComponent extends BaseComponent {
|
|
|
9627
9639
|
var _a;
|
|
9628
9640
|
const file = files[0];
|
|
9629
9641
|
const extension = (_a = file.name.split(".").pop()) == null ? void 0 : _a.toLowerCase();
|
|
9630
|
-
if (
|
|
9631
|
-
|
|
9632
|
-
|
|
9633
|
-
|
|
9634
|
-
|
|
9635
|
-
|
|
9636
|
-
|
|
9637
|
-
|
|
9638
|
-
|
|
9639
|
-
|
|
9640
|
-
e2.appendChild(img);
|
|
9641
|
-
});
|
|
9642
|
-
const base64Data = (_a2 = e.target) == null ? void 0 : _a2.result;
|
|
9643
|
-
if (base64Data) {
|
|
9644
|
-
this.previousValue = base64Data;
|
|
9645
|
-
HawkSearch.services.search.query({
|
|
9646
|
-
queryString: base64Data,
|
|
9647
|
-
requestType: "ImageData"
|
|
9648
|
-
});
|
|
9642
|
+
if (!this.isValidFile(file, extension))
|
|
9643
|
+
return;
|
|
9644
|
+
const reader = new FileReader();
|
|
9645
|
+
reader.onload = (e) => {
|
|
9646
|
+
var _a2;
|
|
9647
|
+
const img = new Image();
|
|
9648
|
+
img.src = reader.result;
|
|
9649
|
+
this.rootElement.querySelectorAll("[hawksearch-visualsearch-display]").forEach((e2) => {
|
|
9650
|
+
if (e2.lastChild) {
|
|
9651
|
+
e2.removeChild(e2.lastChild);
|
|
9649
9652
|
}
|
|
9650
|
-
|
|
9651
|
-
|
|
9652
|
-
|
|
9653
|
-
|
|
9654
|
-
|
|
9653
|
+
e2.appendChild(img);
|
|
9654
|
+
});
|
|
9655
|
+
const base64Data = (_a2 = e.target) == null ? void 0 : _a2.result;
|
|
9656
|
+
if (base64Data) {
|
|
9657
|
+
this.previousValue = base64Data;
|
|
9658
|
+
HawkSearch.services.search.query({
|
|
9659
|
+
queryString: base64Data,
|
|
9660
|
+
requestType: "ImageData"
|
|
9661
|
+
});
|
|
9662
|
+
}
|
|
9663
|
+
};
|
|
9664
|
+
reader.onerror = (error) => {
|
|
9665
|
+
this.triggerUploadFailed("file_read_unsuccessful", { error });
|
|
9666
|
+
};
|
|
9667
|
+
reader.readAsDataURL(file);
|
|
9655
9668
|
}
|
|
9656
9669
|
connectedCallback() {
|
|
9657
9670
|
super.connectedCallback();
|
|
@@ -9715,6 +9728,27 @@ class VisualSearchFieldComponent extends BaseComponent {
|
|
|
9715
9728
|
});
|
|
9716
9729
|
});
|
|
9717
9730
|
}
|
|
9731
|
+
isValidFile(file, extension) {
|
|
9732
|
+
if (!file.type.startsWith("image/")) {
|
|
9733
|
+
this.triggerUploadFailed("file_type_unsupported", { type: file.type });
|
|
9734
|
+
return false;
|
|
9735
|
+
}
|
|
9736
|
+
if (file.size > this.maxSize) {
|
|
9737
|
+
this.triggerUploadFailed("file_too_large", { size: `${Math.round(file.size / 1024 / 1024)}MB` });
|
|
9738
|
+
return false;
|
|
9739
|
+
}
|
|
9740
|
+
if (!this.allowedExtensions.includes(extension)) {
|
|
9741
|
+
this.triggerUploadFailed("file_extension_unsupported", { extension });
|
|
9742
|
+
return false;
|
|
9743
|
+
}
|
|
9744
|
+
return true;
|
|
9745
|
+
}
|
|
9746
|
+
triggerUploadFailed(reason, data) {
|
|
9747
|
+
this.triggerEvent("hawksearch:visualsearch-upload-failed", {
|
|
9748
|
+
reason,
|
|
9749
|
+
...data
|
|
9750
|
+
});
|
|
9751
|
+
}
|
|
9718
9752
|
}
|
|
9719
9753
|
const defaultHtml = `{{#if (arrayHasObjectsWithValue items "color")}}
|
|
9720
9754
|
<div class="variant-selector-list">
|
|
@@ -10351,6 +10385,7 @@ class RecommendationsService extends BaseService {
|
|
|
10351
10385
|
requestId: rawRecommendationsResponse.requestId,
|
|
10352
10386
|
title: w.widgetName,
|
|
10353
10387
|
carousel: w.isCarousel,
|
|
10388
|
+
carouselData: w.carouselData,
|
|
10354
10389
|
items: (_a2 = w.recommendationItems) == null ? void 0 : _a2.map((i) => getItem(i))
|
|
10355
10390
|
};
|
|
10356
10391
|
})
|