@bridgeline-digital/hawksearch-handlebars-ui 5.2.0 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/changelog.md +7 -1
  2. package/dist/components/base.component.d.ts +139 -0
  3. package/dist/components/content/content-types/base-content.component.d.ts +9 -0
  4. package/dist/components/content/content-types/custom-content/custom-content.component.d.ts +21 -0
  5. package/dist/components/content/content-types/featured-items-content/featured-items-content.component.d.ts +22 -0
  6. package/dist/components/content/content-types/featured-items-content-item/featured-items-content-item.component.d.ts +39 -0
  7. package/dist/components/content/content-types/image-content/image-content.component.d.ts +22 -0
  8. package/dist/components/content/content-types/index.d.ts +6 -0
  9. package/dist/components/content/content-types/popular-queries-content/popular-queries-content.component.d.ts +22 -0
  10. package/dist/components/content/content-zone/content-zone.component.d.ts +44 -0
  11. package/dist/components/content/index.d.ts +2 -0
  12. package/dist/components/general/date-picker/date-picker.component.d.ts +117 -0
  13. package/dist/components/general/icon/icon.component.d.ts +38 -0
  14. package/dist/components/general/index.d.ts +5 -0
  15. package/dist/components/general/range-slider/range-slider.component.d.ts +54 -0
  16. package/dist/components/general/rating/rating.component.d.ts +39 -0
  17. package/dist/components/general/tooltip/tooltip.component.d.ts +32 -0
  18. package/dist/components/index.d.ts +231 -0
  19. package/dist/components/landing-pages/index.d.ts +1 -0
  20. package/dist/components/landing-pages/landing-page/landing-page.component.d.ts +32 -0
  21. package/dist/components/recommendations/index.d.ts +2 -0
  22. package/dist/components/recommendations/recommendations/recommendations.component.d.ts +87 -0
  23. package/dist/components/recommendations/recommendations-item/recommendations-item.component.d.ts +40 -0
  24. package/dist/components/search/autocomplete/autocomplete.component.d.ts +59 -0
  25. package/dist/components/search/facet-types/base-facet.component.d.ts +44 -0
  26. package/dist/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.d.ts +36 -0
  27. package/dist/components/search/facet-types/color-facet/color-facet.component.d.ts +24 -0
  28. package/dist/components/search/facet-types/date-range-facet/date-range-facet.component.d.ts +33 -0
  29. package/dist/components/search/facet-types/index.d.ts +11 -0
  30. package/dist/components/search/facet-types/linked-list-facet/link-list-facet.component.d.ts +24 -0
  31. package/dist/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.d.ts +32 -0
  32. package/dist/components/search/facet-types/range-slider-facet/range-slider-facet.component.d.ts +34 -0
  33. package/dist/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.d.ts +29 -0
  34. package/dist/components/search/facet-types/related-searches-facet/related-searches-facet.component.d.ts +29 -0
  35. package/dist/components/search/facet-types/search-within-facet/search-within-facet.component.d.ts +29 -0
  36. package/dist/components/search/facet-types/size-facet/size-facet.component.d.ts +24 -0
  37. package/dist/components/search/facet-wrapper/facet-wrapper.component.d.ts +47 -0
  38. package/dist/components/search/facets-list/facets-list.component.d.ts +32 -0
  39. package/dist/components/search/index.d.ts +15 -0
  40. package/dist/components/search/modified-query/modified-query.component.d.ts +32 -0
  41. package/dist/components/search/page-size/page-size.component.d.ts +32 -0
  42. package/dist/components/search/pagination/pagination.component.d.ts +43 -0
  43. package/dist/components/search/query-suggestions/query-suggestions.component.d.ts +38 -0
  44. package/dist/components/search/search-field/search-field.component.d.ts +40 -0
  45. package/dist/components/search/search-results/search-results.component.d.ts +34 -0
  46. package/dist/components/search/search-results-item/search-results-item.component.d.ts +38 -0
  47. package/dist/components/search/search-results-list/search-results-list.component.d.ts +23 -0
  48. package/dist/components/search/selected-facets/selected-facets.component.d.ts +31 -0
  49. package/dist/components/search/sorting/sorting.component.d.ts +30 -0
  50. package/dist/components/search/tabs/dist/tabs.component.spec.d.ts +1 -0
  51. package/dist/components/search/tabs/tabs.component.d.ts +30 -0
  52. package/dist/components/variants/index.d.ts +1 -0
  53. package/dist/components/variants/variant-selector/variant-selector.component.d.ts +23 -0
  54. package/dist/configuration/configuration.models.d.ts +609 -0
  55. package/dist/configuration/index.d.ts +4 -0
  56. package/dist/helpers/helpers.d.ts +221 -0
  57. package/dist/helpers/index.d.ts +4 -0
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.js +3 -0
  60. package/dist/index.js.LICENSE.txt +26 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/models/autocomplete.models.d.ts +85 -0
  63. package/dist/models/base.models.d.ts +50 -0
  64. package/dist/models/component.models.d.ts +453 -0
  65. package/dist/models/content.models.d.ts +94 -0
  66. package/dist/models/index.d.ts +11 -0
  67. package/dist/models/raw/index.d.ts +4 -0
  68. package/dist/models/raw/raw-autocomplete.models.d.ts +51 -0
  69. package/dist/models/raw/raw-base.models.d.ts +8 -0
  70. package/dist/models/raw/raw-recommendation.models.d.ts +39 -0
  71. package/dist/models/raw/raw-search.models.d.ts +191 -0
  72. package/dist/models/recommendation.models.d.ts +31 -0
  73. package/dist/models/search.models.d.ts +237 -0
  74. package/dist/models/tracking.models.d.ts +42 -0
  75. package/dist/placeholder.c99b7374b9bf579d0fd0.png +0 -0
  76. package/dist/services/autocomplete.service.d.ts +11 -0
  77. package/dist/services/base.service.d.ts +63 -0
  78. package/dist/services/index.d.ts +8 -0
  79. package/dist/services/recommendations.service.d.ts +10 -0
  80. package/dist/services/search.service.d.ts +53 -0
  81. package/dist/services/tracking.service.d.ts +29 -0
  82. package/dist/styles.65c0ab8e75ac4bcab10e99f66a160664.css +1 -0
  83. package/dist/utilities/colors.d.ts +1 -0
  84. package/dist/utilities/dates.d.ts +4 -0
  85. package/dist/utilities/decodes.d.ts +1 -0
  86. package/dist/utilities/formatters.d.ts +4 -0
  87. package/dist/utilities/index.d.ts +7 -0
  88. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ import { SearchRequest, SearchResponse, SelectedFacets } from '@models';
