@coveo/atomic 3.33.8-pre.351575b812 → 3.33.8-pre.3524c75f47

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 (290) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/_index.js +2 -1
  3. package/dist/atomic/components/analytics-config.js +1 -1
  4. package/dist/atomic/components/atomic-category-facet.js +1 -1
  5. package/dist/atomic/components/atomic-facet.js +1 -1
  6. package/dist/atomic/components/atomic-format-currency.js +1 -1
  7. package/dist/atomic/components/atomic-format-number.js +1 -1
  8. package/dist/atomic/components/atomic-format-unit.js +1 -1
  9. package/dist/atomic/components/atomic-insight-search-box.js +3 -4
  10. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  11. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  12. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  13. package/dist/atomic/components/atomic-quickview.js +1 -1
  14. package/dist/atomic/components/atomic-result-children.js +1 -1
  15. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  16. package/dist/atomic/components/atomic-result-link.js +1 -1
  17. package/dist/atomic/components/atomic-result-list.js +1 -1
  18. package/dist/atomic/components/atomic-search-box-instant-results.js +2 -2
  19. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  20. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +2 -2
  21. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  22. package/dist/atomic/components/atomic-search-box-recent-queries2.js +2 -2
  23. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -1
  24. package/dist/atomic/components/atomic-search-box.js +16 -6
  25. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  26. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  27. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  28. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  29. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  30. package/dist/atomic/components/atomic-suggestion-renderer2.js.map +1 -1
  31. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  32. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +18 -11
  33. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +4 -4
  34. package/dist/atomic/components/components/commerce/atomic-commerce-did-you-mean/atomic-commerce-did-you-mean.js +2 -1
  35. package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +6 -6
  36. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +51 -14
  37. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +19 -10
  38. package/dist/atomic/components/components/commerce/atomic-commerce-load-more-products/atomic-commerce-load-more-products.js +3 -3
  39. package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.js +1 -1
  40. package/dist/atomic/components/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js +1 -1
  41. package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +2 -2
  42. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -10
  43. package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.js +2 -1
  44. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +17 -10
  45. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +9 -6
  46. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.js +1 -1
  47. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +1 -1
  48. package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.js +3 -3
  49. package/dist/atomic/components/components/commerce/atomic-product/atomic-product.js +1 -1
  50. package/dist/atomic/components/components/commerce/atomic-product-section-children/atomic-product-section-children.js +1 -1
  51. package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +1 -1
  52. package/dist/atomic/components/components/common/atomic-modal/atomic-modal.js +2 -0
  53. package/dist/atomic/components/components/common/layout/layout-styles-controller.js +40 -0
  54. package/dist/atomic/components/components/common/layout/mobile-breakpoint-controller.js +26 -0
  55. package/dist/atomic/components/components/common/query-correction/trigger-correction.js +1 -1
  56. package/dist/atomic/components/components/common/refine-modal/modal.js +1 -1
  57. package/dist/atomic/components/components/common/suggestions/instant-item.js +6 -6
  58. package/dist/atomic/components/components/common/suggestions/suggestion-manager.js +1 -1
  59. package/dist/atomic/components/components/common/suggestions/{suggestions-common.js → suggestions-events.js} +16 -18
  60. package/dist/atomic/components/components/common/suggestions/suggestions-types.js +1 -0
  61. package/dist/atomic/components/components/common/suggestions/suggestions-utils.js +18 -0
  62. package/dist/atomic/components/global/environment.js +1 -1
  63. package/dist/atomic/components/index.js.map +1 -1
  64. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -1
  65. package/dist/atomic/components/stencil-suggestion-manager.js +20 -2
  66. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  67. package/dist/atomic/components/{suggestions-common.js → suggestions-events.js} +18 -20
  68. package/dist/atomic/components/suggestions-events.js.map +1 -0
  69. package/dist/atomic/index.esm.js +1 -1
  70. package/dist/atomic/index.esm.js.map +1 -1
  71. package/dist/atomic/lang/cs.json +1 -1
  72. package/dist/atomic/lang/da.json +1 -1
  73. package/dist/atomic/lang/de.json +1 -1
  74. package/dist/atomic/lang/dev.json +1 -1
  75. package/dist/atomic/lang/el.json +1 -1
  76. package/dist/atomic/lang/en.json +1 -1
  77. package/dist/atomic/lang/es.json +1 -1
  78. package/dist/atomic/lang/fi.json +1 -1
  79. package/dist/atomic/lang/fr.json +1 -1
  80. package/dist/atomic/lang/hu.json +1 -1
  81. package/dist/atomic/lang/id.json +1 -1
  82. package/dist/atomic/lang/it.json +1 -1
  83. package/dist/atomic/lang/ja.json +1 -1
  84. package/dist/atomic/lang/ko.json +1 -1
  85. package/dist/atomic/lang/nl.json +1 -1
  86. package/dist/atomic/lang/no.json +1 -1
  87. package/dist/atomic/lang/pl.json +1 -1
  88. package/dist/atomic/lang/pt-BR.json +1 -1
  89. package/dist/atomic/lang/pt.json +1 -1
  90. package/dist/atomic/lang/ru.json +1 -1
  91. package/dist/atomic/lang/sv.json +1 -1
  92. package/dist/atomic/lang/th.json +1 -1
  93. package/dist/atomic/lang/tr.json +1 -1
  94. package/dist/atomic/lang/zh-CN.json +1 -1
  95. package/dist/atomic/lang/zh-TW.json +1 -1
  96. package/dist/atomic/lang/zh.json +1 -1
  97. package/dist/atomic/{p-75e00690.entry.js → p-089be992.entry.js} +2 -2
  98. package/dist/atomic/{p-4b3d253b.entry.js → p-09a3a067.entry.js} +2 -2
  99. package/dist/atomic/p-0a051b8d.js +2 -0
  100. package/dist/atomic/p-0a051b8d.js.map +1 -0
  101. package/dist/atomic/{p-ff015d24.entry.js → p-0d333ba3.entry.js} +2 -2
  102. package/dist/atomic/p-16f4ce98.js +2 -0
  103. package/dist/atomic/p-16f4ce98.js.map +1 -0
  104. package/dist/atomic/{p-7b899b57.entry.js → p-1d1f54a5.entry.js} +2 -2
  105. package/dist/atomic/{p-8867af82.entry.js → p-26a51a77.entry.js} +2 -2
  106. package/dist/atomic/p-26a51a77.entry.js.map +1 -0
  107. package/dist/atomic/{p-7a625c7e.entry.js → p-2ce8220a.entry.js} +2 -2
  108. package/dist/atomic/{p-877d35b1.entry.js → p-3b023e83.entry.js} +2 -2
  109. package/dist/atomic/{p-3cfed5f4.entry.js → p-3e433353.entry.js} +2 -2
  110. package/dist/atomic/{p-52ba404c.entry.js → p-49c38b27.entry.js} +2 -2
  111. package/dist/atomic/p-4b7a19db.js +2 -0
  112. package/dist/atomic/p-4b7a19db.js.map +1 -0
  113. package/dist/atomic/{p-c1bf43cf.entry.js → p-4c2f230f.entry.js} +2 -2
  114. package/dist/atomic/p-4c2f230f.entry.js.map +1 -0
  115. package/dist/atomic/{p-d00a12e9.entry.js → p-5f1fa581.entry.js} +2 -2
  116. package/dist/atomic/p-744da781.entry.js +2 -0
  117. package/dist/atomic/p-744da781.entry.js.map +1 -0
  118. package/dist/atomic/{p-9db3fb32.entry.js → p-77205925.entry.js} +2 -2
  119. package/dist/atomic/{p-a760d9f9.entry.js → p-7e2109e9.entry.js} +2 -2
  120. package/dist/atomic/{p-b28011e6.entry.js → p-89085429.entry.js} +2 -2
  121. package/dist/atomic/{p-aa2a81fd.entry.js → p-89ab44de.entry.js} +2 -2
  122. package/dist/atomic/{p-330e6e7c.entry.js → p-9c9b1965.entry.js} +2 -2
  123. package/dist/atomic/{p-78b70622.entry.js → p-a8882a2a.entry.js} +2 -2
  124. package/dist/atomic/p-af93b44c.js.map +1 -1
  125. package/dist/atomic/{p-f22bcb8c.entry.js → p-b6963bae.entry.js} +2 -2
  126. package/dist/atomic/{p-3c8d109e.entry.js → p-b7063a0d.entry.js} +2 -2
  127. package/dist/atomic/{p-36e71b99.entry.js → p-d0f47b33.entry.js} +2 -2
  128. package/dist/atomic/p-d0f47b33.entry.js.map +1 -0
  129. package/dist/atomic/{p-560738a0.js → p-df723535.js} +2 -2
  130. package/dist/atomic/{p-7b0b9e9b.entry.js → p-f289269f.entry.js} +2 -2
  131. package/dist/atomic/{p-aa4224ea.entry.js → p-fbfe913d.entry.js} +2 -2
  132. package/dist/atomic/p-fbfe913d.entry.js.map +1 -0
  133. package/dist/atomic/{p-c49cfa0c.entry.js → p-fda26113.entry.js} +2 -2
  134. package/dist/cjs/_index.cjs.js +5 -2
  135. package/dist/cjs/{analytics-config-ba1d1f13.js → analytics-config-7817986c.js} +2 -2
  136. package/dist/cjs/{analytics-config-ba1d1f13.js.map → analytics-config-7817986c.js.map} +1 -1
  137. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  138. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  139. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  140. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  141. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  142. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  143. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +5 -5
  144. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  145. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  146. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  147. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  148. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  149. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  150. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  151. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  152. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  153. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +3 -3
  154. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  155. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +5 -5
  156. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +1 -1
  157. package/dist/cjs/atomic-search-box.cjs.entry.js +18 -7
  158. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  159. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  160. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  161. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  162. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  163. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  164. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
  165. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  166. package/dist/cjs/index.cjs.js.map +1 -1
  167. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +1 -1
  168. package/dist/cjs/{stencil-suggestion-manager-c0878ef2.js → stencil-suggestion-manager-2cba6d69.js} +4 -4
  169. package/dist/cjs/{stencil-suggestion-manager-c0878ef2.js.map → stencil-suggestion-manager-2cba6d69.js.map} +1 -1
  170. package/dist/cjs/{suggestions-common-5097a362.js → suggestions-events-63dd0640.js} +17 -21
  171. package/dist/cjs/suggestions-events-63dd0640.js.map +1 -0
  172. package/dist/cjs/suggestions-utils-61000808.js +25 -0
  173. package/dist/cjs/suggestions-utils-61000808.js.map +1 -0
  174. package/dist/cjs/version.cjs.js +2 -2
  175. package/dist/esm/_index.js +2 -1
  176. package/dist/esm/{analytics-config-ee936385.js → analytics-config-885c56e7.js} +2 -2
  177. package/dist/esm/{analytics-config-ee936385.js.map → analytics-config-885c56e7.js.map} +1 -1
  178. package/dist/esm/atomic-category-facet.entry.js +1 -1
  179. package/dist/esm/atomic-facet.entry.js +1 -1
  180. package/dist/esm/atomic-format-currency.entry.js +1 -1
  181. package/dist/esm/atomic-format-number.entry.js +1 -1
  182. package/dist/esm/atomic-format-unit.entry.js +1 -1
  183. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  184. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  185. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  186. package/dist/esm/atomic-numeric-facet.entry.js +1 -1
  187. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  188. package/dist/esm/atomic-quickview.entry.js +1 -1
  189. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  190. package/dist/esm/atomic-result-children.entry.js +1 -1
  191. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  192. package/dist/esm/atomic-result-link.entry.js +1 -1
  193. package/dist/esm/atomic-result-list.entry.js +1 -1
  194. package/dist/esm/atomic-search-box-instant-results.entry.js +2 -2
  195. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  196. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +3 -3
  197. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +1 -1
  198. package/dist/esm/atomic-search-box.entry.js +17 -6
  199. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  200. package/dist/esm/atomic-search-interface.entry.js +1 -1
  201. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  202. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  203. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  204. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  205. package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
  206. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +1 -1
  209. package/dist/esm/{stencil-suggestion-manager-486094dd.js → stencil-suggestion-manager-376f83e8.js} +2 -2
  210. package/dist/esm/{stencil-suggestion-manager-486094dd.js.map → stencil-suggestion-manager-376f83e8.js.map} +1 -1
  211. package/dist/esm/{suggestions-common-2b20db26.js → suggestions-events-b7a6f007.js} +18 -20
  212. package/dist/esm/suggestions-events-b7a6f007.js.map +1 -0
  213. package/dist/esm/suggestions-utils-591559a0.js +22 -0
  214. package/dist/esm/suggestions-utils-591559a0.js.map +1 -0
  215. package/dist/esm/version.js +2 -2
  216. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +2 -1
  217. package/dist/types/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.d.ts +4 -4
  218. package/dist/types/components/commerce/atomic-commerce-did-you-mean/atomic-commerce-did-you-mean.d.ts +1 -1
  219. package/dist/types/components/commerce/atomic-commerce-facet/atomic-commerce-facet.d.ts +6 -6
  220. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +29 -2
  221. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +3 -3
  222. package/dist/types/components/commerce/atomic-commerce-load-more-products/atomic-commerce-load-more-products.d.ts +3 -3
  223. package/dist/types/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.d.ts +1 -1
  224. package/dist/types/components/commerce/atomic-commerce-pager/atomic-commerce-pager.d.ts +1 -1
  225. package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
  226. package/dist/types/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.d.ts +1 -1
  227. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +5 -4
  228. package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +3 -3
  229. package/dist/types/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.d.ts +1 -1
  230. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -1
  231. package/dist/types/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.d.ts +3 -3
  232. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  233. package/dist/types/components/commerce/atomic-product-section-children/atomic-product-section-children.d.ts +1 -1
  234. package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +7 -7
  235. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
  236. package/dist/types/components/common/layout/layout-styles-controller.d.ts +22 -0
  237. package/dist/types/components/common/layout/mobile-breakpoint-controller.d.ts +18 -0
  238. package/dist/types/components/common/query-correction/trigger-correction.d.ts +2 -0
  239. package/dist/types/components/common/refine-modal/modal.d.ts +2 -0
  240. package/dist/types/components/common/suggestions/instant-item.d.ts +7 -4
  241. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -1
  242. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -1
  243. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +1 -1
  244. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +1 -1
  245. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +1 -1
  246. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
  247. package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
  248. package/dist/types/components/common/suggestions/suggestions-events.d.ts +14 -0
  249. package/dist/types/components/common/suggestions/{suggestions-common.d.ts → suggestions-types.d.ts} +6 -16
  250. package/dist/types/components/common/suggestions/suggestions-utils.d.ts +15 -0
  251. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +2 -1
  252. package/dist/types/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
  253. package/dist/types/components.d.ts +2 -2
  254. package/dist/types/decorators/types.d.ts +1 -1
  255. package/dist/types/index.d.ts +3 -1
  256. package/docs/atomic-docs.json +3 -3
  257. package/package.json +3 -3
  258. package/dist/atomic/components/suggestions-common.js.map +0 -1
  259. package/dist/atomic/p-29fd6768.js +0 -2
  260. package/dist/atomic/p-29fd6768.js.map +0 -1
  261. package/dist/atomic/p-36e71b99.entry.js.map +0 -1
  262. package/dist/atomic/p-3d847e45.entry.js +0 -2
  263. package/dist/atomic/p-3d847e45.entry.js.map +0 -1
  264. package/dist/atomic/p-7601c3de.js +0 -2
  265. package/dist/atomic/p-7601c3de.js.map +0 -1
  266. package/dist/atomic/p-8867af82.entry.js.map +0 -1
  267. package/dist/atomic/p-aa4224ea.entry.js.map +0 -1
  268. package/dist/atomic/p-c1bf43cf.entry.js.map +0 -1
  269. package/dist/cjs/suggestions-common-5097a362.js.map +0 -1
  270. package/dist/esm/suggestions-common-2b20db26.js.map +0 -1
  271. /package/dist/atomic/{p-75e00690.entry.js.map → p-089be992.entry.js.map} +0 -0
  272. /package/dist/atomic/{p-4b3d253b.entry.js.map → p-09a3a067.entry.js.map} +0 -0
  273. /package/dist/atomic/{p-ff015d24.entry.js.map → p-0d333ba3.entry.js.map} +0 -0
  274. /package/dist/atomic/{p-7b899b57.entry.js.map → p-1d1f54a5.entry.js.map} +0 -0
  275. /package/dist/atomic/{p-7a625c7e.entry.js.map → p-2ce8220a.entry.js.map} +0 -0
  276. /package/dist/atomic/{p-877d35b1.entry.js.map → p-3b023e83.entry.js.map} +0 -0
  277. /package/dist/atomic/{p-3cfed5f4.entry.js.map → p-3e433353.entry.js.map} +0 -0
  278. /package/dist/atomic/{p-52ba404c.entry.js.map → p-49c38b27.entry.js.map} +0 -0
  279. /package/dist/atomic/{p-d00a12e9.entry.js.map → p-5f1fa581.entry.js.map} +0 -0
  280. /package/dist/atomic/{p-9db3fb32.entry.js.map → p-77205925.entry.js.map} +0 -0
  281. /package/dist/atomic/{p-a760d9f9.entry.js.map → p-7e2109e9.entry.js.map} +0 -0
  282. /package/dist/atomic/{p-b28011e6.entry.js.map → p-89085429.entry.js.map} +0 -0
  283. /package/dist/atomic/{p-aa2a81fd.entry.js.map → p-89ab44de.entry.js.map} +0 -0
  284. /package/dist/atomic/{p-330e6e7c.entry.js.map → p-9c9b1965.entry.js.map} +0 -0
  285. /package/dist/atomic/{p-78b70622.entry.js.map → p-a8882a2a.entry.js.map} +0 -0
  286. /package/dist/atomic/{p-f22bcb8c.entry.js.map → p-b6963bae.entry.js.map} +0 -0
  287. /package/dist/atomic/{p-3c8d109e.entry.js.map → p-b7063a0d.entry.js.map} +0 -0
  288. /package/dist/atomic/{p-560738a0.js.map → p-df723535.js.map} +0 -0
  289. /package/dist/atomic/{p-7b0b9e9b.entry.js.map → p-f289269f.entry.js.map} +0 -0
  290. /package/dist/atomic/{p-c49cfa0c.entry.js.map → p-fda26113.entry.js.map} +0 -0
