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

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 (972) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +0 -2
  4. package/dist/atomic/components/_index.js +35 -3
  5. package/dist/atomic/components/atomic-breadbox.js +18 -0
  6. package/dist/atomic/components/atomic-breadbox.js.map +1 -1
  7. package/dist/atomic/components/atomic-category-facet.js +27 -0
  8. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  9. package/dist/atomic/components/atomic-color-facet.js +3 -0
  10. package/dist/atomic/components/atomic-color-facet.js.map +1 -1
  11. package/dist/atomic/components/atomic-did-you-mean.js +12 -1
  12. package/dist/atomic/components/atomic-did-you-mean.js.map +1 -1
  13. package/dist/atomic/components/atomic-facet.js +6 -0
  14. package/dist/atomic/components/atomic-facet.js.map +1 -1
  15. package/dist/atomic/components/atomic-generated-answer.js +1 -1
  16. package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
  17. package/dist/atomic/components/atomic-insight-generated-answer.js +1 -1
  18. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  19. package/dist/atomic/components/atomic-insight-pager.js +5 -5
  20. package/dist/atomic/components/atomic-insight-pager.js.map +1 -1
  21. package/dist/atomic/components/atomic-insight-query-summary.js +9 -0
  22. package/dist/atomic/components/atomic-insight-query-summary.js.map +1 -1
  23. package/dist/atomic/components/atomic-insight-search-box.js +41 -2
  24. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  25. package/dist/atomic/components/atomic-insight-user-actions-session2.js +3 -0
  26. package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +1 -1
  27. package/dist/atomic/components/atomic-load-more-results.js +13 -1
  28. package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
  29. package/dist/atomic/components/atomic-no-results.js +3 -0
  30. package/dist/atomic/components/atomic-no-results.js.map +1 -1
  31. package/dist/atomic/components/atomic-quickview-modal2.js +3 -0
  32. package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
  33. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  34. package/dist/atomic/components/atomic-refine-modal2.js +12 -0
  35. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  36. package/dist/atomic/components/atomic-refine-toggle.js +6 -0
  37. package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
  38. package/dist/atomic/components/atomic-result-list.js +12 -0
  39. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  40. package/dist/atomic/components/atomic-result-text2.js +6 -0
  41. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  42. package/dist/atomic/components/atomic-search-box.js +4 -7
  43. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  44. package/dist/atomic/components/atomic-segmented-facet.js +3 -0
  45. package/dist/atomic/components/atomic-segmented-facet.js.map +1 -1
  46. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  47. package/dist/atomic/components/atomic-sort-dropdown.js +15 -0
  48. package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
  49. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  50. package/dist/atomic/components/components/common/suggestions/query-suggestions.js +11 -16
  51. package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +104 -0
  52. package/dist/atomic/components/components/search/index.js +1 -0
  53. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  54. package/dist/atomic/components/facet-guard.js +3 -0
  55. package/dist/atomic/components/facet-guard.js.map +1 -1
  56. package/dist/atomic/components/facet-placeholder.js +3 -0
  57. package/dist/atomic/components/facet-placeholder.js.map +1 -1
  58. package/dist/atomic/components/generated-answer-common.js +27 -0
  59. package/dist/atomic/components/generated-answer-common.js.map +1 -1
  60. package/dist/atomic/components/global/environment.js +1 -1
  61. package/dist/atomic/components/index.js.map +1 -1
  62. package/dist/atomic/components/item-list-guard.js +3 -0
  63. package/dist/atomic/components/item-list-guard.js.map +1 -1
  64. package/dist/atomic/components/item-template-provider.js +6 -0
  65. package/dist/atomic/components/item-template-provider.js.map +1 -1
  66. package/dist/atomic/components/show-hide-button.js +12 -0
  67. package/dist/atomic/components/show-hide-button.js.map +1 -1
  68. package/dist/atomic/components/smart-snippet-common.js +15 -0
  69. package/dist/atomic/components/smart-snippet-common.js.map +1 -1
  70. package/dist/atomic/components/smart-snippet-feedback-modal-common.js +21 -0
  71. package/dist/atomic/components/smart-snippet-feedback-modal-common.js.map +1 -1
  72. package/dist/atomic/components/smart-snippet-suggestions-common.js +18 -0
  73. package/dist/atomic/components/smart-snippet-suggestions-common.js.map +1 -1
  74. package/dist/atomic/components/stencil-button.js +1 -1
  75. package/dist/atomic/components/stencil-button.js.map +1 -1
  76. package/dist/atomic/components/stencil-carousel.js +3 -0
  77. package/dist/atomic/components/stencil-carousel.js.map +1 -1
  78. package/dist/atomic/components/stencil-checkbox.js +1 -1
  79. package/dist/atomic/components/stencil-checkbox.js.map +1 -1
  80. package/dist/atomic/components/stencil-display-grid.js +3 -0
  81. package/dist/atomic/components/stencil-display-grid.js.map +1 -1
  82. package/dist/atomic/components/stencil-display-wrapper.js +6 -0
  83. package/dist/atomic/components/stencil-display-wrapper.js.map +1 -1
  84. package/dist/atomic/components/stencil-facet-header.js +6 -0
  85. package/dist/atomic/components/stencil-facet-header.js.map +1 -1
  86. package/dist/atomic/components/stencil-facet-search-matches.js +6 -0
  87. package/dist/atomic/components/stencil-facet-search-matches.js.map +1 -1
  88. package/dist/atomic/components/stencil-facet-show-more-less.js +3 -0
  89. package/dist/atomic/components/stencil-facet-show-more-less.js.map +1 -1
  90. package/dist/atomic/components/stencil-facet-value-box.js +3 -0
  91. package/dist/atomic/components/stencil-facet-value-box.js.map +1 -1
  92. package/dist/atomic/components/stencil-facet-value-checkbox.js +7 -2
  93. package/dist/atomic/components/stencil-facet-value-checkbox.js.map +1 -1
  94. package/dist/atomic/components/stencil-facet-value-label-highlight.js +3 -0
  95. package/dist/atomic/components/stencil-facet-value-label-highlight.js.map +1 -1
  96. package/dist/atomic/components/stencil-facet-value-link.js +3 -0
  97. package/dist/atomic/components/stencil-facet-value-link.js.map +1 -1
  98. package/dist/atomic/components/stencil-facet-value.js +3 -0
  99. package/dist/atomic/components/stencil-facet-value.js.map +1 -1
  100. package/dist/atomic/components/stencil-facet-values-group.js +3 -0
  101. package/dist/atomic/components/stencil-facet-values-group.js.map +1 -1
  102. package/dist/atomic/components/stencil-fieldset-group.js +3 -0
  103. package/dist/atomic/components/stencil-fieldset-group.js.map +1 -1
  104. package/dist/atomic/components/stencil-heading.js +1 -1
  105. package/dist/atomic/components/stencil-heading.js.map +1 -1
  106. package/dist/atomic/components/stencil-iconButton.js +3 -0
  107. package/dist/atomic/components/stencil-iconButton.js.map +1 -1
  108. package/dist/atomic/components/stencil-item-link.js +3 -0
  109. package/dist/atomic/components/stencil-item-link.js.map +1 -1
  110. package/dist/atomic/components/stencil-link.js +24 -1
  111. package/dist/atomic/components/stencil-link.js.map +1 -1
  112. package/dist/atomic/components/stencil-magnifying-glass.js +6 -0
  113. package/dist/atomic/components/stencil-magnifying-glass.js.map +1 -1
  114. package/dist/atomic/components/stencil-modal.js +3 -0
  115. package/dist/atomic/components/stencil-modal.js.map +1 -1
  116. package/dist/atomic/components/stencil-radio-button.js +1 -1
  117. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  118. package/dist/atomic/components/stencil-rating.js +5 -2
  119. package/dist/atomic/components/stencil-rating.js.map +1 -1
  120. package/dist/atomic/components/stencil-suggestion-manager.js +9 -0
  121. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  122. package/dist/atomic/components/stencil-tips.js +9 -0
  123. package/dist/atomic/components/stencil-tips.js.map +1 -1
  124. package/dist/atomic/components/stencil-values-container.js +6 -0
  125. package/dist/atomic/components/stencil-values-container.js.map +1 -1
  126. package/dist/atomic/index.esm.js +1 -1
  127. package/dist/atomic/index.esm.js.map +1 -1
  128. package/dist/atomic/{p-d2107c93.entry.js → p-0035e3da.entry.js} +2 -2
  129. package/dist/atomic/{p-e7eea1ef.entry.js → p-01eda62a.entry.js} +2 -2
  130. package/dist/atomic/{p-94b0fca4.entry.js → p-02f2ac0b.entry.js} +2 -2
  131. package/dist/atomic/{p-b211da6c.entry.js → p-066df32a.entry.js} +2 -2
  132. package/dist/atomic/{p-5f2fa73f.entry.js → p-06bc57be.entry.js} +2 -2
  133. package/dist/atomic/{p-5f2fa73f.entry.js.map → p-06bc57be.entry.js.map} +1 -1
  134. package/dist/atomic/{p-5a417451.entry.js → p-0714b56d.entry.js} +2 -2
  135. package/dist/atomic/p-0714b56d.entry.js.map +1 -0
  136. package/dist/atomic/{p-187193bb.js → p-0ed25035.js} +1 -1
  137. package/dist/atomic/p-0ed25035.js.map +1 -0
  138. package/dist/atomic/{p-d618c229.entry.js → p-104d7a84.entry.js} +2 -2
  139. package/dist/atomic/{p-a5bac939.js → p-1b11f219.js} +1 -1
  140. package/dist/atomic/p-1b11f219.js.map +1 -0
  141. package/dist/atomic/{p-8f69b018.entry.js → p-25ee4bab.entry.js} +2 -2
  142. package/dist/atomic/{p-583faf68.entry.js → p-27746cac.entry.js} +2 -2
  143. package/dist/atomic/{p-8be21e4a.js → p-2c5841a0.js} +1 -1
  144. package/dist/atomic/p-2c5841a0.js.map +1 -0
  145. package/dist/atomic/{p-bacb06d7.entry.js → p-2eac7c46.entry.js} +2 -2
  146. package/dist/atomic/{p-134b7370.js → p-2f3e40c8.js} +2 -2
  147. package/dist/atomic/p-2f3e40c8.js.map +1 -0
  148. package/dist/atomic/{p-ab2f6794.entry.js → p-3282ccf8.entry.js} +2 -2
  149. package/dist/atomic/{p-d0584482.entry.js → p-33b3b967.entry.js} +2 -2
  150. package/dist/atomic/p-33b3b967.entry.js.map +1 -0
  151. package/dist/atomic/{p-4027e529.entry.js → p-37182242.entry.js} +2 -2
  152. package/dist/atomic/{p-e988f378.js → p-3881d7ec.js} +1 -1
  153. package/dist/atomic/p-3881d7ec.js.map +1 -0
  154. package/dist/atomic/{p-0947a95f.entry.js → p-3becda0c.entry.js} +2 -2
  155. package/dist/atomic/{p-7da7b187.js → p-3c2b932c.js} +1 -1
  156. package/dist/atomic/p-3c2b932c.js.map +1 -0
  157. package/dist/atomic/{p-173deaca.entry.js → p-4206b797.entry.js} +2 -2
  158. package/dist/atomic/{p-28f4600a.entry.js → p-458697db.entry.js} +2 -2
  159. package/dist/atomic/{p-a3d55993.entry.js → p-4778132c.entry.js} +2 -2
  160. package/dist/atomic/{p-7b9e5e58.entry.js → p-4bc0dc09.entry.js} +2 -2
  161. package/dist/atomic/{p-4bf14d26.js → p-4c85b2fb.js} +2 -2
  162. package/dist/atomic/p-4c85b2fb.js.map +1 -0
  163. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -1
  164. package/dist/atomic/{p-3f0e7549.js → p-4dfa349e.js} +2 -2
  165. package/dist/atomic/p-4dfa349e.js.map +1 -0
  166. package/dist/atomic/{p-bd565f91.entry.js → p-530396d4.entry.js} +2 -2
  167. package/dist/atomic/p-530396d4.entry.js.map +1 -0
  168. package/dist/atomic/{p-64da3471.entry.js → p-582ce205.entry.js} +2 -2
  169. package/dist/atomic/{p-475df84c.entry.js → p-5d36515f.entry.js} +2 -2
  170. package/dist/atomic/{p-ddf72215.entry.js → p-5dbe3b4c.entry.js} +2 -2
  171. package/dist/atomic/{p-1365c7d0.js → p-5e5599f3.js} +2 -2
  172. package/dist/atomic/{p-891cb944.entry.js → p-5eaee0be.entry.js} +2 -2
  173. package/dist/atomic/{p-a9aadc3d.entry.js → p-6489c611.entry.js} +2 -2
  174. package/dist/atomic/{p-e0ba043d.entry.js → p-66beb63a.entry.js} +2 -2
  175. package/dist/atomic/{p-340130de.js → p-67b314f4.js} +2 -2
  176. package/dist/atomic/p-67b314f4.js.map +1 -0
  177. package/dist/atomic/{p-01096d1c.entry.js → p-67f62282.entry.js} +2 -2
  178. package/dist/atomic/{p-97479dde.entry.js → p-690cb10f.entry.js} +2 -2
  179. package/dist/atomic/p-690cb10f.entry.js.map +1 -0
  180. package/dist/atomic/{p-0acbc1aa.entry.js → p-6ca16a70.entry.js} +2 -2
  181. package/dist/atomic/p-6d0e9fad.entry.js.map +1 -1
  182. package/dist/atomic/{p-4310d46f.entry.js → p-6da5e67e.entry.js} +2 -2
  183. package/dist/atomic/{p-30ea57e8.entry.js → p-6f93d6d6.entry.js} +2 -2
  184. package/dist/atomic/{p-beb2ad8e.js → p-72bdaa9d.js} +2 -2
  185. package/dist/atomic/p-72bdaa9d.js.map +1 -0
  186. package/dist/atomic/{p-5346f77d.entry.js → p-72cdb9d8.entry.js} +2 -2
  187. package/dist/atomic/p-72cdb9d8.entry.js.map +1 -0
  188. package/dist/atomic/{p-7b0e3ff4.entry.js → p-798598a4.entry.js} +2 -2
  189. package/dist/atomic/p-798598a4.entry.js.map +1 -0
  190. package/dist/atomic/{p-bd2703e9.js → p-7a7ce0d5.js} +1 -1
  191. package/dist/atomic/p-7a7ce0d5.js.map +1 -0
  192. package/dist/atomic/{p-4ecabf56.js → p-7bc6b014.js} +2 -2
  193. package/dist/atomic/p-7bc6b014.js.map +1 -0
  194. package/dist/atomic/p-7d639646.js +2 -0
  195. package/dist/atomic/{p-20fc8a6c.js.map → p-7d639646.js.map} +1 -1
  196. package/dist/atomic/{p-39de1cef.entry.js → p-81b00c43.entry.js} +2 -2
  197. package/dist/atomic/{p-d4303474.entry.js → p-847cdfd5.entry.js} +2 -2
  198. package/dist/atomic/p-847cdfd5.entry.js.map +1 -0
  199. package/dist/atomic/{p-1ebea045.entry.js → p-84ac45b4.entry.js} +2 -2
  200. package/dist/atomic/{p-57ed25c9.entry.js → p-875eb57b.entry.js} +2 -2
  201. package/dist/atomic/p-87eafe2f.entry.js +2 -0
  202. package/dist/atomic/p-87eafe2f.entry.js.map +1 -0
  203. package/dist/atomic/{p-ceeb9f1f.entry.js → p-895da76b.entry.js} +2 -2
  204. package/dist/atomic/p-895da76b.entry.js.map +1 -0
  205. package/dist/atomic/{p-b1c34434.entry.js → p-8d63a0c4.entry.js} +2 -2
  206. package/dist/atomic/p-90ace4cd.entry.js.map +1 -1
  207. package/dist/atomic/{p-f917dce9.entry.js → p-91260e2b.entry.js} +2 -2
  208. package/dist/atomic/p-91260e2b.entry.js.map +1 -0
  209. package/dist/atomic/{p-95cff664.entry.js → p-9389337e.entry.js} +2 -2
  210. package/dist/atomic/{p-bcc202ff.entry.js → p-9392b7da.entry.js} +2 -2
  211. package/dist/atomic/{p-318c96f5.entry.js → p-9519e656.entry.js} +2 -2
  212. package/dist/atomic/{p-aa69a7f4.entry.js → p-98790c52.entry.js} +2 -2
  213. package/dist/atomic/{p-c2acd146.entry.js → p-98c7ae7f.entry.js} +2 -2
  214. package/dist/atomic/p-9aad555a.entry.js.map +1 -1
  215. package/dist/atomic/{p-a94386b5.entry.js → p-9f01593d.entry.js} +2 -2
  216. package/dist/atomic/{p-4b1dc787.js → p-a24a63d6.js} +1 -1
  217. package/dist/atomic/p-a24a63d6.js.map +1 -0
  218. package/dist/atomic/{p-49ac2124.entry.js → p-a48ae7ab.entry.js} +2 -2
  219. package/dist/atomic/{p-15580d9e.js → p-a8c6b43b.js} +2 -2
  220. package/dist/atomic/p-a8c6b43b.js.map +1 -0
  221. package/dist/atomic/{p-7e588beb.entry.js → p-a9016629.entry.js} +2 -2
  222. package/dist/atomic/p-a9016629.entry.js.map +1 -0
  223. package/dist/atomic/{p-a9e250f8.js → p-a9d9e80e.js} +2 -2
  224. package/dist/atomic/p-a9d9e80e.js.map +1 -0
  225. package/dist/atomic/{p-0fb39501.js → p-aa290a01.js} +2 -2
  226. package/dist/atomic/p-aa290a01.js.map +1 -0
  227. package/dist/atomic/{p-fa9d8ab7.entry.js → p-ab3da44d.entry.js} +2 -2
  228. package/dist/atomic/{p-f964e30a.entry.js → p-acd72087.entry.js} +2 -2
  229. package/dist/atomic/{p-cbc634fa.entry.js → p-ae071697.entry.js} +2 -2
  230. package/dist/atomic/{p-2e78d642.entry.js → p-ae346172.entry.js} +2 -2
  231. package/dist/atomic/p-ae346172.entry.js.map +1 -0
  232. package/dist/atomic/{p-66d48d1a.js → p-b8e66e99.js} +1 -1
  233. package/dist/atomic/p-b8e66e99.js.map +1 -0
  234. package/dist/atomic/{p-4ba12e99.entry.js → p-b93c93f7.entry.js} +2 -2
  235. package/dist/atomic/{p-d4cbd9b1.js → p-b93d0580.js} +2 -2
  236. package/dist/atomic/p-b93d0580.js.map +1 -0
  237. package/dist/atomic/{p-b0ce2261.entry.js → p-bb0e0b5d.entry.js} +2 -2
  238. package/dist/atomic/{p-b0ce2261.entry.js.map → p-bb0e0b5d.entry.js.map} +1 -1
  239. package/dist/atomic/{p-8c87d746.entry.js → p-bf48a7ad.entry.js} +2 -2
  240. package/dist/atomic/{p-1f059522.js → p-c3451367.js} +1 -1
  241. package/dist/atomic/p-c3451367.js.map +1 -0
  242. package/dist/atomic/{p-cacb7fd8.entry.js → p-c402cc93.entry.js} +2 -2
  243. package/dist/atomic/{p-42937d04.entry.js → p-c45361ac.entry.js} +2 -2
  244. package/dist/atomic/p-c45361ac.entry.js.map +1 -0
  245. package/dist/atomic/{p-7cb0050f.js → p-c727ec2d.js} +1 -1
  246. package/dist/atomic/p-c727ec2d.js.map +1 -0
  247. package/dist/atomic/{p-8998da31.entry.js → p-c82dd1aa.entry.js} +2 -2
  248. package/dist/atomic/{p-25660266.js → p-cbbc91ef.js} +2 -2
  249. package/dist/atomic/p-cbbc91ef.js.map +1 -0
  250. package/dist/atomic/p-ccb5ae69.js +2 -0
  251. package/dist/atomic/p-ccb5ae69.js.map +1 -0
  252. package/dist/atomic/{p-9411ab14.entry.js → p-cd047d6d.entry.js} +2 -2
  253. package/dist/atomic/{p-ca0e9cd6.js → p-cdfcb38c.js} +2 -2
  254. package/dist/atomic/p-cdfcb38c.js.map +1 -0
  255. package/dist/atomic/{p-df84c005.entry.js → p-ceca3fb8.entry.js} +2 -2
  256. package/dist/atomic/{p-4e6dcdcf.entry.js → p-cf0a69e5.entry.js} +2 -2
  257. package/dist/atomic/{p-1717e9cf.entry.js → p-d0937472.entry.js} +2 -2
  258. package/dist/atomic/{p-1ceca322.entry.js → p-d3d0ac7c.entry.js} +2 -2
  259. package/dist/atomic/{p-bd50cd51.entry.js → p-d6bc0fb4.entry.js} +2 -2
  260. package/dist/atomic/{p-307e7fd5.js → p-d72be8c2.js} +1 -1
  261. package/dist/atomic/p-d72be8c2.js.map +1 -0
  262. package/dist/atomic/{p-0e6f1e14.js → p-d7f0c2c5.js} +2 -2
  263. package/dist/atomic/p-d7f0c2c5.js.map +1 -0
  264. package/dist/atomic/{p-9dcd5606.js → p-dc8c49c8.js} +2 -2
  265. package/dist/atomic/p-dc8c49c8.js.map +1 -0
  266. package/dist/atomic/{p-d365883e.js → p-dda4be4d.js} +2 -2
  267. package/dist/atomic/p-dda4be4d.js.map +1 -0
  268. package/dist/atomic/{p-75c37247.js → p-de53197d.js} +1 -1
  269. package/dist/atomic/{p-75c37247.js.map → p-de53197d.js.map} +1 -1
  270. package/dist/atomic/{p-d4c2b7c0.js → p-defc2481.js} +1 -1
  271. package/dist/atomic/{p-d4c2b7c0.js.map → p-defc2481.js.map} +1 -1
  272. package/dist/atomic/{p-f02d1e6e.entry.js → p-e0d103ba.entry.js} +2 -2
  273. package/dist/atomic/{p-76cf6545.js → p-e49423b4.js} +2 -2
  274. package/dist/atomic/p-e49423b4.js.map +1 -0
  275. package/dist/atomic/{p-be5d3c54.js → p-e5e2aa64.js} +1 -1
  276. package/dist/atomic/p-e5e2aa64.js.map +1 -0
  277. package/dist/atomic/{p-30e24f95.entry.js → p-e62caa78.entry.js} +2 -2
  278. package/dist/atomic/p-e6f167c9.js +2 -0
  279. package/dist/atomic/p-e6f167c9.js.map +1 -0
  280. package/dist/atomic/{p-0ab0ceaa.js → p-e9feab84.js} +2 -2
  281. package/dist/atomic/p-e9feab84.js.map +1 -0
  282. package/dist/atomic/{p-bdad3117.entry.js → p-f04c86b4.entry.js} +2 -2
  283. package/dist/atomic/{p-9ec21c88.entry.js → p-f0e60a0c.entry.js} +2 -2
  284. package/dist/atomic/{p-6ddd05c2.entry.js → p-f12325cc.entry.js} +2 -2
  285. package/dist/atomic/{p-8a30d1e9.entry.js → p-f44e1bd3.entry.js} +2 -2
  286. package/dist/atomic/{p-d9241b90.entry.js → p-f5a0fdc8.entry.js} +2 -2
  287. package/dist/atomic/p-f5a0fdc8.entry.js.map +1 -0
  288. package/dist/atomic/{p-3957401e.entry.js → p-fa83768b.entry.js} +2 -2
  289. package/dist/atomic/{p-9feb951f.entry.js → p-fd7a8926.entry.js} +2 -2
  290. package/dist/atomic/{p-4e25638d.entry.js → p-ff23598b.entry.js} +2 -2
  291. package/dist/atomic/p-ff23598b.entry.js.map +1 -0
  292. package/dist/cjs/_index.cjs.js +35 -2
  293. package/dist/cjs/_loader.cjs.js +1 -1
  294. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +8 -8
  295. package/dist/cjs/atomic-breadbox.cjs.entry.js +19 -1
  296. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  297. package/dist/cjs/atomic-category-facet.cjs.entry.js +37 -10
  298. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  299. package/dist/cjs/atomic-citation.cjs.entry.js +2 -2
  300. package/dist/cjs/atomic-color-facet.cjs.entry.js +12 -9
  301. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  302. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +12 -1
  303. package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
  304. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -1
  305. package/dist/cjs/atomic-facet.cjs.entry.js +20 -14
  306. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  307. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +3 -3
  308. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -4
  309. package/dist/cjs/atomic-generated-answer.cjs.entry.js +4 -4
  310. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  311. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -2
  312. package/dist/cjs/atomic-insight-facet.cjs.entry.js +13 -13
  313. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +3 -3
  314. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
  315. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +4 -4
  316. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  317. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
  318. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
  319. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +11 -11
  320. package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -7
  321. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  322. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  323. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +9 -0
  324. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js.map +1 -1
  325. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  326. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
  327. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -2
  328. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -2
  329. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +3 -3
  330. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +3 -3
  331. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -2
  332. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +44 -6
  333. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  334. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  335. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -3
  336. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -4
  337. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -1
  338. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +8 -8
  339. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -1
  340. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +5 -2
  341. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  342. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  343. package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -1
  344. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +6 -6
  345. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
  346. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
  347. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  348. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic-load-more-results.cjs.entry.js +14 -2
  350. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  351. package/dist/cjs/atomic-no-results.cjs.entry.js +6 -3
  352. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  353. package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
  354. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +11 -11
  355. package/dist/cjs/atomic-popover.cjs.entry.js +1 -1
  356. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  357. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +8 -5
  358. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  359. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  360. package/dist/cjs/atomic-rating-facet.cjs.entry.js +9 -9
  361. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +7 -7
  362. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  363. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  364. package/dist/cjs/atomic-recs-list.cjs.entry.js +6 -6
  365. package/dist/cjs/atomic-refine-modal.cjs.entry.js +14 -2
  366. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  367. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +7 -1
  368. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  369. package/dist/cjs/atomic-result-children.cjs.entry.js +3 -3
  370. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  371. package/dist/cjs/atomic-result-list.cjs.entry.js +16 -4
  372. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  373. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +1 -1
  374. package/dist/cjs/atomic-result-rating.cjs.entry.js +1 -1
  375. package/dist/cjs/atomic-result-text_2.cjs.entry.js +6 -0
  376. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  377. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -2
  378. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  379. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -1
  380. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +6 -3
  381. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  382. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +1 -1
  383. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -4
  384. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -3
  385. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +4 -4
  386. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +15 -0
  387. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
  388. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -1
  389. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  390. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  391. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  392. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +8 -8
  393. package/dist/cjs/atomic.cjs.js +1 -1
  394. package/dist/cjs/{facet-guard-328b588d.js → facet-guard-0e8cbe50.js} +4 -1
  395. package/dist/cjs/facet-guard-0e8cbe50.js.map +1 -0
  396. package/dist/cjs/{facet-placeholder-21821057.js → facet-placeholder-28bdf849.js} +12 -3
  397. package/dist/cjs/facet-placeholder-28bdf849.js.map +1 -0
  398. package/dist/cjs/{generated-answer-common-4410c9e0.js → generated-answer-common-0d1fc031.js} +30 -3
  399. package/dist/cjs/generated-answer-common-0d1fc031.js.map +1 -0
  400. package/dist/cjs/index-757bc886.js +0 -4
  401. package/dist/cjs/index.cjs.js.map +1 -1
  402. package/dist/cjs/{item-list-guard-506b695a.js → item-list-guard-71a3f994.js} +4 -1
  403. package/dist/cjs/item-list-guard-71a3f994.js.map +1 -0
  404. package/dist/cjs/{item-template-provider-e82736d7.js → item-template-provider-c639f39c.js} +7 -1
  405. package/dist/cjs/item-template-provider-c639f39c.js.map +1 -0
  406. package/dist/cjs/{show-hide-button-2a630d6f.js → show-hide-button-12eb762b.js} +15 -3
  407. package/dist/cjs/show-hide-button-12eb762b.js.map +1 -0
  408. package/dist/cjs/{smart-snippet-common-524d635f.js → smart-snippet-common-9d247110.js} +19 -4
  409. package/dist/cjs/smart-snippet-common-9d247110.js.map +1 -0
  410. package/dist/cjs/{smart-snippet-feedback-modal-common-3b7e3c7e.js → smart-snippet-feedback-modal-common-43bc6145.js} +23 -2
  411. package/dist/cjs/smart-snippet-feedback-modal-common-43bc6145.js.map +1 -0
  412. package/dist/cjs/{smart-snippet-suggestions-common-a6fb3bfd.js → smart-snippet-suggestions-common-4dba10d1.js} +21 -3
  413. package/dist/cjs/smart-snippet-suggestions-common-4dba10d1.js.map +1 -0
  414. package/dist/cjs/{stencil-button-a114783e.js → stencil-button-aa0f9cb5.js} +2 -2
  415. package/dist/cjs/{stencil-button-a114783e.js.map → stencil-button-aa0f9cb5.js.map} +1 -1
  416. package/dist/cjs/{stencil-carousel-254b4ea7.js → stencil-carousel-ecc37fcf.js} +5 -2
  417. package/dist/cjs/stencil-carousel-ecc37fcf.js.map +1 -0
  418. package/dist/cjs/{stencil-checkbox-81c51bbd.js → stencil-checkbox-6a2ad8d3.js} +2 -2
  419. package/dist/cjs/stencil-checkbox-6a2ad8d3.js.map +1 -0
  420. package/dist/cjs/{stencil-display-grid-93c5802a.js → stencil-display-grid-1f4e15ba.js} +4 -1
  421. package/dist/cjs/stencil-display-grid-1f4e15ba.js.map +1 -0
  422. package/dist/cjs/{stencil-display-wrapper-498de571.js → stencil-display-wrapper-b5c56fe9.js} +7 -1
  423. package/dist/cjs/stencil-display-wrapper-b5c56fe9.js.map +1 -0
  424. package/dist/cjs/{stencil-facet-search-matches-9e841241.js → stencil-facet-search-matches-f77a8c78.js} +9 -3
  425. package/dist/cjs/stencil-facet-search-matches-f77a8c78.js.map +1 -0
  426. package/dist/cjs/{stencil-facet-show-more-less-04f33b99.js → stencil-facet-show-more-less-52a679a0.js} +6 -3
  427. package/dist/cjs/stencil-facet-show-more-less-52a679a0.js.map +1 -0
  428. package/dist/cjs/{stencil-facet-value-3354e4da.js → stencil-facet-value-ad8037c7.js} +8 -5
  429. package/dist/cjs/stencil-facet-value-ad8037c7.js.map +1 -0
  430. package/dist/cjs/{stencil-facet-value-box-e8b01b77.js → stencil-facet-value-box-8f6ae2b0.js} +5 -2
  431. package/dist/cjs/stencil-facet-value-box-8f6ae2b0.js.map +1 -0
  432. package/dist/cjs/{stencil-facet-value-checkbox-4800af7b.js → stencil-facet-value-checkbox-58bb59b9.js} +10 -5
  433. package/dist/cjs/stencil-facet-value-checkbox-58bb59b9.js.map +1 -0
  434. package/dist/cjs/{stencil-facet-value-label-highlight-c2421e8f.js → stencil-facet-value-label-highlight-16ea0e83.js} +4 -1
  435. package/dist/cjs/stencil-facet-value-label-highlight-16ea0e83.js.map +1 -0
  436. package/dist/cjs/{stencil-facet-value-link-98e3fe34.js → stencil-facet-value-link-e24cd431.js} +5 -2
  437. package/dist/cjs/stencil-facet-value-link-e24cd431.js.map +1 -0
  438. package/dist/cjs/{stencil-facet-values-group-07b50fc0.js → stencil-facet-values-group-332a2362.js} +5 -2
  439. package/dist/cjs/stencil-facet-values-group-332a2362.js.map +1 -0
  440. package/dist/cjs/{stencil-fieldset-group-3b25c138.js → stencil-fieldset-group-cc350109.js} +4 -1
  441. package/dist/cjs/stencil-fieldset-group-cc350109.js.map +1 -0
  442. package/dist/cjs/{stencil-heading-2faee1f7.js → stencil-heading-7e57d2eb.js} +2 -2
  443. package/dist/cjs/stencil-heading-7e57d2eb.js.map +1 -0
  444. package/dist/cjs/{stencil-iconButton-c8727a20.js → stencil-iconButton-12f18eff.js} +5 -2
  445. package/dist/cjs/stencil-iconButton-12f18eff.js.map +1 -0
  446. package/dist/cjs/{stencil-item-link-9feaef61.js → stencil-item-link-3f38d5be.js} +4 -1
  447. package/dist/cjs/stencil-item-link-3f38d5be.js.map +1 -0
  448. package/dist/cjs/{stencil-link-2e32315d.js → stencil-link-f9b71cbd.js} +26 -3
  449. package/dist/cjs/stencil-link-f9b71cbd.js.map +1 -0
  450. package/dist/cjs/{stencil-magnifying-glass-c1d386a1.js → stencil-magnifying-glass-e09449a3.js} +7 -1
  451. package/dist/cjs/stencil-magnifying-glass-e09449a3.js.map +1 -0
  452. package/dist/cjs/{stencil-modal-9a4a9927.js → stencil-modal-c8184bfa.js} +5 -2
  453. package/dist/cjs/stencil-modal-c8184bfa.js.map +1 -0
  454. package/dist/cjs/{stencil-radio-button-cbcc483e.js → stencil-radio-button-eb67a30a.js} +3 -3
  455. package/dist/cjs/stencil-radio-button-eb67a30a.js.map +1 -0
  456. package/dist/cjs/{stencil-rating-a40e50dd.js → stencil-rating-2b9b6345.js} +6 -3
  457. package/dist/cjs/stencil-rating-2b9b6345.js.map +1 -0
  458. package/dist/cjs/{stencil-suggestion-manager-3e1cf81e.js → stencil-suggestion-manager-83efa596.js} +11 -2
  459. package/dist/cjs/stencil-suggestion-manager-83efa596.js.map +1 -0
  460. package/dist/cjs/{stencil-tips-e913f891.js → stencil-tips-ecad2e9f.js} +10 -1
  461. package/dist/cjs/stencil-tips-ecad2e9f.js.map +1 -0
  462. package/dist/cjs/{stencil-values-container-e4b76048.js → stencil-values-container-0cf24782.js} +11 -5
  463. package/dist/cjs/stencil-values-container-0cf24782.js.map +1 -0
  464. package/dist/cjs/{timeframe-facet-common-82da2ca9.js → timeframe-facet-common-b08ffe64.js} +5 -5
  465. package/dist/cjs/{timeframe-facet-common-82da2ca9.js.map → timeframe-facet-common-b08ffe64.js.map} +1 -1
  466. package/dist/cjs/version.cjs.js +2 -2
  467. package/dist/esm/_index.js +35 -2
  468. package/dist/esm/_loader.js +1 -1
  469. package/dist/esm/atomic-automatic-facet_2.entry.js +8 -8
  470. package/dist/esm/atomic-breadbox.entry.js +19 -1
  471. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  472. package/dist/esm/atomic-category-facet.entry.js +37 -10
  473. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  474. package/dist/esm/atomic-citation.entry.js +2 -2
  475. package/dist/esm/atomic-color-facet.entry.js +12 -9
  476. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  477. package/dist/esm/atomic-did-you-mean.entry.js +12 -1
  478. package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
  479. package/dist/esm/atomic-facet-number-input.entry.js +1 -1
  480. package/dist/esm/atomic-facet.entry.js +20 -14
  481. package/dist/esm/atomic-facet.entry.js.map +1 -1
  482. package/dist/esm/atomic-folded-result-list.entry.js +3 -3
  483. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -4
  484. package/dist/esm/atomic-generated-answer.entry.js +4 -4
  485. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  486. package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -2
  487. package/dist/esm/atomic-insight-facet.entry.js +13 -13
  488. package/dist/esm/atomic-insight-folded-result-list.entry.js +3 -3
  489. package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
  490. package/dist/esm/atomic-insight-generated-answer.entry.js +4 -4
  491. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  492. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
  493. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  494. package/dist/esm/atomic-insight-numeric-facet.entry.js +11 -11
  495. package/dist/esm/atomic-insight-pager.entry.js +7 -7
  496. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  497. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  498. package/dist/esm/atomic-insight-query-summary.entry.js +9 -0
  499. package/dist/esm/atomic-insight-query-summary.entry.js.map +1 -1
  500. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  501. package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
  502. package/dist/esm/atomic-insight-result-action.entry.js +2 -2
  503. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
  504. package/dist/esm/atomic-insight-result-children.entry.js +3 -3
  505. package/dist/esm/atomic-insight-result-list.entry.js +3 -3
  506. package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
  507. package/dist/esm/atomic-insight-search-box.entry.js +43 -5
  508. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  509. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  510. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -3
  511. package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -4
  512. package/dist/esm/atomic-insight-tab.entry.js +1 -1
  513. package/dist/esm/atomic-insight-timeframe-facet.entry.js +8 -8
  514. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -1
  515. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +5 -2
  516. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  517. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  518. package/dist/esm/atomic-ipx-button.entry.js +1 -1
  519. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -6
  520. package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
  521. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
  522. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  523. package/dist/esm/atomic-ipx-tab.entry.js +1 -1
  524. package/dist/esm/atomic-load-more-results.entry.js +14 -2
  525. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  526. package/dist/esm/atomic-no-results.entry.js +6 -3
  527. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  528. package/dist/esm/atomic-notifications.entry.js +1 -1
  529. package/dist/esm/atomic-numeric-facet.entry.js +11 -11
  530. package/dist/esm/atomic-popover.entry.js +1 -1
  531. package/dist/esm/atomic-query-error.entry.js +2 -2
  532. package/dist/esm/atomic-quickview-modal.entry.js +8 -5
  533. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  534. package/dist/esm/atomic-quickview.entry.js +1 -1
  535. package/dist/esm/atomic-rating-facet.entry.js +9 -9
  536. package/dist/esm/atomic-rating-range-facet.entry.js +7 -7
  537. package/dist/esm/atomic-recs-error.entry.js +2 -2
  538. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  539. package/dist/esm/atomic-recs-list.entry.js +6 -6
  540. package/dist/esm/atomic-refine-modal.entry.js +14 -2
  541. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  542. package/dist/esm/atomic-refine-toggle.entry.js +7 -1
  543. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  544. package/dist/esm/atomic-result-children.entry.js +3 -3
  545. package/dist/esm/atomic-result-link.entry.js +1 -1
  546. package/dist/esm/atomic-result-list.entry.js +16 -4
  547. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  548. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  549. package/dist/esm/atomic-result-rating.entry.js +1 -1
  550. package/dist/esm/atomic-result-text_2.entry.js +6 -0
  551. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  552. package/dist/esm/atomic-search-box.entry.js +5 -2
  553. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  554. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -1
  555. package/dist/esm/atomic-segmented-facet.entry.js +6 -3
  556. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  557. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +1 -1
  558. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -4
  559. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -3
  560. package/dist/esm/atomic-smart-snippet.entry.js +4 -4
  561. package/dist/esm/atomic-sort-dropdown.entry.js +15 -0
  562. package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
  563. package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -1
  564. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  565. package/dist/esm/atomic-tab-button.entry.js +1 -1
  566. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  567. package/dist/esm/atomic-timeframe-facet.entry.js +8 -8
  568. package/dist/esm/atomic.js +1 -1
  569. package/dist/esm/{facet-guard-4b795e90.js → facet-guard-3bb4a306.js} +4 -1
  570. package/dist/esm/facet-guard-3bb4a306.js.map +1 -0
  571. package/dist/esm/{facet-placeholder-cf7007ee.js → facet-placeholder-5c76d381.js} +12 -3
  572. package/dist/esm/facet-placeholder-5c76d381.js.map +1 -0
  573. package/dist/esm/{generated-answer-common-7a072444.js → generated-answer-common-50a58790.js} +30 -3
  574. package/dist/esm/generated-answer-common-50a58790.js.map +1 -0
  575. package/dist/esm/index-3f35faca.js +0 -4
  576. package/dist/esm/index.js.map +1 -1
  577. package/dist/esm/{item-list-guard-22b0711a.js → item-list-guard-8cd62b09.js} +4 -1
  578. package/dist/esm/item-list-guard-8cd62b09.js.map +1 -0
  579. package/dist/esm/{item-template-provider-6e736120.js → item-template-provider-d9ddb19d.js} +7 -1
  580. package/dist/esm/item-template-provider-d9ddb19d.js.map +1 -0
  581. package/dist/esm/{show-hide-button-706d82d9.js → show-hide-button-4765764b.js} +15 -3
  582. package/dist/esm/show-hide-button-4765764b.js.map +1 -0
  583. package/dist/esm/{smart-snippet-common-01b7411b.js → smart-snippet-common-bf32e4ba.js} +19 -4
  584. package/dist/esm/smart-snippet-common-bf32e4ba.js.map +1 -0
  585. package/dist/esm/{smart-snippet-feedback-modal-common-50d66179.js → smart-snippet-feedback-modal-common-9d74c0b9.js} +23 -2
  586. package/dist/esm/smart-snippet-feedback-modal-common-9d74c0b9.js.map +1 -0
  587. package/dist/esm/{smart-snippet-suggestions-common-54b6498b.js → smart-snippet-suggestions-common-9375b247.js} +21 -3
  588. package/dist/esm/smart-snippet-suggestions-common-9375b247.js.map +1 -0
  589. package/dist/esm/{stencil-button-5f84efcc.js → stencil-button-49254c75.js} +2 -2
  590. package/dist/esm/{stencil-button-5f84efcc.js.map → stencil-button-49254c75.js.map} +1 -1
  591. package/dist/esm/{stencil-carousel-4264cd9b.js → stencil-carousel-5402db5e.js} +5 -2
  592. package/dist/esm/stencil-carousel-5402db5e.js.map +1 -0
  593. package/dist/esm/{stencil-checkbox-9d8fe5f6.js → stencil-checkbox-d165d303.js} +2 -2
  594. package/dist/esm/stencil-checkbox-d165d303.js.map +1 -0
  595. package/dist/esm/{stencil-display-grid-b9eb7397.js → stencil-display-grid-ebbdd169.js} +4 -1
  596. package/dist/esm/stencil-display-grid-ebbdd169.js.map +1 -0
  597. package/dist/esm/{stencil-display-wrapper-5b32e77c.js → stencil-display-wrapper-8cb4e48e.js} +7 -1
  598. package/dist/esm/stencil-display-wrapper-8cb4e48e.js.map +1 -0
  599. package/dist/esm/{stencil-facet-search-matches-7299e897.js → stencil-facet-search-matches-f36e9ae9.js} +9 -3
  600. package/dist/esm/stencil-facet-search-matches-f36e9ae9.js.map +1 -0
  601. package/dist/esm/{stencil-facet-show-more-less-202207c3.js → stencil-facet-show-more-less-557b4107.js} +6 -3
  602. package/dist/esm/stencil-facet-show-more-less-557b4107.js.map +1 -0
  603. package/dist/esm/{stencil-facet-value-8fd91a54.js → stencil-facet-value-665ca72b.js} +8 -5
  604. package/dist/esm/stencil-facet-value-665ca72b.js.map +1 -0
  605. package/dist/esm/{stencil-facet-value-box-85126921.js → stencil-facet-value-box-cd4a6aa8.js} +5 -2
  606. package/dist/esm/stencil-facet-value-box-cd4a6aa8.js.map +1 -0
  607. package/dist/esm/{stencil-facet-value-checkbox-228b572d.js → stencil-facet-value-checkbox-13802512.js} +10 -5
  608. package/dist/esm/stencil-facet-value-checkbox-13802512.js.map +1 -0
  609. package/dist/esm/{stencil-facet-value-label-highlight-b4083ffd.js → stencil-facet-value-label-highlight-f4518687.js} +4 -1
  610. package/dist/esm/stencil-facet-value-label-highlight-f4518687.js.map +1 -0
  611. package/dist/esm/{stencil-facet-value-link-41281838.js → stencil-facet-value-link-cf3f9c2d.js} +5 -2
  612. package/dist/esm/stencil-facet-value-link-cf3f9c2d.js.map +1 -0
  613. package/dist/esm/{stencil-facet-values-group-1108573d.js → stencil-facet-values-group-fefc8abb.js} +5 -2
  614. package/dist/esm/stencil-facet-values-group-fefc8abb.js.map +1 -0
  615. package/dist/esm/{stencil-fieldset-group-5fa357cd.js → stencil-fieldset-group-e02988dc.js} +4 -1
  616. package/dist/esm/stencil-fieldset-group-e02988dc.js.map +1 -0
  617. package/dist/esm/{stencil-heading-2b28a9b9.js → stencil-heading-c701a05a.js} +2 -2
  618. package/dist/esm/stencil-heading-c701a05a.js.map +1 -0
  619. package/dist/esm/{stencil-iconButton-ff8c8cf7.js → stencil-iconButton-65d8387c.js} +5 -2
  620. package/dist/esm/stencil-iconButton-65d8387c.js.map +1 -0
  621. package/dist/esm/{stencil-item-link-5a3f8f23.js → stencil-item-link-0183987b.js} +4 -1
  622. package/dist/esm/stencil-item-link-0183987b.js.map +1 -0
  623. package/dist/esm/{stencil-link-feb82bc0.js → stencil-link-982cba05.js} +26 -3
  624. package/dist/esm/stencil-link-982cba05.js.map +1 -0
  625. package/dist/esm/{stencil-magnifying-glass-041294b6.js → stencil-magnifying-glass-f6e9c08b.js} +7 -1
  626. package/dist/esm/stencil-magnifying-glass-f6e9c08b.js.map +1 -0
  627. package/dist/esm/{stencil-modal-ec1562dc.js → stencil-modal-99e93edd.js} +5 -2
  628. package/dist/esm/stencil-modal-99e93edd.js.map +1 -0
  629. package/dist/esm/{stencil-radio-button-4b36e45d.js → stencil-radio-button-8d40e86f.js} +3 -3
  630. package/dist/esm/stencil-radio-button-8d40e86f.js.map +1 -0
  631. package/dist/esm/{stencil-rating-2d6963a3.js → stencil-rating-8e6bcc27.js} +6 -3
  632. package/dist/esm/stencil-rating-8e6bcc27.js.map +1 -0
  633. package/dist/esm/{stencil-suggestion-manager-95694bcb.js → stencil-suggestion-manager-c1c4298e.js} +11 -2
  634. package/dist/esm/stencil-suggestion-manager-c1c4298e.js.map +1 -0
  635. package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-3b4426a3.js} +10 -1
  636. package/dist/esm/stencil-tips-3b4426a3.js.map +1 -0
  637. package/dist/esm/{stencil-values-container-369adc52.js → stencil-values-container-53c1232c.js} +11 -5
  638. package/dist/esm/stencil-values-container-53c1232c.js.map +1 -0
  639. package/dist/esm/{timeframe-facet-common-b97e786a.js → timeframe-facet-common-33642d0d.js} +5 -5
  640. package/dist/esm/{timeframe-facet-common-b97e786a.js.map → timeframe-facet-common-33642d0d.js.map} +1 -1
  641. package/dist/esm/version.js +2 -2
  642. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +5 -2
  643. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +6 -0
  644. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +5 -1
  645. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +5 -1
  646. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +5 -1
  647. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +5 -1
  648. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +5 -1
  649. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +5 -1
  650. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +3 -0
  651. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +3 -0
  652. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +5 -1
  653. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +3 -0
  654. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +3 -0
  655. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +3 -0
  656. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +3 -0
  657. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +3 -0
  658. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +6 -0
  659. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +3 -0
  660. package/dist/types/components/common/facets/facet-guard.d.ts +3 -0
  661. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +5 -1
  662. package/dist/types/components/common/facets/facet-placeholder/facet-placeholder.d.ts +5 -1
  663. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +3 -0
  664. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +3 -0
  665. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +3 -0
  666. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +3 -0
  667. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +3 -0
  668. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +6 -0
  669. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +3 -0
  670. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +3 -0
  671. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +5 -1
  672. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +3 -0
  673. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +5 -1
  674. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +5 -1
  675. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +3 -0
  676. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +3 -0
  677. package/dist/types/components/common/generated-answer/copy-button.d.ts +3 -0
  678. package/dist/types/components/common/generated-answer/feedback-button.d.ts +3 -0
  679. package/dist/types/components/common/generated-answer/generated-content/generated-markdown-content.d.ts +3 -0
  680. package/dist/types/components/common/generated-answer/generated-content/generated-text-content.d.ts +3 -0
  681. package/dist/types/components/common/generated-answer/generated-content-container.d.ts +3 -0
  682. package/dist/types/components/common/generated-answer/retry-prompt.d.ts +3 -0
  683. package/dist/types/components/common/generated-answer/show-button.d.ts +3 -0
  684. package/dist/types/components/common/generated-answer/source-citations.d.ts +3 -0
  685. package/dist/types/components/common/item-link/stencil-item-link.d.ts +4 -1
  686. package/dist/types/components/common/item-list/item-display-guard.d.ts +5 -1
  687. package/dist/types/components/common/item-list/item-list-guard.d.ts +5 -1
  688. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +5 -1
  689. package/dist/types/components/common/item-list/stencil-display-table.d.ts +12 -3
  690. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +5 -1
  691. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +5 -1
  692. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +5 -1
  693. package/dist/types/components/common/load-more/guard.d.ts +5 -1
  694. package/dist/types/components/common/load-more/stencil-button.d.ts +1 -4
  695. package/dist/types/components/common/load-more/stencil-container.d.ts +3 -0
  696. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +3 -0
  697. package/dist/types/components/common/load-more/stencil-summary.d.ts +3 -0
  698. package/dist/types/components/common/no-items/cancel.d.ts +3 -0
  699. package/dist/types/components/common/no-items/stencil-container.d.ts +3 -0
  700. package/dist/types/components/common/no-items/stencil-guard.d.ts +3 -0
  701. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +3 -0
  702. package/dist/types/components/common/no-items/stencil-no-items.d.ts +3 -0
  703. package/dist/types/components/common/no-items/stencil-tips.d.ts +3 -0
  704. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +8 -16
  705. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +3 -5
  706. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +3 -0
  707. package/dist/types/components/common/query-correction/stencil-correction.d.ts +3 -0
  708. package/dist/types/components/common/query-correction/stencil-guard.d.ts +3 -0
  709. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +3 -0
  710. package/dist/types/components/common/query-error/stencil-container.d.ts +3 -0
  711. package/dist/types/components/common/query-error/stencil-description.d.ts +3 -0
  712. package/dist/types/components/common/query-error/stencil-details.d.ts +3 -0
  713. package/dist/types/components/common/query-error/stencil-guard.d.ts +3 -0
  714. package/dist/types/components/common/query-error/stencil-icon.d.ts +3 -0
  715. package/dist/types/components/common/query-error/stencil-link.d.ts +3 -0
  716. package/dist/types/components/common/query-error/stencil-show-more.d.ts +3 -0
  717. package/dist/types/components/common/query-error/stencil-title.d.ts +3 -0
  718. package/dist/types/components/common/query-summary/stencil-container.d.ts +3 -0
  719. package/dist/types/components/common/query-summary/stencil-guard.d.ts +3 -0
  720. package/dist/types/components/common/query-summary/stencil-utils.d.ts +3 -10
  721. package/dist/types/components/common/refine-modal/stencil-body.d.ts +3 -0
  722. package/dist/types/components/common/refine-modal/stencil-button.d.ts +3 -0
  723. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +6 -0
  724. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +3 -0
  725. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +3 -0
  726. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +3 -0
  727. package/dist/types/components/common/result-children/children-wrapper.d.ts +3 -0
  728. package/dist/types/components/common/result-children/collection-guard.d.ts +3 -0
  729. package/dist/types/components/common/result-children/guard.d.ts +3 -0
  730. package/dist/types/components/common/result-children/show-hide-button.d.ts +3 -0
  731. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +3 -0
  732. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +3 -0
  733. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +3 -0
  734. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +3 -0
  735. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.d.ts +16 -6
  736. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.d.ts +3 -0
  737. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.d.ts +21 -0
  738. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.d.ts +18 -0
  739. package/dist/types/components/common/sort/container.d.ts +3 -0
  740. package/dist/types/components/common/sort/stencil-guard.d.ts +3 -0
  741. package/dist/types/components/common/sort/stencil-label.d.ts +3 -0
  742. package/dist/types/components/common/sort/stencil-option.d.ts +5 -1
  743. package/dist/types/components/common/sort/stencil-select.d.ts +3 -0
  744. package/dist/types/components/common/stencil-button.d.ts +2 -2
  745. package/dist/types/components/common/stencil-carousel.d.ts +5 -1
  746. package/dist/types/components/common/stencil-checkbox.d.ts +2 -2
  747. package/dist/types/components/common/stencil-fieldset-group.d.ts +5 -1
  748. package/dist/types/components/common/stencil-heading.d.ts +1 -1
  749. package/dist/types/components/common/stencil-iconButton.d.ts +5 -1
  750. package/dist/types/components/common/stencil-radio-button.d.ts +2 -2
  751. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +3 -3
  752. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +9 -0
  753. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +12 -0
  754. package/dist/types/components/common/switch.d.ts +5 -1
  755. package/dist/types/components/common/tabs/tab-guard.d.ts +3 -0
  756. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/user-action.d.ts +3 -0
  757. package/dist/types/components/search/{search-box-suggestions/atomic-search-box-query-suggestions → atomic-search-box-query-suggestions}/atomic-search-box-query-suggestions.d.ts +15 -6
  758. package/dist/types/components/search/facets/color-facet-checkbox/color-facet-checkbox.d.ts +3 -0
  759. package/dist/types/components/search/facets/facet-segmented-value/facet-segmented-value.d.ts +3 -0
  760. package/dist/types/components/search/index.d.ts +1 -0
  761. package/dist/types/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.d.ts +2 -1
  762. package/dist/types/components/search/result-template-components/quickview-iframe/quickview-iframe.d.ts +3 -0
  763. package/dist/types/components.d.ts +0 -49
  764. package/docs/atomic-docs.json +3 -102
  765. package/package.json +8 -5
  766. package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +0 -11
  767. package/dist/atomic/components/atomic-search-box-query-suggestions.js +0 -8
  768. package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +0 -1
  769. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +0 -124
  770. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +0 -1
  771. package/dist/atomic/components/stencil-query-suggestions.js +0 -33
  772. package/dist/atomic/components/stencil-query-suggestions.js.map +0 -1
  773. package/dist/atomic/p-0ab0ceaa.js.map +0 -1
  774. package/dist/atomic/p-0e6f1e14.js.map +0 -1
  775. package/dist/atomic/p-0fb39501.js.map +0 -1
  776. package/dist/atomic/p-134b7370.js.map +0 -1
  777. package/dist/atomic/p-15580d9e.js.map +0 -1
  778. package/dist/atomic/p-187193bb.js.map +0 -1
  779. package/dist/atomic/p-1f059522.js.map +0 -1
  780. package/dist/atomic/p-20fc8a6c.js +0 -2
  781. package/dist/atomic/p-25660266.js.map +0 -1
  782. package/dist/atomic/p-2a02812b.js +0 -2
  783. package/dist/atomic/p-2a02812b.js.map +0 -1
  784. package/dist/atomic/p-2e78d642.entry.js.map +0 -1
  785. package/dist/atomic/p-307e7fd5.js.map +0 -1
  786. package/dist/atomic/p-340130de.js.map +0 -1
  787. package/dist/atomic/p-3f0e7549.js.map +0 -1
  788. package/dist/atomic/p-42937d04.entry.js.map +0 -1
  789. package/dist/atomic/p-4b1dc787.js.map +0 -1
  790. package/dist/atomic/p-4b7a19db.js +0 -2
  791. package/dist/atomic/p-4b7a19db.js.map +0 -1
  792. package/dist/atomic/p-4bf14d26.js.map +0 -1
  793. package/dist/atomic/p-4e25638d.entry.js.map +0 -1
  794. package/dist/atomic/p-4ecabf56.js.map +0 -1
  795. package/dist/atomic/p-5346f77d.entry.js.map +0 -1
  796. package/dist/atomic/p-5a417451.entry.js.map +0 -1
  797. package/dist/atomic/p-66d48d1a.js.map +0 -1
  798. package/dist/atomic/p-68013132.js +0 -2
  799. package/dist/atomic/p-68013132.js.map +0 -1
  800. package/dist/atomic/p-76cf6545.js.map +0 -1
  801. package/dist/atomic/p-7b0e3ff4.entry.js.map +0 -1
  802. package/dist/atomic/p-7c5d4924.entry.js +0 -2
  803. package/dist/atomic/p-7c5d4924.entry.js.map +0 -1
  804. package/dist/atomic/p-7cb0050f.js.map +0 -1
  805. package/dist/atomic/p-7da7b187.js.map +0 -1
  806. package/dist/atomic/p-7e588beb.entry.js.map +0 -1
  807. package/dist/atomic/p-8be21e4a.js.map +0 -1
  808. package/dist/atomic/p-97479dde.entry.js.map +0 -1
  809. package/dist/atomic/p-9dcd5606.js.map +0 -1
  810. package/dist/atomic/p-a5bac939.js.map +0 -1
  811. package/dist/atomic/p-a9e250f8.js.map +0 -1
  812. package/dist/atomic/p-af93b44c.js +0 -2
  813. package/dist/atomic/p-af93b44c.js.map +0 -1
  814. package/dist/atomic/p-bd2703e9.js.map +0 -1
  815. package/dist/atomic/p-bd565f91.entry.js.map +0 -1
  816. package/dist/atomic/p-be5d3c54.js.map +0 -1
  817. package/dist/atomic/p-beb2ad8e.js.map +0 -1
  818. package/dist/atomic/p-ca0e9cd6.js.map +0 -1
  819. package/dist/atomic/p-ceeb9f1f.entry.js.map +0 -1
  820. package/dist/atomic/p-d0584482.entry.js.map +0 -1
  821. package/dist/atomic/p-d365883e.js.map +0 -1
  822. package/dist/atomic/p-d4303474.entry.js.map +0 -1
  823. package/dist/atomic/p-d4cbd9b1.js.map +0 -1
  824. package/dist/atomic/p-d9241b90.entry.js.map +0 -1
  825. package/dist/atomic/p-e58679b8.entry.js +0 -2
  826. package/dist/atomic/p-e58679b8.entry.js.map +0 -1
  827. package/dist/atomic/p-e988f378.js.map +0 -1
  828. package/dist/atomic/p-f917dce9.entry.js.map +0 -1
  829. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +0 -76
  830. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +0 -1
  831. package/dist/cjs/facet-guard-328b588d.js.map +0 -1
  832. package/dist/cjs/facet-placeholder-21821057.js.map +0 -1
  833. package/dist/cjs/generated-answer-common-4410c9e0.js.map +0 -1
  834. package/dist/cjs/item-list-guard-506b695a.js.map +0 -1
  835. package/dist/cjs/item-template-provider-e82736d7.js.map +0 -1
  836. package/dist/cjs/show-hide-button-2a630d6f.js.map +0 -1
  837. package/dist/cjs/smart-snippet-common-524d635f.js.map +0 -1
  838. package/dist/cjs/smart-snippet-feedback-modal-common-3b7e3c7e.js.map +0 -1
  839. package/dist/cjs/smart-snippet-suggestions-common-a6fb3bfd.js.map +0 -1
  840. package/dist/cjs/stencil-carousel-254b4ea7.js.map +0 -1
  841. package/dist/cjs/stencil-checkbox-81c51bbd.js.map +0 -1
  842. package/dist/cjs/stencil-display-grid-93c5802a.js.map +0 -1
  843. package/dist/cjs/stencil-display-wrapper-498de571.js.map +0 -1
  844. package/dist/cjs/stencil-facet-search-matches-9e841241.js.map +0 -1
  845. package/dist/cjs/stencil-facet-show-more-less-04f33b99.js.map +0 -1
  846. package/dist/cjs/stencil-facet-value-3354e4da.js.map +0 -1
  847. package/dist/cjs/stencil-facet-value-box-e8b01b77.js.map +0 -1
  848. package/dist/cjs/stencil-facet-value-checkbox-4800af7b.js.map +0 -1
  849. package/dist/cjs/stencil-facet-value-label-highlight-c2421e8f.js.map +0 -1
  850. package/dist/cjs/stencil-facet-value-link-98e3fe34.js.map +0 -1
  851. package/dist/cjs/stencil-facet-values-group-07b50fc0.js.map +0 -1
  852. package/dist/cjs/stencil-fieldset-group-3b25c138.js.map +0 -1
  853. package/dist/cjs/stencil-heading-2faee1f7.js.map +0 -1
  854. package/dist/cjs/stencil-iconButton-c8727a20.js.map +0 -1
  855. package/dist/cjs/stencil-item-link-9feaef61.js.map +0 -1
  856. package/dist/cjs/stencil-link-2e32315d.js.map +0 -1
  857. package/dist/cjs/stencil-magnifying-glass-c1d386a1.js.map +0 -1
  858. package/dist/cjs/stencil-modal-9a4a9927.js.map +0 -1
  859. package/dist/cjs/stencil-query-suggestions-03268ecc.js +0 -38
  860. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
  861. package/dist/cjs/stencil-radio-button-cbcc483e.js.map +0 -1
  862. package/dist/cjs/stencil-rating-a40e50dd.js.map +0 -1
  863. package/dist/cjs/stencil-suggestion-manager-3e1cf81e.js.map +0 -1
  864. package/dist/cjs/stencil-tips-e913f891.js.map +0 -1
  865. package/dist/cjs/stencil-values-container-e4b76048.js.map +0 -1
  866. package/dist/cjs/suggestions-events-63dd0640.js +0 -42
  867. package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
  868. package/dist/esm/atomic-search-box-query-suggestions.entry.js +0 -72
  869. package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +0 -1
  870. package/dist/esm/facet-guard-4b795e90.js.map +0 -1
  871. package/dist/esm/facet-placeholder-cf7007ee.js.map +0 -1
  872. package/dist/esm/generated-answer-common-7a072444.js.map +0 -1
  873. package/dist/esm/item-list-guard-22b0711a.js.map +0 -1
  874. package/dist/esm/item-template-provider-6e736120.js.map +0 -1
  875. package/dist/esm/show-hide-button-706d82d9.js.map +0 -1
  876. package/dist/esm/smart-snippet-common-01b7411b.js.map +0 -1
  877. package/dist/esm/smart-snippet-feedback-modal-common-50d66179.js.map +0 -1
  878. package/dist/esm/smart-snippet-suggestions-common-54b6498b.js.map +0 -1
  879. package/dist/esm/stencil-carousel-4264cd9b.js.map +0 -1
  880. package/dist/esm/stencil-checkbox-9d8fe5f6.js.map +0 -1
  881. package/dist/esm/stencil-display-grid-b9eb7397.js.map +0 -1
  882. package/dist/esm/stencil-display-wrapper-5b32e77c.js.map +0 -1
  883. package/dist/esm/stencil-facet-search-matches-7299e897.js.map +0 -1
  884. package/dist/esm/stencil-facet-show-more-less-202207c3.js.map +0 -1
  885. package/dist/esm/stencil-facet-value-8fd91a54.js.map +0 -1
  886. package/dist/esm/stencil-facet-value-box-85126921.js.map +0 -1
  887. package/dist/esm/stencil-facet-value-checkbox-228b572d.js.map +0 -1
  888. package/dist/esm/stencil-facet-value-label-highlight-b4083ffd.js.map +0 -1
  889. package/dist/esm/stencil-facet-value-link-41281838.js.map +0 -1
  890. package/dist/esm/stencil-facet-values-group-1108573d.js.map +0 -1
  891. package/dist/esm/stencil-fieldset-group-5fa357cd.js.map +0 -1
  892. package/dist/esm/stencil-heading-2b28a9b9.js.map +0 -1
  893. package/dist/esm/stencil-iconButton-ff8c8cf7.js.map +0 -1
  894. package/dist/esm/stencil-item-link-5a3f8f23.js.map +0 -1
  895. package/dist/esm/stencil-link-feb82bc0.js.map +0 -1
  896. package/dist/esm/stencil-magnifying-glass-041294b6.js.map +0 -1
  897. package/dist/esm/stencil-modal-ec1562dc.js.map +0 -1
  898. package/dist/esm/stencil-query-suggestions-5d6a46d7.js +0 -33
  899. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
  900. package/dist/esm/stencil-radio-button-4b36e45d.js.map +0 -1
  901. package/dist/esm/stencil-rating-2d6963a3.js.map +0 -1
  902. package/dist/esm/stencil-suggestion-manager-95694bcb.js.map +0 -1
  903. package/dist/esm/stencil-tips-be95482d.js.map +0 -1
  904. package/dist/esm/stencil-values-container-369adc52.js.map +0 -1
  905. package/dist/esm/suggestions-events-b7a6f007.js +0 -40
  906. package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
  907. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +0 -13
  908. package/dist/types/components/common/generated-answer/typing-loader.d.ts +0 -2
  909. package/dist/types/components/common/image-carousel/stencil-image-carousel-indicators.d.ts +0 -12
  910. package/dist/types/components/common/image-carousel/stencil-image-carousel.d.ts +0 -15
  911. package/dist/types/components/common/items-per-page/stencil-choices.d.ts +0 -14
  912. package/dist/types/components/common/items-per-page/stencil-label.d.ts +0 -2
  913. package/dist/types/components/common/pager/stencil-pager-guard.d.ts +0 -13
  914. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +0 -20
  915. /package/dist/atomic/{p-d2107c93.entry.js.map → p-0035e3da.entry.js.map} +0 -0
  916. /package/dist/atomic/{p-e7eea1ef.entry.js.map → p-01eda62a.entry.js.map} +0 -0
  917. /package/dist/atomic/{p-94b0fca4.entry.js.map → p-02f2ac0b.entry.js.map} +0 -0
  918. /package/dist/atomic/{p-b211da6c.entry.js.map → p-066df32a.entry.js.map} +0 -0
  919. /package/dist/atomic/{p-d618c229.entry.js.map → p-104d7a84.entry.js.map} +0 -0
  920. /package/dist/atomic/{p-8f69b018.entry.js.map → p-25ee4bab.entry.js.map} +0 -0
  921. /package/dist/atomic/{p-583faf68.entry.js.map → p-27746cac.entry.js.map} +0 -0
  922. /package/dist/atomic/{p-bacb06d7.entry.js.map → p-2eac7c46.entry.js.map} +0 -0
  923. /package/dist/atomic/{p-ab2f6794.entry.js.map → p-3282ccf8.entry.js.map} +0 -0
  924. /package/dist/atomic/{p-4027e529.entry.js.map → p-37182242.entry.js.map} +0 -0
  925. /package/dist/atomic/{p-0947a95f.entry.js.map → p-3becda0c.entry.js.map} +0 -0
  926. /package/dist/atomic/{p-173deaca.entry.js.map → p-4206b797.entry.js.map} +0 -0
  927. /package/dist/atomic/{p-28f4600a.entry.js.map → p-458697db.entry.js.map} +0 -0
  928. /package/dist/atomic/{p-a3d55993.entry.js.map → p-4778132c.entry.js.map} +0 -0
  929. /package/dist/atomic/{p-7b9e5e58.entry.js.map → p-4bc0dc09.entry.js.map} +0 -0
  930. /package/dist/atomic/{p-64da3471.entry.js.map → p-582ce205.entry.js.map} +0 -0
  931. /package/dist/atomic/{p-475df84c.entry.js.map → p-5d36515f.entry.js.map} +0 -0
  932. /package/dist/atomic/{p-ddf72215.entry.js.map → p-5dbe3b4c.entry.js.map} +0 -0
  933. /package/dist/atomic/{p-1365c7d0.js.map → p-5e5599f3.js.map} +0 -0
  934. /package/dist/atomic/{p-891cb944.entry.js.map → p-5eaee0be.entry.js.map} +0 -0
  935. /package/dist/atomic/{p-a9aadc3d.entry.js.map → p-6489c611.entry.js.map} +0 -0
  936. /package/dist/atomic/{p-e0ba043d.entry.js.map → p-66beb63a.entry.js.map} +0 -0
  937. /package/dist/atomic/{p-01096d1c.entry.js.map → p-67f62282.entry.js.map} +0 -0
  938. /package/dist/atomic/{p-0acbc1aa.entry.js.map → p-6ca16a70.entry.js.map} +0 -0
  939. /package/dist/atomic/{p-4310d46f.entry.js.map → p-6da5e67e.entry.js.map} +0 -0
  940. /package/dist/atomic/{p-30ea57e8.entry.js.map → p-6f93d6d6.entry.js.map} +0 -0
  941. /package/dist/atomic/{p-39de1cef.entry.js.map → p-81b00c43.entry.js.map} +0 -0
  942. /package/dist/atomic/{p-1ebea045.entry.js.map → p-84ac45b4.entry.js.map} +0 -0
  943. /package/dist/atomic/{p-57ed25c9.entry.js.map → p-875eb57b.entry.js.map} +0 -0
  944. /package/dist/atomic/{p-b1c34434.entry.js.map → p-8d63a0c4.entry.js.map} +0 -0
  945. /package/dist/atomic/{p-95cff664.entry.js.map → p-9389337e.entry.js.map} +0 -0
  946. /package/dist/atomic/{p-bcc202ff.entry.js.map → p-9392b7da.entry.js.map} +0 -0
  947. /package/dist/atomic/{p-318c96f5.entry.js.map → p-9519e656.entry.js.map} +0 -0
  948. /package/dist/atomic/{p-aa69a7f4.entry.js.map → p-98790c52.entry.js.map} +0 -0
  949. /package/dist/atomic/{p-c2acd146.entry.js.map → p-98c7ae7f.entry.js.map} +0 -0
  950. /package/dist/atomic/{p-a94386b5.entry.js.map → p-9f01593d.entry.js.map} +0 -0
  951. /package/dist/atomic/{p-49ac2124.entry.js.map → p-a48ae7ab.entry.js.map} +0 -0
  952. /package/dist/atomic/{p-fa9d8ab7.entry.js.map → p-ab3da44d.entry.js.map} +0 -0
  953. /package/dist/atomic/{p-f964e30a.entry.js.map → p-acd72087.entry.js.map} +0 -0
  954. /package/dist/atomic/{p-cbc634fa.entry.js.map → p-ae071697.entry.js.map} +0 -0
  955. /package/dist/atomic/{p-4ba12e99.entry.js.map → p-b93c93f7.entry.js.map} +0 -0
  956. /package/dist/atomic/{p-8c87d746.entry.js.map → p-bf48a7ad.entry.js.map} +0 -0
  957. /package/dist/atomic/{p-cacb7fd8.entry.js.map → p-c402cc93.entry.js.map} +0 -0
  958. /package/dist/atomic/{p-8998da31.entry.js.map → p-c82dd1aa.entry.js.map} +0 -0
  959. /package/dist/atomic/{p-9411ab14.entry.js.map → p-cd047d6d.entry.js.map} +0 -0
  960. /package/dist/atomic/{p-df84c005.entry.js.map → p-ceca3fb8.entry.js.map} +0 -0
  961. /package/dist/atomic/{p-4e6dcdcf.entry.js.map → p-cf0a69e5.entry.js.map} +0 -0
  962. /package/dist/atomic/{p-1717e9cf.entry.js.map → p-d0937472.entry.js.map} +0 -0
  963. /package/dist/atomic/{p-1ceca322.entry.js.map → p-d3d0ac7c.entry.js.map} +0 -0
  964. /package/dist/atomic/{p-bd50cd51.entry.js.map → p-d6bc0fb4.entry.js.map} +0 -0
  965. /package/dist/atomic/{p-f02d1e6e.entry.js.map → p-e0d103ba.entry.js.map} +0 -0
  966. /package/dist/atomic/{p-30e24f95.entry.js.map → p-e62caa78.entry.js.map} +0 -0
  967. /package/dist/atomic/{p-bdad3117.entry.js.map → p-f04c86b4.entry.js.map} +0 -0
  968. /package/dist/atomic/{p-9ec21c88.entry.js.map → p-f0e60a0c.entry.js.map} +0 -0
  969. /package/dist/atomic/{p-6ddd05c2.entry.js.map → p-f12325cc.entry.js.map} +0 -0
  970. /package/dist/atomic/{p-8a30d1e9.entry.js.map → p-f44e1bd3.entry.js.map} +0 -0
  971. /package/dist/atomic/{p-3957401e.entry.js.map → p-fa83768b.entry.js.map} +0 -0
  972. /package/dist/atomic/{p-9feb951f.entry.js.map → p-fd7a8926.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["Switch","props","attributes","onClick","onToggle","checked","ariaLabel","String","part","tabIndex","title","containerClasses","join","handleClasses","buttonClasses","withToggle","h","role","class","CopyButton","Button","style","isCopied","error","icon","CopyIcon","FeedbackButton","variant","active","ariaPressed","Thumbs","global","factory","exports","this","_getDefaults","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","defaults","changeDefaults","newDefaults","escapeTest","escapeReplace","RegExp","source","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape$1","html","encode","test","replace","unescapeTest","unescape","_","n","toLowerCase","charAt","fromCharCode","parseInt","substring","caret","edit","regex","opt","obj","name","val","valSource","getRegex","cleanUrl","href","encodeURI","e","noopTest","exec","splitCells","tableRow","count","row","match","offset","str","escaped","curr","cells","split","i","trim","shift","length","pop","splice","push","rtrim","c","invert","l","suffLen","currChar","slice","findClosingBracket","b","indexOf","level","outputLink","cap","link","raw","lexer","text","state","inLink","token","type","tokens","inlineTokens","indentCodeCompensation","matchIndentToCode","indentToCode","map","node","matchIndentInNode","indentInNode","_Tokenizer","options","rules","constructor","space","src","block","newline","code","codeBlockStyle","fences","lang","inline","anyPunctuation","heading","trimmed","depth","hr","blockquote","top","blockTokens","list","bull","isordered","ordered","start","loose","items","itemRegex","itemContents","endsWithBlankLine","endEarly","line","t","repeat","nextLine","indent","trimStart","search","blankLine","nextBulletRegex","Math","min","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","istask","ischecked","task","trimEnd","spacers","filter","hasMultipleLineBreaks","some","pre","def","tag","table","headers","aligns","rows","item","header","align","cell","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","reflink","links","nolink","linkString","emStrong","maskedSrc","prevChar","emStrongLDelim","nextChar","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","emStrongRDelimAst","emStrongRDelimUnd","lastIndex","lastCharLength","index","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","blockCode","bullet","_paragraph","blockText","_blockLabel","_tag","_comment","blockNormal","gfmTable","blockGfm","blockPedantic","inlineCode","_punctuation","blockSkip","_inlineComment","_inlineLabel","reflinkSearch","inlineNormal","inlinePedantic","inlineGfm","inlineBreaks","normal","_Lexer","inlineQueue","Object","create","lex","lexInline","next","leading","tabs","lastToken","cutSrc","lastParagraphClipped","extTokenizer","call","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","charCodeAt","console","Error","keepPrevChar","keys","includes","lastIndexOf","startInline","_Renderer","infostring","quote","body","startatt","listitem","checkbox","tablerow","content","tablecell","flags","strong","em","cleanHref","out","image","_TextRenderer","_Parser","textRenderer","parse","parser","parseInline","renderers","genericToken","ret","headingToken","codeToken","tableToken","j","k","blockquoteToken","listToken","itemBody","unshift","htmlToken","paragraphToken","textToken","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","static","Set","preprocess","markdown","postprocess","processAllTokens","Marked","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","args","use","callback","values","concat","childTokens","flat","pack","opts","ext","prevRenderer","apply","extLevel","prop","rendererProp","rendererFunc","tokenizerProp","tokenizerFunc","prevTokenizer","hooksProp","hooksFunc","prevHook","passThroughHooks","has","arg","Promise","resolve","then","packWalktokens","origOpt","warn","throwError","onError","prototype","toString","all","catch","message","msg","reject","markedInstance","marked","getDefaults","toInlinePlainText","textWithHtml","withoutHtmlTags","withCollapsedWhitespaces","unclosedElement","completeUnclosedElement","symbol","replacements","escapeHtml","customRenderer","plainText","unwrappedText","withClosedElement","transformMarkdownToHtml","GeneratedMarkdownContent","answerAsHtml","DOMPurify","sanitize","answer","ADD_ATTR","isStreaming","innerHTML","GeneratedTextContent","GeneratedContentContainer","children","answerContentFormat","RetryPrompt","buttonLabel","ShowButton","isCollapsed","i18n","ArrowBottomIcon","ArrowTopIcon","SourceCitations","isVisible","label","GeneratedAnswerCommon","storage","SafeStorage","_data","readStoredData","insertFeedbackModal","modalRef","document","createElement","generatedAnswer","getGeneratedAnswer","host","insertAdjacentElement","storedData","getParsedJSON","StorageItems","GENERATED_ANSWER_DATA","writeStoredData","data","setJSON","newData","getGeneratedAnswerStatus","isHidden","getGeneratedAnswerState","isGenerating","hasAnswer","hasError","getBindings","hasRetryableError","getSearchStatusState","isRetryable","hasNoAnswerGenerated","citations","undefined","isAnswerVisible","toggleTooltip","key","hasClipboard","navigator","clipboard","writeText","copyToClipboardTooltip","getCopyError","getCopied","hasCustomNoAnswerMessage","slot","getNamedSlotFromHost","copyToClipboard","setCopied","logCopyToClipboard","setCopyError","engine","logger","setTimeout","clickOnShowButton","expanded","collapse","expand","getCitation","citation","renderCitations","buildInteractiveCitation","disableCitationAnchoring","logCitationHover","interactiveCitation","id","sendHoverEndEvent","citationHoverTimeMs","exportparts","renderFeedbackAndCopyButtons","liked","disliked","clickLike","clickDislike","setIsAnswerHelpful","isAnswerHelpful","helpful","openFeedbackModal","feedbackSubmitted","isOpen","dislike","like","renderDisclaimer","renderShowButton","collapsible","canRender","renderGeneratingAnswerLabel","renderContent","Heading","show","hide","retry","renderCustomNoAnswerMessage","render","cannotAnswer","contentClasses"],"sources":["src/components/common/switch.tsx","src/components/common/generated-answer/copy-button.tsx","src/components/common/generated-answer/feedback-button.tsx","../../node_modules/marked/lib/marked.umd.js","src/components/common/generated-answer/generated-content/markdown-utils.ts","src/components/common/generated-answer/generated-content/generated-markdown-content.tsx","src/components/common/generated-answer/generated-content/generated-text-content.tsx","src/components/common/generated-answer/generated-content-container.tsx","src/components/common/generated-answer/retry-prompt.tsx","src/components/common/generated-answer/show-button.tsx","src/components/common/generated-answer/source-citations.tsx","src/components/common/generated-answer/generated-answer-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface SwitchProps {\n checked?: boolean;\n onToggle?(checked: boolean): void;\n ariaLabel?: string;\n part?: string;\n tabIndex?: number;\n title?: string;\n withToggle?: boolean;\n}\n\nexport const Switch: FunctionalComponent<SwitchProps> = (props) => {\n const attributes = {\n onClick: () => props.onToggle?.(!props.checked),\n 'arial-label': props.ariaLabel,\n 'aria-checked': String(!!props.checked),\n part: props.part,\n tabIndex: props.tabIndex,\n title: props.title,\n };\n\n const containerClasses = [\n 'w-12',\n 'h-6',\n 'p-1',\n 'rounded-full',\n props.checked ? 'bg-primary' : 'bg-neutral',\n ].join(' ');\n\n const handleClasses = [\n 'w-4',\n 'h-4',\n 'rounded-full',\n 'bg-white',\n props.checked ? 'ml-6' : '',\n ].join(' ');\n\n const buttonClasses = [\n 'rounded-full',\n 'btn-outline-neutral',\n props.withToggle ? 'flex' : 'hidden',\n ].join(' ');\n\n return (\n <button role=\"switch\" {...attributes} class={buttonClasses}>\n <div class={containerClasses}>\n <div class={handleClasses}></div>\n </div>\n </button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport CopyIcon from '../../../images/copy.svg';\nimport {Button} from '../stencil-button';\n\ninterface CopyButtonProps {\n title: string;\n isCopied: boolean;\n error: boolean;\n onClick: () => void;\n}\n\nexport const CopyButton: FunctionalComponent<CopyButtonProps> = (props) => {\n return (\n <Button\n title={props.title}\n part=\"copy-button\"\n style={'text-transparent'}\n class={`rounded-md p-2 ${props.isCopied ? 'copied' : ''} ${\n props.error ? 'error' : ''\n }`}\n onClick={props.onClick}\n >\n <div class=\"icon-container text-neutral-dark\">\n <atomic-icon class=\"w-5\" icon={CopyIcon}></atomic-icon>\n </div>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport Thumbs from '../../../images/thumbs.svg';\nimport {Button} from '../stencil-button';\n\ntype FeedbackVariant = 'like' | 'dislike';\n\ninterface FeedbackButtonProps {\n title: string;\n variant: FeedbackVariant;\n active: boolean;\n onClick: () => void;\n}\n\nexport const FeedbackButton: FunctionalComponent<FeedbackButtonProps> = (\n props\n) => {\n return (\n <Button\n title={props.title}\n style=\"text-transparent\"\n part=\"feedback-button\"\n class={`feedback-button rounded-md p-2 ${props.variant} ${\n props.active ? 'active' : ''\n }`}\n onClick={props.onClick}\n ariaPressed={`${props.active}`}\n >\n <atomic-icon class=\"w-5\" icon={Thumbs}></atomic-icon>\n </Button>\n );\n};\n","/**\n * marked v12.0.2 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n /**\n * Gets the original marked default options.\n */\n function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n }\n exports.defaults = _getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n const escapeTest = /[&<>\"']/;\n const escapeReplace = new RegExp(escapeTest.source, 'g');\n const escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\n const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\n const escapeReplacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n };\n const getEscapeReplacement = (ch) => escapeReplacements[ch];\n function escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n }\n const unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n }\n const caret = /(^|[^\\[])\\^/g;\n function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n }\n function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n }\n const noopTest = { exec: () => null };\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\n function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n }\n\n function outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n }\n function indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n }\n /**\n * Tokenizer\n */\n class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || exports.defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n // precede setext continuation with 4 spaces so it isn't a setext\n let text = cap[0].replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, '\\n $1');\n text = rtrim(text.replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n }\n else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n }\n\n /**\n * Block-Level Grammar\n */\n const newline = /^(?: *(?:\\n|$))+/;\n const blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\n const fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\n const hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\n const heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\n const bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n const lheading = edit(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, / {4}/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .getRegex();\n const _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\n const blockText = /^[^\\n]+/;\n const _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n const def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\n const list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\n const _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\n const _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\n const html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n const paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n const blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n /**\n * Normal Block Grammar\n */\n const blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n };\n /**\n * GFM Block Grammar\n */\n const gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n const blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n };\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n const blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n };\n /**\n * Inline-Level Grammar\n */\n const escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\n const inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n const br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\n const inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\n // list of unicode punctuation marks, plus any missing characters from CommonMark spec\n const _punctuation = '\\\\p{P}\\\\p{S}';\n const punctuation = edit(/^((?![*_])[\\spunctuation])/, 'u')\n .replace(/punctuation/g, _punctuation).getRegex();\n // sequences em should skip over [title](link), `code`, <html>\n const blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\n const emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n // (6) Not allowed for _\n const emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n const anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\n const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\n const tag = edit('^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\n const _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n const link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\n const reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\n const nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\n const reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n /**\n * Normal Inline Grammar\n */\n const inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n };\n /**\n * Pedantic Inline Grammar\n */\n const inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n };\n /**\n * GFM Inline Grammar\n */\n const inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n };\n /**\n * GFM + Line Breaks Inline Grammar\n */\n const inlineBreaks = {\n ...inlineGfm,\n br: edit(br).replace('{2,}', '*').getRegex(),\n text: edit(inlineGfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n };\n /**\n * exports\n */\n const block = {\n normal: blockNormal,\n gfm: blockGfm,\n pedantic: blockPedantic\n };\n const inline = {\n normal: inlineNormal,\n gfm: inlineGfm,\n breaks: inlineBreaks,\n pedantic: inlinePedantic\n };\n\n /**\n * Block Lexer\n */\n class _Lexer {\n tokens;\n options;\n state;\n tokenizer;\n inlineQueue;\n constructor(options) {\n // TokenList cannot be created in one go\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || exports.defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n }\n else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n }\n else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n for (let i = 0; i < this.inlineQueue.length; i++) {\n const next = this.inlineQueue[i];\n this.inlineTokens(next.src, next.tokens);\n }\n this.inlineQueue = [];\n return this.tokens;\n }\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n }\n else {\n src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n }\n\n /**\n * Renderer\n */\n class _Renderer {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n return '<pre><code class=\"language-'\n + escape$1(lang)\n + '\">'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n blockquote(quote) {\n return `<blockquote>\\n${quote}</blockquote>\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `<h${level}>${text}</h${level}>\\n`;\n }\n hr() {\n return '<hr>\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `<li>${text}</li>\\n`;\n }\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\">';\n }\n paragraph(text) {\n return `<p>${text}</p>\\n`;\n }\n table(header, body) {\n if (body)\n body = `<tbody>${body}</tbody>`;\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n tablerow(content) {\n return `<tr>\\n${content}</tr>\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `<strong>${text}</strong>`;\n }\n em(text) {\n return `<em>${text}</em>`;\n }\n codespan(text) {\n return `<code>${text}</code>`;\n }\n br() {\n return '<br>';\n }\n del(text) {\n return `<del>${text}</del>`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${title}\"`;\n }\n out += '>';\n return out;\n }\n text(text) {\n return text;\n }\n }\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n class _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return '' + text;\n }\n image(href, title, text) {\n return '' + text;\n }\n br() {\n return '';\n }\n }\n\n /**\n * Parsing & Compiling\n */\n class _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || exports.defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case 'code': {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case 'table': {\n const tableToken = token;\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < tableToken.header.length; j++) {\n cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });\n }\n header += this.renderer.tablerow(cell);\n let body = '';\n for (let j = 0; j < tableToken.rows.length; j++) {\n const row = tableToken.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = '';\n for (let j = 0; j < listToken.items.length; j++) {\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = '';\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n }\n\n class _Hooks {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n }\n\n class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '<p>An error occurred:</p><pre>'\n + escape$1(e.message + '', true)\n + '</pre>';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n }\n\n const markedInstance = new Marked();\n function marked(src, opt) {\n return markedInstance.parse(src, opt);\n }\n /**\n * Sets the default options.\n *\n * @param options Hash of options\n */\n marked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Gets the original marked default options.\n */\n marked.getDefaults = _getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n marked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Run callback for every token\n */\n marked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n };\n /**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\n marked.parseInline = markedInstance.parseInline;\n /**\n * Expose\n */\n marked.Parser = _Parser;\n marked.parser = _Parser.parse;\n marked.Renderer = _Renderer;\n marked.TextRenderer = _TextRenderer;\n marked.Lexer = _Lexer;\n marked.lexer = _Lexer.lex;\n marked.Tokenizer = _Tokenizer;\n marked.Hooks = _Hooks;\n marked.parse = marked;\n const options = marked.options;\n const setOptions = marked.setOptions;\n const use = marked.use;\n const walkTokens = marked.walkTokens;\n const parseInline = marked.parseInline;\n const parse = marked;\n const parser = _Parser.parse;\n const lexer = _Lexer.lex;\n\n exports.Hooks = _Hooks;\n exports.Lexer = _Lexer;\n exports.Marked = Marked;\n exports.Parser = _Parser;\n exports.Renderer = _Renderer;\n exports.TextRenderer = _TextRenderer;\n exports.Tokenizer = _Tokenizer;\n exports.getDefaults = _getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n}));\n//# sourceMappingURL=marked.umd.js.map\n","import {marked} from 'marked';\n\nconst toInlinePlainText = (textWithHtml: string): string => {\n const withoutHtmlTags = textWithHtml.replace(/<[^>]*>/g, ' ');\n const withCollapsedWhitespaces = withoutHtmlTags.replace(/\\s{2,}/g, ' ');\n\n return withCollapsedWhitespaces.trim();\n};\n\nconst unclosedElement = /(\\*{1,3}|`)($|\\w[\\w\\s]*$)/;\n\nconst completeUnclosedElement = (text: string) => {\n const match = unclosedElement.exec(text);\n if (match) {\n const symbol = match[1];\n\n const replacements: Record<string, string> = {\n '***':\n '<strong part=\"answer-strong\"><em part=\"answer-emphasis\">$2</em></strong>',\n '**': '<strong part=\"answer-strong\">$2</strong>',\n '*': '<em part=\"answer-emphasis\">$2</em>',\n '`': '<code part=\"answer-inline-code\">$2</code>',\n };\n\n return text.replace(unclosedElement, replacements[symbol]);\n }\n\n return text;\n};\n\nconst escapeHtml = (text: string) => {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n};\n\nconst customRenderer = {\n blockquote(quote: string) {\n return `<blockquote part=\"answer-quote-block\">${quote}</blockquote>`;\n },\n\n code(code: string) {\n return `<pre part=\"answer-code-block\"><code>${escapeHtml(code)}</code></pre>`;\n },\n\n codespan(text: string) {\n return `<code part=\"answer-inline-code\">${text}</code>`;\n },\n\n em(text: string) {\n return `<em part=\"answer-emphasis\">${text}</em>`;\n },\n\n heading(text: string, level: number) {\n const plainText = toInlinePlainText(text);\n\n return `<div part=\"answer-heading-${level}\" aria-label=\"${plainText}\">${text}</div>`;\n },\n\n html(text: string) {\n return escapeHtml(text);\n },\n\n list(body: string, ordered: boolean, start: number | '') {\n const type = ordered ? 'ol' : 'ul';\n const part = ordered ? 'answer-ordered-list' : 'answer-unordered-list';\n\n const tag =\n ordered && start !== 1\n ? `<${type} part=\"${part}\" start=\"${start}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${body}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to remove wrapping `<p>` element around list item content.\n * @param text The element text content.\n * @returns The list item element to render.\n */\n listitem(text: string) {\n const unwrappedText = text\n .replace(/^<p[^>]*>/, '')\n .replace(/<\\/p>\\n?$/, '');\n const withClosedElement = completeUnclosedElement(unwrappedText);\n return `<li part=\"answer-list-item\">${withClosedElement}</li>`;\n },\n\n paragraph(text: string) {\n return `<p part=\"answer-paragraph\">${text}</p>`;\n },\n\n strong(text: string) {\n return `<strong part=\"answer-strong\">${text}</strong>`;\n },\n\n /**\n * Custom Marked renderer to wrap `<table>` element in a scrolling container.\n * @param header The table header content.\n * @param body The table body content.\n * @returns The element to render.\n */\n table(header: string, body: string) {\n return `<div part=\"answer-table-container\" class=\"scrollable-table\"><table part=\"answer-table\"><thead>${header}</thead><tbody>${body}</tbody></table></div>`;\n },\n\n tablecell(\n content: string,\n flags: {header: boolean; align: 'center' | 'left' | 'right' | null}\n ) {\n const type = flags.header ? 'th' : 'td';\n const part = flags.header ? 'answer-table-header' : 'answer-table-content';\n const tag = flags.align\n ? `<${type} part=\"${part}\" align=\"${flags.align}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${content}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to complete unclosed inline elements such as bold, italic, and code.\n * @param text The text content.\n * @returns The corrected text content.\n */\n text(text: string) {\n return completeUnclosedElement(text);\n },\n};\n\nexport const transformMarkdownToHtml = (text: string): string => {\n return marked.use({renderer: customRenderer}).parse(text) as string;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {transformMarkdownToHtml} from './markdown-utils';\n\ninterface GeneratedMarkdownContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedMarkdownContent: FunctionalComponent<\n GeneratedMarkdownContentProps\n> = (props) => {\n const answerAsHtml = DOMPurify.sanitize(\n transformMarkdownToHtml(props.answer ?? ''),\n {ADD_ATTR: ['part']}\n );\n\n return (\n <div\n part=\"generated-text\"\n class={`text-on-background mb-0 ${props.isStreaming ? 'cursor' : ''}`}\n innerHTML={answerAsHtml}\n />\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface GeneratedTextContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedTextContent: FunctionalComponent<\n GeneratedTextContentProps\n> = (props) => {\n return (\n <p\n part=\"generated-text\"\n class={`text-on-background mb-0 whitespace-pre-wrap ${\n props.isStreaming ? 'cursor' : ''\n }`}\n >\n {props.answer}\n </p>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {GeneratedMarkdownContent} from './generated-content/generated-markdown-content';\nimport {GeneratedTextContent} from './generated-content/generated-text-content';\n\ninterface GeneratedContentContainerProps {\n answer?: string;\n answerContentFormat?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedContentContainer: FunctionalComponent<\n GeneratedContentContainerProps\n> = (props, children) => {\n return (\n <div part=\"generated-container\" class=\"mt-6\">\n {props.answerContentFormat === 'text/markdown' ? (\n <GeneratedMarkdownContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n ) : (\n <GeneratedTextContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n )}\n <div class=\"footer mt-6\">{children}</div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface RetryPromptProps {\n message: string;\n buttonLabel: string;\n onClick: () => void;\n}\n\nexport const RetryPrompt: FunctionalComponent<RetryPromptProps> = (props) => (\n <div part=\"retry-container\" class=\"mt-4\">\n <div class=\"text-neutral-dark mx-auto text-center\">{props.message}</div>\n <Button\n class=\"mx-auto mt-4 block px-4 py-2\"\n style=\"outline-primary\"\n onClick={props.onClick}\n >\n {props.buttonLabel}\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport ArrowBottomIcon from '../../../images/arrow-bottom-rounded.svg';\nimport ArrowTopIcon from '../../../images/arrow-top-rounded.svg';\nimport {Button} from '../stencil-button';\n\ninterface ShowButtonProps {\n i18n: i18n;\n isCollapsed: boolean;\n onClick: () => void;\n}\n\nexport const ShowButton: FunctionalComponent<ShowButtonProps> = (props) => (\n <Button\n style=\"text-primary\"\n part=\"answer-show-button\"\n class=\"hidden items-center hover:bg-transparent\"\n onClick={() => props.onClick()}\n >\n <div class=\"text-base font-light\">\n {props.isCollapsed\n ? props.i18n.t('show-more')\n : props.i18n.t('show-less')}\n </div>\n <atomic-icon\n part=\"answer-show-icon\"\n class=\"ml-2 w-3.5\"\n icon={props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon}\n ></atomic-icon>\n </Button>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface SourceCitationsProps {\n label: string;\n isVisible: boolean;\n}\n\nexport const SourceCitations: FunctionalComponent<SourceCitationsProps> = (\n props,\n children\n) =>\n props.isVisible ? (\n <div class=\"source-citations\">\n <p part=\"citations-label\" class=\"text-neutral-dark mb-2 shrink-0\">\n {props.label}\n </p>\n <ol class=\"citations-container flex list-none flex-wrap items-center gap-2\">\n {children}\n </ol>\n </div>\n ) : null;\n","import {\n GeneratedAnswer,\n GeneratedAnswerCitation,\n GeneratedAnswerState,\n InteractiveCitation,\n InteractiveCitationProps,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {\n GeneratedAnswerData,\n SafeStorage,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {getNamedSlotFromHost} from '../../../utils/slot-utils';\nimport {AnyBindings} from '../interface/bindings';\nimport {Heading} from '../stencil-heading';\nimport {Switch} from '../switch';\nimport {CopyButton} from './copy-button';\nimport {FeedbackButton} from './feedback-button';\nimport {GeneratedContentContainer} from './generated-content-container';\nimport {RetryPrompt} from './retry-prompt';\nimport {ShowButton} from './show-button';\nimport {SourceCitations} from './source-citations';\n\ninterface GeneratedAnswerCommonOptions {\n host: HTMLElement;\n withToggle?: boolean;\n collapsible?: boolean;\n disableCitationAnchoring?: boolean;\n getGeneratedAnswer: () => GeneratedAnswer | undefined;\n getGeneratedAnswerState: () => GeneratedAnswerState | undefined;\n getSearchStatusState: () => SearchStatusState | undefined;\n getBindings: () => AnyBindings;\n getCopied: () => boolean;\n setCopied: (isCopied: boolean) => void;\n getCopyError: () => boolean;\n setCopyError: (copyError: boolean) => void;\n setAriaMessage: (message: string) => void;\n buildInteractiveCitation: (\n props: InteractiveCitationProps\n ) => InteractiveCitation;\n}\n\nexport class GeneratedAnswerCommon {\n private storage: SafeStorage = new SafeStorage();\n private _data: GeneratedAnswerData;\n private modalRef?: HTMLAtomicGeneratedAnswerFeedbackModalElement;\n\n constructor(private props: GeneratedAnswerCommonOptions) {\n this._data = this.readStoredData();\n }\n\n public insertFeedbackModal() {\n this.modalRef = document.createElement(\n 'atomic-generated-answer-feedback-modal'\n );\n this.modalRef.generatedAnswer = this.props.getGeneratedAnswer()!;\n this.props.host.insertAdjacentElement('beforebegin', this.modalRef);\n }\n\n public readStoredData(): GeneratedAnswerData {\n const {withToggle} = this.props;\n const storedData = this.storage.getParsedJSON<GeneratedAnswerData>(\n StorageItems.GENERATED_ANSWER_DATA,\n {isVisible: true}\n );\n\n // This check ensures that the answer is visible when the toggle is hidden and visible is set to false in the local storage.\n return {isVisible: (withToggle && storedData.isVisible) || !withToggle};\n }\n\n public writeStoredData(data: GeneratedAnswerData) {\n this.storage.setJSON(StorageItems.GENERATED_ANSWER_DATA, data);\n }\n\n get data() {\n return this._data;\n }\n\n set data(newData: GeneratedAnswerData) {\n this._data = newData;\n }\n\n public getGeneratedAnswerStatus() {\n const isHidden = !this.props.getGeneratedAnswerState()?.isVisible;\n const isGenerating = !!this.props.getGeneratedAnswerState()?.isStreaming;\n const hasAnswer = !!this.props.getGeneratedAnswerState()?.answer;\n const hasError = !!this.props.getGeneratedAnswerState()?.error;\n\n if (isHidden) {\n return this.props.getBindings().i18n.t('generated-answer-hidden');\n }\n\n if (isGenerating) {\n return this.props.getBindings().i18n.t('generating-answer');\n }\n\n if (hasError) {\n return this.props.getBindings().i18n.t('answer-could-not-be-generated');\n }\n\n if (hasAnswer) {\n return this.props.getBindings().i18n.t('answer-generated', {\n answer: this.props.getGeneratedAnswerState()?.answer,\n });\n }\n\n return '';\n }\n\n private get hasRetryableError() {\n return (\n !this.props.getSearchStatusState()?.hasError &&\n this.props.getGeneratedAnswerState()?.error?.isRetryable\n );\n }\n\n private get hasNoAnswerGenerated() {\n const {answer, citations} = this.props.getGeneratedAnswerState() ?? {};\n return (\n answer === undefined && !citations?.length && !this.hasRetryableError\n );\n }\n\n private get isAnswerVisible() {\n return this.props.getGeneratedAnswerState()?.isVisible;\n }\n\n private get toggleTooltip() {\n const key = this.isAnswerVisible\n ? 'generated-answer-toggle-on'\n : 'generated-answer-toggle-off';\n return this.props.getBindings().i18n.t(key);\n }\n\n private get hasClipboard() {\n return !!navigator?.clipboard?.writeText;\n }\n\n private get copyToClipboardTooltip() {\n if (this.props.getCopyError()) {\n return this.props.getBindings().i18n.t('failed-to-copy-generated-answer');\n }\n\n return !this.props.getCopied()\n ? this.props.getBindings().i18n.t('copy-generated-answer')\n : this.props.getBindings().i18n.t('generated-answer-copied');\n }\n\n private get hasCustomNoAnswerMessage() {\n const slot = getNamedSlotFromHost(this.props.host, 'no-answer-message');\n return !!slot;\n }\n\n private async copyToClipboard(answer: string) {\n try {\n await navigator.clipboard.writeText(answer);\n this.props.setCopied(true);\n this.props.getGeneratedAnswer()?.logCopyToClipboard();\n } catch (error) {\n this.props.setCopyError(true);\n this.props\n .getBindings()\n .engine.logger.error(`Failed to copy to clipboard: ${error}`);\n }\n\n setTimeout(() => {\n this.props.setCopied(false);\n this.props.setCopyError(false);\n }, 2000);\n }\n\n private clickOnShowButton() {\n if (this.props.getGeneratedAnswerState()?.expanded) {\n this.props.getGeneratedAnswer()?.collapse();\n } else {\n this.props.getGeneratedAnswer()?.expand();\n }\n }\n\n private getCitation(citation: GeneratedAnswerCitation) {\n const {title} = citation;\n const {i18n} = this.props.getBindings();\n\n return title.trim() !== ''\n ? citation\n : {...citation, title: i18n.t('no-title')};\n }\n\n private renderCitations() {\n const {\n getGeneratedAnswerState,\n buildInteractiveCitation,\n getGeneratedAnswer,\n disableCitationAnchoring,\n } = this.props;\n const {citations} = getGeneratedAnswerState() ?? {};\n const {logCitationHover} = getGeneratedAnswer() ?? {};\n\n return citations?.map(\n (citation: GeneratedAnswerCitation, index: number) => {\n const interactiveCitation = buildInteractiveCitation({\n options: {\n citation,\n },\n });\n return (\n <li key={citation.id} class=\"max-w-full\">\n <atomic-citation\n citation={this.getCitation(citation)}\n index={index}\n sendHoverEndEvent={(citationHoverTimeMs: number) => {\n logCitationHover?.(citation.id, citationHoverTimeMs);\n }}\n interactiveCitation={interactiveCitation}\n disableCitationAnchoring={disableCitationAnchoring}\n exportparts=\"citation,citation-popover\"\n />\n </li>\n );\n }\n );\n }\n\n private renderFeedbackAndCopyButtons() {\n const {getGeneratedAnswerState, getBindings, getCopied, getCopyError} =\n this.props;\n const {i18n} = getBindings();\n const {liked, disliked, answer, isStreaming} =\n getGeneratedAnswerState() ?? {};\n\n const containerClasses = [\n 'feedback-buttons',\n 'flex',\n 'h-9',\n 'absolute',\n 'top-6',\n 'shrink-0',\n 'gap-2',\n this.props.withToggle ? 'right-20' : 'right-6',\n ].join(' ');\n\n if (isStreaming) {\n return null;\n }\n\n return (\n <div class={containerClasses}>\n <FeedbackButton\n title={i18n.t('this-answer-was-helpful')}\n variant=\"like\"\n active={!!liked}\n onClick={() => this.clickLike()}\n />\n <FeedbackButton\n title={i18n.t('this-answer-was-not-helpful')}\n variant=\"dislike\"\n active={!!disliked}\n onClick={() => this.clickDislike()}\n />\n {this.hasClipboard ? (\n <CopyButton\n title={this.copyToClipboardTooltip}\n isCopied={getCopied()}\n error={getCopyError()}\n onClick={async () => {\n if (answer) {\n await this.copyToClipboard(answer);\n }\n }}\n />\n ) : null}\n </div>\n );\n }\n\n private setIsAnswerHelpful(isAnswerHelpful: boolean) {\n if (this.modalRef) {\n this.modalRef.helpful = isAnswerHelpful;\n }\n }\n\n private openFeedbackModal() {\n if (\n this.modalRef &&\n !this.props.getGeneratedAnswerState()?.feedbackSubmitted\n ) {\n this.modalRef.isOpen = true;\n }\n }\n\n private clickDislike() {\n this.setIsAnswerHelpful(false);\n this.props.getGeneratedAnswer()?.dislike();\n this.openFeedbackModal();\n }\n\n private clickLike() {\n this.setIsAnswerHelpful(true);\n this.props.getGeneratedAnswer()?.like();\n this.openFeedbackModal();\n }\n\n private renderDisclaimer() {\n const {getGeneratedAnswerState, getBindings} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n if (isStreaming) {\n return null;\n }\n return (\n <div class=\"text-neutral-dark text-xs/[1rem]\">\n <slot name=\"disclaimer\" slot=\"disclaimer\">\n {i18n.t('generated-answer-disclaimer')}\n </slot>\n </div>\n );\n }\n\n private renderShowButton() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {expanded, isStreaming} = getGeneratedAnswerState() ?? {};\n const canRender = collapsible && !isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <ShowButton\n i18n={i18n}\n onClick={() => this.clickOnShowButton()}\n isCollapsed={!expanded}\n ></ShowButton>\n );\n }\n\n private renderGeneratingAnswerLabel() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n const canRender = collapsible && isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <div\n part=\"is-generating\"\n class=\"text-primary hidden text-base font-light\"\n >\n {i18n.t('generating-answer')}...\n </div>\n );\n }\n\n private renderContent() {\n const {getGeneratedAnswerState, getBindings, getGeneratedAnswer} =\n this.props;\n const {i18n} = getBindings();\n const {isStreaming, answer, citations, answerContentFormat} =\n getGeneratedAnswerState() ?? {};\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n <div class=\"ml-auto flex h-9 items-center\">\n <Switch\n part=\"toggle\"\n checked={this.isAnswerVisible}\n onToggle={(checked) => {\n checked\n ? getGeneratedAnswer()?.show()\n : getGeneratedAnswer()?.hide();\n }}\n ariaLabel={i18n.t('generated-answer-title')}\n title={this.toggleTooltip}\n withToggle={this.props.withToggle}\n ></Switch>\n </div>\n </div>\n {this.hasRetryableError && this.isAnswerVisible ? (\n <RetryPrompt\n onClick={() => getGeneratedAnswer()?.retry()}\n buttonLabel={i18n.t('retry')}\n message={i18n.t('retry-stream-message')}\n />\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible ? (\n <GeneratedContentContainer\n answer={answer}\n answerContentFormat={answerContentFormat}\n isStreaming={!!isStreaming}\n >\n {this.renderFeedbackAndCopyButtons()}\n <SourceCitations\n label={i18n.t('citations')}\n isVisible={!!citations?.length}\n >\n {this.renderCitations()}\n </SourceCitations>\n </GeneratedContentContainer>\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible && (\n <div part=\"generated-answer-footer\" class=\"mt-6 flex justify-end\">\n {this.renderGeneratingAnswerLabel()}\n {this.renderShowButton()}\n {this.renderDisclaimer()}\n </div>\n )}\n </div>\n );\n }\n\n private renderCustomNoAnswerMessage() {\n const {getBindings} = this.props;\n const {i18n} = getBindings();\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n </div>\n <div part=\"generated-container\" class=\"mt-6 break-words\">\n <slot name=\"no-answer-message\"></slot>\n </div>\n </div>\n );\n }\n\n public render() {\n const {getGeneratedAnswerState} = this.props;\n const {cannotAnswer} = getGeneratedAnswerState() ?? {};\n const contentClasses =\n 'mx-auto mt-0 mb-4 border border-neutral shadow-lg p-6 bg-background rounded-lg p-6 text-on-background';\n\n if (this.hasNoAnswerGenerated) {\n return cannotAnswer && this.hasCustomNoAnswerMessage ? (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderCustomNoAnswerMessage()}</article>\n </aside>\n </div>\n ) : null;\n }\n\n return (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderContent()}</article>\n </aside>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["RefineModalBody","_","children","h","part","slot","class","RefineModalFiltersSection","i18n","withAutomaticFacets","withFacets","Fragment","t","name","RefineModalFiltersClearButton","onClick","Button","style","text","RefineModalSortSection","onSelect","onChange","icon","SortIcon","atomicRefineModalCss","AtomicRefineModalStyle0","AtomicRefineModal","this","isOpen","collapseFacetsAfter","watchEnabled","host","querySelector","append","createFacetSlot","initialize","breadcrumbManager","buildBreadcrumbManager","bindings","engine","sort","buildSort","querySummary","buildQuerySummary","searchStatus","buildSearchStatus","facetManager","buildFacetManager","tabManager","buildTabManager","divSlot","document","createElement","setAttribute","addFacetColumnStyling","facets","store","getFacetElements","boundInterfaces","getBoundInterfaces","sortByDocumentPosition","facetsSection","horizontalFacetsSection","boundInterface","facetSection","findSection","push","horizontalFacetSection","triagedFacets","triageFacetsByParents","triagedFacet","values","sortedFacets","i","length","get","visibleFacets","invisibleFacets","sortFacetVisibility","getAllFacets","visibleFacetsClone","cloneFacets","invisibleFacetsClone","generator","makeAutomaticFacetGenerator","updateCollapseFacetsDependingOnFacetsVisibility","mainInterface","closest","Error","boundExternalInterfaces","Array","from","querySelectorAll","filter","atomicExternal","map","facet","classList","remove","popoverClass","isRefineModalFacet","clone","cloneNode","isCollapsed","state","automaticFacetSet","desiredCount","el","display","flexDirection","gap","options","sortOptions","select","e","composedPath","option","find","expression","value","sortBy","criteria","buildOption","label","tabs","shouldDisplayOnCurrentTab","included","excluded","tabManagerState","activeTab","selected","isSortedBy","renderSort","renderFilters","hasFacetElements","hasAutomaticFacets","set","undefined","breadcrumbManagerState","hasBreadcrumbs","deselectAll","render","RefineModal","key","onClose","title","numberOfItems","querySummaryState","total","openButton","componentDidLoad","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n AtomicInterface,\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["announceFacetSearchResultsWithAriaLive","facet","label","setAriaLive","i18n","prevState","state","facetSearch","subscribe","shouldUpdateFacetSearchComponent","query","t","count","values","length","FacetShowMoreLess","props","showMore","showMoreFacetValues","showLess","showLessFacetValues","btnClasses","iconClasses","canShowLessValues","canShowMoreValues","h","class","Button","style","part","ariaLabel","onClick","onShowLess","ref","showLessRef","icon","MinusIcon","onShowMore","showMoreRef","PlusIcon"],"sources":["src/components/common/facets/facet-search/facet-search-aria-live.ts","src/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.tsx"],"sourcesContent":["import type {Facet, FacetSearchState} from '@coveo/headless';\nimport type {i18n} from 'i18next';\nimport {shouldUpdateFacetSearchComponent} from './facet-search-utils';\n\nexport function announceFacetSearchResultsWithAriaLive(\n facet: Pick<Facet, 'subscribe'> & {state: {facetSearch: FacetSearchState}},\n label: string,\n setAriaLive: (msg: string) => void,\n i18n: i18n\n) {\n let prevState = facet.state.facetSearch;\n facet.subscribe(() => {\n if (\n shouldUpdateFacetSearchComponent(facet.state.facetSearch, prevState) &&\n facet.state.facetSearch.query\n ) {\n prevState = facet.state.facetSearch;\n\n setAriaLive(\n i18n.t('facet-search-results-count', {\n count: facet.state.facetSearch.values.length,\n label,\n })\n );\n }\n });\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport MinusIcon from '../../../../images/minus.svg';\nimport PlusIcon from '../../../../images/plus.svg';\nimport {Button} from '../../stencil-button';\n\ninterface FacetShowMoreProps {\n label: string;\n i18n: i18n;\n canShowLessValues: boolean;\n canShowMoreValues: boolean;\n onShowMore(): void;\n onShowLess(): void;\n showMoreRef?: (element?: HTMLButtonElement) => void;\n showLessRef?: (element?: HTMLButtonElement) => void;\n}\n\nexport const FacetShowMoreLess: FunctionalComponent<FacetShowMoreProps> = (\n props\n) => {\n const label = props.i18n.t(props.label);\n const showMore = props.i18n.t('show-more');\n const showMoreFacetValues = props.i18n.t('show-more-facet-values', {\n label,\n });\n const showLess = props.i18n.t('show-less');\n const showLessFacetValues = props.i18n.t('show-less-facet-values', {\n label,\n });\n const btnClasses = 'flex items-baseline text-left p-2 text-sm max-w-full';\n const iconClasses = 'w-2 h-2 mr-1';\n if (!props.canShowLessValues && !props.canShowMoreValues) {\n return;\n }\n\n return (\n <div class=\"mt-2\">\n <Button\n style=\"text-primary\"\n part=\"show-less\"\n class={`${btnClasses} ${props.canShowLessValues ? '' : 'hidden'}`}\n ariaLabel={showLessFacetValues}\n onClick={() => props.onShowLess()}\n ref={props.showLessRef}\n >\n <atomic-icon\n part=\"show-more-less-icon\"\n class={iconClasses}\n icon={MinusIcon}\n ></atomic-icon>\n <span class=\"truncate\">{showLess}</span>\n </Button>\n <Button\n style=\"text-primary\"\n part=\"show-more\"\n class={`${btnClasses} ${props.canShowMoreValues ? '' : 'hidden'}`}\n ariaLabel={showMoreFacetValues}\n onClick={() => props.onShowMore()}\n ref={props.showMoreRef}\n >\n <atomic-icon\n part=\"show-more-less-icon\"\n class={iconClasses}\n icon={PlusIcon}\n ></atomic-icon>\n <span class=\"truncate\">{showMore}</span>\n </Button>\n </div>\n );\n};\n"],"mappings":"gHAIgBA,EACdC,EACAC,EACAC,EACAC,GAEA,IAAIC,EAAYJ,EAAMK,MAAMC,YAC5BN,EAAMO,WAAU,KACd,GACEC,EAAiCR,EAAMK,MAAMC,YAAaF,IAC1DJ,EAAMK,MAAMC,YAAYG,MACxB,CACAL,EAAYJ,EAAMK,MAAMC,YAExBJ,EACEC,EAAKO,EAAE,6BAA8B,CACnCC,MAAOX,EAAMK,MAAMC,YAAYM,OAAOC,OACtCZ,U,IAKV,C,wQCTaa,EACXC,IAEA,MAAMd,EAAQc,EAAMZ,KAAKO,EAAEK,EAAMd,OACjC,MAAMe,EAAWD,EAAMZ,KAAKO,EAAE,aAC9B,MAAMO,EAAsBF,EAAMZ,KAAKO,EAAE,yBAA0B,CACjET,UAEF,MAAMiB,EAAWH,EAAMZ,KAAKO,EAAE,aAC9B,MAAMS,EAAsBJ,EAAMZ,KAAKO,EAAE,yBAA0B,CACjET,UAEF,MAAMmB,EAAa,uDACnB,MAAMC,EAAc,eACpB,IAAKN,EAAMO,oBAAsBP,EAAMQ,kBAAmB,CACxD,M,CAGF,OACEC,EAAA,OAAKC,MAAM,QACTD,EAACE,EAAM,CACLC,MAAM,eACNC,KAAK,YACLH,MAAO,GAAGL,KAAcL,EAAMO,kBAAoB,GAAK,WACvDO,UAAWV,EACXW,QAAS,IAAMf,EAAMgB,aACrBC,IAAKjB,EAAMkB,aAEXT,EAAA,eACEI,KAAK,sBACLH,MAAOJ,EACPa,KAAMC,IAERX,EAAA,QAAMC,MAAM,YAAYP,IAE1BM,EAACE,EAAM,CACLC,MAAM,eACNC,KAAK,YACLH,MAAO,GAAGL,KAAcL,EAAMQ,kBAAoB,GAAK,WACvDM,UAAWZ,EACXa,QAAS,IAAMf,EAAMqB,aACrBJ,IAAKjB,EAAMsB,aAEXb,EAAA,eACEI,KAAK,sBACLH,MAAOJ,EACPa,KAAMI,IAERd,EAAA,QAAMC,MAAM,YAAYT,IAEtB,S","ignoreList":[]}