@coveo/atomic 3.33.8-pre.c54adf6755 → 3.33.8-pre.d75d8e5578

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 (179) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +2 -0
  4. package/dist/atomic/components/_index.js +2 -2
  5. package/dist/atomic/components/analytics-config.js +1 -1
  6. package/dist/atomic/components/atomic-insight-search-box.js +6 -32
  7. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  8. package/dist/atomic/components/atomic-search-box-instant-results.js +2 -2
  9. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  10. package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +11 -0
  11. package/dist/atomic/components/atomic-search-box-query-suggestions.js +8 -0
  12. package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +1 -0
  13. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +89 -0
  14. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -0
  15. package/dist/atomic/components/atomic-search-box-recent-queries2.js +2 -2
  16. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -1
  17. package/dist/atomic/components/atomic-search-box.js +13 -6
  18. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  19. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  20. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  21. package/dist/atomic/components/atomic-suggestion-renderer2.js.map +1 -1
  22. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  23. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +4 -1
  24. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +1 -1
  25. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +1 -1
  26. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +1 -1
  27. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.js +1 -1
  28. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +1 -1
  29. package/dist/atomic/components/components/common/layout/layout-styles-controller.js +1 -1
  30. package/dist/atomic/components/components/common/suggestions/suggestion-manager.js +1 -1
  31. package/dist/atomic/components/components/common/suggestions/{suggestions-events.js → suggestions-common.js} +18 -16
  32. package/dist/atomic/components/components/search/index.js +0 -1
  33. package/dist/atomic/components/components/search/lazy-index.js +0 -1
  34. package/dist/atomic/components/global/environment.js +1 -1
  35. package/dist/atomic/components/stencil-query-suggestions.js +33 -0
  36. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -0
  37. package/dist/atomic/components/stencil-suggestion-manager.js +2 -20
  38. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  39. package/dist/atomic/components/{suggestions-events.js → suggestions-common.js} +20 -18
  40. package/dist/atomic/components/suggestions-common.js.map +1 -0
  41. package/dist/atomic/index.esm.js +1 -1
  42. package/dist/atomic/index.esm.js.map +1 -1
  43. package/dist/atomic/{p-9b24788e.entry.js → p-0bfa74d3.entry.js} +2 -2
  44. package/dist/atomic/p-29fd6768.js +2 -0
  45. package/dist/atomic/p-29fd6768.js.map +1 -0
  46. package/dist/atomic/{p-d0f47b33.entry.js → p-36e71b99.entry.js} +2 -2
  47. package/dist/atomic/p-36e71b99.entry.js.map +1 -0
  48. package/dist/atomic/{p-c88a3d2d.entry.js → p-3d847e45.entry.js} +2 -2
  49. package/dist/atomic/p-3d847e45.entry.js.map +1 -0
  50. package/dist/atomic/p-7601c3de.js +2 -0
  51. package/dist/atomic/p-7601c3de.js.map +1 -0
  52. package/dist/atomic/{p-ae98c582.entry.js → p-7a625c7e.entry.js} +2 -2
  53. package/dist/atomic/{p-c1384fa7.entry.js → p-828d74f8.entry.js} +2 -2
  54. package/dist/atomic/p-8867af82.entry.js +2 -0
  55. package/dist/atomic/p-8867af82.entry.js.map +1 -0
  56. package/dist/atomic/{p-be8d7ee7.entry.js → p-8b9b8089.entry.js} +2 -2
  57. package/dist/atomic/{p-39e63678.entry.js → p-aa2a81fd.entry.js} +2 -2
  58. package/dist/atomic/{p-fbfe913d.entry.js → p-aa4224ea.entry.js} +2 -2
  59. package/dist/atomic/p-aa4224ea.entry.js.map +1 -0
  60. package/dist/atomic/p-af93b44c.js +2 -0
  61. package/dist/atomic/p-af93b44c.js.map +1 -0
  62. package/dist/atomic/p-c1bf43cf.entry.js +2 -0
  63. package/dist/atomic/p-c1bf43cf.entry.js.map +1 -0
  64. package/dist/atomic/{p-c81ba3db.js → p-caa647d5.js} +2 -2
  65. package/dist/cjs/_index.cjs.js +2 -5
  66. package/dist/cjs/_loader.cjs.js +1 -1
  67. package/dist/cjs/{analytics-config-f6473d68.js → analytics-config-75507a47.js} +2 -2
  68. package/dist/cjs/{analytics-config-f6473d68.js.map → analytics-config-75507a47.js.map} +1 -1
  69. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  70. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +9 -35
  71. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  72. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  73. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +3 -3
  74. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  75. package/dist/cjs/{atomic-search-box-recent-queries.cjs.entry.js → atomic-search-box-query-suggestions_2.cjs.entry.js} +69 -6
  76. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +1 -0
  77. package/dist/cjs/atomic-search-box.cjs.entry.js +7 -7
  78. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  79. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  80. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  81. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  82. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
  83. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  84. package/dist/cjs/atomic.cjs.js +1 -1
  85. package/dist/cjs/index-757bc886.js +2 -2
  86. package/dist/cjs/index.cjs.js.map +1 -1
  87. package/dist/cjs/stencil-query-suggestions-03268ecc.js +38 -0
  88. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +1 -0
  89. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js → stencil-suggestion-manager-c0878ef2.js} +4 -4
  90. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js.map → stencil-suggestion-manager-c0878ef2.js.map} +1 -1
  91. package/dist/cjs/{suggestions-events-63dd0640.js → suggestions-common-5097a362.js} +21 -17
  92. package/dist/cjs/suggestions-common-5097a362.js.map +1 -0
  93. package/dist/cjs/version.cjs.js +2 -2
  94. package/dist/esm/_index.js +1 -2
  95. package/dist/esm/_loader.js +1 -1
  96. package/dist/esm/{analytics-config-b49fc947.js → analytics-config-54cbe2b9.js} +2 -2
  97. package/dist/esm/{analytics-config-b49fc947.js.map → analytics-config-54cbe2b9.js.map} +1 -1
  98. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  99. package/dist/esm/atomic-insight-search-box.entry.js +7 -33
  100. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  101. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  102. package/dist/esm/atomic-search-box-instant-results.entry.js +2 -2
  103. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  104. package/dist/esm/{atomic-search-box-recent-queries.entry.js → atomic-search-box-query-suggestions_2.entry.js} +70 -8
  105. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +1 -0
  106. package/dist/esm/atomic-search-box.entry.js +6 -6
  107. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  108. package/dist/esm/atomic-search-interface.entry.js +1 -1
  109. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  110. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  111. package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
  112. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  113. package/dist/esm/atomic.js +1 -1
  114. package/dist/esm/index-3f35faca.js +2 -2
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/stencil-query-suggestions-5d6a46d7.js +33 -0
  117. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +1 -0
  118. package/dist/esm/{stencil-suggestion-manager-376f83e8.js → stencil-suggestion-manager-486094dd.js} +2 -2
  119. package/dist/esm/{stencil-suggestion-manager-376f83e8.js.map → stencil-suggestion-manager-486094dd.js.map} +1 -1
  120. package/dist/esm/{suggestions-events-b7a6f007.js → suggestions-common-2b20db26.js} +20 -18
  121. package/dist/esm/suggestions-common-2b20db26.js.map +1 -0
  122. package/dist/esm/version.js +2 -2
  123. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +2 -1
  124. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -0
  125. package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +1 -1
  126. package/dist/types/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.d.ts +1 -1
  127. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -1
  128. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
  129. package/dist/types/components/common/suggestions/instant-item.d.ts +1 -1
  130. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -1
  131. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -1
  132. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +1 -1
  133. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +1 -1
  134. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +1 -1
  135. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
  136. package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
  137. package/dist/types/components/common/suggestions/{suggestions-types.d.ts → suggestions-common.d.ts} +16 -6
  138. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -1
  139. package/dist/types/components/search/index.d.ts +0 -1
  140. package/dist/types/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
  141. package/dist/types/components/search/{atomic-search-box-query-suggestions → search-box-suggestions/atomic-search-box-query-suggestions}/atomic-search-box-query-suggestions.d.ts +8 -17
  142. package/dist/types/components.d.ts +51 -2
  143. package/dist/types/decorators/types.d.ts +1 -1
  144. package/dist/types/index.d.ts +1 -3
  145. package/docs/atomic-docs.json +104 -5
  146. package/package.json +3 -3
  147. package/dist/atomic/components/components/common/suggestions/suggestions-types.js +0 -1
  148. package/dist/atomic/components/components/common/suggestions/suggestions-utils.js +0 -18
  149. package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +0 -121
  150. package/dist/atomic/components/suggestions-events.js.map +0 -1
  151. package/dist/atomic/p-0a051b8d.js +0 -2
  152. package/dist/atomic/p-0a051b8d.js.map +0 -1
  153. package/dist/atomic/p-16f4ce98.js +0 -2
  154. package/dist/atomic/p-16f4ce98.js.map +0 -1
  155. package/dist/atomic/p-4b7a19db.js +0 -2
  156. package/dist/atomic/p-4b7a19db.js.map +0 -1
  157. package/dist/atomic/p-7a06a356.entry.js +0 -2
  158. package/dist/atomic/p-7a06a356.entry.js.map +0 -1
  159. package/dist/atomic/p-c88a3d2d.entry.js.map +0 -1
  160. package/dist/atomic/p-d0f47b33.entry.js.map +0 -1
  161. package/dist/atomic/p-d2b14ff1.entry.js +0 -2
  162. package/dist/atomic/p-d2b14ff1.entry.js.map +0 -1
  163. package/dist/atomic/p-fbfe913d.entry.js.map +0 -1
  164. package/dist/cjs/atomic-search-box-recent-queries.cjs.entry.js.map +0 -1
  165. package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
  166. package/dist/cjs/suggestions-utils-61000808.js +0 -25
  167. package/dist/cjs/suggestions-utils-61000808.js.map +0 -1
  168. package/dist/esm/atomic-search-box-recent-queries.entry.js.map +0 -1
  169. package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
  170. package/dist/esm/suggestions-utils-591559a0.js +0 -22
  171. package/dist/esm/suggestions-utils-591559a0.js.map +0 -1
  172. package/dist/types/components/common/suggestions/suggestions-events.d.ts +0 -14
  173. package/dist/types/components/common/suggestions/suggestions-utils.d.ts +0 -15
  174. /package/dist/atomic/{p-9b24788e.entry.js.map → p-0bfa74d3.entry.js.map} +0 -0
  175. /package/dist/atomic/{p-ae98c582.entry.js.map → p-7a625c7e.entry.js.map} +0 -0
  176. /package/dist/atomic/{p-c1384fa7.entry.js.map → p-828d74f8.entry.js.map} +0 -0
  177. /package/dist/atomic/{p-be8d7ee7.entry.js.map → p-8b9b8089.entry.js.map} +0 -0
  178. /package/dist/atomic/{p-39e63678.entry.js.map → p-aa2a81fd.entry.js.map} +0 -0
  179. /package/dist/atomic/{p-c81ba3db.js.map → p-caa647d5.js.map} +0 -0