@@ -24,11 +24,11 @@ import { renderLoadMoreSummary } from '../../common/load-more/summary';
24
24
  * @part container - The container of the component.
25
25
  * @part showing-results - The summary displaying which products are shown and how many are available.
26
26
  * @part highlight - The highlighted number of products displayed and number of products available.
27
- * @part progress-bar - The progress bar displaying a percentage of results shown over the total number of products available.
27
+ * @part progress-bar - The progress bar displaying a percentage of products shown over the total number of products available.
28
28
  * @part load-more-results-button - The "Load more products" button.
29
29
  *
30
- * @cssprop --atomic-more-results-progress-bar-color-from - Color of the start of the gradient for the load more results progress bar.
31
- * @cssprop --atomic-more-results-progress-bar-color-to - Color of the end of the gradient for the load more results progress bar.
30
+ * @cssprop --atomic-more-results-progress-bar-color-from - Color of the start of the gradient for the load more products progress bar.
31
+ * @cssprop --atomic-more-results-progress-bar-color-to - Color of the end of the gradient for the load more products progress bar.
32
32
  */
33
33
  let AtomicCommerceLoadMoreProducts = class AtomicCommerceLoadMoreProducts extends LitElement {
34
34
  constructor() {
@@ -33,7 +33,7 @@ import numericFacetCommonStyles from '../../common/facets/numeric-facet-common.t
33
33
  * @part clear-button-icon - The icon displayed in the clear button.
34
34
  * @part values - The list container for all facet values.
35
35
  * @part value-label - The text label for individual facet values.
36
- * @part value-count - The count indicator showing the number of results for each value.
36
+ * @part value-count - The count indicator showing the number of products for each value.
37
37
  * @part value-checkbox-label - The label associated with facet value checkboxes.
38
38
  * @part value-exclude-button - The button to exclude specific facet values.
39
39
  * @part input-form - The form container for numeric range inputs.
@@ -22,7 +22,7 @@ import { renderPageButtons, renderPagerNextButton, renderPagerPageButton, render
22
22
  import { renderPagerNavigation } from '../../common/pager/pager-navigation';
23
23
  import { getCurrentPagesRange } from './commerce-pager-utils';
24
24
  /**
25
- * The `atomic-commerce-pager` component enables users to navigate through paginated product results.
25
+ * The `atomic-commerce-pager` component enables users to navigate through paginated products.
26
26
  *
27
27
  * @part buttons - The list of all buttons rendered by the component.
28
28
  * @part page-buttons - The list of all page buttons.
@@ -37,7 +37,7 @@ let AtomicCommerceQuerySummary = class AtomicCommerceQuerySummary extends LitEle
37
37
  this.listingOrSearchSummary = controller.summary();
38
38
  }
39
39
  render() {
40
- const { firstProduct, firstRequestExecuted, lastProduct, totalNumberOfProducts, hasProducts, hasError, } = this.listingOrSearchSummaryState;
40
+ const { firstProduct, firstRequestExecuted, lastProduct, totalNumberOfProducts, hasProducts, hasError, isLoading, } = this.listingOrSearchSummaryState;
41
41
  const { i18nKey, highlights, ariaLiveMessage } = getProductQuerySummaryI18nParameters({
42
42
  first: firstProduct,
43
43
  last: lastProduct,
@@ -46,7 +46,7 @@ let AtomicCommerceQuerySummary = class AtomicCommerceQuerySummary extends LitEle
46
46
  : '',
47
47
  total: totalNumberOfProducts,
48
48
  i18n: this.bindings.i18n,
49
- isLoading: false,
49
+ isLoading,
50
50
  });
51
51
  this.ariaMessage.message = ariaLiveMessage;
52
52
  return html `${renderQuerySummaryGuard({
@@ -50,6 +50,9 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
50
50
  *
51
51
  */
52
52
  this.iconAssetsPath = './assets';
53
+ // TODO - KIT-4994: Add disableAnalytics property that defaults to false.
54
+ // TODO - KIT-4994: Deprecate in favor of disableAnalytics property.
55
+ // TODO - (v4) KIT-4990: Remove.
53
56
  /**
54
57
  * Whether to enable analytics.
55
58
  */
@@ -104,13 +107,15 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
104
107
  return;
105
108
  }
106
109
  language && this.interfaceController.onLanguageChange(language);
107
- const { setContext } = loadContextActions(this.engine);
108
- this.engine.dispatch(setContext({
109
- ...this.context.state,
110
- ...(language && { language }),
111
- ...(country && { country }),
112
- ...(currency && { currency }),
113
- }));
110
+ if (this.isNewLocale(language, country, currency)) {
111
+ const { setContext } = loadContextActions(this.engine);
112
+ this.engine.dispatch(setContext({
113
+ ...this.context.state,
114
+ ...(language && { language }),
115
+ ...(country && { country }),
116
+ ...(currency && { currency }),
117
+ }));
118
+ }
114
119
  }
115
120
  toggleAnalytics() {
116
121
  this.interfaceController.onAnalyticsChange();
@@ -118,6 +123,7 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
118
123
  updateIconAssetsPath() {
119
124
  this.store.state.iconAssetsPath = this.iconAssetsPath;
120
125
  }
126
+ // TODO - (v4) KIT-4365: Remove.
121
127
  async updateLanguage() {
122
128
  if (!this.interfaceController.engineIsCreated(this.engine) ||
123
129
  !this.language ||
@@ -150,7 +156,7 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
150
156
  this.i18Initialized,
151
157
  ]);
152
158
  this.initContext();
153
- this.language && this.updateLanguage();
159
+ this.updateLanguage();
154
160
  this.bindings = this.getBindings();
155
161
  markParentAsReady(this);
156
162
  this.initLanguage();
@@ -167,9 +173,18 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
167
173
  };
168
174
  }
