@bridgeline-digital/hawksearch-handlebars-ui 6.1.12 → 6.1.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/changelog.md +6 -0
- package/dist/hawksearch-handlebars-ui.cjs +2 -2
- package/dist/hawksearch-handlebars-ui.js +527 -87
- package/dist/hawksearch-handlebars-ui.min.js +139 -46
- package/dist/hawksearch-handlebars-ui.umd.cjs +2 -2
- package/dist/index.d.ts +61 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Components.AutocompleteComponent.html +2 -0
- package/docs/classes/Components.BaseComponent.html +4 -0
- package/docs/classes/Components.BaseContentComponent.html +2 -0
- package/docs/classes/Components.BaseFacetComponent.html +2 -0
- package/docs/classes/Components.CheckboxListFacetComponent.html +2 -0
- package/docs/classes/Components.ColorFacetComponent.html +2 -0
- package/docs/classes/Components.ConceptSearchFieldComponent.html +2 -0
- package/docs/classes/Components.ContentZoneComponent.html +2 -0
- package/docs/classes/Components.ConversationalSearchComponent.html +377 -0
- package/docs/classes/Components.CustomContentComponent.html +2 -0
- package/docs/classes/Components.DatePickerComponent.html +2 -0
- package/docs/classes/Components.DateRangeFacetComponent.html +2 -0
- package/docs/classes/Components.FacetWrapperComponent.html +2 -0
- package/docs/classes/Components.FacetsListComponent.html +2 -0
- package/docs/classes/Components.FeaturedItemsContentComponent.html +2 -0
- package/docs/classes/Components.FeaturedItemsContentItemComponent.html +2 -0
- package/docs/classes/Components.IconComponent.html +2 -0
- package/docs/classes/Components.ImageContentComponent.html +2 -0
- package/docs/classes/Components.ImageSearchFieldComponent.html +2 -0
- package/docs/classes/Components.LandingPageComponent.html +2 -0
- package/docs/classes/Components.LinkListFacetComponent.html +2 -0
- package/docs/classes/Components.ModifiedQueryComponent.html +2 -0
- package/docs/classes/Components.NumericRangeFacetComponent.html +2 -0
- package/docs/classes/Components.PageSizeComponent.html +2 -0
- package/docs/classes/Components.PaginationComponent.html +2 -0
- package/docs/classes/Components.PopularQueriesContentComponent.html +2 -0
- package/docs/classes/Components.QuerySuggestionsComponent.html +2 -0
- package/docs/classes/Components.RangeSliderComponent.html +2 -0
- package/docs/classes/Components.RangeSliderFacetComponent.html +2 -0
- package/docs/classes/Components.RatingComponent.html +2 -0
- package/docs/classes/Components.RecentSearchesFacetComponent.html +2 -0
- package/docs/classes/Components.RecommendationsComponent.html +2 -0
- package/docs/classes/Components.RecommendationsItemComponent.html +2 -0
- package/docs/classes/Components.RelatedSearchesFacetComponent.html +2 -0
- package/docs/classes/Components.SearchFieldComponent.html +2 -0
- package/docs/classes/Components.SearchResultsComponent.html +2 -0
- package/docs/classes/Components.SearchResultsItemComponent.html +2 -0
- package/docs/classes/Components.SearchResultsListComponent.html +2 -0
- package/docs/classes/Components.SearchWithinFacetComponent.html +2 -0
- package/docs/classes/Components.SelectedFacetsComponent.html +2 -0
- package/docs/classes/Components.SizeFacetComponent.html +2 -0
- package/docs/classes/Components.SmartResponseComponent.html +346 -0
- package/docs/classes/Components.SortingComponent.html +2 -0
- package/docs/classes/Components.TabsComponent.html +2 -0
- package/docs/classes/Components.TooltipComponent.html +2 -0
- package/docs/classes/Components.VariantSelectorComponent.html +2 -0
- package/docs/classes/Components.VisualSearchFieldComponent.html +2 -0
- package/docs/classes/Services.AutocompleteService.html +7 -2
- package/docs/classes/Services.BaseService.html +8 -2
- package/docs/classes/Services.ConversationalService.html +400 -0
- package/docs/classes/Services.RecommendationsService.html +7 -2
- package/docs/classes/Services.SearchService.html +20 -2
- package/docs/classes/Services.TrackingService.html +7 -2
- package/docs/enums/Models.AutocompleteItemType.html +7 -0
- package/docs/enums/Models.EventType.html +7 -0
- package/docs/enums/Models.PageType.html +7 -0
- package/docs/enums/Models.SearchType.html +7 -0
- package/docs/index.html +3 -3
- package/docs/interfaces/Configuration.AutocompleteComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.BaseComponentConfig.html +4 -0
- package/docs/interfaces/Configuration.Breakpoints.html +2 -0
- package/docs/interfaces/Configuration.CheckboxListFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.ColorFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.ContentZoneComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.ConversationalSearchComponentConfig.html +174 -0
- package/docs/interfaces/Configuration.CustomContentComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.DatePickerComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.DateRangeFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.FacetWrapperComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.FacetsListComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.FeaturedItemsContentComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.FeaturedItemsContentItemComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.FieldMappings.html +2 -0
- package/docs/interfaces/Configuration.HawkSearchComponents.html +12 -0
- package/docs/interfaces/Configuration.HawkSearchConfig.html +2 -0
- package/docs/interfaces/Configuration.HawkSearchGlobal.html +5 -1
- package/docs/interfaces/Configuration.HawkSearchState.html +2 -0
- package/docs/interfaces/Configuration.IconComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.ImageContentComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.LandingPageComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.LinkListFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.ModifiedQueryComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.NumericRangeFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.PageSizeComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.PaginationComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.PopularQueriesContentComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.QuerySuggestionsComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RangeSliderComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RangeSliderFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RatingComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RecentSearchesFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RecommendationsComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RecommendationsItemComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.RelatedSearchesFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SearchFieldComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SearchResultsComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SearchResultsItemComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SearchResultsListComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SearchWithinFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SelectedFacetsComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SizeFacetComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SmartResponseComponentConfig.html +167 -0
- package/docs/interfaces/Configuration.SmartSearchFieldComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.SortingComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.TabsComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.TooltipComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.VariantFieldMappings.html +2 -0
- package/docs/interfaces/Configuration.VariantSelectorComponentConfig.html +2 -0
- package/docs/interfaces/Configuration.VisualSearchFieldComponentConfig.html +2 -0
- package/docs/interfaces/Models.AutocompleteCategories.html +7 -0
- package/docs/interfaces/Models.AutocompleteCategory.html +7 -0
- package/docs/interfaces/Models.AutocompleteComponentModel.html +7 -0
- package/docs/interfaces/Models.AutocompleteContent.html +7 -0
- package/docs/interfaces/Models.AutocompleteContentResult.html +7 -0
- package/docs/interfaces/Models.AutocompleteProductResult.html +7 -0
- package/docs/interfaces/Models.AutocompleteProducts.html +7 -0
- package/docs/interfaces/Models.AutocompleteQueries.html +7 -0
- package/docs/interfaces/Models.AutocompleteQuery.html +7 -0
- package/docs/interfaces/Models.AutocompleteRequest.html +7 -0
- package/docs/interfaces/Models.AutocompleteResponse.html +7 -0
- package/docs/interfaces/Models.BaseComponentModel.html +9 -0
- package/docs/interfaces/Models.CalendarDay.html +7 -0
- package/docs/interfaces/Models.CheckboxListFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.CheckboxListFacetValue.html +7 -0
- package/docs/interfaces/Models.ColorFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.ColorFacetValue.html +7 -0
- package/docs/interfaces/Models.ContentConfiguration.html +7 -0
- package/docs/interfaces/Models.ContentType.html +7 -0
- package/docs/interfaces/Models.ContentZone.html +7 -0
- package/docs/interfaces/Models.ContentZoneComponentModel.html +7 -0
- package/docs/interfaces/Models.ContentZoneItem.html +7 -0
- package/docs/interfaces/Models.ContentZones.html +7 -0
- package/docs/interfaces/Models.ConversationalSearchComponentModel.html +208 -0
- package/docs/interfaces/Models.CustomContent.html +7 -0
- package/docs/interfaces/Models.CustomContentComponentModel.html +7 -0
- package/docs/interfaces/Models.CustomWidgetContent.html +7 -0
- package/docs/interfaces/Models.DateFacetRange.html +7 -0
- package/docs/interfaces/Models.DatePickerComponentModel.html +7 -0
- package/docs/interfaces/Models.DateRangeFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.Facet.html +7 -0
- package/docs/interfaces/Models.FacetScrolling.html +7 -0
- package/docs/interfaces/Models.FacetSearch.html +7 -0
- package/docs/interfaces/Models.FacetTruncation.html +7 -0
- package/docs/interfaces/Models.FacetValue.html +7 -0
- package/docs/interfaces/Models.FacetValueColor.html +7 -0
- package/docs/interfaces/Models.FacetWrapperComponentModel.html +7 -0
- package/docs/interfaces/Models.FacetsListComponentModel.html +7 -0
- package/docs/interfaces/Models.FeaturedItemsContent.html +7 -0
- package/docs/interfaces/Models.FeaturedItemsContentComponentModel.html +7 -0
- package/docs/interfaces/Models.FeaturedItemsContentItem.html +7 -0
- package/docs/interfaces/Models.FeaturedItemsContentItemComponentModel.html +7 -0
- package/docs/interfaces/Models.IconComponentModel.html +7 -0
- package/docs/interfaces/Models.ImageContent.html +7 -0
- package/docs/interfaces/Models.ImageContentComponentModel.html +7 -0
- package/docs/interfaces/Models.Item.html +7 -0
- package/docs/interfaces/Models.ItemVariant.html +7 -0
- package/docs/interfaces/Models.LandingPageComponentModel.html +7 -0
- package/docs/interfaces/Models.LinkListFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.LinkListFacetValue.html +7 -0
- package/docs/interfaces/Models.MessageItem.html +191 -0
- package/docs/interfaces/Models.MessageItemList.html +1417 -0
- package/docs/interfaces/Models.ModifiedQueryComponentModel.html +7 -0
- package/docs/interfaces/Models.ModifiedQueryData.html +7 -0
- package/docs/interfaces/Models.NumericFacetRange.html +7 -0
- package/docs/interfaces/Models.NumericRangeFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.PageSizeComponentModel.html +7 -0
- package/docs/interfaces/Models.Pagination.html +7 -0
- package/docs/interfaces/Models.PaginationComponentModel.html +7 -0
- package/docs/interfaces/Models.PaginationOption.html +7 -0
- package/docs/interfaces/Models.PopularQueriesContent.html +7 -0
- package/docs/interfaces/Models.PopularQueriesContentComponentModel.html +7 -0
- package/docs/interfaces/Models.PopularQueriesContentItem.html +7 -0
- package/docs/interfaces/Models.QuerySuggestionsComponentModel.html +7 -0
- package/docs/interfaces/Models.QuerySuggestionsData.html +7 -0
- package/docs/interfaces/Models.RangeSliderComponentModel.html +7 -0
- package/docs/interfaces/Models.RangeSliderEventData.html +7 -0
- package/docs/interfaces/Models.RangeSliderFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.RatingComponentModel.html +7 -0
- package/docs/interfaces/Models.RecentSearchesFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.RecommendationsComponentModel.html +7 -0
- package/docs/interfaces/Models.RecommendationsItem.html +7 -0
- package/docs/interfaces/Models.RecommendationsItemComponentModel.html +7 -0
- package/docs/interfaces/Models.RecommendationsRequest.html +7 -0
- package/docs/interfaces/Models.RecommendationsResponse.html +7 -0
- package/docs/interfaces/Models.RecommendationsWidget.html +7 -0
- package/docs/interfaces/Models.Redirect.html +7 -0
- package/docs/interfaces/Models.RelatedSearchesFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.SearchFieldComponentModel.html +7 -0
- package/docs/interfaces/Models.SearchRequest.html +7 -0
- package/docs/interfaces/Models.SearchResponse.html +7 -0
- package/docs/interfaces/Models.SearchResultsComponentModel.html +7 -0
- package/docs/interfaces/Models.SearchResultsItem.html +7 -0
- package/docs/interfaces/Models.SearchResultsItemComponentModel.html +7 -0
- package/docs/interfaces/Models.SearchResultsItemVariant.html +7 -0
- package/docs/interfaces/Models.SearchResultsListComponentModel.html +7 -0
- package/docs/interfaces/Models.SearchWithinFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.SelectedFacet.html +7 -0
- package/docs/interfaces/Models.SelectedFacetValue.html +7 -0
- package/docs/interfaces/Models.SelectedFacetsComponentModel.html +7 -0
- package/docs/interfaces/Models.SeoConfiguration.html +7 -0
- package/docs/interfaces/Models.SizeFacetComponentModel.html +7 -0
- package/docs/interfaces/Models.SizeFacetValue.html +7 -0
- package/docs/interfaces/Models.SmartResponseComponentModel.html +215 -0
- package/docs/interfaces/Models.SmartResponseRequest.html +191 -0
- package/docs/interfaces/Models.SmartResponseResponse.html +196 -0
- package/docs/interfaces/Models.SmartSearchFieldComponentModel.html +7 -0
- package/docs/interfaces/Models.Sorting.html +7 -0
- package/docs/interfaces/Models.SortingComponentModel.html +7 -0
- package/docs/interfaces/Models.SortingOption.html +7 -0
- package/docs/interfaces/Models.TabsComponentModel.html +7 -0
- package/docs/interfaces/Models.TooltipComponentModel.html +7 -0
- package/docs/interfaces/Models.VariantSelectorComponentModel.html +7 -0
- package/docs/interfaces/Models.Variants.html +7 -0
- package/docs/interfaces/Models.VisualSearchFieldComponentModel.html +7 -0
- package/docs/interfaces/Services.ServiceFieldMappings.html +1 -0
- package/docs/interfaces/Services.ServiceVariantFieldMappings.html +1 -0
- package/docs/modules/Components.html +4 -0
- package/docs/modules/Configuration.html +4 -0
- package/docs/modules/Models.html +14 -0
- package/docs/modules/Services.html +2 -0
- package/docs/types/Configuration.DisplayType.html +2 -0
- package/docs/types/Models.FacetState.html +7 -0
- package/docs/types/Models.FacetType.html +7 -0
- package/docs/types/Models.FacetValueState.html +7 -0
- package/docs/types/Models.IconName.html +7 -0
- package/docs/types/Models.ItemType.html +7 -0
- package/docs/types/Models.MessageRole.html +165 -0
- package/docs/types/Models.RequestType.html +7 -0
- package/docs/types/Models.SearchResultsMode.html +7 -0
- package/docs/types/Models.SearchTypes.html +7 -0
- package/docs/types/Models.SelectedFacets.html +7 -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.
|
|
4
|
+
* version: v6.2.0-beta.5
|
|
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
|
*
|
|
@@ -5751,7 +5751,7 @@ function unescape(string2) {
|
|
|
5751
5751
|
string2 = toString(string2);
|
|
5752
5752
|
return string2 && reHasEscapedHtml.test(string2) ? string2.replace(reEscapedHtml, unescapeHtmlChar$1) : string2;
|
|
5753
5753
|
}
|
|
5754
|
-
const defaultStylesheet = 'html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{box-shadow:none;margin:0;padding:0;border:0;font-size:100%;font-weight:400;font:inherit;vertical-align:baseline;color:inherit;text-transform:none;text-shadow:none;background:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none;width:auto}ol li,ul li{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}img{display:inline-block}.clearfix:after{content:"";display:table;clear:both}*,*:before,*:after{box-sizing:border-box!important;transition:none}b,strong{font-weight:700}i,em{font-style:italic}u{text-decoration:underline}sup{vertical-align:super;font-size:75%}sub{vertical-align:sub;font-size:75%}a{cursor:pointer}.label{display:block;margin:0 0 5px;text-align:left}input[type=text],input[type=number],input[type=search],select{display:block;outline:none;width:100%;height:45px;border:var(--form-element-border);border-radius:var(--form-element-border-radius);padding:var(--padding-sm);background:var(--form-element-background);font-family:var(--default-font-family);font-size:16px;line-height:1;color:var(--default-font-color)}input[type=text]:hover,input[type=text]:focus,input[type=number]:hover,input[type=number]:focus,input[type=search]:hover,input[type=search]:focus,select:hover,select:focus{border:var(--form-element-border--focus)}select{padding-right:var(--padding)}::placeholder{color:var(--form-element-placeholder-color)}input[type=checkbox]{display:none}input[type=checkbox]+label{position:relative;display:block;margin:0 0 5px;padding-left:calc(16px + var(--padding-sm));cursor:pointer}input[type=checkbox]+label:before{content:"";position:absolute;top:1px;left:0;width:16px;height:16px;border:var(--form-element-border);background:var(--form-element-background)}input[type=checkbox]:checked+label:before{background:var(--color-accent)}.row{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row:last-child{margin-bottom:0}.row--reverse{flex-direction:row-reverse}.row--tight{--gap: var(--padding-xs)}@media (min-width: 740px){.row-sm{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-sm:last-child{margin-bottom:0}.row-sm--reverse{flex-direction:row-reverse}.row-sm--tight{--gap: var(--padding-xs)}}@media (min-width: 990px){.row-md{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-md:last-child{margin-bottom:0}.row-md--reverse{flex-direction:row-reverse}.row-md--tight{--gap: var(--padding-xs)}}@media (min-width: 1260px){.row-lg{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-lg:last-child{margin-bottom:0}.row-lg--reverse{flex-direction:row-reverse}.row-lg--tight{--gap: var(--padding-xs)}}@media (min-width: 1800px){.row-xl{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-xl:last-child{margin-bottom:0}.row-xl--reverse{flex-direction:row-reverse}.row-xl--tight{--gap: var(--padding-xs)}}.column{flex-grow:0;flex-shrink:0;width:100%}.column--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column--12{flex-basis:calc(100% - (0 * var(--gap)))}.column--pull-right{margin-left:auto}@media (min-width: 740px){.column-sm{flex-grow:0;flex-shrink:0;width:100%}.column-sm--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-sm--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-sm--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-sm--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-sm--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-sm--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-sm--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-sm--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-sm--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-sm--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-sm--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-sm--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-sm--pull-right{margin-left:auto}}@media (min-width: 990px){.column-md{flex-grow:0;flex-shrink:0;width:100%}.column-md--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-md--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-md--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-md--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-md--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-md--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-md--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-md--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-md--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-md--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-md--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-md--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-md--pull-right{margin-left:auto}}@media (min-width: 1260px){.column-lg{flex-grow:0;flex-shrink:0;width:100%}.column-lg--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-lg--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-lg--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-lg--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-lg--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-lg--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-lg--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-lg--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-lg--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-lg--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-lg--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-lg--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-lg--pull-right{margin-left:auto}}@media (min-width: 1800px){.column-xl{flex-grow:0;flex-shrink:0;width:100%}.column-xl--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-xl--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-xl--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-xl--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-xl--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-xl--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-xl--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-xl--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-xl--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-xl--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-xl--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-xl--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-xl--pull-right{margin-left:auto}}img{max-width:100%;height:auto}.heading{display:block;margin:0 0 var(--padding) 0;font-size:1.375rem;font-weight:700}p{margin:0 0 var(--padding) 0}p:last-child{margin-bottom:0}a,.link{text-decoration:none;cursor:pointer}a:hover,.link:hover{color:var(--color-accent)}.autocomplete{position:absolute;left:0;right:0;margin-top:-1px;box-shadow:0 2px 5px #0000001a;border:var(--container-border);padding:var(--padding);background:var(--container-background);z-index:1}.autocomplete__title{display:block;margin:0 0 var(--padding) 0;font-size:1.1rem;font-weight:700}.autocomplete__list:not(:last-child){margin-bottom:var(--margin)}.autocomplete__product{height:100%;text-align:center}.autocomplete__product__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:150px}.autocomplete__product__image a{display:block}.autocomplete__product__image img{margin:0;max-height:100%}.autocomplete__product__title{display:block;margin:0 0 var(--padding-sm) 0;font-weight:700}.autocomplete__product__title:last-child{margin-bottom:0}.autocomplete__product__price{display:block;margin:0 0 var(--padding-sm) 0}.autocomplete__product__price__original{text-decoration:line-through}.autocomplete__product__price:last-child{margin-bottom:0}.autocomplete__view-all{text-align:center}.button{display:inline-block;outline:none;height:45px;border-radius:var(--button-border-radius);border:none;padding:var(--padding-sm) var(--padding);background:var(--button-background);font-weight:700;color:var(--button-font-color);text-align:center;cursor:pointer}.button:hover{outline:solid 2px var(--button-background)}.button--full-width{display:block;width:100%}hawksearch-featured-items-content-item{display:block;height:100%}.custom-content{margin:0 0 var(--margin) 0}.featured-items-content__item{position:relative}.featured-items-content__item__sale-indicator{position:absolute;top:0;left:0;padding:5px;background:var(--container-background--alternate)}.featured-items-content__item__pin{position:absolute;top:var(--padding-xs);right:var(--padding-xs);font-size:1.2rem}.featured-items-content__item__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:200px}.featured-items-content__item__image img{margin:0;max-height:100%}.featured-items-content__item__title{display:block;margin:0 0 var(--padding-sm) 0;font-size:1.125rem;font-weight:700}.featured-items-content__item__title:last-child{margin-bottom:0}.featured-items-content__item__price{display:block;margin:0 0 var(--padding-sm) 0}.featured-items-content__item__price__original{text-decoration:line-through}.featured-items-content__item__price:last-child{margin-bottom:0}.featured-items-content__item--content{border-bottom:var(--container-border);padding:0 0 var(--padding) 0}.featured-items-content__item--product{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.featured-items-content__item--product:hover{border-color:var(--color-accent)}.image-content{margin:0 0 var(--margin) 0}.image-content__image{display:block;margin:0 auto}.popular-queries-content{margin:0 0 var(--margin) 0;text-align:center;line-height:1}.popular-queries-content__item{display:inline-block;margin:0 5px;vertical-align:middle}.popular-queries-content__item--1{font-size:100%}.popular-queries-content__item--2{font-size:150%}.popular-queries-content__item--3{font-size:200%}.popular-queries-content__item--4{font-size:250%}.popular-queries-content__item--5{font-size:300%}.content-zone{margin:0 0 var(--margin) 0}.date-picker{position:relative}.date-picker__modal{position:absolute;width:310px;border:var(--container-border);padding:var(--padding-sm);background:var(--container-background);z-index:10}.date-picker__modal__header{display:flex;align-items:center;gap:var(--padding-sm);margin:0 0 var(--padding-sm) 0;padding:var(--padding-sm);background:var(--container-background--alternate);font-weight:700;text-align:center}.date-picker__modal__header__previous,.date-picker__modal__header__next{display:inline-flex;font-size:1.5rem;flex-grow:0}.date-picker__modal__header__month{flex-grow:1}.date-picker__calendar{width:100%}.date-picker__calendar thead th{width:14.286%;padding:var(--padding-xs);background:var(--container-background);font-weight:700;text-align:center}.date-picker__calendar tbody td{border:var(--container-border);padding:var(--padding-xs);text-align:center}.date-picker__calendar tbody td:hover{color:var(--color-accent)}.date-picker__calendar__day{background:var(--container-background);cursor:pointer}.date-picker__calendar__day--alternate{background:var(--color-secondary-light)}.date-picker__calendar__day--selected{background:var(--color-accent);color:var(--default-font-color--inverse)!important}.date-picker__calendar__day--disabled{cursor:no-drop;opacity:.5}hawksearch-facets-list{display:block;margin:0 0 var(--margin-sm) 0}hawksearch-facets-list:last-child{margin-bottom:0}.facets{border:var(--container-border);background:var(--container-background)}.facets__heading{display:flex;align-items:center;padding:var(--padding-sm) var(--padding);font-size:1.2rem;font-weight:700;background:var(--container-background--alternate);cursor:pointer}.facets__heading__mobile-toggle{margin-left:auto}.facets__heading:hover{color:var(--color-accent)}.facets__content{display:none}.facets--expanded .facets__content{display:block}@media (min-width: 990px){.facets__heading{cursor:default}.facets__heading__mobile-toggle{display:none}.facets__heading:hover{color:var(--default-font-color)}.facets__content{display:block}}.facet__heading{display:flex;align-items:center;padding:var(--padding-sm) var(--padding);font-size:1.125rem;cursor:default}.facet__heading__tooltip{font-size:1.2em;margin-left:5px}.facet__heading__toggle{margin-left:auto}.facet__heading--collapsible{cursor:pointer}.facet__heading--collapsible:hover{--icon-color: var(--color-accent);color:var(--color-accent)}.facet__search{margin:0 0 var(--padding) 0}.facet__content{padding:0 var(--padding) var(--padding) var(--padding)}.facet__value{display:flex;align-items:center;flex-wrap:wrap}.facet__value__image{margin-right:5px}.facet__value__count{color:var(--secondary-font-color)}.checkbox-list-facet{overflow-y:auto}.checkbox-list-facet__list{margin:0 0 var(--padding-xs) 0}.checkbox-list-facet__list__item{display:flex;margin:0 0 var(--padding-xs) 0}.checkbox-list-facet__list__item__content{flex-grow:1}.checkbox-list-facet__list__item__actions{position:relative;top:-2px;flex-grow:0;margin-left:auto;white-space:nowrap;line-height:1}.checkbox-list-facet__list__item__actions__item{font-size:1.3em;cursor:pointer}.checkbox-list-facet__list__item__actions__item:hover{color:var(--color-accent)}.checkbox-list-facet__list__item--excluded>.checkbox-list-facet__item__content>label .facet__value__title{text-decoration:line-through}.checkbox-list-facet__list__item:last-child{margin-bottom:0}.checkbox-list-facet__list__item .checkbox-list-facet__list{margin-left:calc(16px + var(--padding-sm))}.checkbox-list-facet__list:last-child{margin-bottom:0}.color-facet__items{margin-bottom:var(--padding-xs)}.color-facet__item{position:relative;border:var(--container-border);cursor:pointer}.color-facet__item__box{padding:0 0 100%}.color-facet__item__image{display:block;width:100%;height:100%}.color-facet__item__actions{display:none}.color-facet__item--selected,.color-facet__item:hover{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.color-facet__item:hover .color-facet__item__actions{display:block;position:absolute;top:0;right:0;border:var(--container-border);background:var(--container-background);font-size:1rem;line-height:1}.color-facet__item:hover .color-facet__item__actions:hover{color:var(--color-accent)}.link-list-facet{overflow-y:auto}.link-list-facet__list__item,.recent-searches-facet__list__item,.related-searches-facet__list__item,.size-facet__items{margin-bottom:var(--padding-xs)}.size-facet__item{position:relative;border:var(--container-border)}.size-facet__item__outer{position:relative;padding:0 0 100%;cursor:pointer}.size-facet__item__inner{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--padding-xs);background:var(--container-background--alternate);font-size:.6875rem}.size-facet__item__actions{display:none}.size-facet__item--selected{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.size-facet__item:hover{border-color:var(--color-accent)}.size-facet__item:hover .size-facet__item__actions{display:block;position:absolute;top:0;right:0;border:var(--container-border);background:var(--container-background);font-size:1rem;line-height:1;cursor:pointer}.size-facet__item:hover .size-facet__item__actions:hover{color:var(--color-accent)}hawksearch-icon{display:inline-flex;align-items:center;font-size:var(--icon-font-size, 1em);color:var(--icon-color, currentColor)}.icon{display:inline-flex;align-items:center;margin:0 .5em 0 0;max-width:none;fill:currentColor;vertical-align:middle}.icon:last-child{margin:0}.modified-query{margin:0 0 var(--margin) 0}.modified-query__modified{font-style:italic}.modified-query__original{font-weight:700}.pagination{display:flex;align-items:center;gap:var(--padding);line-height:1}.pagination__pages{display:flex;align-items:center;gap:var(--padding-xs)}.pagination__page--selected{font-weight:700;color:var(--color-accent)}.query-suggestions{margin:0 0 var(--margin) 0}.query-suggestions a{font-style:italic}.range-slider{padding:0 12px}.range-slider__container{position:relative;padding:8px 0}.range-slider__bar{position:relative;border:var(--container-border);height:8px;background:var(--container-background)}.range-slider__bar__active{position:absolute;left:0;right:0;height:100%;background:var(--color-accent)}.range-slider__handle{display:block;position:absolute;top:0;outline:solid 1px var(--color-accent);margin-left:-12px;border:solid 3px var(--color-background);border-radius:100%;width:24px;height:24px;padding:4px;background:var(--color-accent);cursor:pointer;touch-action:none}.range-slider__handle--start{left:0}.range-slider__handle--end{left:100%}.range-slider__handle:hover{outline-width:2px}hawksearch-rating{display:inline-flex;align-items:center;margin:0 0 var(--padding-sm) 0;font-size:var(--icon-font-size, 1em);color:var(--icon-color, currentColor)}hawksearch-rating:last-child{margin:0}.rating{display:inline-flex;align-items:center;margin:0 0 var(--padding-sm) 0;max-width:none;fill:currentColor;vertical-align:middle;font-size:1.2em;color:var(--color-accent)}.rating:last-child{margin:0}hawksearch-recommendations-item{display:block;height:100%}.recommendations{margin:0 0 var(--margin) 0}.recommendations__content{display:flex}.recommendations__button{flex-shrink:0;align-self:center;font-size:2.5em}.recommendations__carousel{position:relative;flex-grow:1;overflow:hidden}.recommendations__carousel__item{flex-grow:0;flex-shrink:0;margin-bottom:var(--padding);padding:0 calc(.5 * var(--padding))}.recommendations__list{position:relative;display:flex;flex-wrap:wrap;margin:0 calc(-.5 * var(--padding)) calc(-1 * var(--padding)) calc(-.5 * var(--padding));transition:left .5s}.recommendations__list--carousel{flex-wrap:nowrap;margin:0}.recommendations__item{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.recommendations__item__sale-indicator{position:absolute;top:0;left:0;padding:5px;background:var(--container-background--alternate)}.recommendations__item__pin{position:absolute;top:var(--padding-xs);right:var(--padding-xs);font-size:1.2rem}.recommendations__item__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:200px}.recommendations__item__image img{margin:0;max-height:100%}.recommendations__item__title{display:block;margin:0 0 var(--padding-sm) 0;font-size:1.125rem;font-weight:700}.recommendations__item__title:last-child{margin-bottom:0}.recommendations__item__price{display:block;margin:0 0 var(--padding-sm) 0}.recommendations__item__price__original{text-decoration:line-through}.recommendations__item__price:last-child{margin-bottom:0}.recommendations__item:hover{border-color:var(--color-accent)}.recommendations__pagination{display:flex;justify-content:center;gap:var(--padding-xs)}.recommendations__pagination__item{display:block;width:10px;height:10px;border-radius:100%;background:var(--color-secondary);cursor:pointer}.recommendations__pagination__item--selected{background:var(--color-secondary-dark)}.recommendations__pagination__item:hover{background:var(--color-accent)}.recommendations:last-child{margin-bottom:0}.search-field{position:relative}hawksearch-search-results-list{display:block;margin:0 0 var(--margin) 0}hawksearch-search-results-list:last-child{margin:0}hawksearch-search-results-item{display:block;height:100%}.search-results-list{margin:0 0 var(--margin) 0}.search-results-list__item{position:relative}.search-results-list__item__sale-indicator{position:absolute;top:0;left:0;padding:5px;background:var(--container-background--alternate)}.search-results-list__item__pin{position:absolute;top:var(--padding-xs);right:var(--padding-xs);font-size:1.2rem}.search-results-list__item__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:200px}.search-results-list__item__image img{margin:0;max-height:100%}.search-results-list__item__title{display:block;margin:0 0 var(--padding-sm) 0;font-size:1.125rem;font-weight:700}.search-results-list__item__title:last-child{margin-bottom:0}.search-results-list__item__price{display:block;margin:0 0 var(--padding-sm) 0}.search-results-list__item__price__original{text-decoration:line-through}.search-results-list__item__price:last-child{margin-bottom:0}.search-results-list__item--content{border-bottom:var(--container-border);padding:0 0 var(--padding) 0}.search-results-list__item--product{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.search-results-list__item--product:hover{border-color:var(--color-accent)}.search-results-list:last-child{margin:0}.selected-facets{margin:0 0 var(--padding) 0}.selected-facets__item{display:flex;align-items:center;gap:var(--padding-xs);padding:var(--padding-xs);background:var(--container-background--alternate);white-space:nowrap}.selected-facets__item__field{font-weight:700}.selected-facets__item__field:after{content:":"}.selected-facets__item__value--excluded{text-decoration:line-through}.selected-facets__item__remove{margin-top:2px;line-height:1}.tabs{display:flex;flex-direction:column;flex-wrap:wrap;gap:var(--padding-xs);margin:0 0 var(--padding) 0}.tabs__item{display:block;margin:0 0 -1px;border:var(--container-border);padding:var(--padding-sm) var(--padding);background:var(--container-background--alternate);white-space:nowrap;cursor:pointer}.tabs__item--selected{background:var(--container-background)}.tabs__item:hover{color:var(--color-accent)}@media (min-width: 740px){.tabs{flex-direction:row}}@media (min-width: 990px){.tabs:not(.tabs--list){border-bottom:var(--container-border);border-bottom-color:var(--container-background--alternate);padding:0 var(--padding)}.tabs:not(.tabs--list) .tabs__item--selected{border-bottom-color:var(--container-background)}}.tooltip{display:inline-flex;cursor:pointer}.tooltip__content{display:none}.tooltip:hover .tooltip__content{display:block;position:fixed;margin:calc(-.5 * var(--padding) - 1px) 0 0 2rem;box-shadow:0 0 5px #0000001a;max-width:350px;border:var(--container-border);padding:calc(var(--padding) / 2);background:var(--container-background);z-index:1}.variant-selector-list{display:flex;gap:var(--padding-xs);flex-wrap:wrap;margin:0 0 var(--padding-sm) 0}.variant-selector-list:last-child{margin-bottom:0}.variant-selector-list__item{width:25px;height:25px;border:var(--container-border);cursor:pointer}.variant-selector-list__item__box{height:100%}.variant-selector-list__item__image{display:block;width:100%;height:100%}.variant-selector-list__item--selected,.variant-selector-list__item:hover{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.visualsearch-field{position:relative}.visualsearch-field__drop-area{display:flex;padding:var(--padding-sm) 0;flex-direction:column;align-items:center;align-self:stretch;border:var(--container-border);background:var(--container-background);margin-bottom:var(--padding-sm)}.visualsearch-field__drop-area input[type=file]{display:none}.visualsearch-field__drop-area.error-state{border-style:dashed;border-color:var(--color-accent);background-color:var(--color-accent-light)}.visualsearch-field__drop-area.error-state .visualsearch-field__drop-area__dragging-state{display:none}.visualsearch-field__drop-area.dragging-state{border-style:dashed;border-color:var(--color-accent);background-color:var(--container-background--alternate)}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__normal-state{visibility:hidden}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__dragging-state,.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__drop-msg{display:block}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__prompt-msg{display:none}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__image-display{opacity:.1}.visualsearch-field__drop-area__prompt-msg{display:block;margin:0}.visualsearch-field__drop-area__prompt-msg .visualsearch-field__drop-area__upload-button{color:var(--color-accent);cursor:pointer}.visualsearch-field__drop-area__drop-msg{display:none;pointer-events:none;color:var(--color-accent)!important;margin:0}.visualsearch-field__drop-area__image-display{pointer-events:none;text-align:center;width:220px;height:auto}.visualsearch-field__drop-area__image-display img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.display-block{display:block!important}.display-none{display:none!important}@media (min-width: 740px){.display-sm-block{display:block!important}.display-sm-none{display:none!important}}@media (min-width: 990px){.display-md-block{display:block!important}.display-md-none{display:none!important}}@media (min-width: 1260px){.display-lg-block{display:block!important}.display-lg-none{display:none!important}}@media (min-width: 1800px){.display-xl-block{display:block!important}.display-xl-none{display:none!important}}.flex-align-self-center{align-self:center}@media (min-width: 740px){.flex-align-self-sm-center{align-self:center}}@media (min-width: 990px){.flex-align-self-md-center{align-self:center}}@media (min-width: 1260px){.flex-align-self-lg-center{align-self:center}}@media (min-width: 1800px){.flex-align-self-xl-center{align-self:center}}.flex-vertical-center{display:flex;flex-direction:column;justify-content:center}@media (min-width: 740px){.flex-vertical-sm-center{display:flex;flex-direction:column;justify-content:center}}@media (min-width: 990px){.flex-vertical-md-center{display:flex;flex-direction:column;justify-content:center}}@media (min-width: 1260px){.flex-vertical-lg-center{display:flex;flex-direction:column;justify-content:center}}@media (min-width: 1800px){.flex-vertical-xl-center{display:flex;flex-direction:column;justify-content:center}}.flex-gap{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap--none{gap:0}.flex-gap--sm{gap:var(--padding-sm)}.flex-gap--xs{gap:var(--padding-xs)}@media (min-width: 740px){.flex-gap-sm{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-sm--none{gap:0}.flex-gap-sm--sm{gap:var(--padding-sm)}.flex-gap-sm--xs{gap:var(--padding-xs)}}@media (min-width: 990px){.flex-gap-md{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-md--none{gap:0}.flex-gap-md--sm{gap:var(--padding-sm)}.flex-gap-md--xs{gap:var(--padding-xs)}}@media (min-width: 1260px){.flex-gap-lg{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-lg--none{gap:0}.flex-gap-lg--sm{gap:var(--padding-sm)}.flex-gap-lg--xs{gap:var(--padding-xs)}}@media (min-width: 1800px){.flex-gap-xl{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-xl--none{gap:0}.flex-gap-xl--sm{gap:var(--padding-sm)}.flex-gap-xl--xs{gap:var(--padding-xs)}}.margin{margin-bottom:var(--margin)!important}.margin-small{margin-bottom:var(--margin-sm)!important}.margin-none{margin-bottom:0!important}@media (min-width: 740px){.margin-sm{margin-bottom:var(--margin)!important}.margin-sm-small{margin-bottom:var(--margin-sm)!important}.margin-sm-none{margin-bottom:0!important}}@media (min-width: 990px){.margin-md{margin-bottom:var(--margin)!important}.margin-md-small{margin-bottom:var(--margin-sm)!important}.margin-md-none{margin-bottom:0!important}}@media (min-width: 1260px){.margin-lg{margin-bottom:var(--margin)!important}.margin-lg-small{margin-bottom:var(--margin-sm)!important}.margin-lg-none{margin-bottom:0!important}}@media (min-width: 1800px){.margin-xl{margin-bottom:var(--margin)!important}.margin-xl-small{margin-bottom:var(--margin-sm)!important}.margin-xl-none{margin-bottom:0!important}}.width-auto{width:auto}.width-full{width:100%}@media (min-width: 740px){.width-sm-auto{width:auto}.width-sm-full{width:100%}}@media (min-width: 990px){.width-md-auto{width:auto}.width-md-full{width:100%}}@media (min-width: 1260px){.width-lg-auto{width:auto}.width-lg-full{width:100%}}@media (min-width: 1800px){.width-xl-auto{width:auto}.width-xl-full{width:100%}}.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}@media (min-width: 740px){.text-align-sm-left{text-align:left}.text-align-sm-center{text-align:center}.text-align-sm-right{text-align:right}}@media (min-width: 990px){.text-align-md-left{text-align:left}.text-align-md-center{text-align:center}.text-align-md-right{text-align:right}}@media (min-width: 1260px){.text-align-lg-left{text-align:left}.text-align-lg-center{text-align:center}.text-align-lg-right{text-align:right}}@media (min-width: 1800px){.text-align-xl-left{text-align:left}.text-align-xl-center{text-align:center}.text-align-xl-right{text-align:right}}:host,:root{--color-accent: var(--hawksearch-color-accent, #119ff7);--color-secondary: var(--hawksearch-color-secondary, #ccc);--color-secondary-light: var(--hawksearch-color-secondary-light, #f1f1f1);--color-secondary-dark: var(--hawksearch-color-secondary-dark, #757575);--color-background: var(--hawksearch-color-background, #fff);--container-background: var(--hawksearch-container-background, var(--color-background));--container-background--alternate: var(--hawksearch-container-background--alternate, var(--color-secondary-light));--container-border: var(--hawksearch-container-border, solid 1px var(--color-secondary));--default-line-height: var(--hawksearch-default-line-height, 1.25);--default-font-color: var(--hawksearch-default-font-color, #2e2e2e);--default-font-color--inverse: var(--hawksearch-default-font-color--inverse, #fff);--default-font-family: var(--hawksearch-default-font-family, Arial, sans-serif);--default-font-size: var(--hawksearch-default-font-size, 16px);--button-background: var(--hawksearch-button-background, var(--color-accent));--button-border-radius: var(--hawksearch-button-border-radius, 5px);--button-font-color: var(--hawksearch-button-font-color, #fff);--form-element-background: var(--hawksearch-form-element-background, var(--color-background));--form-element-border: var(--hawksearch-form-element-border, solid 1px var(--color-secondary));--form-element-border--focus: var(--hawksearch-form-element-border--focus, solid 1px var(--color-accent));--form-element-border-radius: var(--hawksearch-form-element-border-radius, 0);--form-element-placeholder-color: var(--hawksearch-form-element-placeholder-color, var(--color-secondary-dark));--margin: var(--hawksearch-margin, 32px);--margin-sm: var(--hawksearch-margin-sm, calc(var(--margin) / 2));--padding: var(--hawksearch-padding, 24px);--padding-xs: var(--hawksearch-padding-xs, calc(var(--padding) / 4));--padding-sm: var(--hawksearch-padding-sm, calc(var(--padding) / 2));--secondary-font-color: var(--hawksearch-secondary-font-color, var(--color-secondary-dark));font-family:var(--default-font-family);font-size:var(--default-font-size);color:var(--default-font-color);line-height:var(--default-line-height)}\n';
|
|
5754
|
+
const defaultStylesheet = 'html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{box-shadow:none;margin:0;padding:0;border:0;font-size:100%;font-weight:400;font:inherit;vertical-align:baseline;color:inherit;text-transform:none;text-shadow:none;background:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none;width:auto}ol li,ul li{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}img{display:inline-block}.clearfix:after{content:"";display:table;clear:both}*,*:before,*:after{box-sizing:border-box!important;transition:none}b,strong{font-weight:700}i,em{font-style:italic}u{text-decoration:underline}sup{vertical-align:super;font-size:75%}sub{vertical-align:sub;font-size:75%}a{cursor:pointer}.label{display:block;margin:0 0 5px;text-align:left}input[type=text],input[type=number],input[type=search],textarea,select{display:block;outline:none;width:100%;height:45px;border:var(--form-element-border);border-radius:var(--form-element-border-radius);padding:var(--padding-sm);background:var(--form-element-background);font-family:var(--default-font-family);font-size:16px;line-height:1;color:var(--default-font-color)}input[type=text]:hover,input[type=text]:focus,input[type=number]:hover,input[type=number]:focus,input[type=search]:hover,input[type=search]:focus,textarea:hover,textarea:focus,select:hover,select:focus{border:var(--form-element-border--focus)}select{padding-right:var(--padding)}::placeholder{color:var(--form-element-placeholder-color)}input[type=checkbox]{display:none}input[type=checkbox]+label{position:relative;display:block;margin:0 0 5px;padding-left:calc(16px + var(--padding-sm));cursor:pointer}input[type=checkbox]+label:before{content:"";position:absolute;top:1px;left:0;width:16px;height:16px;border:var(--form-element-border);background:var(--form-element-background)}input[type=checkbox]:checked+label:before{background:var(--color-accent)}.row,.smartresponse__info__summary ul{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row:last-child,.smartresponse__info__summary ul:last-child{margin-bottom:0}.row--reverse{flex-direction:row-reverse}.row--tight{--gap: var(--padding-xs)}@media (min-width: 740px){.row-sm{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-sm:last-child{margin-bottom:0}.row-sm--reverse{flex-direction:row-reverse}.row-sm--tight{--gap: var(--padding-xs)}}@media (min-width: 990px){.row-md{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-md:last-child{margin-bottom:0}.row-md--reverse{flex-direction:row-reverse}.row-md--tight{--gap: var(--padding-xs)}}@media (min-width: 1260px){.row-lg{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-lg:last-child{margin-bottom:0}.row-lg--reverse{flex-direction:row-reverse}.row-lg--tight{--gap: var(--padding-xs)}}@media (min-width: 1800px){.row-xl{--gap: var(--padding);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap);margin:0 0 var(--margin) 0}.row-xl:last-child{margin-bottom:0}.row-xl--reverse{flex-direction:row-reverse}.row-xl--tight{--gap: var(--padding-xs)}}.column,.smartresponse__info__summary li{flex-grow:0;flex-shrink:0;width:100%}.column--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column--12,.smartresponse__info__summary li{flex-basis:calc(100% - (0 * var(--gap)))}.column--pull-right{margin-left:auto}@media (min-width: 740px){.column-sm{flex-grow:0;flex-shrink:0;width:100%}.column-sm--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-sm--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-sm--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-sm--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-sm--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-sm--6,.smartresponse__info__summary li{flex-basis:calc(50% - (.5 * var(--gap)))}.column-sm--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-sm--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-sm--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-sm--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-sm--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-sm--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-sm--pull-right{margin-left:auto}}@media (min-width: 990px){.column-md{flex-grow:0;flex-shrink:0;width:100%}.column-md--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-md--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-md--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-md--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-md--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-md--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-md--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-md--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-md--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-md--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-md--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-md--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-md--pull-right{margin-left:auto}}@media (min-width: 1260px){.column-lg{flex-grow:0;flex-shrink:0;width:100%}.column-lg--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-lg--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-lg--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-lg--4,.smartresponse__info__summary li{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-lg--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-lg--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-lg--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-lg--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-lg--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-lg--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-lg--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-lg--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-lg--pull-right{margin-left:auto}}@media (min-width: 1800px){.column-xl{flex-grow:0;flex-shrink:0;width:100%}.column-xl--1{flex-basis:calc(8.3333333333% - (.9166666667 * var(--gap)))}.column-xl--2{flex-basis:calc(16.6666666667% - (.8333333333 * var(--gap)))}.column-xl--3{flex-basis:calc(25% - (.75 * var(--gap)))}.column-xl--4{flex-basis:calc(33.3333333333% - (.6666666667 * var(--gap)))}.column-xl--5{flex-basis:calc(41.6666666667% - (.5833333333 * var(--gap)))}.column-xl--6{flex-basis:calc(50% - (.5 * var(--gap)))}.column-xl--7{flex-basis:calc(58.3333333333% - (.4166666667 * var(--gap)))}.column-xl--8{flex-basis:calc(66.6666666667% - (.3333333333 * var(--gap)))}.column-xl--9{flex-basis:calc(75% - (.25 * var(--gap)))}.column-xl--10{flex-basis:calc(83.3333333333% - (.1666666667 * var(--gap)))}.column-xl--11{flex-basis:calc(91.6666666667% - (.0833333333 * var(--gap)))}.column-xl--12{flex-basis:calc(100% - (0 * var(--gap)))}.column-xl--pull-right{margin-left:auto}}img{max-width:100%;height:auto}.spinner{width:var(--default-font-size);height:var(--default-font-size);border:2px solid var(--container-background--alternate);border-top-color:var(--color-accent);border-radius:50%;animation:spin .5s infinite linear}@keyframes spin{to{transform:rotate(360deg)}}.heading{display:block;margin:0 0 var(--padding) 0;font-size:1.375rem;font-weight:700}p{margin:0 0 var(--padding) 0}p:last-child{margin-bottom:0}a,.link{text-decoration:none;cursor:pointer}a:hover,.link:hover{color:var(--color-accent)}.autocomplete{position:absolute;left:0;right:0;margin-top:-1px;box-shadow:0 2px 5px #0000001a;border:var(--container-border);padding:var(--padding);background:var(--container-background);z-index:1}.autocomplete__title{display:block;margin:0 0 var(--padding) 0;font-size:1.1rem;font-weight:700}.autocomplete__list:not(:last-child){margin-bottom:var(--margin)}.autocomplete__product{height:100%;text-align:center}.autocomplete__product__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:150px}.autocomplete__product__image a{display:block}.autocomplete__product__image img{margin:0;max-height:100%}.autocomplete__product__title{display:block;margin:0 0 var(--padding-sm) 0;font-weight:700}.autocomplete__product__title:last-child{margin-bottom:0}.autocomplete__product__price{display:block;margin:0 0 var(--padding-sm) 0}.autocomplete__product__price__original{text-decoration:line-through}.autocomplete__product__price:last-child{margin-bottom:0}.autocomplete__view-all{text-align:center}.button{display:inline-block;outline:none;height:45px;border-radius:var(--button-border-radius);border:none;padding:var(--padding-sm) var(--padding);background:var(--button-background);font-weight:700;color:var(--button-font-color);text-align:center;cursor:pointer}.button:hover{outline:solid 2px var(--button-background)}.button--full-width{display:block;width:100%}hawksearch-featured-items-content-item{display:block;height:100%}.custom-content{margin:0 0 var(--margin) 0}.featured-items-content__item{position:relative}.featured-items-content__item__sale-indicator{position:absolute;top:0;left:0;padding:5px;background:var(--container-background--alternate)}.featured-items-content__item__pin{position:absolute;top:var(--padding-xs);right:var(--padding-xs);font-size:1.2rem}.featured-items-content__item__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:200px}.featured-items-content__item__image img{margin:0;max-height:100%}.featured-items-content__item__title{display:block;margin:0 0 var(--padding-sm) 0;font-size:1.125rem;font-weight:700}.featured-items-content__item__title:last-child{margin-bottom:0}.featured-items-content__item__price{display:block;margin:0 0 var(--padding-sm) 0}.featured-items-content__item__price__original{text-decoration:line-through}.featured-items-content__item__price:last-child{margin-bottom:0}.featured-items-content__item--content{border-bottom:var(--container-border);padding:0 0 var(--padding) 0}.featured-items-content__item--product{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.featured-items-content__item--product:hover{border-color:var(--color-accent)}.image-content{margin:0 0 var(--margin) 0}.image-content__image{display:block;margin:0 auto}.popular-queries-content{margin:0 0 var(--margin) 0;text-align:center;line-height:1}.popular-queries-content__item{display:inline-block;margin:0 5px;vertical-align:middle}.popular-queries-content__item--1{font-size:100%}.popular-queries-content__item--2{font-size:150%}.popular-queries-content__item--3{font-size:200%}.popular-queries-content__item--4{font-size:250%}.popular-queries-content__item--5{font-size:300%}.content-zone{margin:0 0 var(--margin) 0}.conversationalsearch{position:relative}.conversationalsearch__body{border:var(--form-element-border);border-radius:var(--form-element-border-radius);padding:0;margin:0 0 var(--padding-sm) 0;overflow:hidden}.conversationalsearch__message-list{display:flex;flex-direction:column;padding:var(--padding-sm) var(--padding) 0;margin:0;list-style:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;height:270px;width:100%}.conversationalsearch__message-list p{margin:0}.conversationalsearch__message{display:flex;align-items:flex-start;gap:var(--padding-xs);width:100%;border-radius:0;margin:0 0 var(--margin) 0;max-width:70%;min-width:150px;word-wrap:break-word;white-space:pre-wrap}.conversationalsearch__message .message__icon{color:var(--color-accent)}.conversationalsearch__message.message--sent{align-self:flex-end;justify-content:flex-end}.conversationalsearch__message.message--sent p{background-color:var(--container-background--alternate);border-radius:var(--form-element-border-radius);padding:var(--padding-sm) var(--padding)}.conversationalsearch__message.message--received *{display:flex}.conversationalsearch__message.message--received .message-icon{color:var(--color-accent)}.conversationalsearch__message.message--received p{align-self:flex-start}.conversationalsearch__footer{display:flex;gap:var(--padding-xs)}.conversationalsearch textarea{resize:none;min-height:45px;line-height:1.2}.conversationalsearch button{display:flex;align-items:center;padding:var(--padding-sm) var(--padding);background:var(--container-background--alternate);border:var(--container-border)}.conversationalsearch button:hover{border-color:var(--color-accent)}.date-picker{position:relative}.date-picker__modal{position:absolute;width:310px;border:var(--container-border);padding:var(--padding-sm);background:var(--container-background);z-index:10}.date-picker__modal__header{display:flex;align-items:center;gap:var(--padding-sm);margin:0 0 var(--padding-sm) 0;padding:var(--padding-sm);background:var(--container-background--alternate);font-weight:700;text-align:center}.date-picker__modal__header__previous,.date-picker__modal__header__next{display:inline-flex;font-size:1.5rem;flex-grow:0}.date-picker__modal__header__month{flex-grow:1}.date-picker__calendar{width:100%}.date-picker__calendar thead th{width:14.286%;padding:var(--padding-xs);background:var(--container-background);font-weight:700;text-align:center}.date-picker__calendar tbody td{border:var(--container-border);padding:var(--padding-xs);text-align:center}.date-picker__calendar tbody td:hover{color:var(--color-accent)}.date-picker__calendar__day{background:var(--container-background);cursor:pointer}.date-picker__calendar__day--alternate{background:var(--color-secondary-light)}.date-picker__calendar__day--selected{background:var(--color-accent);color:var(--default-font-color--inverse)!important}.date-picker__calendar__day--disabled{cursor:no-drop;opacity:.5}hawksearch-facets-list{display:block;margin:0 0 var(--margin-sm) 0}hawksearch-facets-list:last-child{margin-bottom:0}.facets{border:var(--container-border);background:var(--container-background)}.facets__heading{display:flex;align-items:center;padding:var(--padding-sm) var(--padding);font-size:1.2rem;font-weight:700;background:var(--container-background--alternate);cursor:pointer}.facets__heading__mobile-toggle{margin-left:auto}.facets__heading:hover{color:var(--color-accent)}.facets__content{display:none}.facets--expanded .facets__content{display:block}@media (min-width: 990px){.facets__heading{cursor:default}.facets__heading__mobile-toggle{display:none}.facets__heading:hover{color:var(--default-font-color)}.facets__content{display:block}}.facet__heading{display:flex;align-items:center;padding:var(--padding-sm) var(--padding);font-size:1.125rem;cursor:default}.facet__heading__tooltip{font-size:1.2em;margin-left:5px}.facet__heading__toggle{margin-left:auto}.facet__heading--collapsible{cursor:pointer}.facet__heading--collapsible:hover{--icon-color: var(--color-accent);color:var(--color-accent)}.facet__search{margin:0 0 var(--padding) 0}.facet__content{padding:0 var(--padding) var(--padding) var(--padding)}.facet__value{display:flex;align-items:center;flex-wrap:wrap}.facet__value__image{margin-right:5px}.facet__value__count{color:var(--secondary-font-color)}.checkbox-list-facet{overflow-y:auto}.checkbox-list-facet__list{margin:0 0 var(--padding-xs) 0}.checkbox-list-facet__list__item{display:flex;margin:0 0 var(--padding-xs) 0}.checkbox-list-facet__list__item__content{flex-grow:1}.checkbox-list-facet__list__item__actions{position:relative;top:-2px;flex-grow:0;margin-left:auto;white-space:nowrap;line-height:1}.checkbox-list-facet__list__item__actions__item{font-size:1.3em;cursor:pointer}.checkbox-list-facet__list__item__actions__item:hover{color:var(--color-accent)}.checkbox-list-facet__list__item--excluded>.checkbox-list-facet__item__content>label .facet__value__title{text-decoration:line-through}.checkbox-list-facet__list__item:last-child{margin-bottom:0}.checkbox-list-facet__list__item .checkbox-list-facet__list{margin-left:calc(16px + var(--padding-sm))}.checkbox-list-facet__list:last-child{margin-bottom:0}.color-facet__items{margin-bottom:var(--padding-xs)}.color-facet__item{position:relative;border:var(--container-border);cursor:pointer}.color-facet__item__box{padding:0 0 100%}.color-facet__item__image{display:block;width:100%;height:100%}.color-facet__item__actions{display:none}.color-facet__item--selected,.color-facet__item:hover{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.color-facet__item:hover .color-facet__item__actions{display:block;position:absolute;top:0;right:0;border:var(--container-border);background:var(--container-background);font-size:1rem;line-height:1}.color-facet__item:hover .color-facet__item__actions:hover{color:var(--color-accent)}.link-list-facet{overflow-y:auto}.link-list-facet__list__item,.recent-searches-facet__list__item,.related-searches-facet__list__item,.size-facet__items{margin-bottom:var(--padding-xs)}.size-facet__item{position:relative;border:var(--container-border)}.size-facet__item__outer{position:relative;padding:0 0 100%;cursor:pointer}.size-facet__item__inner{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--padding-xs);background:var(--container-background--alternate);font-size:.6875rem}.size-facet__item__actions{display:none}.size-facet__item--selected{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.size-facet__item:hover{border-color:var(--color-accent)}.size-facet__item:hover .size-facet__item__actions{display:block;position:absolute;top:0;right:0;border:var(--container-border);background:var(--container-background);font-size:1rem;line-height:1;cursor:pointer}.size-facet__item:hover .size-facet__item__actions:hover{color:var(--color-accent)}hawksearch-icon{display:inline-flex;align-items:center;font-size:var(--icon-font-size, 1em);color:var(--icon-color, currentColor)}.icon{display:inline-flex;align-items:center;margin:0 .5em 0 0;max-width:none;fill:currentColor;vertical-align:middle}.icon:last-child{margin:0}.modified-query{margin:0 0 var(--margin) 0}.modified-query__modified{font-style:italic}.modified-query__original{font-weight:700}.pagination{display:flex;align-items:center;gap:var(--padding);line-height:1}.pagination__pages{display:flex;align-items:center;gap:var(--padding-xs)}.pagination__page--selected{font-weight:700;color:var(--color-accent)}.query-suggestions{margin:0 0 var(--margin) 0}.query-suggestions a{font-style:italic}.range-slider{padding:0 12px}.range-slider__container{position:relative;padding:8px 0}.range-slider__bar{position:relative;border:var(--container-border);height:8px;background:var(--container-background)}.range-slider__bar__active{position:absolute;left:0;right:0;height:100%;background:var(--color-accent)}.range-slider__handle{display:block;position:absolute;top:0;outline:solid 1px var(--color-accent);margin-left:-12px;border:solid 3px var(--color-background);border-radius:100%;width:24px;height:24px;padding:4px;background:var(--color-accent);cursor:pointer;touch-action:none}.range-slider__handle--start{left:0}.range-slider__handle--end{left:100%}.range-slider__handle:hover{outline-width:2px}hawksearch-rating{display:inline-flex;align-items:center;margin:0 0 var(--padding-sm) 0;font-size:var(--icon-font-size, 1em);color:var(--icon-color, currentColor)}hawksearch-rating:last-child{margin:0}.rating{display:inline-flex;align-items:center;margin:0 0 var(--padding-sm) 0;max-width:none;fill:currentColor;vertical-align:middle;font-size:1.2em;color:var(--color-accent)}.rating:last-child{margin:0}hawksearch-recommendations-item{display:block;height:100%}.recommendations{margin:0 0 var(--margin) 0}.recommendations__content{display:flex}.recommendations__button{flex-shrink:0;align-self:center;font-size:2.5em}.recommendations__carousel{position:relative;flex-grow:1;overflow:hidden}.recommendations__carousel__item{flex-grow:0;flex-shrink:0;margin-bottom:var(--padding);padding:0 calc(.5 * var(--padding))}.recommendations__list{position:relative;display:flex;flex-wrap:wrap;margin:0 calc(-.5 * var(--padding)) calc(-1 * var(--padding)) calc(-.5 * var(--padding));transition:left .5s}.recommendations__list--carousel{flex-wrap:nowrap;margin:0}.recommendations__item{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.recommendations__item__sale-indicator{position:absolute;top:0;left:0;padding:5px;background:var(--container-background--alternate)}.recommendations__item__pin{position:absolute;top:var(--padding-xs);right:var(--padding-xs);font-size:1.2rem}.recommendations__item__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:200px}.recommendations__item__image img{margin:0;max-height:100%}.recommendations__item__title{display:block;margin:0 0 var(--padding-sm) 0;font-size:1.125rem;font-weight:700}.recommendations__item__title:last-child{margin-bottom:0}.recommendations__item__price{display:block;margin:0 0 var(--padding-sm) 0}.recommendations__item__price__original{text-decoration:line-through}.recommendations__item__price:last-child{margin-bottom:0}.recommendations__item:hover{border-color:var(--color-accent)}.recommendations__pagination{display:flex;justify-content:center;gap:var(--padding-xs)}.recommendations__pagination__item{display:block;width:10px;height:10px;border-radius:100%;background:var(--color-secondary);cursor:pointer}.recommendations__pagination__item--selected{background:var(--color-secondary-dark)}.recommendations__pagination__item:hover{background:var(--color-accent)}.recommendations:last-child{margin-bottom:0}.search-field{position:relative}hawksearch-search-results-list{display:block;margin:0 0 var(--margin) 0}hawksearch-search-results-list:last-child{margin:0}hawksearch-search-results-item{display:block;height:100%}.search-results-list{margin:0 0 var(--margin) 0}.search-results-list__item{position:relative}.search-results-list__item__sale-indicator{position:absolute;top:0;left:0;padding:5px;background:var(--container-background--alternate)}.search-results-list__item__pin{position:absolute;top:var(--padding-xs);right:var(--padding-xs);font-size:1.2rem}.search-results-list__item__image{display:flex;justify-content:center;align-items:center;padding:0 var(--padding) var(--padding) var(--padding);height:200px}.search-results-list__item__image img{margin:0;max-height:100%}.search-results-list__item__title{display:block;margin:0 0 var(--padding-sm) 0;font-size:1.125rem;font-weight:700}.search-results-list__item__title:last-child{margin-bottom:0}.search-results-list__item__price{display:block;margin:0 0 var(--padding-sm) 0}.search-results-list__item__price__original{text-decoration:line-through}.search-results-list__item__price:last-child{margin-bottom:0}.search-results-list__item--content{border-bottom:var(--container-border);padding:0 0 var(--padding) 0}.search-results-list__item--product{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.search-results-list__item--product:hover{border-color:var(--color-accent)}.search-results-list:last-child{margin:0}.selected-facets{margin:0 0 var(--padding) 0}.selected-facets__item{display:flex;align-items:center;gap:var(--padding-xs);padding:var(--padding-xs);background:var(--container-background--alternate);white-space:nowrap}.selected-facets__item__field{font-weight:700}.selected-facets__item__field:after{content:":"}.selected-facets__item__value--excluded{text-decoration:line-through}.selected-facets__item__remove{margin-top:2px;line-height:1}.smartresponse{display:flex;align-items:start;justify-content:space-between;column-gap:var(--padding-xs);padding:var(--padding-sm);border:var(--container-border);border-left-color:var(--color-accent);border-left-width:var(--padding-xs)}.smartresponse__icon{color:var(--color-accent)}.smartresponse__info{display:flex;flex-direction:column;flex-grow:1;gap:var(--padding-xs)}.smartresponse__info.busy .smartresponse__info__summary{opacity:.2}.smartresponse__info__header{font-weight:700}.smartresponse__info__summary{overflow:hidden;transition:max-height .5s ease-out,opacity .5s ease-out}.smartresponse__info__summary p{padding:var(--padding) var(--padding) var(--padding) 0}.smartresponse__info__summary ul{display:flex;gap:8px}.smartresponse__info__summary li{position:relative;height:100%;padding:var(--padding);border:var(--container-border);background:var(--container-background);text-align:center}.smartresponse__info__summary li *{display:flex;flex-direction:column}.smartresponse__info__summary li:hover{border-color:var(--color-accent)}.smartresponse__actions .switch{position:relative;width:50px;height:25px;background-color:#ccc;border-radius:25px;cursor:pointer;transition:background-color .3s ease}.smartresponse__actions .switch:before{content:"";position:absolute;width:23px;height:23px;border-radius:50%;background-color:#fff;top:1px;left:1px;transition:transform .3s ease}.smartresponse__actions .switch.on{background-color:#3498db}.smartresponse__actions .switch.on:before{transform:translate(25px)}.tabs{display:flex;flex-direction:column;flex-wrap:wrap;gap:var(--padding-xs);margin:0 0 var(--padding) 0}.tabs__item{display:block;margin:0 0 -1px;border:var(--container-border);padding:var(--padding-sm) var(--padding);background:var(--container-background--alternate);white-space:nowrap;cursor:pointer}.tabs__item--selected{background:var(--container-background)}.tabs__item:hover{color:var(--color-accent)}@media (min-width: 740px){.tabs{flex-direction:row}}@media (min-width: 990px){.tabs:not(.tabs--list){border-bottom:var(--container-border);border-bottom-color:var(--container-background--alternate);padding:0 var(--padding)}.tabs:not(.tabs--list) .tabs__item--selected{border-bottom-color:var(--container-background)}}.tooltip{display:inline-flex;cursor:pointer}.tooltip__content{display:none}.tooltip:hover .tooltip__content{display:block;position:fixed;margin:calc(-.5 * var(--padding) - 1px) 0 0 2rem;box-shadow:0 0 5px #0000001a;max-width:350px;border:var(--container-border);padding:calc(var(--padding) / 2);background:var(--container-background);z-index:1}.variant-selector-list{display:flex;gap:var(--padding-xs);flex-wrap:wrap;margin:0 0 var(--padding-sm) 0}.variant-selector-list:last-child{margin-bottom:0}.variant-selector-list__item{width:25px;height:25px;border:var(--container-border);cursor:pointer}.variant-selector-list__item__box{height:100%}.variant-selector-list__item__image{display:block;width:100%;height:100%}.variant-selector-list__item--selected,.variant-selector-list__item:hover{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.visualsearch-field{position:relative}.visualsearch-field__drop-area{display:flex;padding:var(--padding-sm) 0;flex-direction:column;align-items:center;align-self:stretch;border:var(--container-border);background:var(--container-background);margin-bottom:var(--padding-sm)}.visualsearch-field__drop-area input[type=file]{display:none}.visualsearch-field__drop-area.error-state{border-style:dashed;border-color:var(--color-accent);background-color:var(--color-accent-light)}.visualsearch-field__drop-area.error-state .visualsearch-field__drop-area__dragging-state{display:none}.visualsearch-field__drop-area.dragging-state{border-style:dashed;border-color:var(--color-accent);background-color:var(--container-background--alternate)}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__normal-state{visibility:hidden}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__dragging-state,.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__drop-msg{display:block}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__prompt-msg{display:none}.visualsearch-field__drop-area.dragging-state .visualsearch-field__drop-area__image-display{opacity:.1}.visualsearch-field__drop-area__prompt-msg{display:block;margin:0}.visualsearch-field__drop-area__prompt-msg .visualsearch-field__drop-area__upload-button{color:var(--color-accent);cursor:pointer}.visualsearch-field__drop-area__drop-msg{display:none;pointer-events:none;color:var(--color-accent)!important;margin:0}.visualsearch-field__drop-area__image-display{pointer-events:none;text-align:center;width:220px;height:auto}.visualsearch-field__drop-area__image-display img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.display-block{display:block!important}.display-none{display:none!important}@media (min-width: 740px){.display-sm-block{display:block!important}.display-sm-none{display:none!important}}@media (min-width: 990px){.display-md-block{display:block!important}.display-md-none{display:none!important}}@media (min-width: 1260px){.display-lg-block{display:block!important}.display-lg-none{display:none!important}}@media (min-width: 1800px){.display-xl-block{display:block!important}.display-xl-none{display:none!important}}.flex-align-self-center{align-self:center}@media (min-width: 740px){.flex-align-self-sm-center{align-self:center}}@media (min-width: 990px){.flex-align-self-md-center{align-self:center}}@media (min-width: 1260px){.flex-align-self-lg-center{align-self:center}}@media (min-width: 1800px){.flex-align-self-xl-center{align-self:center}}.flex-vertical-center{display:flex;flex-direction:column;justify-content:center}@media (min-width: 740px){.flex-vertical-sm-center{display:flex;flex-direction:column;justify-content:center}}@media (min-width: 990px){.flex-vertical-md-center{display:flex;flex-direction:column;justify-content:center}}@media (min-width: 1260px){.flex-vertical-lg-center{display:flex;flex-direction:column;justify-content:center}}@media (min-width: 1800px){.flex-vertical-xl-center{display:flex;flex-direction:column;justify-content:center}}.flex-gap{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap--none{gap:0}.flex-gap--sm{gap:var(--padding-sm)}.flex-gap--xs{gap:var(--padding-xs)}@media (min-width: 740px){.flex-gap-sm{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-sm--none{gap:0}.flex-gap-sm--sm{gap:var(--padding-sm)}.flex-gap-sm--xs{gap:var(--padding-xs)}}@media (min-width: 990px){.flex-gap-md{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-md--none{gap:0}.flex-gap-md--sm{gap:var(--padding-sm)}.flex-gap-md--xs{gap:var(--padding-xs)}}@media (min-width: 1260px){.flex-gap-lg{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-lg--none{gap:0}.flex-gap-lg--sm{gap:var(--padding-sm)}.flex-gap-lg--xs{gap:var(--padding-xs)}}@media (min-width: 1800px){.flex-gap-xl{display:flex;flex-wrap:wrap;gap:var(--padding)}.flex-gap-xl--none{gap:0}.flex-gap-xl--sm{gap:var(--padding-sm)}.flex-gap-xl--xs{gap:var(--padding-xs)}}.margin{margin-bottom:var(--margin)!important}.margin-small{margin-bottom:var(--margin-sm)!important}.margin-none{margin-bottom:0!important}@media (min-width: 740px){.margin-sm{margin-bottom:var(--margin)!important}.margin-sm-small{margin-bottom:var(--margin-sm)!important}.margin-sm-none{margin-bottom:0!important}}@media (min-width: 990px){.margin-md{margin-bottom:var(--margin)!important}.margin-md-small{margin-bottom:var(--margin-sm)!important}.margin-md-none{margin-bottom:0!important}}@media (min-width: 1260px){.margin-lg{margin-bottom:var(--margin)!important}.margin-lg-small{margin-bottom:var(--margin-sm)!important}.margin-lg-none{margin-bottom:0!important}}@media (min-width: 1800px){.margin-xl{margin-bottom:var(--margin)!important}.margin-xl-small{margin-bottom:var(--margin-sm)!important}.margin-xl-none{margin-bottom:0!important}}.width-auto{width:auto}.width-full{width:100%}@media (min-width: 740px){.width-sm-auto{width:auto}.width-sm-full{width:100%}}@media (min-width: 990px){.width-md-auto{width:auto}.width-md-full{width:100%}}@media (min-width: 1260px){.width-lg-auto{width:auto}.width-lg-full{width:100%}}@media (min-width: 1800px){.width-xl-auto{width:auto}.width-xl-full{width:100%}}.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}@media (min-width: 740px){.text-align-sm-left{text-align:left}.text-align-sm-center{text-align:center}.text-align-sm-right{text-align:right}}@media (min-width: 990px){.text-align-md-left{text-align:left}.text-align-md-center{text-align:center}.text-align-md-right{text-align:right}}@media (min-width: 1260px){.text-align-lg-left{text-align:left}.text-align-lg-center{text-align:center}.text-align-lg-right{text-align:right}}@media (min-width: 1800px){.text-align-xl-left{text-align:left}.text-align-xl-center{text-align:center}.text-align-xl-right{text-align:right}}:host,:root{--color-accent: var(--hawksearch-color-accent, #119ff7);--color-secondary: var(--hawksearch-color-secondary, #ccc);--color-secondary-light: var(--hawksearch-color-secondary-light, #f1f1f1);--color-secondary-dark: var(--hawksearch-color-secondary-dark, #757575);--color-background: var(--hawksearch-color-background, #fff);--container-background: var(--hawksearch-container-background, var(--color-background));--container-background--alternate: var(--hawksearch-container-background--alternate, var(--color-secondary-light));--container-border: var(--hawksearch-container-border, solid 1px var(--color-secondary));--default-line-height: var(--hawksearch-default-line-height, 1.25);--default-font-color: var(--hawksearch-default-font-color, #2e2e2e);--default-font-color--inverse: var(--hawksearch-default-font-color--inverse, #fff);--default-font-family: var(--hawksearch-default-font-family, Arial, sans-serif);--default-font-size: var(--hawksearch-default-font-size, 16px);--button-background: var(--hawksearch-button-background, var(--color-accent));--button-border-radius: var(--hawksearch-button-border-radius, 5px);--button-font-color: var(--hawksearch-button-font-color, #fff);--form-element-background: var(--hawksearch-form-element-background, var(--color-background));--form-element-border: var(--hawksearch-form-element-border, solid 1px var(--color-secondary));--form-element-border--focus: var(--hawksearch-form-element-border--focus, solid 1px var(--color-accent));--form-element-border-radius: var(--hawksearch-form-element-border-radius, 0);--form-element-placeholder-color: var(--hawksearch-form-element-placeholder-color, var(--color-secondary-dark));--margin: var(--hawksearch-margin, 32px);--margin-sm: var(--hawksearch-margin-sm, calc(var(--margin) / 2));--padding: var(--hawksearch-padding, 24px);--padding-xs: var(--hawksearch-padding-xs, calc(var(--padding) / 4));--padding-sm: var(--hawksearch-padding-sm, calc(var(--padding) / 2));--secondary-font-color: var(--hawksearch-secondary-font-color, var(--color-secondary-dark));font-family:var(--default-font-family);font-size:var(--default-font-size);color:var(--default-font-color);line-height:var(--default-line-height)}\n';
|
|
5755
5755
|
class BaseComponent extends HTMLElement {
|
|
5756
5756
|
constructor() {
|
|
5757
5757
|
super(...arguments);
|
|
@@ -6016,12 +6016,12 @@ class BaseContentComponent extends BaseComponent {
|
|
|
6016
6016
|
this.bindFromEvent = false;
|
|
6017
6017
|
}
|
|
6018
6018
|
}
|
|
6019
|
-
const defaultHtml$
|
|
6019
|
+
const defaultHtml$H = '<div class="custom-content">\n {{html content}}\n</div>';
|
|
6020
6020
|
class CustomContentComponent extends BaseContentComponent {
|
|
6021
6021
|
constructor() {
|
|
6022
6022
|
super(...arguments);
|
|
6023
6023
|
this.componentName = "custom-content";
|
|
6024
|
-
this.defaultHtml = defaultHtml$
|
|
6024
|
+
this.defaultHtml = defaultHtml$H;
|
|
6025
6025
|
}
|
|
6026
6026
|
renderContent() {
|
|
6027
6027
|
return !!this.data;
|
|
@@ -6032,12 +6032,12 @@ class CustomContentComponent extends BaseContentComponent {
|
|
|
6032
6032
|
};
|
|
6033
6033
|
}
|
|
6034
6034
|
}
|
|
6035
|
-
const defaultHtml$
|
|
6035
|
+
const defaultHtml$G = '<div class="row featured-items-content">\n {{#each items}}\n {{#if (or (eq @root.zone "Top") (eq @root.zone "Top2") (eq @root.zone "Bottom") (eq @root.zone "Bottom2"))}}\n {{#if (eq type "content")}}\n <div class="column column--12">\n <hawksearch-featured-items-content-item></hawksearch-featured-items-content-item>\n </div>\n {{else}}\n <div class="column column--12 column-sm--6 column-lg--4">\n <hawksearch-featured-items-content-item></hawksearch-featured-items-content-item>\n </div>\n {{/if}}\n {{else}}\n <hawksearch-featured-items-content-item></hawksearch-featured-items-content-item>\n {{/if}}\n {{/each}}\n</div>';
|
|
6036
6036
|
class FeaturedItemsContentComponent extends BaseContentComponent {
|
|
6037
6037
|
constructor() {
|
|
6038
6038
|
super(...arguments);
|
|
6039
6039
|
this.componentName = "featured-items-content";
|
|
6040
|
-
this.defaultHtml = defaultHtml$
|
|
6040
|
+
this.defaultHtml = defaultHtml$G;
|
|
6041
6041
|
}
|
|
6042
6042
|
renderContent() {
|
|
6043
6043
|
var _a, _b;
|
|
@@ -6058,13 +6058,13 @@ class FeaturedItemsContentComponent extends BaseContentComponent {
|
|
|
6058
6058
|
}
|
|
6059
6059
|
}
|
|
6060
6060
|
const placeholderUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg4AAAFoCAYAAAA//nPjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDcvMTkvMjJHKrx6AAARvklEQVR4nO3dL3cbx9uA4fm9p0fIyMQiCUlISmqSkAaVBPWjFhWZ2EQiMrGJTWQiEZksElqSF7Rqk9R/HtmrnZnd64KtG497Yu/t3Xl2/vf169evCQAg4P9yLwAAqIdwAADChAMAECYcAIAw4QAAhAkHACBMOAAAYcIBAAgTDgBAmHAAAMKEAwAQJhwAgDDhAACECQcAIEw4AABhwgEACBMOAECYcAAAwoQDABAmHACAMOEAAIQJBwAgTDgAAGHCAQAIEw4AQJhwAADChAMAECYcAIAw4QAAhAkHACBMOAAAYcIBAAgTDgBAmHAAAMKEAwAQJhwAgDDhAACECQcAIEw4AABhwgEACPsp9wKiNptN2mw2uZcBAJ2bTqdpOp3mXkZIVeFwfX2dexkAcBC1hINHFQBAmHAAAMKEAwAQJhwAgDDhAACECQcAIEw4AABhwgEACBMOAECYcAAAwqp55fS+Tk5Oqnl9JwDDstls0v39fe5lHMRgw2E6nabT09PcywBghK6urgYbDh5VAABhwgEACBMOAECYcAAAwoQDABAmHACAMOEAAIQJBwAgTDgAAGHCAQAIEw4AQJhwAADChAMAECYcAIAw4QAAhAkHACBMOAAAYcIBAAgTDgBAmHAAAMKEAwAQJhwAgDDhAACECQcAIEw4AABhwgEACPsp9wIAurLZbFLbtqlpmkc/Zjqdpslkko6Pj3tcGQyHcACq1TRNWi6XqWmadH9/H/pvrq+vU0opTSaTdHJykqbTaXr//n2aTCaHXCoMhnAAqtK2bVoul+n29jZtt9tX/Tnr9Tqt1+t0eXmZ3rx5k37++ec0nU47XC0Mj3AAqtC2bbq5uUm3t7epbdvO//xdRBwfH6ePHz8KCHiEcACKt1qt0nw+P0gw/KhpmnR2dpZOTk7S58+f09HR0cE/J9TEVAVQrLZt0/n5ebq4uOglGr51f3+f/vzzz7RarXr9vFA64QAUafeb/3q9zraGtm3TxcVFms1m2dYApfGoAijOLhr6vsvwmLu7u5RSSp8/f868EsjPHQegKKVFw87d3Z07D5CEA1CQtm2LjIYd8QDCAShIydGwc3d3l25ubnIvA7IRDkARrq6unnxVdEkuLy/TZrPJvQzIQjgA2TVN88+roGtxeXmZewmQhXAAslssFrmXsLemadLV1VXuZUDvhAOQ1WazCR9QVZpDvf4aSiYcgKyWy2XuJbzY7vwMGBPhAGTTtu0/L1eqVe3rh30JByCbmu827Gy3W+dZMCrCAchmKCONwoExEQ5ANrVuivzRUL4OiBAOQBZN0wxmImG73abtdpt7GdAL4QBkMZRo2BEOjIVwALIYyv6GnaF9PfAY4QAAhAkHACBMOAAAYcIBAAgTDgBAmHAAAMKEA5DF8fFx7iV0amhfDzxGOABZHB0d5V5Cp4b29cBjhAOQxdB+Qx/a1wOPEQ5ANicnJ7mX0ImhfB0QIRyAbN6+fZt7CZ0YytcBEcIByGY6neZeQieEA2MiHIBsjo+Pq98bcHJyYmMkoyIcgKw+fPiQewmv8v79+9xLgF4JByCrt2/fpslkknsZL3J0dCQcGB3hAGQ1mUyqvevwyy+/5F4C9E44ANmdnp5Wt0/g5OTE3QZGSTgARfj1119zLyFsMpmkz58/514GZCEcgCJMp9NqHll8/Pixujsk0BXhABTj06dPxY9nfvjwwSMKRk04AEX58uVLsVMW7969S58+fcq9DMhKOABFmUwmRcbDu3fv7GuAJByAAh0fH6fff/+9mMcWHz9+FA3wN+EAFOno6Ch9+fIlvXnzJtsadnc/fv7552xrgNL8lHsBAI+ZTCbpt99+S6vVKs3n89S2bW+fe7efobRHJpCbcACK9/bt2zSdTtPNzU26vr4+6Oc6OTlJp6engzm5E7omHIAqTCaTdHp6mt6/f59ubm7Ser1O2+22sz//3bt36f3794IBniEcgKocHR2lT58+pU+fPqXVapU2m026v79PTdPs9edMJpN0cnKS3r59W/VBW9A34QBUa3fR39lsNmm73T55J2I6nabJZFLMxAbURjgAg+ExAxyecUwAIEw4AABhwgEACBMOAECYcAAAwoQDABAmHACAMOEAAIQJBwAgTDgAAGHCAQAIEw4AQJhwAADChAMAECYcAIAw4QAAhAkHACBMOAAAYcIBAAgTDozScrnMvQSAKgkHRmexWKT5fJ4Wi0XupQBURzgwKsvlMt3e3qaUUrq9vXXnAWBPwoHRaJomzefz7/7ZfD5PTdNkWhFAfYQDo7DdbtPZ2dmD/+7s7Cxtt9ueVwRQJ+HA4LVtmy4uLlLbti/69wD8SzgweLPZ7NnHEU3TpNls1tOKAOolHBi0xWKR1ut16GPX67VJC4BnCAcG69sJiiiTFgBPEw4M0kMTFFEmLQAeJxwYnKcmKKJMWgA8TDgwKF1NSJi0AHiYcGBQIhMUUSYtAP5LODAYV1dX4QmKKJMWAN8TDgzCcrlM19fXB/mzTVoA/Es4UL2madLl5eVBP4dJC4C/CAeq1rZtOjs762UTo0kLAOFAxfqMht3nM2kBjJ1woFqLxaL3xwcmLYCxEw5U6erqKt3d3WX53CYtgDETDlTnkBMUUSYtgLESDlSljwmKKJMWwBgJB6rR92bICJMWwNgIB6pQYjSkZNICGB/hQBVyTFBEmbQAxkQ4ULycExRRJi2AsRAOFG21WmWfoIgyaQGMgXCgWE3TpPl8nnsZezFpAQydcKBINW86NGkBDJlwoEg1X3xrjh6A5wgHijObzaq/3W/SAhgq4UBRbm5uip+giDJpAQyRcKAYq9WqmNdJd8WkBTA0woEi1DhBEWXSAhgS4UB2Y9hMWPNmT4BvCQeyG8NFdQxxBIyDcCCrIUxQRJm0AIZAOJDNkCYookxaALUTDmSx2WwGN0ERZdICqJlwoHdN06SLi4vcy8jKpAVQK+FAr9q2TfP53CbBNI5NocDwCAd6dX5+7jftv5m0AGokHOjNbDZL9/f3uZdRFJMWQG2EA71YLpejm6CIMmkB1EQ4cHCbzWawr5PuikkLoBbCgYMyQRFn0gKogXDgYExQ7M+kBVA64cDBmKDYn0kLoHTCgYMwQfFyJi2AkgkHOmeC4vVMWgClEg50ygRFd0xaACUSDnRmu92aoOiYSQugNMKBTtjUdzgmLYCSCAc6MZvN/GZ8IKIMKIlw4NUWi0Var9e5lzFoJi2AUggHXmW5XKbb29vcyxgFkxY8x2Za+iAceLGmaUxQ9MykBY+ZzWZpPp+7M8XBCQdeZLvdprOzs9zLGCWTFvxoNpv98+6Uu7s78cBBCQf2ZrNefiYt2Pk2Gnbu7u481uJghAN7M0GRn3gjpZRubm4efUurx1ocinBgLyYoymHSYtyWy2W6vLx88mPm87l4oHPCgTATFOUxaTFOy+UyvDFZPNA14UCICYpyuSU9LvtEw44NtXRJOPAsExTlc2EYh6Zpnn088ZizszN/R+iEcOBJNuHVw6TFsDVNk87Ozl78vdi2rXigE8KBJy0WCz9oKiHyhuu10bCziweByWsIBx51dXX16KgXZTJpMTxdRcOOwOS1hAMPWi6X6fr6OvcyeAGTFsPRtm2az+edX+S7jhHGRTjwH6/ZgEUZTFrU79B7EsQDLyUc+M7uh5UfJvUzaVGvvjYyerTFSwgH/iEahsdGuDr1Of2wXq/FA3sRDvzDBMXw2AhXnxxnwThRk30IB1JKJiiGzO3oejx00mVfnKhJlHDABMUImLQoX85o2LGplgjhMHImKMbDRaFcJd3xcygWzxEOI2Yz5PiYtChPiXf8xANPEQ4jJhrGyaRFOV5y0mVfRCaPEQ4jlWPnNmUwaVGGkqNhx6FYPEQ4jNDNzU0xz1PJw6RFXpvNpvhoSMmJmjxMOIzMarWyGZKUkkmLXJqmSRcXF7mXEeZETX4kHEakaZoqfsuhPyYt+lXr+RAeb/Et4TASvvF5jE1w/ag1GnZqXz/dEQ4j4VYjT/H347CGEu7igZSEwyiYoOA5Q7mwlWhoewRsrEU4DJwJCqJcELo31KkEJ2qOm3AYMBMU7MukRXeGGg07TtQcL+EwUCYoeCmTFt0YwyNCJ2qOk3AYIM+reS2TFq8zm83Ser3OvYxeCM3xEQ4DNKSNWOTj79HLlHA8dt8cijUuwmFgxnB7lH64c7W/MUbDjngYD+EwIMvlcrQ/tDgMkxZxvv884hoL4TAQtRyaQ31MWjyvhpMu+zLkSRL+IhwGoLZDc6iPDXCPEw3fG/oYKsKhem3bpvl87jk0B+c29H+tVivR8IChvS2T7wmHyp2fn/thTm9cDP7lXSlPs7l2uIRDxWazWbq/v8+9DEbExeAvDnuK8f9pmIRDpezgJpexT1q4GO7H/6/hEQ4VMkFBbmOdtNhuty6CLzD22Bwa4VAZExSUYmyTFh7TvI4TNYdDOFTEBAWlGcukhRHDbjhRcxiEQ0VMUFCioU9aiIZuOVGzfsKhEiYoKNXQb+EL9u6N7THX0AiHCpigoHRD3fwm2A/HoVj1Eg6F85IZajG0SYsxn3TZF/FQJ+FQsN3oF9RiKLegRUN/xrLBdkiEQ6GG/tyY4ar9QnB1dSUaembzaV2EQ6Fms5lvJKpV66TFcrlM19fXuZcxOiZX6iIcCrRYLNJ6vc69DHixGu+YOR47Lydq1kM4FGa5XKbb29vcy4BXq2nSQjSUocbgHCPhUBATFAxNDZMWvu/K4lCs8gmHQpigYKhKnrTYXaQoi3gom3AogNtzDF2JkxYuTmWr6VHX2AiHApigYAxK2vgmGurgRM0yCYfMTFAwFqXcWXPKbF2cqFke4ZCRCQrGJvftZ+8LqJMTNcsiHDJpmiZdXl7mXgb0LtekhWioW8mbbMdGOGSw+wHmVilj1fdFQDQMg0OxyiAceiYa4C99TlosFgvRMBDiIT/h0DM/wOBffUxaOOlyeEoc7x0T4dAjp+7B9w49aSEahsujp3yEQ0+cugcPO9SkxWKxEA0DZt9KPsKhByYo4GldT1oYdR4HJ2rmIRwOzGZIiOlq0sJJl+NSyovFxkQ4HJBogP28dtObaBgnrxDvl3A4IBMUsL+X3nperVaiYcTEQ3+Ew4GYoICXecmt56ZpRAPZX2k+FsLhAExQwOvscwHwmybfcqLm4QmHjpmggG5EJi1EAw9xouZhCYcO2d0L3Xpq0sLmY57iRM3DEQ4dMk8M3Xto0kI0EOFEzcMQDh2ZzWYmKOBAvo1ybwxkHw7F6p5w6MDNzY0JCjig3WPA7XYrGtibeOiWcHil1WplMyT0oGma9Mcff4gGXsSJmt0RDq9gdhygHu5WdUM4vJAJCoC62B/TDeHwQiYoAOrjRM3XEw4vYIICoF7uGL+OcNiTCQqA+nnr6MsJhz2YoAAYDvHwMsIhyAQFwPA4UXN/wiHA8zCA4XKi5n6EQ8D5+bkduAAD5kTNOOHwjNlslu7v73MvA4ADc6JmjHB4wnK5NEEBMCJO1HyecHjEZrOxGRJghByK9TTh8ICmadLFxUXuZQCQiXh4nHD4Qdu2aT6fm6AAGDknaj5MOPzg/PzcXxQAUkpO1HyIcPiGCQoAvuVEzf8SDn8zQQHAQ5yo+T3hkExQAPA0bxD+1+jDwQQFABEOxfrLqMPBBAUA+xAPKf2UewGHstls0tXV1bMfY8MLAPtomiadn5+n6XT66MdsNpseV9SvwYbD/f29CQkADmLM15hRP6oAAPYjHACAMOEAAIQJBwAgTDgAAGHCAQAIEw4AQJhwAADChAMAECYcAICwal45/dQ7wQGgZjVd4/739evXr7kXAQDUwaMKACBMOAAAYcIBAAgTDgBAmHAAAMKEAwAQJhwAgDDhAACECQcAIEw4AABhwgEACBMOAECYcAAAwoQDABAmHACAMOEAAIQJBwAgTDgAAGHCAQAIEw4AQJhwAADChAMAECYcAIAw4QAAhAkHACBMOAAAYcIBAAgTDgBAmHAAAMKEAwAQJhwAgDDhAACECQcAIEw4AABhwgEACBMOAECYcAAAwoQDABAmHACAMOEAAIT9PxPk4S8yUXfxAAAAAElFTkSuQmCC";
|
|
6061
|
-
const defaultHtml$
|
|
6061
|
+
const defaultHtml$F = '<div class="featured-items-content__item featured-items-content__item--{{type}}">\n {{#if pinned}}\n <span class="featured-items-content__item__pin">\n <hawksearch-icon name="star"></hawksearch-icon>\n </span>\n {{/if}}\n {{#if (eq type "product")}}\n {{#if (lt salePrice price)}}\n <span class="featured-items-content__item__sale-indicator">{{strings.sale}}</span>\n {{/if}}\n <a hawksearch-link href="{{url}}" class="featured-items-content__item__image" aria-label="{{title}}">\n <img hawksearch-image src="{{imageUrl}}" alt="" />\n </a>\n <div class="featured-items-content__item__title">\n <a hawksearch-link href="{{url}}">{{title}}</a>\n </div>\n {{#if rating}}\n <hawksearch-rating rating="{{rating}}"></hawksearch-rating>\n {{/if}}\n {{#unless (eq price undefined)}}\n <div class="featured-items-content__item__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope>\n {{#if (lt salePrice price)}}\n <span class="featured-items-content__item__price__original">{{currency price}}</span>\n <span class="featured-items-content__item__price__current" itemprop="price">{{currency salePrice}}</span>\n {{else}}\n <span class="featured-items-content__item__price-__current" itemprop="price">{{currency price}}</span>\n {{/if}}\n </div>\n {{/unless}}\n <hawksearch-variant-selector></hawksearch-variant-selector>\n {{else}}\n <div class="row">\n {{#if imageUrl}}\n <div class="column column--12 column-sm--4">\n <a hawksearch-link href="{{url}}">\n <img hawksearch-image src="{{imageUrl}}" alt="" />\n </a>\n </div>\n {{/if}}\n <div class="column column--12 column-sm--8 flex-align-self-sm-center">\n <div class="featured-items-content__item__title">\n <a hawksearch-link href="{{url}}">{{title}}</a>\n </div>\n {{#if description}}\n <p>{{description}}</p>\n {{/if}}\n </div>\n </div>\n {{/if}}\n</div>';
|
|
6062
6062
|
class FeaturedItemsContentItemComponent extends BaseComponent {
|
|
6063
6063
|
constructor() {
|
|
6064
6064
|
super(...arguments);
|
|
6065
6065
|
this.trackingEnabled = true;
|
|
6066
6066
|
this.componentName = "featured-items-content-item";
|
|
6067
|
-
this.defaultHtml = defaultHtml$
|
|
6067
|
+
this.defaultHtml = defaultHtml$F;
|
|
6068
6068
|
this.bindFromEvent = false;
|
|
6069
6069
|
}
|
|
6070
6070
|
renderContent() {
|
|
@@ -6123,12 +6123,12 @@ class FeaturedItemsContentItemComponent extends BaseComponent {
|
|
|
6123
6123
|
});
|
|
6124
6124
|
}
|
|
6125
6125
|
}
|
|
6126
|
-
const defaultHtml$
|
|
6126
|
+
const defaultHtml$E = '<div class="image-content">\n {{#if link}}\n <a hawksearch-link href="{{link.url}}" target="{{link.target}}">\n <img\n src="{{image.url}}"\n class="image-content__image"\n height="{{image.height}}"\n width="{{image.width}}"\n alt="{{image.altText}}"\n title="{{image.title}}"\n />\n </a>\n {{else}}\n <img\n src="{{image.url}}"\n class="image-content__image"\n height="{{image.height}}"\n width="{{image.width}}"\n alt="{{image.altText}}"\n title="{{image.title}}"\n />\n {{/if}}\n</div>';
|
|
6127
6127
|
class ImageContentComponent extends BaseContentComponent {
|
|
6128
6128
|
constructor() {
|
|
6129
6129
|
super(...arguments);
|
|
6130
6130
|
this.componentName = "image-content";
|
|
6131
|
-
this.defaultHtml = defaultHtml$
|
|
6131
|
+
this.defaultHtml = defaultHtml$E;
|
|
6132
6132
|
}
|
|
6133
6133
|
renderContent() {
|
|
6134
6134
|
return !!this.data;
|
|
@@ -6148,12 +6148,12 @@ class ImageContentComponent extends BaseContentComponent {
|
|
|
6148
6148
|
HawkSearch.services.tracking.trackBannerImpression(this.data.id, this.data.campaignId);
|
|
6149
6149
|
}
|
|
6150
6150
|
}
|
|
6151
|
-
const defaultHtml$
|
|
6151
|
+
const defaultHtml$D = '<div class="popular-queries-content">\n {{#each items}}\n <a hawksearch-query="{{query}}" class="popular-queries-content__item popular-queries-content__item--{{weight}}">{{query}}</a>\n {{/each}}\n</div>';
|
|
6152
6152
|
class PopularQueriesContentComponent extends BaseContentComponent {
|
|
6153
6153
|
constructor() {
|
|
6154
6154
|
super(...arguments);
|
|
6155
6155
|
this.componentName = "popular-queries-content";
|
|
6156
|
-
this.defaultHtml = defaultHtml$
|
|
6156
|
+
this.defaultHtml = defaultHtml$D;
|
|
6157
6157
|
}
|
|
6158
6158
|
renderContent() {
|
|
6159
6159
|
var _a, _b;
|
|
@@ -6178,12 +6178,12 @@ class PopularQueriesContentComponent extends BaseContentComponent {
|
|
|
6178
6178
|
});
|
|
6179
6179
|
}
|
|
6180
6180
|
}
|
|
6181
|
-
const defaultHtml$
|
|
6181
|
+
const defaultHtml$C = '<div class="content-zone">\n {{#each items}}\n {{#if (eq type "custom")}}\n <hawksearch-custom-content index="{{@index}}"></hawksearch-custom-content>\n {{/if}}\n {{#if (eq type "featured-items")}}\n <hawksearch-featured-items-content index="{{@index}}"></hawksearch-featured-items-content>\n {{/if}}\n {{#if (eq type "image")}}\n <hawksearch-image-content index="{{@index}}"></hawksearch-image-content>\n {{/if}}\n {{#if (eq type "popular-queries")}}\n <hawksearch-popular-queries-content index="{{@index}}"></hawksearch-popular-queries-content>\n {{/if}}\n {{/each}}\n</div>';
|
|
6182
6182
|
class ContentZoneComponent extends BaseComponent {
|
|
6183
6183
|
constructor() {
|
|
6184
6184
|
super(...arguments);
|
|
6185
6185
|
this.componentName = "content-zone";
|
|
6186
|
-
this.defaultHtml = defaultHtml$
|
|
6186
|
+
this.defaultHtml = defaultHtml$C;
|
|
6187
6187
|
this.bindFromEvent = true;
|
|
6188
6188
|
}
|
|
6189
6189
|
get name() {
|
|
@@ -6317,7 +6317,7 @@ function formatNumber(value, decimals = 2) {
|
|
|
6317
6317
|
maximumFractionDigits: decimals
|
|
6318
6318
|
});
|
|
6319
6319
|
}
|
|
6320
|
-
const defaultHtml$
|
|
6320
|
+
const defaultHtml$B = `<div class="date-picker">
|
|
6321
6321
|
<input type="text" value="{{value}}" hawksearch-input readonly class="date-picker__input" aria-label="{{strings.label}}" />
|
|
6322
6322
|
{{#if modalVisible}}
|
|
6323
6323
|
<div hawksearch-modal class="date-picker__modal">
|
|
@@ -6400,7 +6400,7 @@ class DatePickerComponent extends BaseComponent {
|
|
|
6400
6400
|
constructor() {
|
|
6401
6401
|
super(...arguments);
|
|
6402
6402
|
this.componentName = "date-picker";
|
|
6403
|
-
this.defaultHtml = defaultHtml$
|
|
6403
|
+
this.defaultHtml = defaultHtml$B;
|
|
6404
6404
|
this.bindFromEvent = false;
|
|
6405
6405
|
this.modalVisible = false;
|
|
6406
6406
|
this.modalDate = /* @__PURE__ */ new Date();
|
|
@@ -6608,12 +6608,12 @@ class DatePickerComponent extends BaseComponent {
|
|
|
6608
6608
|
}
|
|
6609
6609
|
}
|
|
6610
6610
|
const iconsSvg = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs><symbol id="chevron-back" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.703 5.331a1 1 0 0 1 .014 1.414l-3.303 3.371 3.289 3.222a1 1 0 0 1-1.4 1.428L4.3 10.845a1 1 0 0 1-.014-1.414l4.003-4.085a1 1 0 0 1 1.414-.015Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.817 5.331a1 1 0 0 1 .015 1.414l-3.304 3.371 3.29 3.222a1 1 0 0 1-1.4 1.428l-4.004-3.921A1 1 0 0 1 9.4 9.43l4.003-4.085a1 1 0 0 1 1.414-.015Z"/></symbol><symbol id="chevron-down" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.838 10.111a1 1 0 0 1 1.415 0L12 14.858l4.747-4.747a1 1 0 1 1 1.415 1.414l-5.455 5.455a1 1 0 0 1-1.414 0l-5.455-5.455a1 1 0 0 1 0-1.414Z"/></symbol><symbol id="chevron-forward" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.46 14.766a1 1 0 0 1-.014-1.414l3.303-3.37L9.46 6.76a1 1 0 0 1 1.4-1.429l4.003 3.922a1 1 0 0 1 .014 1.414l-4.003 4.085a1 1 0 0 1-1.414.014Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.346 14.766a1 1 0 0 1-.015-1.414l3.304-3.37-3.29-3.222a1 1 0 1 1 1.4-1.429L9.75 9.253a1 1 0 0 1 .014 1.414L5.76 14.752a1 1 0 0 1-1.414.014Z"/></symbol><symbol id="chevron-left" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.69 18.224a1 1 0 0 1-1.414-.034l-5-5.25a1 1 0 0 1 0-1.38l5-5.25a1 1 0 1 1 1.448 1.38l-4.343 4.56 4.343 4.56a1 1 0 0 1-.034 1.414Z"/></symbol><symbol id="chevron-right" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.31 18.224a1 1 0 0 1-.034-1.414l4.343-4.56-4.343-4.56a1 1 0 0 1 1.448-1.38l5 5.25a1 1 0 0 1 0 1.38l-5 5.25a1 1 0 0 1-1.414.034Z"/></symbol><symbol id="chevron-up" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.156 16.531a1 1 0 0 1-1.414-.012L12 11.7l-4.742 4.82a1 1 0 1 1-1.425-1.402l5.454-5.546a1 1 0 0 1 1.426 0l5.455 5.546a1 1 0 0 1-.012 1.414Z"/></symbol><symbol id="cross" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="m17.29 3.922-1.178-1.178-6.077 6.078-6.078-6.078-1.179 1.178L8.856 10l-6.078 6.078 1.18 1.178 6.077-6.078 6.077 6.078 1.179-1.178L11.213 10l6.078-6.078Z"/></symbol><symbol id="drop-image" viewBox="0 0 100 100"><path d="M55.875 25.375H52.75v9h3.125v-9Zm0-5.375v-1.125c0-4.125-3.375-7.5-7.5-7.5H47.25V14.5h1.125c2.375 0 4.375 2 4.375 4.375V20h3.125Zm-14 39.875h-9V63h9v-3.125Zm-14.5 0h-9V63h9v-3.125Zm-19.875-20H4.375v9H7.5v-9Zm0-14.5H4.375v9H7.5v-9ZM11.875 63H13v-3.125h-1.125c-2.375 0-4.375-2-4.375-4.375v-1.125H4.375V55.5c0 4.125 3.375 7.5 7.5 7.5Zm0-48.5H13v-3.125h-1.125c-4.125 0-7.5 3.375-7.5 7.5V20H7.5v-1.125c0-2.375 2-4.375 4.375-4.375Zm15.5-3.125h-9V14.5h9v-3.125Zm14.5 0h-9V14.5h9v-3.125ZM36.625 36.5c.875 0 1.5-.625 1.5-1.5 0-.5-.25-1-.625-1.25L31.25 29c-.5-.5-1.375-.5-1.875 0l-6.25 4.75c-.625.5-.75 1.5-.25 2.125s1.5.75 2.125.25l3.875-2.75v11.25c0 .875.625 1.5 1.5 1.625h.25c.75-.125 1.375-.75 1.375-1.5V33.5l3.875 2.75s.375.25.75.25Zm52.75 1.5H51.25c-1.625 0-3.25.625-4.375 1.875-1.25 1-1.875 2.625-1.875 4.25V82.25c0 1.625.625 3.25 1.875 4.375C48 87.75 49.625 88.5 51.25 88.5h38.125c1.625 0 3.25-.625 4.375-1.875s1.875-2.75 1.875-4.375V44.125c0-1.625-.625-3.25-1.875-4.375S91.125 38 89.375 38Zm3.375 44.375a3.415 3.415 0 0 1-3.375 3.375H51.25a3.415 3.415 0 0 1-3.375-3.375v-6.5l5.75-5.75 6.125 6.125c.125.125.25.25.5.375.5.25 1.125.125 1.625-.375L77.5 60.5l15.25 15.25v6.625Zm0-10.75L78.5 57.5c-.125-.125-.25-.25-.5-.375a1.734 1.734 0 0 0-1.125 0c-.125.125-.375.125-.5.375L60.75 73.125 54.625 67c-.25-.25-.625-.375-1-.375s-.75.125-1 .375l-4.75 4.75v-27.5a3.415 3.415 0 0 1 3.375-3.375h38.125a3.415 3.415 0 0 1 3.375 3.375v27.375Z"/><path d="M64.625 54.125c.125-.875-.125-1.75-.625-2.5s-1.25-1.25-2.125-1.5C61.5 50 61.125 50 60.75 50c-.5 0-1 .125-1.5.25-.875.375-1.5 1-1.875 1.75s-.5 1.75-.375 2.5c.125.875.625 1.625 1.375 2.25.625.5 1.5.875 2.375.875 1 0 2-.375 2.75-1.125.625-.75 1-1.5 1.125-2.375Z"/></symbol><symbol id="help" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M10 18.333c-4.595 0-8.333-3.737-8.333-8.333 0-4.594 3.738-8.333 8.333-8.333 4.595 0 8.333 3.738 8.333 8.333 0 4.596-3.738 8.333-8.333 8.333Zm0-15A6.674 6.674 0 0 0 3.333 10 6.674 6.674 0 0 0 10 16.667 6.674 6.674 0 0 0 16.666 10 6.674 6.674 0 0 0 10 3.333Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M10.833 12.5H9.166V10H10a1.668 1.668 0 0 0 0-3.333c-.92 0-1.667.746-1.667 1.666H6.666A3.338 3.338 0 0 1 10 5a3.338 3.338 0 0 1 3.333 3.333 3.343 3.343 0 0 1-2.5 3.23v.937Zm-.097.93a1.042 1.042 0 1 1-1.473 1.473 1.042 1.042 0 0 1 1.473-1.473Z"/></symbol><symbol id="image" viewBox="0 0 20 20"><path d="M17.27 20H2.727A2.726 2.726 0 0 1 0 17.273V2.727A2.728 2.728 0 0 1 2.727 0H17.27a2.726 2.726 0 0 1 2.727 2.727v14.546A2.728 2.728 0 0 1 17.27 20ZM2.727 1.818a.909.909 0 0 0-.909.91v14.545a.91.91 0 0 0 .91.909H17.27a.91.91 0 0 0 .91-.91V2.728a.909.909 0 0 0-.91-.909H2.727Z"/><path d="M.91 15.455A.91.91 0 0 1 .269 13.9l2.727-2.727a.909.909 0 0 1 1.281.004l2.086 2.082 5.722-5.718a.908.908 0 0 1 1.286 0l6.363 6.364a.91.91 0 0 1-1.287 1.286l-5.721-5.723-5.722 5.719a.909.909 0 0 1-1.286 0l-2.082-2.082L1.55 15.19c-.17.17-.4.264-.64.264Zm5.453-7.273a1.818 1.818 0 1 1 .003-3.636 1.818 1.818 0 0 1-.003 3.636Z"/></symbol><symbol id="message" viewBox="0 0 20 21"><path fill-rule="evenodd" d="M14.84 7.946H5.01a1 1 0 0 1-.998-.998 1 1 0 0 1 .998-.998h9.83a1 1 0 0 1 .998.998 1 1 0 0 1-.998.998Zm-6.407 3.992H5a1 1 0 0 1-.998-.998A1 1 0 0 1 5 9.942h3.433a1 1 0 0 1 .998.998 1 1 0 0 1-.998.998Z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M2.016.96A2.002 2.002 0 0 0 .02 2.956v11.976c0 1.098.898 1.996 1.996 1.996h8.094c-.21-.41-.34-.878-.34-1.377 0-.21.02-.42.07-.62H2.016V2.957h15.968v11.976h-2.216c.04.2.07.409.07.619 0 .499-.13.958-.339 1.377h2.495a2.002 2.002 0 0 0 1.996-1.996V2.956A2.002 2.002 0 0 0 17.994.96H2.016Z" clip-rule="evenodd"/><path d="m17.545 19.413-1.367-1.677a3.85 3.85 0 0 0 .778-2.315 3.897 3.897 0 0 0-3.892-3.892 3.897 3.897 0 0 0-3.892 3.892 3.897 3.897 0 0 0 3.892 3.892 3.89 3.89 0 0 0 1.647-.38l1.367 1.677c.18.22.449.35.738.35a.95.95 0 0 0 .738-1.547h-.009Zm-2.266-3.992a2.217 2.217 0 0 1-2.215 2.215 2.21 2.21 0 0 1-2.216-2.215 2.21 2.21 0 0 1 2.216-2.216 2.21 2.21 0 0 1 2.216 2.216Z"/></symbol><symbol id="minus" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.833 10.833H4.167V9.167h11.666v1.666Z"/></symbol><symbol id="plus" viewBox="0 0 20 20"><g style="enable-background:new 0 0 20 20"><path d="M16 9h-5V4c0-.6-.4-1-1-1s-1 .4-1 1v5H4c-.6 0-1 .4-1 1s.4 1 1 1h5v5c0 .6.4 1 1 1s1-.4 1-1v-5h5c.6 0 1-.4 1-1s-.4-1-1-1z"/></g></symbol><symbol id="reset" viewBox="0 0 16 16"><path d="M14.923 3.988A7.977 7.977 0 0 0 10.459.39a7.98 7.98 0 0 0-5.73.32 8.026 8.026 0 0 0-2.77 2.06V1.765a.976.976 0 0 0-1.951 0V5.86h4.097a.976.976 0 0 0 0-1.95H3.56a6.029 6.029 0 0 1 4.41-1.952h.078a6.003 6.003 0 0 1 4.16 1.694l.187.187a5.99 5.99 0 0 1 1.663 4.082v.187a6.022 6.022 0 0 1-1.647 4.05c-.078.087-.164.165-.25.25a6.042 6.042 0 0 1-4.059 1.647H7.93a6.039 6.039 0 0 1-5.682-4.214C2.1 9.374 1.623 9.1 1.116 9.21a.989.989 0 0 0-.64.46.946.946 0 0 0-.086.78 7.944 7.944 0 0 0 1.678 2.912A7.965 7.965 0 0 0 8.016 16a7.95 7.95 0 0 0 4.706-1.538 7.996 7.996 0 0 0 3.114-4.815 8.026 8.026 0 0 0-.905-5.667l-.008.008Z"/></symbol><symbol id="search" viewBox="0 0 20 20"><g clip-path="url(#a)"><path fill-rule="evenodd" d="m18.678 16.322-3.299-3.3a7.85 7.85 0 0 0 1.265-4.284 7.85 7.85 0 0 0-2.316-5.589A7.854 7.854 0 0 0 8.738.833 7.853 7.853 0 0 0 3.15 3.148a7.855 7.855 0 0 0-2.316 5.59c0 2.112.823 4.098 2.316 5.59a7.85 7.85 0 0 0 5.59 2.315 7.84 7.84 0 0 0 4.283-1.264l3.3 3.3c.315.314.733.488 1.178.488.445 0 .863-.174 1.178-.489.315-.314.489-.732.489-1.178 0-.446-.174-.864-.489-1.178Zm-14.35-3.174A6.193 6.193 0 0 1 2.5 8.738a6.2 6.2 0 0 1 1.827-4.41A6.194 6.194 0 0 1 8.738 2.5c1.667 0 3.233.65 4.411 1.828a6.193 6.193 0 0 1 1.828 4.41c0 1.667-.65 3.233-1.828 4.411a6.193 6.193 0 0 1-4.41 1.828 6.19 6.19 0 0 1-4.412-1.829Z" clip-rule="evenodd"/></g></symbol><symbol id="send" viewBox="0 0 20 20"><path d="M1.635 19a.635.635 0 0 1-.595-.856l2.608-7.03a.629.629 0 0 1 .483-.403l3.985-.704-3.98-.685a.63.63 0 0 1-.488-.405L1.04 1.853a.636.636 0 0 1 .88-.786l16.73 8.367a.634.634 0 0 1 0 1.132L1.918 18.933a.634.634 0 0 1-.282.067Z"/></symbol><symbol id="sparkles" viewBox="0 0 20 20"><path d="m12.263 16.353-.855 2.646-.855-2.646a4.086 4.086 0 0 0-2.636-2.635l-2.646-.855 2.646-.855a4.086 4.086 0 0 0 2.636-2.635l.855-2.646.855 2.646a4.086 4.086 0 0 0 2.635 2.635l2.646.855-2.646.855a4.09 4.09 0 0 0-2.635 2.635ZM5.75 9.342l-.478 1.478-.477-1.478a2.047 2.047 0 0 0-1.317-1.317L2 7.545l1.478-.476A2.047 2.047 0 0 0 4.795 5.75l.477-1.478.477 1.478a2.047 2.047 0 0 0 1.318 1.32l1.478.477-1.478.477a2.053 2.053 0 0 0-1.318 1.32Zm4.313-5.151-.29.899-.29-.899a1.33 1.33 0 0 0-.856-.856l-.898-.29.898-.29a1.33 1.33 0 0 0 .857-.857L9.774 1l.29.898c.13.407.45.726.856.857l.898.29-.898.29a1.337 1.337 0 0 0-.857.856Z"/></symbol><symbol id="star-empty" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="m18.333 7.7-5.991-.517L10 1.667 7.658 7.192 1.666 7.7l4.55 3.942L4.85 17.5 10 14.392l5.15 3.108-1.359-5.858L18.334 7.7ZM10 12.833l-3.133 1.892.833-3.567-2.767-2.4 3.65-.316L10 5.083l1.425 3.367 3.65.317-2.767 2.4.834 3.566-3.142-1.9Z"/></symbol><symbol id="star-half" viewBox="0 0 20 20"><g style="enable-background:new 0 0 20 20"><style>.st0{fill-rule:evenodd;clip-rule:evenodd}</style><path class="st0" d="m18.3 7.7-6-.5L10 1.7 7.7 7.2l-6 .5 4.5 3.9-1.4 5.9 5.1-3.1 5.1 3.1-1.4-5.9 4.7-3.9zM10 12.8l-3.1 1.9.8-3.6-2.8-2.3 3.7-.3L10 5.1l1.4 3.4 3.6.3-2.8 2.4.8 3.6-3-2z"/><path class="st0" d="M10 1.7 7.7 7.2l-6 .5 4.5 3.9-1.4 5.9 5.2-3.1z"/></g></symbol><symbol id="star" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="m10 14.392 5.15 3.108-1.367-5.858 4.55-3.942-5.991-.508L10 1.667 7.658 7.192 1.666 7.7l4.55 3.942L4.85 17.5 10 14.392Z"/></symbol><symbol id="upload" viewBox="0 0 21 20"><path fill-rule="evenodd" d="M5.825 6.67C3.422 6.762 1.5 8.72 1.5 11.119c0 2.457 2.016 4.45 4.498 4.45h1.196v-1.187H5.998c-1.82 0-3.297-1.462-3.297-3.263 0-1.8 1.477-3.263 3.297-3.263.286 0 .572.037.857.06.276-2.277 1.645-4.227 4.24-4.227 2.32 0 4.203 1.863 4.203 4.158 0 .614.03.6 0 1.36.428 0 3.001.39 3.001 2.799 0 1.311-1.075 2.376-2.4 2.376h-1.802v1.188h1.801c1.988 0 3.602-1.598 3.602-3.564 0-1.778-1.318-3.254-3.04-3.521.025-.21.038-.422.038-.638 0-2.95-2.42-5.346-5.402-5.346-2.574 0-4.73 1.785-5.271 4.17Z" clip-rule="evenodd"/><path d="m7.78 12.622-.845-.809 3.574-3.398 3.556 3.4-.848.807-2.105-2.013-.006 7.09H9.893l.007-7.094-2.12 2.017Z"/><path fill-rule="evenodd" d="M5.705 6.527c.598-2.398 2.786-4.177 5.39-4.177 3.064 0 5.553 2.462 5.553 5.496 0 .174-.008.345-.024.514 1.723.335 3.026 1.84 3.026 3.645 0 2.05-1.683 3.714-3.752 3.714h-1.95V14.23h1.95c1.244 0 2.251-.999 2.251-2.226 0-1.138-.602-1.794-1.264-2.173-.671-.383-1.395-.476-1.587-.476h-.156l.006-.156c.019-.476.014-.64.008-.85a15.228 15.228 0 0 1-.008-.504c0-2.21-1.815-4.008-4.052-4.008-1.257 0-2.207.47-2.88 1.21-.675.744-1.077 1.77-1.212 2.885l-.018.144-.144-.012-.226-.02a6.558 6.558 0 0 0-.618-.04c-1.739 0-3.147 1.397-3.147 3.113 0 1.717 1.408 3.113 3.147 3.113h1.346v1.488H5.998c-2.564 0-4.648-2.06-4.648-4.6 0-2.444 1.927-4.442 4.355-4.592Zm5.39-3.877c-2.503 0-4.598 1.736-5.124 4.054l-.026.112-.115.005c-2.323.087-4.18 1.98-4.18 4.297 0 2.372 1.947 4.3 4.348 4.3h1.046v-.887H5.998c-1.901 0-3.447-1.528-3.447-3.413 0-1.885 1.546-3.413 3.447-3.413a7.03 7.03 0 0 1 .727.048c.157-1.107.572-2.139 1.27-2.906.73-.804 1.761-1.309 3.1-1.309 2.401 0 4.353 1.93 4.353 4.308 0 .219.004.358.007.484.006.196.01.36-.002.735.332.033.975.16 1.58.507.732.418 1.416 1.162 1.416 2.433 0 1.396-1.144 2.526-2.55 2.526h-1.652v.888h1.651c1.906 0 3.452-1.532 3.452-3.414 0-1.702-1.262-3.117-2.913-3.373l-.143-.022.017-.144c.025-.203.038-.41.038-.62 0-2.866-2.353-5.196-5.253-5.196Zm-.586 5.557 3.774 3.609-1.066 1.013-1.955-1.869-.006 6.89-1.513-.002.007-6.893-1.97 1.874-1.063-1.016 3.792-3.606Zm-3.357 3.607.629.6 2.27-2.159-.008 7.294h.913l.007-7.29 2.255 2.156.63-.6-3.34-3.193-3.356 3.192Z" clip-rule="evenodd"/></symbol></svg>';
|
|
6611
|
-
const defaultHtml$
|
|
6611
|
+
const defaultHtml$A = '{{html svg}}\n<svg height="{{height}}" width="{{width}}" focusable="false" aria-hidden="true" class="icon">\n <use href="{{url}}"></use>\n</svg>';
|
|
6612
6612
|
class IconComponent extends BaseComponent {
|
|
6613
6613
|
constructor() {
|
|
6614
6614
|
super(...arguments);
|
|
6615
6615
|
this.componentName = "icon";
|
|
6616
|
-
this.defaultHtml = defaultHtml$
|
|
6616
|
+
this.defaultHtml = defaultHtml$A;
|
|
6617
6617
|
this.bindFromEvent = false;
|
|
6618
6618
|
}
|
|
6619
6619
|
get name() {
|
|
@@ -6645,12 +6645,12 @@ class IconComponent extends BaseComponent {
|
|
|
6645
6645
|
};
|
|
6646
6646
|
}
|
|
6647
6647
|
}
|
|
6648
|
-
const defaultHtml$
|
|
6648
|
+
const defaultHtml$z = '<div class="range-slider">\n <div class="range-slider__container">\n <div class="range-slider__bar">\n <div class="range-slider__bar__active" hawksearch-bar style="left: {{start}}%; right: {{subtract 100 end}}%;"></div>\n </div>\n <span class="range-slider__handle range-slider__handle--start" title="{{strings.start}}" hawksearch-handle="start" style="left: {{start}}%;"></span>\n <span class="range-slider__handle range-slider__handle--end" title="{{strings.end}}" hawksearch-handle="end" style="left: {{end}}%;"></span>\n </div>\n</div>';
|
|
6649
6649
|
class RangeSliderComponent extends BaseComponent {
|
|
6650
6650
|
constructor() {
|
|
6651
6651
|
super(...arguments);
|
|
6652
6652
|
this.componentName = "range-slider";
|
|
6653
|
-
this.defaultHtml = defaultHtml$
|
|
6653
|
+
this.defaultHtml = defaultHtml$z;
|
|
6654
6654
|
this.bindFromEvent = false;
|
|
6655
6655
|
this.dragging = false;
|
|
6656
6656
|
this.start = 0;
|
|
@@ -6795,12 +6795,12 @@ class RangeSliderComponent extends BaseComponent {
|
|
|
6795
6795
|
this.dispatchEvent(newEvent);
|
|
6796
6796
|
}
|
|
6797
6797
|
}
|
|
6798
|
-
const defaultHtml$
|
|
6798
|
+
const defaultHtml$y = '<div class="rating" title="{{rating}}">\n <hawksearch-icon name="{{ratingIcon rating 0}}" class="rating__icon"></hawksearch-icon>\n <hawksearch-icon name="{{ratingIcon rating 1}}" class="rating__icon"></hawksearch-icon>\n <hawksearch-icon name="{{ratingIcon rating 2}}" class="rating__icon"></hawksearch-icon>\n <hawksearch-icon name="{{ratingIcon rating 3}}" class="rating__icon"></hawksearch-icon>\n <hawksearch-icon name="{{ratingIcon rating 4}}" class="rating__icon"></hawksearch-icon>\n</div>';
|
|
6799
6799
|
class RatingComponent extends BaseComponent {
|
|
6800
6800
|
constructor() {
|
|
6801
6801
|
super(...arguments);
|
|
6802
6802
|
this.componentName = "rating";
|
|
6803
|
-
this.defaultHtml = defaultHtml$
|
|
6803
|
+
this.defaultHtml = defaultHtml$y;
|
|
6804
6804
|
this.bindFromEvent = false;
|
|
6805
6805
|
}
|
|
6806
6806
|
registerHelpers() {
|
|
@@ -6850,12 +6850,12 @@ class RatingComponent extends BaseComponent {
|
|
|
6850
6850
|
});
|
|
6851
6851
|
}
|
|
6852
6852
|
}
|
|
6853
|
-
const defaultHtml$
|
|
6853
|
+
const defaultHtml$x = '<span class="tooltip" hawksearch-tooltip>\n <span class="tooltip__icon">\n <hawksearch-icon name="help" class="facet__heading__tooltip"></hawksearch-icon>\n </span>\n <span class="tooltip__content" hawksearch-tooltip-content>{{text}}</span>\n</span>';
|
|
6854
6854
|
class TooltipComponent extends BaseComponent {
|
|
6855
6855
|
constructor() {
|
|
6856
6856
|
super(...arguments);
|
|
6857
6857
|
this.componentName = "tooltip";
|
|
6858
|
-
this.defaultHtml = defaultHtml$
|
|
6858
|
+
this.defaultHtml = defaultHtml$x;
|
|
6859
6859
|
this.bindFromEvent = false;
|
|
6860
6860
|
}
|
|
6861
6861
|
get text() {
|
|
@@ -6926,12 +6926,12 @@ var SearchType = /* @__PURE__ */ ((SearchType2) => {
|
|
|
6926
6926
|
SearchType2[SearchType2["Refinement"] = 2] = "Refinement";
|
|
6927
6927
|
return SearchType2;
|
|
6928
6928
|
})(SearchType || {});
|
|
6929
|
-
const defaultHtml$
|
|
6929
|
+
const defaultHtml$w = '{{#if customLayout}}\n {{html customLayout}}\n{{else}}\n <hawksearch-search-results mode="landing-page" url="{{url}}"></hawksearch-search-results>\n{{/if}}';
|
|
6930
6930
|
class LandingPageComponent extends BaseComponent {
|
|
6931
6931
|
constructor() {
|
|
6932
6932
|
super();
|
|
6933
6933
|
this.componentName = "landing-page";
|
|
6934
|
-
this.defaultHtml = defaultHtml$
|
|
6934
|
+
this.defaultHtml = defaultHtml$w;
|
|
6935
6935
|
this.bindFromEvent = true;
|
|
6936
6936
|
HawkSearch.services.tracking.trackPageLoad(PageType.Landing);
|
|
6937
6937
|
const searchRequest = HawkSearch.services.search.getRequestFromUrl();
|
|
@@ -6966,7 +6966,7 @@ class LandingPageComponent extends BaseComponent {
|
|
|
6966
6966
|
return output;
|
|
6967
6967
|
}
|
|
6968
6968
|
}
|
|
6969
|
-
const defaultHtml$
|
|
6969
|
+
const defaultHtml$v = `<div class="recommendations">
|
|
6970
6970
|
{{#if headingEnabled}}
|
|
6971
6971
|
<h2 class="heading recommendations__heading">{{title}}</h2>
|
|
6972
6972
|
{{/if}}
|
|
@@ -7011,7 +7011,7 @@ class RecommendationsComponent extends BaseComponent {
|
|
|
7011
7011
|
constructor() {
|
|
7012
7012
|
super();
|
|
7013
7013
|
this.componentName = "recommendations";
|
|
7014
|
-
this.defaultHtml = defaultHtml$
|
|
7014
|
+
this.defaultHtml = defaultHtml$v;
|
|
7015
7015
|
this.bindFromEvent = true;
|
|
7016
7016
|
this.selectedIndex = 0;
|
|
7017
7017
|
}
|
|
@@ -7242,12 +7242,12 @@ class RecommendationsComponent extends BaseComponent {
|
|
|
7242
7242
|
this.dragOrigin = void 0;
|
|
7243
7243
|
}
|
|
7244
7244
|
}
|
|
7245
|
-
const defaultHtml$
|
|
7245
|
+
const defaultHtml$u = '<div class="recommendations__item">\n {{#if pinned}}\n <span class="recommendations__item__pin">\n <hawksearch-icon name="star"></hawksearch-icon>\n </span>\n {{/if}}\n {{#if (lt salePrice price)}}\n <span class="recommendations__item__sale-indicator">{{strings.sale}}</span>\n {{/if}}\n <a hawksearch-link href="{{url}}" class="recommendations__item__image" aria-label="{{title}}">\n <img hawksearch-image src="{{imageUrl}}" alt="" />\n </a>\n <div class="recommendations__item__title">\n <a hawksearch-link href="{{url}}">{{title}}</a>\n </div>\n {{#if rating}}\n <hawksearch-rating rating="{{rating}}"></hawksearch-rating>\n {{/if}}\n {{#unless (eq price undefined)}}\n <div class="recommendations__item__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope>\n {{#if (lt salePrice price)}}\n <span class="recommendations__item__price__original">{{currency price}}</span>\n <span class="recommendations__item__price__current" itemprop="price">{{currency salePrice}}</span>\n {{else}}\n <span class="recommendations__item__price-__current" itemprop="price">{{currency price}}</span>\n {{/if}}\n </div>\n {{/unless}}\n <hawksearch-variant-selector></hawksearch-variant-selector>\n</div>';
|
|
7246
7246
|
class RecommendationsItemComponent extends BaseComponent {
|
|
7247
7247
|
constructor() {
|
|
7248
7248
|
super(...arguments);
|
|
7249
7249
|
this.componentName = "recommendations-item";
|
|
7250
|
-
this.defaultHtml = defaultHtml$
|
|
7250
|
+
this.defaultHtml = defaultHtml$u;
|
|
7251
7251
|
this.bindFromEvent = false;
|
|
7252
7252
|
}
|
|
7253
7253
|
get widgetId() {
|
|
@@ -7312,13 +7312,13 @@ class RecommendationsItemComponent extends BaseComponent {
|
|
|
7312
7312
|
});
|
|
7313
7313
|
}
|
|
7314
7314
|
}
|
|
7315
|
-
const defaultHtml$
|
|
7315
|
+
const defaultHtml$t = '<div class="autocomplete">\n <div class="row">\n {{#if products.results.length}}\n <div class="column column--12 column-md--8">\n <span class="autocomplete__title autocomplete__title--products">{{products.title}}</span>\n <div class="row autocomplete__products">\n {{#each products.results}}\n <div class="column column--12 column-sm--4">\n <div class="autocomplete__product">\n <a hawksearch-product="{{id}}" href="{{url}}" class="autocomplete__product__image">\n <img hawksearch-image src="{{imageUrl}}" alt="" />\n </a>\n <span class="autocomplete__product__title">\n <a hawksearch-product="{{id}}" href="{{url}}">{{html title}}</a>\n </span>\n {{#if rating}}\n <hawksearch-rating rating="{{rating}}"></hawksearch-rating>\n {{/if}}\n {{#unless (eq price undefined)}}\n <div class="autocomplete__product__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope>\n {{#if (lt salePrice price)}}\n <span class="autocomplete__product__price__original">{{currency price}}</span>\n <span class="autocomplete__product__price__current" itemprop="price">{{currency salePrice}}</span>\n {{else}}\n <span class="autocomplete__product__price-__current" itemprop="price">{{currency price}}</span>\n {{/if}}\n </div>\n {{/unless}}\n <hawksearch-variant-selector></hawksearch-variant-selector>\n </div>\n </div>\n {{/each}}\n </div>\n </div>\n {{/if}}\n {{#if (or categories.results.length content.results.length queries.results.length)}}\n <div class="column column--12 column-md--4">\n {{#if productSuggestedQueries.results.length}}\n <span class="autocomplete__title autocomplete__title--queries">{{productSuggestedQueries.title}}</span>\n <ul class="autocomplete__list">\n {{#each productSuggestedQueries.results}}\n <li>\n <a hawksearch-query="{{query}}" href="{{url}}">{{query}}</a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n {{#if contentSuggestedQueries.results.length}}\n <span class="autocomplete__title autocomplete__title--queries">{{contentSuggestedQueries.title}}</span>\n <ul class="autocomplete__list">\n {{#each contentSuggestedQueries.results}}\n <li>\n <a hawksearch-query="{{query}}" href="{{url}}">{{query}}</a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n {{#if categories.results.length}}\n <span class="autocomplete__title autocomplete__title--categories">{{categories.title}}</span>\n <ul class="autocomplete__list">\n {{#each categories.results}}\n <li>\n <a hawksearch-category-field="{{field}}" hawksearch-category-value="{{value}}" href="{{url}}">{{html title}}</a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n {{#if content.results.length}}\n <span class="autocomplete__title autocomplete__title--content">{{content.title}}</span>\n <ul class="autocomplete__list">\n {{#each content.results}}\n <li>\n <a hawksearch-content="{{id}}" href="{{url}}">{{html title}}</a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n {{#if queries.results.length}}\n <span class="autocomplete__title autocomplete__title--queries">{{queries.title}}</span>\n <ul class="autocomplete__list">\n {{#each queries.results}}\n <li>\n <a hawksearch-query="{{query}}" href="{{url}}">{{query}}</a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n </div>\n {{/if}}\n </div>\n <div class="autocomplete__view-all">\n <a hawksearch-view-all>{{viewAllText}}</a>\n </div>\n</div>';
|
|
7316
7316
|
class AutocompleteComponent extends BaseComponent {
|
|
7317
7317
|
constructor() {
|
|
7318
7318
|
super(...arguments);
|
|
7319
7319
|
this.bindFromEvent = true;
|
|
7320
7320
|
this.componentName = "autocomplete";
|
|
7321
|
-
this.defaultHtml = defaultHtml$
|
|
7321
|
+
this.defaultHtml = defaultHtml$t;
|
|
7322
7322
|
}
|
|
7323
7323
|
renderContent() {
|
|
7324
7324
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -7656,7 +7656,7 @@ function decodeNested(value) {
|
|
|
7656
7656
|
function escapeRegExp(value) {
|
|
7657
7657
|
return escapeRegExp$1(value);
|
|
7658
7658
|
}
|
|
7659
|
-
const defaultHtml$
|
|
7659
|
+
const defaultHtml$s = `<div class="checkbox-list-facet" {{attribute (concat 'style="max-height: ' maxHeight 'px;"') maxHeight}}>
|
|
7660
7660
|
{{> facet-checkbox-list values}}
|
|
7661
7661
|
{{#if showToggle}}
|
|
7662
7662
|
<span hawksearch-facet-toggle class="link facet__toggle">{{strings.toggle}}</span>
|
|
@@ -7717,7 +7717,7 @@ class CheckboxListFacetComponent extends BaseFacetComponent {
|
|
|
7717
7717
|
constructor() {
|
|
7718
7718
|
super(...arguments);
|
|
7719
7719
|
this.componentName = "checkbox-list-facet";
|
|
7720
|
-
this.defaultHtml = defaultHtml$
|
|
7720
|
+
this.defaultHtml = defaultHtml$s;
|
|
7721
7721
|
}
|
|
7722
7722
|
registerHelpers() {
|
|
7723
7723
|
super.registerHelpers();
|
|
@@ -7771,7 +7771,7 @@ class CheckboxListFacetComponent extends BaseFacetComponent {
|
|
|
7771
7771
|
};
|
|
7772
7772
|
}
|
|
7773
7773
|
}
|
|
7774
|
-
const defaultHtml$
|
|
7774
|
+
const defaultHtml$r = `<div class="color-facet">
|
|
7775
7775
|
<div class="row row--tight color-facet__items">
|
|
7776
7776
|
{{#each values}}
|
|
7777
7777
|
{{#if visible}}
|
|
@@ -7806,7 +7806,7 @@ class ColorFacetComponent extends BaseFacetComponent {
|
|
|
7806
7806
|
constructor() {
|
|
7807
7807
|
super(...arguments);
|
|
7808
7808
|
this.componentName = "color-facet";
|
|
7809
|
-
this.defaultHtml = defaultHtml$
|
|
7809
|
+
this.defaultHtml = defaultHtml$r;
|
|
7810
7810
|
}
|
|
7811
7811
|
renderContent() {
|
|
7812
7812
|
return !!this.data;
|
|
@@ -7832,12 +7832,12 @@ class ColorFacetComponent extends BaseFacetComponent {
|
|
|
7832
7832
|
};
|
|
7833
7833
|
}
|
|
7834
7834
|
}
|
|
7835
|
-
const defaultHtml$
|
|
7835
|
+
const defaultHtml$q = '<div class="date-range-facet">\n <div class="row">\n <div class="column column--6">\n <hawksearch-date-picker\n hawksearch-start\n value="{{startValue}}"\n min="{{minValue}}"\n max="{{endValue}}"\n label="{{strings.startDate}}"\n ></hawksearch-date-picker>\n </div>\n <div class="column column--6">\n <hawksearch-date-picker\n hawksearch-end\n value="{{endValue}}"\n min="{{startValue}}"\n max="{{maxValue}}"\n label="{{strings.endDate}}"\n ></hawksearch-date-picker>\n </div>\n </div>\n</div>';
|
|
7836
7836
|
class DateRangeFacetComponent extends BaseFacetComponent {
|
|
7837
7837
|
constructor() {
|
|
7838
7838
|
super(...arguments);
|
|
7839
7839
|
this.componentName = "date-range-facet";
|
|
7840
|
-
this.defaultHtml = defaultHtml$
|
|
7840
|
+
this.defaultHtml = defaultHtml$q;
|
|
7841
7841
|
}
|
|
7842
7842
|
get range() {
|
|
7843
7843
|
var _a, _b;
|
|
@@ -7914,7 +7914,7 @@ class DateRangeFacetComponent extends BaseFacetComponent {
|
|
|
7914
7914
|
HawkSearch.services.search.setFacetValue(this.data.field, `${(start == null ? void 0 : start.toISOString()) ?? ""},${(end == null ? void 0 : end.toISOString()) ?? ""}`);
|
|
7915
7915
|
}
|
|
7916
7916
|
}
|
|
7917
|
-
const defaultHtml$
|
|
7917
|
+
const defaultHtml$p = `<div class="link-list-facet" {{attribute (concat 'style="max-height: ' maxHeight 'px;"') maxHeight}}>
|
|
7918
7918
|
<ul class="link-list-facet__list">
|
|
7919
7919
|
{{#each values}}
|
|
7920
7920
|
{{#if visible}}
|
|
@@ -7941,7 +7941,7 @@ class LinkListFacetComponent extends BaseFacetComponent {
|
|
|
7941
7941
|
constructor() {
|
|
7942
7942
|
super(...arguments);
|
|
7943
7943
|
this.componentName = "link-list-facet";
|
|
7944
|
-
this.defaultHtml = defaultHtml$
|
|
7944
|
+
this.defaultHtml = defaultHtml$p;
|
|
7945
7945
|
}
|
|
7946
7946
|
renderContent() {
|
|
7947
7947
|
return !!this.data;
|
|
@@ -7966,12 +7966,12 @@ class LinkListFacetComponent extends BaseFacetComponent {
|
|
|
7966
7966
|
};
|
|
7967
7967
|
}
|
|
7968
7968
|
}
|
|
7969
|
-
const defaultHtml$
|
|
7969
|
+
const defaultHtml$o = '<div class="numeric-range-facet">\n <div class="row">\n <div class="column column--6">\n <input type="number" hawksearch-start value="{{start}}" min="{{min}}" max="{{end}}" aria-label="{{strings.minimum}}" />\n </div>\n <div class="column column--6">\n <input type="number" hawksearch-end value="{{end}}" min="{{start}}" max="{{max}}" aria-label="{{strings.maximum}}" />\n </div>\n </div>\n</div>';
|
|
7970
7970
|
class NumericRangeFacetComponent extends BaseFacetComponent {
|
|
7971
7971
|
constructor() {
|
|
7972
7972
|
super(...arguments);
|
|
7973
7973
|
this.componentName = "numeric-range-facet";
|
|
7974
|
-
this.defaultHtml = defaultHtml$
|
|
7974
|
+
this.defaultHtml = defaultHtml$o;
|
|
7975
7975
|
}
|
|
7976
7976
|
get range() {
|
|
7977
7977
|
var _a, _b;
|
|
@@ -8035,12 +8035,12 @@ class NumericRangeFacetComponent extends BaseFacetComponent {
|
|
|
8035
8035
|
HawkSearch.services.search.setFacetValue(this.data.field, `${start},${end}`);
|
|
8036
8036
|
}
|
|
8037
8037
|
}
|
|
8038
|
-
const defaultHtml$
|
|
8038
|
+
const defaultHtml$n = '<div class="range-slider-facet">\n <div class="row">\n <div class="column column--6">\n <input type="number" hawksearch-start value="{{start}}" min="{{min}}" max="{{end}}" aria-label="{{strings.minimum}}" />\n </div>\n <div class="column column--6">\n <input type="number" hawksearch-end value="{{end}}" min="{{start}}" max="{{max}}" aria-label="{{strings.maximum}}" />\n </div>\n </div>\n <hawksearch-range-slider start="{{sliderStart}}" end="{{sliderEnd}}"></hawksearch-range-slider>\n</div>';
|
|
8039
8039
|
class RangeSliderFacetComponent extends BaseFacetComponent {
|
|
8040
8040
|
constructor() {
|
|
8041
8041
|
super(...arguments);
|
|
8042
8042
|
this.componentName = "range-slider-facet";
|
|
8043
|
-
this.defaultHtml = defaultHtml$
|
|
8043
|
+
this.defaultHtml = defaultHtml$n;
|
|
8044
8044
|
}
|
|
8045
8045
|
get range() {
|
|
8046
8046
|
var _a, _b;
|
|
@@ -8129,12 +8129,12 @@ class RangeSliderFacetComponent extends BaseFacetComponent {
|
|
|
8129
8129
|
HawkSearch.services.search.setFacetValue(this.data.field, `${start.toFixed(2)},${end.toFixed(2)}`);
|
|
8130
8130
|
}
|
|
8131
8131
|
}
|
|
8132
|
-
const defaultHtml$
|
|
8132
|
+
const defaultHtml$m = '<div class="recent-searches-facet">\n <ul class="recent-searches-facet__list">\n {{#each values}}\n <li class="recent-searches-facet__list__item">\n <a hawksearch-query="{{this}}" class="facet__value">{{this}}</a>\n </li>\n {{/each}}\n </ul>\n</div>';
|
|
8133
8133
|
class RecentSearchesFacetComponent extends BaseFacetComponent {
|
|
8134
8134
|
constructor() {
|
|
8135
8135
|
super(...arguments);
|
|
8136
8136
|
this.componentName = "recent-searches-facet";
|
|
8137
|
-
this.defaultHtml = defaultHtml$
|
|
8137
|
+
this.defaultHtml = defaultHtml$m;
|
|
8138
8138
|
}
|
|
8139
8139
|
renderContent() {
|
|
8140
8140
|
var _a, _b;
|
|
@@ -8160,12 +8160,12 @@ class RecentSearchesFacetComponent extends BaseFacetComponent {
|
|
|
8160
8160
|
});
|
|
8161
8161
|
}
|
|
8162
8162
|
}
|
|
8163
|
-
const defaultHtml$
|
|
8163
|
+
const defaultHtml$l = '<div class="related-searches-facet">\n <ul class="related-searches-facet__list">\n {{#each values}}\n <li class="related-searches-facet__list__item">\n <a hawksearch-query="{{this}}" class="facet__value">{{this}}</a>\n </li>\n {{/each}}\n </ul>\n</div>';
|
|
8164
8164
|
class RelatedSearchesFacetComponent extends BaseFacetComponent {
|
|
8165
8165
|
constructor() {
|
|
8166
8166
|
super(...arguments);
|
|
8167
8167
|
this.componentName = "related-searches-facet";
|
|
8168
|
-
this.defaultHtml = defaultHtml$
|
|
8168
|
+
this.defaultHtml = defaultHtml$l;
|
|
8169
8169
|
}
|
|
8170
8170
|
renderContent() {
|
|
8171
8171
|
var _a, _b;
|
|
@@ -8191,12 +8191,12 @@ class RelatedSearchesFacetComponent extends BaseFacetComponent {
|
|
|
8191
8191
|
});
|
|
8192
8192
|
}
|
|
8193
8193
|
}
|
|
8194
|
-
const defaultHtml$
|
|
8194
|
+
const defaultHtml$k = '<div class="search-within-facet">\n <input type="text" hawksearch-input value="{{value}}" class="search-within-facet__input" aria-label="{{strings.label}}" />\n</div>';
|
|
8195
8195
|
class SearchWithinFacetComponent extends BaseFacetComponent {
|
|
8196
8196
|
constructor() {
|
|
8197
8197
|
super(...arguments);
|
|
8198
8198
|
this.componentName = "search-within-facet";
|
|
8199
|
-
this.defaultHtml = defaultHtml$
|
|
8199
|
+
this.defaultHtml = defaultHtml$k;
|
|
8200
8200
|
}
|
|
8201
8201
|
renderContent() {
|
|
8202
8202
|
return !!this.data;
|
|
@@ -8222,7 +8222,7 @@ class SearchWithinFacetComponent extends BaseFacetComponent {
|
|
|
8222
8222
|
});
|
|
8223
8223
|
}
|
|
8224
8224
|
}
|
|
8225
|
-
const defaultHtml$
|
|
8225
|
+
const defaultHtml$j = `<div class="size-facet">
|
|
8226
8226
|
<div class="row row--tight size-facet__items">
|
|
8227
8227
|
{{#each values}}
|
|
8228
8228
|
{{#if visible}}
|
|
@@ -8257,7 +8257,7 @@ class SizeFacetComponent extends BaseFacetComponent {
|
|
|
8257
8257
|
constructor() {
|
|
8258
8258
|
super(...arguments);
|
|
8259
8259
|
this.componentName = "size-facet";
|
|
8260
|
-
this.defaultHtml = defaultHtml$
|
|
8260
|
+
this.defaultHtml = defaultHtml$j;
|
|
8261
8261
|
}
|
|
8262
8262
|
renderContent() {
|
|
8263
8263
|
return !!this.data;
|
|
@@ -8283,7 +8283,7 @@ class SizeFacetComponent extends BaseFacetComponent {
|
|
|
8283
8283
|
};
|
|
8284
8284
|
}
|
|
8285
8285
|
}
|
|
8286
|
-
const defaultHtml$
|
|
8286
|
+
const defaultHtml$i = `<div class="facet">
|
|
8287
8287
|
<div hawksearch-facet-heading class="facet__heading{{attribute ' facet__heading--collapsible' collapsible}}">
|
|
8288
8288
|
{{title}}
|
|
8289
8289
|
{{#if tooltip}}
|
|
@@ -8335,7 +8335,7 @@ class FacetWrapperComponent extends BaseComponent {
|
|
|
8335
8335
|
constructor() {
|
|
8336
8336
|
super(...arguments);
|
|
8337
8337
|
this.componentName = "facet-wrapper";
|
|
8338
|
-
this.defaultHtml = defaultHtml$
|
|
8338
|
+
this.defaultHtml = defaultHtml$i;
|
|
8339
8339
|
this.bindFromEvent = false;
|
|
8340
8340
|
}
|
|
8341
8341
|
renderContent() {
|
|
@@ -8386,7 +8386,7 @@ class FacetWrapperComponent extends BaseComponent {
|
|
|
8386
8386
|
});
|
|
8387
8387
|
}
|
|
8388
8388
|
}
|
|
8389
|
-
const defaultHtml$
|
|
8389
|
+
const defaultHtml$h = `<div class="facets{{attribute ' facets--expanded' expanded}}">
|
|
8390
8390
|
<div hawksearch-mobile-toggle class="facets__heading">
|
|
8391
8391
|
{{strings.heading}}
|
|
8392
8392
|
<hawksearch-icon name="{{if-else expanded 'chevron-down' 'chevron-right'}}" size="1.5rem" class="facets__heading__mobile-toggle"></hawksearch-icon>
|
|
@@ -8401,7 +8401,7 @@ class FacetsListComponent extends BaseComponent {
|
|
|
8401
8401
|
constructor() {
|
|
8402
8402
|
super(...arguments);
|
|
8403
8403
|
this.componentName = "facets-list";
|
|
8404
|
-
this.defaultHtml = defaultHtml$
|
|
8404
|
+
this.defaultHtml = defaultHtml$h;
|
|
8405
8405
|
this.bindFromEvent = true;
|
|
8406
8406
|
this.state = {
|
|
8407
8407
|
expanded: false
|
|
@@ -8484,12 +8484,12 @@ class FacetsListComponent extends BaseComponent {
|
|
|
8484
8484
|
});
|
|
8485
8485
|
}
|
|
8486
8486
|
}
|
|
8487
|
-
const defaultHtml$
|
|
8487
|
+
const defaultHtml$g = '<div class="modified-query">\n <p>\n {{strings.showingResultsFor}}\n <span class="modified-query__modified">{{modifiedQuery}}</span>.\n {{strings.searchInsteadFor}}\n <a class="modified-query__original" hawksearch-query="{{query}}">{{query}}</a>.\n </p>\n</div>';
|
|
8488
8488
|
class ModifiedQueryComponent extends BaseComponent {
|
|
8489
8489
|
constructor() {
|
|
8490
8490
|
super(...arguments);
|
|
8491
8491
|
this.componentName = "modified-query";
|
|
8492
|
-
this.defaultHtml = defaultHtml$
|
|
8492
|
+
this.defaultHtml = defaultHtml$g;
|
|
8493
8493
|
this.bindFromEvent = true;
|
|
8494
8494
|
}
|
|
8495
8495
|
renderContent() {
|
|
@@ -8521,12 +8521,12 @@ class ModifiedQueryComponent extends BaseComponent {
|
|
|
8521
8521
|
});
|
|
8522
8522
|
}
|
|
8523
8523
|
}
|
|
8524
|
-
const defaultHtml$
|
|
8524
|
+
const defaultHtml$f = '<div class="page-size">\n <select hawksearch-page-size>\n {{#each options}}\n {{#if selected}}\n <option value="{{pageSize}}" selected>{{title}}</option>\n {{else}}\n <option value="{{pageSize}}">{{title}}</option>\n {{/if}}\n {{/each}}\n </select>\n</div>';
|
|
8525
8525
|
class PageSizeComponent extends BaseComponent {
|
|
8526
8526
|
constructor() {
|
|
8527
8527
|
super(...arguments);
|
|
8528
8528
|
this.componentName = "page-size";
|
|
8529
|
-
this.defaultHtml = defaultHtml$
|
|
8529
|
+
this.defaultHtml = defaultHtml$f;
|
|
8530
8530
|
this.bindFromEvent = true;
|
|
8531
8531
|
}
|
|
8532
8532
|
renderContent() {
|
|
@@ -8550,12 +8550,12 @@ class PageSizeComponent extends BaseComponent {
|
|
|
8550
8550
|
});
|
|
8551
8551
|
}
|
|
8552
8552
|
}
|
|
8553
|
-
const defaultHtml$
|
|
8553
|
+
const defaultHtml$e = '<div class="pagination">\n {{#if strings.summary}}\n <div class="pagination__summary">{{strings.summary}}</div>\n {{/if}}\n <div class="pagination__pages">\n {{#if displayFirstLink}}\n <span hawksearch-page="1" class="link pagination__page pagination__page--first" title="{{strings.first}}">\n <hawksearch-icon name="chevron-back" size="1.2em"></hawksearch-icon>\n </span>\n {{/if}}\n {{#if displayPreviousLink}}\n <a\n hawksearch-page="{{subtract page 1}}"\n rel="prev"\n href="{{pageUrl (subtract page 1)}}"\n class="pagination__page pagination__page--previous"\n title="{{strings.previous}}"\n >\n <hawksearch-icon name="chevron-left" size="1.2em"></hawksearch-icon>\n </a>\n {{/if}}\n {{#each pages}}\n {{#if (eq this @root.page)}}\n <span class="pagination__page pagination__page--selected">{{this}}</span>\n {{else}}\n <a hawksearch-page="{{this}}" href="{{pageUrl this}}" class="pagination__page">{{this}}</a>\n {{/if}}\n {{/each}}\n {{#if displayNextLink}}\n <a\n hawksearch-page="{{add page 1}}"\n rel="next"\n href="{{pageUrl (add page 1)}}"\n class="pagination__page pagination__page--next"\n title="{{strings.next}}"\n >\n <hawksearch-icon name="chevron-right" size="1.2em"></hawksearch-icon>\n </a>\n {{/if}}\n {{#if displayLastLink}}\n <span hawksearch-page="{{totalPages}}" class="link pagination__page pagination__page--last" title="{{strings.last}}">\n <hawksearch-icon name="chevron-forward" size="1.2em"></hawksearch-icon>\n </span>\n {{/if}}\n </div>\n</div>';
|
|
8554
8554
|
class PaginationComponent extends BaseComponent {
|
|
8555
8555
|
constructor() {
|
|
8556
8556
|
super(...arguments);
|
|
8557
8557
|
this.componentName = "pagination";
|
|
8558
|
-
this.defaultHtml = defaultHtml$
|
|
8558
|
+
this.defaultHtml = defaultHtml$e;
|
|
8559
8559
|
this.bindFromEvent = true;
|
|
8560
8560
|
this.defaultMaxPageLinks = 9;
|
|
8561
8561
|
}
|
|
@@ -8645,12 +8645,12 @@ class PaginationComponent extends BaseComponent {
|
|
|
8645
8645
|
return pages;
|
|
8646
8646
|
}
|
|
8647
8647
|
}
|
|
8648
|
-
const defaultHtml$
|
|
8648
|
+
const defaultHtml$d = '<div class="query-suggestions">\n <p>{{query-suggestions querySuggestions}}</p>\n</div>';
|
|
8649
8649
|
class QuerySuggestionsComponent extends BaseComponent {
|
|
8650
8650
|
constructor() {
|
|
8651
8651
|
super(...arguments);
|
|
8652
8652
|
this.componentName = "query-suggestions";
|
|
8653
|
-
this.defaultHtml = defaultHtml$
|
|
8653
|
+
this.defaultHtml = defaultHtml$d;
|
|
8654
8654
|
this.bindFromEvent = true;
|
|
8655
8655
|
}
|
|
8656
8656
|
registerHelpers() {
|
|
@@ -8697,12 +8697,12 @@ class QuerySuggestionsComponent extends BaseComponent {
|
|
|
8697
8697
|
});
|
|
8698
8698
|
}
|
|
8699
8699
|
}
|
|
8700
|
-
const defaultHtml$
|
|
8700
|
+
const defaultHtml$c = '<div class="search-field">\n <input type="text" hawksearch-input value="{{query}}" placeholder="{{strings.placeholder}}" />\n <hawksearch-autocomplete></hawksearch-autocomplete>\n</div>';
|
|
8701
8701
|
class SearchFieldComponent extends BaseComponent {
|
|
8702
8702
|
constructor() {
|
|
8703
8703
|
super(...arguments);
|
|
8704
8704
|
this.componentName = "search-field";
|
|
8705
|
-
this.defaultHtml = defaultHtml$
|
|
8705
|
+
this.defaultHtml = defaultHtml$c;
|
|
8706
8706
|
this.bindFromEvent = true;
|
|
8707
8707
|
this.previousValue = "";
|
|
8708
8708
|
}
|
|
@@ -8810,12 +8810,12 @@ class SearchFieldComponent extends BaseComponent {
|
|
|
8810
8810
|
HawkSearch.services.autocomplete.bindComponent(this.defaultAutocompleteResponse);
|
|
8811
8811
|
}
|
|
8812
8812
|
}
|
|
8813
|
-
const defaultHtml$
|
|
8813
|
+
const defaultHtml$b = '<div class="search-field">\n <input type="text" hawksearch-input hawksearch-concept-search value="{{query}}" placeholder="{{strings.placeholder}}" />\n</div>';
|
|
8814
8814
|
class ConceptSearchFieldComponent extends BaseComponent {
|
|
8815
8815
|
constructor() {
|
|
8816
8816
|
super(...arguments);
|
|
8817
8817
|
this.componentName = "conceptsearch-field";
|
|
8818
|
-
this.defaultHtml = defaultHtml$
|
|
8818
|
+
this.defaultHtml = defaultHtml$b;
|
|
8819
8819
|
this.bindFromEvent = true;
|
|
8820
8820
|
this.previousValue = "";
|
|
8821
8821
|
}
|
|
@@ -8877,12 +8877,169 @@ class ConceptSearchFieldComponent extends BaseComponent {
|
|
|
8877
8877
|
HawkSearch.services.search.query({ queryString: query, requestType: "ConceptSearch" });
|
|
8878
8878
|
}
|
|
8879
8879
|
}
|
|
8880
|
-
const defaultHtml$
|
|
8880
|
+
const defaultHtml$a = '<div class="conversationalsearch">\n <div class="conversationalsearch__body">\n <ul class="conversationalsearch__message-list" hawksearch-message-list>\n {{#each messages}}\n {{#if (eq role "user")}}\n <li hawksearch-message-item class="conversationalsearch__message message--sent">\n <p>{{content}}</p>\n </li>\n {{else if (eq role "assistant")}}\n <li hawksearch-message-item class="conversationalsearch__message message--received">\n <span class="message__icon">\n <hawksearch-icon name="sparkles" size="16"></hawksearch-icon>\n </span>\n <p>{{content}}</p>\n </li>\n {{/if}}\n {{/each}}\n {{#if busy}}\n <li class="conversationalsearch__message message--received">\n <div class="spinner"></div>\n <p>...</p>\n </li>\n {{/if}}\n </ul>\n </div>\n <div class="conversationalsearch__footer">\n <textarea hawksearch-message-input rows="0" cols="17" placeholder="Enter a message..."></textarea>\n <button hawksearch-message-submit class="conversationalsearch__send-button" type="submit">\n <hawksearch-icon name="send" size="16"></hawksearch-icon>\n </button>\n <button hawksearch-message-reset class="conversationalsearch__reset-button" type="reset">\n <hawksearch-icon name="reset" size="16"></hawksearch-icon>\n </button>\n </div>\n</div>';
|
|
8881
|
+
class ConversationalSearchComponent extends BaseComponent {
|
|
8882
|
+
constructor() {
|
|
8883
|
+
super(...arguments);
|
|
8884
|
+
this.componentName = "conversationalsearch";
|
|
8885
|
+
this.defaultHtml = defaultHtml$a;
|
|
8886
|
+
this.bindFromEvent = true;
|
|
8887
|
+
this.firstMessage = true;
|
|
8888
|
+
this.busy = false;
|
|
8889
|
+
this.currentQuery = "";
|
|
8890
|
+
this.currentResponse = [];
|
|
8891
|
+
this.currentMessages = [];
|
|
8892
|
+
this.composeResponseObject = (items) => {
|
|
8893
|
+
return items.map((item) => item.description);
|
|
8894
|
+
};
|
|
8895
|
+
}
|
|
8896
|
+
get promptInstructions() {
|
|
8897
|
+
var _a, _b;
|
|
8898
|
+
return ((_b = (_a = this.configuration) == null ? void 0 : _a.prompt) == null ? void 0 : _b.instructions) || `
|
|
8899
|
+
You are a recommendation agent, specialized in finding the perfect match for a user.
|
|
8900
|
+
Answer the question from the user extensivelly.
|
|
8901
|
+
You will be provided with an array of products as DATA.
|
|
8902
|
+
Create 2 suggested questions that a user could ask about this data that follows.
|
|
8903
|
+
Use new lines to seperate them. Make them short.
|
|
8904
|
+
Say something like 'Try one of these suggested questions:' followed by the questions you generate.
|
|
8905
|
+
Only use the information passed to you as DATA to answer the questions asked.
|
|
8906
|
+
Do not provide any information not passed in as DATA.
|
|
8907
|
+
`;
|
|
8908
|
+
}
|
|
8909
|
+
connectedCallback() {
|
|
8910
|
+
super.connectedCallback();
|
|
8911
|
+
this.afterSearchExecutedEventHandler = (event) => {
|
|
8912
|
+
var _a, _b, _c;
|
|
8913
|
+
if (((_a = HawkSearch.searchResponse) == null ? void 0 : _a.results) && ((_b = HawkSearch.searchResponse) == null ? void 0 : _b.results.length) > 0) {
|
|
8914
|
+
this.currentResponse = this.composeResponseObject((_c = HawkSearch.searchResponse) == null ? void 0 : _c.results);
|
|
8915
|
+
}
|
|
8916
|
+
};
|
|
8917
|
+
window.addEventListener("hawksearch:after-search-executed", this.afterSearchExecutedEventHandler);
|
|
8918
|
+
}
|
|
8919
|
+
disconnectedCallback() {
|
|
8920
|
+
super.disconnectedCallback();
|
|
8921
|
+
window.removeEventListener("hawksearch:after-search-executed", this.afterSearchExecutedEventHandler);
|
|
8922
|
+
}
|
|
8923
|
+
getContentModel() {
|
|
8924
|
+
var _a, _b, _c;
|
|
8925
|
+
return {
|
|
8926
|
+
query: (_a = this.data) == null ? void 0 : _a.query,
|
|
8927
|
+
strings: {
|
|
8928
|
+
placeholder: ((_c = (_b = this.configuration) == null ? void 0 : _b.strings) == null ? void 0 : _c.placeholder) ?? "Enter a message..."
|
|
8929
|
+
},
|
|
8930
|
+
busy: this.busy || false,
|
|
8931
|
+
messages: this.currentMessages || []
|
|
8932
|
+
};
|
|
8933
|
+
}
|
|
8934
|
+
onRender() {
|
|
8935
|
+
super.onRender();
|
|
8936
|
+
const enterKeys = ["Enter", "NumpadEnter"];
|
|
8937
|
+
this.currentQuery = "";
|
|
8938
|
+
this.rootElement.querySelectorAll('[hawksearch-message-reset][type="reset"]').forEach((e) => {
|
|
8939
|
+
e.addEventListener("click", (event) => {
|
|
8940
|
+
if (this.currentMessages.length === 0) {
|
|
8941
|
+
return;
|
|
8942
|
+
}
|
|
8943
|
+
this.resetConversation();
|
|
8944
|
+
});
|
|
8945
|
+
});
|
|
8946
|
+
this.rootElement.querySelectorAll('[hawksearch-message-submit][type="submit"]').forEach((e) => {
|
|
8947
|
+
e.addEventListener("click", (event) => {
|
|
8948
|
+
if (!this.currentQuery || this.currentQuery.length < 2) {
|
|
8949
|
+
return;
|
|
8950
|
+
}
|
|
8951
|
+
this.sendMessage();
|
|
8952
|
+
});
|
|
8953
|
+
});
|
|
8954
|
+
this.rootElement.querySelectorAll("[hawksearch-message-list]").forEach((e) => {
|
|
8955
|
+
e.scrollTo(0, e.scrollHeight);
|
|
8956
|
+
});
|
|
8957
|
+
this.rootElement.querySelectorAll("[hawksearch-message-input]").forEach((e) => {
|
|
8958
|
+
e.focus();
|
|
8959
|
+
e.addEventListener("change", (event) => {
|
|
8960
|
+
const element = e;
|
|
8961
|
+
const query = element.value.trim();
|
|
8962
|
+
this.currentQuery = query;
|
|
8963
|
+
});
|
|
8964
|
+
e.addEventListener("keydown", (event) => {
|
|
8965
|
+
if (enterKeys.includes(event.code) && !event.shiftKey) {
|
|
8966
|
+
event.preventDefault();
|
|
8967
|
+
}
|
|
8968
|
+
});
|
|
8969
|
+
const onKeyDown = (event) => {
|
|
8970
|
+
const element = e;
|
|
8971
|
+
const query = element.value.trim();
|
|
8972
|
+
this.currentQuery = query;
|
|
8973
|
+
if (!enterKeys.includes(event.code)) {
|
|
8974
|
+
return;
|
|
8975
|
+
}
|
|
8976
|
+
if (enterKeys.includes(event.code) && !event.shiftKey) {
|
|
8977
|
+
event.preventDefault();
|
|
8978
|
+
this.handleMessageSubmit();
|
|
8979
|
+
} else if (enterKeys.includes(event.code) && event.shiftKey)
|
|
8980
|
+
;
|
|
8981
|
+
};
|
|
8982
|
+
e.addEventListener("keyup", debounce(onKeyDown, 250));
|
|
8983
|
+
});
|
|
8984
|
+
}
|
|
8985
|
+
appendMessage(message) {
|
|
8986
|
+
this.currentMessages.push(message);
|
|
8987
|
+
}
|
|
8988
|
+
handleMessageSubmit() {
|
|
8989
|
+
if (!this.currentQuery || this.currentQuery.length < 3) {
|
|
8990
|
+
return;
|
|
8991
|
+
}
|
|
8992
|
+
this.sendMessage();
|
|
8993
|
+
}
|
|
8994
|
+
async sendMessage() {
|
|
8995
|
+
if (!this.currentQuery) {
|
|
8996
|
+
return;
|
|
8997
|
+
}
|
|
8998
|
+
let data = "";
|
|
8999
|
+
if (this.firstMessage) {
|
|
9000
|
+
data = this.currentResponse;
|
|
9001
|
+
this.appendMessage({
|
|
9002
|
+
role: "system",
|
|
9003
|
+
content: this.promptInstructions
|
|
9004
|
+
});
|
|
9005
|
+
this.appendMessage({
|
|
9006
|
+
role: "system",
|
|
9007
|
+
content: `DATA: ${data}`
|
|
9008
|
+
});
|
|
9009
|
+
this.firstMessage = false;
|
|
9010
|
+
} else {
|
|
9011
|
+
this.appendMessage({
|
|
9012
|
+
role: "system",
|
|
9013
|
+
content: `Include this DATA as well: ${this.currentResponse}`
|
|
9014
|
+
});
|
|
9015
|
+
}
|
|
9016
|
+
this.appendMessage({ role: "user", content: this.currentQuery });
|
|
9017
|
+
this.busy = true;
|
|
9018
|
+
const response = await HawkSearch.services.conversational.query(this.currentMessages).then((response2) => {
|
|
9019
|
+
return response2;
|
|
9020
|
+
}).catch((error) => {
|
|
9021
|
+
return false;
|
|
9022
|
+
});
|
|
9023
|
+
if (response) {
|
|
9024
|
+
this.currentMessages.push(response);
|
|
9025
|
+
} else {
|
|
9026
|
+
this.appendMessage({ role: "assistant", content: "Sorry, something went wrong." });
|
|
9027
|
+
}
|
|
9028
|
+
this.busy = false;
|
|
9029
|
+
this.render();
|
|
9030
|
+
}
|
|
9031
|
+
resetConversation() {
|
|
9032
|
+
this.currentMessages = [];
|
|
9033
|
+
this.firstMessage = true;
|
|
9034
|
+
this.render();
|
|
9035
|
+
}
|
|
9036
|
+
}
|
|
9037
|
+
const defaultHtml$9 = '<div class="search-field">\n <input type="text" hawksearch-input hawksearch-imagesearch-field value="{{query}}" placeholder="{{strings.placeholder}}" />\n</div>';
|
|
8881
9038
|
class ImageSearchFieldComponent extends BaseComponent {
|
|
8882
9039
|
constructor() {
|
|
8883
9040
|
super(...arguments);
|
|
8884
9041
|
this.componentName = "imagesearch-field";
|
|
8885
|
-
this.defaultHtml = defaultHtml$
|
|
9042
|
+
this.defaultHtml = defaultHtml$9;
|
|
8886
9043
|
this.bindFromEvent = true;
|
|
8887
9044
|
this.previousValue = "";
|
|
8888
9045
|
}
|
|
@@ -8944,12 +9101,12 @@ class ImageSearchFieldComponent extends BaseComponent {
|
|
|
8944
9101
|
HawkSearch.services.search.query({ queryString: query, requestType: "ImageSearch" });
|
|
8945
9102
|
}
|
|
8946
9103
|
}
|
|
8947
|
-
const defaultHtml$
|
|
9104
|
+
const defaultHtml$8 = '<div class="search-results-list__item search-results-list__item--{{type}}">\n {{#if pinned}}\n <span class="search-results-list__item__pin">\n <hawksearch-icon name="star"></hawksearch-icon>\n </span>\n {{/if}}\n {{#if (eq type "product")}}\n {{#if (lt salePrice price)}}\n <span class="search-results-list__item__sale-indicator">{{strings.sale}}</span>\n {{/if}}\n <a hawksearch-link href="{{url}}" class="search-results-list__item__image" aria-label="{{title}}">\n <img hawksearch-image src="{{imageUrl}}" alt="" />\n </a>\n <div class="search-results-list__item__title">\n <a hawksearch-link href="{{url}}">{{title}}</a>\n </div>\n {{#if rating}}\n <hawksearch-rating rating="{{rating}}"></hawksearch-rating>\n {{/if}}\n {{#unless (eq price undefined)}}\n <div class="search-results-list__item__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope>\n {{#if (lt salePrice price)}}\n <span class="search-results-list__item__price__original">{{currency price}}</span>\n <span class="search-results-list__item__price__current" itemprop="price">{{currency salePrice}}</span>\n {{else}}\n <span class="search-results-list__item__price-__current" itemprop="price">{{currency price}}</span>\n {{/if}}\n </div>\n {{/unless}}\n <hawksearch-variant-selector></hawksearch-variant-selector>\n {{else}}\n <div class="row">\n {{#if imageUrl}}\n <div class="column column--12 column-sm--4">\n <a hawksearch-link href="{{url}}">\n <img hawksearch-image src="{{imageUrl}}" alt="" />\n </a>\n </div>\n {{/if}}\n <div class="column column--12 column-sm--8 flex-align-self-sm-center">\n <div class="search-results-list__item__title">\n <a hawksearch-link href="{{url}}">{{title}}</a>\n </div>\n {{#if description}}\n <p>{{description}}</p>\n {{/if}}\n </div>\n </div>\n {{/if}}\n</div>';
|
|
8948
9105
|
class SearchResultsItemComponent extends BaseComponent {
|
|
8949
9106
|
constructor() {
|
|
8950
9107
|
super(...arguments);
|
|
8951
9108
|
this.componentName = "search-results-item";
|
|
8952
|
-
this.defaultHtml = defaultHtml$
|
|
9109
|
+
this.defaultHtml = defaultHtml$8;
|
|
8953
9110
|
this.bindFromEvent = false;
|
|
8954
9111
|
}
|
|
8955
9112
|
renderContent() {
|
|
@@ -9008,12 +9165,12 @@ class SearchResultsItemComponent extends BaseComponent {
|
|
|
9008
9165
|
});
|
|
9009
9166
|
}
|
|
9010
9167
|
}
|
|
9011
|
-
const defaultHtml$
|
|
9168
|
+
const defaultHtml$7 = '<div class="row search-results-list">\n {{#each items}}\n {{#if (eq type "content")}}\n <div class="column column--12">\n <hawksearch-search-results-item></hawksearch-search-results-item>\n </div>\n {{else}}\n <div class="column column--12 column-sm--6 column-lg--4">\n <hawksearch-search-results-item></hawksearch-search-results-item>\n </div>\n {{/if}}\n {{/each}}\n</div>';
|
|
9012
9169
|
class SearchResultsListComponent extends BaseComponent {
|
|
9013
9170
|
constructor() {
|
|
9014
9171
|
super(...arguments);
|
|
9015
9172
|
this.componentName = "search-results-list";
|
|
9016
|
-
this.defaultHtml = defaultHtml$
|
|
9173
|
+
this.defaultHtml = defaultHtml$7;
|
|
9017
9174
|
this.bindFromEvent = true;
|
|
9018
9175
|
}
|
|
9019
9176
|
renderContent() {
|
|
@@ -9033,12 +9190,12 @@ class SearchResultsListComponent extends BaseComponent {
|
|
|
9033
9190
|
});
|
|
9034
9191
|
}
|
|
9035
9192
|
}
|
|
9036
|
-
const defaultHtml$
|
|
9193
|
+
const defaultHtml$6 = '<hawksearch-modified-query></hawksearch-modified-query>\n<hawksearch-query-suggestions></hawksearch-query-suggestions>\n<div class="row">\n <div class="column column--12 column-md--4">\n <hawksearch-content-zone name="LeftTop"></hawksearch-content-zone>\n <hawksearch-facets-list></hawksearch-facets-list>\n <hawksearch-content-zone name="LeftBottom"></hawksearch-content-zone>\n </div>\n <div class="column column--12 column-md--8">\n <hawksearch-content-zone name="Top"></hawksearch-content-zone>\n <hawksearch-content-zone name="Top2"></hawksearch-content-zone>\n <hawksearch-tabs></hawksearch-tabs>\n <hawksearch-selected-facets></hawksearch-selected-facets>\n <div class="row">\n <div class="column column--12 column-sm--6 flex-vertical-sm-center">\n <hawksearch-pagination></hawksearch-pagination>\n </div>\n <div class="column column--12 column-md--6">\n <div class="row row--tight">\n <div class="column column--12 column-sm--6 flex-vertical-sm-center">\n <hawksearch-page-size></hawksearch-page-size>\n </div>\n <div class="column column--12 column-sm--6 flex-vertical-sm-center">\n <hawksearch-sorting></hawksearch-sorting>\n </div>\n </div>\n </div>\n </div>\n <hawksearch-search-results-list></hawksearch-search-results-list>\n <hawksearch-content-zone name="Bottom"></hawksearch-content-zone>\n <hawksearch-content-zone name="Bottom2"></hawksearch-content-zone>\n </div>\n</div>';
|
|
9037
9194
|
class SearchResultsComponent extends BaseComponent {
|
|
9038
9195
|
constructor() {
|
|
9039
9196
|
super();
|
|
9040
9197
|
this.componentName = "search-results";
|
|
9041
|
-
this.defaultHtml = defaultHtml$
|
|
9198
|
+
this.defaultHtml = defaultHtml$6;
|
|
9042
9199
|
this.bindFromEvent = true;
|
|
9043
9200
|
if (this.mode === "search-results") {
|
|
9044
9201
|
HawkSearch.services.tracking.trackPageLoad(PageType.Custom);
|
|
@@ -9073,7 +9230,7 @@ class SearchResultsComponent extends BaseComponent {
|
|
|
9073
9230
|
};
|
|
9074
9231
|
}
|
|
9075
9232
|
}
|
|
9076
|
-
const defaultHtml$
|
|
9233
|
+
const defaultHtml$5 = `<div class="flex-gap flex-gap--xs selected-facets">
|
|
9077
9234
|
{{#each selections}}
|
|
9078
9235
|
<span class="selected-facets__item">
|
|
9079
9236
|
<span class="selected-facets__item__field">{{title}}</span>
|
|
@@ -9093,7 +9250,7 @@ class SelectedFacetsComponent extends BaseComponent {
|
|
|
9093
9250
|
constructor() {
|
|
9094
9251
|
super(...arguments);
|
|
9095
9252
|
this.componentName = "selected-facets";
|
|
9096
|
-
this.defaultHtml = defaultHtml$
|
|
9253
|
+
this.defaultHtml = defaultHtml$5;
|
|
9097
9254
|
this.bindFromEvent = true;
|
|
9098
9255
|
}
|
|
9099
9256
|
renderContent() {
|
|
@@ -9176,6 +9333,220 @@ class SelectedFacetsComponent extends BaseComponent {
|
|
|
9176
9333
|
});
|
|
9177
9334
|
}
|
|
9178
9335
|
}
|
|
9336
|
+
const defaultHtml$4 = `<span class="smartresponse" hawksearch-smartresponse>
|
|
9337
|
+
<div class="smartresponse__icon">
|
|
9338
|
+
{{#if busy}}
|
|
9339
|
+
<div class="spinner"></div>
|
|
9340
|
+
{{else}}
|
|
9341
|
+
<hawksearch-icon name="sparkles"></hawksearch-icon>
|
|
9342
|
+
{{/if}}
|
|
9343
|
+
</div>
|
|
9344
|
+
<div class="smartresponse__info {{attribute ' busy' busy}}">
|
|
9345
|
+
{{#if strings.header}}
|
|
9346
|
+
<h4 class="smartresponse__info__header">
|
|
9347
|
+
{{strings.header}}
|
|
9348
|
+
</h4>
|
|
9349
|
+
{{/if}}
|
|
9350
|
+
<div class="smartresponse__info__summary">
|
|
9351
|
+
{{#if summary}}
|
|
9352
|
+
{{#if summary.recommendation}}
|
|
9353
|
+
<div class="row">
|
|
9354
|
+
{{html summary.recommendation}}
|
|
9355
|
+
</div>
|
|
9356
|
+
{{/if}}
|
|
9357
|
+
{{#if summary.products}}
|
|
9358
|
+
<ul class="row">
|
|
9359
|
+
{{#each summary.products}}
|
|
9360
|
+
<li>
|
|
9361
|
+
<a hawksearch-link href="{{url}}" class="search-results-list__item__image" aria-label="{{name}}">
|
|
9362
|
+
<img hawksearch-image src="{{imageUrl}}" alt="" />
|
|
9363
|
+
</a>
|
|
9364
|
+
<div class="search-results-list__item__title">
|
|
9365
|
+
<a hawksearch-link href="{{url}}">{{name}}</a>
|
|
9366
|
+
</div>
|
|
9367
|
+
</li>
|
|
9368
|
+
{{/each}}
|
|
9369
|
+
</ul>
|
|
9370
|
+
{{else}}
|
|
9371
|
+
{{#if summary.nosources}}
|
|
9372
|
+
<p>{{strings.nosources}}</p>
|
|
9373
|
+
{{/if}}
|
|
9374
|
+
{{/if}}
|
|
9375
|
+
{{/if}}
|
|
9376
|
+
</div>
|
|
9377
|
+
</div>
|
|
9378
|
+
<div class="smartresponse__actions">
|
|
9379
|
+
<div class="switch{{attribute ' on' active}}" smartresponse-switch></div>
|
|
9380
|
+
</div>
|
|
9381
|
+
</span>`;
|
|
9382
|
+
class SmartResponseComponent extends BaseComponent {
|
|
9383
|
+
constructor() {
|
|
9384
|
+
var _a, _b;
|
|
9385
|
+
super(...arguments);
|
|
9386
|
+
this.componentName = "smartresponse";
|
|
9387
|
+
this.defaultHtml = defaultHtml$4;
|
|
9388
|
+
this.bindFromEvent = false;
|
|
9389
|
+
this.active = true;
|
|
9390
|
+
this.busy = false;
|
|
9391
|
+
this.summary = { recommendation: "", products: [], nosources: false };
|
|
9392
|
+
this.currentQuery = ((_a = HawkSearch.searchResponse) == null ? void 0 : _a.query) || "";
|
|
9393
|
+
this.currentResponse = ((_b = HawkSearch.searchResponse) == null ? void 0 : _b.results) || [];
|
|
9394
|
+
}
|
|
9395
|
+
get promptInstructions() {
|
|
9396
|
+
var _a, _b;
|
|
9397
|
+
return ((_b = (_a = this.configuration) == null ? void 0 : _a.prompt) == null ? void 0 : _b.instructions) || `
|
|
9398
|
+
You are a recommendation agent, specialized in finding the perfect match for a user.
|
|
9399
|
+
Answer the question from the user extensivelly.
|
|
9400
|
+
You will be provided with a user input and an array of products.
|
|
9401
|
+
Based on the user input and products, determine a maximum of 3 of the most relevant products based on the user input.
|
|
9402
|
+
`;
|
|
9403
|
+
}
|
|
9404
|
+
get schema() {
|
|
9405
|
+
var _a, _b;
|
|
9406
|
+
return ((_b = (_a = this.configuration) == null ? void 0 : _a.prompt) == null ? void 0 : _b.schema) || {
|
|
9407
|
+
"name": "smartresponse_summary",
|
|
9408
|
+
"description": "Recommedation message and product details which includes name, description, url, price and imageUrl",
|
|
9409
|
+
"strict": true,
|
|
9410
|
+
"schema": {
|
|
9411
|
+
"type": "object",
|
|
9412
|
+
"properties": {
|
|
9413
|
+
"recommendation": {
|
|
9414
|
+
"type": "string"
|
|
9415
|
+
},
|
|
9416
|
+
"products": {
|
|
9417
|
+
"type": "array",
|
|
9418
|
+
"items": {
|
|
9419
|
+
"type": "object",
|
|
9420
|
+
"properties": {
|
|
9421
|
+
"name": {
|
|
9422
|
+
"type": "string"
|
|
9423
|
+
},
|
|
9424
|
+
"url": {
|
|
9425
|
+
"type": "string"
|
|
9426
|
+
},
|
|
9427
|
+
"description": {
|
|
9428
|
+
"type": "string"
|
|
9429
|
+
},
|
|
9430
|
+
"price": {
|
|
9431
|
+
"type": "number"
|
|
9432
|
+
},
|
|
9433
|
+
"imageUrl": {
|
|
9434
|
+
"type": "string"
|
|
9435
|
+
}
|
|
9436
|
+
},
|
|
9437
|
+
"required": [
|
|
9438
|
+
"name",
|
|
9439
|
+
"url",
|
|
9440
|
+
"description",
|
|
9441
|
+
"price",
|
|
9442
|
+
"imageUrl"
|
|
9443
|
+
],
|
|
9444
|
+
"additionalProperties": false
|
|
9445
|
+
}
|
|
9446
|
+
}
|
|
9447
|
+
},
|
|
9448
|
+
"required": [
|
|
9449
|
+
"recommendation",
|
|
9450
|
+
"products"
|
|
9451
|
+
],
|
|
9452
|
+
"additionalProperties": false
|
|
9453
|
+
}
|
|
9454
|
+
};
|
|
9455
|
+
}
|
|
9456
|
+
connectedCallback() {
|
|
9457
|
+
super.connectedCallback();
|
|
9458
|
+
this.afterSearchExecutedEventHandler = (event) => {
|
|
9459
|
+
var _a, _b, _c, _d, _e;
|
|
9460
|
+
if (this.active && ((_a = HawkSearch.searchResponse) == null ? void 0 : _a.query) && ((_b = HawkSearch.searchResponse) == null ? void 0 : _b.results) && ((_c = HawkSearch.searchResponse) == null ? void 0 : _c.results.length) > 0) {
|
|
9461
|
+
this.busy = true;
|
|
9462
|
+
this.render();
|
|
9463
|
+
this.currentQuery = (_d = HawkSearch.searchResponse) == null ? void 0 : _d.query;
|
|
9464
|
+
this.currentResponse = this.convertSmartResponseRequest((_e = HawkSearch.searchResponse) == null ? void 0 : _e.results);
|
|
9465
|
+
if (this.currentResponse.length > 0) {
|
|
9466
|
+
this.updateSummary();
|
|
9467
|
+
}
|
|
9468
|
+
} else {
|
|
9469
|
+
this.clearSummary();
|
|
9470
|
+
}
|
|
9471
|
+
};
|
|
9472
|
+
window.addEventListener("hawksearch:after-search-executed", this.afterSearchExecutedEventHandler);
|
|
9473
|
+
}
|
|
9474
|
+
disconnectedCallback() {
|
|
9475
|
+
super.disconnectedCallback();
|
|
9476
|
+
window.removeEventListener("hawksearch:after-search-executed", this.afterSearchExecutedEventHandler);
|
|
9477
|
+
}
|
|
9478
|
+
getContentModel() {
|
|
9479
|
+
var _a, _b, _c, _d;
|
|
9480
|
+
return {
|
|
9481
|
+
summary: this.summary,
|
|
9482
|
+
strings: {
|
|
9483
|
+
header: ((_b = (_a = this.configuration) == null ? void 0 : _a.strings) == null ? void 0 : _b.header) || "SmartResponse",
|
|
9484
|
+
noresults: ((_d = (_c = this.configuration) == null ? void 0 : _c.strings) == null ? void 0 : _d.noresults) || "No Results found"
|
|
9485
|
+
},
|
|
9486
|
+
active: this.active,
|
|
9487
|
+
busy: this.busy
|
|
9488
|
+
};
|
|
9489
|
+
}
|
|
9490
|
+
onRender() {
|
|
9491
|
+
super.onRender();
|
|
9492
|
+
this.busy = true;
|
|
9493
|
+
this.rootElement.querySelectorAll("[smartresponse-switch]").forEach((e) => {
|
|
9494
|
+
e.addEventListener("click", () => {
|
|
9495
|
+
this.active = !this.active;
|
|
9496
|
+
e.classList.toggle("on", this.active);
|
|
9497
|
+
if (!this.active) {
|
|
9498
|
+
this.clearSummary();
|
|
9499
|
+
}
|
|
9500
|
+
});
|
|
9501
|
+
});
|
|
9502
|
+
}
|
|
9503
|
+
async updateSummary() {
|
|
9504
|
+
const rawSummaryResponse = await HawkSearch.services.conversational.query(
|
|
9505
|
+
[
|
|
9506
|
+
{ role: "system", content: this.promptInstructions },
|
|
9507
|
+
{ role: "user", content: `USER INPUT: "${this.currentQuery}", PRODUCTS:${JSON.stringify(this.currentResponse)}` }
|
|
9508
|
+
],
|
|
9509
|
+
{
|
|
9510
|
+
"response_format": {
|
|
9511
|
+
"type": "json_schema",
|
|
9512
|
+
"json_schema": this.schema
|
|
9513
|
+
}
|
|
9514
|
+
}
|
|
9515
|
+
).then((result) => {
|
|
9516
|
+
return result;
|
|
9517
|
+
}).catch((error) => {
|
|
9518
|
+
return false;
|
|
9519
|
+
});
|
|
9520
|
+
if (rawSummaryResponse) {
|
|
9521
|
+
const summaryResponse = JSON.parse(rawSummaryResponse.content);
|
|
9522
|
+
this.summary = {
|
|
9523
|
+
recommendation: summaryResponse.recommendation,
|
|
9524
|
+
products: summaryResponse.products.length > 3 ? summaryResponse.products.trim() : summaryResponse.products.slice(0, 3),
|
|
9525
|
+
nosources: summaryResponse.products.length === 0
|
|
9526
|
+
};
|
|
9527
|
+
}
|
|
9528
|
+
this.busy = false;
|
|
9529
|
+
this.render();
|
|
9530
|
+
}
|
|
9531
|
+
clearSummary() {
|
|
9532
|
+
this.summary = { recommendation: "", products: [], nosources: false };
|
|
9533
|
+
this.busy = false;
|
|
9534
|
+
this.render();
|
|
9535
|
+
}
|
|
9536
|
+
convertSmartResponseRequest(searchResponse, max = 3) {
|
|
9537
|
+
const cleanResults = searchResponse.map((item) => {
|
|
9538
|
+
return {
|
|
9539
|
+
id: item.id,
|
|
9540
|
+
title: item.title,
|
|
9541
|
+
description: item.description,
|
|
9542
|
+
imageUrl: item.imageUrl,
|
|
9543
|
+
url: item.url,
|
|
9544
|
+
score: item.score
|
|
9545
|
+
};
|
|
9546
|
+
});
|
|
9547
|
+
return cleanResults.slice(0, max);
|
|
9548
|
+
}
|
|
9549
|
+
}
|
|
9179
9550
|
const defaultHtml$3 = '<div class="sorting">\n <select hawksearch-sort>\n {{#each options}}\n {{#if selected}}\n <option value="{{value}}" selected>{{title}}</option>\n {{else}}\n <option value="{{value}}">{{title}}</option>\n {{/if}}\n {{/each}}\n </select>\n</div>';
|
|
9180
9551
|
class SortingComponent extends BaseComponent {
|
|
9181
9552
|
constructor() {
|
|
@@ -9516,9 +9887,9 @@ class BaseService {
|
|
|
9516
9887
|
return window.location.pathname.replace(trailingSlashRegex, "") === this.searchUrl.replace(trailingSlashRegex, "");
|
|
9517
9888
|
}
|
|
9518
9889
|
// #region HTTP
|
|
9519
|
-
async httpPost(relativeUrl, body) {
|
|
9520
|
-
const url = this.baseUrl + relativeUrl;
|
|
9521
|
-
const headers = this.getHeaders();
|
|
9890
|
+
async httpPost(relativeUrl, body, customHeaders, isAbsoluteUrl) {
|
|
9891
|
+
const url = isAbsoluteUrl ? relativeUrl : this.baseUrl + relativeUrl;
|
|
9892
|
+
const headers = customHeaders || this.getHeaders();
|
|
9522
9893
|
const response = await fetch(url, {
|
|
9523
9894
|
method: "POST",
|
|
9524
9895
|
headers,
|
|
@@ -9838,6 +10209,64 @@ class AutocompleteService extends BaseService {
|
|
|
9838
10209
|
}
|
|
9839
10210
|
// #endregion Events
|
|
9840
10211
|
}
|
|
10212
|
+
class ConversationalService extends BaseService {
|
|
10213
|
+
constructor() {
|
|
10214
|
+
super(...arguments);
|
|
10215
|
+
this.baseUrl = "https://genai.bridgeline.com/api";
|
|
10216
|
+
this.API_KEY = "ba0279e8-6df6-11ee-a9fd-9df2e7adae60";
|
|
10217
|
+
}
|
|
10218
|
+
// #region ConversationalSearch
|
|
10219
|
+
async query(query, options) {
|
|
10220
|
+
if (!query) {
|
|
10221
|
+
return [];
|
|
10222
|
+
}
|
|
10223
|
+
const result = await this.executeSearch(query, options);
|
|
10224
|
+
return result;
|
|
10225
|
+
}
|
|
10226
|
+
async executeSearch(messages, options) {
|
|
10227
|
+
this.bindComponents(messages);
|
|
10228
|
+
const rawConversationalSearchRequest = {
|
|
10229
|
+
"api_key": this.API_KEY,
|
|
10230
|
+
messages,
|
|
10231
|
+
...options
|
|
10232
|
+
};
|
|
10233
|
+
if (HawkSearch.config.debug) {
|
|
10234
|
+
console.log("hawksearch:debug ", { rawConversationalSearchRequest: rawConversationalSearchRequest.messages });
|
|
10235
|
+
}
|
|
10236
|
+
try {
|
|
10237
|
+
this.triggerEvent("hawksearch:before-send-message-executed", messages);
|
|
10238
|
+
const headers = new Headers();
|
|
10239
|
+
headers.set("Content-Type", "application/json");
|
|
10240
|
+
const rawConversationalSearchResponse = await this.httpPost(
|
|
10241
|
+
this.baseUrl,
|
|
10242
|
+
rawConversationalSearchRequest,
|
|
10243
|
+
headers,
|
|
10244
|
+
true
|
|
10245
|
+
);
|
|
10246
|
+
this.triggerEvent("hawksearch:after-send-message-executed", rawConversationalSearchResponse);
|
|
10247
|
+
if (!rawConversationalSearchResponse.success) {
|
|
10248
|
+
throw new Error("Network response was not ok");
|
|
10249
|
+
}
|
|
10250
|
+
this.triggerEvent("hawksearch:before-received-message-executed", rawConversationalSearchResponse);
|
|
10251
|
+
const conversationalSearchResponse = this.convertResponse(rawConversationalSearchResponse);
|
|
10252
|
+
this.triggerEvent("hawksearch:after-receive-message-executed", conversationalSearchResponse);
|
|
10253
|
+
this.bindComponents(conversationalSearchResponse);
|
|
10254
|
+
return conversationalSearchResponse;
|
|
10255
|
+
} catch {
|
|
10256
|
+
throw new Error("Error retrieving search response");
|
|
10257
|
+
}
|
|
10258
|
+
}
|
|
10259
|
+
convertResponse(rawOpenAIResponse) {
|
|
10260
|
+
const convertedResponse = rawOpenAIResponse.response.choices[0].message;
|
|
10261
|
+
return convertedResponse;
|
|
10262
|
+
}
|
|
10263
|
+
// #endregion ConversationalSearch Operations
|
|
10264
|
+
// #region Events
|
|
10265
|
+
bindComponents(conversationResponse) {
|
|
10266
|
+
this.triggerBindEvent("conversationalsearch", { conversationResponse });
|
|
10267
|
+
}
|
|
10268
|
+
// #endregion Events
|
|
10269
|
+
}
|
|
9841
10270
|
class RecommendationsService extends BaseService {
|
|
9842
10271
|
constructor() {
|
|
9843
10272
|
var _a;
|
|
@@ -10161,12 +10590,16 @@ class SearchService extends BaseService {
|
|
|
10161
10590
|
}
|
|
10162
10591
|
if (this.decodeFacetValues && searchRequest.facets) {
|
|
10163
10592
|
for (const facet in searchRequest.facets) {
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
|
|
10593
|
+
if (Object.prototype.hasOwnProperty.call(searchRequest.facets, facet)) {
|
|
10594
|
+
const tempArray = [];
|
|
10595
|
+
const facetsArray = searchRequest.facets[facet];
|
|
10596
|
+
for (const selection in facetsArray) {
|
|
10597
|
+
if (Object.prototype.hasOwnProperty.call(facetsArray, selection)) {
|
|
10598
|
+
tempArray.push(decodeNestedURI(facetsArray[parseInt(selection)]));
|
|
10599
|
+
}
|
|
10600
|
+
}
|
|
10601
|
+
searchRequest.facets[facet] = tempArray;
|
|
10168
10602
|
}
|
|
10169
|
-
searchRequest.facets[facet] = tempArray;
|
|
10170
10603
|
}
|
|
10171
10604
|
}
|
|
10172
10605
|
HawkSearch.searchRequest = searchRequest;
|
|
@@ -10203,9 +10636,9 @@ class SearchService extends BaseService {
|
|
|
10203
10636
|
try {
|
|
10204
10637
|
this.triggerEvent("hawksearch:before-search-executed", rawSearchRequest);
|
|
10205
10638
|
const rawSearchResponse = await this.httpPost("/api/v2/search", rawSearchRequest);
|
|
10206
|
-
this.triggerEvent("hawksearch:after-search-executed", rawSearchResponse);
|
|
10207
10639
|
const searchResponse = this.convertResponse(searchRequest, rawSearchResponse);
|
|
10208
10640
|
HawkSearch.searchResponse = searchResponse;
|
|
10641
|
+
this.triggerEvent("hawksearch:after-search-executed", rawSearchResponse);
|
|
10209
10642
|
HawkSearch.services.tracking.trackSearch(performImageSearch ? "image-upload" : searchRequest.query, newSearch);
|
|
10210
10643
|
if (!performImageSearch) {
|
|
10211
10644
|
this.setQueryString(searchResponse);
|
|
@@ -10689,6 +11122,7 @@ class SearchService extends BaseService {
|
|
|
10689
11122
|
this.bindSearchFieldComponent(searchResponse);
|
|
10690
11123
|
this.bindSearchResultsListComponent(searchResponse);
|
|
10691
11124
|
this.bindSelectedFacetsComponent(searchResponse);
|
|
11125
|
+
this.bindSmartResponseComponent(searchResponse);
|
|
10692
11126
|
this.bindSortingComponent(searchResponse);
|
|
10693
11127
|
this.bindTabsComponent(searchResponse);
|
|
10694
11128
|
this.bindZoneComponent(searchResponse);
|
|
@@ -10738,6 +11172,9 @@ class SearchService extends BaseService {
|
|
|
10738
11172
|
};
|
|
10739
11173
|
this.triggerBindEvent("query-suggestions", data);
|
|
10740
11174
|
}
|
|
11175
|
+
bindSmartResponseComponent(searchResponse) {
|
|
11176
|
+
this.triggerBindEvent("smartresponse", searchResponse);
|
|
11177
|
+
}
|
|
10741
11178
|
bindSortingComponent(searchResponse) {
|
|
10742
11179
|
this.triggerBindEvent("sorting", searchResponse == null ? void 0 : searchResponse.sorting);
|
|
10743
11180
|
}
|
|
@@ -11114,6 +11551,7 @@ HawkSearch$1.init = (config) => {
|
|
|
11114
11551
|
HawkSearch$1.handlebars.registerHelper("subtract", subtract);
|
|
11115
11552
|
HawkSearch$1.services = {
|
|
11116
11553
|
autocomplete: new AutocompleteService(),
|
|
11554
|
+
conversational: new ConversationalService(),
|
|
11117
11555
|
recommendations: new RecommendationsService(),
|
|
11118
11556
|
search: new SearchService(),
|
|
11119
11557
|
tracking: new TrackingService()
|
|
@@ -11124,6 +11562,7 @@ HawkSearch$1.init = (config) => {
|
|
|
11124
11562
|
"color-facet": ColorFacetComponent,
|
|
11125
11563
|
"conceptsearch-field": ConceptSearchFieldComponent,
|
|
11126
11564
|
"content-zone": ContentZoneComponent,
|
|
11565
|
+
"conversationalsearch": ConversationalSearchComponent,
|
|
11127
11566
|
"custom-content": CustomContentComponent,
|
|
11128
11567
|
"date-picker": DatePickerComponent,
|
|
11129
11568
|
"date-range-facet": DateRangeFacetComponent,
|
|
@@ -11156,6 +11595,7 @@ HawkSearch$1.init = (config) => {
|
|
|
11156
11595
|
"search-within-facet": SearchWithinFacetComponent,
|
|
11157
11596
|
"selected-facets": SelectedFacetsComponent,
|
|
11158
11597
|
"size-facet": SizeFacetComponent,
|
|
11598
|
+
"smartresponse": SmartResponseComponent,
|
|
11159
11599
|
"sorting": SortingComponent,
|
|
11160
11600
|
"tabs": TabsComponent,
|
|
11161
11601
|
"tooltip": TooltipComponent,
|