@coveo/atomic 3.35.0-pre.836ecb81ea → 3.35.0-pre.8831cde2f9

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 (881) 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 +35 -2
  5. package/dist/atomic/components/atomic-category-facet.js +17 -7
  6. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  7. package/dist/atomic/components/atomic-citation.js +1 -1
  8. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  9. package/dist/atomic/components/atomic-facet.js +1 -1
  10. package/dist/atomic/components/atomic-folded-result-list.js +1 -2
  11. package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
  12. package/dist/atomic/components/atomic-format-currency.js +1 -1
  13. package/dist/atomic/components/atomic-format-number.js +1 -1
  14. package/dist/atomic/components/atomic-format-unit.js +1 -1
  15. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  16. package/dist/atomic/components/atomic-html2.js +1 -1
  17. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  18. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  19. package/dist/atomic/components/atomic-insight-folded-result-list.js +2 -3
  20. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  21. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  22. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  23. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  24. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  25. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  26. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  27. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  28. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  29. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  31. package/dist/atomic/components/atomic-insight-result-list.js +2 -3
  32. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  33. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  34. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  35. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  36. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  37. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  38. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  39. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  40. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  41. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  42. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  43. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  44. package/dist/atomic/components/atomic-ipx-recs-list.js +2 -3
  45. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  46. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  50. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  51. package/dist/atomic/components/atomic-no-results.js +1 -1
  52. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  53. package/dist/atomic/components/atomic-query-error.js +1 -1
  54. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  55. package/dist/atomic/components/atomic-quickview.js +1 -1
  56. package/dist/atomic/components/atomic-recs-error.js +1 -1
  57. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  58. package/dist/atomic/components/atomic-recs-list.js +2 -3
  59. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  60. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  61. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  62. package/dist/atomic/components/atomic-result-children.js +1 -1
  63. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  64. package/dist/atomic/components/atomic-result-link.js +1 -1
  65. package/dist/atomic/components/atomic-result-list.js +2 -3
  66. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  67. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  68. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  69. package/dist/atomic/components/atomic-search-box.js +7 -3
  70. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  71. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  72. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  73. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  74. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  75. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  76. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  77. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  78. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  79. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  80. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  81. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +3 -1
  82. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -0
  83. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +5 -0
  84. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +3 -0
  85. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +6 -1
  86. package/dist/atomic/components/components/common/facets/category-facet/all-categories-button.js +3 -2
  87. package/dist/atomic/components/components/common/facets/category-facet/all-categories-localized-label.js +9 -0
  88. package/dist/atomic/components/components/common/facets/category-facet/search-value.js +6 -1
  89. package/dist/atomic/components/components/common/item-list/item-template-provider.js +28 -0
  90. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
  91. package/dist/{esm/atomic-search-box-instant-results.entry.js → atomic/components/components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.js} +81 -64
  92. package/dist/atomic/components/components/search/index.js +1 -0
  93. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  94. package/dist/atomic/components/facet-number-input.js +2 -2
  95. package/dist/atomic/components/global/environment.js +1 -1
  96. package/dist/atomic/components/index.js.map +1 -1
  97. package/dist/atomic/components/item-template-provider.js +27 -1
  98. package/dist/atomic/components/item-template-provider.js.map +1 -1
  99. package/dist/atomic/components/show-hide-button.js +1 -1
  100. package/dist/atomic/components/stencil-button.js +44 -2
  101. package/dist/atomic/components/stencil-button.js.map +1 -1
  102. package/dist/atomic/components/stencil-radio-button.js +1 -2
  103. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  104. package/dist/atomic/components/stencil-suggestion-manager.js +1 -1
  105. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  106. package/dist/atomic/components/tab-button.js +1 -1
  107. package/dist/atomic/components/tab-popover.js +1 -1
  108. package/dist/atomic/index.esm.js +1 -1
  109. package/dist/atomic/index.esm.js.map +1 -1
  110. package/dist/atomic/lang/cs.json +1 -1
  111. package/dist/atomic/lang/da.json +1 -1
  112. package/dist/atomic/lang/de.json +1 -1
  113. package/dist/atomic/lang/dev.json +1 -1
  114. package/dist/atomic/lang/el.json +1 -1
  115. package/dist/atomic/lang/en.json +1 -1
  116. package/dist/atomic/lang/es.json +1 -1
  117. package/dist/atomic/lang/fi.json +1 -1
  118. package/dist/atomic/lang/fr.json +1 -1
  119. package/dist/atomic/lang/hu.json +1 -1
  120. package/dist/atomic/lang/id.json +1 -1
  121. package/dist/atomic/lang/it.json +1 -1
  122. package/dist/atomic/lang/ja.json +1 -1
  123. package/dist/atomic/lang/ko.json +1 -1
  124. package/dist/atomic/lang/nl.json +1 -1
  125. package/dist/atomic/lang/no.json +1 -1
  126. package/dist/atomic/lang/pl.json +1 -1
  127. package/dist/atomic/lang/pt-BR.json +1 -1
  128. package/dist/atomic/lang/pt.json +1 -1
  129. package/dist/atomic/lang/ru.json +1 -1
  130. package/dist/atomic/lang/sv.json +1 -1
  131. package/dist/atomic/lang/th.json +1 -1
  132. package/dist/atomic/lang/tr.json +1 -1
  133. package/dist/atomic/lang/zh-CN.json +1 -1
  134. package/dist/atomic/lang/zh-TW.json +1 -1
  135. package/dist/atomic/lang/zh.json +1 -1
  136. package/dist/atomic/{p-1d6d0186.entry.js → p-0035e3da.entry.js} +2 -2
  137. package/dist/atomic/p-01eda62a.entry.js +2 -0
  138. package/dist/atomic/{p-5b65473e.entry.js.map → p-01eda62a.entry.js.map} +1 -1
  139. package/dist/atomic/p-02f2ac0b.entry.js +2 -0
  140. package/dist/atomic/{p-ed515fef.entry.js.map → p-02f2ac0b.entry.js.map} +1 -1
  141. package/dist/atomic/p-066df32a.entry.js +2 -0
  142. package/dist/atomic/{p-86bba9db.entry.js.map → p-066df32a.entry.js.map} +1 -1
  143. package/dist/atomic/p-06bc57be.entry.js +2 -0
  144. package/dist/atomic/{p-cc963c10.entry.js.map → p-06bc57be.entry.js.map} +1 -1
  145. package/dist/atomic/{p-a0ebbbdf.entry.js → p-06c22903.entry.js} +2 -2
  146. package/dist/atomic/{p-f7b4ce31.entry.js → p-0714b56d.entry.js} +2 -2
  147. package/dist/atomic/{p-8b1b1784.entry.js.map → p-0714b56d.entry.js.map} +1 -1
  148. package/dist/atomic/{p-3272a04b.entry.js → p-0fb717b5.entry.js} +2 -2
  149. package/dist/atomic/p-104d7a84.entry.js +2 -0
  150. package/dist/atomic/{p-733a8082.entry.js.map → p-104d7a84.entry.js.map} +1 -1
  151. package/dist/atomic/{p-bc43df67.entry.js → p-118db20a.entry.js} +2 -2
  152. package/dist/atomic/p-1936bfc8.entry.js +2 -0
  153. package/dist/atomic/p-25ee4bab.entry.js +2 -0
  154. package/dist/atomic/{p-039bd7df.entry.js.map → p-25ee4bab.entry.js.map} +1 -1
  155. package/dist/atomic/p-27746cac.entry.js +2 -0
  156. package/dist/atomic/{p-850fa320.entry.js.map → p-27746cac.entry.js.map} +1 -1
  157. package/dist/atomic/p-2c5841a0.js +2 -0
  158. package/dist/atomic/p-2c5841a0.js.map +1 -0
  159. package/dist/atomic/{p-c52c9e67.entry.js → p-2c8d8e83.entry.js} +2 -2
  160. package/dist/atomic/p-2c8d8e83.entry.js.map +1 -0
  161. package/dist/atomic/p-2c94b87e.js +2 -0
  162. package/dist/atomic/p-2c94b87e.js.map +1 -0
  163. package/dist/atomic/{p-752f4533.entry.js → p-2eac7c46.entry.js} +2 -2
  164. package/dist/atomic/{p-2e9ecdf5.entry.js.map → p-2eac7c46.entry.js.map} +1 -1
  165. package/dist/atomic/{p-21dd38ad.js → p-2f3e40c8.js} +2 -2
  166. package/dist/atomic/p-3282ccf8.entry.js +2 -0
  167. package/dist/atomic/{p-cd021c46.entry.js.map → p-3282ccf8.entry.js.map} +1 -1
  168. package/dist/atomic/p-33b3b967.entry.js +2 -0
  169. package/dist/atomic/{p-12be5e47.entry.js.map → p-33b3b967.entry.js.map} +1 -1
  170. package/dist/atomic/p-37182242.entry.js +2 -0
  171. package/dist/atomic/{p-7afa3c6a.entry.js.map → p-37182242.entry.js.map} +1 -1
  172. package/dist/atomic/p-3becda0c.entry.js +2 -0
  173. package/dist/atomic/{p-b0a20358.entry.js.map → p-3becda0c.entry.js.map} +1 -1
  174. package/dist/atomic/{p-6819f12c.entry.js → p-3f3f6b14.entry.js} +2 -2
  175. package/dist/atomic/p-4206b797.entry.js +2 -0
  176. package/dist/atomic/{p-32544f8a.entry.js.map → p-4206b797.entry.js.map} +1 -1
  177. package/dist/atomic/p-458697db.entry.js +2 -0
  178. package/dist/atomic/{p-390deb3d.entry.js.map → p-458697db.entry.js.map} +1 -1
  179. package/dist/atomic/p-4778132c.entry.js +2 -0
  180. package/dist/atomic/{p-b0f6a52e.entry.js.map → p-4778132c.entry.js.map} +1 -1
  181. package/dist/atomic/p-4ba1eb36.entry.js +2 -0
  182. package/dist/atomic/p-4ba1eb36.entry.js.map +1 -0
  183. package/dist/atomic/p-4bc0dc09.entry.js +2 -0
  184. package/dist/atomic/{p-c52c9e67.entry.js.map → p-4bc0dc09.entry.js.map} +1 -1
  185. package/dist/atomic/{p-4a73e01b.js → p-4c85b2fb.js} +2 -2
  186. package/dist/atomic/{p-baebeae3.js → p-4dfa349e.js} +2 -2
  187. package/dist/atomic/{p-039bd7df.entry.js → p-530396d4.entry.js} +2 -2
  188. package/dist/atomic/{p-9c97d77d.entry.js.map → p-530396d4.entry.js.map} +1 -1
  189. package/dist/atomic/{p-044de1f9.entry.js → p-534aa5f7.entry.js} +2 -2
  190. package/dist/atomic/p-582ce205.entry.js +2 -0
  191. package/dist/atomic/{p-5a644e15.entry.js.map → p-582ce205.entry.js.map} +1 -1
  192. package/dist/atomic/p-5d36515f.entry.js +2 -0
  193. package/dist/atomic/{p-951bdd73.entry.js.map → p-5d36515f.entry.js.map} +1 -1
  194. package/dist/atomic/p-5dbe3b4c.entry.js +2 -0
  195. package/dist/atomic/{p-99d0c865.entry.js.map → p-5dbe3b4c.entry.js.map} +1 -1
  196. package/dist/atomic/{p-5cca43f6.entry.js → p-5dc02aed.entry.js} +2 -2
  197. package/dist/atomic/{p-4651cceb.js → p-5e5599f3.js} +2 -2
  198. package/dist/atomic/p-5eaee0be.entry.js +2 -0
  199. package/dist/atomic/{p-6d323b9a.entry.js.map → p-5eaee0be.entry.js.map} +1 -1
  200. package/dist/atomic/{p-f65ca329.entry.js → p-609d0550.entry.js} +2 -2
  201. package/dist/atomic/{p-1f903f31.entry.js → p-6489c611.entry.js} +2 -2
  202. package/dist/atomic/{p-3b632123.entry.js.map → p-6489c611.entry.js.map} +1 -1
  203. package/dist/atomic/p-66beb63a.entry.js +2 -0
  204. package/dist/atomic/{p-74380cbc.entry.js.map → p-66beb63a.entry.js.map} +1 -1
  205. package/dist/atomic/{p-e2fdbbd9.js → p-67b314f4.js} +2 -2
  206. package/dist/atomic/p-690cb10f.entry.js +2 -0
  207. package/dist/atomic/{p-c51d050f.entry.js.map → p-690cb10f.entry.js.map} +1 -1
  208. package/dist/atomic/p-6ca16a70.entry.js +2 -0
  209. package/dist/atomic/{p-d5f4597b.entry.js.map → p-6ca16a70.entry.js.map} +1 -1
  210. package/dist/atomic/p-6da5e67e.entry.js +2 -0
  211. package/dist/atomic/{p-9d492524.entry.js.map → p-6da5e67e.entry.js.map} +1 -1
  212. package/dist/atomic/p-6f93d6d6.entry.js +2 -0
  213. package/dist/atomic/{p-43fc38fb.entry.js.map → p-6f93d6d6.entry.js.map} +1 -1
  214. package/dist/atomic/p-72bdaa9d.js +2 -0
  215. package/dist/atomic/{p-9ce62a67.js.map → p-72bdaa9d.js.map} +1 -1
  216. package/dist/atomic/{p-43fc38fb.entry.js → p-77727995.entry.js} +2 -2
  217. package/dist/atomic/{p-63613c8a.entry.js.map → p-77727995.entry.js.map} +1 -1
  218. package/dist/atomic/p-798598a4.entry.js +2 -0
  219. package/dist/atomic/{p-2ab385b8.entry.js.map → p-798598a4.entry.js.map} +1 -1
  220. package/dist/atomic/{p-b58c1424.js → p-7bc6b014.js} +2 -2
  221. package/dist/atomic/p-7bf809eb.entry.js +2 -0
  222. package/dist/atomic/p-7d639646.js +2 -0
  223. package/dist/atomic/{p-5e6ff8f8.entry.js → p-81b00c43.entry.js} +2 -2
  224. package/dist/atomic/p-847cdfd5.entry.js +2 -0
  225. package/dist/atomic/{p-f7b4ce31.entry.js.map → p-847cdfd5.entry.js.map} +1 -1
  226. package/dist/atomic/{p-e809b959.entry.js → p-84ac45b4.entry.js} +2 -2
  227. package/dist/atomic/{p-7b8607e0.entry.js.map → p-84ac45b4.entry.js.map} +1 -1
  228. package/dist/atomic/{p-52663c66.entry.js → p-875eb57b.entry.js} +2 -2
  229. package/dist/atomic/p-895da76b.entry.js +2 -0
  230. package/dist/atomic/{p-84a6ee68.entry.js.map → p-895da76b.entry.js.map} +1 -1
  231. package/dist/atomic/{p-44d96103.entry.js → p-8d1f7884.entry.js} +2 -2
  232. package/dist/atomic/p-8d63a0c4.entry.js +2 -0
  233. package/dist/atomic/{p-06463927.entry.js.map → p-8d63a0c4.entry.js.map} +1 -1
  234. package/dist/atomic/{p-d8caa4d8.entry.js → p-90ace4cd.entry.js} +2 -2
  235. package/dist/atomic/p-91260e2b.entry.js +2 -0
  236. package/dist/atomic/{p-030c0435.entry.js.map → p-91260e2b.entry.js.map} +1 -1
  237. package/dist/atomic/p-9389337e.entry.js +2 -0
  238. package/dist/atomic/{p-13ac0c72.entry.js.map → p-9389337e.entry.js.map} +1 -1
  239. package/dist/atomic/{p-63613c8a.entry.js → p-9392b7da.entry.js} +2 -2
  240. package/dist/atomic/{p-e1052201.entry.js.map → p-9392b7da.entry.js.map} +1 -1
  241. package/dist/atomic/p-98790c52.entry.js +2 -0
  242. package/dist/atomic/{p-15697c4b.entry.js.map → p-98790c52.entry.js.map} +1 -1
  243. package/dist/atomic/p-98c7ae7f.entry.js +2 -0
  244. package/dist/atomic/{p-f25c9582.entry.js.map → p-98c7ae7f.entry.js.map} +1 -1
  245. package/dist/atomic/{p-3291adda.entry.js → p-9c556664.entry.js} +2 -2
  246. package/dist/atomic/{p-24bb7b3d.entry.js → p-9f01593d.entry.js} +2 -2
  247. package/dist/atomic/{p-dbfd92ab.entry.js → p-a48ae7ab.entry.js} +2 -2
  248. package/dist/atomic/{p-f56b1fd6.js → p-a8c6b43b.js} +2 -2
  249. package/dist/atomic/p-a9016629.entry.js +2 -0
  250. package/dist/atomic/{p-d944704c.entry.js.map → p-a9016629.entry.js.map} +1 -1
  251. package/dist/atomic/p-a9d9e80e.js +2 -0
  252. package/dist/atomic/p-ab3da44d.entry.js +2 -0
  253. package/dist/atomic/{p-7c87512d.entry.js.map → p-ab3da44d.entry.js.map} +1 -1
  254. package/dist/atomic/p-acd72087.entry.js +2 -0
  255. package/dist/atomic/{p-e809b959.entry.js.map → p-acd72087.entry.js.map} +1 -1
  256. package/dist/atomic/p-ae071697.entry.js +2 -0
  257. package/dist/atomic/{p-443f3422.entry.js.map → p-ae071697.entry.js.map} +1 -1
  258. package/dist/atomic/{p-ee19b388.entry.js → p-ae346172.entry.js} +2 -2
  259. package/dist/atomic/{p-93b392fa.entry.js.map → p-ae346172.entry.js.map} +1 -1
  260. package/dist/atomic/p-b93c93f7.entry.js +2 -0
  261. package/dist/atomic/{p-ee19b388.entry.js.map → p-b93c93f7.entry.js.map} +1 -1
  262. package/dist/atomic/{p-64dfda2d.js → p-b93d0580.js} +2 -2
  263. package/dist/atomic/p-bb0e0b5d.entry.js +2 -0
  264. package/dist/atomic/{p-3e1b3a6d.entry.js.map → p-bb0e0b5d.entry.js.map} +1 -1
  265. package/dist/atomic/p-c45361ac.entry.js +2 -0
  266. package/dist/atomic/{p-ff263c5e.entry.js.map → p-c45361ac.entry.js.map} +1 -1
  267. package/dist/atomic/{p-c51d050f.entry.js → p-c82dd1aa.entry.js} +2 -2
  268. package/dist/atomic/{p-bef3a536.entry.js.map → p-c82dd1aa.entry.js.map} +1 -1
  269. package/dist/atomic/{p-efd33bd9.js → p-cbbc91ef.js} +2 -2
  270. package/dist/atomic/{p-cee86cff.entry.js → p-cbec8d32.entry.js} +2 -2
  271. package/dist/atomic/{p-bef3a536.entry.js → p-cd047d6d.entry.js} +2 -2
  272. package/dist/atomic/{p-5d4e9821.entry.js.map → p-cd047d6d.entry.js.map} +1 -1
  273. package/dist/atomic/{p-aa0139e0.js → p-cdfcb38c.js} +2 -2
  274. package/dist/atomic/p-ceca3fb8.entry.js +2 -0
  275. package/dist/atomic/{p-fdaf9f6c.entry.js.map → p-ceca3fb8.entry.js.map} +1 -1
  276. package/dist/atomic/{p-06463927.entry.js → p-cf0a69e5.entry.js} +2 -2
  277. package/dist/atomic/{p-752f4533.entry.js.map → p-cf0a69e5.entry.js.map} +1 -1
  278. package/dist/atomic/p-d0937472.entry.js +2 -0
  279. package/dist/atomic/{p-99bb5042.entry.js.map → p-d0937472.entry.js.map} +1 -1
  280. package/dist/atomic/{p-229018fa.entry.js → p-d1fbb20a.entry.js} +2 -2
  281. package/dist/atomic/p-d3d0ac7c.entry.js +2 -0
  282. package/dist/atomic/{p-52878b95.entry.js.map → p-d3d0ac7c.entry.js.map} +1 -1
  283. package/dist/atomic/p-d6bc0fb4.entry.js +2 -0
  284. package/dist/atomic/{p-c1cd0a45.entry.js.map → p-d6bc0fb4.entry.js.map} +1 -1
  285. package/dist/atomic/{p-ddfbc97a.js → p-d7f0c2c5.js} +2 -2
  286. package/dist/atomic/{p-1c8bcadf.entry.js → p-d8d346f3.entry.js} +2 -2
  287. package/dist/atomic/{p-26e0c1f8.entry.js → p-dbc08e9e.entry.js} +2 -2
  288. package/dist/atomic/{p-bca5b379.js → p-dc8c49c8.js} +2 -2
  289. package/dist/atomic/{p-f0e695ab.js → p-dda4be4d.js} +2 -2
  290. package/dist/atomic/p-de53197d.js +2 -0
  291. package/dist/atomic/p-de53197d.js.map +1 -0
  292. package/dist/atomic/p-e0d103ba.entry.js +2 -0
  293. package/dist/atomic/{p-cd4394fe.entry.js.map → p-e0d103ba.entry.js.map} +1 -1
  294. package/dist/atomic/{p-9b447b7d.js → p-e49423b4.js} +2 -2
  295. package/dist/atomic/p-e62caa78.entry.js +2 -0
  296. package/dist/atomic/{p-fdd6264f.entry.js.map → p-e62caa78.entry.js.map} +1 -1
  297. package/dist/atomic/{p-254846bb.js → p-e6f167c9.js} +2 -2
  298. package/dist/atomic/p-e8180b21.entry.js +2 -0
  299. package/dist/atomic/{p-8aec7860.js → p-e9feab84.js} +2 -2
  300. package/dist/atomic/{p-b0a20358.entry.js → p-f04c86b4.entry.js} +2 -2
  301. package/dist/atomic/{p-bf0a780e.entry.js.map → p-f04c86b4.entry.js.map} +1 -1
  302. package/dist/atomic/p-f0e60a0c.entry.js +2 -0
  303. package/dist/atomic/{p-c0491e26.entry.js.map → p-f0e60a0c.entry.js.map} +1 -1
  304. package/dist/atomic/p-f12325cc.entry.js +2 -0
  305. package/dist/atomic/{p-1f903f31.entry.js.map → p-f12325cc.entry.js.map} +1 -1
  306. package/dist/atomic/{p-8a30d1e9.entry.js → p-f44e1bd3.entry.js} +2 -2
  307. package/dist/atomic/{p-c1cd0a45.entry.js → p-f5a0fdc8.entry.js} +2 -2
  308. package/dist/atomic/{p-eca826bd.entry.js.map → p-f5a0fdc8.entry.js.map} +1 -1
  309. package/dist/atomic/{p-2e13e2c0.entry.js → p-f654697b.entry.js} +2 -2
  310. package/dist/atomic/p-fa83768b.entry.js +2 -0
  311. package/dist/atomic/{p-bfb2e085.entry.js.map → p-fa83768b.entry.js.map} +1 -1
  312. package/dist/atomic/{p-c5bd7f8d.entry.js → p-fb5598e9.entry.js} +2 -2
  313. package/dist/atomic/p-fd7a8926.entry.js +2 -0
  314. package/dist/atomic/{p-498771d3.entry.js.map → p-fd7a8926.entry.js.map} +1 -1
  315. package/dist/cjs/_index.cjs.js +35 -2
  316. package/dist/cjs/_loader.cjs.js +1 -1
  317. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  318. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  319. package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -2
  320. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  321. package/dist/cjs/atomic-category-facet.cjs.entry.js +22 -13
  322. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  323. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  324. package/dist/cjs/atomic-color-facet.cjs.entry.js +5 -6
  325. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  326. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  327. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +3 -4
  328. package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
  329. package/dist/cjs/atomic-facet.cjs.entry.js +9 -10
  330. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  331. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -3
  332. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  333. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  334. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  335. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  336. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -5
  337. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  338. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -3
  339. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  340. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  341. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +3 -4
  342. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
  343. package/dist/cjs/atomic-insight-facet.cjs.entry.js +8 -9
  344. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  345. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -3
  346. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  347. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +3 -4
  348. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  349. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -3
  350. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  351. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +3 -4
  352. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  353. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  354. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +6 -7
  355. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  356. package/dist/cjs/atomic-insight-pager.cjs.entry.js +5 -6
  357. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  358. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +3 -4
  359. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  360. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -5
  361. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  362. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +3 -4
  363. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  364. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -3
  365. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  366. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -3
  367. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  368. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  369. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +4 -6
  370. package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
  371. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -3
  372. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  373. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +3 -4
  374. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  375. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  376. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +4 -5
  377. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  378. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  379. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  380. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -3
  381. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  382. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -4
  383. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
  384. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -2
  385. package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
  386. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  387. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -5
  388. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  389. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -2
  390. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  391. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +2 -3
  392. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  393. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +3 -4
  394. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  395. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  396. package/dist/cjs/atomic-ipx-button.cjs.entry.js +3 -4
  397. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  398. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  399. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  400. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +5 -7
  401. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  402. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +3 -4
  403. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  404. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +3 -4
  405. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  406. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  407. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
  408. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  409. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  410. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -3
  411. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  412. package/dist/cjs/atomic-no-results.cjs.entry.js +2 -3
  413. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  414. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -7
  415. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  416. package/dist/cjs/atomic-popover.cjs.entry.js +1 -2
  417. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  418. package/dist/cjs/atomic-query-error.cjs.entry.js +3 -4
  419. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  420. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -4
  421. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  422. package/dist/cjs/atomic-quickview.cjs.entry.js +2 -3
  423. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  424. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -5
  425. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  426. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  427. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  428. package/dist/cjs/atomic-recs-error.cjs.entry.js +3 -4
  429. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  430. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  431. package/dist/cjs/atomic-recs-list.cjs.entry.js +5 -7
  432. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  433. package/dist/cjs/atomic-refine-modal.cjs.entry.js +3 -4
  434. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  435. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -3
  436. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  437. package/dist/cjs/atomic-result-children.cjs.entry.js +4 -6
  438. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  439. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  440. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  441. package/dist/cjs/atomic-result-list.cjs.entry.js +2 -3
  442. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  443. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  444. package/dist/cjs/atomic-search-box.cjs.entry.js +9 -6
  445. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  446. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -2
  447. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  448. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -2
  449. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  450. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  451. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  452. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  453. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  454. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -3
  455. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  456. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -4
  457. package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
  458. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  459. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  460. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +4 -5
  461. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
  462. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  463. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -3
  464. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  465. package/dist/cjs/atomic-tab-button.cjs.entry.js +2 -3
  466. package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
  467. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  468. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -5
  469. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  470. package/dist/cjs/atomic.cjs.js +1 -1
  471. package/dist/cjs/{facet-placeholder-5beb1e14.js → facet-placeholder-28bdf849.js} +2 -2
  472. package/dist/cjs/{facet-placeholder-5beb1e14.js.map → facet-placeholder-28bdf849.js.map} +1 -1
  473. package/dist/cjs/{generated-answer-common-51e5b253.js → generated-answer-common-0d1fc031.js} +2 -2
  474. package/dist/cjs/{generated-answer-common-51e5b253.js.map → generated-answer-common-0d1fc031.js.map} +1 -1
  475. package/dist/cjs/index-757bc886.js +4 -8
  476. package/dist/cjs/index.cjs.js.map +1 -1
  477. package/dist/cjs/{item-template-provider-470c1774.js → item-template-provider-c639f39c.js} +29 -1
  478. package/dist/cjs/item-template-provider-c639f39c.js.map +1 -0
  479. package/dist/cjs/{show-hide-button-cbf030a3.js → show-hide-button-12eb762b.js} +4 -4
  480. package/dist/cjs/{show-hide-button-cbf030a3.js.map → show-hide-button-12eb762b.js.map} +1 -1
  481. package/dist/cjs/{smart-snippet-common-6a18743b.js → smart-snippet-common-9d247110.js} +3 -3
  482. package/dist/cjs/{smart-snippet-common-6a18743b.js.map → smart-snippet-common-9d247110.js.map} +1 -1
  483. package/dist/cjs/{smart-snippet-feedback-modal-common-6048b7af.js → smart-snippet-feedback-modal-common-43bc6145.js} +2 -2
  484. package/dist/cjs/{smart-snippet-feedback-modal-common-6048b7af.js.map → smart-snippet-feedback-modal-common-43bc6145.js.map} +1 -1
  485. package/dist/cjs/{smart-snippet-suggestions-common-0a7adbfa.js → smart-snippet-suggestions-common-4dba10d1.js} +2 -2
  486. package/dist/cjs/{smart-snippet-suggestions-common-0a7adbfa.js.map → smart-snippet-suggestions-common-4dba10d1.js.map} +1 -1
  487. package/dist/cjs/{stencil-button-62b500e4.js → stencil-button-aa0f9cb5.js} +48 -4
  488. package/dist/cjs/stencil-button-aa0f9cb5.js.map +1 -0
  489. package/dist/cjs/{stencil-carousel-a605d26f.js → stencil-carousel-ecc37fcf.js} +2 -2
  490. package/dist/cjs/{stencil-carousel-a605d26f.js.map → stencil-carousel-ecc37fcf.js.map} +1 -1
  491. package/dist/cjs/{stencil-facet-search-matches-61418287.js → stencil-facet-search-matches-f77a8c78.js} +2 -2
  492. package/dist/cjs/{stencil-facet-search-matches-61418287.js.map → stencil-facet-search-matches-f77a8c78.js.map} +1 -1
  493. package/dist/cjs/{stencil-facet-show-more-less-8da6af80.js → stencil-facet-show-more-less-52a679a0.js} +2 -2
  494. package/dist/cjs/{stencil-facet-show-more-less-8da6af80.js.map → stencil-facet-show-more-less-52a679a0.js.map} +1 -1
  495. package/dist/cjs/{stencil-facet-value-c8a1fe99.js → stencil-facet-value-ad8037c7.js} +4 -4
  496. package/dist/cjs/{stencil-facet-value-c8a1fe99.js.map → stencil-facet-value-ad8037c7.js.map} +1 -1
  497. package/dist/cjs/{stencil-facet-value-box-dc7013fa.js → stencil-facet-value-box-8f6ae2b0.js} +2 -2
  498. package/dist/cjs/{stencil-facet-value-box-dc7013fa.js.map → stencil-facet-value-box-8f6ae2b0.js.map} +1 -1
  499. package/dist/cjs/{stencil-facet-value-checkbox-58251c1b.js → stencil-facet-value-checkbox-58bb59b9.js} +2 -2
  500. package/dist/cjs/{stencil-facet-value-checkbox-58251c1b.js.map → stencil-facet-value-checkbox-58bb59b9.js.map} +1 -1
  501. package/dist/cjs/{stencil-facet-value-link-8587369b.js → stencil-facet-value-link-e24cd431.js} +2 -2
  502. package/dist/cjs/{stencil-facet-value-link-8587369b.js.map → stencil-facet-value-link-e24cd431.js.map} +1 -1
  503. package/dist/cjs/{stencil-iconButton-0f5e02fb.js → stencil-iconButton-12f18eff.js} +2 -2
  504. package/dist/cjs/{stencil-iconButton-0f5e02fb.js.map → stencil-iconButton-12f18eff.js.map} +1 -1
  505. package/dist/cjs/{stencil-link-e392d9fa.js → stencil-link-f9b71cbd.js} +2 -2
  506. package/dist/cjs/{stencil-link-e392d9fa.js.map → stencil-link-f9b71cbd.js.map} +1 -1
  507. package/dist/cjs/{stencil-modal-0c2539a2.js → stencil-modal-c8184bfa.js} +2 -2
  508. package/dist/cjs/{stencil-modal-0c2539a2.js.map → stencil-modal-c8184bfa.js.map} +1 -1
  509. package/dist/cjs/{stencil-radio-button-4f4ddc4d.js → stencil-radio-button-eb67a30a.js} +4 -5
  510. package/dist/cjs/stencil-radio-button-eb67a30a.js.map +1 -0
  511. package/dist/cjs/{stencil-suggestion-manager-df2e5c45.js → stencil-suggestion-manager-62c42aa3.js} +3 -3
  512. package/dist/cjs/stencil-suggestion-manager-62c42aa3.js.map +1 -0
  513. package/dist/cjs/{stencil-values-container-239826f6.js → stencil-values-container-0cf24782.js} +3 -3
  514. package/dist/cjs/{stencil-values-container-239826f6.js.map → stencil-values-container-0cf24782.js.map} +1 -1
  515. package/dist/cjs/{timeframe-facet-common-cbd1b4c6.js → timeframe-facet-common-b08ffe64.js} +3 -3
  516. package/dist/cjs/{timeframe-facet-common-cbd1b4c6.js.map → timeframe-facet-common-b08ffe64.js.map} +1 -1
  517. package/dist/cjs/version.cjs.js +2 -2
  518. package/dist/esm/_index.js +35 -2
  519. package/dist/esm/_loader.js +1 -1
  520. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -4
  521. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  522. package/dist/esm/atomic-breadbox.entry.js +1 -2
  523. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  524. package/dist/esm/atomic-category-facet.entry.js +22 -13
  525. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  526. package/dist/esm/atomic-citation.entry.js +1 -1
  527. package/dist/esm/atomic-color-facet.entry.js +5 -6
  528. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  529. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  530. package/dist/esm/atomic-facet-number-input.entry.js +3 -4
  531. package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
  532. package/dist/esm/atomic-facet.entry.js +9 -10
  533. package/dist/esm/atomic-facet.entry.js.map +1 -1
  534. package/dist/esm/atomic-folded-result-list.entry.js +1 -2
  535. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  536. package/dist/esm/atomic-format-currency.entry.js +1 -1
  537. package/dist/esm/atomic-format-number.entry.js +1 -1
  538. package/dist/esm/atomic-format-unit.entry.js +1 -1
  539. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -5
  540. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  541. package/dist/esm/atomic-generated-answer.entry.js +2 -3
  542. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  543. package/dist/esm/atomic-html.entry.js +1 -1
  544. package/dist/esm/atomic-insight-edit-toggle.entry.js +3 -4
  545. package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
  546. package/dist/esm/atomic-insight-facet.entry.js +8 -9
  547. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  548. package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -3
  549. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  550. package/dist/esm/atomic-insight-full-search-button.entry.js +3 -4
  551. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  552. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -3
  553. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  554. package/dist/esm/atomic-insight-history-toggle.entry.js +3 -4
  555. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  556. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  557. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -7
  558. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  559. package/dist/esm/atomic-insight-pager.entry.js +5 -6
  560. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  561. package/dist/esm/atomic-insight-query-error.entry.js +3 -4
  562. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  563. package/dist/esm/atomic-insight-refine-modal.entry.js +4 -5
  564. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  565. package/dist/esm/atomic-insight-refine-toggle.entry.js +3 -4
  566. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  567. package/dist/esm/atomic-insight-result-action.entry.js +2 -3
  568. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  569. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -3
  570. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  571. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  572. package/dist/esm/atomic-insight-result-children.entry.js +4 -6
  573. package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
  574. package/dist/esm/atomic-insight-result-list.entry.js +2 -3
  575. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  576. package/dist/esm/atomic-insight-result-quickview-action.entry.js +3 -4
  577. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  578. package/dist/esm/atomic-insight-result.entry.js +1 -1
  579. package/dist/esm/atomic-insight-search-box.entry.js +4 -5
  580. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  581. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +4 -5
  582. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
  583. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -3
  584. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  585. package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -4
  586. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
  587. package/dist/esm/atomic-insight-tab.entry.js +1 -2
  588. package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
  589. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  590. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -5
  591. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  592. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -2
  593. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  594. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +2 -3
  595. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  596. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +3 -4
  597. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  598. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  599. package/dist/esm/atomic-ipx-button.entry.js +3 -4
  600. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  601. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  602. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  603. package/dist/esm/atomic-ipx-recs-list.entry.js +4 -6
  604. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  605. package/dist/esm/atomic-ipx-refine-modal.entry.js +3 -4
  606. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  607. package/dist/esm/atomic-ipx-refine-toggle.entry.js +3 -4
  608. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  609. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  610. package/dist/esm/atomic-ipx-tab.entry.js +1 -2
  611. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  612. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  613. package/dist/esm/atomic-load-more-results.entry.js +2 -3
  614. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  615. package/dist/esm/atomic-no-results.entry.js +2 -3
  616. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  617. package/dist/esm/atomic-numeric-facet.entry.js +6 -7
  618. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  619. package/dist/esm/atomic-popover.entry.js +1 -2
  620. package/dist/esm/atomic-popover.entry.js.map +1 -1
  621. package/dist/esm/atomic-query-error.entry.js +3 -4
  622. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  623. package/dist/esm/atomic-quickview-modal.entry.js +3 -4
  624. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  625. package/dist/esm/atomic-quickview.entry.js +2 -3
  626. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  627. package/dist/esm/atomic-rating-facet.entry.js +4 -5
  628. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  629. package/dist/esm/atomic-rating-range-facet.entry.js +3 -4
  630. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  631. package/dist/esm/atomic-recs-error.entry.js +3 -4
  632. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  633. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  634. package/dist/esm/atomic-recs-list.entry.js +4 -6
  635. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  636. package/dist/esm/atomic-refine-modal.entry.js +3 -4
  637. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  638. package/dist/esm/atomic-refine-toggle.entry.js +2 -3
  639. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  640. package/dist/esm/atomic-result-children.entry.js +4 -6
  641. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  642. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  643. package/dist/esm/atomic-result-link.entry.js +1 -1
  644. package/dist/esm/atomic-result-list.entry.js +2 -3
  645. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  646. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  647. package/dist/esm/atomic-search-box.entry.js +9 -6
  648. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  649. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -2
  650. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  651. package/dist/esm/atomic-segmented-facet.entry.js +1 -2
  652. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  653. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  654. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  655. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -5
  656. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
  657. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -3
  658. package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
  659. package/dist/esm/atomic-smart-snippet.entry.js +3 -4
  660. package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
  661. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  662. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  663. package/dist/esm/atomic-stencil-facet-date-input.entry.js +4 -5
  664. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
  665. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  666. package/dist/esm/atomic-tab-bar_2.entry.js +2 -3
  667. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  668. package/dist/esm/atomic-tab-button.entry.js +2 -3
  669. package/dist/esm/atomic-tab-button.entry.js.map +1 -1
  670. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  671. package/dist/esm/atomic-timeframe-facet.entry.js +4 -5
  672. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  673. package/dist/esm/atomic.js +1 -1
  674. package/dist/esm/{facet-placeholder-a4a46474.js → facet-placeholder-5c76d381.js} +2 -2
  675. package/dist/esm/{facet-placeholder-a4a46474.js.map → facet-placeholder-5c76d381.js.map} +1 -1
  676. package/dist/esm/{generated-answer-common-d5cc6e86.js → generated-answer-common-50a58790.js} +2 -2
  677. package/dist/esm/{generated-answer-common-d5cc6e86.js.map → generated-answer-common-50a58790.js.map} +1 -1
  678. package/dist/esm/index-3f35faca.js +4 -8
  679. package/dist/esm/index.js.map +1 -1
  680. package/dist/esm/{item-template-provider-35bf0685.js → item-template-provider-d9ddb19d.js} +28 -2
  681. package/dist/esm/item-template-provider-d9ddb19d.js.map +1 -0
  682. package/dist/esm/{show-hide-button-8ed8d405.js → show-hide-button-4765764b.js} +3 -3
  683. package/dist/esm/{show-hide-button-8ed8d405.js.map → show-hide-button-4765764b.js.map} +1 -1
  684. package/dist/esm/{smart-snippet-common-f2a5e84f.js → smart-snippet-common-bf32e4ba.js} +3 -3
  685. package/dist/esm/{smart-snippet-common-f2a5e84f.js.map → smart-snippet-common-bf32e4ba.js.map} +1 -1
  686. package/dist/esm/{smart-snippet-feedback-modal-common-63373ffc.js → smart-snippet-feedback-modal-common-9d74c0b9.js} +2 -2
  687. package/dist/esm/{smart-snippet-feedback-modal-common-63373ffc.js.map → smart-snippet-feedback-modal-common-9d74c0b9.js.map} +1 -1
  688. package/dist/esm/{smart-snippet-suggestions-common-eff6fbfa.js → smart-snippet-suggestions-common-9375b247.js} +2 -2
  689. package/dist/esm/{smart-snippet-suggestions-common-eff6fbfa.js.map → smart-snippet-suggestions-common-9375b247.js.map} +1 -1
  690. package/dist/esm/{stencil-button-e72b213d.js → stencil-button-49254c75.js} +45 -3
  691. package/dist/esm/stencil-button-49254c75.js.map +1 -0
  692. package/dist/esm/{stencil-carousel-ae19a5d0.js → stencil-carousel-5402db5e.js} +2 -2
  693. package/dist/esm/{stencil-carousel-ae19a5d0.js.map → stencil-carousel-5402db5e.js.map} +1 -1
  694. package/dist/esm/{stencil-facet-search-matches-b639b93f.js → stencil-facet-search-matches-f36e9ae9.js} +2 -2
  695. package/dist/esm/{stencil-facet-search-matches-b639b93f.js.map → stencil-facet-search-matches-f36e9ae9.js.map} +1 -1
  696. package/dist/esm/{stencil-facet-show-more-less-4932bd9f.js → stencil-facet-show-more-less-557b4107.js} +2 -2
  697. package/dist/esm/{stencil-facet-show-more-less-4932bd9f.js.map → stencil-facet-show-more-less-557b4107.js.map} +1 -1
  698. package/dist/esm/{stencil-facet-value-6e80b694.js → stencil-facet-value-665ca72b.js} +4 -4
  699. package/dist/esm/{stencil-facet-value-6e80b694.js.map → stencil-facet-value-665ca72b.js.map} +1 -1
  700. package/dist/esm/{stencil-facet-value-box-b26edef5.js → stencil-facet-value-box-cd4a6aa8.js} +2 -2
  701. package/dist/esm/{stencil-facet-value-box-b26edef5.js.map → stencil-facet-value-box-cd4a6aa8.js.map} +1 -1
  702. package/dist/esm/{stencil-facet-value-checkbox-f9dbff9d.js → stencil-facet-value-checkbox-13802512.js} +2 -2
  703. package/dist/esm/{stencil-facet-value-checkbox-f9dbff9d.js.map → stencil-facet-value-checkbox-13802512.js.map} +1 -1
  704. package/dist/esm/{stencil-facet-value-link-bef908e3.js → stencil-facet-value-link-cf3f9c2d.js} +2 -2
  705. package/dist/esm/{stencil-facet-value-link-bef908e3.js.map → stencil-facet-value-link-cf3f9c2d.js.map} +1 -1
  706. package/dist/esm/{stencil-iconButton-b4568792.js → stencil-iconButton-65d8387c.js} +2 -2
  707. package/dist/esm/{stencil-iconButton-b4568792.js.map → stencil-iconButton-65d8387c.js.map} +1 -1
  708. package/dist/esm/{stencil-link-78fd0a0d.js → stencil-link-982cba05.js} +2 -2
  709. package/dist/esm/{stencil-link-78fd0a0d.js.map → stencil-link-982cba05.js.map} +1 -1
  710. package/dist/esm/{stencil-modal-47c54d0e.js → stencil-modal-99e93edd.js} +2 -2
  711. package/dist/esm/{stencil-modal-47c54d0e.js.map → stencil-modal-99e93edd.js.map} +1 -1
  712. package/dist/esm/{stencil-radio-button-a5c62a36.js → stencil-radio-button-8d40e86f.js} +2 -3
  713. package/dist/esm/stencil-radio-button-8d40e86f.js.map +1 -0
  714. package/dist/esm/{stencil-suggestion-manager-b192ac22.js → stencil-suggestion-manager-3d2eea75.js} +3 -3
  715. package/dist/esm/stencil-suggestion-manager-3d2eea75.js.map +1 -0
  716. package/dist/esm/{stencil-values-container-6a1e9ed6.js → stencil-values-container-53c1232c.js} +3 -3
  717. package/dist/esm/{stencil-values-container-6a1e9ed6.js.map → stencil-values-container-53c1232c.js.map} +1 -1
  718. package/dist/esm/{timeframe-facet-common-cee99a11.js → timeframe-facet-common-33642d0d.js} +3 -3
  719. package/dist/esm/{timeframe-facet-common-cee99a11.js.map → timeframe-facet-common-33642d0d.js.map} +1 -1
  720. package/dist/esm/version.js +2 -2
  721. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -0
  722. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
  723. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -0
  724. package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +2 -0
  725. package/dist/types/components/common/facets/category-facet/all-categories-button.d.ts +2 -0
  726. package/dist/types/components/common/facets/category-facet/all-categories-localized-label.d.ts +6 -0
  727. package/dist/types/components/common/facets/category-facet/search-value.d.ts +1 -0
  728. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +2 -0
  729. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +1 -0
  730. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
  731. 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
  732. package/dist/types/components/search/index.d.ts +1 -0
  733. package/dist/types/components.d.ts +0 -72
  734. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  735. package/docs/atomic-docs.json +12 -238
  736. package/package.json +3 -3
  737. package/dist/atomic/components/atomic-search-box-instant-results.d.ts +0 -11
  738. package/dist/atomic/components/atomic-search-box-instant-results.js +0 -256
  739. package/dist/atomic/components/atomic-search-box-instant-results.js.map +0 -1
  740. package/dist/atomic/components/stencil-button-style.js +0 -46
  741. package/dist/atomic/components/stencil-button-style.js.map +0 -1
  742. package/dist/atomic/components/stencil-placeholders.js +0 -30
  743. package/dist/atomic/components/stencil-placeholders.js.map +0 -1
  744. package/dist/atomic/p-030c0435.entry.js +0 -2
  745. package/dist/atomic/p-05f1ff6f.entry.js +0 -2
  746. package/dist/atomic/p-12be5e47.entry.js +0 -2
  747. package/dist/atomic/p-13ac0c72.entry.js +0 -2
  748. package/dist/atomic/p-15697c4b.entry.js +0 -2
  749. package/dist/atomic/p-1a093634.js +0 -2
  750. package/dist/atomic/p-1a093634.js.map +0 -1
  751. package/dist/atomic/p-21ab6f55.js +0 -2
  752. package/dist/atomic/p-21ab6f55.js.map +0 -1
  753. package/dist/atomic/p-2ab385b8.entry.js +0 -2
  754. package/dist/atomic/p-2e9ecdf5.entry.js +0 -2
  755. package/dist/atomic/p-32544f8a.entry.js +0 -2
  756. package/dist/atomic/p-390deb3d.entry.js +0 -2
  757. package/dist/atomic/p-3b632123.entry.js +0 -2
  758. package/dist/atomic/p-3e1b3a6d.entry.js +0 -2
  759. package/dist/atomic/p-40345c70.js +0 -2
  760. package/dist/atomic/p-40345c70.js.map +0 -1
  761. package/dist/atomic/p-443f3422.entry.js +0 -2
  762. package/dist/atomic/p-498771d3.entry.js +0 -2
  763. package/dist/atomic/p-4b7a19db.js +0 -2
  764. package/dist/atomic/p-4b7a19db.js.map +0 -1
  765. package/dist/atomic/p-52878b95.entry.js +0 -2
  766. package/dist/atomic/p-5a644e15.entry.js +0 -2
  767. package/dist/atomic/p-5b65473e.entry.js +0 -2
  768. package/dist/atomic/p-5b8cc4bc.entry.js +0 -2
  769. package/dist/atomic/p-5d4e9821.entry.js +0 -2
  770. package/dist/atomic/p-5e6efd8e.js +0 -2
  771. package/dist/atomic/p-6d323b9a.entry.js +0 -2
  772. package/dist/atomic/p-733a8082.entry.js +0 -2
  773. package/dist/atomic/p-74380cbc.entry.js +0 -2
  774. package/dist/atomic/p-7afa3c6a.entry.js +0 -2
  775. package/dist/atomic/p-7b8607e0.entry.js +0 -2
  776. package/dist/atomic/p-7c87512d.entry.js +0 -2
  777. package/dist/atomic/p-84a6ee68.entry.js +0 -2
  778. package/dist/atomic/p-850fa320.entry.js +0 -2
  779. package/dist/atomic/p-86bba9db.entry.js +0 -2
  780. package/dist/atomic/p-8b1b1784.entry.js +0 -2
  781. package/dist/atomic/p-93b392fa.entry.js +0 -2
  782. package/dist/atomic/p-951bdd73.entry.js +0 -2
  783. package/dist/atomic/p-953fe202.entry.js +0 -2
  784. package/dist/atomic/p-953fe202.entry.js.map +0 -1
  785. package/dist/atomic/p-99bb5042.entry.js +0 -2
  786. package/dist/atomic/p-99d0c865.entry.js +0 -2
  787. package/dist/atomic/p-9c97d77d.entry.js +0 -2
  788. package/dist/atomic/p-9ce62a67.js +0 -2
  789. package/dist/atomic/p-9d492524.entry.js +0 -2
  790. package/dist/atomic/p-ac03c9a7.js +0 -2
  791. package/dist/atomic/p-b0f6a52e.entry.js +0 -2
  792. package/dist/atomic/p-b85c2c46.entry.js +0 -2
  793. package/dist/atomic/p-b85c2c46.entry.js.map +0 -1
  794. package/dist/atomic/p-bf0a780e.entry.js +0 -2
  795. package/dist/atomic/p-bfb2e085.entry.js +0 -2
  796. package/dist/atomic/p-c0491e26.entry.js +0 -2
  797. package/dist/atomic/p-cc963c10.entry.js +0 -2
  798. package/dist/atomic/p-cd021c46.entry.js +0 -2
  799. package/dist/atomic/p-cd4394fe.entry.js +0 -2
  800. package/dist/atomic/p-cef8175c.js +0 -2
  801. package/dist/atomic/p-cef8175c.js.map +0 -1
  802. package/dist/atomic/p-d5f4597b.entry.js +0 -2
  803. package/dist/atomic/p-d944704c.entry.js +0 -2
  804. package/dist/atomic/p-da3fdf6d.js +0 -2
  805. package/dist/atomic/p-da3fdf6d.js.map +0 -1
  806. package/dist/atomic/p-e1052201.entry.js +0 -2
  807. package/dist/atomic/p-eca826bd.entry.js +0 -2
  808. package/dist/atomic/p-ed515fef.entry.js +0 -2
  809. package/dist/atomic/p-f25c9582.entry.js +0 -2
  810. package/dist/atomic/p-f4818e53.entry.js +0 -2
  811. package/dist/atomic/p-f8f80cbe.entry.js +0 -2
  812. package/dist/atomic/p-f8f80cbe.entry.js.map +0 -1
  813. package/dist/atomic/p-fdaf9f6c.entry.js +0 -2
  814. package/dist/atomic/p-fdd6264f.entry.js +0 -2
  815. package/dist/atomic/p-ff263c5e.entry.js +0 -2
  816. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +0 -195
  817. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +0 -1
  818. package/dist/cjs/item-template-provider-470c1774.js.map +0 -1
  819. package/dist/cjs/stencil-button-62b500e4.js.map +0 -1
  820. package/dist/cjs/stencil-button-style-ba779fe2.js +0 -49
  821. package/dist/cjs/stencil-button-style-ba779fe2.js.map +0 -1
  822. package/dist/cjs/stencil-placeholders-17e73823.js +0 -33
  823. package/dist/cjs/stencil-placeholders-17e73823.js.map +0 -1
  824. package/dist/cjs/stencil-radio-button-4f4ddc4d.js.map +0 -1
  825. package/dist/cjs/stencil-suggestion-manager-df2e5c45.js.map +0 -1
  826. package/dist/cjs/suggestions-events-63dd0640.js +0 -42
  827. package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
  828. package/dist/esm/atomic-search-box-instant-results.entry.js.map +0 -1
  829. package/dist/esm/item-template-provider-35bf0685.js.map +0 -1
  830. package/dist/esm/stencil-button-e72b213d.js.map +0 -1
  831. package/dist/esm/stencil-button-style-0bc80040.js +0 -46
  832. package/dist/esm/stencil-button-style-0bc80040.js.map +0 -1
  833. package/dist/esm/stencil-placeholders-43360a82.js +0 -30
  834. package/dist/esm/stencil-placeholders-43360a82.js.map +0 -1
  835. package/dist/esm/stencil-radio-button-a5c62a36.js.map +0 -1
  836. package/dist/esm/stencil-suggestion-manager-b192ac22.js.map +0 -1
  837. package/dist/esm/suggestions-events-b7a6f007.js +0 -40
  838. package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
  839. /package/dist/atomic/{p-1d6d0186.entry.js.map → p-0035e3da.entry.js.map} +0 -0
  840. /package/dist/atomic/{p-a0ebbbdf.entry.js.map → p-06c22903.entry.js.map} +0 -0
  841. /package/dist/atomic/{p-3272a04b.entry.js.map → p-0fb717b5.entry.js.map} +0 -0
  842. /package/dist/atomic/{p-bc43df67.entry.js.map → p-118db20a.entry.js.map} +0 -0
  843. /package/dist/atomic/{p-f4818e53.entry.js.map → p-1936bfc8.entry.js.map} +0 -0
  844. /package/dist/atomic/{p-21dd38ad.js.map → p-2f3e40c8.js.map} +0 -0
  845. /package/dist/atomic/{p-6819f12c.entry.js.map → p-3f3f6b14.entry.js.map} +0 -0
  846. /package/dist/atomic/{p-4a73e01b.js.map → p-4c85b2fb.js.map} +0 -0
  847. /package/dist/atomic/{p-baebeae3.js.map → p-4dfa349e.js.map} +0 -0
  848. /package/dist/atomic/{p-044de1f9.entry.js.map → p-534aa5f7.entry.js.map} +0 -0
  849. /package/dist/atomic/{p-5cca43f6.entry.js.map → p-5dc02aed.entry.js.map} +0 -0
  850. /package/dist/atomic/{p-4651cceb.js.map → p-5e5599f3.js.map} +0 -0
  851. /package/dist/atomic/{p-f65ca329.entry.js.map → p-609d0550.entry.js.map} +0 -0
  852. /package/dist/atomic/{p-e2fdbbd9.js.map → p-67b314f4.js.map} +0 -0
  853. /package/dist/atomic/{p-b58c1424.js.map → p-7bc6b014.js.map} +0 -0
  854. /package/dist/atomic/{p-05f1ff6f.entry.js.map → p-7bf809eb.entry.js.map} +0 -0
  855. /package/dist/atomic/{p-ac03c9a7.js.map → p-7d639646.js.map} +0 -0
  856. /package/dist/atomic/{p-5e6ff8f8.entry.js.map → p-81b00c43.entry.js.map} +0 -0
  857. /package/dist/atomic/{p-52663c66.entry.js.map → p-875eb57b.entry.js.map} +0 -0
  858. /package/dist/atomic/{p-44d96103.entry.js.map → p-8d1f7884.entry.js.map} +0 -0
  859. /package/dist/atomic/{p-d8caa4d8.entry.js.map → p-90ace4cd.entry.js.map} +0 -0
  860. /package/dist/atomic/{p-3291adda.entry.js.map → p-9c556664.entry.js.map} +0 -0
  861. /package/dist/atomic/{p-24bb7b3d.entry.js.map → p-9f01593d.entry.js.map} +0 -0
  862. /package/dist/atomic/{p-dbfd92ab.entry.js.map → p-a48ae7ab.entry.js.map} +0 -0
  863. /package/dist/atomic/{p-f56b1fd6.js.map → p-a8c6b43b.js.map} +0 -0
  864. /package/dist/atomic/{p-5e6efd8e.js.map → p-a9d9e80e.js.map} +0 -0
  865. /package/dist/atomic/{p-64dfda2d.js.map → p-b93d0580.js.map} +0 -0
  866. /package/dist/atomic/{p-efd33bd9.js.map → p-cbbc91ef.js.map} +0 -0
  867. /package/dist/atomic/{p-cee86cff.entry.js.map → p-cbec8d32.entry.js.map} +0 -0
  868. /package/dist/atomic/{p-aa0139e0.js.map → p-cdfcb38c.js.map} +0 -0
  869. /package/dist/atomic/{p-229018fa.entry.js.map → p-d1fbb20a.entry.js.map} +0 -0
  870. /package/dist/atomic/{p-ddfbc97a.js.map → p-d7f0c2c5.js.map} +0 -0
  871. /package/dist/atomic/{p-1c8bcadf.entry.js.map → p-d8d346f3.entry.js.map} +0 -0
  872. /package/dist/atomic/{p-26e0c1f8.entry.js.map → p-dbc08e9e.entry.js.map} +0 -0
  873. /package/dist/atomic/{p-bca5b379.js.map → p-dc8c49c8.js.map} +0 -0
  874. /package/dist/atomic/{p-f0e695ab.js.map → p-dda4be4d.js.map} +0 -0
  875. /package/dist/atomic/{p-9b447b7d.js.map → p-e49423b4.js.map} +0 -0
  876. /package/dist/atomic/{p-254846bb.js.map → p-e6f167c9.js.map} +0 -0
  877. /package/dist/atomic/{p-5b8cc4bc.entry.js.map → p-e8180b21.entry.js.map} +0 -0
  878. /package/dist/atomic/{p-8aec7860.js.map → p-e9feab84.js.map} +0 -0
  879. /package/dist/atomic/{p-8a30d1e9.entry.js.map → p-f44e1bd3.entry.js.map} +0 -0
  880. /package/dist/atomic/{p-2e13e2c0.entry.js.map → p-f654697b.entry.js.map} +0 -0
  881. /package/dist/atomic/{p-c5bd7f8d.entry.js.map → p-fb5598e9.entry.js.map} +0 -0