169
175
  initLanguage() {
170
- if (!this.language) {
171
- this.interfaceController.onLanguageChange(this.context.state.language);
176
+ if (!this.context || this.language) {
177
+ return;
178
+ }
179
+ this.interfaceController.onLanguageChange(this.context.state.language);
180
+ }
181
+ isNewLocale(language, country, currency) {
182
+ if (!this.context) {
183
+ return false;
172
184
  }
185
+ return ((language && language !== this.context.state.language) ||
186
+ (country && country !== this.context.state.country) ||
187
+ (currency && currency !== this.context.state.currency));
173
188
  }
174
189
  };
175
190
  AtomicCommerceRecommendationInterface.styles = [
@@ -27,7 +27,7 @@ import { getSortByLabel, renderCommerceSortOption } from '../sort/option';
27
27
  * @part title - The title of the modal.
28
28
  * @part close-button - The button in the header that closes the modal.
29
29
  * @part close-icon - The icon of the close button.
30
- * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.
30
+ * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view the products.
31
31
  * @part footer-button - The button in the footer that closes the modal.
32
32
  * @part footer-button-text - The text inside the button in the footer that closes the modal.
33
33
  * @part footer-button-count - The count inside the button in the footer that closes the modal.
@@ -135,6 +135,7 @@ let AtomicCommerceRefineModal = class AtomicCommerceRefineModal extends LitEleme
135
135
  return html `${renderRefineModal({
136
136
  props: {
137
137
  i18n: this.bindings.i18n,
138
+ i18nFooterButtonTextKey: 'view-products',
138
139
  host: this,
139
140
  isOpen: this.isOpen,
140
141
  onClose: () => {
@@ -20,17 +20,18 @@ import { AriaLiveRegionController } from "../../../utils/accessibility-utils";
20
20
  import { hasKeyboard, isMacOS } from "../../../utils/device-utils";
21
21
  import { SafeStorage, StorageItems, } from "../../../utils/local-storage-utils";
22
22
  import { updateBreakpoints } from "../../../utils/replace-breakpoint-utils";
23
+ import { getDefaultSlotFromHost } from "../../../utils/slot-utils";
23
24
  import { isFocusingOut, once, randomID, spreadProperties, } from '../../../utils/utils';
24
25
  import { renderSearchBoxWrapper } from '../../common/search-box/search-box-wrapper';
25
26
  import { renderSearchBoxTextArea } from '../../common/search-box/search-text-area';
26
27
  import { renderSubmitButton } from '../../common/search-box/submit-button';
27
28
  import { SuggestionManager } from '../../common/suggestions/suggestion-manager';
28
- import { elementHasQuery, } from '../../common/suggestions/suggestions-common';
29
+ import { elementHasQuery } from '../../common/suggestions/suggestions-utils';
29
30
  import '../atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products';
30
31
  import '../atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions';
31
32
  import '../atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries';
32
33
  /**
33
- * The `atomic-commerce-search-box` component enables users to perform product searches with built-in query suggestions and optional redirection to a search results page.
34
+ * The `atomic-commerce-search-box` component enables users to perform product searches with built-in query suggestions and optional redirection to a search page.
34
35
  *
35
36
  * @slot default - The default slot where you can add child components to the search box.
36
37
  *
@@ -67,8 +68,8 @@ import '../atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-
67
68
  * @part recent-query-title - The "recent searches" text of the clear button above suggestions from the `atomic-commerce-search-box-recent-queries` component.
68
69
  * @part recent-query-clear - The "clear" text of the clear button above suggestions from the `atomic-commerce-search-box-recent-queries` component.
69
70
  *
70
- * @part instant-results-item - An instant result rendered by an `atomic-commerce-search-box-instant-products` component.
71
- * @part instant-results-show-all - The clickable suggestion to show all items for the current instant results search rendered by an `atomic-commerce-search-box-instant-products` component.
71
+ * @part instant-results-item - An instant product rendered by an `atomic-commerce-search-box-instant-products` component.
72
+ * @part instant-results-show-all - The clickable suggestion to show all items for the current instant product search rendered by an `atomic-commerce-search-box-instant-products` component.
72
73
  * @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-commerce-search-box-instant-products` component.
73
74
  *
74
75
  * @event redirect - Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.
@@ -116,16 +117,13 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
116
117
  this.minimumQueryLength = 0;
117
118
  /**
118
119
  * Whether to clear all active query filters when the end user submits a new query from the search box.
119
- * Setting this option to "false" is not recommended & can lead to an increasing number of queries returning no results.
120
+ * Setting this option to "false" is not recommended & can lead to an increasing number of queries returning no products.
120
121
  */
121
122
  this.clearFilters = true;
122
123
  this.updateBreakpoints = once(() => updateBreakpoints(this));
123
124
  }