@@ -1,22 +1,6 @@
1
1
  import { c as closest } from './dom-utils-f6086cd3.js';
2
2
  import { b as buildCustomEvent } from './event-utils-8de63ec3.js';
3
3
 
4
- /**
5
- * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
6
- *
7
- * @param event Event sent from the registered query suggestions to the parent search box
8
- * @param element Element on which to dispatch the event, which must be the child of a configured search box
9
- * @param allowedSearchBoxElements Optional array of allowed search box element selectors
10
- *
11
- * @throws Error if the element is not a child of an allowed search box element
12
- */
13
- const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
14
- const interfaceElement = closest(element, searchBoxElements.join(', '));
15
- if (!interfaceElement) {
16
- throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
17
- }
18
- void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
19
- };
20
4
  const searchBoxElements = [
21
5
  'atomic-search-box',
22
6
  'atomic-insight-search-box',
@@ -34,7 +18,25 @@ const dispatchSearchBoxSuggestionsEventEventually = async (interfaceElement, ele
34
18
  }
35
19
  element.dispatchEvent(buildCustomEvent('atomic/searchBoxSuggestion/register', event));
36
20
  };
21
+ /**
22
+ * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
23
+ * @param event Event sent from the registered query suggestions to the parent search box.
24
+ * @param element Element on which to dispatch the event, which must be the child of a configured search box.
25
+ */
26
+ const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
27
+ const interfaceElement = closest(element, searchBoxElements.join(', '));
28
+ if (!interfaceElement) {
29
+ throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
30
+ }
31
+ void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
32
+ };
33
+ function elementHasNoQuery(el) {
34
+ return !el.query || el.query.trim() === '';
35
+ }
36
+ function elementHasQuery(el) {
37
+ return !!el.query && el.query.trim() !== '';
38
+ }
37
39
 
