@coveo/atomic 3.34.0-pre.d6630bb1de → 3.34.0-pre.d729012f68

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 (988) 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 -6
  4. package/dist/atomic/components/_index.js +1 -4
  5. package/dist/atomic/components/analytics-config.js +1 -1
  6. package/dist/atomic/components/atomic-category-facet.js +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 +2 -2
  23. package/dist/atomic/components/atomic-insight-history-toggle.js.map +1 -1
  24. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  25. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  26. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  27. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  28. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  29. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  31. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  32. package/dist/atomic/components/atomic-insight-result-list.js +2 -3
  33. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  34. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  36. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  37. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  38. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  39. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  40. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +2 -2
  41. package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
  42. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  43. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  44. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  45. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  46. package/dist/atomic/components/atomic-ipx-recs-list.js +2 -3
  47. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  48. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  51. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  52. package/dist/{esm/sections-ae00b53a.js → atomic/components/atomic-layout-section-utils.js} +1 -1
  53. package/dist/atomic/components/atomic-layout-section-utils.js.map +1 -0
  54. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  55. package/dist/atomic/components/atomic-no-results.js +1 -1
  56. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  57. package/dist/atomic/components/atomic-query-error.js +1 -1
  58. package/dist/atomic/components/atomic-quickview-modal2.js +23 -23
  59. package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
  60. package/dist/atomic/components/atomic-quickview.js +1 -1
  61. package/dist/atomic/components/atomic-recs-error.js +1 -1
  62. package/dist/atomic/components/atomic-recs-list.js +2 -3
  63. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  64. package/dist/atomic/components/atomic-refine-modal2.js +2 -2
  65. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  66. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  67. package/dist/atomic/components/atomic-result-children.js +1 -1
  68. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  69. package/dist/atomic/components/atomic-result-link.js +1 -1
  70. package/dist/atomic/components/atomic-result-list.js +2 -3
  71. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  72. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  73. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  74. package/dist/atomic/components/atomic-search-box-query-suggestions.js +1 -1
  75. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +38 -3
  76. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  77. package/dist/atomic/components/atomic-search-box.js +5 -11
  78. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  79. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  80. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  81. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  82. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  83. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  84. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  85. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  86. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  87. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  88. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  89. package/dist/atomic/components/clock.js +2 -2
  90. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +17 -32
  91. package/dist/atomic/components/components/common/atomic-layout-section/layout.js +1 -1
  92. package/dist/atomic/components/components/common/item-list/item-template-provider.js +28 -0
  93. package/dist/atomic/components/components/common/layout/display-options.js +1 -1
  94. package/dist/atomic/components/components/common/layout/{sections.js → item-layout-sections.js} +1 -1
  95. package/dist/atomic/components/components/common/product-template/product-template-common.js +1 -1
  96. package/dist/atomic/components/components/common/validate-props-controller/validate-props-controller.js +50 -0
  97. package/dist/atomic/components/components/insight/atomic-insight-layout/insight-layout.js +1 -1
  98. package/dist/atomic/components/components/search/atomic-relevance-inspector/atomic-relevance-inspector.js +100 -0
  99. package/dist/atomic/components/{atomic-search-box-instant-results.js → components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.js} +85 -87
  100. package/dist/atomic/components/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.js +137 -0
  101. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +17 -24
  102. package/dist/atomic/components/components/search/index.js +3 -0
  103. package/dist/atomic/components/components/search/lazy-index.js +3 -0
  104. package/dist/atomic/components/display-options.js +1 -1
  105. package/dist/atomic/components/display-options.js.map +1 -1
  106. package/dist/atomic/components/facet-number-input.js +2 -2
  107. package/dist/atomic/components/global/environment.js +1 -1
  108. package/dist/atomic/components/index.js.map +1 -1
  109. package/dist/atomic/components/insight-layout.js +1 -1
  110. package/dist/atomic/components/insight-layout.js.map +1 -1
  111. package/dist/atomic/components/{sections2.js → item-layout-sections.js} +1 -1
  112. package/dist/atomic/components/item-layout-sections.js.map +1 -0
  113. package/dist/atomic/components/item-template-provider.js +21 -1
  114. package/dist/atomic/components/item-template-provider.js.map +1 -1
  115. package/dist/atomic/components/result-template-common.js +1 -1
  116. package/dist/atomic/components/result-template-common.js.map +1 -1
  117. package/dist/atomic/components/show-hide-button.js +1 -1
  118. package/dist/atomic/components/stencil-button.js +44 -2
  119. package/dist/atomic/components/stencil-button.js.map +1 -1
  120. package/dist/atomic/components/stencil-radio-button.js +1 -2
  121. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  122. package/dist/atomic/components/tab-button.js +1 -1
  123. package/dist/atomic/components/tab-popover.js +1 -1
  124. package/dist/atomic/components/utils/compare-utils.js +49 -0
  125. package/dist/atomic/p-003fd435.entry.js +2 -0
  126. package/dist/atomic/{p-7ec6dd3e.entry.js.map → p-003fd435.entry.js.map} +1 -1
  127. package/dist/atomic/{p-3cbab25b.entry.js → p-03e57267.entry.js} +2 -2
  128. package/dist/atomic/p-049357e3.entry.js +2 -0
  129. package/dist/atomic/{p-a130b00b.entry.js.map → p-049357e3.entry.js.map} +1 -1
  130. package/dist/atomic/{p-3c9289b5.js → p-04ebb7ba.js} +2 -2
  131. package/dist/atomic/p-0738db8b.entry.js +2 -0
  132. package/dist/atomic/{p-998393ec.entry.js.map → p-0738db8b.entry.js.map} +1 -1
  133. package/dist/atomic/{p-0f449e9d.entry.js → p-091c589b.entry.js} +2 -2
  134. package/dist/atomic/{p-5d0a3045.js → p-0ab0ceaa.js} +2 -2
  135. package/dist/atomic/{p-60800b2f.entry.js → p-0ae232d5.entry.js} +2 -2
  136. package/dist/atomic/{p-86bde026.entry.js → p-0baced30.entry.js} +2 -2
  137. package/dist/atomic/{p-2caa1859.js → p-0e62bdd6.js} +2 -2
  138. package/dist/atomic/p-0e62bdd6.js.map +1 -0
  139. package/dist/atomic/{p-74862002.js → p-0e6f1e14.js} +2 -2
  140. package/dist/atomic/p-0eeda119.entry.js +2 -0
  141. package/dist/atomic/{p-9faad55b.entry.js.map → p-0eeda119.entry.js.map} +1 -1
  142. package/dist/atomic/p-0efabb24.entry.js +2 -0
  143. package/dist/atomic/{p-97829295.entry.js.map → p-0efabb24.entry.js.map} +1 -1
  144. package/dist/atomic/{p-16f4ce98.js → p-0fb39501.js} +2 -2
  145. package/dist/atomic/p-11c2bd3d.entry.js +2 -0
  146. package/dist/atomic/{p-89d8bb0d.entry.js.map → p-11c2bd3d.entry.js.map} +1 -1
  147. package/dist/atomic/p-12bd6e6e.entry.js +2 -0
  148. package/dist/atomic/{p-59b15bd6.entry.js.map → p-12bd6e6e.entry.js.map} +1 -1
  149. package/dist/atomic/{p-d2e8a2d4.js → p-134b7370.js} +2 -2
  150. package/dist/atomic/p-14c7da7d.entry.js +2 -0
  151. package/dist/atomic/p-14c7da7d.entry.js.map +1 -0
  152. package/dist/atomic/{p-ef78082a.js → p-15580d9e.js} +2 -2
  153. package/dist/atomic/p-1ce53a49.entry.js +2 -0
  154. package/dist/atomic/{p-3a7a1a00.entry.js.map → p-1ce53a49.entry.js.map} +1 -1
  155. package/dist/atomic/{p-30c09377.entry.js → p-1da7a80f.entry.js} +2 -2
  156. package/dist/atomic/{p-f9dd14b2.entry.js.map → p-1da7a80f.entry.js.map} +1 -1
  157. package/dist/atomic/p-1e678b66.entry.js +2 -0
  158. package/dist/atomic/{p-ce5b896e.entry.js.map → p-1e678b66.entry.js.map} +1 -1
  159. package/dist/atomic/{p-7709fba4.js → p-2250f505.js} +2 -2
  160. package/dist/atomic/p-2250f505.js.map +1 -0
  161. package/dist/atomic/{p-baff6c43.js → p-25660266.js} +2 -2
  162. package/dist/atomic/p-28779acf.entry.js +2 -0
  163. package/dist/atomic/{p-cb3fd0f4.entry.js.map → p-28779acf.entry.js.map} +1 -1
  164. package/dist/atomic/p-2917a899.entry.js +2 -0
  165. package/dist/atomic/p-2917a899.entry.js.map +1 -0
  166. package/dist/atomic/p-2ad5b803.entry.js +2 -0
  167. package/dist/atomic/{p-23d4dc54.entry.js.map → p-2ad5b803.entry.js.map} +1 -1
  168. package/dist/atomic/{p-c7af4b9e.entry.js → p-2c084024.entry.js} +2 -2
  169. package/dist/atomic/{p-ee957926.entry.js.map → p-2c084024.entry.js.map} +1 -1
  170. package/dist/atomic/p-2e792916.entry.js +2 -0
  171. package/dist/atomic/{p-0110f06c.entry.js → p-2f258b2c.entry.js} +2 -2
  172. package/dist/atomic/{p-6289adc7.entry.js → p-2f33c5fe.entry.js} +2 -2
  173. package/dist/atomic/{p-93601dc0.entry.js.map → p-2f33c5fe.entry.js.map} +1 -1
  174. package/dist/atomic/p-2fcbcbcb.entry.js +2 -0
  175. package/dist/atomic/{p-3e9db2b5.entry.js.map → p-2fcbcbcb.entry.js.map} +1 -1
  176. package/dist/atomic/p-30ea57e8.entry.js +2 -0
  177. package/dist/atomic/{p-3a01a398.entry.js.map → p-30ea57e8.entry.js.map} +1 -1
  178. package/dist/atomic/{p-20764605.entry.js → p-331ad989.entry.js} +2 -2
  179. package/dist/atomic/{p-dbc09018.js → p-340130de.js} +2 -2
  180. package/dist/atomic/{p-dbcef3a9.entry.js → p-349c1be8.entry.js} +2 -2
  181. package/dist/atomic/{p-d6e04719.entry.js → p-373448df.entry.js} +2 -2
  182. package/dist/atomic/p-3957401e.entry.js +2 -0
  183. package/dist/atomic/{p-9b2561e8.entry.js.map → p-3957401e.entry.js.map} +1 -1
  184. package/dist/atomic/p-3e32650c.entry.js +2 -0
  185. package/dist/atomic/{p-cdeb5f2a.entry.js.map → p-3e32650c.entry.js.map} +1 -1
  186. package/dist/atomic/{p-037eee11.js → p-3f0e7549.js} +2 -2
  187. package/dist/atomic/p-3f9292b8.entry.js +2 -0
  188. package/dist/atomic/{p-13391e75.entry.js.map → p-3f9292b8.entry.js.map} +1 -1
  189. package/dist/atomic/{p-85145c88.entry.js → p-40c113f1.entry.js} +2 -2
  190. package/dist/atomic/{p-a1ee594f.entry.js → p-42b1d51a.entry.js} +2 -2
  191. package/dist/atomic/{p-7cced247.entry.js.map → p-42b1d51a.entry.js.map} +1 -1
  192. package/dist/atomic/p-44cb020c.entry.js +2 -0
  193. package/dist/atomic/p-44cb020c.entry.js.map +1 -0
  194. package/dist/atomic/{p-0f39889d.entry.js → p-455ceefd.entry.js} +2 -2
  195. package/dist/atomic/{p-b6415814.entry.js.map → p-455ceefd.entry.js.map} +1 -1
  196. package/dist/atomic/p-496bcc16.entry.js +2 -0
  197. package/dist/atomic/{p-b320f270.entry.js.map → p-496bcc16.entry.js.map} +1 -1
  198. package/dist/atomic/{p-16f6c1f3.entry.js → p-49e0400f.entry.js} +2 -2
  199. package/dist/atomic/p-4aec93dd.entry.js +2 -0
  200. package/dist/atomic/{p-1435fb6f.entry.js.map → p-4aec93dd.entry.js.map} +1 -1
  201. package/dist/atomic/{p-f8b608ba.js → p-4bf14d26.js} +2 -2
  202. package/dist/atomic/p-4d9c1439.entry.js +2 -0
  203. package/dist/atomic/{p-4bdc6d5a.entry.js.map → p-4d9c1439.entry.js.map} +1 -1
  204. package/dist/atomic/{p-475124d2.entry.js → p-501dbf28.entry.js} +2 -2
  205. package/dist/atomic/p-51fc7578.entry.js +2 -0
  206. package/dist/atomic/{p-fafd5042.entry.js.map → p-51fc7578.entry.js.map} +1 -1
  207. package/dist/atomic/{p-723f76a1.entry.js → p-568393c0.entry.js} +2 -2
  208. package/dist/atomic/{p-2e4628bb.entry.js → p-5dcebd1d.entry.js} +2 -2
  209. package/dist/atomic/{p-8fdef8a3.entry.js → p-5e9f6f9e.entry.js} +2 -2
  210. package/dist/atomic/{p-367ec37d.entry.js.map → p-5e9f6f9e.entry.js.map} +1 -1
  211. package/dist/atomic/{p-7cced247.entry.js → p-5efd6d67.entry.js} +2 -2
  212. package/dist/atomic/{p-0bdd730f.entry.js.map → p-5efd6d67.entry.js.map} +1 -1
  213. package/dist/atomic/p-6185cbeb.entry.js +2 -0
  214. package/dist/atomic/{p-00069a4b.entry.js.map → p-6185cbeb.entry.js.map} +1 -1
  215. package/dist/atomic/p-62e85c20.entry.js +2 -0
  216. package/dist/atomic/p-6425492a.entry.js +2 -0
  217. package/dist/atomic/{p-f936f55e.entry.js.map → p-6425492a.entry.js.map} +1 -1
  218. package/dist/atomic/p-65251cfd.entry.js +2 -0
  219. package/dist/atomic/{p-f76b7ac3.entry.js.map → p-65251cfd.entry.js.map} +1 -1
  220. package/dist/atomic/{p-60498b8e.js → p-68013132.js} +2 -2
  221. package/dist/atomic/p-6c0b388d.entry.js +2 -0
  222. package/dist/atomic/{p-7e9a1a1a.entry.js.map → p-6c0b388d.entry.js.map} +1 -1
  223. package/dist/atomic/{p-dd532d1b.entry.js → p-6e533608.entry.js} +2 -2
  224. package/dist/atomic/p-6efb1f5a.entry.js +2 -0
  225. package/dist/atomic/{p-24fd7df6.entry.js.map → p-6efb1f5a.entry.js.map} +1 -1
  226. package/dist/atomic/{p-93da1f4e.entry.js → p-6f34dd3a.entry.js} +2 -2
  227. package/dist/atomic/p-72382fe2.entry.js +2 -0
  228. package/dist/atomic/{p-4723ffa5.entry.js.map → p-72382fe2.entry.js.map} +1 -1
  229. package/dist/atomic/p-74a87ca1.entry.js +2 -0
  230. package/dist/atomic/{p-97ce3384.entry.js.map → p-74a87ca1.entry.js.map} +1 -1
  231. package/dist/atomic/p-75c37247.js +2 -0
  232. package/dist/atomic/p-75c37247.js.map +1 -0
  233. package/dist/atomic/{p-0610b3e7.entry.js → p-76185607.entry.js} +2 -2
  234. package/dist/atomic/{p-0c0b8d41.entry.js → p-768b172e.entry.js} +2 -2
  235. package/dist/atomic/{p-5c73ebc4.js → p-76cf6545.js} +2 -2
  236. package/dist/atomic/p-77c4a1ec.entry.js +2 -0
  237. package/dist/atomic/{p-fdd0aa42.entry.js.map → p-77c4a1ec.entry.js.map} +1 -1
  238. package/dist/atomic/p-7e36bdf2.entry.js +2 -0
  239. package/dist/atomic/{p-8fdef8a3.entry.js.map → p-7e36bdf2.entry.js.map} +1 -1
  240. package/dist/atomic/{p-a4d277c7.entry.js → p-7fd5b6ac.entry.js} +2 -2
  241. package/dist/atomic/{p-0bdd730f.entry.js → p-82833c17.entry.js} +2 -2
  242. package/dist/atomic/{p-c7af4b9e.entry.js.map → p-82833c17.entry.js.map} +1 -1
  243. package/dist/atomic/{p-f9608731.entry.js → p-852a4b38.entry.js} +2 -2
  244. package/dist/atomic/{p-fe59fb2d.entry.js.map → p-852a4b38.entry.js.map} +1 -1
  245. package/dist/atomic/{p-a5714bc4.entry.js → p-85453a90.entry.js} +2 -2
  246. package/dist/atomic/p-8588e8d7.entry.js +2 -0
  247. package/dist/atomic/p-859f9def.entry.js +2 -0
  248. package/dist/atomic/{p-dbc0ce5c.entry.js.map → p-859f9def.entry.js.map} +1 -1
  249. package/dist/atomic/p-874cd83b.entry.js +2 -0
  250. package/dist/atomic/{p-406a288c.entry.js.map → p-874cd83b.entry.js.map} +1 -1
  251. package/dist/atomic/p-87f89279.entry.js +2 -0
  252. package/dist/atomic/{p-1db20a4a.entry.js.map → p-87f89279.entry.js.map} +1 -1
  253. package/dist/atomic/p-8be21e4a.js +2 -0
  254. package/dist/atomic/p-8be21e4a.js.map +1 -0
  255. package/dist/atomic/{p-fafd5042.entry.js → p-8ec02657.entry.js} +2 -2
  256. package/dist/atomic/{p-fa658ef2.entry.js.map → p-8ec02657.entry.js.map} +1 -1
  257. package/dist/atomic/p-8f69b018.entry.js +2 -0
  258. package/dist/atomic/{p-5606819d.entry.js.map → p-8f69b018.entry.js.map} +1 -1
  259. package/dist/atomic/{p-f71b14b2.entry.js → p-9260dd7d.entry.js} +2 -2
  260. package/dist/atomic/{p-00a6ab8c.entry.js → p-9359fd97.entry.js} +2 -2
  261. package/dist/atomic/{p-04a5acdf.js → p-962cbae8.js} +2 -2
  262. package/dist/atomic/{p-577d34ba.entry.js → p-9878ce63.entry.js} +2 -2
  263. package/dist/atomic/{p-ed8e5c4d.entry.js → p-98dd6df1.entry.js} +2 -2
  264. package/dist/atomic/{p-e398835b.entry.js → p-998533bd.entry.js} +2 -2
  265. package/dist/atomic/p-9cc4752e.entry.js +2 -0
  266. package/dist/atomic/{p-88af4470.entry.js.map → p-9cc4752e.entry.js.map} +1 -1
  267. package/dist/atomic/{p-5ca21deb.js → p-9ce6063d.js} +2 -2
  268. package/dist/atomic/{p-a428960a.js → p-9dcd5606.js} +2 -2
  269. package/dist/atomic/{p-0b5efb51.entry.js → p-a1e5f767.entry.js} +2 -2
  270. package/dist/atomic/p-a340496e.entry.js +2 -0
  271. package/dist/atomic/{p-47ab6c9f.entry.js.map → p-a340496e.entry.js.map} +1 -1
  272. package/dist/atomic/{p-3622ed6c.js → p-a83c992f.js} +2 -2
  273. package/dist/atomic/p-aee3b2e7.entry.js +2 -0
  274. package/dist/atomic/{p-fe3cd55b.entry.js → p-b2897ed7.entry.js} +2 -2
  275. package/dist/atomic/p-b44addb5.entry.js +2 -0
  276. package/dist/atomic/{p-5f706e3d.entry.js.map → p-b44addb5.entry.js.map} +1 -1
  277. package/dist/atomic/p-b56a3967.entry.js +2 -0
  278. package/dist/atomic/{p-a1ee594f.entry.js.map → p-b56a3967.entry.js.map} +1 -1
  279. package/dist/atomic/{p-36f63642.entry.js → p-bc0ca1fd.entry.js} +2 -2
  280. package/dist/atomic/{p-23d4dc54.entry.js → p-be49928d.entry.js} +2 -2
  281. package/dist/atomic/{p-a1522fe5.entry.js.map → p-be49928d.entry.js.map} +1 -1
  282. package/dist/atomic/{p-bd3542d2.entry.js → p-be5f724c.entry.js} +2 -2
  283. package/dist/atomic/{p-59f043a0.entry.js.map → p-be5f724c.entry.js.map} +1 -1
  284. package/dist/atomic/p-beb2ad8e.js +2 -0
  285. package/dist/atomic/{p-82398f4a.js.map → p-beb2ad8e.js.map} +1 -1
  286. package/dist/atomic/p-bf769441.entry.js +2 -0
  287. package/dist/atomic/{p-f9608731.entry.js.map → p-bf769441.entry.js.map} +1 -1
  288. package/dist/atomic/{p-a9383817.entry.js → p-c17c0209.entry.js} +2 -2
  289. package/dist/atomic/{p-00069a4b.entry.js → p-c7aeaa81.entry.js} +2 -2
  290. package/dist/atomic/{p-4601eb93.entry.js.map → p-c7aeaa81.entry.js.map} +1 -1
  291. package/dist/atomic/{p-8a488991.js → p-ca0e9cd6.js} +2 -2
  292. package/dist/atomic/{p-97ce3384.entry.js → p-ca8dd828.entry.js} +2 -2
  293. package/dist/atomic/{p-6098b906.entry.js.map → p-ca8dd828.entry.js.map} +1 -1
  294. package/dist/atomic/{p-9c7dbbdf.js → p-cc2b2231.js} +1 -1
  295. package/dist/atomic/p-cc2b2231.js.map +1 -0
  296. package/dist/atomic/{p-20cbcfb9.js → p-d365883e.js} +2 -2
  297. package/dist/atomic/{p-2c6f895f.js → p-d4cbd9b1.js} +2 -2
  298. package/dist/atomic/p-d9e60e2b.entry.js +2 -0
  299. package/dist/atomic/{p-fdcd187d.entry.js.map → p-d9e60e2b.entry.js.map} +1 -1
  300. package/dist/atomic/p-da96bb4b.entry.js +2 -0
  301. package/dist/atomic/{p-740cd5bc.entry.js.map → p-da96bb4b.entry.js.map} +1 -1
  302. package/dist/atomic/{p-97748161.js → p-dc28ee14.js} +1 -1
  303. package/dist/{esm/sections-d787040b.js.map → atomic/p-dc28ee14.js.map} +1 -1
  304. package/dist/atomic/{p-367ec37d.entry.js → p-dd604349.entry.js} +2 -2
  305. package/dist/atomic/{p-97538903.entry.js.map → p-dd604349.entry.js.map} +1 -1
  306. package/dist/atomic/{p-c280cd05.js → p-e1cc5150.js} +1 -1
  307. package/dist/atomic/{p-7c3c5f07.entry.js → p-e235d7fd.entry.js} +2 -2
  308. package/dist/atomic/{p-30c09377.entry.js.map → p-e235d7fd.entry.js.map} +1 -1
  309. package/dist/atomic/p-e5147a1b.entry.js +2 -0
  310. package/dist/atomic/{p-345c425d.entry.js.map → p-e5147a1b.entry.js.map} +1 -1
  311. package/dist/atomic/{p-27b8404c.js → p-e62fc40e.js} +2 -2
  312. package/dist/atomic/p-e62fc40e.js.map +1 -0
  313. package/dist/atomic/p-e6df0308.entry.js +2 -0
  314. package/dist/atomic/{p-0f39889d.entry.js.map → p-e6df0308.entry.js.map} +1 -1
  315. package/dist/atomic/{p-d1795580.entry.js → p-e7a25b00.entry.js} +2 -2
  316. package/dist/atomic/p-e7b6e3cd.entry.js +2 -0
  317. package/dist/atomic/{p-6289adc7.entry.js.map → p-e7b6e3cd.entry.js.map} +1 -1
  318. package/dist/atomic/p-ebcc0702.entry.js +2 -0
  319. package/dist/atomic/{p-3857d6a3.entry.js.map → p-ebcc0702.entry.js.map} +1 -1
  320. package/dist/atomic/p-f216c09e.entry.js +2 -0
  321. package/dist/atomic/{p-4830b9bb.entry.js.map → p-f216c09e.entry.js.map} +1 -1
  322. package/dist/atomic/{p-93f1d551.entry.js → p-f3b3788c.entry.js} +2 -2
  323. package/dist/atomic/{p-dd35e7ad.entry.js → p-f696f3df.entry.js} +2 -2
  324. package/dist/atomic/p-f909d016.entry.js +2 -0
  325. package/dist/atomic/{p-cafa4083.entry.js.map → p-f909d016.entry.js.map} +1 -1
  326. package/dist/atomic/{p-edd4d5f7.js → p-ff96225e.js} +2 -2
  327. package/dist/cjs/_loader.cjs.js +1 -1
  328. package/dist/cjs/{analytics-config-115e4f90.js → analytics-config-36a2f31c.js} +2 -2
  329. package/dist/cjs/{analytics-config-115e4f90.js.map → analytics-config-36a2f31c.js.map} +1 -1
  330. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  331. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  332. package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -2
  333. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  334. package/dist/cjs/atomic-category-facet.cjs.entry.js +6 -7
  335. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  336. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  337. package/dist/cjs/atomic-color-facet.cjs.entry.js +5 -6
  338. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  339. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  340. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +3 -4
  341. package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
  342. package/dist/cjs/atomic-facet.cjs.entry.js +9 -10
  343. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  344. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  345. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +4 -5
  346. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  347. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  348. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  350. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -5
  351. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  352. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -3
  353. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  354. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  355. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +3 -4
  356. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
  357. package/dist/cjs/atomic-insight-facet.cjs.entry.js +8 -9
  358. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  359. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +4 -5
  360. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  361. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +3 -4
  362. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  363. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -3
  364. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  365. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +4 -5
  366. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  367. package/dist/cjs/atomic-insight-interface.cjs.entry.js +3 -3
  368. package/dist/cjs/atomic-insight-layout.cjs.entry.js +2 -2
  369. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  370. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +6 -7
  371. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  372. package/dist/cjs/atomic-insight-pager.cjs.entry.js +5 -6
  373. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  374. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +3 -4
  375. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  376. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -5
  377. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  378. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +3 -4
  379. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  380. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -3
  381. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  382. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -3
  383. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  384. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  385. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +2 -2
  386. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +4 -6
  387. package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
  388. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +4 -5
  389. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  390. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +3 -4
  391. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  392. package/dist/cjs/atomic-insight-result-template.cjs.entry.js +2 -2
  393. package/dist/cjs/atomic-insight-result.cjs.entry.js +3 -3
  394. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +4 -5
  395. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  396. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  397. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  398. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -3
  399. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  400. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -4
  401. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
  402. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -2
  403. package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
  404. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  405. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -5
  406. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  407. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -2
  408. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  409. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +2 -3
  410. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  411. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +4 -5
  412. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  413. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  414. package/dist/cjs/atomic-ipx-button.cjs.entry.js +3 -4
  415. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  416. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  417. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  418. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +7 -9
  419. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  420. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +3 -4
  421. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  422. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +3 -4
  423. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  424. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  425. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
  426. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  427. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  428. package/dist/cjs/{sections-4b4af2f8.js → atomic-layout-section-utils-08b4fbcd.js} +1 -1
  429. package/dist/cjs/atomic-layout-section-utils-08b4fbcd.js.map +1 -0
  430. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -3
  431. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  432. package/dist/cjs/atomic-no-results.cjs.entry.js +2 -3
  433. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  434. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -7
  435. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  436. package/dist/cjs/atomic-popover.cjs.entry.js +1 -2
  437. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  438. package/dist/cjs/atomic-query-error.cjs.entry.js +3 -4
  439. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  440. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +25 -26
  441. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  442. package/dist/cjs/atomic-quickview.cjs.entry.js +2 -3
  443. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  444. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -5
  445. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  446. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  447. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  448. package/dist/cjs/atomic-recs-error.cjs.entry.js +3 -4
  449. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  450. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  451. package/dist/cjs/atomic-recs-list.cjs.entry.js +7 -9
  452. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  453. package/dist/cjs/atomic-recs-result-template.cjs.entry.js +2 -2
  454. package/dist/cjs/atomic-recs-result.cjs.entry.js +2 -2
  455. package/dist/cjs/atomic-refine-modal.cjs.entry.js +6 -7
  456. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  457. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -3
  458. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  459. package/dist/cjs/atomic-result-children-template.cjs.entry.js +2 -2
  460. package/dist/cjs/atomic-result-children.cjs.entry.js +4 -6
  461. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  462. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  463. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  464. package/dist/cjs/atomic-result-list.cjs.entry.js +4 -5
  465. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  466. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +5 -5
  467. package/dist/cjs/atomic-result-template.cjs.entry.js +2 -2
  468. package/dist/cjs/atomic-result.cjs.entry.js +2 -2
  469. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +76 -0
  470. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +1 -0
  471. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -6
  472. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  473. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -2
  474. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  475. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -2
  476. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  477. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  478. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  479. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  480. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  481. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -3
  482. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  483. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -4
  484. package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
  485. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  486. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  487. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +4 -5
  488. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
  489. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  490. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -3
  491. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  492. package/dist/cjs/atomic-tab-button.cjs.entry.js +2 -3
  493. package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
  494. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  495. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -5
  496. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  497. package/dist/cjs/atomic.cjs.js +1 -1
  498. package/dist/cjs/clock-7aeb19d0.js +7 -0
  499. package/dist/cjs/clock-7aeb19d0.js.map +1 -0
  500. package/dist/cjs/{display-options-14f05862.js → display-options-69531e8d.js} +4 -4
  501. package/dist/cjs/display-options-69531e8d.js.map +1 -0
  502. package/dist/cjs/{facet-placeholder-22074f05.js → facet-placeholder-21821057.js} +2 -2
  503. package/dist/cjs/{facet-placeholder-22074f05.js.map → facet-placeholder-21821057.js.map} +1 -1
  504. package/dist/cjs/{generated-answer-common-3c400311.js → generated-answer-common-4410c9e0.js} +2 -2
  505. package/dist/cjs/{generated-answer-common-3c400311.js.map → generated-answer-common-4410c9e0.js.map} +1 -1
  506. package/dist/cjs/index-757bc886.js +6 -14
  507. package/dist/cjs/{insight-layout-355a94dd.js → insight-layout-b6ff92fd.js} +11 -11
  508. package/dist/cjs/insight-layout-b6ff92fd.js.map +1 -0
  509. package/dist/cjs/{sections-fbb93b53.js → item-layout-sections-b09ba4b3.js} +1 -1
  510. package/dist/cjs/item-layout-sections-b09ba4b3.js.map +1 -0
  511. package/dist/cjs/{item-template-provider-470c1774.js → item-template-provider-e82736d7.js} +23 -1
  512. package/dist/cjs/item-template-provider-e82736d7.js.map +1 -0
  513. package/dist/cjs/{result-template-common-88359dad.js → result-template-common-84bd4057.js} +3 -3
  514. package/dist/cjs/result-template-common-84bd4057.js.map +1 -0
  515. package/dist/cjs/{show-hide-button-c4717f52.js → show-hide-button-2a630d6f.js} +4 -4
  516. package/dist/cjs/{show-hide-button-c4717f52.js.map → show-hide-button-2a630d6f.js.map} +1 -1
  517. package/dist/cjs/{smart-snippet-common-1fd0dad5.js → smart-snippet-common-524d635f.js} +3 -3
  518. package/dist/cjs/{smart-snippet-common-1fd0dad5.js.map → smart-snippet-common-524d635f.js.map} +1 -1
  519. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js → smart-snippet-feedback-modal-common-3b7e3c7e.js} +2 -2
  520. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js.map → smart-snippet-feedback-modal-common-3b7e3c7e.js.map} +1 -1
  521. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js → smart-snippet-suggestions-common-a6fb3bfd.js} +2 -2
  522. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js.map → smart-snippet-suggestions-common-a6fb3bfd.js.map} +1 -1
  523. package/dist/cjs/{stencil-button-94b89acc.js → stencil-button-a114783e.js} +48 -4
  524. package/dist/cjs/stencil-button-a114783e.js.map +1 -0
  525. package/dist/cjs/{stencil-carousel-a8df6f3c.js → stencil-carousel-254b4ea7.js} +2 -2
  526. package/dist/cjs/{stencil-carousel-a8df6f3c.js.map → stencil-carousel-254b4ea7.js.map} +1 -1
  527. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js → stencil-facet-search-matches-9e841241.js} +2 -2
  528. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js.map → stencil-facet-search-matches-9e841241.js.map} +1 -1
  529. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js → stencil-facet-show-more-less-04f33b99.js} +2 -2
  530. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js.map → stencil-facet-show-more-less-04f33b99.js.map} +1 -1
  531. package/dist/cjs/{stencil-facet-value-e67c9332.js → stencil-facet-value-507f7653.js} +4 -4
  532. package/dist/cjs/{stencil-facet-value-e67c9332.js.map → stencil-facet-value-507f7653.js.map} +1 -1
  533. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js → stencil-facet-value-box-e8b01b77.js} +2 -2
  534. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js.map → stencil-facet-value-box-e8b01b77.js.map} +1 -1
  535. package/dist/cjs/{stencil-facet-value-checkbox-62f07459.js → stencil-facet-value-checkbox-daaef38c.js} +2 -2
  536. package/dist/cjs/{stencil-facet-value-checkbox-62f07459.js.map → stencil-facet-value-checkbox-daaef38c.js.map} +1 -1
  537. package/dist/cjs/{stencil-facet-value-link-8a095034.js → stencil-facet-value-link-98e3fe34.js} +2 -2
  538. package/dist/cjs/{stencil-facet-value-link-8a095034.js.map → stencil-facet-value-link-98e3fe34.js.map} +1 -1
  539. package/dist/cjs/{stencil-iconButton-738b1548.js → stencil-iconButton-c8727a20.js} +2 -2
  540. package/dist/cjs/{stencil-iconButton-738b1548.js.map → stencil-iconButton-c8727a20.js.map} +1 -1
  541. package/dist/cjs/{stencil-link-9336b8c1.js → stencil-link-2e32315d.js} +2 -2
  542. package/dist/cjs/{stencil-link-9336b8c1.js.map → stencil-link-2e32315d.js.map} +1 -1
  543. package/dist/cjs/{stencil-modal-9035ea2a.js → stencil-modal-9a4a9927.js} +2 -2
  544. package/dist/cjs/{stencil-modal-9035ea2a.js.map → stencil-modal-9a4a9927.js.map} +1 -1
  545. package/dist/cjs/{stencil-radio-button-ea7e71d3.js → stencil-radio-button-cbcc483e.js} +4 -5
  546. package/dist/cjs/stencil-radio-button-cbcc483e.js.map +1 -0
  547. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js → stencil-suggestion-manager-3e1cf81e.js} +2 -2
  548. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js.map → stencil-suggestion-manager-3e1cf81e.js.map} +1 -1
  549. package/dist/cjs/{stencil-values-container-9f50ec1a.js → stencil-values-container-ead94950.js} +3 -3
  550. package/dist/cjs/{stencil-values-container-9f50ec1a.js.map → stencil-values-container-ead94950.js.map} +1 -1
  551. package/dist/cjs/{timeframe-facet-common-b5535cca.js → timeframe-facet-common-f7321195.js} +3 -3
  552. package/dist/cjs/{timeframe-facet-common-b5535cca.js.map → timeframe-facet-common-f7321195.js.map} +1 -1
  553. package/dist/cjs/version.cjs.js +1 -1
  554. package/dist/esm/_loader.js +1 -1
  555. package/dist/esm/{analytics-config-007c200a.js → analytics-config-3ff814d6.js} +2 -2
  556. package/dist/esm/{analytics-config-007c200a.js.map → analytics-config-3ff814d6.js.map} +1 -1
  557. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -4
  558. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  559. package/dist/esm/atomic-breadbox.entry.js +1 -2
  560. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  561. package/dist/esm/atomic-category-facet.entry.js +6 -7
  562. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  563. package/dist/esm/atomic-citation.entry.js +1 -1
  564. package/dist/esm/atomic-color-facet.entry.js +5 -6
  565. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  566. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  567. package/dist/esm/atomic-facet-number-input.entry.js +3 -4
  568. package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
  569. package/dist/esm/atomic-facet.entry.js +9 -10
  570. package/dist/esm/atomic-facet.entry.js.map +1 -1
  571. package/dist/esm/atomic-field-condition.entry.js +2 -2
  572. package/dist/esm/atomic-folded-result-list.entry.js +3 -4
  573. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  574. package/dist/esm/atomic-format-currency.entry.js +1 -1
  575. package/dist/esm/atomic-format-number.entry.js +1 -1
  576. package/dist/esm/atomic-format-unit.entry.js +1 -1
  577. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -5
  578. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  579. package/dist/esm/atomic-generated-answer.entry.js +2 -3
  580. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  581. package/dist/esm/atomic-html.entry.js +1 -1
  582. package/dist/esm/atomic-insight-edit-toggle.entry.js +3 -4
  583. package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
  584. package/dist/esm/atomic-insight-facet.entry.js +8 -9
  585. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  586. package/dist/esm/atomic-insight-folded-result-list.entry.js +4 -5
  587. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  588. package/dist/esm/atomic-insight-full-search-button.entry.js +3 -4
  589. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  590. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -3
  591. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  592. package/dist/esm/atomic-insight-history-toggle.entry.js +4 -5
  593. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  594. package/dist/esm/atomic-insight-interface.entry.js +3 -3
  595. package/dist/esm/atomic-insight-layout.entry.js +2 -2
  596. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  597. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -7
  598. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  599. package/dist/esm/atomic-insight-pager.entry.js +5 -6
  600. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  601. package/dist/esm/atomic-insight-query-error.entry.js +3 -4
  602. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  603. package/dist/esm/atomic-insight-refine-modal.entry.js +4 -5
  604. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  605. package/dist/esm/atomic-insight-refine-toggle.entry.js +3 -4
  606. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  607. package/dist/esm/atomic-insight-result-action.entry.js +2 -3
  608. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  609. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -3
  610. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  611. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  612. package/dist/esm/atomic-insight-result-children-template.entry.js +2 -2
  613. package/dist/esm/atomic-insight-result-children.entry.js +4 -6
  614. package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
  615. package/dist/esm/atomic-insight-result-list.entry.js +4 -5
  616. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  617. package/dist/esm/atomic-insight-result-quickview-action.entry.js +3 -4
  618. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  619. package/dist/esm/atomic-insight-result-template.entry.js +2 -2
  620. package/dist/esm/atomic-insight-result.entry.js +3 -3
  621. package/dist/esm/atomic-insight-search-box.entry.js +4 -5
  622. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  623. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +4 -5
  624. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
  625. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -3
  626. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  627. package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -4
  628. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
  629. package/dist/esm/atomic-insight-tab.entry.js +1 -2
  630. package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
  631. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  632. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -5
  633. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  634. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -2
  635. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  636. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +2 -3
  637. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  638. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +4 -5
  639. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  640. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  641. package/dist/esm/atomic-ipx-button.entry.js +3 -4
  642. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  643. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  644. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  645. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -8
  646. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  647. package/dist/esm/atomic-ipx-refine-modal.entry.js +3 -4
  648. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  649. package/dist/esm/atomic-ipx-refine-toggle.entry.js +3 -4
  650. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  651. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  652. package/dist/esm/atomic-ipx-tab.entry.js +1 -2
  653. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  654. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  655. package/dist/{atomic/components/sections.js → esm/atomic-layout-section-utils-c8ca7445.js} +1 -1
  656. package/dist/esm/atomic-layout-section-utils-c8ca7445.js.map +1 -0
  657. package/dist/esm/atomic-load-more-results.entry.js +2 -3
  658. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  659. package/dist/esm/atomic-no-results.entry.js +2 -3
  660. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  661. package/dist/esm/atomic-numeric-facet.entry.js +6 -7
  662. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  663. package/dist/esm/atomic-popover.entry.js +1 -2
  664. package/dist/esm/atomic-popover.entry.js.map +1 -1
  665. package/dist/esm/atomic-query-error.entry.js +3 -4
  666. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  667. package/dist/esm/atomic-quickview-modal.entry.js +25 -26
  668. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  669. package/dist/esm/atomic-quickview.entry.js +2 -3
  670. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  671. package/dist/esm/atomic-rating-facet.entry.js +4 -5
  672. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  673. package/dist/esm/atomic-rating-range-facet.entry.js +3 -4
  674. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  675. package/dist/esm/atomic-recs-error.entry.js +3 -4
  676. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  677. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  678. package/dist/esm/atomic-recs-list.entry.js +6 -8
  679. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  680. package/dist/esm/atomic-recs-result-template.entry.js +2 -2
  681. package/dist/esm/atomic-recs-result.entry.js +2 -2
  682. package/dist/esm/atomic-refine-modal.entry.js +4 -5
  683. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  684. package/dist/esm/atomic-refine-toggle.entry.js +2 -3
  685. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  686. package/dist/esm/atomic-result-children-template.entry.js +2 -2
  687. package/dist/esm/atomic-result-children.entry.js +4 -6
  688. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  689. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  690. package/dist/esm/atomic-result-link.entry.js +1 -1
  691. package/dist/esm/atomic-result-list.entry.js +4 -5
  692. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  693. package/dist/esm/atomic-result-placeholder_8.entry.js +5 -5
  694. package/dist/esm/atomic-result-template.entry.js +2 -2
  695. package/dist/esm/atomic-result.entry.js +2 -2
  696. package/dist/esm/atomic-search-box-query-suggestions.entry.js +72 -0
  697. package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +1 -0
  698. package/dist/esm/atomic-search-box.entry.js +5 -6
  699. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  700. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -2
  701. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  702. package/dist/esm/atomic-segmented-facet.entry.js +1 -2
  703. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  704. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  705. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  706. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -5
  707. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
  708. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -3
  709. package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
  710. package/dist/esm/atomic-smart-snippet.entry.js +3 -4
  711. package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
  712. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  713. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  714. package/dist/esm/atomic-stencil-facet-date-input.entry.js +4 -5
  715. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
  716. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  717. package/dist/esm/atomic-tab-bar_2.entry.js +2 -3
  718. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  719. package/dist/esm/atomic-tab-button.entry.js +2 -3
  720. package/dist/esm/atomic-tab-button.entry.js.map +1 -1
  721. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  722. package/dist/esm/atomic-timeframe-facet.entry.js +4 -5
  723. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  724. package/dist/esm/atomic.js +1 -1
  725. package/dist/esm/clock-b1f5d7f7.js +5 -0
  726. package/dist/esm/clock-b1f5d7f7.js.map +1 -0
  727. package/dist/esm/{display-options-c16840c6.js → display-options-1199eed5.js} +2 -2
  728. package/dist/esm/display-options-1199eed5.js.map +1 -0
  729. package/dist/esm/{facet-placeholder-4959a92a.js → facet-placeholder-cf7007ee.js} +2 -2
  730. package/dist/esm/{facet-placeholder-4959a92a.js.map → facet-placeholder-cf7007ee.js.map} +1 -1
  731. package/dist/esm/{generated-answer-common-9d0c5ada.js → generated-answer-common-7a072444.js} +2 -2
  732. package/dist/esm/{generated-answer-common-9d0c5ada.js.map → generated-answer-common-7a072444.js.map} +1 -1
  733. package/dist/esm/index-3f35faca.js +6 -14
  734. package/dist/esm/{insight-layout-776b87f2.js → insight-layout-a1e4b795.js} +2 -2
  735. package/dist/esm/insight-layout-a1e4b795.js.map +1 -0
  736. package/dist/esm/{sections-d787040b.js → item-layout-sections-8afb5049.js} +1 -1
  737. package/dist/esm/item-layout-sections-8afb5049.js.map +1 -0
  738. package/dist/esm/{item-template-provider-35bf0685.js → item-template-provider-6e736120.js} +22 -2
  739. package/dist/esm/item-template-provider-6e736120.js.map +1 -0
  740. package/dist/esm/{result-template-common-ac9fecab.js → result-template-common-995b94f8.js} +2 -2
  741. package/dist/esm/result-template-common-995b94f8.js.map +1 -0
  742. package/dist/esm/{show-hide-button-35eb419d.js → show-hide-button-706d82d9.js} +3 -3
  743. package/dist/esm/{show-hide-button-35eb419d.js.map → show-hide-button-706d82d9.js.map} +1 -1
  744. package/dist/esm/{smart-snippet-common-5ed4bdfa.js → smart-snippet-common-01b7411b.js} +3 -3
  745. package/dist/esm/{smart-snippet-common-5ed4bdfa.js.map → smart-snippet-common-01b7411b.js.map} +1 -1
  746. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js → smart-snippet-feedback-modal-common-50d66179.js} +2 -2
  747. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js.map → smart-snippet-feedback-modal-common-50d66179.js.map} +1 -1
  748. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js → smart-snippet-suggestions-common-54b6498b.js} +2 -2
  749. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js.map → smart-snippet-suggestions-common-54b6498b.js.map} +1 -1
  750. package/dist/esm/{stencil-button-1a29a5df.js → stencil-button-5f84efcc.js} +45 -3
  751. package/dist/esm/stencil-button-5f84efcc.js.map +1 -0
  752. package/dist/esm/{stencil-carousel-e1f25f7c.js → stencil-carousel-4264cd9b.js} +2 -2
  753. package/dist/esm/{stencil-carousel-e1f25f7c.js.map → stencil-carousel-4264cd9b.js.map} +1 -1
  754. package/dist/esm/{stencil-facet-search-matches-872d94d2.js → stencil-facet-search-matches-7299e897.js} +2 -2
  755. package/dist/esm/{stencil-facet-search-matches-872d94d2.js.map → stencil-facet-search-matches-7299e897.js.map} +1 -1
  756. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js → stencil-facet-show-more-less-202207c3.js} +2 -2
  757. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js.map → stencil-facet-show-more-less-202207c3.js.map} +1 -1
  758. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js → stencil-facet-value-box-85126921.js} +2 -2
  759. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js.map → stencil-facet-value-box-85126921.js.map} +1 -1
  760. package/dist/esm/{stencil-facet-value-30dc9b6c.js → stencil-facet-value-c4509dd2.js} +4 -4
  761. package/dist/esm/{stencil-facet-value-30dc9b6c.js.map → stencil-facet-value-c4509dd2.js.map} +1 -1
  762. package/dist/esm/{stencil-facet-value-checkbox-0637f7f8.js → stencil-facet-value-checkbox-053e00d6.js} +2 -2
  763. package/dist/esm/{stencil-facet-value-checkbox-0637f7f8.js.map → stencil-facet-value-checkbox-053e00d6.js.map} +1 -1
  764. package/dist/esm/{stencil-facet-value-link-88512e29.js → stencil-facet-value-link-41281838.js} +2 -2
  765. package/dist/esm/{stencil-facet-value-link-88512e29.js.map → stencil-facet-value-link-41281838.js.map} +1 -1
  766. package/dist/esm/{stencil-iconButton-ba40899c.js → stencil-iconButton-ff8c8cf7.js} +2 -2
  767. package/dist/esm/{stencil-iconButton-ba40899c.js.map → stencil-iconButton-ff8c8cf7.js.map} +1 -1
  768. package/dist/esm/{stencil-link-b676e261.js → stencil-link-feb82bc0.js} +2 -2
  769. package/dist/esm/{stencil-link-b676e261.js.map → stencil-link-feb82bc0.js.map} +1 -1
  770. package/dist/esm/{stencil-modal-467f7f33.js → stencil-modal-ec1562dc.js} +2 -2
  771. package/dist/esm/{stencil-modal-467f7f33.js.map → stencil-modal-ec1562dc.js.map} +1 -1
  772. package/dist/esm/{stencil-radio-button-cae5f40a.js → stencil-radio-button-4b36e45d.js} +2 -3
  773. package/dist/esm/stencil-radio-button-4b36e45d.js.map +1 -0
  774. package/dist/esm/{stencil-suggestion-manager-376f83e8.js → stencil-suggestion-manager-95694bcb.js} +2 -2
  775. package/dist/esm/{stencil-suggestion-manager-376f83e8.js.map → stencil-suggestion-manager-95694bcb.js.map} +1 -1
  776. package/dist/esm/{stencil-values-container-55a7e816.js → stencil-values-container-7e1b4094.js} +3 -3
  777. package/dist/esm/{stencil-values-container-55a7e816.js.map → stencil-values-container-7e1b4094.js.map} +1 -1
  778. package/dist/esm/{timeframe-facet-common-eb1016d2.js → timeframe-facet-common-f4a20f8b.js} +3 -3
  779. package/dist/esm/{timeframe-facet-common-eb1016d2.js.map → timeframe-facet-common-f4a20f8b.js.map} +1 -1
  780. package/dist/esm/version.js +1 -1
  781. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +2 -3
  782. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +1 -1
  783. package/dist/types/components/common/facets/facet-search/facet-search-input-guard.d.ts +1 -1
  784. package/dist/types/components/common/no-items/guard.d.ts +1 -1
  785. package/dist/types/components/common/refine-modal/guard.d.ts +1 -1
  786. package/dist/types/components/common/sort/sort-guard.d.ts +1 -1
  787. package/dist/types/components/common/validate-props-controller/validate-props-controller.d.ts +32 -0
  788. package/dist/types/components/search/atomic-relevance-inspector/atomic-relevance-inspector.d.ts +18 -8
  789. 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
  790. package/dist/types/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +45 -0
  791. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +6 -3
  792. package/dist/types/components/search/index.d.ts +3 -0
  793. package/dist/types/components.d.ts +0 -174
  794. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  795. package/dist/types/utils/compare-utils.d.ts +9 -0
  796. package/docs/atomic-docs.json +12 -422
  797. package/package.json +2 -2
  798. package/dist/atomic/components/atomic-relevance-inspector.d.ts +0 -11
  799. package/dist/atomic/components/atomic-relevance-inspector.js +0 -53
  800. package/dist/atomic/components/atomic-relevance-inspector.js.map +0 -1
  801. package/dist/atomic/components/atomic-search-box-instant-results.d.ts +0 -11
  802. package/dist/atomic/components/atomic-search-box-instant-results.js.map +0 -1
  803. package/dist/atomic/components/atomic-search-box-recent-queries.d.ts +0 -11
  804. package/dist/atomic/components/atomic-search-box-recent-queries.js +0 -8
  805. package/dist/atomic/components/atomic-search-box-recent-queries.js.map +0 -1
  806. package/dist/atomic/components/atomic-search-box-recent-queries2.js +0 -183
  807. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +0 -1
  808. package/dist/atomic/components/sections.js.map +0 -1
  809. package/dist/atomic/components/sections2.js.map +0 -1
  810. package/dist/atomic/components/stencil-button-style.js +0 -46
  811. package/dist/atomic/components/stencil-button-style.js.map +0 -1
  812. package/dist/atomic/components/stencil-placeholders.js +0 -24
  813. package/dist/atomic/components/stencil-placeholders.js.map +0 -1
  814. package/dist/atomic/components/suggestions-events.js +0 -40
  815. package/dist/atomic/components/suggestions-events.js.map +0 -1
  816. package/dist/atomic/p-0edea6f9.entry.js +0 -2
  817. package/dist/atomic/p-10b5e0f3.entry.js +0 -2
  818. package/dist/atomic/p-13391e75.entry.js +0 -2
  819. package/dist/atomic/p-1435fb6f.entry.js +0 -2
  820. package/dist/atomic/p-1db20a4a.entry.js +0 -2
  821. package/dist/atomic/p-21ab6f55.js +0 -2
  822. package/dist/atomic/p-21ab6f55.js.map +0 -1
  823. package/dist/atomic/p-24fd7df6.entry.js +0 -2
  824. package/dist/atomic/p-250f34d4.entry.js +0 -2
  825. package/dist/atomic/p-27b8404c.js.map +0 -1
  826. package/dist/atomic/p-2caa1859.js.map +0 -1
  827. package/dist/atomic/p-345c425d.entry.js +0 -2
  828. package/dist/atomic/p-3857d6a3.entry.js +0 -2
  829. package/dist/atomic/p-3a01a398.entry.js +0 -2
  830. package/dist/atomic/p-3a7a1a00.entry.js +0 -2
  831. package/dist/atomic/p-3e9db2b5.entry.js +0 -2
  832. package/dist/atomic/p-406a288c.entry.js +0 -2
  833. package/dist/atomic/p-4601eb93.entry.js +0 -2
  834. package/dist/atomic/p-4723ffa5.entry.js +0 -2
  835. package/dist/atomic/p-47ab6c9f.entry.js +0 -2
  836. package/dist/atomic/p-4830b9bb.entry.js +0 -2
  837. package/dist/atomic/p-4bdc6d5a.entry.js +0 -2
  838. package/dist/atomic/p-5606819d.entry.js +0 -2
  839. package/dist/atomic/p-59b15bd6.entry.js +0 -2
  840. package/dist/atomic/p-59f043a0.entry.js +0 -2
  841. package/dist/atomic/p-5f706e3d.entry.js +0 -2
  842. package/dist/atomic/p-6098b906.entry.js +0 -2
  843. package/dist/atomic/p-740cd5bc.entry.js +0 -2
  844. package/dist/atomic/p-7709fba4.js.map +0 -1
  845. package/dist/atomic/p-7c3c5f07.entry.js.map +0 -1
  846. package/dist/atomic/p-7e9a1a1a.entry.js +0 -2
  847. package/dist/atomic/p-7ec6dd3e.entry.js +0 -2
  848. package/dist/atomic/p-82398f4a.js +0 -2
  849. package/dist/atomic/p-88af4470.entry.js +0 -2
  850. package/dist/atomic/p-89d8bb0d.entry.js +0 -2
  851. package/dist/atomic/p-8e5e00b4.js +0 -2
  852. package/dist/atomic/p-8e5e00b4.js.map +0 -1
  853. package/dist/atomic/p-93601dc0.entry.js +0 -2
  854. package/dist/atomic/p-97538903.entry.js +0 -2
  855. package/dist/atomic/p-97748161.js.map +0 -1
  856. package/dist/atomic/p-97829295.entry.js +0 -2
  857. package/dist/atomic/p-998393ec.entry.js +0 -2
  858. package/dist/atomic/p-9b2561e8.entry.js +0 -2
  859. package/dist/atomic/p-9c7dbbdf.js.map +0 -1
  860. package/dist/atomic/p-9faad55b.entry.js +0 -2
  861. package/dist/atomic/p-a130b00b.entry.js +0 -2
  862. package/dist/atomic/p-a1522fe5.entry.js +0 -2
  863. package/dist/atomic/p-b320f270.entry.js +0 -2
  864. package/dist/atomic/p-b6415814.entry.js +0 -2
  865. package/dist/atomic/p-b93ccff9.js +0 -2
  866. package/dist/atomic/p-b93ccff9.js.map +0 -1
  867. package/dist/atomic/p-bd3542d2.entry.js.map +0 -1
  868. package/dist/atomic/p-c2b4b401.entry.js +0 -2
  869. package/dist/atomic/p-cafa4083.entry.js +0 -2
  870. package/dist/atomic/p-cb3fd0f4.entry.js +0 -2
  871. package/dist/atomic/p-cdeb5f2a.entry.js +0 -2
  872. package/dist/atomic/p-ce5b896e.entry.js +0 -2
  873. package/dist/atomic/p-cef8175c.js +0 -2
  874. package/dist/atomic/p-cef8175c.js.map +0 -1
  875. package/dist/atomic/p-dbc0ce5c.entry.js +0 -2
  876. package/dist/atomic/p-de687bed.entry.js +0 -2
  877. package/dist/atomic/p-de687bed.entry.js.map +0 -1
  878. package/dist/atomic/p-df4397ab.entry.js +0 -2
  879. package/dist/atomic/p-df4397ab.entry.js.map +0 -1
  880. package/dist/atomic/p-ee957926.entry.js +0 -2
  881. package/dist/atomic/p-f76b7ac3.entry.js +0 -2
  882. package/dist/atomic/p-f936f55e.entry.js +0 -2
  883. package/dist/atomic/p-f9dd14b2.entry.js +0 -2
  884. package/dist/atomic/p-fa658ef2.entry.js +0 -2
  885. package/dist/atomic/p-fb1a1e2e.entry.js +0 -2
  886. package/dist/atomic/p-fb1a1e2e.entry.js.map +0 -1
  887. package/dist/atomic/p-fdcd187d.entry.js +0 -2
  888. package/dist/atomic/p-fdd0aa42.entry.js +0 -2
  889. package/dist/atomic/p-fe59fb2d.entry.js +0 -2
  890. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +0 -38
  891. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +0 -1
  892. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +0 -186
  893. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +0 -1
  894. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +0 -234
  895. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +0 -1
  896. package/dist/cjs/clock-f03ff827.js +0 -7
  897. package/dist/cjs/clock-f03ff827.js.map +0 -1
  898. package/dist/cjs/display-options-14f05862.js.map +0 -1
  899. package/dist/cjs/insight-layout-355a94dd.js.map +0 -1
  900. package/dist/cjs/item-template-provider-470c1774.js.map +0 -1
  901. package/dist/cjs/result-template-common-88359dad.js.map +0 -1
  902. package/dist/cjs/sections-4b4af2f8.js.map +0 -1
  903. package/dist/cjs/sections-fbb93b53.js.map +0 -1
  904. package/dist/cjs/stencil-button-94b89acc.js.map +0 -1
  905. package/dist/cjs/stencil-button-style-ba779fe2.js +0 -49
  906. package/dist/cjs/stencil-button-style-ba779fe2.js.map +0 -1
  907. package/dist/cjs/stencil-placeholders-b8c896fa.js +0 -27
  908. package/dist/cjs/stencil-placeholders-b8c896fa.js.map +0 -1
  909. package/dist/cjs/stencil-radio-button-ea7e71d3.js.map +0 -1
  910. package/dist/esm/atomic-relevance-inspector.entry.js +0 -34
  911. package/dist/esm/atomic-relevance-inspector.entry.js.map +0 -1
  912. package/dist/esm/atomic-search-box-instant-results.entry.js +0 -182
  913. package/dist/esm/atomic-search-box-instant-results.entry.js.map +0 -1
  914. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +0 -229
  915. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +0 -1
  916. package/dist/esm/clock-add3e9a5.js +0 -5
  917. package/dist/esm/clock-add3e9a5.js.map +0 -1
  918. package/dist/esm/display-options-c16840c6.js.map +0 -1
  919. package/dist/esm/insight-layout-776b87f2.js.map +0 -1
  920. package/dist/esm/item-template-provider-35bf0685.js.map +0 -1
  921. package/dist/esm/result-template-common-ac9fecab.js.map +0 -1
  922. package/dist/esm/sections-ae00b53a.js.map +0 -1
  923. package/dist/esm/stencil-button-1a29a5df.js.map +0 -1
  924. package/dist/esm/stencil-button-style-0bc80040.js +0 -46
  925. package/dist/esm/stencil-button-style-0bc80040.js.map +0 -1
  926. package/dist/esm/stencil-placeholders-58a0c818.js +0 -24
  927. package/dist/esm/stencil-placeholders-58a0c818.js.map +0 -1
  928. package/dist/esm/stencil-radio-button-cae5f40a.js.map +0 -1
  929. package/dist/types/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +0 -37
  930. /package/dist/atomic/components/components/common/atomic-layout-section/{sections.js → atomic-layout-section-utils.js} +0 -0
  931. /package/dist/atomic/{p-3cbab25b.entry.js.map → p-03e57267.entry.js.map} +0 -0
  932. /package/dist/atomic/{p-3c9289b5.js.map → p-04ebb7ba.js.map} +0 -0
  933. /package/dist/atomic/{p-0f449e9d.entry.js.map → p-091c589b.entry.js.map} +0 -0
  934. /package/dist/atomic/{p-5d0a3045.js.map → p-0ab0ceaa.js.map} +0 -0
  935. /package/dist/atomic/{p-60800b2f.entry.js.map → p-0ae232d5.entry.js.map} +0 -0
  936. /package/dist/atomic/{p-86bde026.entry.js.map → p-0baced30.entry.js.map} +0 -0
  937. /package/dist/atomic/{p-74862002.js.map → p-0e6f1e14.js.map} +0 -0
  938. /package/dist/atomic/{p-16f4ce98.js.map → p-0fb39501.js.map} +0 -0
  939. /package/dist/atomic/{p-d2e8a2d4.js.map → p-134b7370.js.map} +0 -0
  940. /package/dist/atomic/{p-ef78082a.js.map → p-15580d9e.js.map} +0 -0
  941. /package/dist/atomic/{p-baff6c43.js.map → p-25660266.js.map} +0 -0
  942. /package/dist/atomic/{p-0edea6f9.entry.js.map → p-2e792916.entry.js.map} +0 -0
  943. /package/dist/atomic/{p-0110f06c.entry.js.map → p-2f258b2c.entry.js.map} +0 -0
  944. /package/dist/atomic/{p-20764605.entry.js.map → p-331ad989.entry.js.map} +0 -0
  945. /package/dist/atomic/{p-dbc09018.js.map → p-340130de.js.map} +0 -0
  946. /package/dist/atomic/{p-dbcef3a9.entry.js.map → p-349c1be8.entry.js.map} +0 -0
  947. /package/dist/atomic/{p-d6e04719.entry.js.map → p-373448df.entry.js.map} +0 -0
  948. /package/dist/atomic/{p-037eee11.js.map → p-3f0e7549.js.map} +0 -0
  949. /package/dist/atomic/{p-85145c88.entry.js.map → p-40c113f1.entry.js.map} +0 -0
  950. /package/dist/atomic/{p-16f6c1f3.entry.js.map → p-49e0400f.entry.js.map} +0 -0
  951. /package/dist/atomic/{p-f8b608ba.js.map → p-4bf14d26.js.map} +0 -0
  952. /package/dist/atomic/{p-475124d2.entry.js.map → p-501dbf28.entry.js.map} +0 -0
  953. /package/dist/atomic/{p-723f76a1.entry.js.map → p-568393c0.entry.js.map} +0 -0
  954. /package/dist/atomic/{p-2e4628bb.entry.js.map → p-5dcebd1d.entry.js.map} +0 -0
  955. /package/dist/atomic/{p-250f34d4.entry.js.map → p-62e85c20.entry.js.map} +0 -0
  956. /package/dist/atomic/{p-60498b8e.js.map → p-68013132.js.map} +0 -0
  957. /package/dist/atomic/{p-dd532d1b.entry.js.map → p-6e533608.entry.js.map} +0 -0
  958. /package/dist/atomic/{p-93da1f4e.entry.js.map → p-6f34dd3a.entry.js.map} +0 -0
  959. /package/dist/atomic/{p-0610b3e7.entry.js.map → p-76185607.entry.js.map} +0 -0
  960. /package/dist/atomic/{p-0c0b8d41.entry.js.map → p-768b172e.entry.js.map} +0 -0
  961. /package/dist/atomic/{p-5c73ebc4.js.map → p-76cf6545.js.map} +0 -0
  962. /package/dist/atomic/{p-a4d277c7.entry.js.map → p-7fd5b6ac.entry.js.map} +0 -0
  963. /package/dist/atomic/{p-a5714bc4.entry.js.map → p-85453a90.entry.js.map} +0 -0
  964. /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-8588e8d7.entry.js.map} +0 -0
  965. /package/dist/atomic/{p-f71b14b2.entry.js.map → p-9260dd7d.entry.js.map} +0 -0
  966. /package/dist/atomic/{p-00a6ab8c.entry.js.map → p-9359fd97.entry.js.map} +0 -0
  967. /package/dist/atomic/{p-04a5acdf.js.map → p-962cbae8.js.map} +0 -0
  968. /package/dist/atomic/{p-577d34ba.entry.js.map → p-9878ce63.entry.js.map} +0 -0
  969. /package/dist/atomic/{p-ed8e5c4d.entry.js.map → p-98dd6df1.entry.js.map} +0 -0
  970. /package/dist/atomic/{p-e398835b.entry.js.map → p-998533bd.entry.js.map} +0 -0
  971. /package/dist/atomic/{p-5ca21deb.js.map → p-9ce6063d.js.map} +0 -0
  972. /package/dist/atomic/{p-a428960a.js.map → p-9dcd5606.js.map} +0 -0
  973. /package/dist/atomic/{p-0b5efb51.entry.js.map → p-a1e5f767.entry.js.map} +0 -0
  974. /package/dist/atomic/{p-3622ed6c.js.map → p-a83c992f.js.map} +0 -0
  975. /package/dist/atomic/{p-c2b4b401.entry.js.map → p-aee3b2e7.entry.js.map} +0 -0
  976. /package/dist/atomic/{p-fe3cd55b.entry.js.map → p-b2897ed7.entry.js.map} +0 -0
  977. /package/dist/atomic/{p-36f63642.entry.js.map → p-bc0ca1fd.entry.js.map} +0 -0
  978. /package/dist/atomic/{p-a9383817.entry.js.map → p-c17c0209.entry.js.map} +0 -0
  979. /package/dist/atomic/{p-8a488991.js.map → p-ca0e9cd6.js.map} +0 -0
  980. /package/dist/atomic/{p-20cbcfb9.js.map → p-d365883e.js.map} +0 -0
  981. /package/dist/atomic/{p-2c6f895f.js.map → p-d4cbd9b1.js.map} +0 -0
  982. /package/dist/atomic/{p-c280cd05.js.map → p-e1cc5150.js.map} +0 -0
  983. /package/dist/atomic/{p-d1795580.entry.js.map → p-e7a25b00.entry.js.map} +0 -0
  984. /package/dist/atomic/{p-93f1d551.entry.js.map → p-f3b3788c.entry.js.map} +0 -0
  985. /package/dist/atomic/{p-dd35e7ad.entry.js.map → p-f696f3df.entry.js.map} +0 -0
  986. /package/dist/atomic/{p-edd4d5f7.js.map → p-ff96225e.js.map} +0 -0
  987. /package/dist/types/components/common/atomic-layout-section/{sections.d.ts → atomic-layout-section-utils.d.ts} +0 -0
  988. /package/dist/types/components/common/layout/{sections.d.ts → item-layout-sections.d.ts} +0 -0
