@bridgeline-digital/hawksearch-handlebars-ui 6.0.0-vite-lib.6 → 6.0.0

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 (245) hide show
  1. package/changelog.md +151 -106
  2. package/dist/hawksearch-handlebars-ui.cjs +1 -1
  3. package/dist/hawksearch-handlebars-ui.js +146 -160
  4. package/dist/hawksearch-handlebars-ui.min.js +138 -116
  5. package/dist/hawksearch-handlebars-ui.umd.cjs +1 -1
  6. package/dist/index.d.ts +135 -2759
  7. package/docs/assets/custom.css +25 -0
  8. package/docs/assets/highlight.css +134 -0
  9. package/docs/assets/main.js +58 -0
  10. package/docs/assets/search.js +1 -0
  11. package/docs/assets/style.css +1367 -0
  12. package/docs/classes/Components.AutocompleteComponent.html +380 -0
  13. package/docs/classes/Components.BaseComponent.html +297 -0
  14. package/docs/classes/Components.BaseContentComponent.html +283 -0
  15. package/docs/classes/Components.BaseFacetComponent.html +354 -0
  16. package/docs/classes/Components.CheckboxListFacetComponent.html +329 -0
  17. package/docs/classes/Components.ColorFacetComponent.html +312 -0
  18. package/docs/classes/Components.ContentZoneComponent.html +352 -0
  19. package/docs/classes/Components.CustomContentComponent.html +304 -0
  20. package/docs/classes/Components.DatePickerComponent.html +518 -0
  21. package/docs/classes/Components.DateRangeFacetComponent.html +328 -0
  22. package/docs/classes/Components.FacetWrapperComponent.html +350 -0
  23. package/docs/classes/Components.FacetsListComponent.html +318 -0
  24. package/docs/classes/Components.FeaturedItemsContentComponent.html +304 -0
  25. package/docs/classes/Components.FeaturedItemsContentItemComponent.html +340 -0
  26. package/docs/classes/Components.IconComponent.html +345 -0
  27. package/docs/classes/Components.ImageContentComponent.html +304 -0
  28. package/docs/classes/Components.LandingPageComponent.html +342 -0
  29. package/docs/classes/Components.LinkListFacetComponent.html +312 -0
  30. package/docs/classes/Components.ModifiedQueryComponent.html +319 -0
  31. package/docs/classes/Components.NumericRangeFacetComponent.html +328 -0
  32. package/docs/classes/Components.PageSizeComponent.html +319 -0
  33. package/docs/classes/Components.PaginationComponent.html +346 -0
  34. package/docs/classes/Components.PopularQueriesContentComponent.html +304 -0
  35. package/docs/classes/Components.QuerySuggestionsComponent.html +332 -0
  36. package/docs/classes/Components.RangeSliderComponent.html +376 -0
  37. package/docs/classes/Components.RangeSliderFacetComponent.html +328 -0
  38. package/docs/classes/Components.RatingComponent.html +338 -0
  39. package/docs/classes/Components.RecentSearchesFacetComponent.html +324 -0
  40. package/docs/classes/Components.RecommendationsComponent.html +430 -0
  41. package/docs/classes/Components.RecommendationsItemComponent.html +332 -0
  42. package/docs/classes/Components.RelatedSearchesFacetComponent.html +324 -0
  43. package/docs/classes/Components.SearchFieldComponent.html +336 -0
  44. package/docs/classes/Components.SearchResultsComponent.html +344 -0
  45. package/docs/classes/Components.SearchResultsItemComponent.html +332 -0
  46. package/docs/classes/Components.SearchResultsListComponent.html +304 -0
  47. package/docs/classes/Components.SearchWithinFacetComponent.html +324 -0
  48. package/docs/classes/Components.SelectedFacetsComponent.html +322 -0
  49. package/docs/classes/Components.SizeFacetComponent.html +312 -0
  50. package/docs/classes/Components.SortingComponent.html +318 -0
  51. package/docs/classes/Components.TabsComponent.html +318 -0
  52. package/docs/classes/Components.TooltipComponent.html +322 -0
  53. package/docs/classes/Components.VariantSelectorComponent.html +304 -0
  54. package/docs/classes/Services.AutocompleteService.html +386 -0
  55. package/docs/classes/Services.BaseService.html +343 -0
  56. package/docs/classes/Services.RecommendationsService.html +386 -0
  57. package/docs/classes/Services.SearchService.html +733 -0
  58. package/docs/classes/Services.TrackingService.html +558 -0
  59. package/docs/enums/Models.AutocompleteItemType.html +186 -0
  60. package/docs/enums/Models.EventType.html +221 -0
  61. package/docs/enums/Models.PageType.html +191 -0
  62. package/docs/enums/Models.SearchType.html +176 -0
  63. package/docs/functions/Helpers.add.html +96 -0
  64. package/docs/functions/Helpers.and.html +91 -0
  65. package/docs/functions/Helpers.arrayFilterObjects.html +92 -0
  66. package/docs/functions/Helpers.arrayHasObjectsWithValue.html +92 -0
  67. package/docs/functions/Helpers.attribute.html +96 -0
  68. package/docs/functions/Helpers.concat.html +91 -0
  69. package/docs/functions/Helpers.currency.html +92 -0
  70. package/docs/functions/Helpers.decode.html +82 -0
  71. package/docs/functions/Helpers.decodeNested.html +82 -0
  72. package/docs/functions/Helpers.eq.html +87 -0
  73. package/docs/functions/Helpers.exclude.html +91 -0
  74. package/docs/functions/Helpers.gt.html +87 -0
  75. package/docs/functions/Helpers.gte.html +87 -0
  76. package/docs/functions/Helpers.html.html +82 -0
  77. package/docs/functions/Helpers.ifElse.html +101 -0
  78. package/docs/functions/Helpers.lt.html +87 -0
  79. package/docs/functions/Helpers.lte.html +87 -0
  80. package/docs/functions/Helpers.number.html +92 -0
  81. package/docs/functions/Helpers.or.html +82 -0
  82. package/docs/functions/Helpers.string.html +87 -0
  83. package/docs/functions/Helpers.subtract.html +87 -0
  84. package/docs/index.html +171 -0
  85. package/docs/interfaces/Configuration.AutocompleteComponentConfig.html +135 -0
  86. package/docs/interfaces/Configuration.BaseComponentConfig.html +171 -0
  87. package/docs/interfaces/Configuration.Breakpoints.html +135 -0
  88. package/docs/interfaces/Configuration.CheckboxListFacetComponentConfig.html +160 -0
  89. package/docs/interfaces/Configuration.ColorFacetComponentConfig.html +156 -0
  90. package/docs/interfaces/Configuration.ContentZoneComponentConfig.html +135 -0
  91. package/docs/interfaces/Configuration.CustomContentComponentConfig.html +135 -0
  92. package/docs/interfaces/Configuration.DatePickerComponentConfig.html +153 -0
  93. package/docs/interfaces/Configuration.DateRangeFacetComponentConfig.html +147 -0
  94. package/docs/interfaces/Configuration.FacetWrapperComponentConfig.html +135 -0
  95. package/docs/interfaces/Configuration.FacetsListComponentConfig.html +145 -0
  96. package/docs/interfaces/Configuration.FeaturedItemsContentComponentConfig.html +135 -0
  97. package/docs/interfaces/Configuration.FeaturedItemsContentItemComponentConfig.html +145 -0
  98. package/docs/interfaces/Configuration.FieldMappings.html +211 -0
  99. package/docs/interfaces/Configuration.HawkSearchComponents.html +305 -0
  100. package/docs/interfaces/Configuration.HawkSearchConfig.html +504 -0
  101. package/docs/interfaces/Configuration.HawkSearchGlobal.html +174 -0
  102. package/docs/interfaces/Configuration.HawkSearchState.html +120 -0
  103. package/docs/interfaces/Configuration.IconComponentConfig.html +135 -0
  104. package/docs/interfaces/Configuration.ImageContentComponentConfig.html +135 -0
  105. package/docs/interfaces/Configuration.LandingPageComponentConfig.html +135 -0
  106. package/docs/interfaces/Configuration.LinkListFacetComponentConfig.html +147 -0
  107. package/docs/interfaces/Configuration.ModifiedQueryComponentConfig.html +147 -0
  108. package/docs/interfaces/Configuration.NumericRangeFacetComponentConfig.html +147 -0
  109. package/docs/interfaces/Configuration.PageSizeComponentConfig.html +135 -0
  110. package/docs/interfaces/Configuration.PaginationComponentConfig.html +153 -0
  111. package/docs/interfaces/Configuration.PopularQueriesContentComponentConfig.html +135 -0
  112. package/docs/interfaces/Configuration.QuerySuggestionsComponentConfig.html +147 -0
  113. package/docs/interfaces/Configuration.RangeSliderComponentConfig.html +147 -0
  114. package/docs/interfaces/Configuration.RangeSliderFacetComponentConfig.html +147 -0
  115. package/docs/interfaces/Configuration.RatingComponentConfig.html +135 -0
  116. package/docs/interfaces/Configuration.RecentSearchesFacetComponentConfig.html +135 -0
  117. package/docs/interfaces/Configuration.RecommendationsComponentConfig.html +180 -0
  118. package/docs/interfaces/Configuration.RecommendationsItemComponentConfig.html +145 -0
  119. package/docs/interfaces/Configuration.RelatedSearchesFacetComponentConfig.html +135 -0
  120. package/docs/interfaces/Configuration.SearchFieldComponentConfig.html +145 -0
  121. package/docs/interfaces/Configuration.SearchResultsComponentConfig.html +135 -0
  122. package/docs/interfaces/Configuration.SearchResultsItemComponentConfig.html +145 -0
  123. package/docs/interfaces/Configuration.SearchResultsListComponentConfig.html +135 -0
  124. package/docs/interfaces/Configuration.SearchWithinFacetComponentConfig.html +145 -0
  125. package/docs/interfaces/Configuration.SelectedFacetsComponentConfig.html +145 -0
  126. package/docs/interfaces/Configuration.SizeFacetComponentConfig.html +156 -0
  127. package/docs/interfaces/Configuration.SortingComponentConfig.html +135 -0
  128. package/docs/interfaces/Configuration.TabsComponentConfig.html +135 -0
  129. package/docs/interfaces/Configuration.TooltipComponentConfig.html +135 -0
  130. package/docs/interfaces/Configuration.VariantFieldMappings.html +263 -0
  131. package/docs/interfaces/Configuration.VariantSelectorComponentConfig.html +135 -0
  132. package/docs/interfaces/Models.AutocompleteCategories.html +180 -0
  133. package/docs/interfaces/Models.AutocompleteCategory.html +190 -0
  134. package/docs/interfaces/Models.AutocompleteComponentModel.html +232 -0
  135. package/docs/interfaces/Models.AutocompleteContent.html +185 -0
  136. package/docs/interfaces/Models.AutocompleteContentResult.html +200 -0
  137. package/docs/interfaces/Models.AutocompleteProductResult.html +260 -0
  138. package/docs/interfaces/Models.AutocompleteProducts.html +185 -0
  139. package/docs/interfaces/Models.AutocompleteQueries.html +180 -0
  140. package/docs/interfaces/Models.AutocompleteQuery.html +180 -0
  141. package/docs/interfaces/Models.AutocompleteRequest.html +175 -0
  142. package/docs/interfaces/Models.AutocompleteResponse.html +217 -0
  143. package/docs/interfaces/Models.BaseComponentModel.html +195 -0
  144. package/docs/interfaces/Models.CalendarDay.html +195 -0
  145. package/docs/interfaces/Models.CheckboxListFacetComponentModel.html +220 -0
  146. package/docs/interfaces/Models.CheckboxListFacetValue.html +241 -0
  147. package/docs/interfaces/Models.ColorFacetComponentModel.html +206 -0
  148. package/docs/interfaces/Models.ColorFacetValue.html +231 -0
  149. package/docs/interfaces/Models.ContentConfiguration.html +185 -0
  150. package/docs/interfaces/Models.ContentType.html +206 -0
  151. package/docs/interfaces/Models.ContentZone.html +180 -0
  152. package/docs/interfaces/Models.ContentZoneComponentModel.html +184 -0
  153. package/docs/interfaces/Models.ContentZoneItem.html +185 -0
  154. package/docs/interfaces/Models.ContentZones.html +159 -0
  155. package/docs/interfaces/Models.CustomContent.html +215 -0
  156. package/docs/interfaces/Models.CustomContentComponentModel.html +215 -0
  157. package/docs/interfaces/Models.CustomWidgetContent.html +213 -0
  158. package/docs/interfaces/Models.DateFacetRange.html +202 -0
  159. package/docs/interfaces/Models.DatePickerComponentModel.html +232 -0
  160. package/docs/interfaces/Models.DateRangeFacetComponentModel.html +204 -0
  161. package/docs/interfaces/Models.Facet.html +247 -0
  162. package/docs/interfaces/Models.FacetScrolling.html +180 -0
  163. package/docs/interfaces/Models.FacetSearch.html +175 -0
  164. package/docs/interfaces/Models.FacetTruncation.html +175 -0
  165. package/docs/interfaces/Models.FacetValue.html +220 -0
  166. package/docs/interfaces/Models.FacetValueColor.html +185 -0
  167. package/docs/interfaces/Models.FacetWrapperComponentModel.html +273 -0
  168. package/docs/interfaces/Models.FacetsListComponentModel.html +192 -0
  169. package/docs/interfaces/Models.FeaturedItemsContent.html +215 -0
  170. package/docs/interfaces/Models.FeaturedItemsContentComponentModel.html +215 -0
  171. package/docs/interfaces/Models.FeaturedItemsContentItem.html +265 -0
  172. package/docs/interfaces/Models.FeaturedItemsContentItemComponentModel.html +279 -0
  173. package/docs/interfaces/Models.IconComponentModel.html +192 -0
  174. package/docs/interfaces/Models.ImageContent.html +240 -0
  175. package/docs/interfaces/Models.ImageContentComponentModel.html +241 -0
  176. package/docs/interfaces/Models.Item.html +240 -0
  177. package/docs/interfaces/Models.ItemVariant.html +241 -0
  178. package/docs/interfaces/Models.LandingPageComponentModel.html +268 -0
  179. package/docs/interfaces/Models.LinkListFacetComponentModel.html +207 -0
  180. package/docs/interfaces/Models.LinkListFacetValue.html +231 -0
  181. package/docs/interfaces/Models.ModifiedQueryComponentModel.html +194 -0
  182. package/docs/interfaces/Models.ModifiedQueryData.html +185 -0
  183. package/docs/interfaces/Models.NumericFacetRange.html +202 -0
  184. package/docs/interfaces/Models.NumericRangeFacetComponentModel.html +204 -0
  185. package/docs/interfaces/Models.PageSizeComponentModel.html +177 -0
  186. package/docs/interfaces/Models.Pagination.html +210 -0
  187. package/docs/interfaces/Models.PaginationComponentModel.html +255 -0
  188. package/docs/interfaces/Models.PaginationOption.html +190 -0
  189. package/docs/interfaces/Models.PopularQueriesContent.html +215 -0
  190. package/docs/interfaces/Models.PopularQueriesContentComponentModel.html +215 -0
  191. package/docs/interfaces/Models.PopularQueriesContentItem.html +185 -0
  192. package/docs/interfaces/Models.QuerySuggestionsComponentModel.html +177 -0
  193. package/docs/interfaces/Models.QuerySuggestionsData.html +180 -0
  194. package/docs/interfaces/Models.RangeSliderComponentModel.html +194 -0
  195. package/docs/interfaces/Models.RangeSliderEventData.html +180 -0
  196. package/docs/interfaces/Models.RangeSliderFacetComponentModel.html +214 -0
  197. package/docs/interfaces/Models.RatingComponentModel.html +177 -0
  198. package/docs/interfaces/Models.RecentSearchesFacetComponentModel.html +177 -0
  199. package/docs/interfaces/Models.RecommendationsComponentModel.html +252 -0
  200. package/docs/interfaces/Models.RecommendationsItem.html +252 -0
  201. package/docs/interfaces/Models.RecommendationsItemComponentModel.html +261 -0
  202. package/docs/interfaces/Models.RecommendationsRequest.html +185 -0
  203. package/docs/interfaces/Models.RecommendationsResponse.html +180 -0
  204. package/docs/interfaces/Models.RecommendationsWidget.html +197 -0
  205. package/docs/interfaces/Models.Redirect.html +180 -0
  206. package/docs/interfaces/Models.RelatedSearchesFacetComponentModel.html +177 -0
  207. package/docs/interfaces/Models.SearchFieldComponentModel.html +187 -0
  208. package/docs/interfaces/Models.SearchRequest.html +215 -0
  209. package/docs/interfaces/Models.SearchResponse.html +248 -0
  210. package/docs/interfaces/Models.SearchResultsComponentModel.html +263 -0
  211. package/docs/interfaces/Models.SearchResultsItem.html +267 -0
  212. package/docs/interfaces/Models.SearchResultsItemComponentModel.html +281 -0
  213. package/docs/interfaces/Models.SearchResultsItemVariant.html +253 -0
  214. package/docs/interfaces/Models.SearchResultsListComponentModel.html +177 -0
  215. package/docs/interfaces/Models.SearchWithinFacetComponentModel.html +187 -0
  216. package/docs/interfaces/Models.SelectedFacet.html +190 -0
  217. package/docs/interfaces/Models.SelectedFacetValue.html +185 -0
  218. package/docs/interfaces/Models.SelectedFacetsComponentModel.html +200 -0
  219. package/docs/interfaces/Models.SeoConfiguration.html +195 -0
  220. package/docs/interfaces/Models.SizeFacetComponentModel.html +206 -0
  221. package/docs/interfaces/Models.SizeFacetValue.html +231 -0
  222. package/docs/interfaces/Models.Sorting.html +180 -0
  223. package/docs/interfaces/Models.SortingComponentModel.html +177 -0
  224. package/docs/interfaces/Models.SortingOption.html +190 -0
  225. package/docs/interfaces/Models.TabsComponentModel.html +182 -0
  226. package/docs/interfaces/Models.TooltipComponentModel.html +177 -0
  227. package/docs/interfaces/Models.VariantSelectorComponentModel.html +182 -0
  228. package/docs/interfaces/Models.Variants.html +180 -0
  229. package/docs/interfaces/Services.ServiceFieldMappings.html +114 -0
  230. package/docs/interfaces/Services.ServiceVariantFieldMappings.html +128 -0
  231. package/docs/modules/Components.html +484 -0
  232. package/docs/modules/Configuration.html +148 -0
  233. package/docs/modules/Helpers.html +91 -0
  234. package/docs/modules/Models.html +283 -0
  235. package/docs/modules/Services.html +66 -0
  236. package/docs/types/Configuration.DisplayType.html +93 -0
  237. package/docs/types/Models.FacetState.html +167 -0
  238. package/docs/types/Models.FacetType.html +154 -0
  239. package/docs/types/Models.FacetValueState.html +159 -0
  240. package/docs/types/Models.IconName.html +154 -0
  241. package/docs/types/Models.ItemType.html +154 -0
  242. package/docs/types/Models.SearchResultsMode.html +154 -0
  243. package/docs/types/Models.SelectedFacets.html +154 -0
  244. package/package.json +27 -23
  245. package/readme.md +20 -21