38
- export { dispatchSearchBoxSuggestionsEvent as d };
40
+ export { elementHasNoQuery as a, dispatchSearchBoxSuggestionsEvent as d, elementHasQuery as e };
39
41
 
40
- //# sourceMappingURL=suggestions-events-b7a6f007.js.map
42
+ //# sourceMappingURL=suggestions-common-2b20db26.js.map
@@ -0,0 +1 @@
1
+ {"file":"suggestions-common-2b20db26.js","mappings":";;;AA0FA,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAoDX,MAAM,mBAAmB,GAAG,CAAC,SAAkB,KAC7C,gBAAgB,IAAK,SAAwB;IAC5C,SAAwB,CAAC,cAAc,YAAY,OAAO,CAAC;AAE9D,MAAM,2CAA2C,GAAG,OAIlD,gBAAyB,EACzB,OAAoB,EACpB,KAA+D;IAE/D,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACzC,MAAM,gBAAgB,CAAC,cAAc,CAAC;KACvC;SAAM,IAAI,kBAAkB,IAAI,gBAAgB,EAAE;QACjD,MAAO,gBAAuC,CAAC,gBAAgB,EAAE,CAAC;KACnE;IACD,OAAO,CAAC,aAAa,CACnB,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAC/D,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;MAKa,iCAAiC,GAAG,CAI/C,KAA+D,EAC/D,OAAoB,EACpB,2BAA0E,iBAAiB;IAE3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gFAAgF,wBAAwB,CAAC,IAAI,CACjJ,IAAI,CACL,EAAE,CACJ,CAAC;KACH;IACD,KAAK,2CAA2C,CAC9C,gBAAgB,EAChB,OAAO,EACP,KAAK,CACN,CAAC;AACJ,EAAE;SAEc,iBAAiB,CAAC,EAA8B;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;SAEe,eAAe,CAAC,EAA8B;IAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC9C;;;;","names":[],"sources":["src/components/common/suggestions/suggestions-common.ts"],"sourcesContent":["import type {VNode} from '@stencil/core';\nimport type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\n\n/**\n * Element which will be rendered in the list of suggestions.\n */\nexport interface SearchBoxSuggestionElement {\n /**\n * Stable identity which enables Stencil to reuse DOM elements for better performance.\n * The best way to pick a key is to use a string that uniquely identifies that list item among its siblings (often your data will already have IDs).\n */\n key: string;\n /**\n * Rendered content of the element.\n *\n * @remarks\n * The `VNode` type will be deprecated in v4 as we are detaching from Stencil.\n */\n content: Element | VNode;\n /**\n * Hook called when the selection is selected.\n * @param e DOM event.\n */\n onSelect?(e: Event): void;\n /**\n * The query associated with the suggestion which will replace the query in the search box if the suggestion is selected.\n */\n query?: string;\n /**\n * For improved accessibility, provide this property with additional information.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n */\n ariaLabel?: string;\n /**\n * Adds a specific shadow part attribute that can be selected with the CSS ::part pseudo-element.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/::part\n */\n part?: string;\n /**\n * Hide the suggestion if it's the last in the list.\n */\n hideIfLast?: boolean;\n}\n\n/**\n * List of suggestions that will be displayed along other lists (e.g recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value. The lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the suggested query changes as a user traverses through the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\n/**\n * Event sent from the registered query suggestions to the parent search box.\n */\nexport type SearchBoxSuggestionsEvent<\n SearchBoxController,\n Bindings = AnyBindings,\n> = (\n /**\n * The bindings passed from the search box to the suggestions.\n */\n bindings: SearchBoxSuggestionsBindings<SearchBoxController, Bindings>\n) => SearchBoxSuggestions;\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\n/**\n * The bindings passed from the search box to the suggestions.\n */\nexport type SearchBoxSuggestionsBindings<\n SearchBoxController,\n Bindings = AnyBindings,\n> = Bindings & {\n /**\n * The unique id of the search box.\n */\n id: string;\n /**\n * Whether the search box is [standalone](https://docs.coveo.com/en/atomic/latest/usage/ssb/).\n */\n isStandalone: boolean;\n /**\n * The search box headless controller.\n */\n searchBoxController: SearchBoxController;\n /**\n * The number of queries to display when the user interacts with the search box.\n */\n numberOfQueries: number;\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n */\n clearFilters: boolean;\n /**\n * Retrieves the suggested query, meaning the query that would be sent if the search is executed.\n * The suggested query changes as a user traverses through the list of suggestions.\n */\n suggestedQuery(): string;\n /**\n * Removes the current suggestions.\n */\n clearSuggestions(): void;\n /**\n * Triggers update & retrieval of all suggestions.\n */\n triggerSuggestions(): void;\n /**\n * Retrieves the current suggestions.\n */\n getSuggestions(): SearchBoxSuggestions[];\n /**\n * Retrieves the current suggestions elements.\n */\n getSuggestionElements(): SearchBoxSuggestionElement[];\n};\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n * @param event Event sent from the registered query suggestions to the parent search box.\n * @param element Element on which to dispatch the event, which must be the child of a configured search box.\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nexport function elementHasNoQuery(el: SearchBoxSuggestionElement) {\n return !el.query || el.query.trim() === '';\n}\n\nexport function elementHasQuery(el: SearchBoxSuggestionElement) {\n return !!el.query && el.query.trim() !== '';\n}\n"],"version":3}
@@ -1,2 +1,2 @@
1
- export const headlessVersion = '3.31.1-pre.c54adf6755';
2
- export const atomicVersion = '3.33.8-pre.c54adf6755';
1
+ export const headlessVersion = '3.31.0';
2
+ export const atomicVersion = '3.33.8-pre.d75d8e5578';
@@ -53,7 +53,8 @@ export declare class AtomicCommerceBreadbox extends LitElement implements Initia
53
53
  pathLimit: number;
