@coveo/atomic 3.35.0-pre.d735e0b324 → 3.35.0-pre.ddf08ff320

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 (1063) 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 +0 -2
  4. package/dist/atomic/components/_index.js +20 -21
  5. package/dist/atomic/components/atomic-category-facet.js +1 -1
  6. package/dist/atomic/components/atomic-citation.js +1 -1
  7. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  8. package/dist/atomic/components/atomic-facet.js +1 -1
  9. package/dist/atomic/components/atomic-field-condition.js +1 -1
  10. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  11. package/dist/atomic/components/atomic-folded-result-list.js +1 -2
  12. package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
  13. package/dist/atomic/components/atomic-format-currency.js +1 -1
  14. package/dist/atomic/components/atomic-format-number.js +1 -1
  15. package/dist/atomic/components/atomic-format-unit.js +1 -1
  16. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  17. package/dist/atomic/components/atomic-html2.js +1 -1
  18. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  19. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  20. package/dist/atomic/components/atomic-insight-folded-result-list.js +2 -3
  21. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  22. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  23. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  24. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  25. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  26. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  27. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  28. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  29. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  31. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  32. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  33. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  34. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  35. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  36. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  37. package/dist/atomic/components/atomic-insight-result-list.js +2 -3
  38. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  39. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  40. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  41. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  42. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  43. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  44. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  45. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  46. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  48. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  49. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  51. package/dist/atomic/components/atomic-ipx-recs-list.js +2 -3
  52. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  53. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  54. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  55. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  56. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  57. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  58. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  59. package/dist/atomic/components/atomic-no-results.js +1 -1
  60. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  61. package/dist/atomic/components/atomic-query-error.js +1 -1
  62. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  63. package/dist/atomic/components/atomic-quickview.js +2 -2
  64. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  65. package/dist/atomic/components/atomic-recs-error.js +1 -1
  66. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  67. package/dist/atomic/components/atomic-recs-list.js +2 -3
  68. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  69. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  70. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  71. package/dist/atomic/components/atomic-result-badge.js +1 -1
  72. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  73. package/dist/atomic/components/atomic-result-children.js +2 -2
  74. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  75. package/dist/atomic/components/atomic-result-date.js +1 -1
  76. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  77. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  78. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  79. package/dist/atomic/components/atomic-result-html.js +1 -1
  80. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  81. package/dist/atomic/components/atomic-result-icon.js +1 -1
  82. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  83. package/dist/atomic/components/atomic-result-image.js +1 -1
  84. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  85. package/dist/atomic/components/atomic-result-link.js +2 -2
  86. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  87. package/dist/atomic/components/atomic-result-list.js +2 -3
  88. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  89. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  90. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  91. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  92. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  93. package/dist/atomic/components/atomic-result-number.js +1 -1
  94. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  95. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  96. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  97. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  98. package/dist/atomic/components/atomic-result-rating.js +1 -1
  99. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  100. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  101. package/dist/atomic/components/atomic-result-text2.js +1 -1
  102. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  103. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  104. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  105. package/dist/atomic/components/atomic-result2.js.map +1 -1
  106. package/dist/atomic/components/atomic-search-box-query-suggestions.js +1 -1
  107. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +38 -3
  108. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  109. package/dist/atomic/components/atomic-search-box.js +4 -8
  110. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  111. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  112. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  113. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  114. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  115. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  116. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  117. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  118. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  119. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  120. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  121. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  122. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -3
  123. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +0 -5
  124. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +0 -3
  125. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  126. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  127. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  128. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  129. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  130. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  131. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  132. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  133. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  134. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  135. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  136. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  137. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  138. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +1 -6
  139. package/dist/atomic/components/components/common/item-list/item-template-provider.js +28 -0
  140. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
  141. package/dist/atomic/components/{atomic-search-box-instant-results.js → components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.js} +83 -87
  142. package/dist/atomic/components/components/search/index.js +1 -0
  143. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  144. package/dist/atomic/components/facet-number-input.js +2 -2
  145. package/dist/atomic/components/global/environment.js +1 -1
  146. package/dist/atomic/components/index.js.map +1 -1
  147. package/dist/atomic/components/item-template-provider.js +21 -1
  148. package/dist/atomic/components/item-template-provider.js.map +1 -1
  149. package/dist/atomic/components/show-hide-button.js +1 -1
  150. package/dist/atomic/components/stencil-button.js +44 -2
  151. package/dist/atomic/components/stencil-button.js.map +1 -1
  152. package/dist/atomic/components/stencil-radio-button.js +1 -2
  153. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  154. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  155. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  156. package/dist/atomic/components/stencil-suggestion-manager.js +1 -1
  157. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  158. package/dist/atomic/components/tab-button.js +1 -1
  159. package/dist/atomic/components/tab-popover.js +1 -1
  160. package/dist/atomic/index.esm.js +1 -1
  161. package/dist/atomic/index.esm.js.map +1 -1
  162. package/dist/atomic/lang/cs.json +1 -1
  163. package/dist/atomic/lang/da.json +1 -1
  164. package/dist/atomic/lang/de.json +1 -1
  165. package/dist/atomic/lang/dev.json +1 -1
  166. package/dist/atomic/lang/el.json +1 -1
  167. package/dist/atomic/lang/en.json +1 -1
  168. package/dist/atomic/lang/es.json +1 -1
  169. package/dist/atomic/lang/fi.json +1 -1
  170. package/dist/atomic/lang/fr.json +1 -1
  171. package/dist/atomic/lang/hu.json +1 -1
  172. package/dist/atomic/lang/id.json +1 -1
  173. package/dist/atomic/lang/it.json +1 -1
  174. package/dist/atomic/lang/ja.json +1 -1
  175. package/dist/atomic/lang/ko.json +1 -1
  176. package/dist/atomic/lang/nl.json +1 -1
  177. package/dist/atomic/lang/no.json +1 -1
  178. package/dist/atomic/lang/pl.json +1 -1
  179. package/dist/atomic/lang/pt-BR.json +1 -1
  180. package/dist/atomic/lang/pt.json +1 -1
  181. package/dist/atomic/lang/ru.json +1 -1
  182. package/dist/atomic/lang/sv.json +1 -1
  183. package/dist/atomic/lang/th.json +1 -1
  184. package/dist/atomic/lang/tr.json +1 -1
  185. package/dist/atomic/lang/zh-CN.json +1 -1
  186. package/dist/atomic/lang/zh-TW.json +1 -1
  187. package/dist/atomic/lang/zh.json +1 -1
  188. package/dist/atomic/{p-955092ed.entry.js → p-01096d1c.entry.js} +2 -2
  189. package/dist/atomic/p-01096d1c.entry.js.map +1 -0
  190. package/dist/atomic/{p-a0ebbbdf.entry.js → p-06c22903.entry.js} +2 -2
  191. package/dist/atomic/p-0947a95f.entry.js +2 -0
  192. package/dist/atomic/{p-d0ab0125.entry.js.map → p-0947a95f.entry.js.map} +1 -1
  193. package/dist/atomic/{p-5d0a3045.js → p-0ab0ceaa.js} +2 -2
  194. package/dist/atomic/p-0acbc1aa.entry.js +2 -0
  195. package/dist/atomic/{p-f37dea9e.entry.js.map → p-0acbc1aa.entry.js.map} +1 -1
  196. package/dist/atomic/{p-74862002.js → p-0e6f1e14.js} +2 -2
  197. package/dist/atomic/p-0fb39501.js +2 -0
  198. package/dist/atomic/p-0fb39501.js.map +1 -0
  199. package/dist/atomic/{p-3272a04b.entry.js → p-0fb717b5.entry.js} +2 -2
  200. package/dist/atomic/{p-bc43df67.entry.js → p-118db20a.entry.js} +2 -2
  201. package/dist/atomic/{p-d2e8a2d4.js → p-134b7370.js} +2 -2
  202. package/dist/atomic/{p-b29d121c.js → p-1365c7d0.js} +2 -2
  203. package/dist/atomic/{p-ef78082a.js → p-15580d9e.js} +2 -2
  204. package/dist/atomic/p-1717e9cf.entry.js +2 -0
  205. package/dist/atomic/{p-5a83b7e5.entry.js.map → p-1717e9cf.entry.js.map} +1 -1
  206. package/dist/atomic/p-173deaca.entry.js +2 -0
  207. package/dist/atomic/{p-76c14d82.entry.js.map → p-173deaca.entry.js.map} +1 -1
  208. package/dist/atomic/p-1936bfc8.entry.js +2 -0
  209. package/dist/atomic/p-1ceca322.entry.js +2 -0
  210. package/dist/atomic/{p-558f2191.entry.js.map → p-1ceca322.entry.js.map} +1 -1
  211. package/dist/atomic/{p-182f9112.entry.js → p-1ebea045.entry.js} +2 -2
  212. package/dist/atomic/{p-db2d92c5.entry.js.map → p-1ebea045.entry.js.map} +1 -1
  213. package/dist/atomic/{p-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
  214. package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
  215. package/dist/atomic/{p-5a2ef889.js → p-20fc8a6c.js} +2 -2
  216. package/dist/atomic/{p-baff6c43.js → p-25660266.js} +2 -2
  217. package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
  218. package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
  219. package/dist/atomic/p-28f4600a.entry.js +2 -0
  220. package/dist/atomic/{p-a6dde0f6.entry.js.map → p-28f4600a.entry.js.map} +1 -1
  221. package/dist/atomic/{p-a54f3f24.entry.js → p-2e78d642.entry.js} +2 -2
  222. package/dist/atomic/{p-bd01acd5.entry.js.map → p-2e78d642.entry.js.map} +1 -1
  223. package/dist/atomic/p-30e24f95.entry.js +2 -0
  224. package/dist/atomic/{p-fd1ef9e3.entry.js.map → p-30e24f95.entry.js.map} +1 -1
  225. package/dist/atomic/p-30ea57e8.entry.js +2 -0
  226. package/dist/atomic/{p-3a01a398.entry.js.map → p-30ea57e8.entry.js.map} +1 -1
  227. package/dist/atomic/{p-dbc09018.js → p-340130de.js} +2 -2
  228. package/dist/atomic/p-3957401e.entry.js +2 -0
  229. package/dist/atomic/{p-9b2561e8.entry.js.map → p-3957401e.entry.js.map} +1 -1
  230. package/dist/atomic/{p-82cd6398.entry.js → p-39de1cef.entry.js} +2 -2
  231. package/dist/atomic/{p-82cd6398.entry.js.map → p-39de1cef.entry.js.map} +1 -1
  232. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  233. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  234. package/dist/atomic/{p-037eee11.js → p-3f0e7549.js} +2 -2
  235. package/dist/atomic/{p-6819f12c.entry.js → p-3f3f6b14.entry.js} +2 -2
  236. package/dist/atomic/p-4027e529.entry.js +2 -0
  237. package/dist/atomic/{p-ef8f2239.entry.js.map → p-4027e529.entry.js.map} +1 -1
  238. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  239. package/dist/atomic/p-4080f740.js.map +1 -0
  240. package/dist/atomic/p-42937d04.entry.js +2 -0
  241. package/dist/atomic/{p-2f517a54.entry.js.map → p-42937d04.entry.js.map} +1 -1
  242. package/dist/atomic/p-4310d46f.entry.js +2 -0
  243. package/dist/atomic/{p-80290dd3.entry.js.map → p-4310d46f.entry.js.map} +1 -1
  244. package/dist/atomic/p-475df84c.entry.js +2 -0
  245. package/dist/atomic/{p-70747efa.entry.js.map → p-475df84c.entry.js.map} +1 -1
  246. package/dist/atomic/{p-57049cd2.entry.js → p-49ac2124.entry.js} +2 -2
  247. package/dist/atomic/p-49ac2124.entry.js.map +1 -0
  248. package/dist/atomic/p-4ba12e99.entry.js +2 -0
  249. package/dist/atomic/{p-a54f3f24.entry.js.map → p-4ba12e99.entry.js.map} +1 -1
  250. package/dist/atomic/{p-f8b608ba.js → p-4bf14d26.js} +2 -2
  251. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  252. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  253. package/dist/atomic/{p-bd01acd5.entry.js → p-4e25638d.entry.js} +2 -2
  254. package/dist/atomic/p-4e25638d.entry.js.map +1 -0
  255. package/dist/atomic/{p-448091f7.entry.js → p-4e6dcdcf.entry.js} +2 -2
  256. package/dist/atomic/{p-35c2ee5f.entry.js.map → p-4e6dcdcf.entry.js.map} +1 -1
  257. package/dist/atomic/{p-c619df9b.js → p-4ecabf56.js} +2 -2
  258. package/dist/atomic/{p-567b2841.entry.js → p-5346f77d.entry.js} +2 -2
  259. package/dist/atomic/{p-81bdbd07.entry.js.map → p-5346f77d.entry.js.map} +1 -1
  260. package/dist/atomic/{p-044de1f9.entry.js → p-534aa5f7.entry.js} +2 -2
  261. package/dist/atomic/{p-15547bd5.entry.js → p-57ed25c9.entry.js} +2 -2
  262. package/dist/atomic/p-57ed25c9.entry.js.map +1 -0
  263. package/dist/atomic/p-583faf68.entry.js +2 -0
  264. package/dist/atomic/p-583faf68.entry.js.map +1 -0
  265. package/dist/atomic/{p-8b0d881e.entry.js → p-5a417451.entry.js} +2 -2
  266. package/dist/atomic/{p-e49ad083.entry.js.map → p-5a417451.entry.js.map} +1 -1
  267. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  268. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  269. package/dist/atomic/p-5f2fa73f.entry.js +2 -0
  270. package/dist/atomic/{p-ae69f519.entry.js.map → p-5f2fa73f.entry.js.map} +1 -1
  271. package/dist/atomic/{p-f65ca329.entry.js → p-609d0550.entry.js} +2 -2
  272. package/dist/atomic/p-64da3471.entry.js +2 -0
  273. package/dist/atomic/{p-c8190eb9.entry.js.map → p-64da3471.entry.js.map} +1 -1
  274. package/dist/atomic/{p-60498b8e.js → p-68013132.js} +2 -2
  275. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  276. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  277. package/dist/atomic/p-6ddd05c2.entry.js +2 -0
  278. package/dist/atomic/{p-48bab1a6.entry.js.map → p-6ddd05c2.entry.js.map} +1 -1
  279. package/dist/atomic/p-75c37247.js +2 -0
  280. package/dist/atomic/p-75c37247.js.map +1 -0
  281. package/dist/atomic/{p-5c73ebc4.js → p-76cf6545.js} +2 -2
  282. package/dist/atomic/p-7b0e3ff4.entry.js +2 -0
  283. package/dist/atomic/{p-6439156c.entry.js.map → p-7b0e3ff4.entry.js.map} +1 -1
  284. package/dist/atomic/p-7b9e5e58.entry.js +2 -0
  285. package/dist/atomic/{p-1910eb7f.entry.js.map → p-7b9e5e58.entry.js.map} +1 -1
  286. package/dist/atomic/p-7bf809eb.entry.js +2 -0
  287. package/dist/atomic/p-7c5d4924.entry.js +2 -0
  288. package/dist/atomic/{p-567b2841.entry.js.map → p-7c5d4924.entry.js.map} +1 -1
  289. package/dist/atomic/p-7e588beb.entry.js +2 -0
  290. package/dist/atomic/{p-3bd8469f.entry.js.map → p-7e588beb.entry.js.map} +1 -1
  291. package/dist/atomic/p-891cb944.entry.js +2 -0
  292. package/dist/atomic/{p-b84108f3.entry.js.map → p-891cb944.entry.js.map} +1 -1
  293. package/dist/atomic/{p-c2a5dac0.entry.js → p-8998da31.entry.js} +2 -2
  294. package/dist/atomic/{p-e6871a3f.entry.js.map → p-8998da31.entry.js.map} +1 -1
  295. package/dist/atomic/{p-ed413091.entry.js → p-8a30d1e9.entry.js} +2 -2
  296. package/dist/atomic/p-8be21e4a.js +2 -0
  297. package/dist/atomic/p-8be21e4a.js.map +1 -0
  298. package/dist/atomic/{p-0948a187.entry.js → p-8c87d746.entry.js} +2 -2
  299. package/dist/atomic/{p-44d96103.entry.js → p-8d1f7884.entry.js} +2 -2
  300. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  301. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  302. package/dist/atomic/p-8f69b018.entry.js +2 -0
  303. package/dist/atomic/{p-5606819d.entry.js.map → p-8f69b018.entry.js.map} +1 -1
  304. package/dist/atomic/{p-d8caa4d8.entry.js → p-90ace4cd.entry.js} +2 -2
  305. package/dist/atomic/{p-e6871a3f.entry.js → p-9411ab14.entry.js} +2 -2
  306. package/dist/atomic/{p-479cb38a.entry.js.map → p-9411ab14.entry.js.map} +1 -1
  307. package/dist/atomic/p-94b0fca4.entry.js +2 -0
  308. package/dist/atomic/{p-874f0a4c.entry.js.map → p-94b0fca4.entry.js.map} +1 -1
  309. package/dist/atomic/p-95cff664.entry.js +2 -0
  310. package/dist/atomic/{p-22b76c96.entry.js.map → p-95cff664.entry.js.map} +1 -1
  311. package/dist/atomic/p-97479dde.entry.js +2 -0
  312. package/dist/atomic/{p-c2a5dac0.entry.js.map → p-97479dde.entry.js.map} +1 -1
  313. package/dist/atomic/{p-3291adda.entry.js → p-9c556664.entry.js} +2 -2
  314. package/dist/atomic/{p-a428960a.js → p-9dcd5606.js} +2 -2
  315. package/dist/atomic/p-9ec21c88.entry.js +2 -0
  316. package/dist/atomic/{p-f1241140.entry.js.map → p-9ec21c88.entry.js.map} +1 -1
  317. package/dist/atomic/p-9feb951f.entry.js +2 -0
  318. package/dist/atomic/{p-400c28b6.entry.js.map → p-9feb951f.entry.js.map} +1 -1
  319. package/dist/atomic/p-a3d55993.entry.js +2 -0
  320. package/dist/atomic/{p-0ee7cab8.entry.js.map → p-a3d55993.entry.js.map} +1 -1
  321. package/dist/atomic/{p-47b41b27.entry.js → p-a94386b5.entry.js} +2 -2
  322. package/dist/atomic/{p-48bab1a6.entry.js → p-a9aadc3d.entry.js} +2 -2
  323. package/dist/atomic/{p-2f437b47.entry.js.map → p-a9aadc3d.entry.js.map} +1 -1
  324. package/dist/atomic/{p-ca37969c.js → p-a9e250f8.js} +2 -2
  325. package/dist/atomic/p-aa69a7f4.entry.js +2 -0
  326. package/dist/atomic/{p-77d00da1.entry.js.map → p-aa69a7f4.entry.js.map} +1 -1
  327. package/dist/atomic/p-ab2f6794.entry.js +2 -0
  328. package/dist/atomic/p-ab2f6794.entry.js.map +1 -0
  329. package/dist/atomic/p-b0ce2261.entry.js +2 -0
  330. package/dist/atomic/{p-21ab7750.entry.js.map → p-b0ce2261.entry.js.map} +1 -1
  331. package/dist/atomic/p-b1c34434.entry.js +2 -0
  332. package/dist/atomic/p-b1c34434.entry.js.map +1 -0
  333. package/dist/atomic/p-b211da6c.entry.js +2 -0
  334. package/dist/atomic/{p-33245038.entry.js.map → p-b211da6c.entry.js.map} +1 -1
  335. package/dist/atomic/{p-35c2ee5f.entry.js → p-bacb06d7.entry.js} +2 -2
  336. package/dist/atomic/{p-6698d5e9.entry.js.map → p-bacb06d7.entry.js.map} +1 -1
  337. package/dist/atomic/p-bcc202ff.entry.js +2 -0
  338. package/dist/atomic/{p-7242b46e.entry.js.map → p-bcc202ff.entry.js.map} +1 -1
  339. package/dist/atomic/p-bd50cd51.entry.js +2 -0
  340. package/dist/atomic/{p-e276c7e0.entry.js.map → p-bd50cd51.entry.js.map} +1 -1
  341. package/dist/atomic/{p-5606819d.entry.js → p-bd565f91.entry.js} +2 -2
  342. package/dist/atomic/{p-b628ed03.entry.js.map → p-bd565f91.entry.js.map} +1 -1
  343. package/dist/atomic/{p-d0ab0125.entry.js → p-bdad3117.entry.js} +2 -2
  344. package/dist/atomic/{p-7fe23afc.entry.js.map → p-bdad3117.entry.js.map} +1 -1
  345. package/dist/atomic/p-beb2ad8e.js +2 -0
  346. package/dist/atomic/{p-82398f4a.js.map → p-beb2ad8e.js.map} +1 -1
  347. package/dist/atomic/p-c2acd146.entry.js +2 -0
  348. package/dist/atomic/{p-7045745d.entry.js.map → p-c2acd146.entry.js.map} +1 -1
  349. package/dist/atomic/{p-8a488991.js → p-ca0e9cd6.js} +2 -2
  350. package/dist/atomic/{p-852cc16d.entry.js → p-cacb7fd8.entry.js} +2 -2
  351. package/dist/atomic/p-cacb7fd8.entry.js.map +1 -0
  352. package/dist/atomic/p-cbc634fa.entry.js +2 -0
  353. package/dist/atomic/{p-dd24c66a.entry.js.map → p-cbc634fa.entry.js.map} +1 -1
  354. package/dist/atomic/{p-c5164dbf.entry.js → p-cbec8d32.entry.js} +2 -2
  355. package/dist/atomic/p-cbec8d32.entry.js.map +1 -0
  356. package/dist/atomic/p-ceeb9f1f.entry.js +2 -0
  357. package/dist/atomic/{p-f0c657f4.entry.js.map → p-ceeb9f1f.entry.js.map} +1 -1
  358. package/dist/atomic/p-d0584482.entry.js +2 -0
  359. package/dist/atomic/{p-66166975.entry.js.map → p-d0584482.entry.js.map} +1 -1
  360. package/dist/atomic/{p-229018fa.entry.js → p-d1fbb20a.entry.js} +2 -2
  361. package/dist/atomic/{p-14bad769.entry.js → p-d2107c93.entry.js} +2 -2
  362. package/dist/atomic/{p-20cbcfb9.js → p-d365883e.js} +2 -2
  363. package/dist/atomic/p-d4303474.entry.js +2 -0
  364. package/dist/atomic/{p-8b0d881e.entry.js.map → p-d4303474.entry.js.map} +1 -1
  365. package/dist/atomic/{p-2c6f895f.js → p-d4cbd9b1.js} +2 -2
  366. package/dist/atomic/{p-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
  367. package/dist/atomic/p-d5402772.entry.js.map +1 -0
  368. package/dist/atomic/p-d618c229.entry.js +2 -0
  369. package/dist/atomic/{p-088d634c.entry.js.map → p-d618c229.entry.js.map} +1 -1
  370. package/dist/atomic/{p-1c8bcadf.entry.js → p-d8d346f3.entry.js} +2 -2
  371. package/dist/atomic/{p-e276c7e0.entry.js → p-d9241b90.entry.js} +2 -2
  372. package/dist/atomic/{p-0535b93d.entry.js.map → p-d9241b90.entry.js.map} +1 -1
  373. package/dist/atomic/{p-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
  374. package/dist/atomic/p-da141605.entry.js.map +1 -0
  375. package/dist/atomic/{p-26e0c1f8.entry.js → p-dbc08e9e.entry.js} +2 -2
  376. package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
  377. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  378. package/dist/atomic/p-ddf72215.entry.js +2 -0
  379. package/dist/atomic/{p-fc71835d.entry.js.map → p-ddf72215.entry.js.map} +1 -1
  380. package/dist/atomic/p-df84c005.entry.js +2 -0
  381. package/dist/atomic/{p-99d4c4bf.entry.js.map → p-df84c005.entry.js.map} +1 -1
  382. package/dist/atomic/p-e0ba043d.entry.js +2 -0
  383. package/dist/atomic/{p-b1b583a0.entry.js.map → p-e0ba043d.entry.js.map} +1 -1
  384. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  385. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  386. package/dist/atomic/{p-e8176ac8.entry.js → p-e58679b8.entry.js} +2 -2
  387. package/dist/atomic/p-e7eea1ef.entry.js +2 -0
  388. package/dist/atomic/p-e7eea1ef.entry.js.map +1 -0
  389. package/dist/atomic/p-e8180b21.entry.js +2 -0
  390. package/dist/atomic/p-f02d1e6e.entry.js +2 -0
  391. package/dist/atomic/{p-e455330c.entry.js.map → p-f02d1e6e.entry.js.map} +1 -1
  392. package/dist/atomic/{p-2e13e2c0.entry.js → p-f654697b.entry.js} +2 -2
  393. package/dist/atomic/p-f800678c.entry.js.map +1 -1
  394. package/dist/atomic/p-f917dce9.entry.js +2 -0
  395. package/dist/atomic/{p-851b9735.entry.js.map → p-f917dce9.entry.js.map} +1 -1
  396. package/dist/atomic/p-f964e30a.entry.js +2 -0
  397. package/dist/atomic/p-f964e30a.entry.js.map +1 -0
  398. package/dist/atomic/p-fa9d8ab7.entry.js +2 -0
  399. package/dist/atomic/{p-7741124a.entry.js.map → p-fa9d8ab7.entry.js.map} +1 -1
  400. package/dist/atomic/{p-5cab535b.entry.js → p-fb5598e9.entry.js} +2 -2
  401. package/dist/atomic/p-fb5598e9.entry.js.map +1 -0
  402. package/dist/cjs/_index.cjs.js +20 -20
  403. package/dist/cjs/_loader.cjs.js +1 -1
  404. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  405. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  406. package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -2
  407. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  408. package/dist/cjs/atomic-category-facet.cjs.entry.js +6 -7
  409. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  410. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  411. package/dist/cjs/atomic-color-facet.cjs.entry.js +5 -6
  412. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  413. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  414. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +3 -4
  415. package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
  416. package/dist/cjs/atomic-facet.cjs.entry.js +9 -10
  417. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  418. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  419. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  420. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -3
  421. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  422. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  423. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  424. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  425. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -5
  426. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  427. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -3
  428. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  429. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  430. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +3 -4
  431. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
  432. package/dist/cjs/atomic-insight-facet.cjs.entry.js +8 -9
  433. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  434. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -3
  435. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  436. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +3 -4
  437. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  438. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -3
  439. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  440. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +3 -4
  441. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  442. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  443. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +6 -7
  444. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  445. package/dist/cjs/atomic-insight-pager.cjs.entry.js +5 -6
  446. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  447. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +3 -4
  448. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  449. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -5
  450. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  451. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +3 -4
  452. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  453. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +5 -6
  454. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  455. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +5 -6
  456. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  457. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  458. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  459. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +4 -6
  460. package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
  461. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -3
  462. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  463. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +5 -6
  464. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  465. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  466. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +4 -5
  467. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  468. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  469. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  470. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -3
  471. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  472. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -4
  473. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
  474. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -2
  475. package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
  476. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  477. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -5
  478. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  479. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -2
  480. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  481. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +2 -3
  482. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  483. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +3 -4
  484. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  485. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  486. package/dist/cjs/atomic-ipx-button.cjs.entry.js +3 -4
  487. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  488. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  489. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  490. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +5 -7
  491. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  492. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +3 -4
  493. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  494. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +3 -4
  495. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  496. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -4
  497. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  498. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
  499. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  500. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  501. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -3
  502. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  503. package/dist/cjs/atomic-no-results.cjs.entry.js +2 -3
  504. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  505. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -7
  506. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  507. package/dist/cjs/atomic-popover.cjs.entry.js +1 -2
  508. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  509. package/dist/cjs/atomic-query-error.cjs.entry.js +3 -4
  510. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  511. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -4
  512. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  513. package/dist/cjs/atomic-quickview.cjs.entry.js +4 -5
  514. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  515. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -5
  516. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  517. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  518. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  519. package/dist/cjs/atomic-recs-error.cjs.entry.js +3 -4
  520. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  521. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  522. package/dist/cjs/atomic-recs-list.cjs.entry.js +5 -7
  523. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  524. package/dist/cjs/atomic-refine-modal.cjs.entry.js +3 -4
  525. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  526. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -3
  527. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  528. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  529. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  530. package/dist/cjs/atomic-result-children.cjs.entry.js +6 -8
  531. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  532. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  533. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  534. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  535. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  536. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  537. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  538. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  539. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  540. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  541. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  542. package/dist/cjs/atomic-result-link.cjs.entry.js +4 -4
  543. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  544. package/dist/cjs/atomic-result-list.cjs.entry.js +2 -3
  545. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  546. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  547. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  548. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  549. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  550. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  551. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  552. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  553. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  554. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  555. package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
  556. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  557. package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
  558. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  559. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  560. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  561. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  562. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +1 -1
  563. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -10
  564. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  565. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -2
  566. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  567. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -2
  568. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  569. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  570. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  571. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  572. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  573. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  574. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -3
  575. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  576. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -4
  577. package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
  578. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  579. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  580. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +4 -5
  581. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
  582. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  583. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -3
  584. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  585. package/dist/cjs/atomic-tab-button.cjs.entry.js +2 -3
  586. package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
  587. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  588. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -5
  589. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  590. package/dist/cjs/atomic.cjs.js +1 -1
  591. package/dist/cjs/{facet-placeholder-22074f05.js → facet-placeholder-21821057.js} +2 -2
  592. package/dist/cjs/{facet-placeholder-22074f05.js.map → facet-placeholder-21821057.js.map} +1 -1
  593. package/dist/cjs/{generated-answer-common-3c400311.js → generated-answer-common-4410c9e0.js} +2 -2
  594. package/dist/cjs/{generated-answer-common-3c400311.js.map → generated-answer-common-4410c9e0.js.map} +1 -1
  595. package/dist/cjs/index-757bc886.js +4 -8
  596. package/dist/cjs/index.cjs.js.map +1 -1
  597. package/dist/cjs/{item-template-provider-470c1774.js → item-template-provider-e82736d7.js} +23 -1
  598. package/dist/cjs/item-template-provider-e82736d7.js.map +1 -0
  599. package/dist/cjs/{show-hide-button-c4717f52.js → show-hide-button-2a630d6f.js} +4 -4
  600. package/dist/cjs/{show-hide-button-c4717f52.js.map → show-hide-button-2a630d6f.js.map} +1 -1
  601. package/dist/cjs/{smart-snippet-common-1fd0dad5.js → smart-snippet-common-524d635f.js} +3 -3
  602. package/dist/cjs/{smart-snippet-common-1fd0dad5.js.map → smart-snippet-common-524d635f.js.map} +1 -1
  603. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js → smart-snippet-feedback-modal-common-3b7e3c7e.js} +2 -2
  604. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js.map → smart-snippet-feedback-modal-common-3b7e3c7e.js.map} +1 -1
  605. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js → smart-snippet-suggestions-common-a6fb3bfd.js} +2 -2
  606. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js.map → smart-snippet-suggestions-common-a6fb3bfd.js.map} +1 -1
  607. package/dist/cjs/{stencil-button-94b89acc.js → stencil-button-a114783e.js} +48 -4
  608. package/dist/cjs/stencil-button-a114783e.js.map +1 -0
  609. package/dist/cjs/{stencil-carousel-a8df6f3c.js → stencil-carousel-254b4ea7.js} +2 -2
  610. package/dist/cjs/{stencil-carousel-a8df6f3c.js.map → stencil-carousel-254b4ea7.js.map} +1 -1
  611. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js → stencil-facet-search-matches-9e841241.js} +2 -2
  612. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js.map → stencil-facet-search-matches-9e841241.js.map} +1 -1
  613. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js → stencil-facet-show-more-less-04f33b99.js} +2 -2
  614. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js.map → stencil-facet-show-more-less-04f33b99.js.map} +1 -1
  615. package/dist/cjs/{stencil-facet-value-5957b403.js → stencil-facet-value-3354e4da.js} +4 -4
  616. package/dist/cjs/{stencil-facet-value-5957b403.js.map → stencil-facet-value-3354e4da.js.map} +1 -1
  617. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js → stencil-facet-value-box-e8b01b77.js} +2 -2
  618. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js.map → stencil-facet-value-box-e8b01b77.js.map} +1 -1
  619. package/dist/cjs/{stencil-facet-value-checkbox-fed178ad.js → stencil-facet-value-checkbox-4800af7b.js} +2 -2
  620. package/dist/cjs/{stencil-facet-value-checkbox-fed178ad.js.map → stencil-facet-value-checkbox-4800af7b.js.map} +1 -1
  621. package/dist/cjs/{stencil-facet-value-link-8a095034.js → stencil-facet-value-link-98e3fe34.js} +2 -2
  622. package/dist/cjs/{stencil-facet-value-link-8a095034.js.map → stencil-facet-value-link-98e3fe34.js.map} +1 -1
  623. package/dist/cjs/{stencil-iconButton-738b1548.js → stencil-iconButton-c8727a20.js} +2 -2
  624. package/dist/cjs/{stencil-iconButton-738b1548.js.map → stencil-iconButton-c8727a20.js.map} +1 -1
  625. package/dist/cjs/{stencil-link-9336b8c1.js → stencil-link-2e32315d.js} +2 -2
  626. package/dist/cjs/{stencil-link-9336b8c1.js.map → stencil-link-2e32315d.js.map} +1 -1
  627. package/dist/cjs/{stencil-modal-9035ea2a.js → stencil-modal-9a4a9927.js} +2 -2
  628. package/dist/cjs/{stencil-modal-9035ea2a.js.map → stencil-modal-9a4a9927.js.map} +1 -1
  629. package/dist/cjs/{stencil-radio-button-ea7e71d3.js → stencil-radio-button-cbcc483e.js} +4 -5
  630. package/dist/cjs/stencil-radio-button-cbcc483e.js.map +1 -0
  631. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  632. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  633. package/dist/cjs/{stencil-suggestion-manager-88cb88f2.js → stencil-suggestion-manager-3e1cf81e.js} +3 -3
  634. package/dist/cjs/stencil-suggestion-manager-3e1cf81e.js.map +1 -0
  635. package/dist/cjs/{stencil-values-container-d20f9b28.js → stencil-values-container-e4b76048.js} +3 -3
  636. package/dist/cjs/{stencil-values-container-d20f9b28.js.map → stencil-values-container-e4b76048.js.map} +1 -1
  637. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js → timeframe-facet-common-82da2ca9.js} +3 -3
  638. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js.map → timeframe-facet-common-82da2ca9.js.map} +1 -1
  639. package/dist/cjs/version.cjs.js +1 -1
  640. package/dist/esm/_index.js +19 -19
  641. package/dist/esm/_loader.js +1 -1
  642. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -4
  643. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  644. package/dist/esm/atomic-breadbox.entry.js +1 -2
  645. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  646. package/dist/esm/atomic-category-facet.entry.js +6 -7
  647. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  648. package/dist/esm/atomic-citation.entry.js +1 -1
  649. package/dist/esm/atomic-color-facet.entry.js +5 -6
  650. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  651. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  652. package/dist/esm/atomic-facet-number-input.entry.js +3 -4
  653. package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
  654. package/dist/esm/atomic-facet.entry.js +9 -10
  655. package/dist/esm/atomic-facet.entry.js.map +1 -1
  656. package/dist/esm/atomic-field-condition.entry.js +1 -1
  657. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  658. package/dist/esm/atomic-folded-result-list.entry.js +1 -2
  659. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  660. package/dist/esm/atomic-format-currency.entry.js +1 -1
  661. package/dist/esm/atomic-format-number.entry.js +1 -1
  662. package/dist/esm/atomic-format-unit.entry.js +1 -1
  663. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -5
  664. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  665. package/dist/esm/atomic-generated-answer.entry.js +2 -3
  666. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  667. package/dist/esm/atomic-html.entry.js +1 -1
  668. package/dist/esm/atomic-insight-edit-toggle.entry.js +3 -4
  669. package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
  670. package/dist/esm/atomic-insight-facet.entry.js +8 -9
  671. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  672. package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -3
  673. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  674. package/dist/esm/atomic-insight-full-search-button.entry.js +3 -4
  675. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  676. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -3
  677. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  678. package/dist/esm/atomic-insight-history-toggle.entry.js +3 -4
  679. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  680. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  681. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -7
  682. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  683. package/dist/esm/atomic-insight-pager.entry.js +5 -6
  684. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  685. package/dist/esm/atomic-insight-query-error.entry.js +3 -4
  686. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  687. package/dist/esm/atomic-insight-refine-modal.entry.js +4 -5
  688. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  689. package/dist/esm/atomic-insight-refine-toggle.entry.js +3 -4
  690. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  691. package/dist/esm/atomic-insight-result-action.entry.js +4 -5
  692. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  693. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +4 -5
  694. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  695. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  696. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  697. package/dist/esm/atomic-insight-result-children.entry.js +4 -6
  698. package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
  699. package/dist/esm/atomic-insight-result-list.entry.js +2 -3
  700. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  701. package/dist/esm/atomic-insight-result-quickview-action.entry.js +4 -5
  702. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  703. package/dist/esm/atomic-insight-result.entry.js +1 -1
  704. package/dist/esm/atomic-insight-search-box.entry.js +4 -5
  705. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  706. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +4 -5
  707. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
  708. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -3
  709. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  710. package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -4
  711. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
  712. package/dist/esm/atomic-insight-tab.entry.js +1 -2
  713. package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
  714. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  715. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -5
  716. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  717. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -2
  718. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  719. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +2 -3
  720. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  721. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +3 -4
  722. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  723. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  724. package/dist/esm/atomic-ipx-button.entry.js +3 -4
  725. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  726. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  727. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  728. package/dist/esm/atomic-ipx-recs-list.entry.js +4 -6
  729. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  730. package/dist/esm/atomic-ipx-refine-modal.entry.js +3 -4
  731. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  732. package/dist/esm/atomic-ipx-refine-toggle.entry.js +3 -4
  733. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  734. package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
  735. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  736. package/dist/esm/atomic-ipx-tab.entry.js +1 -2
  737. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  738. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  739. package/dist/esm/atomic-load-more-results.entry.js +2 -3
  740. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  741. package/dist/esm/atomic-no-results.entry.js +2 -3
  742. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  743. package/dist/esm/atomic-numeric-facet.entry.js +6 -7
  744. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  745. package/dist/esm/atomic-popover.entry.js +1 -2
  746. package/dist/esm/atomic-popover.entry.js.map +1 -1
  747. package/dist/esm/atomic-query-error.entry.js +3 -4
  748. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  749. package/dist/esm/atomic-quickview-modal.entry.js +3 -4
  750. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  751. package/dist/esm/atomic-quickview.entry.js +3 -4
  752. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  753. package/dist/esm/atomic-rating-facet.entry.js +4 -5
  754. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  755. package/dist/esm/atomic-rating-range-facet.entry.js +3 -4
  756. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  757. package/dist/esm/atomic-recs-error.entry.js +3 -4
  758. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  759. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  760. package/dist/esm/atomic-recs-list.entry.js +4 -6
  761. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  762. package/dist/esm/atomic-refine-modal.entry.js +3 -4
  763. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  764. package/dist/esm/atomic-refine-toggle.entry.js +2 -3
  765. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  766. package/dist/esm/atomic-result-badge.entry.js +1 -1
  767. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  768. package/dist/esm/atomic-result-children.entry.js +5 -7
  769. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  770. package/dist/esm/atomic-result-date.entry.js +1 -1
  771. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  772. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  773. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  774. package/dist/esm/atomic-result-html.entry.js +1 -1
  775. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  776. package/dist/esm/atomic-result-icon.entry.js +1 -1
  777. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  778. package/dist/esm/atomic-result-image.entry.js +1 -1
  779. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  780. package/dist/esm/atomic-result-link.entry.js +2 -2
  781. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  782. package/dist/esm/atomic-result-list.entry.js +2 -3
  783. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  784. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  785. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  786. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  787. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  788. package/dist/esm/atomic-result-number.entry.js +1 -1
  789. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  790. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  791. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  792. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  793. package/dist/esm/atomic-result-rating.entry.js +1 -1
  794. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  795. package/dist/esm/atomic-result-text_2.entry.js +1 -1
  796. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  797. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  798. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  799. package/dist/esm/atomic-result.entry.js.map +1 -1
  800. package/dist/esm/atomic-search-box-query-suggestions.entry.js +1 -1
  801. package/dist/esm/atomic-search-box.entry.js +5 -10
  802. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  803. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -2
  804. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  805. package/dist/esm/atomic-segmented-facet.entry.js +1 -2
  806. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  807. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  808. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  809. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  810. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -5
  811. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
  812. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -3
  813. package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
  814. package/dist/esm/atomic-smart-snippet.entry.js +3 -4
  815. package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
  816. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  817. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  818. package/dist/esm/atomic-stencil-facet-date-input.entry.js +4 -5
  819. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
  820. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  821. package/dist/esm/atomic-tab-bar_2.entry.js +2 -3
  822. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  823. package/dist/esm/atomic-tab-button.entry.js +2 -3
  824. package/dist/esm/atomic-tab-button.entry.js.map +1 -1
  825. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  826. package/dist/esm/atomic-timeframe-facet.entry.js +4 -5
  827. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  828. package/dist/esm/atomic.js +1 -1
  829. package/dist/esm/{facet-placeholder-4959a92a.js → facet-placeholder-cf7007ee.js} +2 -2
  830. package/dist/esm/{facet-placeholder-4959a92a.js.map → facet-placeholder-cf7007ee.js.map} +1 -1
  831. package/dist/esm/{generated-answer-common-9d0c5ada.js → generated-answer-common-7a072444.js} +2 -2
  832. package/dist/esm/{generated-answer-common-9d0c5ada.js.map → generated-answer-common-7a072444.js.map} +1 -1
  833. package/dist/esm/index-3f35faca.js +4 -8
  834. package/dist/esm/index.js.map +1 -1
  835. package/dist/esm/{item-template-provider-35bf0685.js → item-template-provider-6e736120.js} +22 -2
  836. package/dist/esm/item-template-provider-6e736120.js.map +1 -0
  837. package/dist/esm/{show-hide-button-35eb419d.js → show-hide-button-706d82d9.js} +3 -3
  838. package/dist/esm/{show-hide-button-35eb419d.js.map → show-hide-button-706d82d9.js.map} +1 -1
  839. package/dist/esm/{smart-snippet-common-5ed4bdfa.js → smart-snippet-common-01b7411b.js} +3 -3
  840. package/dist/esm/{smart-snippet-common-5ed4bdfa.js.map → smart-snippet-common-01b7411b.js.map} +1 -1
  841. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js → smart-snippet-feedback-modal-common-50d66179.js} +2 -2
  842. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js.map → smart-snippet-feedback-modal-common-50d66179.js.map} +1 -1
  843. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js → smart-snippet-suggestions-common-54b6498b.js} +2 -2
  844. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js.map → smart-snippet-suggestions-common-54b6498b.js.map} +1 -1
  845. package/dist/esm/{stencil-button-1a29a5df.js → stencil-button-5f84efcc.js} +45 -3
  846. package/dist/esm/stencil-button-5f84efcc.js.map +1 -0
  847. package/dist/esm/{stencil-carousel-e1f25f7c.js → stencil-carousel-4264cd9b.js} +2 -2
  848. package/dist/esm/{stencil-carousel-e1f25f7c.js.map → stencil-carousel-4264cd9b.js.map} +1 -1
  849. package/dist/esm/{stencil-facet-search-matches-872d94d2.js → stencil-facet-search-matches-7299e897.js} +2 -2
  850. package/dist/esm/{stencil-facet-search-matches-872d94d2.js.map → stencil-facet-search-matches-7299e897.js.map} +1 -1
  851. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js → stencil-facet-show-more-less-202207c3.js} +2 -2
  852. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js.map → stencil-facet-show-more-less-202207c3.js.map} +1 -1
  853. package/dist/esm/{stencil-facet-value-9deafe8e.js → stencil-facet-value-8fd91a54.js} +4 -4
  854. package/dist/esm/{stencil-facet-value-9deafe8e.js.map → stencil-facet-value-8fd91a54.js.map} +1 -1
  855. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js → stencil-facet-value-box-85126921.js} +2 -2
  856. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js.map → stencil-facet-value-box-85126921.js.map} +1 -1
  857. package/dist/esm/{stencil-facet-value-checkbox-c0df7c4e.js → stencil-facet-value-checkbox-228b572d.js} +2 -2
  858. package/dist/esm/{stencil-facet-value-checkbox-c0df7c4e.js.map → stencil-facet-value-checkbox-228b572d.js.map} +1 -1
  859. package/dist/esm/{stencil-facet-value-link-88512e29.js → stencil-facet-value-link-41281838.js} +2 -2
  860. package/dist/esm/{stencil-facet-value-link-88512e29.js.map → stencil-facet-value-link-41281838.js.map} +1 -1
  861. package/dist/esm/{stencil-iconButton-ba40899c.js → stencil-iconButton-ff8c8cf7.js} +2 -2
  862. package/dist/esm/{stencil-iconButton-ba40899c.js.map → stencil-iconButton-ff8c8cf7.js.map} +1 -1
  863. package/dist/esm/{stencil-link-b676e261.js → stencil-link-feb82bc0.js} +2 -2
  864. package/dist/esm/{stencil-link-b676e261.js.map → stencil-link-feb82bc0.js.map} +1 -1
  865. package/dist/esm/{stencil-modal-467f7f33.js → stencil-modal-ec1562dc.js} +2 -2
  866. package/dist/esm/{stencil-modal-467f7f33.js.map → stencil-modal-ec1562dc.js.map} +1 -1
  867. package/dist/esm/{stencil-radio-button-cae5f40a.js → stencil-radio-button-4b36e45d.js} +2 -3
  868. package/dist/esm/stencil-radio-button-4b36e45d.js.map +1 -0
  869. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  870. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  871. package/dist/esm/{stencil-suggestion-manager-1f4ed8d0.js → stencil-suggestion-manager-95694bcb.js} +3 -3
  872. package/dist/esm/stencil-suggestion-manager-95694bcb.js.map +1 -0
  873. package/dist/esm/{stencil-values-container-9b9cd73f.js → stencil-values-container-369adc52.js} +3 -3
  874. package/dist/esm/{stencil-values-container-9b9cd73f.js.map → stencil-values-container-369adc52.js.map} +1 -1
  875. package/dist/esm/{timeframe-facet-common-55fc72f3.js → timeframe-facet-common-b97e786a.js} +3 -3
  876. package/dist/esm/{timeframe-facet-common-55fc72f3.js.map → timeframe-facet-common-b97e786a.js.map} +1 -1
  877. package/dist/esm/version.js +1 -1
  878. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +0 -2
  879. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +0 -1
  880. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +0 -2
  881. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  882. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  883. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  884. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  885. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  886. package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +0 -2
  887. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  888. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  889. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +0 -1
  890. package/dist/types/components/search/{search-box-suggestions/atomic-search-box-instant-results → atomic-search-box-instant-results}/atomic-search-box-instant-results.d.ts +18 -10
  891. package/dist/types/components/search/index.d.ts +1 -0
  892. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  893. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  894. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  895. package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
  896. package/dist/types/components.d.ts +0 -72
  897. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  898. package/dist/types/index.d.ts +3 -3
  899. package/docs/atomic-docs.json +12 -238
  900. package/package.json +1 -1
  901. package/dist/atomic/components/atomic-search-box-instant-results.d.ts +0 -11
  902. package/dist/atomic/components/atomic-search-box-instant-results.js.map +0 -1
  903. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  904. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  905. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  906. package/dist/atomic/components/stencil-button-style.js +0 -46
  907. package/dist/atomic/components/stencil-button-style.js.map +0 -1
  908. package/dist/atomic/components/stencil-placeholders.js +0 -24
  909. package/dist/atomic/components/stencil-placeholders.js.map +0 -1
  910. package/dist/atomic/components/suggestions-events.js +0 -40
  911. package/dist/atomic/components/suggestions-events.js.map +0 -1
  912. package/dist/atomic/p-0535b93d.entry.js +0 -2
  913. package/dist/atomic/p-05f1ff6f.entry.js +0 -2
  914. package/dist/atomic/p-088d634c.entry.js +0 -2
  915. package/dist/atomic/p-0ee7cab8.entry.js +0 -2
  916. package/dist/atomic/p-15547bd5.entry.js.map +0 -1
  917. package/dist/atomic/p-182f9112.entry.js.map +0 -1
  918. package/dist/atomic/p-18684d4c.js.map +0 -1
  919. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  920. package/dist/atomic/p-1910eb7f.entry.js +0 -2
  921. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  922. package/dist/atomic/p-21ab6f55.js +0 -2
  923. package/dist/atomic/p-21ab6f55.js.map +0 -1
  924. package/dist/atomic/p-21ab7750.entry.js +0 -2
  925. package/dist/atomic/p-22b76c96.entry.js +0 -2
  926. package/dist/atomic/p-2559747d.js +0 -2
  927. package/dist/atomic/p-2559747d.js.map +0 -1
  928. package/dist/atomic/p-2f437b47.entry.js +0 -2
  929. package/dist/atomic/p-2f517a54.entry.js +0 -2
  930. package/dist/atomic/p-33245038.entry.js +0 -2
  931. package/dist/atomic/p-3a01a398.entry.js +0 -2
  932. package/dist/atomic/p-3bd8469f.entry.js +0 -2
  933. package/dist/atomic/p-400c28b6.entry.js +0 -2
  934. package/dist/atomic/p-4069d801.entry.js.map +0 -1
  935. package/dist/atomic/p-448091f7.entry.js.map +0 -1
  936. package/dist/atomic/p-479cb38a.entry.js +0 -2
  937. package/dist/atomic/p-4cb91ee7.entry.js.map +0 -1
  938. package/dist/atomic/p-558f2191.entry.js +0 -2
  939. package/dist/atomic/p-57049cd2.entry.js.map +0 -1
  940. package/dist/atomic/p-5a83b7e5.entry.js +0 -2
  941. package/dist/atomic/p-5b8cc4bc.entry.js +0 -2
  942. package/dist/atomic/p-5cab535b.entry.js.map +0 -1
  943. package/dist/atomic/p-6439156c.entry.js +0 -2
  944. package/dist/atomic/p-66166975.entry.js +0 -2
  945. package/dist/atomic/p-6698d5e9.entry.js +0 -2
  946. package/dist/atomic/p-7045745d.entry.js +0 -2
  947. package/dist/atomic/p-70747efa.entry.js +0 -2
  948. package/dist/atomic/p-7242b46e.entry.js +0 -2
  949. package/dist/atomic/p-76c14d82.entry.js +0 -2
  950. package/dist/atomic/p-7741124a.entry.js +0 -2
  951. package/dist/atomic/p-77d00da1.entry.js +0 -2
  952. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  953. package/dist/atomic/p-7fe23afc.entry.js +0 -2
  954. package/dist/atomic/p-80290dd3.entry.js +0 -2
  955. package/dist/atomic/p-81bdbd07.entry.js +0 -2
  956. package/dist/atomic/p-82398f4a.js +0 -2
  957. package/dist/atomic/p-851b9735.entry.js +0 -2
  958. package/dist/atomic/p-852cc16d.entry.js.map +0 -1
  959. package/dist/atomic/p-874f0a4c.entry.js +0 -2
  960. package/dist/atomic/p-8d5228da.entry.js +0 -2
  961. package/dist/atomic/p-8d5228da.entry.js.map +0 -1
  962. package/dist/atomic/p-8e5e00b4.js +0 -2
  963. package/dist/atomic/p-8e5e00b4.js.map +0 -1
  964. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  965. package/dist/atomic/p-955092ed.entry.js.map +0 -1
  966. package/dist/atomic/p-99d4c4bf.entry.js +0 -2
  967. package/dist/atomic/p-9b2561e8.entry.js +0 -2
  968. package/dist/atomic/p-9e6462cf.entry.js +0 -2
  969. package/dist/atomic/p-9e6462cf.entry.js.map +0 -1
  970. package/dist/atomic/p-a1798150.entry.js.map +0 -1
  971. package/dist/atomic/p-a6dde0f6.entry.js +0 -2
  972. package/dist/atomic/p-ae69f519.entry.js +0 -2
  973. package/dist/atomic/p-b1b583a0.entry.js +0 -2
  974. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  975. package/dist/atomic/p-b628ed03.entry.js +0 -2
  976. package/dist/atomic/p-b84108f3.entry.js +0 -2
  977. package/dist/atomic/p-b85c2c46.entry.js +0 -2
  978. package/dist/atomic/p-b85c2c46.entry.js.map +0 -1
  979. package/dist/atomic/p-b93ccff9.js +0 -2
  980. package/dist/atomic/p-b93ccff9.js.map +0 -1
  981. package/dist/atomic/p-c5164dbf.entry.js.map +0 -1
  982. package/dist/atomic/p-c8190eb9.entry.js +0 -2
  983. package/dist/atomic/p-cef8175c.js +0 -2
  984. package/dist/atomic/p-cef8175c.js.map +0 -1
  985. package/dist/atomic/p-db2d92c5.entry.js +0 -2
  986. package/dist/atomic/p-dd24c66a.entry.js +0 -2
  987. package/dist/atomic/p-dea22a8d.entry.js +0 -2
  988. package/dist/atomic/p-dea22a8d.entry.js.map +0 -1
  989. package/dist/atomic/p-df8d38ca.entry.js +0 -2
  990. package/dist/atomic/p-df8d38ca.entry.js.map +0 -1
  991. package/dist/atomic/p-e455330c.entry.js +0 -2
  992. package/dist/atomic/p-e49ad083.entry.js +0 -2
  993. package/dist/atomic/p-e6dc9de7.entry.js.map +0 -1
  994. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  995. package/dist/atomic/p-ef8f2239.entry.js +0 -2
  996. package/dist/atomic/p-f0c657f4.entry.js +0 -2
  997. package/dist/atomic/p-f1241140.entry.js +0 -2
  998. package/dist/atomic/p-f37dea9e.entry.js +0 -2
  999. package/dist/atomic/p-f4818e53.entry.js +0 -2
  1000. package/dist/atomic/p-fc71835d.entry.js +0 -2
  1001. package/dist/atomic/p-fd1ef9e3.entry.js +0 -2
  1002. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +0 -186
  1003. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/item-template-provider-470c1774.js.map +0 -1
  1005. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  1006. package/dist/cjs/stencil-button-94b89acc.js.map +0 -1
  1007. package/dist/cjs/stencil-button-style-ba779fe2.js +0 -49
  1008. package/dist/cjs/stencil-button-style-ba779fe2.js.map +0 -1
  1009. package/dist/cjs/stencil-placeholders-b8c896fa.js +0 -27
  1010. package/dist/cjs/stencil-placeholders-b8c896fa.js.map +0 -1
  1011. package/dist/cjs/stencil-radio-button-ea7e71d3.js.map +0 -1
  1012. package/dist/cjs/stencil-suggestion-manager-88cb88f2.js.map +0 -1
  1013. package/dist/esm/atomic-search-box-instant-results.entry.js +0 -182
  1014. package/dist/esm/atomic-search-box-instant-results.entry.js.map +0 -1
  1015. package/dist/esm/item-template-provider-35bf0685.js.map +0 -1
  1016. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  1017. package/dist/esm/stencil-button-1a29a5df.js.map +0 -1
  1018. package/dist/esm/stencil-button-style-0bc80040.js +0 -46
  1019. package/dist/esm/stencil-button-style-0bc80040.js.map +0 -1
  1020. package/dist/esm/stencil-placeholders-58a0c818.js +0 -24
  1021. package/dist/esm/stencil-placeholders-58a0c818.js.map +0 -1
  1022. package/dist/esm/stencil-radio-button-cae5f40a.js.map +0 -1
  1023. package/dist/esm/stencil-suggestion-manager-1f4ed8d0.js.map +0 -1
  1024. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  1025. /package/dist/atomic/{p-a0ebbbdf.entry.js.map → p-06c22903.entry.js.map} +0 -0
  1026. /package/dist/atomic/{p-5d0a3045.js.map → p-0ab0ceaa.js.map} +0 -0
  1027. /package/dist/atomic/{p-74862002.js.map → p-0e6f1e14.js.map} +0 -0
  1028. /package/dist/atomic/{p-3272a04b.entry.js.map → p-0fb717b5.entry.js.map} +0 -0
  1029. /package/dist/atomic/{p-bc43df67.entry.js.map → p-118db20a.entry.js.map} +0 -0
  1030. /package/dist/atomic/{p-d2e8a2d4.js.map → p-134b7370.js.map} +0 -0
  1031. /package/dist/atomic/{p-b29d121c.js.map → p-1365c7d0.js.map} +0 -0
  1032. /package/dist/atomic/{p-ef78082a.js.map → p-15580d9e.js.map} +0 -0
  1033. /package/dist/atomic/{p-f4818e53.entry.js.map → p-1936bfc8.entry.js.map} +0 -0
  1034. /package/dist/atomic/{p-5a2ef889.js.map → p-20fc8a6c.js.map} +0 -0
  1035. /package/dist/atomic/{p-baff6c43.js.map → p-25660266.js.map} +0 -0
  1036. /package/dist/atomic/{p-dbc09018.js.map → p-340130de.js.map} +0 -0
  1037. /package/dist/atomic/{p-037eee11.js.map → p-3f0e7549.js.map} +0 -0
  1038. /package/dist/atomic/{p-6819f12c.entry.js.map → p-3f3f6b14.entry.js.map} +0 -0
  1039. /package/dist/atomic/{p-f8b608ba.js.map → p-4bf14d26.js.map} +0 -0
  1040. /package/dist/atomic/{p-c619df9b.js.map → p-4ecabf56.js.map} +0 -0
  1041. /package/dist/atomic/{p-044de1f9.entry.js.map → p-534aa5f7.entry.js.map} +0 -0
  1042. /package/dist/atomic/{p-f65ca329.entry.js.map → p-609d0550.entry.js.map} +0 -0
  1043. /package/dist/atomic/{p-60498b8e.js.map → p-68013132.js.map} +0 -0
  1044. /package/dist/atomic/{p-5c73ebc4.js.map → p-76cf6545.js.map} +0 -0
  1045. /package/dist/atomic/{p-05f1ff6f.entry.js.map → p-7bf809eb.entry.js.map} +0 -0
  1046. /package/dist/atomic/{p-ed413091.entry.js.map → p-8a30d1e9.entry.js.map} +0 -0
  1047. /package/dist/atomic/{p-0948a187.entry.js.map → p-8c87d746.entry.js.map} +0 -0
  1048. /package/dist/atomic/{p-44d96103.entry.js.map → p-8d1f7884.entry.js.map} +0 -0
  1049. /package/dist/atomic/{p-d8caa4d8.entry.js.map → p-90ace4cd.entry.js.map} +0 -0
  1050. /package/dist/atomic/{p-3291adda.entry.js.map → p-9c556664.entry.js.map} +0 -0
  1051. /package/dist/atomic/{p-a428960a.js.map → p-9dcd5606.js.map} +0 -0
  1052. /package/dist/atomic/{p-47b41b27.entry.js.map → p-a94386b5.entry.js.map} +0 -0
  1053. /package/dist/atomic/{p-ca37969c.js.map → p-a9e250f8.js.map} +0 -0
  1054. /package/dist/atomic/{p-8a488991.js.map → p-ca0e9cd6.js.map} +0 -0
  1055. /package/dist/atomic/{p-229018fa.entry.js.map → p-d1fbb20a.entry.js.map} +0 -0
  1056. /package/dist/atomic/{p-14bad769.entry.js.map → p-d2107c93.entry.js.map} +0 -0
  1057. /package/dist/atomic/{p-20cbcfb9.js.map → p-d365883e.js.map} +0 -0
  1058. /package/dist/atomic/{p-2c6f895f.js.map → p-d4cbd9b1.js.map} +0 -0
  1059. /package/dist/atomic/{p-1c8bcadf.entry.js.map → p-d8d346f3.entry.js.map} +0 -0
  1060. /package/dist/atomic/{p-26e0c1f8.entry.js.map → p-dbc08e9e.entry.js.map} +0 -0
  1061. /package/dist/atomic/{p-e8176ac8.entry.js.map → p-e58679b8.entry.js.map} +0 -0
  1062. /package/dist/atomic/{p-5b8cc4bc.entry.js.map → p-e8180b21.entry.js.map} +0 -0
  1063. /package/dist/atomic/{p-2e13e2c0.entry.js.map → p-f654697b.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"stencil-suggestion-manager-88cb88f2.js","mappings":"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","names":["h","Button","debounce","forceUpdate","isNullOrUndefined","elementHasQuery","DOMPurify","elementHasNoQuery"],"sources":["src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/utils/promise-utils.ts","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear-search')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","export function promiseTimeout<T>(prom: T | Promise<T>, ms: number) {\n let id: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n id = setTimeout(() => {\n reject(new Error('Promise timed out.'));\n }, ms);\n });\n return Promise.race([prom, timeout]).then(() => {\n clearTimeout(id);\n });\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\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 current suggested query changes as the user navigates 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 current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"version":3}
@@ -1,182 +0,0 @@
1
- import { h, r as registerInstance, g as getElement } from './index-3f35faca.js';
2
- import { buildInteractiveInstantResult, buildInstantResults } from '@coveo/headless';
3
- import { e as encodeForDomAttribute } from './string-utils-5f5a23a8.js';
4
- import { I as ItemTemplateProvider } from './item-template-provider-35bf0685.js';
5
- import { a as getClassNameForButtonStyle } from './stencil-button-style-0bc80040.js';
6
- import { d as dispatchSearchBoxSuggestionsEvent } from './suggestions-events-b7a6f007.js';
7
- import './dom-utils-f6086cd3.js';
8
- import './event-utils-8de63ec3.js';
9
-
10
- const getPartialInstantItemElement = (i18n, itemTitle, itemUniqueId) => {
11
- return {
12
- ariaLabel: i18n.t('instant-results-suggestion-label', {
13
- title: itemTitle,
14
- interpolation: { escapeValue: false },
15
- }),
16
- key: `instant-result-${encodeForDomAttribute(itemUniqueId)}`,
17
- part: 'instant-results-item',
18
- };
19
- };
20
- const getPartialInstantItemShowAllElement = (i18n) => {
21
- return {
22
- key: 'instant-results-show-all-button',
23
- part: 'instant-results-show-all',
24
- ariaLabel: i18n.t('show-all-results'),
25
- };
26
- };
27
- const InstantItemShowAllButton = ({ i18n }) => {
28
- return (h("div", { part: "instant-results-show-all-button", class: getClassNameForButtonStyle('text-primary') }, i18n.t('show-all-results')));
29
- };
30
-
31
- const AtomicSearchBoxInstantResults = class {
32
- constructor(hostRef) {
33
- registerInstance(this, hostRef);
34
- this.results = [];
35
- this.display = 'list';
36
- this.templateHasError = false;
37
- /**
38
- * The maximum number of results to show.
39
- */
40
- this.maxResultsPerQuery = 4;
41
- /**
42
- * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.
43
- */
44
- this.density = 'normal';
45
- /**
46
- * The expected size of the image displayed in the results.
47
- */
48
- this.imageSize = 'icon';
49
- this.error = undefined;
50
- this.templateHasError = false;
51
- this.maxResultsPerQuery = 4;
52
- this.density = 'normal';
53
- this.imageSize = 'icon';
54
- this.ariaLabelGenerator = undefined;
55
- }
56
- /**
57
- * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.
58
- * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.
59
- *
60
- * Do not use this method if you integrate Atomic in a plain HTML deployment.
61
- *
62
- * @param resultRenderingFunction
63
- */
64
- async setRenderFunction(resultRenderingFunction) {
65
- this.itemRenderingFunction = resultRenderingFunction;
66
- }
67
- componentWillLoad() {
68
- try {
69
- dispatchSearchBoxSuggestionsEvent((bindings) => {
70
- this.bindings = bindings;
71
- return this.initialize();
72
- }, this.host, ['atomic-search-box']);
73
- }
74
- catch (error) {
75
- this.error = error;
76
- }
77
- }
78
- getLink(el) {
79
- const atomicResult = el.tagName === 'ATOMIC-RESULT' ? el : el?.querySelector('atomic-result');
80
- return (atomicResult?.shadowRoot?.querySelector('atomic-result-link a:not([slot])') || null);
81
- }
82
- handleLinkClick(el, hasModifier) {
83
- const setTarget = (value) => el.setAttribute('target', value);
84
- const initialTarget = el.getAttribute('target');
85
- hasModifier && setTarget('_blank');
86
- el.click();
87
- hasModifier && setTarget(initialTarget || '');
88
- return true;
89
- }
90
- renderItems() {
91
- if (!this.bindings.suggestedQuery() || this.bindings.store.isMobile()) {
92
- return [];
93
- }
94
- const results = this.instantResults.state.results.length
95
- ? this.instantResults.state.results
96
- : this.results;
97
- const elements = results.map((result) => {
98
- const partialItem = getPartialInstantItemElement(this.bindings.i18n, this.ariaLabelGenerator?.(this.bindings, result) || result.title, result.uniqueId);
99
- return {
100
- ...partialItem,
101
- content: (h("atomic-result", { key: `instant-result-${encodeForDomAttribute(result.uniqueId)}`, part: "outline", result: result, interactiveResult: buildInteractiveInstantResult(this.bindings.engine, {
102
- options: { result },
103
- }), display: this.display, density: this.density, imageSize: this.imageSize, content: this.itemTemplateProvider.getTemplateContent(result), stopPropagation: false, renderingFunction: this.itemRenderingFunction })),
104
- onSelect: (e) => {
105
- const link = this.getLink(e.target);
106
- if (!link) {
107
- return;
108
- }
109
- this.handleLinkClick(link, e.ctrlKey || e.metaKey);
110
- },
111
- };
112
- });
113
- if (elements.length) {
114
- const partialItem = getPartialInstantItemShowAllElement(this.bindings.i18n);
115
- elements.push({
116
- ...partialItem,
117
- content: h(InstantItemShowAllButton, { i18n: this.bindings.i18n }),
118
- onSelect: () => {
119
- this.bindings.clearSuggestions();
120
- this.bindings.searchBoxController.updateText(this.instantResults.state.q);
121
- this.bindings.searchBoxController.submit();
122
- },
123
- });
124
- }
125
- return elements;
126
- }
127
- initialize() {
128
- this.instantResults = buildInstantResults(this.bindings.engine, {
129
- options: {
130
- maxResultsPerQuery: this.maxResultsPerQuery,
131
- },
132
- });
133
- this.itemTemplateProvider = new ItemTemplateProvider({
134
- includeDefaultTemplate: true,
135
- templateElements: Array.from(this.host.querySelectorAll('atomic-result-template')),
136
- getResultTemplateRegistered: () => true,
137
- setResultTemplateRegistered: () => { },
138
- getTemplateHasError: () => this.templateHasError,
139
- setTemplateHasError: (value) => {
140
- this.templateHasError = value;
141
- },
142
- bindings: this.bindings,
143
- });
144
- return {
145
- position: Array.from(this.host.parentNode.children).indexOf(this.host),
146
- panel: 'right',
147
- onSuggestedQueryChange: (q) => {
148
- this.instantResults.updateQuery(q);
149
- return this.onSuggestedQueryChange();
150
- },
151
- renderItems: () => this.renderItems(),
152
- };
153
- }
154
- onSuggestedQueryChange() {
155
- if (!this.bindings.getSuggestionElements().length &&
156
- !this.bindings.searchBoxController.state.value) {
157
- console.warn("There doesn't seem to be any query suggestions configured. Make sure to include either an atomic-search-box-query-suggestions or atomic-search-box-recent-queries in your search box in order to see some instant results.");
158
- }
159
- return new Promise((resolve) => {
160
- const unsubscribe = this.instantResults.subscribe(() => {
161
- const state = this.instantResults.state;
162
- if (!state.isLoading) {
163
- if (state.results.length) {
164
- this.results = state.results;
165
- }
166
- unsubscribe();
167
- resolve();
168
- }
169
- });
170
- });
171
- }
172
- render() {
173
- if (this.error) {
174
- return (h("atomic-component-error", { key: 'e1471cd50dd5174b2c2e80588b7b2ad076810e15', element: this.host, error: this.error }));
175
- }
176
- }
177
- get host() { return getElement(this); }
178
- };
179
-
180
- export { AtomicSearchBoxInstantResults as atomic_search_box_instant_results };
181
-
182
- //# sourceMappingURL=atomic-search-box-instant-results.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-search-box-instant-results.entry.js","mappings":"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","names":[],"sources":["src/components/common/suggestions/stencil-instant-item.tsx","src/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {encodeForDomAttribute} from '../../../utils/string-utils';\nimport {getClassNameForButtonStyle} from '../stencil-button-style';\nimport {SearchBoxSuggestionElement} from './suggestions-types';\n\nexport const getPartialInstantItemElement = (\n i18n: i18n,\n itemTitle: string,\n itemUniqueId: string\n): Pick<SearchBoxSuggestionElement, 'ariaLabel' | 'key' | 'part'> => {\n return {\n ariaLabel: i18n.t('instant-results-suggestion-label', {\n title: itemTitle,\n interpolation: {escapeValue: false},\n }),\n key: `instant-result-${encodeForDomAttribute(itemUniqueId)}`,\n part: 'instant-results-item',\n };\n};\n\nexport const getPartialInstantItemShowAllElement = (\n i18n: i18n\n): Pick<SearchBoxSuggestionElement, 'key' | 'part' | 'ariaLabel'> => {\n return {\n key: 'instant-results-show-all-button',\n part: 'instant-results-show-all',\n ariaLabel: i18n.t('show-all-results'),\n };\n};\n\ninterface InstantItemShowAllButtonProps {\n i18n: i18n;\n}\nexport const InstantItemShowAllButton: FunctionalComponent<\n InstantItemShowAllButtonProps\n> = ({i18n}) => {\n return (\n <div\n part=\"instant-results-show-all-button\"\n class={getClassNameForButtonStyle('text-primary')}\n >\n {i18n.t('show-all-results')}\n </div>\n );\n};\n","import {\n buildInstantResults,\n buildInteractiveInstantResult,\n InstantResults,\n Result,\n SearchBox,\n} from '@coveo/headless';\nimport {Component, Element, State, h, Prop, Method} from '@stencil/core';\nimport {InitializableComponent} from '../../../../utils/initialization-utils';\nimport {encodeForDomAttribute} from '../../../../utils/string-utils';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {ItemRenderingFunction} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../../../common/layout/display-options';\nimport {\n getPartialInstantItemElement,\n getPartialInstantItemShowAllElement,\n InstantItemShowAllButton,\n} from '../../../common/suggestions/stencil-instant-item';\nimport {\n dispatchSearchBoxSuggestionsEvent,\n} from '../../../common/suggestions/suggestions-events';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-types';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\nexport type AriaLabelGenerator = (\n bindings: Bindings,\n result: Result\n) => string | undefined;\n\n/**\n * The `atomic-search-box-instant-results` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of instant results behavior.\n *\n * This component does not support accessibility out-of-the-box. To do so, see [Instant Results Accessibility](https://docs.coveo.com/en/atomic/latest/usage/accessibility/#instant-results-accessibility).\n *\n * This component is not supported on mobile.\n *\n * @slot default - The default slot where the instant results are rendered.\n */\n@Component({\n tag: 'atomic-search-box-instant-results',\n shadow: true,\n})\nexport class AtomicSearchBoxInstantResults implements InitializableComponent {\n public bindings!: SearchBoxSuggestionsBindings<SearchBox, Bindings>;\n private itemRenderingFunction: ItemRenderingFunction;\n private results: Result[] = [];\n private itemTemplateProvider!: ItemTemplateProvider;\n private instantResults!: InstantResults;\n private display: ItemDisplayLayout = 'list';\n\n @Element() public host!: HTMLElement;\n\n @State() public error!: Error;\n @State() private templateHasError = false;\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n /**\n * The maximum number of results to show.\n */\n @Prop({reflect: true}) public maxResultsPerQuery = 4;\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true}) public imageSize: ItemDisplayImageSize = 'icon';\n /**\n * The callback to generate an [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) for a given result so that accessibility tools can fully describe what's visually rendered by a result.\n *\n * By default, or if an empty string is returned, `result.title` is used.\n */\n @Prop() public ariaLabelGenerator?: AriaLabelGenerator;\n\n public componentWillLoad() {\n try {\n dispatchSearchBoxSuggestionsEvent<SearchBox, Bindings>(\n (bindings) => {\n this.bindings = bindings;\n return this.initialize();\n },\n this.host,\n ['atomic-search-box']\n );\n } catch (error) {\n this.error = error as Error;\n }\n }\n\n private getLink(el: HTMLElement): HTMLElement | null {\n const atomicResult =\n el.tagName === 'ATOMIC-RESULT' ? el : el?.querySelector('atomic-result');\n\n return (\n atomicResult?.shadowRoot?.querySelector(\n 'atomic-result-link a:not([slot])'\n ) || null\n );\n }\n\n private handleLinkClick(el: HTMLElement, hasModifier: boolean) {\n const setTarget = (value: string) => el.setAttribute('target', value);\n const initialTarget = el.getAttribute('target');\n\n hasModifier && setTarget('_blank');\n el.click();\n hasModifier && setTarget(initialTarget || '');\n\n return true;\n }\n\n private renderItems(): SearchBoxSuggestionElement[] {\n if (!this.bindings.suggestedQuery() || this.bindings.store.isMobile()) {\n return [];\n }\n const results = this.instantResults.state.results.length\n ? this.instantResults.state.results\n : this.results;\n\n const elements: SearchBoxSuggestionElement[] = results.map(\n (result: Result) => {\n const partialItem = getPartialInstantItemElement(\n this.bindings.i18n,\n this.ariaLabelGenerator?.(this.bindings, result) || result.title,\n result.uniqueId\n );\n return {\n ...partialItem,\n content: (\n <atomic-result\n key={`instant-result-${encodeForDomAttribute(result.uniqueId)}`}\n part=\"outline\"\n result={result}\n interactiveResult={buildInteractiveInstantResult(\n this.bindings.engine,\n {\n options: {result},\n }\n )}\n display={this.display}\n density={this.density}\n imageSize={this.imageSize}\n content={this.itemTemplateProvider.getTemplateContent(result)}\n stopPropagation={false}\n renderingFunction={this.itemRenderingFunction}\n ></atomic-result>\n ),\n onSelect: (e: MouseEvent) => {\n const link = this.getLink(e.target as HTMLElement);\n\n if (!link) {\n return;\n }\n this.handleLinkClick(link, e.ctrlKey || e.metaKey);\n },\n };\n }\n );\n if (elements.length) {\n const partialItem = getPartialInstantItemShowAllElement(\n this.bindings.i18n\n );\n elements.push({\n ...partialItem,\n content: <InstantItemShowAllButton i18n={this.bindings.i18n} />,\n onSelect: () => {\n this.bindings.clearSuggestions();\n this.bindings.searchBoxController.updateText(\n this.instantResults.state.q\n );\n this.bindings.searchBoxController.submit();\n },\n });\n }\n return elements;\n }\n\n public initialize(): SearchBoxSuggestions {\n this.instantResults = buildInstantResults(this.bindings.engine, {\n options: {\n maxResultsPerQuery: this.maxResultsPerQuery,\n },\n });\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => true,\n setResultTemplateRegistered: () => {},\n getTemplateHasError: () => this.templateHasError,\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n return {\n position: Array.from(this.host.parentNode!.children).indexOf(this.host),\n panel: 'right',\n onSuggestedQueryChange: (q) => {\n this.instantResults.updateQuery(q);\n return this.onSuggestedQueryChange();\n },\n renderItems: () => this.renderItems(),\n };\n }\n\n private onSuggestedQueryChange() {\n if (\n !this.bindings.getSuggestionElements().length &&\n !this.bindings.searchBoxController.state.value\n ) {\n console.warn(\n \"There doesn't seem to be any query suggestions configured. Make sure to include either an atomic-search-box-query-suggestions or atomic-search-box-recent-queries in your search box in order to see some instant results.\"\n );\n }\n\n return new Promise<void>((resolve) => {\n const unsubscribe = this.instantResults.subscribe(() => {\n const state = this.instantResults.state;\n if (!state.isLoading) {\n if (state.results.length) {\n this.results = state.results;\n }\n unsubscribe();\n resolve();\n }\n });\n });\n }\n\n public render() {\n if (this.error) {\n return (\n <atomic-component-error\n element={this.host}\n error={this.error}\n ></atomic-component-error>\n );\n }\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"item-template-provider-35bf0685.js","mappings":";;MAesB,gBAAgB;IAapC,YACU,KAAsC,EACtC,YAIP;QALO,UAAK,GAAL,KAAK,CAAiC;QACtC,iBAAY,GAAZ,YAAY,CAInB;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,MAAM,uBAAuB;QACnC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,qBAAqB;YAC1D,IAAI,EAAE,aAAa,IAAI,qBAAqB,CAAC,EAAE;gBAC7C,MAAM,cAAc,CAAC,WAAW,CAC7B,qBAAqC,CAAC,OAAO,CAAC,WAAW,EAAE,CAC7D,CAAC;aACH;YAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;aACtC;YACD,OAAO,QAAQ,CAAC;SACjB,CAAC,CACH,CAAC;QAEF,MAAM,SAAS,GAAG,CAChB,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB;cACxD,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;cAC5B,EAAE,EACN,MAAM,CACN,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAI1C,CACJ,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;KAC9C;IAEM,kBAAkB,CAAC,IAAc;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC;KACnD;IAEM,sBAAsB,CAAC,IAAc;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAE,CAAC;KACvD;IAEM,2BAA2B;QAChC,OAAO,QAAQ,CAAC,sBAAsB,EAAE,CAAC;KAC1C;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;KACjD;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;KACzC;;;MC/EU,oBAAqB,SAAQ,gBAAwB;IAChE,YACE,KAA8D,EACtD,kBAA+B;QAEvC,KAAK,CAAC,KAAK,EAAE,MAAM,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAF/D,uBAAkB,GAAlB,kBAAkB,CAAa;KAGxC;;IAGS,mBAAmB;QAK3B,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5B,MAAM,WAAW,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG;;QAEf,IAAI,CAAC,kBAAkB,GAAG,gCAAgC,IAAI,CAAC,kBAAkB,QAAQ,GAAG,EAAE;;KAEjG,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3C,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO;YACP,WAAW;YACX,UAAU,EAAE,EAAE;SACf,CAAC;KACH;;;;;","names":[],"sources":["src/components/common/template-provider/template-provider.ts","src/components/common/item-list/item-template-provider.ts"],"sourcesContent":["import type {Template, TemplatesManager} from '@coveo/headless';\n\nexport interface TemplateElement<ItemType> extends HTMLElement {\n getTemplate(): Promise<Template<ItemType, DocumentFragment> | null>;\n}\n\nexport interface TemplateProviderProps<ItemType> {\n getResultTemplateRegistered(): boolean;\n setResultTemplateRegistered(value: boolean): void;\n getTemplateHasError(): boolean;\n setTemplateHasError(value: boolean): void;\n templateElements: TemplateElement<ItemType>[];\n includeDefaultTemplate: boolean;\n}\n\nexport abstract class TemplateProvider<ItemType> {\n private templateManager: TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n protected abstract makeDefaultTemplate(): Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n constructor(\n private props: TemplateProviderProps<ItemType>,\n private buildManager: () => TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >\n ) {\n this.templateManager = this.buildManager();\n this.registerResultTemplates();\n }\n\n private async registerResultTemplates() {\n const customTemplates = await Promise.all(\n this.props.templateElements.map(async (resultTemplateElement) => {\n if (!('getTemplate' in resultTemplateElement)) {\n await customElements.whenDefined(\n (resultTemplateElement as HTMLElement).tagName.toLowerCase()\n );\n }\n\n const template = await resultTemplateElement.getTemplate();\n if (!template) {\n this.props.setTemplateHasError(true);\n }\n return template;\n })\n );\n\n const templates = (\n !customTemplates.length && this.props.includeDefaultTemplate\n ? [this.makeDefaultTemplate()]\n : []\n ).concat(\n customTemplates.filter((template) => template) as Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >[]\n );\n\n this.templateManager.registerTemplates(...templates);\n this.props.setResultTemplateRegistered(true);\n }\n\n public getTemplateContent(item: ItemType) {\n return this.templateManager.selectTemplate(item)!;\n }\n\n public getLinkTemplateContent(item: ItemType) {\n return this.templateManager.selectLinkTemplate(item)!;\n }\n\n public getEmptyLinkTemplateContent() {\n return document.createDocumentFragment();\n }\n\n public get templatesRegistered() {\n return this.props.getResultTemplateRegistered();\n }\n\n public get hasError() {\n return this.props.getTemplateHasError();\n }\n}\n","import {\n buildResultTemplatesManager,\n type Result,\n type Template,\n} from '@coveo/headless';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {ItemTarget} from '../layout/display-options';\nimport {\n TemplateProvider,\n type TemplateProviderProps,\n} from '../template-provider/template-provider';\n\nexport class ItemTemplateProvider extends TemplateProvider<Result> {\n constructor(\n props: TemplateProviderProps<Result> & {bindings: AnyBindings},\n private gridCellLinkTarget?: ItemTarget\n ) {\n super(props, () => buildResultTemplatesManager(props.bindings.engine));\n }\n\n // TODO: Add JSX support for default template\n protected makeDefaultTemplate(): Template<\n Result,\n DocumentFragment,\n DocumentFragment\n > {\n const content = document.createDocumentFragment();\n const linkEl = document.createElement('atomic-result-link');\n content.appendChild(linkEl);\n\n const linkContent = document.createDocumentFragment();\n const linkMarkup = `\n <atomic-result-link>\n ${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}\n </atomic-result-link>\n `;\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = linkMarkup.trim();\n linkContent.appendChild(linkTemplate.content);\n return {\n content,\n linkContent,\n conditions: [],\n };\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"result-template-decorators-2ed76ea9.js","mappings":";;AASA;;;;;;;;;SASgB,aAAa,CAAC,OAA0B,EAAC,MAAM,EAAE,KAAK,EAAC;IACrE,OAAO,WAAW,CAAC,EAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;AACzE,CAAC;SAEe,wBAAwB;IACtC,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC;AAKD;;;;;;;;;;SAUgB,aAAa,CAC3B,OAAgB;IAEhB,OAAO,WAAW,CAAI,OAAO,EAAE,eAAe,CAAC,CAAC;AAClD;;;;","names":[],"sources":["src/components/search/result-template-components/result-template-decorators.tsx"],"sourcesContent":["import {FoldedResult, Result} from '@coveo/headless';\nimport {\n InteractiveItemContext,\n InteractiveItemContextEvent,\n ItemContext,\n ItemContextEvent,\n itemContext,\n} from '../../common/item-list/stencil-item-decorators';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for result template components.\n * This allows the Stencil component to fetch the current result from its rendered parent, the `atomic-result` component.\n *\n * Example:\n * @ResultContext() private result!: Result;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n */\nexport function ResultContext(opts: {folded: boolean} = {folded: false}) {\n return ItemContext({parentName: 'atomic-result', folded: opts.folded});\n}\n\nexport function InteractiveResultContext() {\n return InteractiveItemContext();\n}\n\nexport type ResultContextEvent<T = Result> = ItemContextEvent<T>;\nexport type InteractiveResultContextEvent = InteractiveItemContextEvent;\n\n/**\n * Retrieves `Result` on a rendered `atomic-result`.\n *\n * This method is useful for building custom result template elements, see [Create a Result List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-result-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element The element that the event is dispatched to, which must be the child of a rendered \"atomic-result\".\n * @returns A promise that resolves on initialization of the parent \"atomic-result\" element, or rejects when there is no parent \"atomic-result\" element.\n */\nexport function resultContext<T extends Result | FoldedResult = Result>(\n element: Element\n) {\n return itemContext<T>(element, 'atomic-result');\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"stencil-button-1a29a5df.js","mappings":"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","names":[],"sources":["src/utils/ripple-utils.ts","src/components/common/stencil-button.tsx"],"sourcesContent":["import {listenOnce} from './event-utils';\n\ninterface RippleOptions {\n color: string;\n /**\n * When the ripple's parent is not the event's origin\n */\n parent?: Element;\n}\n\nconst RIPPLE = 'ripple';\n\nfunction getAnimationDurationInMilliseconds(radiusPixels: number) {\n // A 318px wide button has a duration of 700ms.\n return Math.cbrt(radiusPixels) * 129.21;\n}\n\nfunction setPositionRelativeIfStatic(element: Element) {\n if (getComputedStyle(element).position === 'static') {\n element.classList.add('ripple-relative');\n }\n}\n\nexport async function createRipple(event: MouseEvent, options: RippleOptions) {\n const button = options.parent ?? (event.currentTarget as Element);\n const existingRipple = button.getElementsByClassName(RIPPLE)[0];\n existingRipple?.remove();\n\n button.classList.add('ripple-parent');\n setPositionRelativeIfStatic(button);\n Array.from(button.children).forEach(setPositionRelativeIfStatic);\n\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n ripple.style.backgroundColor = `var(--atomic-${options.color})`;\n ripple.setAttribute('part', RIPPLE);\n\n const diameter = Math.max(button.clientWidth, button.clientHeight);\n const radius = diameter / 2;\n const animationDuration = getAnimationDurationInMilliseconds(radius);\n const {top, left} = button.getBoundingClientRect();\n ripple.style.width = ripple.style.height = `${diameter}px`;\n ripple.style.left = `${event.clientX - (left + radius)}px`;\n ripple.style.top = `${event.clientY - (top + radius)}px`;\n ripple.style.setProperty('--animation-duration', `${animationDuration}ms`);\n button.prepend(ripple);\n await cleanupAnimationOnFinish(ripple, animationDuration);\n}\n\nasync function cleanupAnimationOnFinish(\n ripple: HTMLSpanElement,\n animationDuration: number\n) {\n listenOnce(ripple, 'animationend', () => {\n ripple?.remove();\n });\n // Backup in case the button gets hidden or unmounted and the ripple hasn't been cleaned up.\n setTimeout(\n () => ripple?.remove(),\n animationDuration + animationDuration * 0.1\n );\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {\n ButtonStyle,\n getRippleColorForButtonStyle,\n getClassNameForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use ButtonProps interface instead\n */\nexport interface StencilButtonProps {\n style: ButtonStyle;\n onClick?(event?: MouseEvent): void;\n class?: string;\n text?: string;\n part?: string;\n type?: string;\n form?: string;\n role?: string;\n disabled?: boolean;\n ariaLabel?: string;\n ariaExpanded?: string;\n ariaPressed?: string;\n ariaChecked?: string;\n ariaCurrent?: string;\n ariaControls?: string;\n ariaHidden?: string;\n tabIndex?: string;\n title?: string;\n ref?(element?: HTMLButtonElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button.ts file instead\n */\nexport const Button: FunctionalComponent<StencilButtonProps> = (\n props,\n children\n) => {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n const className = getClassNameForButtonStyle(props.style);\n\n const attributes = {\n class: props.class ? `${className} ${props.class}` : className,\n part: props.part,\n onClick: props.onClick,\n title: props.title,\n type: props.type,\n role: props.role,\n 'aria-label': props.ariaLabel,\n 'aria-expanded': props.ariaExpanded,\n 'aria-pressed': props.ariaPressed,\n 'aria-checked': props.ariaChecked,\n 'aria-current': props.ariaCurrent,\n 'aria-controls': props.ariaControls,\n 'aria-hidden': props.ariaHidden,\n disabled: props.disabled,\n ref(buttonEl?: HTMLButtonElement) {\n if (props.form) {\n buttonEl?.setAttribute('form', props.form);\n }\n if (props.ariaHidden) {\n buttonEl?.setAttribute('aria-hidden', props.ariaHidden);\n }\n if (props.tabIndex) {\n buttonEl?.setAttribute('tabindex', props.tabIndex);\n }\n props.ref?.(buttonEl);\n },\n };\n\n return (\n <button\n {...attributes}\n onMouseDown={(e) => createRipple(e, {color: rippleColor})}\n >\n {props.text ? <span class=\"truncate\">{props.text}</span> : null}\n {children}\n </button>\n );\n};\n"],"version":3}
@@ -1,46 +0,0 @@
1
- /**
2
- * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts
3
- * This file is required to be in a tsx file to be able to use it in Stencil components.
4
- */
5
- function getClassNameForButtonStyle(buttonStyle) {
6
- switch (buttonStyle) {
7
- case 'primary':
8
- return 'btn-primary';
9
- case 'outline-primary':
10
- return 'btn-outline-primary';
11
- case 'outline-neutral':
12
- return 'btn-outline-neutral';
13
- case 'outline-error':
14
- return 'btn-outline-error';
15
- case 'outline-bg-neutral':
16
- return 'btn-outline-bg-neutral';
17
- case 'outline-bg-error':
18
- return 'btn-outline-bg-error';
19
- case 'text-primary':
20
- return 'btn-text-primary';
21
- case 'text-neutral':
22
- return 'btn-text-neutral';
23
- case 'text-transparent':
24
- return 'btn-text-transparent';
25
- case 'square-neutral':
26
- return 'btn-square-neutral';
27
- }
28
- }
29
- /**
30
- * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts
31
- * This file is required to be in a tsx file to be able to use it in Stencil components.
32
- */
33
- function getRippleColorForButtonStyle(buttonStyle) {
34
- switch (buttonStyle) {
35
- case 'primary':
36
- return 'primary';
37
- case 'text-transparent':
38
- return 'neutral-light';
39
- default:
40
- return 'neutral';
41
- }
42
- }
43
-
44
- export { getClassNameForButtonStyle as a, getRippleColorForButtonStyle as g };
45
-
46
- //# sourceMappingURL=stencil-button-style-0bc80040.js.map
@@ -1 +0,0 @@
1
- {"file":"stencil-button-style-0bc80040.js","mappings":"AAYA;;;;SAIgB,0BAA0B,CAAC,WAAwB;IACjE,QAAQ,WAAW;QACjB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QACvB,KAAK,iBAAiB;YACpB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,iBAAiB;YACpB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,eAAe;YAClB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,oBAAoB;YACvB,OAAO,wBAAwB,CAAC;QAClC,KAAK,kBAAkB;YACrB,OAAO,sBAAsB,CAAC;QAChC,KAAK,cAAc;YACjB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,cAAc;YACjB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,OAAO,sBAAsB,CAAC;QAChC,KAAK,gBAAgB;YACnB,OAAO,oBAAoB,CAAC;KAC/B;AACH,CAAC;AAED;;;;SAIgB,4BAA4B,CAAC,WAAwB;IACnE,QAAQ,WAAW;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,kBAAkB;YACrB,OAAO,eAAe,CAAC;QACzB;YACE,OAAO,SAAS,CAAC;KACpB;AACH;;;;","names":[],"sources":["src/components/common/stencil-button-style.tsx"],"sourcesContent":["export type ButtonStyle =\n | 'primary'\n | 'outline-primary'\n | 'outline-neutral'\n | 'outline-error'\n | 'outline-bg-neutral'\n | 'outline-bg-error'\n | 'text-primary'\n | 'text-neutral'\n | 'text-transparent'\n | 'square-neutral';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts\n * This file is required to be in a tsx file to be able to use it in Stencil components.\n */\nexport function getClassNameForButtonStyle(buttonStyle: ButtonStyle) {\n switch (buttonStyle) {\n case 'primary':\n return 'btn-primary';\n case 'outline-primary':\n return 'btn-outline-primary';\n case 'outline-neutral':\n return 'btn-outline-neutral';\n case 'outline-error':\n return 'btn-outline-error';\n case 'outline-bg-neutral':\n return 'btn-outline-bg-neutral';\n case 'outline-bg-error':\n return 'btn-outline-bg-error';\n case 'text-primary':\n return 'btn-text-primary';\n case 'text-neutral':\n return 'btn-text-neutral';\n case 'text-transparent':\n return 'btn-text-transparent';\n case 'square-neutral':\n return 'btn-square-neutral';\n }\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts\n * This file is required to be in a tsx file to be able to use it in Stencil components.\n */\nexport function getRippleColorForButtonStyle(buttonStyle: ButtonStyle) {\n switch (buttonStyle) {\n case 'primary':\n return 'primary';\n case 'text-transparent':\n return 'neutral-light';\n default:\n return 'neutral';\n }\n}\n"],"version":3}
@@ -1,24 +0,0 @@
1
- import { h } from './index-3f35faca.js';
2
-
3
- // The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.
4
- const ResultsPlaceholdersGuard = (props) => {
5
- if (!props.displayPlaceholders) {
6
- return;
7
- }
8
- switch (props.display) {
9
- case 'table':
10
- return h(TableDisplayResultsPlaceholder, { ...props });
11
- default:
12
- return h(ResultsPlaceholder, { ...props });
13
- }
14
- };
15
- const ResultsPlaceholder = (props) => {
16
- return Array.from({ length: props.numberOfPlaceholders }, (_, i) => (h("atomic-result-placeholder", { key: `placeholder-${i}`, density: props.density, display: props.display || 'list', imageSize: props.imageSize })));
17
- };
18
- const TableDisplayResultsPlaceholder = (props) => {
19
- return (h("atomic-result-table-placeholder", { density: props.density, imageSize: props.imageSize, rows: props.numberOfPlaceholders }));
20
- };
21
-
22
- export { ResultsPlaceholdersGuard as R, ResultsPlaceholder as a };
23
-
24
- //# sourceMappingURL=stencil-placeholders-58a0c818.js.map
@@ -1 +0,0 @@
1
- {"file":"stencil-placeholders-58a0c818.js","mappings":";;AAAA;MAmBa,wBAAwB,GAEjC,CAAC,KAAK;IACR,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;QAC9B,OAAO;KACR;IACD,QAAQ,KAAK,CAAC,OAAO;QACnB,KAAK,OAAO;YACV,OAAO,EAAC,8BAA8B,OAAK,KAAK,GAAI,CAAC;QACvD;YACE,OAAO,EAAC,kBAAkB,OAAK,KAAK,GAAI,CAAC;KAC5C;AACH,EAAE;MAEW,kBAAkB,GAAgD,CAC7E,KAAK;IAEL,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAC3D,iCACE,GAAG,EAAE,eAAe,CAAC,EAAE,EACvB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,GACC,CAC9B,CAAC,CAAC;AACL,EAAE;AAEF,MAAM,8BAA8B,GAEhC,CAAC,KAAK;IACR,QACE,uCACE,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAE,KAAK,CAAC,oBAAoB,GACC,EACnC;AACJ,CAAC;;;;","names":[],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"stencil-radio-button-cae5f40a.js","mappings":"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","names":[],"sources":["src/components/common/stencil-radio-button.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {RadioButtonProps} from './radio-button';\nimport {\n getClassNameForButtonStyle,\n getRippleColorForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the RadioButtonProps from radio-button.ts instead.\n */\nexport interface StencilRadioButtonProps extends Omit<RadioButtonProps, 'ref'> {\n ref?(element?: HTMLInputElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the radioButton function instead.\n */\nexport const RadioButton: FunctionalComponent<StencilRadioButtonProps> = (\n props\n) => {\n const classNames = ['btn-radio'];\n let onMouseDown:\n | JSXBase.DOMAttributes<HTMLInputElement>['onMouseDown']\n | undefined;\n if (props.style) {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n classNames.push(getClassNameForButtonStyle(props.style));\n\n onMouseDown = (e) => createRipple(e, {color: rippleColor});\n }\n if (props.checked) {\n classNames.push('selected');\n }\n if (props.class) {\n classNames.push(props.class);\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (props.selectWhenFocused !== false) {\n return;\n }\n const {key} = event;\n const radioGroup = (event.currentTarget as HTMLElement).parentNode;\n\n if (!radioGroup || !isArrowKey(key)) {\n return;\n }\n\n event.preventDefault();\n\n const buttons = getRadioButtons(radioGroup);\n const currentIndex = getCurrentIndex(\n buttons,\n event.currentTarget as HTMLInputElement\n );\n const newIndex = getNewIndex(key, currentIndex, buttons.length);\n\n if (buttons[newIndex]) {\n buttons[newIndex].focus();\n }\n };\n\n const isArrowKey = (key: string) => {\n return ['ArrowLeft', 'ArrowRight', 'ArrowDown', 'ArrowUp'].includes(key);\n };\n\n const getRadioButtons = (radioGroup: ParentNode) => {\n return Array.from(\n radioGroup.querySelectorAll('[type=\"radio\"]')\n ) as HTMLInputElement[];\n };\n\n const getCurrentIndex = (\n buttons: HTMLInputElement[],\n currentButton: HTMLInputElement\n ) => {\n return buttons.findIndex((button) => button === currentButton);\n };\n\n const getNewIndex = (key: string, currentIndex: number, length: number) => {\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n return (currentIndex - 1 + length) % length;\n case 'ArrowRight':\n case 'ArrowDown':\n return (currentIndex + 1) % length;\n default:\n return currentIndex;\n }\n };\n\n const attributes = {\n name: props.groupName,\n key: props.key,\n checked: props.checked,\n class: classNames.join(' '),\n part: props.part,\n 'aria-label': props.ariaLabel ?? props.text,\n 'aria-current': props.ariaCurrent,\n value: props.text,\n ref: props.ref,\n };\n\n return (\n <input\n onKeyDown={handleKeyDown}\n type=\"radio\"\n onChange={(e) =>\n (e.currentTarget as HTMLInputElement).checked && props.onChecked?.()\n }\n onMouseDown={onMouseDown}\n {...attributes}\n />\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"stencil-suggestion-manager-1f4ed8d0.js","mappings":"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","names":[],"sources":["src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/utils/promise-utils.ts","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear-search')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","export function promiseTimeout<T>(prom: T | Promise<T>, ms: number) {\n let id: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n id = setTimeout(() => {\n reject(new Error('Promise timed out.'));\n }, ms);\n });\n return Promise.race([prom, timeout]).then(() => {\n clearTimeout(id);\n });\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\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 current suggested query changes as the user navigates 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 current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"version":3}
@@ -1,68 +0,0 @@
1
- import type { InteractiveProduct, Product } from '@coveo/headless/commerce';
2
- import type { LitElement } from 'lit';
3
- import { InteractiveItemContextController, type InteractiveItemContextEvent } from "../../components/common/item-list/context/interactive-item-context-controller";
4
- import { ItemContextController, type ItemContextEvent } from "../../components/common/item-list/context/item-context-controller";
5
- /**
6
- * Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing product context in product template components.
7
- *
8
- * @param host - The Lit component instance
9
- * @param options - Configuration options
10
- * @returns ItemContextController instance configured for atomic-product
11
- *
12
- * @example
13
- * ```typescript
14
- * @customElement('my-product-component')
15
- * export class MyProductComponent extends LitElement {
16
- * private productController = createProductContextController(this);
17
- *
18
- * @state() product!: Product;
19
- *
20
- * render() {
21
- * this.product = this.productController.item;
22
- * return html`<div>${this.product?.ec_name}</div>`;
23
- * }
24
- * }
25
- * ```
26
- */
27
- export declare function createProductContextController(host: LitElement & {
28
- error: Error | null;
29
- }, options?: {
30
- folded?: boolean;
31
- }): ItemContextController<Product>;
32
- /**
33
- * Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing interactive product context in product template components.
34
- *
35
- * @param host - The Lit component instance
36
- * @returns InteractiveItemContextController instance
37
- *
38
- * @example
39
- * ```typescript
40
- * @customElement('my-interactive-product-component')
41
- * export class MyInteractiveProductComponent extends LitElement {
42
- * private interactiveProductController = createInteractiveProductContextController(this);
43
- *
44
- * @state() product!: Product;
45
- *
46
- * render() {
47
- * this.product = this.interactiveProductController.interactiveItem;
48
- * return html`<div>${this.product?.ec_name}</div>`;
49
- * }
50
- * }
51
- * ```
52
- */
53
- export declare function createInteractiveProductContextController(host: LitElement & {
54
- error: Error;
55
- }): InteractiveItemContextController<InteractiveProduct>;
56
- export type ProductContextEvent<T = Product> = ItemContextEvent<T>;
57
- export type InteractiveProductContextEvent<T extends InteractiveProduct = InteractiveProduct> = InteractiveItemContextEvent<T>;
58
- /**
59
- * Retrieves `Product` on a rendered `atomic-product`.
60
- *
61
- * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.
62
- *
63
- * You should use the utility function in the [`connectedCallback` lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).
64
- *
65
- * @param element - The element that the event is dispatched to, which must be the child of a rendered `atomic-product`.
66
- * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.
67
- */
68
- export declare function fetchProductContext<T extends Product>(element: Element): Promise<T>;