package/changelog.md CHANGED
@@ -1,106 +1,151 @@
1
- # 5.0.1
2
-
3
- 1. Fixed bug in API endpoint construction when overriding the default `endpointUrl` for Autocomplete
4
-
5
- # 5.0.0
6
-
7
- ## New Features
8
-
9
- 1. Added VariantSelectorComponent
10
- 2. Implemented VariantSelectorComponent in default templates for search results, featured items, recommendations, and autocomplete
11
-
12
- ## Bug Fixes
13
-
14
- 1. Updated the `attributes` collection on recommendation items to split single string values by `|^|` into string arrays
15
- 2. Added logic to catch HTTP errors in service layer
16
-
17
- ## Breaking Changes
18
-
19
- 1. Modified JSON structure for field mapping configuration
20
- 2. The `attributes` collection on recommendation items now consists of the data in `customDict` from the API response rather than preserving `customDict` as a nested property
21
-
22
- # 4.0.4
23
-
24
- 1. Modified RecommendationsService to transform response properties into arrays to be consistent with search results and autocomplete
25
- 2. Modified `attributes` property on `RecommendationsItem` to include only the properties from `customDict` on the API response. The other properties from the response are standard so repeating them under `attributes` does not make sense.
26
- 3. Fixed bug with autocomplete top categories links not working when not on search results page
27
- 4. Fixed parameter name in order tracking event data
28
-
29
- # 4.0.3
30
-
31
- 1. Fixed URL parsing logic to avoid prepending domain when API returns a value starting with `//`
32
-
33
- # 4.0.2
34
-
35
- 1. Updated `number` and `currency` Handlebars helpers to handle string values from API and made decimals parameter optional
36
-
37
- # 4.0.1
38
-
39
- 1. Modified SearchService so that `hawksearch:after-search-completed` event fires before SEO elements are set
40
-
41
- # 4.0.0
42
-
43
- ## New Features
44
-
45
- 1. Added `HawkSearch.config.autocomplete.recommendationsEnabled` property with a default value of `false` to toggle autocomplete recommendations (instant engage)
46
- 2. Added new RatingComponent to be displayed on SearchResultsItemComponent, RecommendationsItemComponent, and FeaturedItemsContentItemComponent.
47
- 3. Added product ratings and prices to autocomplete
48
- 4. Added suggested queries (did you mean?) to autocomplete
49
-
50
- ## Bug Fixes
51
-
52
- 1. Converting `price` and `salePrice` values of 0 to `undefined`
53
- 2. Fixed price rendering logic in default templates of SearchResultsItemComponent, RecommendationsItemComponent, and FeaturedItemsContentItemComponent
54
-
55
- ## Breaking Changes
56
-
57
- 1. Refactored HawkSearchConfig structure to group properties by search, autocomplete, and recommendations. Some property names have changed slightly.
58
- 2. Modified endpoints configuration to expect only domain rather than full API URL
59
-
60
- # 3.0.0
61
-
62
- ## New Features
63
-
64
- 1. Added support for A/B testing in Recommendations component
65
- 2. Added support for default autocomplete without entering a query
66
- 3. Modified autocomplete to display when refocusing on search field
67
- 4. Added optional `item-id` attribute to Recommendations component
68
- 5. Added instance-level configuration overrides through `config` attribute or `configOverride` property
69
-
70
- ## Bug Fixes
71
-
72
- 1. Fixed script file name and configuration link in documentation
73
- 2. Fixed bug requiring double-click to expand facet that is collapsed by default
74
-
75
- ## Breaking Changes
76
-
77
- 1. Removed unused option to define custom component template as child content of tag to provide future possibility of using slots or declarative Shadow DOM
78
-
79
- # 2.0.0
80
-
81
- ## New Features
82
-
83
- 1. Added Landing Pages components
84
- 2. Added Recommendations components
85
- 3. Added component-level configuration to support functionality toggles and easy string replacements
86
- 4. Added `hawksearch:before-${componentName}-rendered` event hooks to support passing custom data to Handlebars templates
87
- 5. Added configuration setting to toggle facet exclude value functionality. This is now disabled by default.
88
- 6. Added ability to load CSS styles without requiring an external stylesheet
89
- 7. Added customizable index to search results, autocomplete, and recommendations requests
90
- 8. Added ability to set product as default search results item type
91
- 9. Added alternate `[[value]]` syntax to work the same as the default Handlerbars `{{value}}` syntax to avoid conflicts when customizing templates within BigCommerce
92
- 10. Added support for nested object properties in field mappings
93
- 11. Added rendering of canonical URL including search refinements
94
- 12. Added configurable facet exclusion prefix
95
- 13. Implemented TypeDoc code-generated documentation to ensure it remains up-to-date and available for each version
96
-
97
- ## Bug Fixes
98
-
99
- 1. Fixed Autocomplete template name
100
- 2. Added logic to handle scrolling facets by setting a max-height in default template
101
-
102
- ## Breaking Changes
103
-
104
- 1. Changed entry file from `hawksearch-handlebars-ui.js` to `index.js`
105
- 2. Renamed `Hawksearch` global object to `HawkSearch`
106
- 3. Changes to `HawkSearch.config` model to support new features
1
+ # 6.0.0
2
+
3
+ ## Enhancements
4
+
5
+ 1. Build output now generated by Vite instead of Webpack
6
+ 2. External assets such as default CSS and icons are now bundled directly in JavaScript file to minimize the number of HTTP requests
7
+ 3. Build output now contains cjs, es, and umd formats along with typing to allow custom implementations to reference this as a libary
8
+ 4. Changed TypeDoc theme to support latest version of Typedoc and allow bundling in npm package
9
+ 5. Added support for storing custom templates in `script` as an alternative to `template` elements for greater flexibility and avoiding some edge case browser issues
10
+ 6. Tests added and executed by `vitest`
11
+
12
+ ## Bug Fixes
13
+
14
+ 1. Prevented "empty" range facets from displaying when facet configuration is incorrect
15
+ 2. Add decodeURI helper for Templates
16
+
17
+ ## Breaking Changes
18
+
19
+ 1. Hawksearch configuration requires executing the `HawkSearch.init` function which should be triggered after `hawksearch:loaded` event
20
+
21
+ # 5.0.17
22
+
23
+ ## Enhancements
24
+
25
+ 1. Added `HawkSearch.config.autocomplete.minCharacterCount` property with a default value of `1` to specify the minimum length of a query before triggering autocomplete recommendations
26
+
27
+ # 5.0.16
28
+
29
+ ## Enhancements
30
+
31
+ 1. Add support for script elements for custom templates
32
+ 2. Added support for content result images in default templates
33
+
34
+ ## Bug Fixes
35
+
36
+ 1. Added check to not display range facets that do not have range data (from API bug)
37
+
38
+ # 5.0.15
39
+
40
+ ## Bug Fixes
41
+
42
+ 1. Fixed bug with QueryString not adding correct param names when same facet parents are selected
43
+
44
+ # 5.0.1
45
+
46
+ ## Bug Fixes
47
+
48
+ 1. Fixed bug in API endpoint construction when overriding the default `endpointUrl` for Autocomplete
49
+
50
+ # 5.0.0
51
+
52
+ ## Enhancements
53
+
54
+ 1. Added VariantSelectorComponent
55
+ 2. Implemented VariantSelectorComponent in default templates for search results, featured items, recommendations, and autocomplete
56
+
57
+ ## Bug Fixes
58
+
59
+ 1. Updated the `attributes` collection on recommendation items to split single string values by `|^|` into string arrays
60
+ 2. Added logic to catch HTTP errors in service layer
61
+
62
+ ## Breaking Changes
63
+
64
+ 1. Modified JSON structure for field mapping configuration
65
+ 2. The `attributes` collection on recommendation items now consists of the data in `customDict` from the API response rather than preserving `customDict` as a nested property
66
+
67
+ # 4.0.4
68
+
69
+ 1. Modified RecommendationsService to transform response properties into arrays to be consistent with search results and autocomplete
70
+ 2. Modified `attributes` property on `RecommendationsItem` to include only the properties from `customDict` on the API response. The other properties from the response are standard so repeating them under `attributes` does not make sense.
71
+ 3. Fixed bug with autocomplete top categories links not working when not on search results page
72
+ 4. Fixed parameter name in order tracking event data
73
+
74
+ # 4.0.3
75
+
76
+ 1. Fixed URL parsing logic to avoid prepending domain when API returns a value starting with `//`
77
+
78
+ # 4.0.2
79
+
80
+ 1. Updated `number` and `currency` Handlebars helpers to handle string values from API and made decimals parameter optional
81
+
82
+ # 4.0.1
83
+
84
+ 1. Modified SearchService so that `hawksearch:after-search-completed` event fires before SEO elements are set
85
+
86
+ # 4.0.0
87
+
88
+ ## Enhancements
89
+
90
+ 1. Added `HawkSearch.config.autocomplete.recommendationsEnabled` property with a default value of `false` to toggle autocomplete recommendations (instant engage)
91
+ 2. Added new RatingComponent to be displayed on SearchResultsItemComponent, RecommendationsItemComponent, and FeaturedItemsContentItemComponent.
92
+ 3. Added product ratings and prices to autocomplete
93
+ 4. Added suggested queries (did you mean?) to autocomplete
94
+
95
+ ## Bug Fixes
96
+
97
+ 1. Converting `price` and `salePrice` values of 0 to `undefined`
98
+ 2. Fixed price rendering logic in default templates of SearchResultsItemComponent, RecommendationsItemComponent, and FeaturedItemsContentItemComponent
99
+
100
+ ## Breaking Changes
101
+
102
+ 1. Refactored HawkSearchConfig structure to group properties by search, autocomplete, and recommendations. Some property names have changed slightly.
103
+ 2. Modified endpoints configuration to expect only domain rather than full API URL
104
+
105
+ # 3.0.0
106
+
107
+ ## Enhancements
108
+
109
+ 1. Added support for A/B testing in Recommendations component
110
+ 2. Added support for default autocomplete without entering a query
111
+ 3. Modified autocomplete to display when refocusing on search field
112
+ 4. Added optional `item-id` attribute to Recommendations component
113
+ 5. Added instance-level configuration overrides through `config` attribute or `configOverride` property
114
+
115
+ ## Bug Fixes
116
+
117
+ 1. Fixed script file name and configuration link in documentation
118
+ 2. Fixed bug requiring double-click to expand facet that is collapsed by default
119
+
120
+ ## Breaking Changes
121
+
122
+ 1. Removed unused option to define custom component template as child content of tag to provide future possibility of using slots or declarative Shadow DOM
123
+
124
+ # 2.0.0
125
+
126
+ ## Enhancements
127
+
128
+ 1. Added Landing Pages components
129
+ 2. Added Recommendations components
130
+ 3. Added component-level configuration to support functionality toggles and easy string replacements
131
+ 4. Added `hawksearch:before-${componentName}-rendered` event hooks to support passing custom data to Handlebars templates
132
+ 5. Added configuration setting to toggle facet exclude value functionality. This is now disabled by default.
133
+ 6. Added ability to load CSS styles without requiring an external stylesheet
134
+ 7. Added customizable index to search results, autocomplete, and recommendations requests
135
+ 8. Added ability to set product as default search results item type
136
+ 9. Added alternate `[[value]]` syntax to work the same as the default Handlerbars `{{value}}` syntax to avoid conflicts when customizing templates within BigCommerce
137
+ 10. Added support for nested object properties in field mappings
138
+ 11. Added rendering of canonical URL including search refinements
139
+ 12. Added configurable facet exclusion prefix
140
+ 13. Implemented TypeDoc code-generated documentation to ensure it remains up-to-date and available for each version
141
+
142
+ ## Bug Fixes
143
+
144
+ 1. Fixed Autocomplete template name
145
+ 2. Added logic to handle scrolling facets by setting a max-height in default template
146
+
147
+ ## Breaking Changes
148
+
149
+ 1. Changed entry file from `hawksearch-handlebars-ui.js` to `index.js`
150
+ 2. Renamed `Hawksearch` global object to `HawkSearch`
151
+ 3. Changes to `HawkSearch.config` model to support enhancements