@@ -1,195 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-757bc886.js');
6
- const headless = require('@coveo/headless');
7
- const stringUtils = require('./string-utils-bdf08f8c.js');
8
- const itemTemplateProvider = require('./item-template-provider-470c1774.js');
9
- const stencilButtonStyle = require('./stencil-button-style-ba779fe2.js');
10
- const suggestionsEvents = require('./suggestions-events-63dd0640.js');
11
- require('./dom-utils-d4790328.js');
12
- require('./event-utils-9bfcf3c5.js');
13
-
14
- /**
15
- * @deprecated should only be used for Stencil components.
16
- */
17
- const getPartialInstantItemElement = (i18n, itemTitle, itemUniqueId) => {
18
- return {
19
- ariaLabel: i18n.t('instant-results-suggestion-label', {
20
- title: itemTitle,
21
- interpolation: { escapeValue: false },
22
- }),
23
- key: `instant-result-${stringUtils.encodeForDomAttribute(itemUniqueId)}`,
24
- part: 'instant-results-item',
25
- };
26
- };
27
- /**
28
- * @deprecated should only be used for Stencil components.
29
- */
30
- const getPartialInstantItemShowAllElement = (i18n) => {
31
- return {
32
- key: 'instant-results-show-all-button',
33
- part: 'instant-results-show-all',
34
- ariaLabel: i18n.t('show-all-results'),
35
- };
36
- };
37
- /**
38
- * @deprecated should only be used for Stencil components.
39
- */
40
- const InstantItemShowAllButton = ({ i18n }) => {
41
- return (index.h("div", { part: "instant-results-show-all-button", class: stencilButtonStyle.getClassNameForButtonStyle('text-primary') }, i18n.t('show-all-results')));
42
- };
43
-
44
- const AtomicSearchBoxInstantResults = class {
45
- constructor(hostRef) {
46
- index.registerInstance(this, hostRef);
47
- this.results = [];
48
- this.display = 'list';
49
- this.templateHasError = false;
50
- /**
51
- * The maximum number of results to show.
52
- */
53
- this.maxResultsPerQuery = 4;
54
- /**
55
- * 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.
56
- */
57
- this.density = 'normal';
58
- /**
59
- * The expected size of the image displayed in the results.
60
- */
61
- this.imageSize = 'icon';
62
- this.error = undefined;
63
- this.templateHasError = false;
64
- this.maxResultsPerQuery = 4;
65
- this.density = 'normal';
66
- this.imageSize = 'icon';
67
- this.ariaLabelGenerator = undefined;
68
- }
69
- /**
70
- * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.
71
- * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.
72
- *
73
- * Do not use this method if you integrate Atomic in a plain HTML deployment.
74
- *
75
- * @param resultRenderingFunction
76
- */
77
- async setRenderFunction(resultRenderingFunction) {
78
- this.itemRenderingFunction = resultRenderingFunction;
79
- }
80
- componentWillLoad() {
81
- try {
82
- suggestionsEvents.dispatchSearchBoxSuggestionsEvent((bindings) => {
83
- this.bindings = bindings;
84
- return this.initialize();
85
- }, this.host, ['atomic-search-box']);
86
- }
87
- catch (error) {
88
- this.error = error;
89
- }
90
- }
91
- getLink(el) {
92
- const atomicResult = el.tagName === 'ATOMIC-RESULT' ? el : el?.querySelector('atomic-result');
93
- return (atomicResult?.shadowRoot?.querySelector('atomic-result-link a:not([slot])') || null);
94
- }
95
- handleLinkClick(el, hasModifier) {
96
- const setTarget = (value) => el.setAttribute('target', value);
97
- const initialTarget = el.getAttribute('target');
98
- hasModifier && setTarget('_blank');
99
- el.click();
100
- hasModifier && setTarget(initialTarget || '');
101
- return true;
102
- }
103
- renderItems() {
104
- if (!this.bindings.suggestedQuery() || this.bindings.store.isMobile()) {
105
- return [];
106
- }
107
- const results = this.instantResults.state.results.length
108
- ? this.instantResults.state.results
109
- : this.results;
110
- const elements = results.map((result) => {
111
- const partialItem = getPartialInstantItemElement(this.bindings.i18n, this.ariaLabelGenerator?.(this.bindings, result) || result.title, result.uniqueId);
112
- return {
113
- ...partialItem,
114
- content: (index.h("atomic-result", { key: `instant-result-${stringUtils.encodeForDomAttribute(result.uniqueId)}`, part: "outline", result: result, interactiveResult: headless.buildInteractiveInstantResult(this.bindings.engine, {
115
- options: { result },
116
- }), display: this.display, density: this.density, imageSize: this.imageSize, content: this.itemTemplateProvider.getTemplateContent(result), stopPropagation: false, renderingFunction: this.itemRenderingFunction })),
117
- onSelect: (e) => {
118
- const link = this.getLink(e.target);
119
- if (!link) {
120
- return;
121
- }
122
- this.handleLinkClick(link, e.ctrlKey || e.metaKey);
123
- },
124
- };
125
- });
126
- if (elements.length) {
127
- const partialItem = getPartialInstantItemShowAllElement(this.bindings.i18n);
128
- elements.push({
129
- ...partialItem,
130
- content: index.h(InstantItemShowAllButton, { i18n: this.bindings.i18n }),
131
- onSelect: () => {
132
- this.bindings.clearSuggestions();
133
- this.bindings.searchBoxController.updateText(this.instantResults.state.q);
134
- this.bindings.searchBoxController.submit();
135
- },
136
- });
137
- }
138
- return elements;
139
- }
140
- initialize() {
141
- this.instantResults = headless.buildInstantResults(this.bindings.engine, {
142
- options: {
143
- maxResultsPerQuery: this.maxResultsPerQuery,
144
- },
145
- });
146
- this.itemTemplateProvider = new itemTemplateProvider.ItemTemplateProvider({
147
- includeDefaultTemplate: true,
148
- templateElements: Array.from(this.host.querySelectorAll('atomic-result-template')),
149
- getResultTemplateRegistered: () => true,
150
- setResultTemplateRegistered: () => { },
151
- getTemplateHasError: () => this.templateHasError,
152
- setTemplateHasError: (value) => {
153
- this.templateHasError = value;
154
- },
155
- bindings: this.bindings,
156
- });
157
- return {
158
- position: Array.from(this.host.parentNode.children).indexOf(this.host),
159
- panel: 'right',
160
- onSuggestedQueryChange: (q) => {
161
- this.instantResults.updateQuery(q);
162
- return this.onSuggestedQueryChange();
163
- },
164
- renderItems: () => this.renderItems(),
165
- };
166
- }
167
- onSuggestedQueryChange() {
168
- if (!this.bindings.getSuggestionElements().length &&
169
- !this.bindings.searchBoxController.state.value) {
170
- 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.");
171
- }
172
- return new Promise((resolve) => {
173
- const unsubscribe = this.instantResults.subscribe(() => {
174
- const state = this.instantResults.state;
175
- if (!state.isLoading) {
176
- if (state.results.length) {
177
- this.results = state.results;
178
- }
179
- unsubscribe();
180
- resolve();
181
- }
182
- });
183
- });
184
- }
185
- render() {
186
- if (this.error) {
187
- return (index.h("atomic-component-error", { key: 'e1471cd50dd5174b2c2e80588b7b2ad076810e15', element: this.host, error: this.error }));
188
- }
189
- }
190
- get host() { return index.getElement(this); }
191
- };
192
-
193
- exports.atomic_search_box_instant_results = AtomicSearchBoxInstantResults;
194
-
195
- //# sourceMappingURL=atomic-search-box-instant-results.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-search-box-instant-results.entry.cjs.js","mappings":"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","names":["encodeForDomAttribute","h","getClassNameForButtonStyle","dispatchSearchBoxSuggestionsEvent","buildInteractiveInstantResult","buildInstantResults","ItemTemplateProvider"],"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\n/**\n * @deprecated should only be used for Stencil components.\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\n/**\n * @deprecated should only be used for Stencil components.\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}\n\n/**\n * @deprecated should only be used for Stencil components.\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-470c1774.js","mappings":"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","names":["buildResultTemplatesManager"],"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":"stencil-button-62b500e4.js","mappings":"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","names":["listenOnce","getRippleColorForButtonStyle","getClassNameForButtonStyle","h"],"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.\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.\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,49 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts
5
- * This file is required to be in a tsx file to be able to use it in Stencil components.
6
- */
7
- function getClassNameForButtonStyle(buttonStyle) {
8
- switch (buttonStyle) {
9
- case 'primary':
10
- return 'btn-primary';
11
- case 'outline-primary':
12
- return 'btn-outline-primary';
13
- case 'outline-neutral':
14
- return 'btn-outline-neutral';
15
- case 'outline-error':
16
- return 'btn-outline-error';
17
- case 'outline-bg-neutral':
18
- return 'btn-outline-bg-neutral';
19
- case 'outline-bg-error':
20
- return 'btn-outline-bg-error';
21
- case 'text-primary':
22
- return 'btn-text-primary';
23
- case 'text-neutral':
24
- return 'btn-text-neutral';
25
- case 'text-transparent':
26
- return 'btn-text-transparent';
27
- case 'square-neutral':
28
- return 'btn-square-neutral';
29
- }
30
- }
31
- /**
32
- * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts
33
- * This file is required to be in a tsx file to be able to use it in Stencil components.
34
- */
35
- function getRippleColorForButtonStyle(buttonStyle) {
36
- switch (buttonStyle) {
37
- case 'primary':
38
- return 'primary';
39
- case 'text-transparent':
40
- return 'neutral-light';
41
- default:
42
- return 'neutral';
43
- }
44
- }
45
-
46
- exports.getClassNameForButtonStyle = getClassNameForButtonStyle;
47
- exports.getRippleColorForButtonStyle = getRippleColorForButtonStyle;
48
-
49
- //# sourceMappingURL=stencil-button-style-ba779fe2.js.map
@@ -1 +0,0 @@
1
- {"file":"stencil-button-style-ba779fe2.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,33 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-757bc886.js');
4
-
5
- // The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.
6
- /**
7
- * @deprecated should only be used for Stencil components.
8
- */
9
- const ResultsPlaceholdersGuard = (props) => {
10
- if (!props.displayPlaceholders) {
11
- return;
12
- }
13
- switch (props.display) {
14
- case 'table':
15
- return index.h(TableDisplayResultsPlaceholder, { ...props });
16
- default:
17
- return index.h(ResultsPlaceholder, { ...props });
18
- }
19
- };
20
- /**
21
- * @deprecated should only be used for Stencil components.
22
- */
23
- const ResultsPlaceholder = (props) => {
24
- return Array.from({ length: props.numberOfPlaceholders }, (_, i) => (index.h("atomic-result-placeholder", { key: `placeholder-${i}`, density: props.density, display: props.display || 'list', imageSize: props.imageSize })));
25
- };
26
- const TableDisplayResultsPlaceholder = (props) => {
27
- return (index.h("atomic-result-table-placeholder", { density: props.density, imageSize: props.imageSize, rows: props.numberOfPlaceholders }));
28
- };
29
-
30
- exports.ResultsPlaceholder = ResultsPlaceholder;
31
- exports.ResultsPlaceholdersGuard = ResultsPlaceholdersGuard;
32
-
33
- //# sourceMappingURL=stencil-placeholders-17e73823.js.map
@@ -1 +0,0 @@
1
- {"file":"stencil-placeholders-17e73823.js","mappings":";;;;AAAA;AAmBA;;;MAGa,wBAAwB,GAEjC,CAAC,KAAK;IACR,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;QAC9B,OAAO;KACR;IACD,QAAQ,KAAK,CAAC,OAAO;QACnB,KAAK,OAAO;YACV,OAAOA,QAAC,8BAA8B,OAAK,KAAK,GAAI,CAAC;QACvD;YACE,OAAOA,QAAC,kBAAkB,OAAK,KAAK,GAAI,CAAC;KAC5C;AACH,EAAE;AAEF;;;MAGa,kBAAkB,GAAgD,CAC7E,KAAK;IAEL,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAC3DA,uCACE,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,QACEA,6CACE,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAE,KAAK,CAAC,oBAAoB,GACC,EACnC;AACJ,CAAC;;;;;","names":["h"],"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\n/**\n * @deprecated should only be used for Stencil components.\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\n/**\n * @deprecated should only be used for Stencil components.\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-4f4ddc4d.js","mappings":"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","names":["getRippleColorForButtonStyle","getClassNameForButtonStyle","createRipple","h"],"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.\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.\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-df2e5c45.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\n/**\n * @deprecated should only be used for Stencil components.\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\n/**\n * @deprecated should only be used for Stencil components.\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')}\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\n/**\n * @deprecated should only be used for Stencil components.\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,42 +0,0 @@
1
- 'use strict';
2
-
3
- const domUtils = require('./dom-utils-d4790328.js');
4
- const eventUtils = require('./event-utils-9bfcf3c5.js');
5
-
6
- /**
7
- * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
8
- *
9
- * @param event Event sent from the registered query suggestions to the parent search box
10
- * @param element Element on which to dispatch the event, which must be the child of a configured search box
11
- * @param allowedSearchBoxElements Optional array of allowed search box element selectors
12
- *
13
- * @throws Error if the element is not a child of an allowed search box element
14
- */
15
- const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
16
- const interfaceElement = domUtils.closest(element, searchBoxElements.join(', '));
17
- if (!interfaceElement) {
18
- throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
19
- }
20
- void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
21
- };
22
- const searchBoxElements = [
23
- 'atomic-search-box',
24
- 'atomic-insight-search-box',
25
- 'atomic-commerce-search-box',
26
- ];
27
- const isLitElementLoosely = (candidate) => 'updateComplete' in candidate &&
28
- candidate.updateComplete instanceof Promise;
29
- const dispatchSearchBoxSuggestionsEventEventually = async (interfaceElement, element, event) => {
30
- await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());
31
- if (isLitElementLoosely(interfaceElement)) {
32
- await interfaceElement.updateComplete;
33
- }
34
- else if ('componentOnReady' in interfaceElement) {
35
- await interfaceElement.componentOnReady();
36
- }
37
- element.dispatchEvent(eventUtils.buildCustomEvent('atomic/searchBoxSuggestion/register', event));
38
- };
39
-
40
- exports.dispatchSearchBoxSuggestionsEvent = dispatchSearchBoxSuggestionsEvent;
41
-
42
- //# sourceMappingURL=suggestions-events-63dd0640.js.map
@@ -1 +0,0 @@
1
- {"file":"suggestions-events-63dd0640.js","mappings":";;;;;AAOA;;;;;;;;;MASa,iCAAiC,GAAG,CAI/C,KAA+D,EAC/D,OAAoB,EACpB,2BAA0E,iBAAiB;IAE3F,MAAM,gBAAgB,GAAGA,gBAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gFAAgF,wBAAwB,CAAC,IAAI,CACjJ,IAAI,CACL,EAAE,CACJ,CAAC;KACH;IACD,KAAK,2CAA2C,CAC9C,gBAAgB,EAChB,OAAO,EACP,KAAK,CACN,CAAC;AACJ,EAAE;AAEF,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAEX,MAAM,mBAAmB,GAAG,CAAC,SAAkB,KAC7C,gBAAgB,IAAK,SAAwB;IAC5C,SAAwB,CAAC,cAAc,YAAY,OAAO,CAAC;AAE9D,MAAM,2CAA2C,GAAG,OAIlD,gBAAyB,EACzB,OAAoB,EACpB,KAA+D;IAE/D,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACzC,MAAM,gBAAgB,CAAC,cAAc,CAAC;KACvC;SAAM,IAAI,kBAAkB,IAAI,gBAAgB,EAAE;QACjD,MAAO,gBAAuC,CAAC,gBAAgB,EAAE,CAAC;KACnE;IACD,OAAO,CAAC,aAAa,CACnBC,2BAAgB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAC/D,CAAC;AACJ,CAAC;;;;","names":["closest","buildCustomEvent"],"sources":["src/components/common/suggestions/suggestions-events.ts"],"sourcesContent":["import type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\n * @param event Event sent from the registered query suggestions to the parent search box\n * @param element Element on which to dispatch the event, which must be the child of a configured search box\n * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n"],"version":3}
@@ -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\n/**\n * @deprecated should only be used for Stencil components.\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\n/**\n * @deprecated should only be used for Stencil components.\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}\n\n/**\n * @deprecated should only be used for Stencil components.\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":"stencil-button-e72b213d.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.\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.\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}