2
+ import { BaseService } from '@services';
3
+ export declare class SearchService extends BaseService {
4
+ protected baseUrl: string;
5
+ private facetExclusionPrefix;
6
+ private decodeQuery;
7
+ private decodeFacetValues;
8
+ private shouldRenderUI;
9
+ search(searchRequest: SearchRequest): Promise<SearchResponse>;
10
+ query(query?: string, selectedFacets?: SelectedFacets | undefined, disableSpellcheck?: boolean): Promise<SearchResponse | void>;
11
+ addFacetValue(field: string, value: string): Promise<SearchResponse>;
12
+ removeFacetValue(field: string, value: string): Promise<SearchResponse>;
13
+ includeFacetValue(field: string, value: string): Promise<SearchResponse>;
14
+ excludeFacetValue(field: string, value: string): Promise<SearchResponse>;
15
+ private clearExistingFacetValue;
16
+ setFacetValue(field: string, value: string): Promise<SearchResponse>;
17
+ searchWithin(value: string): Promise<SearchResponse>;
18
+ selectTab(value?: string): Promise<SearchResponse>;
19
+ paginate(page: number): Promise<SearchResponse>;
20
+ setPageSize(pageSize: number): Promise<SearchResponse>;
21
+ sort(value?: string): Promise<SearchResponse>;
22
+ private executeSearch;
23
+ private ensureSearchRequest;
24
+ private convertResponse;
25
+ bindComponents(searchResponse: SearchResponse): void;
26
+ bindFacetsListComponent(searchResponse: SearchResponse | undefined): void;
27
+ bindLandingPageComponent(searchResponse: SearchResponse | undefined): void;
28
+ bindModifiedQueryComponent(searchResponse: SearchResponse | undefined): void;
29
+ bindPageSizeComponent(searchResponse: SearchResponse | undefined): void;
30
+ bindPaginationComponent(searchResponse: SearchResponse | undefined): void;
31
+ bindSearchFieldComponent(searchResponse: SearchResponse | undefined): void;
32
+ bindSearchResultsComponent(searchResponse: SearchResponse | undefined): void;
33
+ bindSearchResultsListComponent(searchResponse: SearchResponse | undefined): void;
34
+ bindQuerySuggestionsComponent(searchResponse: SearchResponse | undefined): void;
35
+ bindSortingComponent(searchResponse: SearchResponse | undefined): void;
36
+ bindSelectedFacetsComponent(searchResponse: SearchResponse | undefined): void;
37
+ bindTabsComponent(searchResponse: SearchResponse | undefined): void;
38
+ bindZoneComponent(searchResponse: SearchResponse | undefined): void;
39
+ getRequestFromUrl(): SearchRequest;
40
+ private setQueryString;
41
+ private getSearchUrl;
42
+ private getBooleanParameter;
43
+ private getPositiveIntegerParameter;
44
+ private getStringParameter;
45
+ private getRecentQueries;
46
+ private saveRecentQueries;
47
+ protected setSeoElements(searchResponse: SearchResponse): void;
48
+ private removeElement;
49
+ private setLinkTag;
50
+ private setMetaTag;
51
+ private setTitle;
52
+ }
53
+ export declare const searchService: SearchService;
@@ -0,0 +1,29 @@
1
+ import { AutocompleteItemType, EventType, PageType } from '@models';
2
+ import { BaseService } from '@services';
3
+ export declare class TrackingService extends BaseService {
4
+ protected baseUrl: string;
5
+ trackAddToCart(productId: string, quantity: number, price: number, currencyIsoCode: string): Promise<void>;
6
+ trackAddToCartMultiple(items: Array<{
7
+ productId: string;
8
+ quantity: number;
9
+ price: number;
10
+ currencyIsoCode: string;
11
+ }>): Promise<void>;
12
+ trackAutocompleteClick(query: string | undefined, itemType: AutocompleteItemType, title: string, url: string): Promise<void>;
13
+ trackBannerClick(bannerId: number, campaignId: number): Promise<void>;
14
+ trackBannerImpression(bannerId: number, campaignId: number): Promise<void>;
15
+ trackOrder(orderId: string, items: Array<{
16
+ productId: string;
17
+ quantity: number;
18
+ price: number;
19
+ }>, subTotal: number, tax: number, total: number, currencyIsoCode: string): Promise<void>;
20
+ trackPageLoad(pageType: PageType, productId?: string): Promise<void>;
21
+ trackRating(productId: string, rating: number): Promise<void>;
22
+ trackRecommendationClick(widgetId: string, requestId: string, productId: string): Promise<void>;
23
+ trackSearchResultClick(id: string, url: string, event?: PointerEvent): Promise<void>;
24
+ trackSearch(query: string | undefined, newSearch: boolean): Promise<void>;
25
+ trackEvent(type: EventType, data: any): Promise<void>;
26
+ private getQueryId;
27
+ private setNewQueryId;
28
+ }
29
+ export declare const trackingService: TrackingService;
@@ -0,0 +1 @@
1
+ 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:normal;font:inherit;vertical-align:baseline;color:inherit;text-transform:none;text-shadow:none;background:rgba(0,0,0,0)}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:bold}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 0;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 0;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% - (0.9166666667 * var(--gap)))}.column--2{flex-basis:calc(16.6666666667% - (0.8333333333 * var(--gap)))}.column--3{flex-basis:calc(25% - (0.75 * var(--gap)))}.column--4{flex-basis:calc(33.3333333333% - (0.6666666667 * var(--gap)))}.column--5{flex-basis:calc(41.6666666667% - (0.5833333333 * var(--gap)))}.column--6{flex-basis:calc(50% - (0.5 * var(--gap)))}.column--7{flex-basis:calc(58.3333333333% - (0.4166666667 * var(--gap)))}.column--8{flex-basis:calc(66.6666666667% - (0.3333333333 * var(--gap)))}.column--9{flex-basis:calc(75% - (0.25 * var(--gap)))}.column--10{flex-basis:calc(83.3333333333% - (0.1666666667 * var(--gap)))}.column--11{flex-basis:calc(91.6666666667% - (0.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% - (0.9166666667 * var(--gap)))}.column-sm--2{flex-basis:calc(16.6666666667% - (0.8333333333 * var(--gap)))}.column-sm--3{flex-basis:calc(25% - (0.75 * var(--gap)))}.column-sm--4{flex-basis:calc(33.3333333333% - (0.6666666667 * var(--gap)))}.column-sm--5{flex-basis:calc(41.6666666667% - (0.5833333333 * var(--gap)))}.column-sm--6{flex-basis:calc(50% - (0.5 * var(--gap)))}.column-sm--7{flex-basis:calc(58.3333333333% - (0.4166666667 * var(--gap)))}.column-sm--8{flex-basis:calc(66.6666666667% - (0.3333333333 * var(--gap)))}.column-sm--9{flex-basis:calc(75% - (0.25 * var(--gap)))}.column-sm--10{flex-basis:calc(83.3333333333% - (0.1666666667 * var(--gap)))}.column-sm--11{flex-basis:calc(91.6666666667% - (0.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% - (0.9166666667 * var(--gap)))}.column-md--2{flex-basis:calc(16.6666666667% - (0.8333333333 * var(--gap)))}.column-md--3{flex-basis:calc(25% - (0.75 * var(--gap)))}.column-md--4{flex-basis:calc(33.3333333333% - (0.6666666667 * var(--gap)))}.column-md--5{flex-basis:calc(41.6666666667% - (0.5833333333 * var(--gap)))}.column-md--6{flex-basis:calc(50% - (0.5 * var(--gap)))}.column-md--7{flex-basis:calc(58.3333333333% - (0.4166666667 * var(--gap)))}.column-md--8{flex-basis:calc(66.6666666667% - (0.3333333333 * var(--gap)))}.column-md--9{flex-basis:calc(75% - (0.25 * var(--gap)))}.column-md--10{flex-basis:calc(83.3333333333% - (0.1666666667 * var(--gap)))}.column-md--11{flex-basis:calc(91.6666666667% - (0.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% - (0.9166666667 * var(--gap)))}.column-lg--2{flex-basis:calc(16.6666666667% - (0.8333333333 * var(--gap)))}.column-lg--3{flex-basis:calc(25% - (0.75 * var(--gap)))}.column-lg--4{flex-basis:calc(33.3333333333% - (0.6666666667 * var(--gap)))}.column-lg--5{flex-basis:calc(41.6666666667% - (0.5833333333 * var(--gap)))}.column-lg--6{flex-basis:calc(50% - (0.5 * var(--gap)))}.column-lg--7{flex-basis:calc(58.3333333333% - (0.4166666667 * var(--gap)))}.column-lg--8{flex-basis:calc(66.6666666667% - (0.3333333333 * var(--gap)))}.column-lg--9{flex-basis:calc(75% - (0.25 * var(--gap)))}.column-lg--10{flex-basis:calc(83.3333333333% - (0.1666666667 * var(--gap)))}.column-lg--11{flex-basis:calc(91.6666666667% - (0.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% - (0.9166666667 * var(--gap)))}.column-xl--2{flex-basis:calc(16.6666666667% - (0.8333333333 * var(--gap)))}.column-xl--3{flex-basis:calc(25% - (0.75 * var(--gap)))}.column-xl--4{flex-basis:calc(33.3333333333% - (0.6666666667 * var(--gap)))}.column-xl--5{flex-basis:calc(41.6666666667% - (0.5833333333 * var(--gap)))}.column-xl--6{flex-basis:calc(50% - (0.5 * var(--gap)))}.column-xl--7{flex-basis:calc(58.3333333333% - (0.4166666667 * var(--gap)))}.column-xl--8{flex-basis:calc(66.6666666667% - (0.3333333333 * var(--gap)))}.column-xl--9{flex-basis:calc(75% - (0.25 * var(--gap)))}.column-xl--10{flex-basis:calc(83.3333333333% - (0.1666666667 * var(--gap)))}.column-xl--11{flex-basis:calc(91.6666666667% - (0.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:bold}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 rgba(0,0,0,.1);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:bold}.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:bold}.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:bold;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:bold}.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:bold;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:bold;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:bold;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% 0}.color-facet__item__image{display:block;width:100%;height:100%}.color-facet__item__actions{display:none}.color-facet__item--selected{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.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{margin-bottom:var(--padding-xs)}.recent-searches-facet__list__item{margin-bottom:var(--padding-xs)}.related-searches-facet__list__item{margin-bottom:var(--padding-xs)}.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% 0;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:bold}.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:bold;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(-0.5*var(--padding)) calc(-1*var(--padding)) calc(-0.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:bold}.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:bold}.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:bold}.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 0;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(-0.5*var(--padding) - 1px) 0 0 2rem;box-shadow:0 0 5px rgba(0,0,0,.1);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{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.variant-selector-list__item:hover{outline:solid 1px var(--color-accent);border-color:var(--color-accent)}.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)}
@@ -0,0 +1 @@
1
+ export declare function getColor(name: string): string | undefined;
@@ -0,0 +1,4 @@
1
+ export declare function datesEqual(date1: Date, date2: Date): boolean;
2
+ export declare function getDayAbbreviation(day: number): string;
3
+ export declare function getMonth(date: Date): string;
4
+ export declare function getMonths(): Array<string>;
@@ -0,0 +1 @@
1
+ export declare function decodeNestedURI(value: string): string;
@@ -0,0 +1,4 @@
1
+ export declare function formatCurrency(value: number, decimals?: number): string;
2
+ export declare function formatDateIso(value: Date): string;
3
+ export declare function formatDateShort(value: Date): string;
4
+ export declare function formatNumber(value: number, decimals?: number): string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module Helpers
3
+ */
4
+ export * from './colors';
5
+ export * from './dates';
6
+ export * from './decodes';
7
+ export * from './formatters';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bridgeline-digital/hawksearch-handlebars-ui",
3
- "version": "5.2.0",
3
+ "version": "5.2.2",
4
4
  "description": "The HawkSearch Handlebars UI package allows you to add a highly-customizable search results page to your website powered by HawkSearch.",
5
5
  "private": false,
6
6
  "publishConfig": {