54
54
  initialize(): void;
55
55
  willUpdate(changedProperties: Map<string, unknown>): void;
56
- updated(): void;
56
+ firstUpdated(): void;
57
+ updateCompleted(): void;
57
58
  private validateProps;
58
59
  disconnectedCallback(): void;
59
60
  private get breadcrumbs();
@@ -26,6 +26,7 @@ export declare class AtomicCommerceInterface extends AtomicCommerceInterface_bas
26
26
  private unsubscribeSummary?;
27
27
  private initialized;
28
28
  private store;
29
+ private _mobileBreakpointController;
29
30
  private interfaceController;
30
31
  static styles: CSSResultGroup;
31
32
  /**
@@ -2,7 +2,7 @@ import { type Product, type SearchBox } from '@coveo/headless/commerce';
2
2
  import { LitElement } from 'lit';
3
3
  import type { ItemRenderingFunction } from "../../common/item-list/item-list-common";
4
4
  import type { ItemDisplayDensity, ItemDisplayImageSize } from "../../common/layout/display-options";
5
- import type { SearchBoxSuggestions, SearchBoxSuggestionsBindings } from "../../common/suggestions/suggestions-types";
5
+ import { type SearchBoxSuggestions, type SearchBoxSuggestionsBindings } from "../../common/suggestions/suggestions-common";
6
6
  import type { SearchBoxSuggestionsComponent } from "../../../decorators/types";
7
7
  import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
8
8
  export type AriaLabelGenerator = (bindings: CommerceBindings, product: Product) => string | undefined;
@@ -1,6 +1,6 @@
1
1
  import { type SearchBox } from '@coveo/headless/commerce';
2
2
  import { LitElement } from 'lit';
3
- import type { SearchBoxSuggestions, SearchBoxSuggestionsBindings } from "../../common/suggestions/suggestions-types";
3
+ import { type SearchBoxSuggestions, type SearchBoxSuggestionsBindings } from "../../common/suggestions/suggestions-common";
4
4
  import type { SearchBoxSuggestionsComponent } from "../../../decorators/types";
5
5
  import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  import { type SearchBox } from '@coveo/headless/commerce';
2
2
  import { LitElement } from 'lit';
3
3
  import type { SearchBoxSuggestionsComponent } from "../../../decorators/types";
4
- import type { SearchBoxSuggestions, SearchBoxSuggestionsBindings } from '../../common/suggestions/suggestions-types';
4
+ import { type SearchBoxSuggestions, type SearchBoxSuggestionsBindings } from '../../common/suggestions/suggestions-common';
5
5
  import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
6
6
  /**
7
7
  * The `atomic-commerce-search-box-recent-queries` component can be added as a child of an `atomic-commerce-search-box` component, allowing for the configuration of recent query suggestions.
@@ -1,5 +1,5 @@
1
1
  import { i18n } from 'i18next';
2
- import { SearchBoxSuggestionElement } from '../suggestions/suggestions-types';
2
+ import { SearchBoxSuggestionElement } from '../suggestions/suggestions-common';
3
3
  /**
4
4
  * The `atomic-suggestion-renderer` component is used to render individual suggestions. It was created to isolate
5
5
  * the rendering logic of the 'content' property of the `SearchBoxSuggestionElement` interface. This property can be Stencil
@@ -1,5 +1,5 @@
1
1
  import type { i18n } from 'i18next';
2
- import type { SearchBoxSuggestionElement } from './suggestions-types';
2
+ import type { SearchBoxSuggestionElement } from './suggestions-common';
3
3
  export declare const getPartialInstantItemElement: (i18n: i18n, itemTitle: string, itemUniqueId: string) => Pick<SearchBoxSuggestionElement, "ariaLabel" | "key" | "part">;
4
4
  export declare const getPartialInstantItemShowAllElement: (i18n: i18n) => Pick<SearchBoxSuggestionElement, "key" | "part" | "ariaLabel">;
5
5
  interface InstantItemShowAllButtonProps {
@@ -1,5 +1,5 @@
1
1
  import type { i18n } from 'i18next';
2
- import type { SearchBoxSuggestionElement } from './suggestions-types.js';
2
+ import type { SearchBoxSuggestionElement } from './suggestions-common.js';
3
3
  interface Suggestion {
4
4
  highlightedValue: string;
5
5
  rawValue: string;
@@ -1,5 +1,5 @@
1
1
  import type { i18n } from 'i18next';
2
- import type { SearchBoxSuggestionElement } from './suggestions-types';
2
+ import type { SearchBoxSuggestionElement } from './suggestions-common';
3
3
  export declare const getPartialRecentQueryElement: (value: string, i18n: i18n) => Pick<SearchBoxSuggestionElement, "ariaLabel" | "key" | "query" | "part">;
4
4
  export declare const getPartialRecentQueryClearElement: (i18n: i18n) => Pick<SearchBoxSuggestionElement, "ariaLabel" | "key" | "part" | "hideIfLast">;
5
5
  export interface RecentQueriesContainerProps {
@@ -1,6 +1,6 @@
1
1
  import { FunctionalComponent } from '../../../stencil-public-runtime';
2
2
  import { i18n } from 'i18next';
3
- import { SearchBoxSuggestionElement } from './suggestions-types';
3
+ import { SearchBoxSuggestionElement } from './suggestions-common';
4
4
  export declare const getPartialInstantItemElement: (i18n: i18n, itemTitle: string, itemUniqueId: string) => Pick<SearchBoxSuggestionElement, "ariaLabel" | "key" | "part">;
5
5
  export declare const getPartialInstantItemShowAllElement: (i18n: i18n) => Pick<SearchBoxSuggestionElement, "key" | "part" | "ariaLabel">;
6
6
  interface InstantItemShowAllButtonProps {
@@ -1,6 +1,6 @@
1
1
  import { FunctionalComponent } from '../../../stencil-public-runtime';
2
2
  import { i18n } from 'i18next';
3
- import { SearchBoxSuggestionElement } from './suggestions-types.js';
3
+ import { SearchBoxSuggestionElement } from './suggestions-common.js';
4
4
  interface Suggestion {
5
5
  highlightedValue: string;
6
6
  rawValue: string;
@@ -1,6 +1,6 @@
1
1
  import { FunctionalComponent } from '../../../stencil-public-runtime';
2
2
  import { i18n } from 'i18next';
3
- import { SearchBoxSuggestionElement } from './suggestions-types';
3
+ import { SearchBoxSuggestionElement } from './suggestions-common';
4
4
  export declare const getPartialRecentQueryElement: (value: string, i18n: i18n) => Pick<SearchBoxSuggestionElement, "ariaLabel" | "key" | "query" | "part">;
5
5
  export declare const getPartialRecentQueryClearElement: (i18n: i18n) => Pick<SearchBoxSuggestionElement, "ariaLabel" | "key" | "part" | "hideIfLast">;
6
6
  export declare const RecentQueriesContainer: FunctionalComponent;
@@ -1,4 +1,4 @@
1
- import type { SearchBoxSuggestionElement, SearchBoxSuggestionsBindings, SearchBoxSuggestionsEvent } from './suggestions-types';
1
+ import { type SearchBoxSuggestionElement, type SearchBoxSuggestionsBindings, type SearchBoxSuggestionsEvent } from './suggestions-common';
2
2
  /**
3
3
  * List of suggestions that will be displayed along other lists (e.g recent queries) when the search box's input is selected.
4
4
  */