124
125
  connectedCallback() {
125
126
  super.connectedCallback();
126
- if (this.children.length === 0) {
127
- this.replaceChildren(document.createElement('atomic-commerce-search-box-recent-queries'), document.createElement('atomic-commerce-search-box-query-suggestions'));
128
- }
129
127
  this.addEventListener('atomic/searchBoxSuggestion/register', (event) => {
130
128
  const customEvent = event;
131
129
  this.searchBoxSuggestionEventsQueue.push(customEvent);
@@ -492,6 +490,14 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
492
490
  ></atomic-suggestion-renderer>
493
491
  `;
494
492
  }
493
+ renderSlotContent() {
494
+ const hasDefaultSlot = !!getDefaultSlotFromHost(this);
495
+ if (hasDefaultSlot) {
496
+ return html `<slot></slot>`;
497
+ }
498
+ return html `<atomic-commerce-search-box-recent-queries></atomic-commerce-search-box-recent-queries>
499
+ <atomic-commerce-search-box-query-suggestions></atomic-commerce-search-box-query-suggestions>`;
500
+ }
495
501
  render() {
496
502
  this.updateBreakpoints();
497
503
  if (!this.suggestionManager.suggestions.length) {
@@ -511,7 +517,7 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
511
517
  },
512
518
  },
513
519
  })(html `${this.renderTextBox()}
514
- ${renderSubmitButton({
520
+ ${renderSubmitButton({
515
521
  props: {
516
522
  i18n: this.bindings.i18n,
517
523
  disabled: this.isSearchDisabledForEndUser,
@@ -521,7 +527,8 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
521
527
  },
522
528
  },
523
529
  })}
524
- ${this.renderSuggestions()}`)}
530
+ ${this.renderSuggestions()}`)}
531
+ ${this.renderSlotContent()}
525
532
  `;
526
533
  }
527
534
  };
@@ -9,7 +9,7 @@ import { html, LitElement, nothing, render } from 'lit';
9
9
  import { customElement, property, state } from 'lit/decorators.js';
10
10
  import { keyed } from 'lit/directives/keyed.js';
11
11
  import { getPartialInstantItemElement, getPartialInstantItemShowAllElement, renderInstantItemShowAllButton, } from "../../common/suggestions/instant-item";
12
- import { dispatchSearchBoxSuggestionsEvent, } from "../../common/suggestions/suggestions-common";
12
+ import { dispatchSearchBoxSuggestionsEvent } from "../../common/suggestions/suggestions-events";
13
13
  import { errorGuard } from "../../../decorators/error-guard";
14
14
  import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
15
15
  import { encodeForDomAttribute } from "../../../utils/string-utils";
@@ -19,7 +19,7 @@ import { ProductTemplateProvider } from '../product-list/product-template-provid
19
19
  *
20
20
  * This component is not supported on mobile.
21
21
  *
22
- * @part instant-results-show-all-button - The 'See all results' button.
22
+ * @part instant-results-show-all-button - The 'See all products' button.
23
23
  * @part instant-results-item - The individual instant product item.
24
24
  *
25
25
  * @slot default - The default slot where the instant products are rendered.
@@ -40,7 +40,7 @@ let AtomicCommerceSearchBoxInstantProducts = class AtomicCommerceSearchBoxInstan
40
40
  this.imageSize = 'icon';
41
41
  }
42
42
  /**
43
- * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.
43
+ * Sets a rendering function to bypass the standard HTML template mechanism for rendering products.
44
44
  * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.
45
45
  *
46
46
  * Do not use this method if you integrate Atomic in a plain HTML deployment.
@@ -86,7 +86,7 @@ let AtomicCommerceSearchBoxInstantProducts = class AtomicCommerceSearchBoxInstan
86
86
  const interactiveProduct = this.instantProducts.interactiveProduct({
87
87
  options: { product },
88
88
  });
89
- const partialItem = getPartialInstantItemElement(this.bindings.i18n, this.ariaLabelGenerator?.(this.bindings, product) || product.ec_name, product.permanentid);
89
+ const partialItem = getPartialInstantItemElement(this.bindings.i18n, 'instant-products-suggestion-label', this.ariaLabelGenerator?.(this.bindings, product) || product.ec_name, product.permanentid);
90
90
  const key = `instant-product-${encodeForDomAttribute(product.permanentid)}`;
91
91
  const template = html `${keyed(key, html `<atomic-product
92
92
  part="outline"
@@ -115,10 +115,13 @@ let AtomicCommerceSearchBoxInstantProducts = class AtomicCommerceSearchBoxInstan
115
115
  };
116
116
  });
117
117
  if (elements.length) {
118
- const partialItem = getPartialInstantItemShowAllElement(this.bindings.i18n);
118
+ const partialItem = getPartialInstantItemShowAllElement(this.bindings.i18n, 'show-all-products');
119
119
  elements.push({
120
120
  ...partialItem,
121
- content: renderInstantItemShowAllButton({ i18n: this.bindings.i18n }),
121
+ content: renderInstantItemShowAllButton({
122
+ i18n: this.bindings.i18n,
123
+ i18nKey: 'show-all-products',
124
+ }),
122
125
  onSelect: () => {
123
126
  this.bindings.clearSuggestions();
124
127
  this.bindings.searchBoxController.updateText(this.instantProducts.state.query);
@@ -8,7 +8,7 @@ import { loadQuerySuggestActions, } from '@coveo/headless/commerce';
8
8
  import { html, LitElement, nothing } from 'lit';
9
9
  import { customElement, property, state } from 'lit/decorators.js';
10
10
  import { getPartialSearchBoxSuggestionElement, renderQuerySuggestion, } from "../../common/suggestions/query-suggestions";
11
- import { dispatchSearchBoxSuggestionsEvent, } from "../../common/suggestions/suggestions-common";
11
+ import { dispatchSearchBoxSuggestionsEvent } from "../../common/suggestions/suggestions-events";
12
12
  import { errorGuard } from "../../../decorators/error-guard";
13
13
  const SearchIcon = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m6.4 0c3.5 0 6.4 2.9 6.4 6.4 0 1.4-.4 2.7-1.2 3.7l4 4c.4.4.4 1 .1 1.5l-.1.1c-.2.2-.5.3-.8.3s-.6-.1-.8-.3l-4-4c-1 .7-2.3 1.2-3.7 1.2-3.4-.1-6.3-3-6.3-6.5s2.9-6.4 6.4-6.4zm0 2.1c-2.3 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3z\"/></svg>";
14
14
  /**
@@ -12,7 +12,7 @@ import { SafeStorage, StorageItems } from "../../../utils/local-storage-utils";
12
12
  import { once } from "../../../utils/utils";
13
13
  const Clock = "<svg fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" stroke-linecap=\"round\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"8\" cy=\"8\" r=\"7.5\"/><path d=\"m8.5 4.5v4\"/><path d=\"m10.3066 10.1387-1.80932-1.5768\"/></svg>";
14
14
  import { getPartialRecentQueryClearElement, getPartialRecentQueryElement, renderRecentQuery, renderRecentQueryClear, } from '../../common/suggestions/recent-queries';
15
- import { dispatchSearchBoxSuggestionsEvent, } from '../../common/suggestions/suggestions-common';
15
+ import { dispatchSearchBoxSuggestionsEvent } from '../../common/suggestions/suggestions-events';
16
16
  /**
17
17
  * 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.
18
18
  */
@@ -25,8 +25,8 @@ import { bindings } from "../../../decorators/bindings";
25
25
  import { shouldDisplayInputForFacetRange } from '../../common/facets/facet-common';
26
26
  import facetCommonStyles from '../../common/facets/facet-common.tw.css';
27
27
  /**
28
- * A facet is a list of values for a certain field occurring in the results.
29
- * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.
28
+ * A facet is a list of values for a certain field occurring in the products.
29
+ * An `atomic-commerce-timeframe-facet` displays a facet of the products for the current query as date intervals.
30
30
  *
31
31
  * @part facet - The wrapper for the entire facet.
32
32
  * @part label-button - The header button to expand/collapse the facet.
@@ -36,7 +36,7 @@ import facetCommonStyles from '../../common/facets/facet-common.tw.css';
36
36
  * @part values - The container for the facet values list.
37
37
  * @part value-link - A facet value button.
38
38
  * @part value-link-selected - A selected facet value button.
39
- * @part value-count - The result count for a facet value.
39
+ * @part value-count - The product count for a facet value.
40
40
  * @part value-label - The label text of a facet value.
41
41
  * @part input-label - The label for date input fields.
42
42
  * @part input-start - The start date input field.
@@ -24,7 +24,7 @@ let AtomicProduct = class AtomicProduct extends ChildrenUpdateCompleteMixin(LitE
24
24
  /**
25
25
  * The product link to use when the product is clicked in a grid layout.
26
26
  *
27
- * @default - An `atomic-result-link` without any customization.
27
+ * @default - An `atomic-product-link` without any customization.
28
28
  */
29
29
  this.linkContent = new DocumentFragment();
30
30
  /**
@@ -11,7 +11,7 @@ import { ItemSectionMixin } from "../../../mixins/item-section-mixin";
11
11
  * This section is meant to render child products, available when using the <atomic-product-children> component.
12
12
  *
13
13
  * Behavior:
14
- * * Shows children at the bottom of the result, indented and wrapped in a border.
14
+ * * Shows children at the bottom of the product, indented and wrapped in a border.
15
15
  *
16
16
  * @slot default - The child products to display.
17
17
  */
@@ -12,7 +12,7 @@ import { makeMatchConditions } from '../../common/product-template/product-templ
12
12
  import { ProductTemplateController } from '../../common/product-template/product-template-controller';
13
13
  import '../atomic-product/atomic-product';
14
14
  /**
15
- * * A product template determines the format of the query results, depending on the conditions that are defined for each template.
15
+ * * A product template determines the format of the products, depending on the conditions that are defined for each template.
16
16
  *
17
17
  * A `template` element must be the child of an `atomic-product-template`. Furthermore, an `atomic-commerce-product-list`, `atomic-commerce-recommendation-list`, or `atomic-commerce-search-box-instant-products` must be the parent of each `atomic-product-template`.
18
18
  *
@@ -9,6 +9,7 @@ import { customElement, property, state } from 'lit/decorators.js';
9
9
  import { createRef, ref } from 'lit/directives/ref.js';
10
10
  import { when } from 'lit/directives/when.js';
11
11
  import { booleanConverter } from "../../../converters/boolean-converter.js";
12
+ import { bindings } from "../../../decorators/bindings.js";
12
13
  import { errorGuard } from "../../../decorators/error-guard";
13
14
  import { watch } from "../../../decorators/watch.js";
14
15
  import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
@@ -296,6 +297,7 @@ __decorate([
296
297
  ], AtomicModal.prototype, "watchToggleOpen", null);
297
298
  AtomicModal = __decorate([
298
299
  customElement('atomic-modal'),
300
+ bindings(),
299
301
  withTailwindStyles
300
302
  ], AtomicModal);
301
303
  export { AtomicModal };
@@ -0,0 +1,40 @@
1
+ import { randomID } from "../../../utils/utils";
2
+ /**
3
+ * A reactive controller that manages dynamic layout styles.
4
+ */
5
+ export class LayoutStylesController {
6
+ constructor(host, stylesBuilder, componentPrefix) {
7
+ this.dynamicStyleSheet = null;
8
+ this.host = host;
9
+ this.stylesBuilder = stylesBuilder;
10
+ this.componentPrefix = componentPrefix;
11
+ this.host.addController(this);
12
+ }
13
+ hostConnected() {
14
+ if (!this.host.id) {
15
+ this.host.id = randomID(this.componentPrefix);
16
+ }
17
+ this.host.updateComplete.then(() => this.updateStyles());
18
+ }
19
+ /**
20
+ * Updates the dynamic styles based on the current mobile breakpoint
21
+ */
22
+ updateStyles() {
23
+ const parent = this.host.getRootNode();
24
+ const isDocumentOrShadowRoot = parent instanceof Document || parent instanceof ShadowRoot;
25
+ if (!isDocumentOrShadowRoot) {
26
+ return;
27
+ }
28
+ const newStylesCSS = this.stylesBuilder(this.host, this.host.mobileBreakpoint);
29
+ if (!this.dynamicStyleSheet) {
30
+ this.dynamicStyleSheet = new CSSStyleSheet();
31
+ this.dynamicStyleSheet.replaceSync(newStylesCSS);
32
+ parent.adoptedStyleSheets = [
33
+ ...parent.adoptedStyleSheets,
34
+ this.dynamicStyleSheet,
35
+ ];
36
+ return;
37
+ }
38
+ this.dynamicStyleSheet.replaceSync(newStylesCSS);
39
+ }
40
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A reactive controller that manages mobile breakpoint changes through event communication.
3
+ * This controller listens for 'atomic-layout-breakpoint-change' events and updates a store
4
+ * with the new breakpoint value.
5
+ */
6
+ export class MobileBreakpointController {
7
+ constructor(host, store) {
8
+ this.host = host;
9
+ this.store = store;
10
+ this.eventListener = this.handleBreakpointChange.bind(this);
11
+ this.host.addController(this);
12
+ }
13
+ hostConnected() {
14
+ this.host.addEventListener('atomic-layout-breakpoint-change', this.eventListener);
15
+ }
16
+ hostDisconnected() {
17
+ this.host.removeEventListener('atomic-layout-breakpoint-change', this.eventListener);
18
+ }
19
+ handleBreakpointChange(e) {
20
+ const customEvent = e;
21
+ const newBreakpoint = customEvent.detail?.breakpoint;
22
+ if (newBreakpoint && this.store.state.mobileBreakpoint !== newBreakpoint) {
23
+ this.store.state.mobileBreakpoint = newBreakpoint;
24
+ }
25
+ }
26
+ }
@@ -5,7 +5,7 @@ export const renderTriggerCorrection = ({ props, }) => {
5
5
  <p class="text-on-background text-lg leading-6" part="showing-results-for">
6
6
  ${localizedString({
7
7
  i18n: props.i18n,
8
- key: 'showing-results-for',
8
+ key: props.i18nKeyShowingItemsFor,
9
9
  params: { query: html `<b part="highlight">${props.correctedQuery}</b>` },
10
10
  })}
11
11
  </p>
@@ -41,7 +41,7 @@ export const renderRefineModal = ({ props }) => (children) => {
41
41
  },
42
42
  })(html `
43
43
  <span part="footer-button-text" class="mr-1 truncate">
44
- ${props.i18n.t('view-results')}
44
+ ${props.i18n.t(props.i18nFooterButtonTextKey)}
45
45
  </span>
46
46
  <span part="footer-button-count">
47
47
  ${localizedString({
@@ -1,9 +1,9 @@
1
1
  import { html, render } from 'lit';
2
2
  import { encodeForDomAttribute } from '../../../utils/string-utils';
3
3
  import { getClassNameForButtonStyle } from '../button-style';
4
- export const getPartialInstantItemElement = (i18n, itemTitle, itemUniqueId) => {
4
+ export const getPartialInstantItemElement = (i18n, i18nKey, itemTitle, itemUniqueId) => {
5
5
  return {
6
- ariaLabel: i18n.t('instant-results-suggestion-label', {
6
+ ariaLabel: i18n.t(i18nKey, {
7
7
  title: itemTitle,
8
8
  interpolation: { escapeValue: false },
9
9
  }),
@@ -11,19 +11,19 @@ export const getPartialInstantItemElement = (i18n, itemTitle, itemUniqueId) => {
11
11
  part: 'instant-results-item',
12
12
  };
13
13
  };
14
- export const getPartialInstantItemShowAllElement = (i18n) => {
14
+ export const getPartialInstantItemShowAllElement = (i18n, i18nKey) => {
15
15
  return {
16
16
  key: 'instant-results-show-all-button',
17
17
  part: 'instant-results-show-all',
18
- ariaLabel: i18n.t('show-all-results'),
18
+ ariaLabel: i18n.t(i18nKey),
19
19
  };
20
20
  };
21
- export const renderInstantItemShowAllButton = ({ i18n, }) => {
21
+ export const renderInstantItemShowAllButton = ({ i18n, i18nKey, }) => {
22
22
  const template = html `<div
23
23
  part="instant-results-show-all-button"
24
24
  class=${getClassNameForButtonStyle('text-primary')}
25
25
  >
26
- ${i18n.t('show-all-results')}
26
+ ${i18n.t(i18nKey)}
27
27
  </div>`;
28
28
  const container = document.createElement('div');
29
29
  render(template, container);
@@ -2,7 +2,7 @@ import { isNullOrUndefined } from '@coveo/bueno';
2
2
  import DOMPurify from 'dompurify';
3
3
  import { debounce } from '../../../utils/debounce-utils';
4
4
  import { promiseTimeout } from '../../../utils/promise-utils';
5
- import { elementHasNoQuery, elementHasQuery, } from './suggestions-common';
5
+ import { elementHasNoQuery, elementHasQuery } from './suggestions-utils';
6
6
  export class SuggestionManager {
7
7
  constructor(ownerSearchBoxProps) {
8
8
  this.ownerSearchBoxProps = ownerSearchBoxProps;
@@ -1,5 +1,21 @@
1
1
  import { closest } from '../../../utils/dom-utils';
2
2
  import { buildCustomEvent } from '../../../utils/event-utils';
3
+ /**
4
+ * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
5
+ *
6
+ * @param event Event sent from the registered query suggestions to the parent search box
7
+ * @param element Element on which to dispatch the event, which must be the child of a configured search box
8
+ * @param allowedSearchBoxElements Optional array of allowed search box element selectors
9
+ *
10
+ * @throws Error if the element is not a child of an allowed search box element
11
+ */
12
+ export const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
13
+ const interfaceElement = closest(element, searchBoxElements.join(', '));
14
+ if (!interfaceElement) {
15
+ throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
16
+ }
17
+ void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
18
+ };
3
19
  const searchBoxElements = [
4
20
  'atomic-search-box',
5
21
  'atomic-insight-search-box',
@@ -17,21 +33,3 @@ const dispatchSearchBoxSuggestionsEventEventually = async (interfaceElement, ele
17
33
  }
18
34
  element.dispatchEvent(buildCustomEvent('atomic/searchBoxSuggestion/register', event));
19
35
  };
20
- /**
21
- * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
22
- * @param event Event sent from the registered query suggestions to the parent search box.
23
- * @param element Element on which to dispatch the event, which must be the child of a configured search box.
24
- */
25
- export const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
26
- const interfaceElement = closest(element, searchBoxElements.join(', '));
27
- if (!interfaceElement) {
28
- throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
29
- }
30
- void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
31
- };
32
- export function elementHasNoQuery(el) {
33
- return !el.query || el.query.trim() === '';
34
- }
35
- export function elementHasQuery(el) {
36
- return !!el.query && el.query.trim() !== '';
37
- }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Checks if a search box suggestion element has no query.
3
+ *
4
+ * @param el - The search box suggestion element to check
5
+ * @returns True if the element has no query or the query is whitespace-only
6
+ */
7
+ export function elementHasNoQuery(el) {
8
+ return !el.query || el.query.trim() === '';
9
+ }
10
+ /**
11
+ * Checks if a search box suggestion element has a query.
12
+ *
13
+ * @param el - The search box suggestion element to check
14
+ * @returns True if the element has a non-empty, non-whitespace query
15
+ */
16
+ export function elementHasQuery(el) {
17
+ return !!el.query && el.query.trim() !== '';
18
+ }
@@ -3,7 +3,7 @@ function getWindow() {
3
3
  }
4
4
  export function getAtomicEnvironment(headlessVersion) {
5
5
  return {
6
- version: "3.33.8-pre.351575b812",
6
+ version: "3.33.8-pre.3524c75f47",
7
7
  headlessVersion,
8
8
  };
9
9
  }