@@ -1 +1 @@
1
- {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;;;;;;;;SAYgB,cAAc,CAAoB,OAAgB;IAChE,OAAO,WAAW,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD;;MCHa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAmB,EAAE,UAAkB;QACjD,KAAK,CACH,QAAQ,WAAW,sCAAsC,UAAU,YAAY,CAChF,CAAC;KACH;;;ACfH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;SAIpC,gBAAgB,CAAI,OAAgB,EAAE,UAAkB;IACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAC5B,oBAAoB,EACpB,CAAC,IAAO;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACjC,MAAM,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CACnE,CAAC;SACH;KACF,CAAC,CAAC;AACL;;ACoDA;;;;;;;;;;SAUgB,mBAAmB,CAAoB,OAAgB;IACrE,OAAO,gBAAgB,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD;;;;","names":[],"sources":["src/components/commerce/product-template-component-utils/stencil-product-template-decorators.tsx","src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/decorators/commerce/product-template-decorators.ts"],"sourcesContent":["import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '../../common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered \"atomic-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/decorators/commerce/product-template-decorators.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n","import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n","import type {InteractiveProduct, Product} from '@coveo/headless/commerce';\nimport type {LitElement} from 'lit';\nimport {\n InteractiveItemContextController,\n type InteractiveItemContextEvent,\n} from '@/src/components/common/item-list/context/interactive-item-context-controller';\nimport {\n ItemContextController,\n type ItemContextEvent,\n} from '@/src/components/common/item-list/context/item-context-controller';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing product context in product template components.\n *\n * @param host - The Lit component instance\n * @param options - Configuration options\n * @returns ItemContextController instance configured for atomic-product\n *\n * @example\n * ```typescript\n * @customElement('my-product-component')\n * export class MyProductComponent extends LitElement {\n * private productController = createProductContextController(this);\n *\n * @state() product!: Product;\n *\n * render() {\n * this.product = this.productController.item;\n * return html`<div>${this.product?.ec_name}</div>`;\n * }\n * }\n * ```\n */\nexport function createProductContextController(\n host: LitElement & {error: Error | null},\n options: {folded?: boolean} = {}\n): ItemContextController<Product> {\n return new ItemContextController<Product>(host, {\n parentName: 'atomic-product',\n folded: options.folded ?? false,\n });\n}\n\n/**\n * Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing interactive product context in product template components.\n *\n * @param host - The Lit component instance\n * @returns InteractiveItemContextController instance\n *\n * @example\n * ```typescript\n * @customElement('my-interactive-product-component')\n * export class MyInteractiveProductComponent extends LitElement {\n * private interactiveProductController = createInteractiveProductContextController(this);\n *\n * @state() product!: Product;\n *\n * render() {\n * this.product = this.interactiveProductController.interactiveItem;\n * return html`<div>${this.product?.ec_name}</div>`;\n * }\n * }\n * ```\n */\nexport function createInteractiveProductContextController(\n host: LitElement & {error: Error}\n): InteractiveItemContextController<InteractiveProduct> {\n return new InteractiveItemContextController<InteractiveProduct>(host);\n}\n\nexport type ProductContextEvent<T = Product> = ItemContextEvent<T>;\nexport type InteractiveProductContextEvent<\n T extends InteractiveProduct = InteractiveProduct,\n> = InteractiveItemContextEvent<T>;\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function in the [`connectedCallback` lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered `atomic-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n"],"version":3}
1
+ {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;;;;;;;;SAYgB,cAAc,CAAoB,OAAgB;IAChE,OAAO,WAAW,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD;;MCHa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAmB,EAAE,UAAkB;QACjD,KAAK,CACH,QAAQ,WAAW,sCAAsC,UAAU,YAAY,CAChF,CAAC;KACH;;;ACfH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;SAIpC,gBAAgB,CAAI,OAAgB,EAAE,UAAkB;IACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAC5B,oBAAoB,EACpB,CAAC,IAAO;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACjC,MAAM,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CACnE,CAAC;SACH;KACF,CAAC,CAAC;AACL;;ACoDA;;;;;;;;;;SAUgB,mBAAmB,CAAoB,OAAgB;IACrE,OAAO,gBAAgB,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD;;;;","names":[],"sources":["src/components/commerce/product-template-component-utils/stencil-product-template-decorators.tsx","src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/decorators/commerce/product-template-decorators.ts"],"sourcesContent":["import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '../../common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered \"atomic-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/decorators/commerce/product-template-decorators.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n","import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n","import type {InteractiveProduct, Product} from '@coveo/headless/commerce';\nimport type {LitElement} from 'lit';\nimport {\n InteractiveItemContextController,\n type InteractiveItemContextEvent,\n} from '@/src/components/common/item-list/context/interactive-item-context-controller';\nimport {\n ItemContextController,\n type ItemContextEvent,\n} from '@/src/components/common/item-list/context/item-context-controller';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing product context in product template components.\n *\n * @param host - The Lit component instance\n * @param options - Configuration options\n * @returns ItemContextController instance configured for atomic-product\n *\n * @example\n * ```typescript\n * @customElement('my-product-component')\n * export class MyProductComponent extends LitElement {\n * private productController = createProductContextController(this);\n *\n * @state() product!: Product;\n *\n * render() {\n * this.product = this.productController.item;\n * return html`<div>${this.product?.ec_name}</div>`;\n * }\n * }\n * ```\n */\nexport function createProductContextController(\n host: LitElement & {error: Error | null},\n options: {folded?: boolean} = {}\n): ItemContextController<Product> {\n return new ItemContextController<Product>(host, {\n parentName: 'atomic-product',\n folded: options.folded ?? false,\n });\n}\n\n/**\n * Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing interactive product context in product template components.\n *\n * @param host - The Lit component instance\n * @returns InteractiveItemContextController instance\n *\n * @example\n * ```typescript\n * @customElement('my-interactive-product-component')\n * export class MyInteractiveProductComponent extends LitElement {\n * private interactiveProductController = createInteractiveProductContextController(this);\n *\n * @state() product!: Product;\n *\n * render() {\n * this.product = this.interactiveProductController.interactiveItem;\n * return html`<div>${this.product?.ec_name}</div>`;\n * }\n * }\n * ```\n */\nexport function createInteractiveProductContextController(\n host: LitElement & {error: Error}\n): InteractiveItemContextController<InteractiveProduct> {\n return new InteractiveItemContextController<InteractiveProduct>(host);\n}\n\nexport type ProductContextEvent<T = Product> = ItemContextEvent<T>;\nexport type InteractiveProductContextEvent<\n T extends InteractiveProduct = InteractiveProduct,\n> = InteractiveItemContextEvent<T>;\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function in the [`connectedCallback` lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered `atomic-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { f as findSection, s as sectionSelector } from './sections.js';
1
+ import { f as findSection, s as sectionSelector } from './atomic-layout-section-utils.js';
2
2
 
3
3
  const tabsSelector = 'atomic-insight-tabs';
4
4
  const refineModalSelector = 'atomic-insight-refine-modal';
@@ -1 +1 @@
1
- {"file":"insight-layout.js","mappings":";;AAKA,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAC1D,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,eAAe,GAAG;IACtB,8BAA8B;IAC9B,4BAA4B;IAC5B,+BAA+B;CAChC,CAAC;AACF,MAAM,qBAAqB,GAAG;IAC5B,0CAA0C;IAC1C,8BAA8B;CAC/B,CAAC;AACF,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;SAElD,gBAAgB,CAAC,gBAAwB;IACvD,OAAO,+BAA+B,gBAAgB,GAAG,CAAC;AAC5D,CAAC;SAEe,kBAAkB,CAAC,OAAoB,EAAE,MAAe;IACtE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACtB,MAAM,cAAc,GAAG,yBAAyB,EAAE,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,OAAO,CACrB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAC5D,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM;UACzB;IACF,cAAc;;;;;;IAMd,cAAc,IAAI,mBAAmB;;IAErC;UACE,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC;;;;;;;;;;;QAWrC,CAAC,OAAO,GAAG,yBAAyB,GAAG,EAAE;;;MAG3C,eAAe,CAAC,QAAQ,CAAC,IAAI,iBAAiB;;;;;MAK9C,eAAe,CAAC,GAAG,CACnB,CAAC,cAAc,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,cAAc;;MAElE,CACD;;MAEC,eAAe,CAAC,QAAQ,CAAC,IAAI,YAAY;;;KAG1C,CAAC;IAEJ,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC;;;KAGxC,CAAC;IAEJ,MAAM,OAAO,GAAG;MACZ,eAAe,CAAC,SAAS,CAAC;;;;MAI1B,eAAe,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;;;;MAI7D,eAAe,CAAC,SAAS,CAAC,IAAI,uBAAuB;;;;KAItD,CAAC;IAEJ,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;SAC7C,MAAM,CAAC,CAAC,WAAW,KAAK,WAAW,KAAK,EAAE,CAAC;SAC3C,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB;;;;","names":[],"sources":["src/components/insight/atomic-insight-layout/insight-layout.ts"],"sourcesContent":["import {\n findSection,\n sectionSelector,\n} from '../../common/atomic-layout-section/sections';\n\nconst tabsSelector = 'atomic-insight-tabs';\nconst refineModalSelector = 'atomic-insight-refine-modal';\nconst searchBoxSelector = 'atomic-insight-search-box';\nconst toggleSelectors = [\n 'atomic-insight-refine-toggle',\n 'atomic-insight-edit-toggle',\n 'atomic-insight-history-toggle',\n];\nconst smartSnippetSelectors = [\n 'atomic-insight-smart-snippet-suggestions',\n 'atomic-insight-smart-snippet',\n];\nconst generatedAnswerSelector = 'atomic-insight-generated-answer';\n\nexport function makeDesktopQuery(mobileBreakpoint: string) {\n return `only screen and (min-width: ${mobileBreakpoint})`;\n}\n\nexport function buildInsightLayout(element: HTMLElement, widget: boolean) {\n const id = element.id;\n const layoutSelector = `atomic-insight-layout#${id}`;\n\n const hasTabs = Boolean(\n findSection(element, 'search')?.querySelector(tabsSelector)\n );\n\n const interfaceStyle = widget\n ? `\n ${layoutSelector} {\n display: grid;\n grid-template-rows: auto auto 8fr 1fr;\n max-height: 100%;\n box-sizing: border-box;\n }\n ${layoutSelector} ${refineModalSelector} {\n grid-row-start: 5;\n }`\n : '';\n\n const search = `${sectionSelector('search')} {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n grid-gap: 0.5rem;\n background: var(--atomic-neutral-light);\n padding-top: 1.5rem;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n box-sizing: border-box;\n min-width: 0;\n ${!hasTabs ? 'padding-bottom: 1.5rem;' : ''}\n }\n\n ${sectionSelector('search')} ${searchBoxSelector} {\n flex-grow: 1;\n height: 2.6rem;\n }\n\n ${toggleSelectors.map(\n (toggleSelector) => `${sectionSelector('search')} ${toggleSelector} {\n flex-shrink: 0;\n }`\n )}\n\n ${sectionSelector('search')} ${tabsSelector} {\n width: 100%;\n }\n `;\n\n const facets = `${sectionSelector('facets')} {\n display: none;\n }\n `;\n\n const results = `\n ${sectionSelector('results')} {\n overflow: auto;\n }\n\n ${sectionSelector('results')} ${smartSnippetSelectors.join(',')} {\n padding: 1.5rem 1.5rem 0px;\n }\n\n ${sectionSelector('results')} ${generatedAnswerSelector} {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n }\n `;\n\n return [interfaceStyle, search, facets, results]\n .filter((declaration) => declaration !== '')\n .join('\\n\\n');\n}\n"],"version":3}
1
+ {"file":"insight-layout.js","mappings":";;AAKA,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAC1D,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,eAAe,GAAG;IACtB,8BAA8B;IAC9B,4BAA4B;IAC5B,+BAA+B;CAChC,CAAC;AACF,MAAM,qBAAqB,GAAG;IAC5B,0CAA0C;IAC1C,8BAA8B;CAC/B,CAAC;AACF,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;SAElD,gBAAgB,CAAC,gBAAwB;IACvD,OAAO,+BAA+B,gBAAgB,GAAG,CAAC;AAC5D,CAAC;SAEe,kBAAkB,CAAC,OAAoB,EAAE,MAAe;IACtE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACtB,MAAM,cAAc,GAAG,yBAAyB,EAAE,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,OAAO,CACrB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAC5D,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM;UACzB;IACF,cAAc;;;;;;IAMd,cAAc,IAAI,mBAAmB;;IAErC;UACE,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC;;;;;;;;;;;QAWrC,CAAC,OAAO,GAAG,yBAAyB,GAAG,EAAE;;;MAG3C,eAAe,CAAC,QAAQ,CAAC,IAAI,iBAAiB;;;;;MAK9C,eAAe,CAAC,GAAG,CACnB,CAAC,cAAc,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,cAAc;;MAElE,CACD;;MAEC,eAAe,CAAC,QAAQ,CAAC,IAAI,YAAY;;;KAG1C,CAAC;IAEJ,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC;;;KAGxC,CAAC;IAEJ,MAAM,OAAO,GAAG;MACZ,eAAe,CAAC,SAAS,CAAC;;;;MAI1B,eAAe,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;;;;MAI7D,eAAe,CAAC,SAAS,CAAC,IAAI,uBAAuB;;;;KAItD,CAAC;IAEJ,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;SAC7C,MAAM,CAAC,CAAC,WAAW,KAAK,WAAW,KAAK,EAAE,CAAC;SAC3C,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB;;;;","names":[],"sources":["src/components/insight/atomic-insight-layout/insight-layout.ts"],"sourcesContent":["import {\n findSection,\n sectionSelector,\n} from '../../common/atomic-layout-section/atomic-layout-section-utils';\n\nconst tabsSelector = 'atomic-insight-tabs';\nconst refineModalSelector = 'atomic-insight-refine-modal';\nconst searchBoxSelector = 'atomic-insight-search-box';\nconst toggleSelectors = [\n 'atomic-insight-refine-toggle',\n 'atomic-insight-edit-toggle',\n 'atomic-insight-history-toggle',\n];\nconst smartSnippetSelectors = [\n 'atomic-insight-smart-snippet-suggestions',\n 'atomic-insight-smart-snippet',\n];\nconst generatedAnswerSelector = 'atomic-insight-generated-answer';\n\nexport function makeDesktopQuery(mobileBreakpoint: string) {\n return `only screen and (min-width: ${mobileBreakpoint})`;\n}\n\nexport function buildInsightLayout(element: HTMLElement, widget: boolean) {\n const id = element.id;\n const layoutSelector = `atomic-insight-layout#${id}`;\n\n const hasTabs = Boolean(\n findSection(element, 'search')?.querySelector(tabsSelector)\n );\n\n const interfaceStyle = widget\n ? `\n ${layoutSelector} {\n display: grid;\n grid-template-rows: auto auto 8fr 1fr;\n max-height: 100%;\n box-sizing: border-box;\n }\n ${layoutSelector} ${refineModalSelector} {\n grid-row-start: 5;\n }`\n : '';\n\n const search = `${sectionSelector('search')} {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n grid-gap: 0.5rem;\n background: var(--atomic-neutral-light);\n padding-top: 1.5rem;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n box-sizing: border-box;\n min-width: 0;\n ${!hasTabs ? 'padding-bottom: 1.5rem;' : ''}\n }\n\n ${sectionSelector('search')} ${searchBoxSelector} {\n flex-grow: 1;\n height: 2.6rem;\n }\n\n ${toggleSelectors.map(\n (toggleSelector) => `${sectionSelector('search')} ${toggleSelector} {\n flex-shrink: 0;\n }`\n )}\n\n ${sectionSelector('search')} ${tabsSelector} {\n width: 100%;\n }\n `;\n\n const facets = `${sectionSelector('facets')} {\n display: none;\n }\n `;\n\n const results = `\n ${sectionSelector('results')} {\n overflow: auto;\n }\n\n ${sectionSelector('results')} ${smartSnippetSelectors.join(',')} {\n padding: 1.5rem 1.5rem 0px;\n }\n\n ${sectionSelector('results')} ${generatedAnswerSelector} {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n }\n `;\n\n return [interfaceStyle, search, facets, results]\n .filter((declaration) => declaration !== '')\n .join('\\n\\n');\n}\n"],"version":3}
@@ -38,4 +38,4 @@ function containsSections(content) {
38
38
 
39
39
  export { containsSections as c, isResultSectionNode as i };
40
40
 
41
- //# sourceMappingURL=sections2.js.map
41
+ //# sourceMappingURL=item-layout-sections.js.map
@@ -0,0 +1 @@
1
+ {"file":"item-layout-sections.js","mappings":";;AAEA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,8BAA8B;IAC9B,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAC7B,sCAAsC;IACtC,kCAAkC;IAClC,+BAA+B;IAC/B,uCAAuC;IACvC,gCAAgC;CACxB,CAAC,CAAC;AAEZ,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,+BAA+B;IAC/B,+BAA+B;IAC/B,gCAAgC;IAChC,6BAA6B;IAC7B,iCAAiC;IACjC,mCAAmC;IACnC,oCAAoC;IACpC,wCAAwC;IACxC,iCAAiC;CACzB,CAAC,CAAC;AAEZ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;SAMvD,mBAAmB,CAAC,OAAa;IAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAwB,CAAC,CAAC;AAC1E,CAAC;SAEe,gBAAgB,CAAC,OAA2C;IAC1E,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1E;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE;;;;","names":[],"sources":["src/components/common/layout/item-layout-sections.ts"],"sourcesContent":["import {isElementNode} from '@/src/utils/utils';\n\nconst resultSectionTags = new Set([\n 'atomic-result-section-visual',\n 'atomic-result-section-badges',\n 'atomic-result-section-actions',\n 'atomic-result-section-title',\n 'atomic-result-section-title-metadata',\n 'atomic-result-section-emphasized',\n 'atomic-result-section-excerpt',\n 'atomic-result-section-bottom-metadata',\n 'atomic-result-section-children',\n] as const);\n\nconst productSectionTags = new Set([\n 'atomic-product-section-visual',\n 'atomic-product-section-badges',\n 'atomic-product-section-actions',\n 'atomic-product-section-name',\n 'atomic-product-section-metadata',\n 'atomic-product-section-emphasized',\n 'atomic-product-section-description',\n 'atomic-product-section-bottom-metadata',\n 'atomic-product-section-children',\n] as const);\n\nconst allTags = new Set([...resultSectionTags, ...productSectionTags]);\n\ntype SetValueType<T> = T extends Set<infer U> ? U : never;\n\nexport type ItemSectionTagName = SetValueType<typeof allTags>;\n\nexport function isResultSectionNode(element: Node) {\n if (!isElementNode(element)) {\n return false;\n }\n return allTags.has(element.tagName.toLowerCase() as ItemSectionTagName);\n}\n\nexport function containsSections(content: string | NodeList | HTMLCollection) {\n if (typeof content === 'string') {\n return Array.from(allTags.values()).some((tag) => content.includes(tag));\n }\n return Array.from(content).some((child) => isResultSectionNode(child));\n}\n"],"version":3}
@@ -1,5 +1,25 @@
1
+ import { h } from '@stencil/core/internal/client';
1
2
  import { buildResultTemplatesManager } from '@coveo/headless';
2
3
 
4
+ // The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.
5
+ const ResultsPlaceholdersGuard = (props) => {
6
+ if (!props.displayPlaceholders) {
7
+ return;
8
+ }
9
+ switch (props.display) {
10
+ case 'table':
11
+ return h(TableDisplayResultsPlaceholder, { ...props });
12
+ default:
13
+ return h(ResultsPlaceholder, { ...props });
14
+ }
15
+ };
16
+ const ResultsPlaceholder = (props) => {
17
+ return Array.from({ length: props.numberOfPlaceholders }, (_, i) => (h("atomic-result-placeholder", { key: `placeholder-${i}`, density: props.density, display: props.display || 'list', imageSize: props.imageSize })));
18
+ };
19
+ const TableDisplayResultsPlaceholder = (props) => {
20
+ return (h("atomic-result-table-placeholder", { density: props.density, imageSize: props.imageSize, rows: props.numberOfPlaceholders }));
21
+ };
22
+
3
23
  class TemplateProvider {
4
24
  constructor(props, buildManager) {
5
25
  this.props = props;
@@ -68,6 +88,6 @@ class ItemTemplateProvider extends TemplateProvider {
68
88
  }
69
89
  }
70
90
 
71
- export { ItemTemplateProvider as I };
91
+ export { ItemTemplateProvider as I, ResultsPlaceholdersGuard as R, ResultsPlaceholder as a };
72
92
 
73
93
  //# sourceMappingURL=item-template-provider.js.map
@@ -1 +1 @@
1
- {"file":"item-template-provider.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
+ {"file":"item-template-provider.js","mappings":"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","names":[],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx","src/components/common/template-provider/template-provider.ts","src/components/common/item-list/item-template-provider.ts"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n","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}
@@ -2,7 +2,7 @@ import { ResultTemplatesHelpers } from '@coveo/headless';
2
2
  import { h } from '@stencil/core/internal/client';
3
3
  import { l as aggregate, m as isVisualNode, n as isElementNode } from './utils.js';
4
4
  import { t as tableElementTagName } from './table-element-utils.js';
5
- import { i as isResultSectionNode } from './sections2.js';
5
+ import { i as isResultSectionNode } from './item-layout-sections.js';
6
6
 
7
7
  function getTemplateNodeType(node) {
8
8
  if (isResultSectionNode(node)) {
@@ -1 +1 @@
1
- {"file":"result-template-common.js","mappings":";;;;;;SA0BgB,mBAAmB,CAAC,IAAU;IAC5C,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,UAAU,CAAC;KACnB;IACD,IACE,aAAa,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,mBAAmB,EAClD;QACA,OAAO,yBAAyB,CAAC;KAClC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;MAEY,oBAAoB;IAK/B,YAAY,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,GAAG,KAAK,GACQ;QARrB,oBAAe,GAA8B,EAAE,CAAC;QAC/C,uBAAkB,GAAe,OAAO,CAAC;QAQ/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;KACjE;IAED,gBAAgB,CACd,IAAoB,EACpB,QAAgC,EAChC,YAAsB,EACtB,UAAU,GAAG,IAAI;QAEjB,MAAM,cAAc,GAAG,YAAY;aAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;aAC3B,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5C,IAAI,CAAC,cAAc,EAAE;YACnB,QAAQ,CACN,IAAI,KAAK,CACP,QAAQ,OAAO,4DAA4D,YAAY;iBACpF,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CACF,CAAC;YACF,OAAO;SACR;QAED,IACE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,MAAM,EACxE;YACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,YAAY,CACnE,uBAAuB,CACxB,EAAE,KAAmB,CAAC;SACxB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,sBAAsB,CACvB,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,CACN,IAAI,KAAK,CACP,QAAQ,OAAO,6DAA6D,CAC7E,CACF,CAAC;YACF,OAAO;SACR;QAED,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YAC7C,QAAQ,CACN,IAAI,KAAK,CAAC,8BAA8B,OAAO,oBAAoB,CAAC,CACrE,CAAC;YACF,OAAO;SACR;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC5C,OAAO,CAAC,IAAI,CACV,mIAAmI,EACnI,IAAI,CACL,CAAC;SACH;QAED,MAAM,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,gBAAgB,CACjE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAC5B,CAAC;QACF,IAAI,YAAY,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,EAAE;YAC9C,OAAO,CAAC,IAAI,CACV,gJAAgJ,EAChJ,IAAI,EACJ,EAAC,YAAY,EAAE,UAAU,EAAC,CAC3B,CAAC;SACH;KACF;IAED,WAAW,CACT,UAAqC,EACrC,KAAY;QAEZ,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YACnD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAQ;YAC/C,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAQ;YAC5D,QAAQ,EAAE,CAAC;SACZ,CAAC;KACH;IAED,aAAa,CAAC,KAAY;QACxB,IAAI,KAAK,EAAE;YACT,QACE,8BACE,OAAO,EAAE,IAAI,CAAC,IAAI,EAClB,KAAK,EAAE,KAAK,GACY,EAC1B;SACH;KACF;IAED,6BAA6B;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,YAAY,CAAC,SAAS,GAAG,uBAAuB,IAAI,CAAC,kBAAkB,GAAG,gCAAgC,IAAI,CAAC,kBAAkB,QAAQ,GAAG,EAAE,uBAAuB,CAAC;QACtK,OAAO,YAAY,CAAC;KACrB;IAED,sBAAsB,CAAC,IAAiB;QACtC,QACE,IAAI,CAAC,aAAa,CAAsB,uBAAuB,CAAC;YAChE,IAAI,CAAC,6BAA6B,EAAE,EACpC;KACH;CACF;AAED,SAAS,kBAAkB,CAAC,IAAiB;IAC3C,OAAO,IAAI,CAAC,aAAa,CAAsB,sBAAsB,CAAE,CAAC;AAC1E,CAAC;SAEe,mBAAmB,CACjC,SAAmC,EACnC,YAAsC;IAEtC,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,UAAU,CAAC,IAAI,CACb,sBAAsB,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAC/D,CAAC;KACH;IAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;QAChC,UAAU,CAAC,IAAI,CACb,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CACrE,CAAC;KACH;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;SAEe,qBAAqB,CACnC,SAAkB,EAClB,YAAqB;IAErB,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,IAAI,SAAS,EAAE;QACb,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;KACzE;IAED,IAAI,YAAY,EAAE;QAChB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;KAC5E;IACD,OAAO,UAAU,CAAC;AACpB;;;;","names":[],"sources":["src/components/common/result-templates/result-template-common.tsx"],"sourcesContent":["import {\n ResultTemplate,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {aggregate, isElementNode, isVisualNode} from '../../../utils/utils';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils';\nimport {ItemTarget} from '../layout/display-options';\nimport {isResultSectionNode} from '../layout/sections';\n\nexport type TemplateContent = DocumentFragment;\n\ninterface ResultTemplateCommonProps {\n allowEmpty?: boolean;\n host: HTMLDivElement;\n validParents: string[];\n setError: (error: Error) => void;\n}\n\ntype TemplateNodeType =\n | 'section'\n | 'metadata'\n | 'table-column-definition'\n | 'other';\n\nexport function getTemplateNodeType(node: Node): TemplateNodeType {\n if (isResultSectionNode(node)) {\n return 'section';\n }\n if (!isVisualNode(node)) {\n return 'metadata';\n }\n if (\n isElementNode(node) &&\n node.tagName.toLowerCase() === tableElementTagName\n ) {\n return 'table-column-definition';\n }\n return 'other';\n}\n\nfunction groupNodesByType(nodes: NodeList) {\n return aggregate(Array.from(nodes), (node) => getTemplateNodeType(node));\n}\n\nexport class ResultTemplateCommon {\n private host: HTMLDivElement;\n public matchConditions: ResultTemplateCondition[] = [];\n private gridCellLinkTarget: ItemTarget = '_self';\n\n constructor({\n host,\n setError,\n validParents,\n allowEmpty = false,\n }: ResultTemplateCommonProps) {\n this.host = host;\n this.validateTemplate(host, setError, validParents, allowEmpty);\n }\n\n validateTemplate(\n host: HTMLDivElement,\n setError: (error: Error) => void,\n validParents: string[],\n allowEmpty = true\n ) {\n const hasValidParent = validParents\n .map((p) => p.toUpperCase())\n .includes(host.parentElement?.nodeName || '');\n const tagName = host.nodeName.toLowerCase();\n\n if (!hasValidParent) {\n setError(\n new Error(\n `The \"${tagName}\" component has to be the child of one of the following: ${validParents\n .map((p) => `\"${p.toLowerCase()}\"`)\n .join(', ')}.`\n )\n );\n return;\n }\n\n if (\n host.parentElement?.attributes.getNamedItem('display')?.value === 'grid'\n ) {\n this.gridCellLinkTarget = host.parentElement?.attributes.getNamedItem(\n 'grid-cell-link-target'\n )?.value as ItemTarget;\n }\n\n const template = host.querySelector<HTMLTemplateElement>(\n 'template:not([slot])'\n );\n if (!template) {\n setError(\n new Error(\n `The \"${tagName}\" component has to contain a \"template\" element as a child.`\n )\n );\n return;\n }\n\n if (!allowEmpty && !template.innerHTML.trim()) {\n setError(\n new Error(`The \"template\" tag inside \"${tagName}\" cannot be empty.`)\n );\n return;\n }\n\n if (template.content.querySelector('script')) {\n console.warn(\n 'Any \"script\" tags defined inside of \"template\" elements are not supported and will not be executed when the results are rendered.',\n host\n );\n }\n\n const {section: sectionNodes, other: otherNodes} = groupNodesByType(\n template.content.childNodes\n );\n if (sectionNodes?.length && otherNodes?.length) {\n console.warn(\n 'Result templates should only contain section elements or non-section elements. Future updates could unpredictably affect this result template.',\n host,\n {sectionNodes, otherNodes}\n );\n }\n }\n\n getTemplate(\n conditions: ResultTemplateCondition[],\n error: Error\n ): ResultTemplate<TemplateContent> | null {\n if (error) {\n return null;\n }\n\n return {\n conditions: conditions.concat(this.matchConditions),\n content: getTemplateElement(this.host).content!,\n linkContent: this.getLinkTemplateElement(this.host).content!,\n priority: 1,\n };\n }\n\n renderIfError(error: Error) {\n if (error) {\n return (\n <atomic-component-error\n element={this.host}\n error={error}\n ></atomic-component-error>\n );\n }\n }\n\n getDefaultLinkTemplateElement() {\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = `<atomic-result-link>${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}</atomic-result-link>`;\n return linkTemplate;\n }\n\n getLinkTemplateElement(host: HTMLElement) {\n return (\n host.querySelector<HTMLTemplateElement>('template[slot=\"link\"]') ??\n this.getDefaultLinkTemplateElement()\n );\n }\n}\n\nfunction getTemplateElement(host: HTMLElement) {\n return host.querySelector<HTMLTemplateElement>('template:not([slot])')!;\n}\n\nexport function makeMatchConditions(\n mustMatch: Record<string, string[]>,\n mustNotMatch: Record<string, string[]>\n): ResultTemplateCondition[] {\n const conditions: ResultTemplateCondition[] = [];\n for (const field in mustMatch) {\n conditions.push(\n ResultTemplatesHelpers.fieldMustMatch(field, mustMatch[field])\n );\n }\n\n for (const field in mustNotMatch) {\n conditions.push(\n ResultTemplatesHelpers.fieldMustNotMatch(field, mustNotMatch[field])\n );\n }\n return conditions;\n}\n\nexport function makeDefinedConditions(\n ifDefined?: string,\n ifNotDefined?: string\n): ResultTemplateCondition[] {\n const conditions: ResultTemplateCondition[] = [];\n if (ifDefined) {\n const fieldNames = ifDefined.split(',');\n conditions.push(ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames));\n }\n\n if (ifNotDefined) {\n const fieldNames = ifNotDefined.split(',');\n conditions.push(ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames));\n }\n return conditions;\n}\n"],"version":3}
1
+ {"file":"result-template-common.js","mappings":"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","names":[],"sources":["src/components/common/result-templates/result-template-common.tsx"],"sourcesContent":["import {\n ResultTemplate,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {aggregate, isElementNode, isVisualNode} from '../../../utils/utils';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils';\nimport {ItemTarget} from '../layout/display-options';\nimport {isResultSectionNode} from '../layout/item-layout-sections';\n\nexport type TemplateContent = DocumentFragment;\n\ninterface ResultTemplateCommonProps {\n allowEmpty?: boolean;\n host: HTMLDivElement;\n validParents: string[];\n setError: (error: Error) => void;\n}\n\ntype TemplateNodeType =\n | 'section'\n | 'metadata'\n | 'table-column-definition'\n | 'other';\n\nexport function getTemplateNodeType(node: Node): TemplateNodeType {\n if (isResultSectionNode(node)) {\n return 'section';\n }\n if (!isVisualNode(node)) {\n return 'metadata';\n }\n if (\n isElementNode(node) &&\n node.tagName.toLowerCase() === tableElementTagName\n ) {\n return 'table-column-definition';\n }\n return 'other';\n}\n\nfunction groupNodesByType(nodes: NodeList) {\n return aggregate(Array.from(nodes), (node) => getTemplateNodeType(node));\n}\n\nexport class ResultTemplateCommon {\n private host: HTMLDivElement;\n public matchConditions: ResultTemplateCondition[] = [];\n private gridCellLinkTarget: ItemTarget = '_self';\n\n constructor({\n host,\n setError,\n validParents,\n allowEmpty = false,\n }: ResultTemplateCommonProps) {\n this.host = host;\n this.validateTemplate(host, setError, validParents, allowEmpty);\n }\n\n validateTemplate(\n host: HTMLDivElement,\n setError: (error: Error) => void,\n validParents: string[],\n allowEmpty = true\n ) {\n const hasValidParent = validParents\n .map((p) => p.toUpperCase())\n .includes(host.parentElement?.nodeName || '');\n const tagName = host.nodeName.toLowerCase();\n\n if (!hasValidParent) {\n setError(\n new Error(\n `The \"${tagName}\" component has to be the child of one of the following: ${validParents\n .map((p) => `\"${p.toLowerCase()}\"`)\n .join(', ')}.`\n )\n );\n return;\n }\n\n if (\n host.parentElement?.attributes.getNamedItem('display')?.value === 'grid'\n ) {\n this.gridCellLinkTarget = host.parentElement?.attributes.getNamedItem(\n 'grid-cell-link-target'\n )?.value as ItemTarget;\n }\n\n const template = host.querySelector<HTMLTemplateElement>(\n 'template:not([slot])'\n );\n if (!template) {\n setError(\n new Error(\n `The \"${tagName}\" component has to contain a \"template\" element as a child.`\n )\n );\n return;\n }\n\n if (!allowEmpty && !template.innerHTML.trim()) {\n setError(\n new Error(`The \"template\" tag inside \"${tagName}\" cannot be empty.`)\n );\n return;\n }\n\n if (template.content.querySelector('script')) {\n console.warn(\n 'Any \"script\" tags defined inside of \"template\" elements are not supported and will not be executed when the results are rendered.',\n host\n );\n }\n\n const {section: sectionNodes, other: otherNodes} = groupNodesByType(\n template.content.childNodes\n );\n if (sectionNodes?.length && otherNodes?.length) {\n console.warn(\n 'Result templates should only contain section elements or non-section elements. Future updates could unpredictably affect this result template.',\n host,\n {sectionNodes, otherNodes}\n );\n }\n }\n\n getTemplate(\n conditions: ResultTemplateCondition[],\n error: Error\n ): ResultTemplate<TemplateContent> | null {\n if (error) {\n return null;\n }\n\n return {\n conditions: conditions.concat(this.matchConditions),\n content: getTemplateElement(this.host).content!,\n linkContent: this.getLinkTemplateElement(this.host).content!,\n priority: 1,\n };\n }\n\n renderIfError(error: Error) {\n if (error) {\n return (\n <atomic-component-error\n element={this.host}\n error={error}\n ></atomic-component-error>\n );\n }\n }\n\n getDefaultLinkTemplateElement() {\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = `<atomic-result-link>${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}</atomic-result-link>`;\n return linkTemplate;\n }\n\n getLinkTemplateElement(host: HTMLElement) {\n return (\n host.querySelector<HTMLTemplateElement>('template[slot=\"link\"]') ??\n this.getDefaultLinkTemplateElement()\n );\n }\n}\n\nfunction getTemplateElement(host: HTMLElement) {\n return host.querySelector<HTMLTemplateElement>('template:not([slot])')!;\n}\n\nexport function makeMatchConditions(\n mustMatch: Record<string, string[]>,\n mustNotMatch: Record<string, string[]>\n): ResultTemplateCondition[] {\n const conditions: ResultTemplateCondition[] = [];\n for (const field in mustMatch) {\n conditions.push(\n ResultTemplatesHelpers.fieldMustMatch(field, mustMatch[field])\n );\n }\n\n for (const field in mustNotMatch) {\n conditions.push(\n ResultTemplatesHelpers.fieldMustNotMatch(field, mustNotMatch[field])\n );\n }\n return conditions;\n}\n\nexport function makeDefinedConditions(\n ifDefined?: string,\n ifNotDefined?: string\n): ResultTemplateCondition[] {\n const conditions: ResultTemplateCondition[] = [];\n if (ifDefined) {\n const fieldNames = ifDefined.split(',');\n conditions.push(ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames));\n }\n\n if (ifNotDefined) {\n const fieldNames = ifNotDefined.split(',');\n conditions.push(ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames));\n }\n return conditions;\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { getElement, h, Fragment } from '@stencil/core/internal/client';
2
2
  import { b as buildCustomEvent } from './event-utils.js';
3
- import { a as ResultsPlaceholder } from './stencil-placeholders.js';
3
+ import { a as ResultsPlaceholder } from './item-template-provider.js';
4
4
  import { B as Button } from './stencil-button.js';
5
5
 
6
6
  const foldedItemListContextEventName = 'atomic/resolveFoldedResultList';
@@ -1,6 +1,5 @@
1
1
  import { h } from '@stencil/core/internal/client';
2
2
  import { l as listenOnce } from './event-utils.js';
3
- import { a as getRippleColorForButtonStyle, g as getClassNameForButtonStyle } from './stencil-button-style.js';
4
3
 
5
4
  const RIPPLE = 'ripple';
6
5
  function getAnimationDurationInMilliseconds(radiusPixels) {
@@ -42,6 +41,49 @@ async function cleanupAnimationOnFinish(ripple, animationDuration) {
42
41
  setTimeout(() => ripple?.remove(), animationDuration + animationDuration * 0.1);
43
42
  }
44
43
 
44
+ /**
45
+ * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts
46
+ * This file is required to be in a tsx file to be able to use it in Stencil components.
47
+ */
48
+ function getClassNameForButtonStyle(buttonStyle) {
49
+ switch (buttonStyle) {
50
+ case 'primary':
51
+ return 'btn-primary';
52
+ case 'outline-primary':
53
+ return 'btn-outline-primary';
54
+ case 'outline-neutral':
55
+ return 'btn-outline-neutral';
56
+ case 'outline-error':
57
+ return 'btn-outline-error';
58
+ case 'outline-bg-neutral':
59
+ return 'btn-outline-bg-neutral';
60
+ case 'outline-bg-error':
61
+ return 'btn-outline-bg-error';
62
+ case 'text-primary':
63
+ return 'btn-text-primary';
64
+ case 'text-neutral':
65
+ return 'btn-text-neutral';
66
+ case 'text-transparent':
67
+ return 'btn-text-transparent';
68
+ case 'square-neutral':
69
+ return 'btn-square-neutral';
70
+ }
71
+ }
72
+ /**
73
+ * @deprecated Should only be used for Stencil components; for Lit components, use the button-style.ts
74
+ * This file is required to be in a tsx file to be able to use it in Stencil components.
75
+ */
76
+ function getRippleColorForButtonStyle(buttonStyle) {
77
+ switch (buttonStyle) {
78
+ case 'primary':
79
+ return 'primary';
80
+ case 'text-transparent':
81
+ return 'neutral-light';
82
+ default:
83
+ return 'neutral';
84
+ }
85
+ }
86
+
45
87
  /**
46
88
  * @deprecated Should only be used for Stencil components; for Lit components, use the button.ts file instead
47
89
  */
@@ -81,6 +123,6 @@ const Button = (props, children) => {
81
123
  children));
82
124
  };
83
125
 
84
- export { Button as B, createRipple as c };
126
+ export { Button as B, getClassNameForButtonStyle as a, createRipple as c, getRippleColorForButtonStyle as g };
85
127
 
86
128
  //# sourceMappingURL=stencil-button.js.map
@@ -1 +1 @@
1
- {"file":"stencil-button.js","mappings":"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","names":[],"sources":["src/utils/ripple-utils.ts","src/components/common/stencil-button.tsx"],"sourcesContent":["import {listenOnce} from './event-utils';\n\ninterface RippleOptions {\n color: string;\n /**\n * When the ripple's parent is not the event's origin\n */\n parent?: Element;\n}\n\nconst RIPPLE = 'ripple';\n\nfunction getAnimationDurationInMilliseconds(radiusPixels: number) {\n // A 318px wide button has a duration of 700ms.\n return Math.cbrt(radiusPixels) * 129.21;\n}\n\nfunction setPositionRelativeIfStatic(element: Element) {\n if (getComputedStyle(element).position === 'static') {\n element.classList.add('ripple-relative');\n }\n}\n\nexport async function createRipple(event: MouseEvent, options: RippleOptions) {\n const button = options.parent ?? (event.currentTarget as Element);\n const existingRipple = button.getElementsByClassName(RIPPLE)[0];\n existingRipple?.remove();\n\n button.classList.add('ripple-parent');\n setPositionRelativeIfStatic(button);\n Array.from(button.children).forEach(setPositionRelativeIfStatic);\n\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n ripple.style.backgroundColor = `var(--atomic-${options.color})`;\n ripple.setAttribute('part', RIPPLE);\n\n const diameter = Math.max(button.clientWidth, button.clientHeight);\n const radius = diameter / 2;\n const animationDuration = getAnimationDurationInMilliseconds(radius);\n const {top, left} = button.getBoundingClientRect();\n ripple.style.width = ripple.style.height = `${diameter}px`;\n ripple.style.left = `${event.clientX - (left + radius)}px`;\n ripple.style.top = `${event.clientY - (top + radius)}px`;\n ripple.style.setProperty('--animation-duration', `${animationDuration}ms`);\n button.prepend(ripple);\n await cleanupAnimationOnFinish(ripple, animationDuration);\n}\n\nasync function cleanupAnimationOnFinish(\n ripple: HTMLSpanElement,\n animationDuration: number\n) {\n listenOnce(ripple, 'animationend', () => {\n ripple?.remove();\n });\n // Backup in case the button gets hidden or unmounted and the ripple hasn't been cleaned up.\n setTimeout(\n () => ripple?.remove(),\n animationDuration + animationDuration * 0.1\n );\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {\n ButtonStyle,\n getRippleColorForButtonStyle,\n getClassNameForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use ButtonProps interface instead\n */\nexport interface StencilButtonProps {\n style: ButtonStyle;\n onClick?(event?: MouseEvent): void;\n class?: string;\n text?: string;\n part?: string;\n type?: string;\n form?: string;\n role?: string;\n disabled?: boolean;\n ariaLabel?: string;\n ariaExpanded?: string;\n ariaPressed?: string;\n ariaChecked?: string;\n ariaCurrent?: string;\n ariaControls?: string;\n ariaHidden?: string;\n tabIndex?: string;\n title?: string;\n ref?(element?: HTMLButtonElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button.ts file instead\n */\nexport const Button: FunctionalComponent<StencilButtonProps> = (\n props,\n children\n) => {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n const className = getClassNameForButtonStyle(props.style);\n\n const attributes = {\n class: props.class ? `${className} ${props.class}` : className,\n part: props.part,\n onClick: props.onClick,\n title: props.title,\n type: props.type,\n role: props.role,\n 'aria-label': props.ariaLabel,\n 'aria-expanded': props.ariaExpanded,\n 'aria-pressed': props.ariaPressed,\n 'aria-checked': props.ariaChecked,\n 'aria-current': props.ariaCurrent,\n 'aria-controls': props.ariaControls,\n 'aria-hidden': props.ariaHidden,\n disabled: props.disabled,\n ref(buttonEl?: HTMLButtonElement) {\n if (props.form) {\n buttonEl?.setAttribute('form', props.form);\n }\n if (props.ariaHidden) {\n buttonEl?.setAttribute('aria-hidden', props.ariaHidden);\n }\n if (props.tabIndex) {\n buttonEl?.setAttribute('tabindex', props.tabIndex);\n }\n props.ref?.(buttonEl);\n },\n };\n\n return (\n <button\n {...attributes}\n onMouseDown={(e) => createRipple(e, {color: rippleColor})}\n >\n {props.text ? <span class=\"truncate\">{props.text}</span> : null}\n {children}\n </button>\n );\n};\n"],"version":3}
1
+ {"file":"stencil-button.js","mappings":"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","names":[],"sources":["src/utils/ripple-utils.ts","src/components/common/stencil-button-style.tsx","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","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","import {FunctionalComponent, h} from '@stencil/core';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {\n ButtonStyle,\n getRippleColorForButtonStyle,\n getClassNameForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use ButtonProps interface instead\n */\nexport interface StencilButtonProps {\n style: ButtonStyle;\n onClick?(event?: MouseEvent): void;\n class?: string;\n text?: string;\n part?: string;\n type?: string;\n form?: string;\n role?: string;\n disabled?: boolean;\n ariaLabel?: string;\n ariaExpanded?: string;\n ariaPressed?: string;\n ariaChecked?: string;\n ariaCurrent?: string;\n ariaControls?: string;\n ariaHidden?: string;\n tabIndex?: string;\n title?: string;\n ref?(element?: HTMLButtonElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button.ts file instead\n */\nexport const Button: FunctionalComponent<StencilButtonProps> = (\n props,\n children\n) => {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n const className = getClassNameForButtonStyle(props.style);\n\n const attributes = {\n class: props.class ? `${className} ${props.class}` : className,\n part: props.part,\n onClick: props.onClick,\n title: props.title,\n type: props.type,\n role: props.role,\n 'aria-label': props.ariaLabel,\n 'aria-expanded': props.ariaExpanded,\n 'aria-pressed': props.ariaPressed,\n 'aria-checked': props.ariaChecked,\n 'aria-current': props.ariaCurrent,\n 'aria-controls': props.ariaControls,\n 'aria-hidden': props.ariaHidden,\n disabled: props.disabled,\n ref(buttonEl?: HTMLButtonElement) {\n if (props.form) {\n buttonEl?.setAttribute('form', props.form);\n }\n if (props.ariaHidden) {\n buttonEl?.setAttribute('aria-hidden', props.ariaHidden);\n }\n if (props.tabIndex) {\n buttonEl?.setAttribute('tabindex', props.tabIndex);\n }\n props.ref?.(buttonEl);\n },\n };\n\n return (\n <button\n {...attributes}\n onMouseDown={(e) => createRipple(e, {color: rippleColor})}\n >\n {props.text ? <span class=\"truncate\">{props.text}</span> : null}\n {children}\n </button>\n );\n};\n"],"version":3}
@@ -1,6 +1,5 @@
1
1
  import { h } from '@stencil/core/internal/client';
2
- import { c as createRipple } from './stencil-button.js';
3
- import { a as getRippleColorForButtonStyle, g as getClassNameForButtonStyle } from './stencil-button-style.js';
2
+ import { c as createRipple, g as getRippleColorForButtonStyle, a as getClassNameForButtonStyle } from './stencil-button.js';
4
3
 
5
4
  /**
6
5
  * @deprecated Should only be used for Stencil components; for Lit components, use the radioButton function instead.
@@ -1 +1 @@
1
- {"file":"stencil-radio-button.js","mappings":"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","names":[],"sources":["src/components/common/stencil-radio-button.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {RadioButtonProps} from './radio-button';\nimport {\n getClassNameForButtonStyle,\n getRippleColorForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the RadioButtonProps from radio-button.ts instead.\n */\nexport interface StencilRadioButtonProps extends Omit<RadioButtonProps, 'ref'> {\n ref?(element?: HTMLInputElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the radioButton function instead.\n */\nexport const RadioButton: FunctionalComponent<StencilRadioButtonProps> = (\n props\n) => {\n const classNames = ['btn-radio'];\n let onMouseDown:\n | JSXBase.DOMAttributes<HTMLInputElement>['onMouseDown']\n | undefined;\n if (props.style) {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n classNames.push(getClassNameForButtonStyle(props.style));\n\n onMouseDown = (e) => createRipple(e, {color: rippleColor});\n }\n if (props.checked) {\n classNames.push('selected');\n }\n if (props.class) {\n classNames.push(props.class);\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (props.selectWhenFocused !== false) {\n return;\n }\n const {key} = event;\n const radioGroup = (event.currentTarget as HTMLElement).parentNode;\n\n if (!radioGroup || !isArrowKey(key)) {\n return;\n }\n\n event.preventDefault();\n\n const buttons = getRadioButtons(radioGroup);\n const currentIndex = getCurrentIndex(\n buttons,\n event.currentTarget as HTMLInputElement\n );\n const newIndex = getNewIndex(key, currentIndex, buttons.length);\n\n if (buttons[newIndex]) {\n buttons[newIndex].focus();\n }\n };\n\n const isArrowKey = (key: string) => {\n return ['ArrowLeft', 'ArrowRight', 'ArrowDown', 'ArrowUp'].includes(key);\n };\n\n const getRadioButtons = (radioGroup: ParentNode) => {\n return Array.from(\n radioGroup.querySelectorAll('[type=\"radio\"]')\n ) as HTMLInputElement[];\n };\n\n const getCurrentIndex = (\n buttons: HTMLInputElement[],\n currentButton: HTMLInputElement\n ) => {\n return buttons.findIndex((button) => button === currentButton);\n };\n\n const getNewIndex = (key: string, currentIndex: number, length: number) => {\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n return (currentIndex - 1 + length) % length;\n case 'ArrowRight':\n case 'ArrowDown':\n return (currentIndex + 1) % length;\n default:\n return currentIndex;\n }\n };\n\n const attributes = {\n name: props.groupName,\n key: props.key,\n checked: props.checked,\n class: classNames.join(' '),\n part: props.part,\n 'aria-label': props.ariaLabel ?? props.text,\n 'aria-current': props.ariaCurrent,\n value: props.text,\n ref: props.ref,\n };\n\n return (\n <input\n onKeyDown={handleKeyDown}\n type=\"radio\"\n onChange={(e) =>\n (e.currentTarget as HTMLInputElement).checked && props.onChecked?.()\n }\n onMouseDown={onMouseDown}\n {...attributes}\n />\n );\n};\n"],"version":3}
1
+ {"file":"stencil-radio-button.js","mappings":";;;AAgBA;;;MAGa,WAAW,GAAiD,CACvE,KAAK;IAEL,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,IAAI,WAES,CAAC;IACd,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAEzD,WAAW,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC;KAC5D;IACD,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC7B;IACD,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,MAAM,aAAa,GAAG,CAAC,KAAoB;QACzC,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,EAAE;YACrC,OAAO;SACR;QACD,MAAM,EAAC,GAAG,EAAC,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAI,KAAK,CAAC,aAA6B,CAAC,UAAU,CAAC;QAEnE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACnC,OAAO;SACR;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,eAAe,CAClC,OAAO,EACP,KAAK,CAAC,aAAiC,CACxC,CAAC;QACF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrB,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;SAC3B;KACF,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAW;QAC7B,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC1E,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,UAAsB;QAC7C,OAAO,KAAK,CAAC,IAAI,CACf,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CACxB,CAAC;KACzB,CAAC;IAEF,MAAM,eAAe,GAAG,CACtB,OAA2B,EAC3B,aAA+B;QAE/B,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,MAAM,KAAK,aAAa,CAAC,CAAC;KAChE,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,YAAoB,EAAE,MAAc;QACpE,QAAQ,GAAG;YACT,KAAK,WAAW,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC;YAC9C,KAAK,YAAY,CAAC;YAClB,KAAK,WAAW;gBACd,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC;YACrC;gBACE,OAAO,YAAY,CAAC;SACvB;KACF,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,KAAK,CAAC,SAAS;QACrB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI;QAC3C,cAAc,EAAE,KAAK,CAAC,WAAW;QACjC,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;IAEF,QACE,aACE,SAAS,EAAE,aAAa,EACxB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,CAAC,KACT,CAAC,CAAC,aAAkC,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,IAAI,EAEtE,WAAW,EAAE,WAAW,KACpB,UAAU,GACd,EACF;AACJ;;;;","names":[],"sources":["src/components/common/stencil-radio-button.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {RadioButtonProps} from './radio-button';\nimport {\n getClassNameForButtonStyle,\n getRippleColorForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the RadioButtonProps from radio-button.ts instead.\n */\nexport interface StencilRadioButtonProps extends Omit<RadioButtonProps, 'ref'> {\n ref?(element?: HTMLInputElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the radioButton function instead.\n */\nexport const RadioButton: FunctionalComponent<StencilRadioButtonProps> = (\n props\n) => {\n const classNames = ['btn-radio'];\n let onMouseDown:\n | JSXBase.DOMAttributes<HTMLInputElement>['onMouseDown']\n | undefined;\n if (props.style) {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n classNames.push(getClassNameForButtonStyle(props.style));\n\n onMouseDown = (e) => createRipple(e, {color: rippleColor});\n }\n if (props.checked) {\n classNames.push('selected');\n }\n if (props.class) {\n classNames.push(props.class);\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (props.selectWhenFocused !== false) {\n return;\n }\n const {key} = event;\n const radioGroup = (event.currentTarget as HTMLElement).parentNode;\n\n if (!radioGroup || !isArrowKey(key)) {\n return;\n }\n\n event.preventDefault();\n\n const buttons = getRadioButtons(radioGroup);\n const currentIndex = getCurrentIndex(\n buttons,\n event.currentTarget as HTMLInputElement\n );\n const newIndex = getNewIndex(key, currentIndex, buttons.length);\n\n if (buttons[newIndex]) {\n buttons[newIndex].focus();\n }\n };\n\n const isArrowKey = (key: string) => {\n return ['ArrowLeft', 'ArrowRight', 'ArrowDown', 'ArrowUp'].includes(key);\n };\n\n const getRadioButtons = (radioGroup: ParentNode) => {\n return Array.from(\n radioGroup.querySelectorAll('[type=\"radio\"]')\n ) as HTMLInputElement[];\n };\n\n const getCurrentIndex = (\n buttons: HTMLInputElement[],\n currentButton: HTMLInputElement\n ) => {\n return buttons.findIndex((button) => button === currentButton);\n };\n\n const getNewIndex = (key: string, currentIndex: number, length: number) => {\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n return (currentIndex - 1 + length) % length;\n case 'ArrowRight':\n case 'ArrowDown':\n return (currentIndex + 1) % length;\n default:\n return currentIndex;\n }\n };\n\n const attributes = {\n name: props.groupName,\n key: props.key,\n checked: props.checked,\n class: classNames.join(' '),\n part: props.part,\n 'aria-label': props.ariaLabel ?? props.text,\n 'aria-current': props.ariaCurrent,\n value: props.text,\n ref: props.ref,\n };\n\n return (\n <input\n onKeyDown={handleKeyDown}\n type=\"radio\"\n onChange={(e) =>\n (e.currentTarget as HTMLInputElement).checked && props.onChecked?.()\n }\n onMouseDown={onMouseDown}\n {...attributes}\n />\n );\n};\n"],"version":3}
@@ -25,7 +25,7 @@ const AtomicTabButton = /*@__PURE__*/ proxyCustomElement(class AtomicTabButton e
25
25
  return this.active ? '' : 'text-neutral-dark hover:text-primary-light';
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '664e3146ffed0c73ec4baa3dc016da5de5865da4', role: "listitem", class: `${this.activeTabClass}`, "aria-current": this.active ? 'true' : 'false', "aria-label": 'tab for ' + this.label, part: 'button-container' + (this.active ? '-active' : '') }, h(Button, { key: 'dc11bc1ebcaa478d87a544d143028d06d11d6089', class: `w-full truncate px-2 pb-1 text-xl sm:px-6 ${this.activeTabTextClass}`, part: 'tab-button' + (this.active ? '-active' : ''), onClick: this.select, style: "text-transparent" }, this.label)));
28
+ return (h(Host, { key: '3f4124ae93e3618d4b708b0466560a6ee199fc8e', role: "listitem", class: `${this.activeTabClass}`, "aria-current": this.active ? 'true' : 'false', "aria-label": 'tab for ' + this.label, part: 'button-container' + (this.active ? '-active' : '') }, h(Button, { key: 'e2d40ec38ee9af1c84662c81915e8e3ad6098a41', class: `w-full truncate px-2 pb-1 text-xl sm:px-6 ${this.activeTabTextClass}`, part: 'tab-button' + (this.active ? '-active' : ''), onClick: this.select, style: "text-transparent" }, this.label)));
29
29
  }
30
30
  static get style() { return AtomicTabButtonStyle0; }
31
31
  }, [0, "atomic-tab-button", {
@@ -144,7 +144,7 @@ const TabPopover = /*@__PURE__*/ proxyCustomElement(class TabPopover extends HTM
144
144
  this.popperInstance?.forceUpdate();
145
145
  }
146
146
  render() {
147
- return (h(Host, { key: '5bccea802e62c4027ebf62ce69332215925475f2', onFocusout: (event) => this.closePopoverOnFocusOut(event), class: this.show ? '' : 'visibility-hidden', "aria-hidden": !this.show }, this.renderPopover(), this.isOpen && this.renderBackdrop()));
147
+ return (h(Host, { key: 'ea32303930fe0e7b00855f2a922a4e85a72d6a6a', onFocusout: (event) => this.closePopoverOnFocusOut(event), class: this.show ? '' : 'visibility-hidden', "aria-hidden": !this.show }, this.renderPopover(), this.isOpen && this.renderBackdrop()));
148
148
  }
149
149
  get host() { return this; }
150
150
  static get style() { return AtomicTabPopoverStyle0; }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Performs a deep equality comparison between two values.
3
+ * Handles primitives, null/undefined, arrays, and objects.
4
+ *
5
+ * @param a - First value to compare
6
+ * @param b - Second value to compare
7
+ * @returns true if values are deeply equal, false otherwise
8
+ */
9
+ export function deepEqual(a, b) {
10
+ if (a === b) {
11
+ return true;
12
+ }
13
+ if (a == null || b == null) {
14
+ return false;
15
+ }
16
+ const typeA = typeof a;
17
+ const typeB = typeof b;
18
+ if (typeA !== typeB) {
19
+ return false;
20
+ }
21
+ if (Array.isArray(a)) {
22
+ if (!Array.isArray(b) || a.length !== b.length) {
23
+ return false;
24
+ }
25
+ for (let i = 0; i < a.length; i++) {
26
+ if (!deepEqual(a[i], b[i])) {
27
+ return false;
28
+ }
29
+ }
30
+ return true;
31
+ }
32
+ if (typeA === 'object') {
33
+ const aObj = a;
34
+ const bObj = b;
35
+ const aKeys = Object.keys(aObj);
36
+ const bKeys = Object.keys(bObj);
37
+ if (aKeys.length !== bKeys.length) {
38
+ return false;
39
+ }
40
+ for (let i = 0; i < aKeys.length; i++) {
41
+ const key = aKeys[i];
42
+ if (!deepEqual(aObj[key], bObj[key])) {
43
+ return false;
44
+ }
45
+ }
46
+ return true;
47
+ }
48
+ return false;
49
+ }