@@ -1,5 +1,5 @@
1
1
  import type { LitElement } from 'lit';
2
- import type { SearchBoxSuggestionElement, SearchBoxSuggestionsBindings, SearchBoxSuggestionsEvent } from './suggestions-types';
2
+ import { type SearchBoxSuggestionElement, type SearchBoxSuggestionsBindings, type SearchBoxSuggestionsEvent } from './suggestions-common';
3
3
  /**
4
4
  * List of suggestions that will be displayed along other lists (e.g recent queries) when the search box's input is selected.
5
5
  */
@@ -68,6 +68,15 @@ export interface SearchBoxSuggestions {
68
68
  */
69
69
  onSuggestedQueryChange?(q: string): Promise<unknown>;
70
70
  }
71
+ /**
72
+ * Event sent from the registered query suggestions to the parent search box.
73
+ */
74
+ export type SearchBoxSuggestionsEvent<SearchBoxController, Bindings = AnyBindings> = (
75
+ /**
76
+ * The bindings passed from the search box to the suggestions.
77
+ */
78
+ bindings: SearchBoxSuggestionsBindings<SearchBoxController, Bindings>) => SearchBoxSuggestions;
79
+ declare const searchBoxElements: readonly ["atomic-search-box", "atomic-insight-search-box", "atomic-commerce-search-box"];
71
80
  /**
72
81
  * The bindings passed from the search box to the suggestions.
73
82
  */
@@ -115,10 +124,11 @@ export type SearchBoxSuggestionsBindings<SearchBoxController, Bindings = AnyBind
115
124
  getSuggestionElements(): SearchBoxSuggestionElement[];
116
125
  };
117
126
  /**
118
- * Event sent from the registered query suggestions to the parent search box.
127
+ * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
128
+ * @param event Event sent from the registered query suggestions to the parent search box.
129
+ * @param element Element on which to dispatch the event, which must be the child of a configured search box.
119
130
  */
120
- export type SearchBoxSuggestionsEvent<SearchBoxController, Bindings = AnyBindings> = (
121
- /**
122
- * The bindings passed from the search box to the suggestions.
123
- */
124
- bindings: SearchBoxSuggestionsBindings<SearchBoxController, Bindings>) => SearchBoxSuggestions;
131
+ export declare const dispatchSearchBoxSuggestionsEvent: <SearchBoxController, Bindings = AnyBindings>(event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>, element: HTMLElement, allowedSearchBoxElements?: readonly (typeof searchBoxElements)[number][]) => void;
132
+ export declare function elementHasNoQuery(el: SearchBoxSuggestionElement): boolean;
133
+ export declare function elementHasQuery(el: SearchBoxSuggestionElement): boolean;
134
+ export {};
@@ -2,7 +2,7 @@ import { SearchBox, StandaloneSearchBox } from '@coveo/headless';
2
2
  import { EventEmitter } from '../../../stencil-public-runtime';
3
3
  import { InitializableComponent } from '../../../utils/initialization-utils';
4
4
  import { RedirectionPayload } from '../../common/search-box/redirection-payload';
5
- import type { SearchBoxSuggestionsEvent } from '../../common/suggestions/suggestions-types';
5
+ import { SearchBoxSuggestionsEvent } from '../../common/suggestions/suggestions-common';
6
6
  import { Bindings } from '../atomic-search-interface/atomic-search-interface';
7
7
  /**
8
8
  * The `atomic-search-box` component creates a search box with built-in support for suggestions.
@@ -1,4 +1,3 @@
1
1
  export { AtomicQuerySummary } from './atomic-query-summary/atomic-query-summary.js';
2
2
  export { AtomicResultsPerPage } from './atomic-results-per-page/atomic-results-per-page.js';
3
- export { AtomicSearchBoxQuerySuggestions } from './atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js';
4
3
  export { AtomicSearchLayout } from './atomic-search-layout/atomic-search-layout.js';
@@ -2,7 +2,7 @@ import { Result, SearchBox } from '@coveo/headless';
2
2
  import { InitializableComponent } from '../../../../utils/initialization-utils';
3
3
  import { ItemRenderingFunction } from '../../../common/item-list/stencil-item-list-common';
4
4
  import { ItemDisplayDensity, ItemDisplayImageSize } from '../../../common/layout/display-options';
5
- import type { SearchBoxSuggestions, SearchBoxSuggestionsBindings } from '../../../common/suggestions/suggestions-types';
5
+ import { SearchBoxSuggestions, SearchBoxSuggestionsBindings } from '../../../common/suggestions/suggestions-common';
6
6
  import { Bindings } from '../../atomic-search-interface/atomic-search-interface';
7
7
  export type AriaLabelGenerator = (bindings: Bindings, result: Result) => string | undefined;
8
8
  /**
@@ -1,13 +1,10 @@
1
- import { LitElement } from 'lit';
2
- import type { LitElementWithError } from "../../../decorators/types";
3
- import type { Bindings } from '../atomic-search-interface/interfaces';
4
1
  /**
5
2
  * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.
6
3
  */
7
- export declare class AtomicSearchBoxQuerySuggestions extends LitElement implements LitElementWithError {
8
- private suggestionsBindings;
4
+ export declare class AtomicSearchBoxQuerySuggestions {
5
+ private bindings;
6
+ private host;
9
7
  error: Error;
10
- bindings: Bindings;
11
8
  /**
12
9
  * The SVG icon to display.
13
10
  *
@@ -19,20 +16,14 @@ export declare class AtomicSearchBoxQuerySuggestions extends LitElement implemen
19
16
  /**
20
17
  * The maximum number of suggestions that will be displayed if the user has typed something into the input field.
21
18
  */
22
- maxWithQuery: number;
19
+ maxWithQuery?: number;
23
20
  /**
24
21
  * The maximum number of suggestions that will be displayed initially when the input field is empty.
25
22
  */
26
- maxWithoutQuery: number;
27
- initialize(): void;
28
- connectedCallback(): void;
29
- private initializeQuerySuggestions;
23
+ maxWithoutQuery?: number;
24
+ componentWillLoad(): void;
25
+ private initialize;
30
26
  private renderItems;
31
27
  private renderItem;
32
- render(): import("lit-html").TemplateResult<1>;
33
- }
34
- declare global {
35
- interface HTMLElementTagNameMap {
36
- 'atomic-search-box-query-suggestions': AtomicSearchBoxQuerySuggestions;
37
- }
28
+ render(): any;
38
29
  }
@@ -26,7 +26,7 @@ import { RedirectionPayload } from "./components/common/search-box/redirection-p
26
26
  import { AriaLabelGenerator } from "./components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results";
27
27
  import { InitializationOptions } from "./components/search/atomic-search-interface/atomic-search-interface";
28
28
  import { StandaloneSearchBoxData } from "./utils/local-storage-utils";
29
- import { SearchBoxSuggestionElement } from "./components/common/suggestions/suggestions-types";
29
+ import { SearchBoxSuggestionElement } from "./components/common/suggestions/suggestions-common";
30
30
  export { AutomaticFacet, CategoryFacetSortCriterion, DateFilterRange, DateRangeRequest, FacetResultsMustMatch, FacetSortCriterion, FoldedResult, GeneratedAnswer, GeneratedAnswerCitation, InlineLink, InteractiveCitation, InteractiveResult, LogLevel, NumericFilter, NumericFilterState, RangeFacetRangeAlgorithm, RangeFacetSortCriterion, RelativeDateUnit, Result, ResultTemplate, ResultTemplateCondition, SearchEngine, SearchStatus } from "@coveo/headless";
31
31
  export { AtomicInterface } from "./utils/initialization-utils";
32
32
  export { AnyBindings } from "./components/common/interface/bindings";
@@ -48,7 +48,7 @@ export { RedirectionPayload } from "./components/common/search-box/redirection-p
48
48
  export { AriaLabelGenerator } from "./components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results";
49
49
  export { InitializationOptions } from "./components/search/atomic-search-interface/atomic-search-interface";
50
50
  export { StandaloneSearchBoxData } from "./utils/local-storage-utils";
51
- export { SearchBoxSuggestionElement } from "./components/common/suggestions/suggestions-types";
51
+ export { SearchBoxSuggestionElement } from "./components/common/suggestions/suggestions-common";
52
52
  export namespace Components {
53
53
  /**
54
54
  * An automatic facet is a special type of facet generated by the automatic facets feature.
@@ -2415,6 +2415,23 @@ export namespace Components {
2415
2415
  */
2416
2416
  "setRenderFunction": (resultRenderingFunction: ItemRenderingFunction) => Promise<void>;
2417
2417
  }
2418
+ /**
2419
+ * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.
2420
+ */
2421
+ interface AtomicSearchBoxQuerySuggestions {
2422
+ /**
2423
+ * The SVG icon to display. - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location. - Use a value that starts with `assets://`, to display an icon from the Atomic package. - Use a stringified SVG to display it directly.
2424
+ */
2425
+ "icon"?: string;
2426
+ /**
2427
+ * The maximum number of suggestions that will be displayed if the user has typed something into the input field.
2428
+ */
2429
+ "maxWithQuery"?: number;
2430
+ /**
2431
+ * The maximum number of suggestions that will be displayed initially when the input field is empty.
2432
+ */
2433
+ "maxWithoutQuery"?: number;
2434
+ }
2418
2435
  /**
2419
2436
  * The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.
2420
2437
  */
@@ -4177,6 +4194,15 @@ declare global {
4177
4194
  prototype: HTMLAtomicSearchBoxInstantResultsElement;
4178
4195
  new (): HTMLAtomicSearchBoxInstantResultsElement;
4179
4196
  };
4197
+ /**
4198
+ * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.
4199
+ */
4200
+ interface HTMLAtomicSearchBoxQuerySuggestionsElement extends Components.AtomicSearchBoxQuerySuggestions, HTMLStencilElement {
4201
+ }
4202
+ var HTMLAtomicSearchBoxQuerySuggestionsElement: {
4203
+ prototype: HTMLAtomicSearchBoxQuerySuggestionsElement;
4204
+ new (): HTMLAtomicSearchBoxQuerySuggestionsElement;
4205
+ };
4180
4206
  /**
4181
4207
  * The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.
4182
4208
  */
@@ -4589,6 +4615,7 @@ declare global {
4589
4615
  "atomic-result-timespan": HTMLAtomicResultTimespanElement;
4590
4616
  "atomic-search-box": HTMLAtomicSearchBoxElement;
4591
4617
  "atomic-search-box-instant-results": HTMLAtomicSearchBoxInstantResultsElement;
4618
+ "atomic-search-box-query-suggestions": HTMLAtomicSearchBoxQuerySuggestionsElement;
4592
4619
  "atomic-search-box-recent-queries": HTMLAtomicSearchBoxRecentQueriesElement;
4593
4620
  "atomic-search-interface": HTMLAtomicSearchInterfaceElement;
4594
4621
  "atomic-segmented-facet": HTMLAtomicSegmentedFacetElement;
@@ -6855,6 +6882,23 @@ declare namespace LocalJSX {
6855
6882
  */
6856
6883
  "maxResultsPerQuery"?: number;
6857
6884
  }
6885
+ /**
6886
+ * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.
6887
+ */
6888
+ interface AtomicSearchBoxQuerySuggestions {
6889
+ /**
6890
+ * The SVG icon to display. - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location. - Use a value that starts with `assets://`, to display an icon from the Atomic package. - Use a stringified SVG to display it directly.
6891
+ */
6892
+ "icon"?: string;
6893
+ /**
6894
+ * The maximum number of suggestions that will be displayed if the user has typed something into the input field.
6895
+ */
6896
+ "maxWithQuery"?: number;
6897
+ /**
6898
+ * The maximum number of suggestions that will be displayed initially when the input field is empty.
6899
+ */
6900
+ "maxWithoutQuery"?: number;
6901
+ }
6858
6902
  /**
6859
6903
  * The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.
6860
6904
  */
@@ -7443,6 +7487,7 @@ declare namespace LocalJSX {
7443
7487
  "atomic-result-timespan": AtomicResultTimespan;
7444
7488
  "atomic-search-box": AtomicSearchBox;
7445
7489
  "atomic-search-box-instant-results": AtomicSearchBoxInstantResults;
7490
+ "atomic-search-box-query-suggestions": AtomicSearchBoxQuerySuggestions;
7446
7491
  "atomic-search-box-recent-queries": AtomicSearchBoxRecentQueries;
7447
7492
  "atomic-search-interface": AtomicSearchInterface;
7448
7493
  "atomic-segmented-facet": AtomicSegmentedFacet;
@@ -7956,6 +8001,10 @@ declare module "@stencil/core" {
7956
8001
  * This component is not supported on mobile.
7957
8002
  */
7958
8003
  "atomic-search-box-instant-results": LocalJSX.AtomicSearchBoxInstantResults & JSXBase.HTMLAttributes<HTMLAtomicSearchBoxInstantResultsElement>;
8004
+ /**
8005
+ * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.
8006
+ */
8007
+ "atomic-search-box-query-suggestions": LocalJSX.AtomicSearchBoxQuerySuggestions & JSXBase.HTMLAttributes<HTMLAtomicSearchBoxQuerySuggestionsElement>;
7959
8008
  /**
7960
8009
  * The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.
7961
8010
  */
@@ -1,7 +1,7 @@
1
1
  import type { LitElement, TemplateResult } from 'lit';
2
2
  import type { TemplateResultType } from 'lit/directive-helpers.js';
3
3
  import type { AnyBindings } from '../components/common/interface/bindings';
4
- import type { SearchBoxSuggestions } from '../components/common/suggestions/suggestions-types';
4
+ import type { SearchBoxSuggestions } from '../components/common/suggestions/suggestions-common';
5
5
  export type GenericRender<T extends TemplateResultType> = TemplateResult<T>;
6
6
  export type RenderGuardDecorator<Component, T extends TemplateResultType, Descriptor = TypedPropertyDescriptor<() => GenericRender<T>>> = (target: Component, propertyKey: 'render', descriptor: Descriptor) => Descriptor;
7
7
  /**
@@ -5,9 +5,7 @@ export { SelectChildProductEventArgs } from './components/commerce/atomic-produc
5
5
  export { productContext } from './components/commerce/product-template-component-utils/stencil-product-template-decorators';
6
6
  export { PopoverChildFacet } from './components/common/facets/popover/popover-type';
7
7
  export { RedirectionPayload } from './components/common/search-box/redirection-payload';
8
- export { dispatchSearchBoxSuggestionsEvent } from './components/common/suggestions/suggestions-events';
9
- export type { SearchBoxSuggestionElement, SearchBoxSuggestions, SearchBoxSuggestionsBindings, SearchBoxSuggestionsEvent, } from './components/common/suggestions/suggestions-types';
10
- export { elementHasNoQuery, elementHasQuery, } from './components/common/suggestions/suggestions-utils';
8
+ export { dispatchSearchBoxSuggestionsEvent, SearchBoxSuggestionElement, SearchBoxSuggestions, SearchBoxSuggestionsBindings, SearchBoxSuggestionsEvent, } from './components/common/suggestions/suggestions-common';
11
9
  export { RecsBindings } from './components/recommendations/atomic-recs-interface/atomic-recs-interface';
12
10
  export { Bindings } from './components/search/atomic-search-interface/atomic-search-interface';
13
11
  export { resultContext } from './components/search/result-template-components/result-template-decorators';
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-09-26T20:36:58",
2
+ "timestamp": "2025-09-24T16:10:51",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
@@ -12480,12 +12480,14 @@
12480
12480
  "dependents": [],
12481
12481
  "dependencies": [
12482
12482
  "atomic-suggestion-renderer",
12483
- "atomic-search-box-recent-queries"
12483
+ "atomic-search-box-recent-queries",
12484
+ "atomic-search-box-query-suggestions"
12484
12485
  ],
12485
12486
  "dependencyGraph": {
12486
12487
  "atomic-search-box": [
12487
12488
  "atomic-suggestion-renderer",
12488
- "atomic-search-box-recent-queries"
12489
+ "atomic-search-box-recent-queries",
12490
+ "atomic-search-box-query-suggestions"
12489
12491
  ]
12490
12492
  }
12491
12493
  },
@@ -12706,6 +12708,103 @@
12706
12708
  ]
12707
12709
  }
12708
12710
  },
12711
+ {
12712
+ "filePath": "src/components/search/search-box-suggestions/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.tsx",
12713
+ "encapsulation": "shadow",
12714
+ "tag": "atomic-search-box-query-suggestions",
12715
+ "docs": "The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.",
12716
+ "docsTags": [],
12717
+ "usage": {},
12718
+ "props": [
12719
+ {
12720
+ "name": "icon",
12721
+ "type": "string | undefined",
12722
+ "complexType": {
12723
+ "original": "string",
12724
+ "resolved": "string | undefined",
12725
+ "references": {}
12726
+ },
12727
+ "mutable": false,
12728
+ "attr": "icon",
12729
+ "reflectToAttr": false,
12730
+ "docs": "The SVG icon to display.\n\n- Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n- Use a value that starts with `assets://`, to display an icon from the Atomic package.\n- Use a stringified SVG to display it directly.",
12731
+ "docsTags": [],
12732
+ "values": [
12733
+ {
12734
+ "type": "string"
12735
+ },
12736
+ {
12737
+ "type": "undefined"
12738
+ }
12739
+ ],
12740
+ "optional": true,
12741
+ "required": false
12742
+ },
12743
+ {
12744
+ "name": "maxWithQuery",
12745
+ "type": "number | undefined",
12746
+ "complexType": {
12747
+ "original": "number",
12748
+ "resolved": "number | undefined",
12749
+ "references": {}
12750
+ },
12751
+ "mutable": false,
12752
+ "attr": "max-with-query",
12753
+ "reflectToAttr": true,
12754
+ "docs": "The maximum number of suggestions that will be displayed if the user has typed something into the input field.",
12755
+ "docsTags": [],
12756
+ "values": [
12757
+ {
12758
+ "type": "number"
12759
+ },
12760
+ {
12761
+ "type": "undefined"
12762
+ }
12763
+ ],
12764
+ "optional": true,
12765
+ "required": false
12766
+ },
12767
+ {
12768
+ "name": "maxWithoutQuery",
12769
+ "type": "number | undefined",
12770
+ "complexType": {
12771
+ "original": "number",
12772
+ "resolved": "number | undefined",
12773
+ "references": {}
12774
+ },
12775
+ "mutable": false,
12776
+ "attr": "max-without-query",
12777
+ "reflectToAttr": true,
12778
+ "docs": "The maximum number of suggestions that will be displayed initially when the input field is empty.",
12779
+ "docsTags": [],
12780
+ "values": [
12781
+ {
12782
+ "type": "number"
12783
+ },
12784
+ {
12785
+ "type": "undefined"
12786
+ }
12787
+ ],
12788
+ "optional": true,
12789
+ "required": false
12790
+ }
12791
+ ],
12792
+ "methods": [],
12793
+ "events": [],
12794
+ "listeners": [],
12795
+ "styles": [],
12796
+ "slots": [],
12797
+ "parts": [],
12798
+ "dependents": [
12799
+ "atomic-search-box"
12800
+ ],
12801
+ "dependencies": [],
12802
+ "dependencyGraph": {
12803
+ "atomic-search-box": [
12804
+ "atomic-search-box-query-suggestions"
12805
+ ]
12806
+ }
12807
+ },
12709
12808
  {
12710
12809
  "filePath": "src/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.tsx",
12711
12810
  "encapsulation": "shadow",
@@ -15990,10 +16089,10 @@
15990
16089
  "docstring": "",
15991
16090
  "path": "src/components/common/layout/display-options.ts"
15992
16091
  },
15993
- "src/components/common/suggestions/suggestions-types.ts::SearchBoxSuggestionElement": {
16092
+ "src/components/common/suggestions/suggestions-common.ts::SearchBoxSuggestionElement": {
15994
16093
  "declaration": "export interface SearchBoxSuggestionElement {\n /**\n * Stable identity which enables Stencil to reuse DOM elements for better performance.\n * The best way to pick a key is to use a string that uniquely identifies that list item among its siblings (often your data will already have IDs).\n */\n key: string;\n /**\n * Rendered content of the element.\n *\n * @remarks\n * The `VNode` type will be deprecated in v4 as we are detaching from Stencil.\n */\n content: Element | VNode;\n /**\n * Hook called when the selection is selected.\n * @param e DOM event.\n */\n onSelect?(e: Event): void;\n /**\n * The query associated with the suggestion which will replace the query in the search box if the suggestion is selected.\n */\n query?: string;\n /**\n * For improved accessibility, provide this property with additional information.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n */\n ariaLabel?: string;\n /**\n * Adds a specific shadow part attribute that can be selected with the CSS ::part pseudo-element.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/::part\n */\n part?: string;\n /**\n * Hide the suggestion if it's the last in the list.\n */\n hideIfLast?: boolean;\n}",
15995
16094
  "docstring": "Element which will be rendered in the list of suggestions.",
15996
- "path": "src/components/common/suggestions/suggestions-types.ts"
16095
+ "path": "src/components/common/suggestions/suggestions-common.ts"
15997
16096
  },
15998
16097
  "../headless/dist/definitions/index.d.ts::RelativeDateUnit": {
15999
16098
  "declaration": "any",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coveo/atomic",
3
3
  "type": "module",
4
- "version": "3.33.8-pre.c54adf6755",
4
+ "version": "3.33.8-pre.d75d8e5578",
5
5
  "description": "A web-component library for building modern UIs interfacing with the Coveo platform",
6
6
  "homepage": "https://docs.coveo.com/en/atomic/latest/",
7
7
  "repository": {
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "dependencies": {
83
83
  "@coveo/bueno": "1.1.2",
84
- "@coveo/headless": "3.31.1-pre.c54adf6755",
84
+ "@coveo/headless": "3.31.0",
85
85
  "@lit/context": "1.1.6",
86
86
  "@open-wc/lit-helpers": "0.7.0",
87
87
  "@popperjs/core": "2.11.8",
@@ -153,7 +153,7 @@
153
153
  },
154
154
  "peerDependencies": {
155
155
  "@coveo/bueno": "1.1.2",
156
- "@coveo/headless": "3.31.1-pre.c54adf6755",
156
+ "@coveo/headless": "3.31.0",
157
157
  "typescript": ">=5.0.0"
158
158
  },
159
159
  "peerDependenciesMeta": {