@coveo/atomic 3.51.0 → 3.52.0

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 (337) hide show
  1. package/custom-elements.json +947 -831
  2. package/dist/atomic/_atomic.esm.js +1 -1
  3. package/dist/atomic/atomic.esm.js.map +1 -1
  4. package/dist/atomic/components/_index.d.ts +0 -8
  5. package/dist/atomic/components/_index.js +97 -25
  6. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +2 -2
  7. package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +1 -0
  8. package/dist/atomic/components/components/common/facets/timeframe-facet-common.js +1 -0
  9. package/dist/atomic/components/components/common/generated-answer/atomic-answer-content/atomic-answer-content.js +166 -0
  10. package/dist/atomic/components/components/common/generated-answer/atomic-generated-answer-thread-item/atomic-generated-answer-thread-item.js +155 -0
  11. package/dist/atomic/components/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.js +165 -0
  12. package/dist/atomic/components/components/common/generated-answer/render-follow-up-input.js +66 -0
  13. package/dist/atomic/components/components/common/generated-answer/styles/generated-answer.tw.css.js +1 -1
  14. package/dist/atomic/components/components/insight/atomic-insight-result-action/atomic-insight-result-action.js +169 -0
  15. package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +3 -2
  16. package/dist/atomic/components/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.js +79 -0
  17. package/dist/atomic/components/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.js +267 -0
  18. package/dist/atomic/components/components/insight/atomic-insight-user-actions-session/atomic-insight-user-actions-session.js +1 -1
  19. package/dist/atomic/components/components/insight/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js +1 -1
  20. package/dist/atomic/components/components/insight/index.js +3 -0
  21. package/dist/atomic/components/components/insight/lazy-index.js +3 -0
  22. package/dist/atomic/components/components/search/atomic-external/atomic-external.js +1 -1
  23. package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +96 -9
  24. package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +2 -2
  25. package/dist/atomic/components/decorators/bindings.js +1 -1
  26. package/dist/atomic/components/global/environment.js +1 -1
  27. package/dist/atomic/components/index.js.map +1 -1
  28. package/dist/atomic/components/mixins/bindings-mixin.js +1 -1
  29. package/dist/atomic/components/utils/custom-element-tags.js +6 -2
  30. package/dist/atomic/components/utils/tailwind.global.tw.css.js +2 -2
  31. package/dist/atomic/index.esm.js +1 -1
  32. package/dist/atomic/index.esm.js.map +1 -1
  33. package/dist/atomic/lang/cs.json +1 -1
  34. package/dist/atomic/lang/da.json +1 -1
  35. package/dist/atomic/lang/de.json +1 -1
  36. package/dist/atomic/lang/dev.json +1 -1
  37. package/dist/atomic/lang/el.json +1 -1
  38. package/dist/atomic/lang/en.json +1 -1
  39. package/dist/atomic/lang/es.json +1 -1
  40. package/dist/atomic/lang/fi.json +1 -1
  41. package/dist/atomic/lang/fr.json +1 -1
  42. package/dist/atomic/lang/hu.json +1 -1
  43. package/dist/atomic/lang/id.json +1 -1
  44. package/dist/atomic/lang/it.json +1 -1
  45. package/dist/atomic/lang/ja.json +1 -1
  46. package/dist/atomic/lang/ko.json +1 -1
  47. package/dist/atomic/lang/nl.json +1 -1
  48. package/dist/atomic/lang/no.json +1 -1
  49. package/dist/atomic/lang/pl.json +1 -1
  50. package/dist/atomic/lang/pt-BR.json +1 -1
  51. package/dist/atomic/lang/pt.json +1 -1
  52. package/dist/atomic/lang/ru.json +1 -1
  53. package/dist/atomic/lang/sv.json +1 -1
  54. package/dist/atomic/lang/th.json +1 -1
  55. package/dist/atomic/lang/tr.json +1 -1
  56. package/dist/atomic/lang/zh-CN.json +1 -1
  57. package/dist/atomic/lang/zh-TW.json +1 -1
  58. package/dist/atomic/lang/zh.json +1 -1
  59. package/dist/atomic/p-998f7983.js +3 -0
  60. package/dist/atomic/p-998f7983.js.map +1 -0
  61. package/dist/cjs/_index.cjs.js +110 -28
  62. package/dist/cjs/_loader.cjs.js +3 -4
  63. package/dist/cjs/app-globals-18f43c37.js +506 -0
  64. package/dist/cjs/app-globals-18f43c37.js.map +1 -0
  65. package/dist/cjs/atomic.cjs.js +4 -5
  66. package/dist/cjs/atomic.cjs.js.map +1 -1
  67. package/dist/cjs/index.cjs.js.map +1 -1
  68. package/dist/cjs/loader.cjs.js.map +1 -1
  69. package/dist/cjs/version.cjs.js +2 -2
  70. package/dist/esm/_index.js +97 -23
  71. package/dist/esm/_loader.js +3 -4
  72. package/dist/esm/app-globals-c5b073da.js +481 -0
  73. package/dist/esm/app-globals-c5b073da.js.map +1 -0
  74. package/dist/esm/atomic.js +3 -4
  75. package/dist/esm/atomic.js.map +1 -1
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/loader.js.map +1 -1
  78. package/dist/esm/version.js +2 -2
  79. package/dist/types/components/common/context/bindings-context.d.ts +1 -1
  80. package/dist/types/components/common/facets/timeframe-facet-common.d.ts +1 -0
  81. package/dist/types/components/common/generated-answer/{answerContent/answer-content.d.ts → atomic-answer-content/atomic-answer-content.d.ts} +7 -6
  82. package/dist/types/components/common/generated-answer/{generated-answer-thread-item/generated-answer-thread-item.d.ts → atomic-generated-answer-thread-item/atomic-generated-answer-thread-item.d.ts} +3 -3
  83. package/dist/types/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.d.ts +42 -0
  84. package/dist/types/components/insight/atomic-insight-result-action/atomic-insight-result-action.d.ts +33 -18
  85. package/dist/types/components/insight/atomic-insight-result-children/atomic-insight-result-children.d.ts +1 -0
  86. package/dist/types/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +62 -0
  87. package/dist/types/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.d.ts +47 -28
  88. package/dist/types/components/insight/index.d.ts +3 -0
  89. package/dist/types/components/search/atomic-external/atomic-external.d.ts +1 -1
  90. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +11 -2
  91. package/dist/types/components.d.ts +0 -298
  92. package/dist/types/decorators/bindings.d.ts +1 -1
  93. package/dist/types/index.d.ts +2 -3
  94. package/dist/types/utils/accessibility-utils.d.ts +2 -2
  95. package/dist/types/utils/init-queue.d.ts +1 -1
  96. package/docs/atomic-docs.json +2 -43
  97. package/package.json +4 -8
  98. package/dist/atomic/components/_commonjsHelpers.js +0 -5
  99. package/dist/atomic/components/_commonjsHelpers.js.map +0 -1
  100. package/dist/atomic/components/atomic-insight-result-action.d.ts +0 -11
  101. package/dist/atomic/components/atomic-insight-result-action.js +0 -272
  102. package/dist/atomic/components/atomic-insight-result-action.js.map +0 -1
  103. package/dist/atomic/components/atomic-insight-result-children-template.d.ts +0 -11
  104. package/dist/atomic/components/atomic-insight-result-children-template.js +0 -242
  105. package/dist/atomic/components/atomic-insight-result-children-template.js.map +0 -1
  106. package/dist/atomic/components/atomic-insight-timeframe-facet.d.ts +0 -11
  107. package/dist/atomic/components/atomic-insight-timeframe-facet.js +0 -816
  108. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +0 -1
  109. package/dist/atomic/components/atomic-stencil-facet-date-input.d.ts +0 -11
  110. package/dist/atomic/components/atomic-stencil-facet-date-input.js +0 -107
  111. package/dist/atomic/components/atomic-stencil-facet-date-input.js.map +0 -1
  112. package/dist/atomic/components/date-utils.js +0 -26
  113. package/dist/atomic/components/date-utils.js.map +0 -1
  114. package/dist/atomic/components/initialization-utils.js +0 -226
  115. package/dist/atomic/components/initialization-utils.js.map +0 -1
  116. package/dist/atomic/components/props-utils.js +0 -1457
  117. package/dist/atomic/components/props-utils.js.map +0 -1
  118. package/dist/atomic/components/stencil-button.js +0 -148
  119. package/dist/atomic/components/stencil-button.js.map +0 -1
  120. package/dist/atomic/p-1580513b.js +0 -2
  121. package/dist/atomic/p-1580513b.js.map +0 -1
  122. package/dist/atomic/p-1df0744f.entry.js +0 -9
  123. package/dist/atomic/p-1df0744f.entry.js.map +0 -1
  124. package/dist/atomic/p-2045a1b1.js +0 -2
  125. package/dist/atomic/p-2045a1b1.js.map +0 -1
  126. package/dist/atomic/p-4573c419.js +0 -2
  127. package/dist/atomic/p-4573c419.js.map +0 -1
  128. package/dist/atomic/p-500bf5c4.entry.js +0 -2
  129. package/dist/atomic/p-500bf5c4.entry.js.map +0 -1
  130. package/dist/atomic/p-5226a938.js +0 -3
  131. package/dist/atomic/p-5226a938.js.map +0 -1
  132. package/dist/atomic/p-720863c3.js +0 -2
  133. package/dist/atomic/p-720863c3.js.map +0 -1
  134. package/dist/atomic/p-81336626.entry.js +0 -2
  135. package/dist/atomic/p-81336626.entry.js.map +0 -1
  136. package/dist/atomic/p-81d6e743.js +0 -2
  137. package/dist/atomic/p-81d6e743.js.map +0 -1
  138. package/dist/atomic/p-aad3b4ec.js +0 -3
  139. package/dist/atomic/p-aad3b4ec.js.map +0 -1
  140. package/dist/atomic/p-b5af331b.entry.js +0 -2
  141. package/dist/atomic/p-b5af331b.entry.js.map +0 -1
  142. package/dist/atomic/p-b7209471.js +0 -2
  143. package/dist/atomic/p-b7209471.js.map +0 -1
  144. package/dist/atomic/p-dac60354.js +0 -2
  145. package/dist/atomic/p-dac60354.js.map +0 -1
  146. package/dist/atomic/p-e1255160.js +0 -2
  147. package/dist/atomic/p-e1255160.js.map +0 -1
  148. package/dist/cjs/_commonjsHelpers-68cdf74f.js +0 -7
  149. package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +0 -1
  150. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  151. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  152. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +0 -153
  153. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +0 -1
  154. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +0 -222
  155. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +0 -1
  156. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +0 -790
  157. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +0 -1
  158. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +0 -86
  159. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +0 -1
  160. package/dist/cjs/date-utils-aae1d713.js +0 -28
  161. package/dist/cjs/date-utils-aae1d713.js.map +0 -1
  162. package/dist/cjs/event-utils-9bfcf3c5.js +0 -27
  163. package/dist/cjs/event-utils-9bfcf3c5.js.map +0 -1
  164. package/dist/cjs/index-122375df.js +0 -1394
  165. package/dist/cjs/index-122375df.js.map +0 -1
  166. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js +0 -95
  167. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js.map +0 -1
  168. package/dist/cjs/initialization-utils-c2821271.js +0 -148
  169. package/dist/cjs/initialization-utils-c2821271.js.map +0 -1
  170. package/dist/cjs/props-utils-e4f29f1e.js +0 -1464
  171. package/dist/cjs/props-utils-e4f29f1e.js.map +0 -1
  172. package/dist/cjs/stencil-button-bf22eea4.js +0 -130
  173. package/dist/cjs/stencil-button-bf22eea4.js.map +0 -1
  174. package/dist/cjs/stencil-result-template-decorators-96954751.js +0 -114
  175. package/dist/cjs/stencil-result-template-decorators-96954751.js.map +0 -1
  176. package/dist/esm/_commonjsHelpers-1c8beb5f.js +0 -5
  177. package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +0 -1
  178. package/dist/esm/app-globals-0f993ce5.js +0 -5
  179. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  180. package/dist/esm/atomic-insight-result-action.entry.js +0 -149
  181. package/dist/esm/atomic-insight-result-action.entry.js.map +0 -1
  182. package/dist/esm/atomic-insight-result-children-template.entry.js +0 -218
  183. package/dist/esm/atomic-insight-result-children-template.entry.js.map +0 -1
  184. package/dist/esm/atomic-insight-timeframe-facet.entry.js +0 -786
  185. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +0 -1
  186. package/dist/esm/atomic-stencil-facet-date-input.entry.js +0 -82
  187. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +0 -1
  188. package/dist/esm/date-utils-3b955e79.js +0 -26
  189. package/dist/esm/date-utils-3b955e79.js.map +0 -1
  190. package/dist/esm/event-utils-8de63ec3.js +0 -24
  191. package/dist/esm/event-utils-8de63ec3.js.map +0 -1
  192. package/dist/esm/index-4d679e44.js +0 -1364
  193. package/dist/esm/index-4d679e44.js.map +0 -1
  194. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js +0 -88
  195. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js.map +0 -1
  196. package/dist/esm/initialization-utils-9ff399ff.js +0 -144
  197. package/dist/esm/initialization-utils-9ff399ff.js.map +0 -1
  198. package/dist/esm/props-utils-76043c82.js +0 -1457
  199. package/dist/esm/props-utils-76043c82.js.map +0 -1
  200. package/dist/esm/stencil-button-28de709c.js +0 -128
  201. package/dist/esm/stencil-button-28de709c.js.map +0 -1
  202. package/dist/esm/stencil-result-template-decorators-4c2e5132.js +0 -110
  203. package/dist/esm/stencil-result-template-decorators-4c2e5132.js.map +0 -1
  204. package/dist/types/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.d.ts +0 -14
  205. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +0 -18
  206. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +0 -20
  207. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +0 -15
  208. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +0 -13
  209. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +0 -11
  210. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +0 -14
  211. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +0 -13
  212. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +0 -14
  213. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +0 -13
  214. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +0 -9
  215. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +0 -9
  216. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +0 -10
  217. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +0 -16
  218. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +0 -9
  219. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +0 -5
  220. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +0 -19
  221. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +0 -5
  222. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +0 -20
  223. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +0 -5
  224. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +0 -17
  225. package/dist/types/components/common/facets/facet-placeholder/stencil-facet-placeholder.d.ts +0 -10
  226. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +0 -11
  227. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +0 -14
  228. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +0 -14
  229. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +0 -6
  230. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +0 -17
  231. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +0 -22
  232. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +0 -6
  233. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +0 -11
  234. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +0 -10
  235. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +0 -12
  236. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +0 -10
  237. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +0 -12
  238. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +0 -12
  239. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +0 -11
  240. package/dist/types/components/common/facets/stencil-facet-common.d.ts +0 -43
  241. package/dist/types/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.d.ts +0 -33
  242. package/dist/types/components/common/facets/stencil-facet-guard.d.ts +0 -12
  243. package/dist/types/components/common/facets/stencil-timeframe-facet-common.d.ts +0 -72
  244. package/dist/types/components/common/generated-answer/generated-answer-common.d.ts +0 -58
  245. package/dist/types/components/common/generated-answer/generated-content/stencil-generated-markdown-content.d.ts +0 -10
  246. package/dist/types/components/common/generated-answer/generated-content/stencil-generated-text-content.d.ts +0 -10
  247. package/dist/types/components/common/generated-answer/stencil-copy-button.d.ts +0 -12
  248. package/dist/types/components/common/generated-answer/stencil-feedback-button.d.ts +0 -13
  249. package/dist/types/components/common/generated-answer/stencil-generated-content-container.d.ts +0 -11
  250. package/dist/types/components/common/generated-answer/stencil-retry-prompt.d.ts +0 -11
  251. package/dist/types/components/common/generated-answer/stencil-show-button.d.ts +0 -12
  252. package/dist/types/components/common/generated-answer/stencil-source-citations.d.ts +0 -10
  253. package/dist/types/components/common/interface/interface-common-stencil.d.ts +0 -34
  254. package/dist/types/components/common/interface/stencil-i18n.d.ts +0 -11
  255. package/dist/types/components/common/item-link/stencil-item-link.d.ts +0 -30
  256. package/dist/types/components/common/item-list/item-list-decorators.d.ts +0 -17
  257. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +0 -17
  258. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +0 -11
  259. package/dist/types/components/common/item-list/stencil-item-decorators.d.ts +0 -41
  260. package/dist/types/components/common/item-list/stencil-item-display-guard.d.ts +0 -10
  261. package/dist/types/components/common/item-list/stencil-item-list-common.d.ts +0 -31
  262. package/dist/types/components/common/item-list/stencil-item-list-guard.d.ts +0 -13
  263. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +0 -14
  264. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +0 -13
  265. package/dist/types/components/common/load-more/guard.d.ts +0 -10
  266. package/dist/types/components/common/load-more/stencil-button.d.ts +0 -13
  267. package/dist/types/components/common/load-more/stencil-container.d.ts +0 -5
  268. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +0 -10
  269. package/dist/types/components/common/load-more/stencil-summary.d.ts +0 -13
  270. package/dist/types/components/common/no-items/stencil-container.d.ts +0 -5
  271. package/dist/types/components/common/no-items/stencil-guard.d.ts +0 -11
  272. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +0 -5
  273. package/dist/types/components/common/no-items/stencil-no-items.d.ts +0 -12
  274. package/dist/types/components/common/no-items/stencil-tips.d.ts +0 -10
  275. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +0 -33
  276. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +0 -10
  277. package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +0 -26
  278. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +0 -12
  279. package/dist/types/components/common/query-correction/stencil-correction.d.ts +0 -12
  280. package/dist/types/components/common/query-correction/stencil-guard.d.ts +0 -9
  281. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +0 -13
  282. package/dist/types/components/common/query-error/stencil-container.d.ts +0 -5
  283. package/dist/types/components/common/query-error/stencil-description.d.ts +0 -13
  284. package/dist/types/components/common/query-error/stencil-details.d.ts +0 -10
  285. package/dist/types/components/common/query-error/stencil-guard.d.ts +0 -9
  286. package/dist/types/components/common/query-error/stencil-icon.d.ts +0 -9
  287. package/dist/types/components/common/query-error/stencil-link.d.ts +0 -11
  288. package/dist/types/components/common/query-error/stencil-show-more.d.ts +0 -13
  289. package/dist/types/components/common/query-error/stencil-title.d.ts +0 -12
  290. package/dist/types/components/common/query-summary/stencil-container.d.ts +0 -9
  291. package/dist/types/components/common/query-summary/stencil-guard.d.ts +0 -11
  292. package/dist/types/components/common/query-summary/stencil-utils.d.ts +0 -23
  293. package/dist/types/components/common/refine-modal/stencil-body.d.ts +0 -7
  294. package/dist/types/components/common/refine-modal/stencil-button.d.ts +0 -12
  295. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +0 -20
  296. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +0 -11
  297. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +0 -18
  298. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +0 -11
  299. package/dist/types/components/common/result-children/stencil-children-wrapper.d.ts +0 -9
  300. package/dist/types/components/common/result-children/stencil-collection-guard.d.ts +0 -16
  301. package/dist/types/components/common/result-children/stencil-guard.d.ts +0 -11
  302. package/dist/types/components/common/result-children/stencil-show-hide-button.d.ts +0 -14
  303. package/dist/types/components/common/result-templates/stencil-result-template-common.d.ts +0 -24
  304. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +0 -10
  305. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +0 -22
  306. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +0 -12
  307. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +0 -12
  308. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/stencil-smart-snippet-common.d.ts +0 -31
  309. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/stencil-smart-snippet-feedback-modal-common.d.ts +0 -57
  310. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/stencil-smart-snippet-suggestions-common.d.ts +0 -43
  311. package/dist/types/components/common/smart-snippets/stencil-smart-snippet-feedback-banner.d.ts +0 -18
  312. package/dist/types/components/common/stencil-button-style.d.ts +0 -11
  313. package/dist/types/components/common/stencil-button.d.ts +0 -30
  314. package/dist/types/components/common/stencil-carousel.d.ts +0 -15
  315. package/dist/types/components/common/stencil-checkbox.d.ts +0 -22
  316. package/dist/types/components/common/stencil-fieldset-group.d.ts +0 -9
  317. package/dist/types/components/common/stencil-heading.d.ts +0 -7
  318. package/dist/types/components/common/stencil-hidden.d.ts +0 -5
  319. package/dist/types/components/common/stencil-iconButton.d.ts +0 -13
  320. package/dist/types/components/common/stencil-radio-button.d.ts +0 -12
  321. package/dist/types/components/common/stencil-switch.d.ts +0 -15
  322. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +0 -11
  323. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +0 -19
  324. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +0 -32
  325. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +0 -96
  326. package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +0 -50
  327. package/dist/types/components/search/facets/facet-segmented-value/stencil-facet-segmented-value.d.ts +0 -6
  328. package/dist/types/components/search/result-template-component-utils/context/stencil-result-template-decorators.d.ts +0 -32
  329. package/dist/types/components/search/result-template-components/quickview-iframe/stencil-quickview-iframe.d.ts +0 -14
  330. package/dist/types/utils/__mocks__/stencil-resource-url.d.ts +0 -1
  331. package/dist/types/utils/initialization-utils.d.ts +0 -70
  332. package/dist/types/utils/jsx-utils.d.ts +0 -6
  333. package/dist/types/utils/stencil-accessibility-utils.d.ts +0 -43
  334. package/dist/types/utils/stencil-asset-path-utils.d.ts +0 -1
  335. package/dist/types/utils/stencil-resource-url.d.ts +0 -1
  336. /package/dist/atomic/components/utils/{initialization-lit-stencil-common-utils.js → initialization-common-utils.js} +0 -0
  337. /package/dist/types/utils/{initialization-lit-stencil-common-utils.d.ts → initialization-common-utils.d.ts} +0 -0
@@ -1,9 +0,0 @@
1
- import{h as n,r as t,g as r}from"./p-aad3b4ec.js";import{buildFacetConditionsManager as e,buildDateRange as i,deserializeRelativeDate as a,buildSearchStatus as o,buildDateFacet as l,buildDateFilter as s,loadDateFacetSetActions as c}from"@coveo/headless/insight";import{H as d,I as h,B as m}from"./p-2045a1b1.js";import{d as w,r as p,M as u}from"./p-5226a938.js";import{p as g}from"./p-dac60354.js";import{B as v}from"./p-b7209471.js";import{b}from"./p-1580513b.js";import"./p-81d6e743.js";import"@coveo/bueno";import"./p-4573c419.js";class f{constructor(n){this.component=n;this.registerFocusCallback=n=>{this.publicOnFocusCallbacks.push(n)};this.doFocusAfterSearch=false;this.doFocusOnNextTarget=false;this.publicOnFocusCallbacks=[];this.bindings=n.bindings;this.handleComponentRenderLoop()}clearFocusCallbacks(){this.internalOnFocusCallback?.();while(this.publicOnFocusCallbacks.length){this.publicOnFocusCallbacks.pop()?.()}}setTarget(n){if(!n){return}this.element=n;if(this.doFocusOnNextTarget){this.doFocusOnNextTarget=false;this.focus()}}async focus(){await w();this.element?.focus();this.clearFocusCallbacks()}focusAfterSearch(){this.lastSearchId=this.bindings.store.getUniqueIDFromEngine(this.bindings.engine);this.doFocusAfterSearch=true;return new Promise((n=>this.internalOnFocusCallback=n))}focusOnNextTarget(){this.doFocusOnNextTarget=true;return new Promise((n=>this.internalOnFocusCallback=n))}disableForCurrentSearch(){if(this.bindings.store.getUniqueIDFromEngine(this.bindings.engine)!==this.lastSearchId){this.doFocusAfterSearch=false}}handleComponentRenderLoop(){const n=this.component.componentDidRender;this.component.componentDidRender=()=>{n&&n.call(this.component);if(!this.bindings){return}if(this.doFocusAfterSearch&&this.bindings.store.getUniqueIDFromEngine(this.bindings.engine)!==this.lastSearchId){this.doFocusAfterSearch=false;if(this.element){const n=this.element;w().then((()=>{n.focus();this.clearFocusCallbacks()}))}}}}}function y(n){if(Object.keys(n).length>1){throw"Depending on multiple facets isn't supported"}const t=Object.entries(n);return t.map((([n,t])=>({parentFacetId:n,condition:x(t)})))}function x(n){return t=>t.some((t=>{if(F(t)){return k(t,n)}if(C(t)){return z(t,n)}return false}))}function k(n,t){const r=j(n);if(!r){return false}return!t||r.value===t}function z(n,t){if(n.state!=="selected"){return false}return!t||n.value===t}function F(n){const t=n;return(t?.children&&Array.isArray(t.children)&&t?.state&&typeof t.state==="string")===true}function j(n){if(!F(n)){return null}if(n.state==="selected"){return n}for(const t of n.children){const n=j(t);if(n!==null){return n}}return null}function C(n){const t=n;return"value"in t&&typeof t.value==="string"&&!("children"in t)}const S=({numberOfValues:t,isCollapsed:r})=>{const e=[];for(let r=0;r<t;r++){e.push(n("div",{class:"bg-neutral mt-4 flex h-5",style:{width:"100%",opacity:"0.5"}}))}return n("div",{part:"placeholder",class:"bg-background border-neutral mb-4 animate-pulse rounded-lg border p-7","aria-hidden":"true"},n("div",{class:"bg-neutral h-8 rounded",style:{width:"75%"}}),!r&&n("div",{class:"mt-7"},e))};function D(n){return`caption-${n}`}function I(n,t,r){return r.t(t,{ns:D(n)})}const R=(t,r)=>n("div",{class:"bg-background border-neutral rounded-lg border p-4",part:"facet"},r);const V=`<svg viewBox="0 0 12.6 7.2" xmlns="http://www.w3.org/2000/svg"><path d="m11.421 7.04c-.3 0-.5-.1-.7-.3l-4.6-4.6-4.6 4.6c-.4.4-1 .4-1.4 0s-.4-1 0-1.4l5.2-5.2c.4-.4 1.2-.4 1.6 0l5.2 5.2c.4.4.4 1 0 1.4-.2.2-.4.3-.7.3" transform="matrix(-1 0 0 -1 12.366 7.086)"/></svg>`;const O=`<svg viewBox="0 0 12.6 7.2" xmlns="http://www.w3.org/2000/svg"><path d="m11.3 7.04c-.3 0-.5-.1-.7-.3l-4.6-4.6-4.6 4.6c-.4.4-1 .4-1.4 0s-.4-1 0-1.4l5.2-5.2c.4-.4 1.2-.4 1.6 0l5.2 5.2c.4.4.4 1 0 1.4-.2.2-.4.3-.7.3"/></svg>`;const $=`<svg viewBox="0 0 22 22"><g transform="matrix(.7071 -.7071 .7071 .7071 -3.142 11)"><path d="m9-3.4h2v26.9h-2z"/><path d="m-3.4 9h26.9v2h-26.9z"/></g></svg>`;const M=({level:t,...r},e)=>{const i=t>0&&t<=6?`h${t}`:"div";return n(i,{...r},e)};const q=t=>{const r=t.i18n.t(t.label);const e=t.i18n.t("expand-facet",{label:r});const i=t.i18n.t("collapse-facet",{label:r});const a=t.i18n.t("clear-filters",{count:t.numberOfActiveValues});const o=t.i18n.t("clear-filters-for-facet",{count:t.numberOfActiveValues,label:r});return[n(v,{style:"text-transparent",part:"label-button",class:"flex w-full justify-between rounded-none px-2 py-1 text-lg font-bold",ariaLabel:t.isCollapsed?e:i,onClick:()=>t.onToggleCollapse(),ariaExpanded:(!t.isCollapsed).toString(),ref:t.headerRef},n(M,{level:t.headingLevel,class:"truncate"},r),n("atomic-icon",{part:"label-button-icon",class:"ml-4 w-3 shrink-0 self-center",icon:t.isCollapsed?V:O})),t.onClearFilters&&t.numberOfActiveValues>0&&n(v,{style:"text-primary",part:"clear-button",class:"flex max-w-full items-baseline p-2 text-sm",ariaLabel:o,onClick:()=>t.onClearFilters()},n("atomic-icon",{part:"clear-button-icon",class:"mr-1 h-2 w-2",icon:$}),n("span",null,a))]};
2
- /*!
3
- * escape-html
4
- * Copyright(c) 2012-2013 TJ Holowaychuk
5
- * Copyright(c) 2015 Andreas Lubbe
6
- * Copyright(c) 2015 Tiancheng "Timothy" Gu
7
- * MIT Licensed
8
- */var T=/["'&<>]/;var E=_;function _(n){var t=""+n;var r=T.exec(t);if(!r){return t}var e;var i="";var a=0;var o=0;for(a=r.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:e="&quot;";break;case 38:e="&amp;";break;case 39:e="&#39;";break;case 60:e="&lt;";break;case 62:e="&gt;";break;default:continue}if(o!==a){i+=t.substring(o,a)}o=a+1;i+=e}return o!==a?i+t.substring(o,a):i}const L=E;function P(n){return n.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function A(n,t=""){const r=L(n);if(t.trim()===""){return r}const e=new RegExp(`(${P(L(t))})`,"i");return L(n).replace(e,'<span part="search-highlight" class="font-bold">$1</span>')}const Y=t=>n("span",{title:t.displayValue,part:"value-label",class:`value-label peer-hover:text-error truncate ${t.isSelected||!!t.isExcluded?"font-bold":""}`,innerHTML:A(t.displayValue,t.searchQuery)});const B=(t,r)=>{const e=t.numberOfResults.toLocaleString(t.i18n.language);const i=t.i18n.t("facet-value",{value:t.displayValue,count:t.numberOfResults,formattedCount:e,interpolation:{escapeValue:false}});let a=t.part??`value-link${t.isSelected?" value-link-selected":""}`;if(t.additionalPart){a+=` ${t.additionalPart}`}return n("li",{key:t.displayValue,class:t.class},n(v,{style:"text-neutral",part:a,onClick:()=>t.onClick(),class:"group flex w-full items-center truncate px-2 py-2.5 text-left focus-visible:outline-none",ariaPressed:t.isSelected.toString(),ariaLabel:i,ref:t.buttonRef},r,n("span",{part:"value-count",class:"value-count"},t.i18n.t("between-parentheses",{text:e}))),t.subList)};const H=({label:t},r)=>n("fieldset",{class:"contents"},n("legend",{class:"sr-only"},t),r);const N=(t,r)=>{if(!t.label){return r}const e=t.i18n.t(t.label);const i=t.query===undefined?t.i18n.t("facet-values",{label:e}):t.i18n.t("facet-search-results",{query:t.query,label:e});return n(H,{label:i},r)};function U(n,t){n.dispatchEvent(b("atomic/initializePopover",t))}function G(n){const{hasInput:t,hasInputRange:r,searchStatusState:e,facetValues:i}=n;if(!t){return false}if(r){return true}if(!e.hasResults){return false}const a=i.filter((n=>n.numberOfResults||n.state!=="idle"))||[];if(!a.length){return false}return true}class J{constructor(n){this.props=n;this.manualTimeframes=[];this.facetId=this.determineFacetId;this.props.setFacetId(this.facetId);this.manualTimeframes=this.getManualTimeframes();if(this.manualTimeframes.length>0){this.facetForDateRange=this.props.initializeFacetForDateRange(this.currentValues)}if(this.props.withDatePicker){this.facetForDatePicker=this.props.initializeFacetForDatePicker();this.facetForDatePickerDependenciesManager=this.props.buildDependenciesManager(this.facetForDatePicker.state.facetId);this.filter=this.props.initializeFilter()}if(this.facetForDateRange){this.facetForDateRangeDependenciesManager=this.props.buildDependenciesManager(this.facetForDateRange?.state.facetId)}if(this.filter){this.filterDependenciesManager=this.props.buildDependenciesManager(this.filter?.state.facetId)}this.registerFacetToStore()}get determineFacetId(){if(this.props.facetId){return this.props.facetId}if(this.props.bindings.store.state.dateFacets[this.props.field]){return p(`${this.props.field}_`)}return this.props.field}get enabled(){return this.facetForDateRange?.state.enabled??this.filter?.state.enabled??true}get valuesToRender(){return this.facetForDateRange?.state.values.filter((n=>n.numberOfResults||n.state!=="idle"))||[]}get shouldRenderValues(){return!this.hasInputRange&&!!this.valuesToRender.length}get shouldRenderFacet(){return this.shouldRenderInput||this.shouldRenderValues}get shouldRenderInput(){return G({hasInput:this.props.withDatePicker,hasInputRange:this.hasInputRange,searchStatusState:this.props.getSearchStatusState(),facetValues:this.facetForDatePicker?.state?.values||[]})}get hasValues(){if(this.facetForDatePicker?.state.values.length){return true}return!!this.valuesToRender.length}get numberOfSelectedValues(){if(this.filter?.state?.range){return 1}return this.facetForDateRange?.state.values.filter((({state:n})=>n==="selected")).length||0}get hasInputRange(){return!!this.filter?.state.range}get currentValues(){return this.manualTimeframes.map((({period:n,amount:t,unit:r})=>n==="past"?this.props.buildDateRange({start:{period:n,unit:r,amount:t},end:{period:"now"}}):this.props.buildDateRange({start:{period:"now"},end:{period:n,unit:r,amount:t}})))}disconnectedCallback(){if(this.props.host.isConnected){return}this.facetForDateRangeDependenciesManager?.stopWatching();this.facetForDatePickerDependenciesManager?.stopWatching();this.filterDependenciesManager?.stopWatching()}get isHidden(){return!this.shouldRenderFacet||!this.enabled}registerFacetToStore(){const n={label:()=>this.props.bindings.i18n.t(this.props.label),facetId:this.facetId,element:this.props.host,isHidden:()=>this.isHidden};this.props.bindings.store.registerFacet("dateFacets",{...n,format:n=>this.formatFacetValue(n)});U(this.props.host,{...n,hasValues:()=>this.hasValues,numberOfActiveValues:()=>this.numberOfSelectedValues});if(this.filter){this.props.bindings.store.state.dateFacets[this.filter.state.facetId]=this.props.bindings.store.state.dateFacets[this.facetId]}}getManualTimeframes(){return Array.from(this.props.host.querySelectorAll("atomic-timeframe")).map((({label:n,amount:t,unit:r,period:e})=>({label:n,amount:t,unit:r,period:e})))}formatFacetValue(n){try{const t=this.props.deserializeRelativeDate(n.start);const r=t.period==="past"?t:this.props.deserializeRelativeDate(n.end);const e=this.getManualTimeframes().find((n=>n.period===r.period&&n.unit===r.unit&&n.amount===r.amount));if(e?.label){return I(this.props.field,e.label,this.props.bindings.i18n)}return this.props.bindings.i18n.t(`${r.period}-${r.unit}`,{count:r.amount})}catch(t){return this.props.bindings.i18n.t("to",{start:g(n.start).format("YYYY-MM-DD"),end:g(n.end).format("YYYY-MM-DD")})}}renderValues(){return this.renderValuesContainer(this.valuesToRender.map((n=>this.renderValue(n))))}renderValue(t){const r=this.formatFacetValue(t);const e=t.state==="selected";const i=t.state==="excluded";return n(B,{displayValue:r,isSelected:e,numberOfResults:t.numberOfResults,i18n:this.props.bindings.i18n,onClick:()=>this.facetForDateRange.toggleSingleSelect(t)},n(Y,{displayValue:r,isSelected:e,isExcluded:i}))}renderValuesContainer(t){return n(N,{i18n:this.props.bindings.i18n,label:this.props.label},n("ul",{class:"mt-3",part:"values"},t))}renderHeader(t,r,e){return n(q,{i18n:this.props.bindings.i18n,label:this.props.label,onClearFilters:()=>{r.focusAfterSearch();if(this.filter?.state.range){this.filter?.clear();return}this.facetForDateRange?.deselectAll()},numberOfActiveValues:this.numberOfSelectedValues,isCollapsed:t,headingLevel:this.props.headingLevel,onToggleCollapse:e,headerRef:n=>r.setTarget(n)})}renderDateInput(){return n("atomic-stencil-facet-date-input",{min:this.props.min,max:this.props.max,bindings:this.props.bindings,label:this.props.label,facetId:this.filter.state.facetId,rangeGetter:()=>this.filter.state.range,rangeSetter:n=>{this.filter.setRange(n)}})}render({hasError:t,firstSearchExecuted:r,isCollapsed:e,headerFocus:i,onToggleCollapse:a}){if(t||!this.enabled){return n(d,null)}if(!r){return n(S,{numberOfValues:this.currentValues.length,isCollapsed:e})}if(!this.shouldRenderFacet){return n(d,null)}return n(R,null,this.renderHeader(e,i,a),!e&&[this.shouldRenderValues&&this.renderValues(),this.shouldRenderInput&&this.renderDateInput()])}}const K='/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer properties {\n *, :before, :after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: "";\n }\n}\n@layer theme, base, components, utilities;\n@layer theme;\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, var(--atomic-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",\n "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n }\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden="until-found"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .inset-0 {\n inset: calc(0.25rem * 0);\n }\n .-top-2 {\n top: calc(0.25rem * -2);\n }\n .-top-4 {\n top: calc(0.25rem * -4);\n }\n .top-0 {\n top: calc(0.25rem * 0);\n }\n .top-1 {\n top: calc(0.25rem * 1);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-6 {\n top: calc(0.25rem * 6);\n }\n .top-\\[4px\\] {\n top: 4px;\n }\n .top-full {\n top: 100%;\n }\n .top-px {\n top: 1px;\n }\n .-right-2 {\n right: calc(0.25rem * -2);\n }\n .right-0 {\n right: calc(0.25rem * 0);\n }\n .right-1 {\n right: calc(0.25rem * 1);\n }\n .right-2 {\n right: calc(0.25rem * 2);\n }\n .right-6 {\n right: calc(0.25rem * 6);\n }\n .right-12 {\n right: calc(0.25rem * 12);\n }\n .right-20 {\n right: calc(0.25rem * 20);\n }\n .right-px {\n right: 1px;\n }\n .bottom-0 {\n bottom: calc(0.25rem * 0);\n }\n .bottom-1 {\n bottom: calc(0.25rem * 1);\n }\n .bottom-2 {\n bottom: calc(0.25rem * 2);\n }\n .bottom-px {\n bottom: 1px;\n }\n .left-0 {\n left: calc(0.25rem * 0);\n }\n .left-1 {\n left: calc(0.25rem * 1);\n }\n .left-2 {\n left: calc(0.25rem * 2);\n }\n .left-\\[15px\\] {\n left: 15px;\n }\n .isolate {\n isolation: isolate;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-10 {\n z-index: 10;\n }\n .z-9998 {\n z-index: 9998;\n }\n .z-9999 {\n z-index: 9999;\n }\n .order-last {\n order: 9999;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .container {\n width: 100%;\n }\n @media (width >= 1024px) {\n .container {\n max-width: 1024px;\n }\n }\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n .container\\! {\n width: 100% !important;\n }\n @media (width >= 1024px) {\n .container\\! {\n max-width: 1024px !important;\n }\n }\n @media (width >= 40rem) {\n .container\\! {\n max-width: 40rem !important;\n }\n }\n @media (width >= 48rem) {\n .container\\! {\n max-width: 48rem !important;\n }\n }\n @media (width >= 64rem) {\n .container\\! {\n max-width: 64rem !important;\n }\n }\n @media (width >= 80rem) {\n .container\\! {\n max-width: 80rem !important;\n }\n }\n @media (width >= 96rem) {\n .container\\! {\n max-width: 96rem !important;\n }\n }\n .m-0 {\n margin: calc(0.25rem * 0);\n }\n .m-2 {\n margin: calc(0.25rem * 2);\n }\n .mx-0 {\n margin-inline: calc(0.25rem * 0);\n }\n .mx-0\\.5 {\n margin-inline: calc(0.25rem * 0.5);\n }\n .mx-1 {\n margin-inline: calc(0.25rem * 1);\n }\n .mx-6 {\n margin-inline: calc(0.25rem * 6);\n }\n .mx-16 {\n margin-inline: calc(0.25rem * 16);\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-2 {\n margin-block: calc(0.25rem * 2);\n }\n .my-3 {\n margin-block: calc(0.25rem * 3);\n }\n .my-4 {\n margin-block: calc(0.25rem * 4);\n }\n .my-6 {\n margin-block: calc(0.25rem * 6);\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-top: calc(0.25rem * 0);\n }\n .mt-1 {\n margin-top: calc(0.25rem * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(0.25rem * 1.5);\n }\n .mt-2 {\n margin-top: calc(0.25rem * 2);\n }\n .mt-2\\.5 {\n margin-top: calc(0.25rem * 2.5);\n }\n .mt-3 {\n margin-top: calc(0.25rem * 3);\n }\n .mt-4 {\n margin-top: calc(0.25rem * 4);\n }\n .mt-6 {\n margin-top: calc(0.25rem * 6);\n }\n .mt-7 {\n margin-top: calc(0.25rem * 7);\n }\n .mt-8 {\n margin-top: calc(0.25rem * 8);\n }\n .mt-10 {\n margin-top: calc(0.25rem * 10);\n }\n .mt-px {\n margin-top: 1px;\n }\n .mr-0 {\n margin-right: calc(0.25rem * 0);\n }\n .mr-0\\.5 {\n margin-right: calc(0.25rem * 0.5);\n }\n .mr-1 {\n margin-right: calc(0.25rem * 1);\n }\n .mr-1\\.5 {\n margin-right: calc(0.25rem * 1.5);\n }\n .mr-2 {\n margin-right: calc(0.25rem * 2);\n }\n .mr-3 {\n margin-right: calc(0.25rem * 3);\n }\n .mr-6 {\n margin-right: calc(0.25rem * 6);\n }\n .mr-auto {\n margin-right: auto;\n }\n .mb-0 {\n margin-bottom: calc(0.25rem * 0);\n }\n .mb-1 {\n margin-bottom: calc(0.25rem * 1);\n }\n .mb-2 {\n margin-bottom: calc(0.25rem * 2);\n }\n .mb-3 {\n margin-bottom: calc(0.25rem * 3);\n }\n .mb-4 {\n margin-bottom: calc(0.25rem * 4);\n }\n .mb-6 {\n margin-bottom: calc(0.25rem * 6);\n }\n .ml-0\\.5 {\n margin-left: calc(0.25rem * 0.5);\n }\n .ml-1 {\n margin-left: calc(0.25rem * 1);\n }\n .ml-2 {\n margin-left: calc(0.25rem * 2);\n }\n .ml-4 {\n margin-left: calc(0.25rem * 4);\n }\n .ml-6 {\n margin-left: calc(0.25rem * 6);\n }\n .ml-auto {\n margin-left: auto;\n }\n .box-border {\n box-sizing: border-box;\n }\n .box-content {\n box-sizing: content-box;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n .line-clamp-4 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n }\n .line-clamp-none {\n overflow: visible;\n display: block;\n -webkit-box-orient: horizontal;\n -webkit-line-clamp: unset;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .table {\n display: table;\n }\n .table-column {\n display: table-column;\n }\n .aspect-square-\\[auto\\] {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n .aspect-square-\\[auto\\] {\n height: auto;\n }\n }\n .aspect-square-\\[auto\\] {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n .aspect-square-\\[auto\\] {\n height: auto;\n }\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-\\[27px\\] {\n width: 27px;\n height: 27px;\n }\n .h-1 {\n height: calc(0.25rem * 1);\n }\n .h-2 {\n height: calc(0.25rem * 2);\n }\n .h-2\\.5 {\n height: calc(0.25rem * 2.5);\n }\n .h-3 {\n height: calc(0.25rem * 3);\n }\n .h-4 {\n height: calc(0.25rem * 4);\n }\n .h-5 {\n height: calc(0.25rem * 5);\n }\n .h-5\\/6 {\n height: calc(5/6 * 100%);\n }\n .h-6 {\n height: calc(0.25rem * 6);\n }\n .h-7 {\n height: calc(0.25rem * 7);\n }\n .h-8 {\n height: calc(0.25rem * 8);\n }\n .h-9 {\n height: calc(0.25rem * 9);\n }\n .h-10 {\n height: calc(0.25rem * 10);\n }\n .h-12 {\n height: calc(0.25rem * 12);\n }\n .h-\\[2\\.6rem\\] {\n height: 2.6rem;\n }\n .h-\\[9px\\] {\n height: 9px;\n }\n .h-auto {\n height: auto;\n }\n .h-full {\n height: 100%;\n }\n .h-px {\n height: 1px;\n }\n .max-h-96 {\n max-height: calc(0.25rem * 96);\n }\n .min-h-3 {\n min-height: calc(0.25rem * 3);\n }\n .min-h-10 {\n min-height: calc(0.25rem * 10);\n }\n .min-lines-2 {\n min-height: calc(var(--line-height) * 2);\n }\n .min-lines-2 {\n min-height: calc(var(--line-height) * 2);\n }\n .min-lines-3 {\n min-height: calc(var(--line-height) * 3);\n }\n .min-lines-3 {\n min-height: calc(var(--line-height) * 3);\n }\n .w-0\\.5 {\n width: calc(0.25rem * 0.5);\n }\n .w-1 {\n width: calc(0.25rem * 1);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-2 {\n width: calc(0.25rem * 2);\n }\n .w-2\\.5 {\n width: calc(0.25rem * 2.5);\n }\n .w-3 {\n width: calc(0.25rem * 3);\n }\n .w-3\\.5 {\n width: calc(0.25rem * 3.5);\n }\n .w-3\\/5 {\n width: calc(3/5 * 100%);\n }\n .w-4 {\n width: calc(0.25rem * 4);\n }\n .w-5 {\n width: calc(0.25rem * 5);\n }\n .w-5\\/6 {\n width: calc(5/6 * 100%);\n }\n .w-6 {\n width: calc(0.25rem * 6);\n }\n .w-7 {\n width: calc(0.25rem * 7);\n }\n .w-8 {\n width: calc(0.25rem * 8);\n }\n .w-9 {\n width: calc(0.25rem * 9);\n }\n .w-10 {\n width: calc(0.25rem * 10);\n }\n .w-12 {\n width: calc(0.25rem * 12);\n }\n .w-20 {\n width: calc(0.25rem * 20);\n }\n .w-26 {\n width: calc(0.25rem * 26);\n }\n .w-28 {\n width: calc(0.25rem * 28);\n }\n .w-32 {\n width: calc(0.25rem * 32);\n }\n .w-36 {\n width: calc(0.25rem * 36);\n }\n .w-48 {\n width: calc(0.25rem * 48);\n }\n .w-60 {\n width: calc(0.25rem * 60);\n }\n .w-64 {\n width: calc(0.25rem * 64);\n }\n .w-72 {\n width: calc(0.25rem * 72);\n }\n .w-100 {\n width: calc(0.25rem * 100);\n }\n .w-\\[2\\.6rem\\] {\n width: 2.6rem;\n }\n .w-\\[10px\\] {\n width: 10px;\n }\n .w-auto {\n width: auto;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-max {\n width: max-content;\n }\n .w-px {\n width: 1px;\n }\n .max-w-4\\/5 {\n max-width: calc(4/5 * 100%);\n }\n .max-w-60 {\n max-width: calc(0.25rem * 60);\n }\n .max-w-\\[30ch\\] {\n max-width: 30ch;\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: 32rem;\n }\n .max-w-max {\n max-width: max-content;\n }\n .min-w-0 {\n min-width: calc(0.25rem * 0);\n }\n .min-w-10 {\n min-width: calc(0.25rem * 10);\n }\n .min-w-20 {\n min-width: calc(0.25rem * 20);\n }\n .min-w-24 {\n min-width: calc(0.25rem * 24);\n }\n .min-w-full {\n min-width: 100%;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-none {\n flex: none;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .basis-1\\/2 {\n flex-basis: calc(1/2 * 100%);\n }\n .basis-8 {\n flex-basis: calc(0.25rem * 8);\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1\\/2 {\n --tw-translate-x: calc(1/2 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-75 {\n --tw-scale-x: 75%;\n --tw-scale-y: 75%;\n --tw-scale-z: 75%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n .animate-spin {\n animation: spin 1s linear infinite;\n }\n .cursor-\\[inherit\\] {\n cursor: inherit;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .list-outside {\n list-style-position: outside;\n }\n .list-decimal {\n list-style-type: decimal;\n }\n .list-disc {\n list-style-type: disc;\n }\n .list-none {\n list-style-type: none;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-cols-\\[min-content_1fr\\] {\n grid-template-columns: min-content 1fr;\n }\n .grid-cols-\\[min-content_auto\\] {\n grid-template-columns: min-content auto;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .content-center {\n align-content: center;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .gap-0\\.5 {\n gap: calc(0.25rem * 0.5);\n }\n .gap-1 {\n gap: calc(0.25rem * 1);\n }\n .gap-2 {\n gap: calc(0.25rem * 2);\n }\n .gap-3 {\n gap: calc(0.25rem * 3);\n }\n .gap-4 {\n gap: calc(0.25rem * 4);\n }\n .gap-8 {\n gap: calc(0.25rem * 8);\n }\n :where(.space-y-1 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n .gap-x-1\\.5 {\n column-gap: calc(0.25rem * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(0.25rem * 2);\n }\n .gap-x-4 {\n column-gap: calc(0.25rem * 4);\n }\n :where(.space-x-1\\.5 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(0.25rem * 1.5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(0.25rem * 1.5) * calc(1 - var(--tw-space-x-reverse)));\n }\n .gap-y-0\\.5 {\n row-gap: calc(0.25rem * 0.5);\n }\n :where(.divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n :where(.divide-neutral > :not(:last-child)) {\n border-color: var(--atomic-neutral);\n }\n .self-center {\n align-self: center;\n }\n .self-start {\n align-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .scroll-smooth {\n scroll-behavior: smooth;\n }\n .rounded {\n border-radius: var(--atomic-border-radius);\n }\n .rounded-3xl {\n border-radius: 1.5rem;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--atomic-border-radius-lg);\n }\n .rounded-md {\n border-radius: var(--atomic-border-radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--atomic-border-radius);\n }\n .rounded-xl {\n border-radius: var(--atomic-border-radius-xl);\n }\n .rounded-tl-none {\n border-top-left-radius: 0;\n }\n .rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-1 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-gray-200 {\n border-color: oklch(0.928 0.006 264.531);\n }\n .border-neutral {\n border-color: var(--atomic-neutral);\n }\n .border-neutral-dark {\n border-color: var(--atomic-neutral-dark);\n }\n .border-neutral-dim {\n border-color: var(--atomic-neutral-dim);\n }\n .border-primary {\n border-color: var(--atomic-primary);\n }\n .border-primary-light {\n border-color: var(--atomic-primary-light);\n }\n .border-t-neutral {\n border-top-color: var(--atomic-neutral);\n }\n .border-b-neutral {\n border-bottom-color: var(--atomic-neutral);\n }\n .border-b-neutral-dim {\n border-bottom-color: var(--atomic-neutral-dim);\n }\n .border-l-neutral {\n border-left-color: var(--atomic-neutral);\n }\n .border-l-neutral-dim {\n border-left-color: var(--atomic-neutral-dim);\n }\n .bg-\\[\\#F1F2FF\\] {\n background-color: #F1F2FF;\n }\n .bg-\\[rgba\\(40\\,40\\,40\\,0\\.8\\)\\] {\n background-color: rgba(40,40,40,0.8);\n }\n .bg-background {\n background-color: var(--atomic-background);\n }\n .bg-error {\n background-color: var(--atomic-error);\n }\n .bg-gray-50 {\n background-color: oklch(0.985 0.002 247.839);\n }\n .bg-neutral {\n background-color: var(--atomic-neutral);\n }\n .bg-neutral-dark {\n background-color: var(--atomic-neutral-dark);\n }\n .bg-neutral-dim {\n background-color: var(--atomic-neutral-dim);\n }\n .bg-neutral-light {\n background-color: var(--atomic-neutral-light);\n }\n .bg-primary {\n background-color: var(--atomic-primary);\n }\n .bg-primary-background {\n background-color: var(--atomic-primary-background);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-white {\n background-color: #fff;\n }\n .bg-linear-to-l {\n --tw-gradient-position: to left;\n }\n @supports (background-image: linear-gradient(in lab, red, red)) {\n .bg-linear-to-l {\n --tw-gradient-position: to left in oklab;\n }\n }\n .bg-linear-to-l {\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n }\n @supports (background-image: linear-gradient(in lab, red, red)) {\n .bg-linear-to-r {\n --tw-gradient-position: to right in oklab;\n }\n }\n .bg-linear-to-r {\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-r {\n --tw-gradient-position: to right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-background\\/60 {\n --tw-gradient-from: color-mix(in srgb, #ffffff 60%, transparent);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .from-background\\/60 {\n --tw-gradient-from: color-mix(in oklab, var(--atomic-background) 60%, transparent);\n }\n }\n .from-background\\/60 {\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-more-results-progress-bar-color-from {\n --tw-gradient-from: var(\n --atomic-more-results-progress-bar-color-from,\n var(--atomic-primary-dark)\n );\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-transparent {\n --tw-gradient-from: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .via-neutral {\n --tw-gradient-via: var(--atomic-neutral);\n --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-via-stops);\n }\n .to-more-results-progress-bar-color-to {\n --tw-gradient-to: var(\n --atomic-more-results-progress-bar-color-to,\n var(--atomic-primary-light)\n );\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .fill-current {\n fill: currentcolor;\n }\n .stroke-\\[1\\.25\\] {\n stroke-width: 1.25;\n }\n .object-contain {\n object-fit: contain;\n }\n .p-0 {\n padding: calc(0.25rem * 0);\n }\n .p-1 {\n padding: calc(0.25rem * 1);\n }\n .p-2 {\n padding: calc(0.25rem * 2);\n }\n .p-2\\.5 {\n padding: calc(0.25rem * 2.5);\n }\n .p-3 {\n padding: calc(0.25rem * 3);\n }\n .p-3\\.5 {\n padding: calc(0.25rem * 3.5);\n }\n .p-4 {\n padding: calc(0.25rem * 4);\n }\n .p-6 {\n padding: calc(0.25rem * 6);\n }\n .p-7 {\n padding: calc(0.25rem * 7);\n }\n .p-8 {\n padding: calc(0.25rem * 8);\n }\n .px-1 {\n padding-inline: calc(0.25rem * 1);\n }\n .px-2 {\n padding-inline: calc(0.25rem * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(0.25rem * 2.5);\n }\n .px-3 {\n padding-inline: calc(0.25rem * 3);\n }\n .px-4 {\n padding-inline: calc(0.25rem * 4);\n }\n .px-6 {\n padding-inline: calc(0.25rem * 6);\n }\n .px-7 {\n padding-inline: calc(0.25rem * 7);\n }\n .px-9 {\n padding-inline: calc(0.25rem * 9);\n }\n .py-0\\.5 {\n padding-block: calc(0.25rem * 0.5);\n }\n .py-1 {\n padding-block: calc(0.25rem * 1);\n }\n .py-1\\.5 {\n padding-block: calc(0.25rem * 1.5);\n }\n .py-2 {\n padding-block: calc(0.25rem * 2);\n }\n .py-2\\.5 {\n padding-block: calc(0.25rem * 2.5);\n }\n .py-3 {\n padding-block: calc(0.25rem * 3);\n }\n .py-3\\.5 {\n padding-block: calc(0.25rem * 3.5);\n }\n .py-4 {\n padding-block: calc(0.25rem * 4);\n }\n .py-4\\.5 {\n padding-block: calc(0.25rem * 4.5);\n }\n .py-5 {\n padding-block: calc(0.25rem * 5);\n }\n .py-6 {\n padding-block: calc(0.25rem * 6);\n }\n .pt-0\\.5 {\n padding-top: calc(0.25rem * 0.5);\n }\n .pt-6 {\n padding-top: calc(0.25rem * 6);\n }\n .pt-8 {\n padding-top: calc(0.25rem * 8);\n }\n .pr-2 {\n padding-right: calc(0.25rem * 2);\n }\n .pr-4 {\n padding-right: calc(0.25rem * 4);\n }\n .pr-6 {\n padding-right: calc(0.25rem * 6);\n }\n .pr-8 {\n padding-right: calc(0.25rem * 8);\n }\n .pr-24 {\n padding-right: calc(0.25rem * 24);\n }\n .pb-1 {\n padding-bottom: calc(0.25rem * 1);\n }\n .pb-3 {\n padding-bottom: calc(0.25rem * 3);\n }\n .pb-4 {\n padding-bottom: calc(0.25rem * 4);\n }\n .pb-5 {\n padding-bottom: calc(0.25rem * 5);\n }\n .pb-6 {\n padding-bottom: calc(0.25rem * 6);\n }\n .pl-0 {\n padding-left: calc(0.25rem * 0);\n }\n .pl-1 {\n padding-left: calc(0.25rem * 1);\n }\n .pl-2 {\n padding-left: calc(0.25rem * 2);\n }\n .pl-3 {\n padding-left: calc(0.25rem * 3);\n }\n .pl-7 {\n padding-left: calc(0.25rem * 7);\n }\n .pl-9 {\n padding-left: calc(0.25rem * 9);\n }\n .pl-10 {\n padding-left: calc(0.25rem * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-sans {\n font-family: var(--atomic-font-family);\n }\n .set-font-size-sm {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n .set-font-size-sm {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n .text-2xl {\n font-size: var(--atomic-text-2xl);\n line-height: var(--tw-leading, calc(2 / 1.5));\n }\n .text-base {\n font-size: var(--atomic-text-base);\n line-height: var(--tw-leading, calc(1.5 / 1));\n }\n .text-lg {\n font-size: var(--atomic-text-lg);\n line-height: var(--tw-leading, calc(1.75 / 1.125));\n }\n .text-sm {\n font-size: var(--atomic-text-sm);\n line-height: var(--tw-leading, calc(1.25 / 0.875));\n }\n .text-xl {\n font-size: var(--atomic-text-xl);\n line-height: var(--tw-leading, calc(1.75 / 1.25));\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: var(--tw-leading, calc(1 / 0.75));\n }\n .text-xs\\/\\[1rem\\] {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n .leading-4 {\n --tw-leading: calc(0.25rem * 4);\n line-height: calc(0.25rem * 4);\n }\n .leading-5 {\n --tw-leading: calc(0.25rem * 5);\n line-height: calc(0.25rem * 5);\n }\n .leading-6 {\n --tw-leading: calc(0.25rem * 6);\n line-height: calc(0.25rem * 6);\n }\n .leading-8 {\n --tw-leading: calc(0.25rem * 8);\n line-height: calc(0.25rem * 8);\n }\n .leading-10 {\n --tw-leading: calc(0.25rem * 10);\n line-height: calc(0.25rem * 10);\n }\n .leading-\\[1\\.5\\] {\n --tw-leading: 1.5;\n line-height: 1.5;\n }\n .leading-\\[calc\\(1\\/\\.75\\)\\] {\n --tw-leading: calc(1 / .75);\n line-height: calc(1 / .75);\n }\n .leading-\\[var\\(--line-height\\)\\] {\n --tw-leading: var(--line-height);\n line-height: var(--line-height);\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .font-bold {\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n }\n .font-light {\n --tw-font-weight: 300;\n font-weight: 300;\n }\n .font-medium {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-normal {\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n .font-semibold {\n --tw-font-weight: 600;\n font-weight: 600;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .break-keep {\n word-break: keep-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-\\[\\#54698D\\] {\n color: #54698D;\n }\n .text-\\[inherit\\] {\n color: inherit;\n }\n .text-black {\n color: #000;\n }\n .text-error {\n color: var(--atomic-error);\n }\n .text-gray-500 {\n color: oklch(0.551 0.027 264.364);\n }\n .text-gray-600 {\n color: oklch(0.446 0.03 256.802);\n }\n .text-gray-700 {\n color: oklch(0.373 0.034 259.733);\n }\n .text-gray-900 {\n color: oklch(0.21 0.034 264.665);\n }\n .text-green-600 {\n color: oklch(0.627 0.194 149.214);\n }\n .text-inline-code {\n color: var(--atomic-inline-code);\n }\n .text-neutral {\n color: var(--atomic-neutral);\n }\n .text-neutral-dark {\n color: var(--atomic-neutral-dark);\n }\n .text-on-background {\n color: var(--atomic-on-background);\n }\n .text-on-primary {\n color: var(--atomic-on-primary);\n }\n .text-primary {\n color: var(--atomic-primary);\n }\n .text-primary-light {\n color: var(--atomic-primary-light);\n }\n .text-rating-icon-active {\n color: var(--atomic-rating-icon-active-color, #f6ce3c);\n }\n .text-rating-icon-inactive {\n color: var(\n --atomic-rating-icon-inactive-color,\n var(--atomic-neutral)\n );\n }\n .text-red-600 {\n color: oklch(0.577 0.245 27.325);\n }\n .text-success {\n color: var(--atomic-success);\n }\n .text-transparent {\n color: transparent;\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .italic {\n font-style: italic;\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .placeholder-neutral-dark::placeholder {\n color: var(--atomic-neutral-dark);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-60 {\n opacity: 60%;\n }\n .opacity-80 {\n opacity: 80%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-inner-primary {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--atomic-primary));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0px 2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-t-lg {\n --tw-shadow: 0px -2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-3 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-primary {\n --tw-ring-color: var(--atomic-primary);\n }\n .ring-ring-primary {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-error {\n outline-color: var(--atomic-error);\n }\n .outline-neutral {\n outline-color: var(--atomic-neutral);\n }\n .outline-primary {\n outline-color: var(--atomic-primary);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-\\[visibility\\] {\n transition-property: visibility;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .ease-in-out {\n --tw-ease: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n .\\[grid-area\\:modal\\] {\n grid-area: modal;\n }\n .\\[scrollbar-gutter\\:stable_both-edges\\] {\n scrollbar-gutter: stable both-edges;\n }\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-error:is(:where(.group):hover *) {\n color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-primary:is(:where(.group):hover *) {\n color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-primary-light:is(:where(.group):hover *) {\n color: var(--atomic-primary-light);\n }\n }\n .group-focus\\:text-primary:is(:where(.group):focus *) {\n color: var(--atomic-primary);\n }\n .group-focus\\:text-primary-light:is(:where(.group):focus *) {\n color: var(--atomic-primary-light);\n }\n .group-focus-visible\\:text-error:is(:where(.group):focus-visible *) {\n color: var(--atomic-error);\n }\n .group-focus-visible\\:text-primary:is(:where(.group):focus-visible *) {\n color: var(--atomic-primary);\n }\n .peer-focus-within\\:border-primary-light:is(:where(.peer):focus-within ~ *) {\n border-color: var(--atomic-primary-light);\n }\n .peer-focus-within\\:text-primary-light:is(:where(.peer):focus-within ~ *) {\n color: var(--atomic-primary-light);\n }\n @media (hover: hover) {\n .peer-hover\\:border-primary-light:is(:where(.peer):hover ~ *) {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .peer-hover\\:text-error:is(:where(.peer):hover ~ *) {\n color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .peer-hover\\:text-primary-light:is(:where(.peer):hover ~ *) {\n color: var(--atomic-primary-light);\n }\n }\n .before\\:absolute::before {\n content: var(--tw-content);\n position: absolute;\n }\n .before\\:top-\\[-8px\\]::before {\n content: var(--tw-content);\n top: -8px;\n }\n .before\\:left-0::before {\n content: var(--tw-content);\n left: calc(0.25rem * 0);\n }\n .before\\:inline::before {\n content: var(--tw-content);\n display: inline;\n }\n .before\\:h-\\[8px\\]::before {\n content: var(--tw-content);\n height: 8px;\n }\n .before\\:w-px::before {\n content: var(--tw-content);\n width: 1px;\n }\n .before\\:bg-neutral::before {\n content: var(--tw-content);\n background-color: var(--atomic-neutral);\n }\n .before\\:content-\\[\\\'\\\'\\]::before {\n --tw-content: \'\';\n content: var(--tw-content);\n }\n .before\\:content-\\[\\\'\\,\\\\00a0\\\'\\]::before {\n --tw-content: \',\\00a0\';\n content: var(--tw-content);\n }\n .after\\:absolute::after {\n content: var(--tw-content);\n position: absolute;\n }\n .after\\:-bottom-0\\.5::after {\n content: var(--tw-content);\n bottom: calc(0.25rem * -0.5);\n }\n .after\\:bottom-\\[-8px\\]::after {\n content: var(--tw-content);\n bottom: -8px;\n }\n .after\\:left-0::after {\n content: var(--tw-content);\n left: calc(0.25rem * 0);\n }\n .after\\:block::after {\n content: var(--tw-content);\n display: block;\n }\n .after\\:h-1::after {\n content: var(--tw-content);\n height: calc(0.25rem * 1);\n }\n .after\\:h-\\[8px\\]::after {\n content: var(--tw-content);\n height: 8px;\n }\n .after\\:w-full::after {\n content: var(--tw-content);\n width: 100%;\n }\n .after\\:w-px::after {\n content: var(--tw-content);\n width: 1px;\n }\n .after\\:rounded::after {\n content: var(--tw-content);\n border-radius: var(--atomic-border-radius);\n }\n .after\\:bg-neutral::after {\n content: var(--tw-content);\n background-color: var(--atomic-neutral);\n }\n .after\\:bg-primary::after {\n content: var(--tw-content);\n background-color: var(--atomic-primary);\n }\n .after\\:content-\\[\\\'\\\'\\]::after {\n --tw-content: \'\';\n content: var(--tw-content);\n }\n .focus-within\\:border-disabled:focus-within {\n border-color: var(--atomic-disabled);\n }\n .focus-within\\:border-primary:focus-within {\n border-color: var(--atomic-primary);\n }\n .focus-within\\:ring-3:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus-within\\:ring-neutral:focus-within {\n --tw-ring-color: var(--atomic-neutral);\n }\n .focus-within\\:ring-ring-primary:focus-within {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n @media (hover: hover) {\n .hover\\:border:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n @media (hover: hover) {\n .hover\\:border-error:hover {\n border-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:border-primary-light:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-error:hover {\n background-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-neutral-light:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-primary-light:hover {\n background-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n }\n @media (hover: hover) {\n .hover\\:fill-white:hover {\n fill: #fff;\n }\n }\n @media (hover: hover) {\n .hover\\:text-error:hover {\n color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:text-primary:hover {\n color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .hover\\:text-primary-light:hover {\n color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:text-success:hover {\n color: var(--atomic-success);\n }\n }\n @media (hover: hover) {\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n @media (hover: hover) {\n .hover\\:opacity-100:hover {\n opacity: 100%;\n }\n }\n @media (hover: hover) {\n .hover\\:shadow-sm:hover {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:border-primary:focus {\n border-color: var(--atomic-primary);\n }\n .focus\\:opacity-100:focus {\n opacity: 100%;\n }\n .focus\\:ring-1:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus\\:ring-primary:focus {\n --tw-ring-color: var(--atomic-primary);\n }\n .focus\\:outline-hidden:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .focus-visible\\:border:focus-visible {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .focus-visible\\:border-error:focus-visible {\n border-color: var(--atomic-error);\n }\n .focus-visible\\:border-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .focus-visible\\:border-primary-light:focus-visible {\n border-color: var(--atomic-primary-light);\n }\n .focus-visible\\:bg-error:focus-visible {\n background-color: var(--atomic-error);\n }\n .focus-visible\\:bg-neutral-light:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .focus-visible\\:bg-primary-light:focus-visible {\n background-color: var(--atomic-primary-light);\n }\n .focus-visible\\:text-primary-light:focus-visible {\n color: var(--atomic-primary-light);\n }\n .focus-visible\\:underline:focus-visible {\n text-decoration-line: underline;\n }\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus-visible\\:ring-primary:focus-visible {\n --tw-ring-color: var(--atomic-primary);\n }\n .focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n .focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n }\n .disabled\\:bg-neutral-light:disabled {\n background-color: var(--atomic-neutral-light);\n }\n .disabled\\:bg-primary\\/60:disabled {\n background-color: color-mix(in srgb, #126ce0 60%, transparent);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .disabled\\:bg-primary\\/60:disabled {\n background-color: color-mix(in oklab, var(--atomic-primary) 60%, transparent);\n }\n }\n .disabled\\:text-neutral-dark:disabled {\n color: var(--atomic-neutral-dark);\n }\n .disabled\\:opacity-100:disabled {\n opacity: 100%;\n }\n @media (width >= 1024px) {\n .desktop\\:mt-2 {\n margin-top: calc(0.25rem * 2);\n }\n }\n @media (width >= 40rem) {\n .sm\\:px-6 {\n padding-inline: calc(0.25rem * 6);\n }\n }\n .\\[part\\=\\"breadcrumb-button\\"\\]\\:visible:is(part="breadcrumb-button") {\n visibility: visible;\n }\n}\n@layer theme, base, components, utilities;\n@layer components {\n .input-primary {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n }\n @media (hover: hover) {\n .input-primary:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n .input-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .input-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .input-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .input-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n .btn-radio::before {\n --tw-content: attr(value);\n content: var(--tw-content);\n }\n .btn-primary {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-primary);\n color: var(--atomic-on-primary);\n }\n @media (hover: hover) {\n .btn-primary:hover {\n background-color: var(--atomic-primary-light);\n }\n }\n .btn-primary:focus-visible {\n background-color: var(--atomic-primary-light);\n }\n .btn-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-primary:disabled {\n cursor: not-allowed;\n }\n .btn-primary:disabled {\n background-color: var(--atomic-disabled);\n }\n .btn-outline-primary {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .btn-outline-primary:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-primary:hover {\n color: var(--atomic-primary-light);\n }\n }\n .btn-outline-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-primary:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-primary:disabled {\n cursor: not-allowed;\n }\n .btn-outline-primary:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-primary:disabled {\n color: var(--atomic-neutral);\n }\n .btn-text-primary {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-background);\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .btn-text-primary:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n .btn-text-primary:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-text-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-neutral {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-neutral:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-neutral:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-neutral:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-neutral:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-neutral:disabled {\n cursor: not-allowed;\n }\n .btn-outline-neutral:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-neutral:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-neutral:disabled {\n opacity: 50%;\n }\n .btn-outline-bg-neutral {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-bg-neutral:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-outline-bg-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-bg-neutral:disabled {\n cursor: not-allowed;\n }\n .btn-outline-bg-neutral:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-bg-neutral:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-bg-neutral:disabled {\n opacity: 50%;\n }\n .btn-outline-bg-error {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-bg-error:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-bg-error:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-outline-bg-error:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-bg-error:disabled {\n cursor: not-allowed;\n }\n .btn-outline-bg-error:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-bg-error:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-bg-error:disabled {\n opacity: 50%;\n }\n .btn-outline-error {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-error:hover {\n border-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .btn-outline-error:hover {\n color: var(--atomic-error);\n }\n }\n .btn-outline-error:focus-visible {\n border-color: var(--atomic-error);\n }\n .btn-outline-error:focus-visible {\n color: var(--atomic-error);\n }\n .btn-outline-error:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-error:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-error:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-error:disabled {\n cursor: not-allowed;\n }\n .btn-outline-error:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-error:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-error:disabled {\n opacity: 50%;\n }\n .btn-text-neutral {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-text-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-text-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-text-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-text-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-text-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-text-transparent {\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-text-transparent:hover {\n color: var(--atomic-primary-light);\n }\n }\n .btn-text-transparent:focus-visible {\n color: var(--atomic-primary-light);\n }\n .btn-square-neutral {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-square-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n .btn-square-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-square-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-page {\n display: grid;\n height: calc(0.25rem * 10);\n width: calc(0.25rem * 10);\n place-items: center;\n border-style: var(--tw-border-style);\n border-width: 0px;\n font-size: var(--atomic-text-lg);\n line-height: var(--tw-leading, calc(1.75 / 1.125));\n }\n @media (hover: hover) {\n .btn-page:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .btn-page:focus-visible {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .btn-page.selected {\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--atomic-primary);\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n }\n}\n@layer base {\n :host {\n display: block;\n }\n :host, button, input, select {\n font-family: var(--atomic-font-family);\n font-size: var(--atomic-text-base);\n line-height: var(--tw-leading, calc(1.5 / 1));\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n button {\n cursor: pointer;\n }\n :host(.atomic-hidden) {\n display: none;\n }\n .ripple {\n position: absolute;\n pointer-events: none;\n transform: scale(0);\n border-radius: 50%;\n animation: ripple var(--animation-duration) linear;\n }\n .ripple-relative {\n position: relative;\n }\n .ripple-parent {\n overflow: hidden;\n }\n @keyframes ripple {\n to {\n transform: scale(4);\n opacity: 0;\n }\n }\n}\n.value-count {\n margin-left: calc(0.25rem * 1.5);\n color: var(--atomic-neutral-dark);\n}\n[part=\'value-exclude-button\'] + .value-count {\n margin-right: calc(0.25rem * 2);\n}\n:host(.popover-nested) {\n min-width: 18rem;\n}\n:host(.popover-nested)::part(label-button) {\n display: none;\n}\n:host(.popover-nested)::part(facet) {\n --tw-shadow: 0px 2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n:host(.popover-nested)::part(values) {\n margin-top: calc(0.25rem * 0);\n max-height: calc(0.25rem * 96);\n overflow-y: auto;\n}\n:host(.popover-nested)::part(search-wrapper) {\n margin-bottom: calc(0.25rem * 2);\n}\n@property --tw-translate-x {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: "*";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: "*";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: "*";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: "*";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: "*";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: "*";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: "*";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: "*";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: "*";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: "*";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: "<color>";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: "<color>";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: "<color>";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: "*";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: "*";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: "<length-percentage>";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: "<length-percentage>";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: "<length-percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: "*";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: "*";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: "<percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: "<percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: "*";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: "<length>";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: "*";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: "*";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: "*";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: "*";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: "*";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: "*";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: "*";\n inherits: false;\n}\n@property --tw-invert {\n syntax: "*";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: "*";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: "*";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: "*";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: "*";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: "<percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: "*";\n inherits: false;\n}\n@property --tw-duration {\n syntax: "*";\n inherits: false;\n}\n@property --tw-ease {\n syntax: "*";\n inherits: false;\n}\n@property --tw-content {\n syntax: "*";\n initial-value: "";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: "";\n }\n }\n}\n';const Q=K;var W=undefined&&undefined.__decorate||function(n,t,r,e){var i=arguments.length,a=i<3?t:e===null?e=Object.getOwnPropertyDescriptor(t,r):e,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(n,t,r,e);else for(var l=n.length-1;l>=0;l--)if(o=n[l])a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a;return i>3&&a&&Object.defineProperty(t,r,a),a};const X=class{constructor(n){t(this,n);this.label="no-label";this.field="date";this.withDatePicker=false;this.isCollapsed=false;this.headingLevel=0;this.filterFacetCount=true;this.injectionDepth=1e3;this.dependsOn={};this.sortCriteria="descending";this.facetState=undefined;this.facetForDatePickerState=undefined;this.filterState=undefined;this.searchStatusState=undefined;this.error=undefined;this.facetId=undefined;this.label="no-label";this.field="date";this.withDatePicker=false;this.isCollapsed=false;this.headingLevel=0;this.filterFacetCount=true;this.injectionDepth=1e3;this.dependsOn={};this.sortCriteria="descending"}initialize(){this.timeframeFacetCommon=new J({facetId:this.facetId,host:this.host,bindings:this.bindings,label:this.label,field:this.field,headingLevel:this.headingLevel,dependsOn:this.dependsOn,withDatePicker:this.withDatePicker,setFacetId:n=>this.facetId=n,buildDependenciesManager:n=>e(this.bindings.engine,{facetId:n,conditions:y(this.dependsOn)}),buildDateRange:i,getSearchStatusState:()=>this.searchStatusState,deserializeRelativeDate:a,initializeFacetForDatePicker:()=>this.initializeFacetForDatePicker(),initializeFacetForDateRange:n=>this.initializeFacetForDateRange(n),initializeFilter:()=>this.initializeFilter(),sortCriteria:this.sortCriteria});this.searchStatus=o(this.bindings.engine)}get focusTarget(){if(!this.headerFocus){this.headerFocus=new f(this)}return this.headerFocus}disconnectedCallback(){this.timeframeFacetCommon?.disconnectedCallback()}initializeFacetForDatePicker(){this.facetForDatePicker=l(this.bindings.engine,{options:{facetId:`${this.facetId}_input_range`,numberOfValues:1,generateAutomaticRanges:true,field:this.field,filterFacetCount:this.filterFacetCount,injectionDepth:this.injectionDepth}});return this.facetForDatePicker}initializeFacetForDateRange(n){this.facetForDateRange=l(this.bindings.engine,{options:{facetId:this.facetId,field:this.field,currentValues:n,generateAutomaticRanges:false,sortCriteria:"descending",filterFacetCount:this.filterFacetCount,injectionDepth:this.injectionDepth}});return this.facetForDateRange}initializeFilter(){this.filter=s(this.bindings.engine,{options:{facetId:`${this.facetId}_input`,field:this.field}});return this.filter}applyDateInput(){this.facetId&&this.bindings.engine.dispatch(c(this.bindings.engine).deselectAllDateFacetValues(this.facetId))}render(){if(!this.timeframeFacetCommon){return n(S,{numberOfValues:5,isCollapsed:this.isCollapsed})}return this.timeframeFacetCommon.render({hasError:this.searchStatusState.hasError,firstSearchExecuted:this.searchStatusState.firstSearchExecuted,isCollapsed:this.isCollapsed,headerFocus:this.focusTarget,onToggleCollapse:()=>this.isCollapsed=!this.isCollapsed})}get host(){return r(this)}};W([h()],X.prototype,"bindings",void 0);W([m("facetForDateRange")],X.prototype,"facetState",void 0);W([m("facetForDatePicker")],X.prototype,"facetForDatePickerState",void 0);W([m("filter")],X.prototype,"filterState",void 0);W([m("searchStatus")],X.prototype,"searchStatusState",void 0);W([u()],X.prototype,"dependsOn",void 0);X.style=Q;export{X as atomic_insight_timeframe_facet};
9
- //# sourceMappingURL=p-1df0744f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FocusTargetController","constructor","component","this","registerFocusCallback","callback","publicOnFocusCallbacks","push","doFocusAfterSearch","doFocusOnNextTarget","bindings","handleComponentRenderLoop","clearFocusCallbacks","internalOnFocusCallback","length","pop","setTarget","el","element","focus","defer","focusAfterSearch","lastSearchId","store","getUniqueIDFromEngine","engine","Promise","resolve","focusOnNextTarget","disableForCurrentSearch","originalComponentDidRender","componentDidRender","call","then","parseDependsOn","dependsOn","Object","keys","entries","map","parentFacetId","expectedValue","condition","buildDependsOnCondition","values","some","value","isCategoryFacetValue","matchesCategoryFacetValue","isSimpleFacetValue","matchesSimpleFacetValue","selectedValue","getSelectedCategoryFacetValueRequest","state","request","requestAsRecord","children","Array","isArray","child","asRecord","FacetPlaceholder","numberOfValues","isCollapsed","facetValues","i","h","class","style","width","opacity","part","getFieldCaptionNamespace","field","getFieldValueCaption","facetValue","i18n","t","ns","FacetContainer","_","Heading","level","htmlProps","HeadingTag","FacetHeader","props","label","expandFacet","collapseFacet","clearFilters","count","numberOfActiveValues","clearFiltersForFacet","Button","ariaLabel","onClick","onToggleCollapse","ariaExpanded","toString","ref","headerRef","headingLevel","icon","ArrowBottomIcon","ArrowTopIcon","onClearFilters","CloseIcon","matchHtmlRegExp","escapeHtml_1","escapeHtml","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","regexEncode","replace","highlightSearchResult","resultValue","searchQuery","sanitizedResult","trim","regex","RegExp","FacetValueLabelHighlight","title","displayValue","isSelected","isExcluded","innerHTML","FacetValueLink","numberOfResults","toLocaleString","language","formattedCount","interpolation","escapeValue","additionalPart","key","ariaPressed","buttonRef","text","subList","FieldsetGroup","FacetValuesGroup","facetDisplayLabel","groupLabel","query","undefined","initializePopover","host","childFacet","dispatchEvent","buildCustomEvent","shouldDisplayInputForFacetRange","facetRange","hasInput","hasInputRange","searchStatusState","hasResults","onlyValuesWithResultsOrActive","filter","TimeframeFacetCommon","manualTimeframes","facetId","determineFacetId","setFacetId","getManualTimeframes","facetForDateRange","initializeFacetForDateRange","currentValues","withDatePicker","facetForDatePicker","initializeFacetForDatePicker","facetForDatePickerDependenciesManager","buildDependenciesManager","initializeFilter","facetForDateRangeDependenciesManager","filterDependenciesManager","registerFacetToStore","dateFacets","randomID","enabled","valuesToRender","shouldRenderValues","shouldRenderFacet","shouldRenderInput","getSearchStatusState","hasValues","numberOfSelectedValues","range","period","amount","unit","buildDateRange","start","end","disconnectedCallback","isConnected","stopWatching","isHidden","facetInfo","registerFacet","format","formatFacetValue","from","querySelectorAll","startDate","deserializeRelativeDate","relativeDate","timeframe","find","error","parseDate","renderValues","renderValuesContainer","renderValue","toggleSingleSelect","renderHeader","headerFocus","clear","deselectAll","renderDateInput","min","max","rangeGetter","rangeSetter","setRange","render","hasError","firstSearchExecuted","Hidden","atomicInsightTimeframeFacetCss","AtomicInsightTimeframeFacetStyle0","AtomicInsightTimeframeFacet","filterFacetCount","injectionDepth","sortCriteria","initialize","timeframeFacetCommon","id","buildInsightFacetConditionsManager","conditions","buildInsightDateRange","deserializeInsightRelativeDate","searchStatus","buildInsightSearchStatus","focusTarget","buildInsightDateFacet","options","generateAutomaticRanges","buildInsightDateFilter","applyDateInput","dispatch","loadInsightDateFacetSetActions","deselectAllDateFacetValues","__decorate","InitializeBindings","BindStateToController","MapProp"],"sources":["src/utils/stencil-accessibility-utils.tsx","src/components/common/facets/depends-on.ts","src/components/common/facets/facet-placeholder/stencil-facet-placeholder.tsx","src/utils/field-utils.ts","src/components/common/facets/facet-container/stencil-facet-container.tsx","src/components/common/stencil-heading.tsx","src/components/common/facets/facet-header/stencil-facet-header.tsx","../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js","src/utils/string-utils.ts","src/components/common/facets/facet-search/facet-search-utils.ts","src/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.tsx","src/components/common/facets/facet-value-link/stencil-facet-value-link.tsx","src/components/common/stencil-fieldset-group.tsx","src/components/common/facets/facet-values-group/stencil-facet-values-group.tsx","src/components/common/facets/popover/popover-type.ts","src/components/common/facets/stencil-facet-common.tsx","src/components/common/facets/stencil-timeframe-facet-common.tsx","src/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.pcss?tag=atomic-insight-timeframe-facet&encapsulation=shadow","src/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AtomicAriaLive } from '../components/common/atomic-aria-live/atomic-aria-live';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {buildCustomEvent} from './event-utils';\nimport {InitializableComponent} from './initialization-utils';\nimport {defer} from './utils';\n\nconst findAriaLiveEventName = 'atomic/accessibility/findAriaLive';\n\n/**\n * @deprecated use Lit equivalent\n */\nexport interface FindAriaLiveEventArgs {\n element?: AtomicAriaLive;\n}\n\n/**\n * @deprecated use Lit equivalent\n */\nexport function AriaLiveRegion(regionName: string, assertive = false) {\n function getAriaLiveElement() {\n const event = buildCustomEvent<FindAriaLiveEventArgs>(\n findAriaLiveEventName,\n {}\n );\n document.dispatchEvent(event);\n const {element} = event.detail;\n return element;\n }\n\n function dispatchMessage(message: string) {\n getAriaLiveElement()?.updateMessage(regionName, message, assertive);\n }\n\n function registerRegion() {\n getAriaLiveElement()?.registerRegion(regionName, assertive);\n }\n\n return (\n component: InitializableComponent<AnyBindings>,\n setterName: string\n ) => {\n const {componentWillRender} = component;\n Object.defineProperty(component, setterName, {\n set: (message: string) => dispatchMessage(message),\n });\n\n component.componentWillRender = function () {\n componentWillRender && componentWillRender.call(this);\n registerRegion();\n };\n };\n}\n\n/**\n * @deprecated use Lit equivalent\n */\nexport class FocusTargetController {\n private bindings: AnyBindings;\n private lastSearchId?: string;\n private element?: HTMLElement;\n public registerFocusCallback: (callback: Function) => void = (\n callback: Function\n ) => {\n this.publicOnFocusCallbacks.push(callback);\n };\n private internalOnFocusCallback?: Function;\n private doFocusAfterSearch = false;\n private doFocusOnNextTarget = false;\n private publicOnFocusCallbacks: Function[] = [];\n\n constructor(private component: InitializableComponent<AnyBindings>) {\n this.bindings = component.bindings;\n this.handleComponentRenderLoop();\n }\n\n private clearFocusCallbacks() {\n this.internalOnFocusCallback?.();\n while (this.publicOnFocusCallbacks.length) {\n this.publicOnFocusCallbacks.pop()?.();\n }\n }\n\n public setTarget(el: HTMLElement | undefined) {\n if (!el) {\n return;\n }\n this.element = el;\n if (this.doFocusOnNextTarget) {\n this.doFocusOnNextTarget = false;\n this.focus();\n }\n }\n\n public async focus() {\n await defer();\n this.element?.focus();\n this.clearFocusCallbacks();\n }\n\n public focusAfterSearch() {\n this.lastSearchId = this.bindings.store.getUniqueIDFromEngine(\n this.bindings.engine\n );\n this.doFocusAfterSearch = true;\n return new Promise((resolve) => (this.internalOnFocusCallback = resolve));\n }\n\n public focusOnNextTarget() {\n this.doFocusOnNextTarget = true;\n return new Promise((resolve) => (this.internalOnFocusCallback = resolve));\n }\n\n public disableForCurrentSearch() {\n if (\n this.bindings.store.getUniqueIDFromEngine(this.bindings.engine) !==\n this.lastSearchId\n ) {\n this.doFocusAfterSearch = false;\n }\n }\n\n private handleComponentRenderLoop() {\n const originalComponentDidRender = this.component.componentDidRender;\n\n this.component.componentDidRender = () => {\n originalComponentDidRender &&\n originalComponentDidRender.call(this.component);\n if (!this.bindings) {\n return;\n }\n if (\n this.doFocusAfterSearch &&\n this.bindings.store.getUniqueIDFromEngine(this.bindings.engine) !==\n this.lastSearchId\n ) {\n this.doFocusAfterSearch = false;\n if (this.element) {\n const el = this.element;\n // The focus seems to be flaky without deferring, especially on iOS.\n defer().then(() => {\n el.focus();\n this.clearFocusCallbacks();\n });\n }\n }\n };\n }\n}\n\nfunction isFocusable(element: Element) {\n // Source: https://stackoverflow.com/a/30753870\n if (element.getAttribute('tabindex') === '-1') {\n return false;\n }\n if (element.hasAttribute('tabindex')) {\n return true;\n }\n if (element.getAttribute('contentEditable') === 'true') {\n return true;\n }\n switch (element.tagName) {\n case 'A':\n case 'AREA':\n return element.hasAttribute('href');\n case 'INPUT':\n case 'SELECT':\n case 'TEXTAREA':\n case 'BUTTON':\n return !element.hasAttribute('disabled');\n case 'IFRAME':\n return true;\n default:\n return false;\n }\n}\n\n/**\n * @deprecated use Lit equivalent\n */\nexport function* getFocusableDescendants(\n element: Element\n): Generator<HTMLElement> {\n if (isFocusable(element)) {\n yield element as HTMLElement;\n }\n let children = Array.from(element.children);\n if (element instanceof HTMLSlotElement) {\n children = element.assignedElements();\n } else if (element.shadowRoot) {\n children.push(...Array.from(element.shadowRoot.children));\n }\n for (const child of children) {\n yield* getFocusableDescendants(child);\n }\n}\n\n/**\n * @deprecated use Lit equivalent\n */\nexport function getFirstFocusableDescendant(\n element: Element\n): HTMLElement | null {\n return getFocusableDescendants(element).next().value ?? null;\n}\n","type GenericCondition<AnyFacetValueRequest> = {\n parentFacetId: string;\n condition(parentValues: AnyFacetValueRequest[]): boolean;\n};\n\ninterface SimpleFacetValue {\n value: string;\n state: string;\n}\n\ninterface CategoryFacetValue extends SimpleFacetValue {\n children: SimpleFacetValue[];\n}\n\nexport function parseDependsOn<\n FacetValue extends SimpleFacetValue | CategoryFacetValue,\n>(dependsOn: Record<string, string>): GenericCondition<FacetValue>[] {\n if (Object.keys(dependsOn).length > 1) {\n throw \"Depending on multiple facets isn't supported\";\n }\n\n const entries = Object.entries(dependsOn);\n return entries.map(([parentFacetId, expectedValue]) => ({\n parentFacetId,\n condition: buildDependsOnCondition<FacetValue>(expectedValue),\n }));\n}\n\nfunction buildDependsOnCondition<\n FacetValue extends SimpleFacetValue | CategoryFacetValue,\n>(expectedValue: string): (values: FacetValue[]) => boolean {\n return (values: FacetValue[]) =>\n values.some((value) => {\n if (isCategoryFacetValue(value)) {\n return matchesCategoryFacetValue(\n value as CategoryFacetValue,\n expectedValue\n );\n }\n if (isSimpleFacetValue(value)) {\n return matchesSimpleFacetValue(\n value as SimpleFacetValue,\n expectedValue\n );\n }\n return false;\n });\n}\n\nfunction matchesCategoryFacetValue<FacetValue extends CategoryFacetValue>(\n value: FacetValue,\n expectedValue: string\n): boolean {\n const selectedValue = getSelectedCategoryFacetValueRequest(value);\n if (!selectedValue) {\n return false;\n }\n return !expectedValue || selectedValue.value === expectedValue;\n}\n\nfunction matchesSimpleFacetValue(\n value: SimpleFacetValue,\n expectedValue: string\n): boolean {\n if (value.state !== 'selected') {\n return false;\n }\n return !expectedValue || value.value === expectedValue;\n}\n\nfunction isCategoryFacetValue(request: unknown): request is CategoryFacetValue {\n const requestAsRecord = request as Record<string, unknown>;\n return (\n (requestAsRecord?.children &&\n Array.isArray(requestAsRecord.children) &&\n requestAsRecord?.state &&\n typeof requestAsRecord.state === 'string') === true\n );\n}\n\nfunction getSelectedCategoryFacetValueRequest(\n value: unknown\n): CategoryFacetValue | null {\n if (!isCategoryFacetValue(value)) {\n return null;\n }\n if (value.state === 'selected') {\n return value;\n }\n for (const child of value.children) {\n const selectedValue = getSelectedCategoryFacetValueRequest(child);\n if (selectedValue !== null) {\n return selectedValue;\n }\n }\n return null;\n}\n\nfunction isSimpleFacetValue(value: unknown): value is SimpleFacetValue {\n const asRecord = value as Record<string, unknown>;\n return (\n 'value' in asRecord &&\n typeof asRecord.value === 'string' &&\n !('children' in asRecord)\n );\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface FacetPlaceholderProps {\n numberOfValues: number;\n isCollapsed: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetPlaceholder: FunctionalComponent<FacetPlaceholderProps> = ({\n numberOfValues,\n isCollapsed,\n}) => {\n const facetValues = [];\n for (let i = 0; i < numberOfValues; i++) {\n facetValues.push(\n <div\n class=\"bg-neutral mt-4 flex h-5\"\n style={{width: '100%', opacity: '0.5'}}\n ></div>\n );\n }\n\n return (\n <div\n part=\"placeholder\"\n class=\"bg-background border-neutral mb-4 animate-pulse rounded-lg border p-7\"\n aria-hidden=\"true\"\n >\n <div class=\"bg-neutral h-8 rounded\" style={{width: '75%'}}></div>\n {!isCollapsed && <div class=\"mt-7\">{facetValues}</div>}\n </div>\n );\n};\n","import type {i18n} from 'i18next';\n\nfunction getFieldCaptionNamespace(field: string) {\n return `caption-${field}`;\n}\n\nexport function getFieldCaptions(field: string, i18n: i18n) {\n return (\n i18n.getResourceBundle(i18n.language, getFieldCaptionNamespace(field)) || {}\n );\n}\n\nexport function getFieldValueCaption(\n field: string,\n facetValue: string,\n i18n: i18n\n) {\n return i18n.t(facetValue, {\n ns: getFieldCaptionNamespace(field),\n });\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetContainer: FunctionalComponent = (_, children) => (\n <div class=\"bg-background border-neutral rounded-lg border p-4\" part=\"facet\">\n {children}\n </div>\n);\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {HeadingProps} from './heading';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const Heading: FunctionalComponent<\n Pick<HeadingProps, 'level'> & JSXBase.HTMLAttributes<HTMLHeadingElement>\n> = ({level, ...htmlProps}, children) => {\n const HeadingTag = level > 0 && level <= 6 ? `h${level}` : 'div';\n return <HeadingTag {...htmlProps}>{children}</HeadingTag>;\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 CloseIcon from '../../../../images/close.svg';\nimport {Button} from '../../stencil-button';\nimport {Heading} from '../../stencil-heading';\n\ninterface FacetHeaderProps {\n i18n: i18n;\n label: string;\n numberOfActiveValues: number;\n isCollapsed: boolean;\n headingLevel: number;\n onToggleCollapse(): void;\n onClearFilters?(): void;\n headerRef?: (element?: HTMLButtonElement) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetHeader: FunctionalComponent<FacetHeaderProps> = (props) => {\n const label = props.i18n.t(props.label);\n const expandFacet = props.i18n.t('expand-facet', {label});\n const collapseFacet = props.i18n.t('collapse-facet', {label});\n const clearFilters = props.i18n.t('clear-filters', {\n count: props.numberOfActiveValues,\n });\n const clearFiltersForFacet = props.i18n.t('clear-filters-for-facet', {\n count: props.numberOfActiveValues,\n label,\n });\n\n return [\n <Button\n style=\"text-transparent\"\n part=\"label-button\"\n class=\"flex w-full justify-between rounded-none px-2 py-1 text-lg font-bold\"\n ariaLabel={props.isCollapsed ? expandFacet : collapseFacet}\n onClick={() => props.onToggleCollapse()}\n ariaExpanded={(!props.isCollapsed).toString()}\n ref={props.headerRef}\n >\n <Heading level={props.headingLevel} class=\"truncate\">\n {label}\n </Heading>\n <atomic-icon\n part=\"label-button-icon\"\n class=\"ml-4 w-3 shrink-0 self-center\"\n icon={props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon}\n ></atomic-icon>\n </Button>,\n props.onClearFilters && props.numberOfActiveValues > 0 && (\n <Button\n style=\"text-primary\"\n part=\"clear-button\"\n class=\"flex max-w-full items-baseline p-2 text-sm\"\n ariaLabel={clearFiltersForFacet}\n onClick={() => props.onClearFilters!()}\n >\n <atomic-icon\n part=\"clear-button-icon\"\n class=\"mr-1 h-2 w-2\"\n icon={CloseIcon}\n ></atomic-icon>\n <span>{clearFilters}</span>\n </Button>\n ),\n ];\n};\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","export function regexEncode(value: string): string {\n return value.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\n\nexport function encodeForDomAttribute(str: string) {\n return str\n .split('')\n .map((ch) => (ch.match(/(\\d|\\w)+/g) ? ch : ch.charCodeAt(0)))\n .join('');\n}\n","import escapeHtml from 'escape-html';\nimport {regexEncode} from '../../../../utils/string-utils';\n\ninterface FacetSearchState {\n query: string;\n values: unknown[];\n isLoading: boolean;\n}\n\n/**\n * Meant to be used inside the `shouldUpdate` lifecycle method.\n * It prevents updating the facet between two matchless facet searches.\n * It also prevents updating the facet until the first search has loaded.\n */\nexport function shouldUpdateFacetSearchComponent(\n nextFacetSearchState: FacetSearchState,\n prevFacetSearchState: FacetSearchState\n) {\n const hasQuery = nextFacetSearchState.query !== '';\n const stillNoValues =\n !nextFacetSearchState.values.length && !prevFacetSearchState.values.length;\n const hasFinishedLoading =\n !nextFacetSearchState.isLoading && prevFacetSearchState.isLoading;\n\n if (hasQuery && stillNoValues) {\n return hasFinishedLoading;\n }\n\n return true;\n}\n\nexport function shouldDisplaySearchResults(facetSearchState: FacetSearchState) {\n const hasQuery = facetSearchState.query !== '';\n const isLoading = facetSearchState.isLoading;\n const hasValues = !!facetSearchState.values.length;\n\n if (!hasQuery) {\n return false;\n }\n\n if (hasValues) {\n return true;\n }\n\n return !isLoading;\n}\n\nexport function highlightSearchResult(resultValue: string, searchQuery = '') {\n const sanitizedResult = escapeHtml(resultValue);\n\n if (searchQuery.trim() === '') {\n return sanitizedResult;\n }\n\n const regex = new RegExp(`(${regexEncode(escapeHtml(searchQuery))})`, 'i');\n return escapeHtml(resultValue).replace(\n regex,\n '<span part=\"search-highlight\" class=\"font-bold\">$1</span>'\n );\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {highlightSearchResult} from '../facet-search/facet-search-utils';\n\ninterface FacetValueLabelHighlightProps {\n displayValue: string;\n searchQuery?: string;\n isSelected: boolean;\n isExcluded?: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetValueLabelHighlight: FunctionalComponent<\n FacetValueLabelHighlightProps\n> = (props) => {\n return (\n // deepcode ignore ReactSetInnerHtml: This is not React code\n <span\n title={props.displayValue}\n part=\"value-label\"\n class={`value-label peer-hover:text-error truncate ${\n props.isSelected || !!props.isExcluded ? 'font-bold' : ''\n }`}\n innerHTML={highlightSearchResult(props.displayValue, props.searchQuery)}\n ></span>\n );\n};\n","import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {Button} from '../../stencil-button';\nimport {FacetValueProps} from '../stencil-facet-common';\n\ninterface FacetValueLinkProps extends FacetValueProps {\n subList?: VNode | VNode[];\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetValueLink: FunctionalComponent<FacetValueLinkProps> = (\n props,\n children\n) => {\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n interpolation: {escapeValue: false},\n });\n\n let part =\n props.part ?? `value-link${props.isSelected ? ' value-link-selected' : ''}`;\n\n if (props.additionalPart) {\n part += ` ${props.additionalPart}`;\n }\n\n return (\n <li key={props.displayValue} class={props.class}>\n <Button\n style=\"text-neutral\"\n part={part}\n onClick={() => props.onClick()}\n class=\"group flex w-full items-center truncate px-2 py-2.5 text-left focus-visible:outline-none\"\n ariaPressed={props.isSelected.toString()}\n ariaLabel={ariaLabel}\n ref={props.buttonRef}\n >\n {children}\n <span part=\"value-count\" class=\"value-count\">\n {props.i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </Button>\n {props.subList}\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\n\ninterface GroupProps {\n label: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FieldsetGroup: FunctionalComponent<GroupProps> = (\n {label},\n children\n) => (\n <fieldset class=\"contents\">\n <legend class=\"sr-only\">{label}</legend>\n {children}\n </fieldset>\n);\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\n\ninterface FacetValuesGroupProps {\n i18n: i18n;\n label?: string;\n query?: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetValuesGroup: FunctionalComponent<FacetValuesGroupProps> = (\n props,\n children\n) => {\n if (!props.label) {\n return children;\n }\n const facetDisplayLabel = props.i18n.t(props.label);\n const groupLabel =\n props.query === undefined\n ? props.i18n.t('facet-values', {label: facetDisplayLabel})\n : props.i18n.t('facet-search-results', {\n query: props.query,\n label: facetDisplayLabel,\n });\n\n return <FieldsetGroup label={groupLabel}>{children}</FieldsetGroup>;\n};\n","import {buildCustomEvent} from '../../../../utils/event-utils';\nimport type {FacetInfo} from '../../../common/facets/facet-common-store';\n\nexport interface PopoverChildFacet extends FacetInfo {\n hasValues: () => boolean;\n numberOfActiveValues: () => number;\n}\n\nexport const popoverClass = 'popover-nested';\n\nexport function initializePopover(\n host: HTMLElement,\n childFacet: PopoverChildFacet\n) {\n host.dispatchEvent(\n buildCustomEvent<PopoverChildFacet>('atomic/initializePopover', childFacet)\n );\n}\n","import {FacetValue, SearchStatusState} from '@coveo/headless';\nimport {i18n} from 'i18next';\nimport { AtomicAutomaticFacetGenerator } from '../../search/atomic-automatic-facet-generator/atomic-automatic-facet-generator';\n\nexport interface FacetValueProps {\n i18n: i18n;\n displayValue: string;\n numberOfResults: number;\n isSelected: boolean;\n onClick(): void;\n searchQuery?: string;\n class?: string;\n part?: string;\n additionalPart?: string;\n buttonRef?: (element?: HTMLButtonElement) => void;\n}\n\nexport function shouldDisplayInputForFacetRange(facetRange: {\n hasInput: boolean;\n hasInputRange: boolean;\n searchStatusState: SearchStatusState;\n facetValues: Pick<FacetValue, 'numberOfResults' | 'state'>[];\n}) {\n const {hasInput, hasInputRange, searchStatusState, facetValues} = facetRange;\n if (!hasInput) {\n return false;\n }\n\n if (hasInputRange) {\n return true;\n }\n\n if (!searchStatusState.hasResults) {\n return false;\n }\n\n const onlyValuesWithResultsOrActive =\n facetValues.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || [];\n\n if (!onlyValuesWithResultsOrActive.length) {\n return false;\n }\n\n return true;\n}\n\nexport type BaseFacetElement = HTMLElement & {\n facetId: string;\n isCollapsed: boolean;\n};\n\nexport function sortFacetVisibility(\n facetElements: BaseFacetElement[],\n facetInfoMap: Record<string, {isHidden: () => boolean}>\n) {\n const visibleFacets: BaseFacetElement[] = [];\n const invisibleFacets: BaseFacetElement[] = [];\n\n facetElements.forEach((facet) => {\n if (facetInfoMap[facet.facetId] && facetInfoMap[facet.facetId].isHidden()) {\n invisibleFacets.push(facet);\n } else {\n visibleFacets.push(facet);\n }\n });\n\n return {visibleFacets, invisibleFacets};\n}\n\nexport function collapseFacetsAfter(\n facets: BaseFacetElement[],\n visibleFacetsCount: number\n) {\n if (visibleFacetsCount === -1) {\n return;\n }\n\n facets.forEach((facet, index) => {\n facet.isCollapsed = index + 1 > visibleFacetsCount;\n });\n}\n\nexport function isAutomaticFacetGenerator(\n element: HTMLElement\n): element is AtomicAutomaticFacetGenerator {\n return element.tagName === 'ATOMIC-AUTOMATIC-FACET-GENERATOR';\n}\n\nfunction isPseudoFacet(el: Element): el is BaseFacetElement {\n return 'facetId' in el;\n}\n\nexport function getFacetsInChildren(parent: HTMLElement): BaseFacetElement[] {\n const facets = Array.from(parent.children).filter((child) =>\n isPseudoFacet(child)\n ) as BaseFacetElement[];\n\n return facets;\n}\nexport function getAutomaticFacetGenerator(\n parent: HTMLElement\n): AtomicAutomaticFacetGenerator | undefined {\n return (Array.from(parent.children) as HTMLElement[]).find(\n isAutomaticFacetGenerator\n );\n}\n\nfunction findFacetParent(\n facet: BaseFacetElement,\n parents: (HTMLElement | null)[]\n) {\n for (let i = 0; i < parents.length; i++) {\n if (parents[i]?.contains(facet)) {\n return parents[i];\n }\n }\n return null;\n}\n\n/**\n * Triage elements by their parents.\n * @param facets Facet Elements\n * @param parents Elements that may contains the facets\n * @returns an array in the same order as the parents, containing the facets that are contained by the corresponding parent.\n * The last element of the array contains the facets that are not contained by any of the parents.\n */\nexport function triageFacetsByParents(\n facets: BaseFacetElement[],\n ...parents: (HTMLElement | null)[]\n): Map<HTMLElement | null, BaseFacetElement[]> {\n const sortedFacets: Map<HTMLElement | null, BaseFacetElement[]> = new Map(\n parents.concat([null]).map((parent) => [parent, []])\n );\n for (const facet of facets) {\n const parent = findFacetParent(facet, parents);\n sortedFacets.get(parent)!.push(facet);\n }\n return sortedFacets;\n}\n","import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/stencil-facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-stencil-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-stencil-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n","@import '../../common/facets/facet-common.pcss';\n","import {\n buildDateFacet as buildInsightDateFacet,\n buildDateFilter as buildInsightDateFilter,\n buildDateRange as buildInsightDateRange,\n buildFacetConditionsManager as buildInsightFacetConditionsManager,\n buildSearchStatus as buildInsightSearchStatus,\n deserializeRelativeDate as deserializeInsightRelativeDate,\n DateFacet as InsightDateFacet,\n DateFacetState as InsightDateFacetState,\n DateFilter as InsightDateFilter,\n DateFilterState as InsightDateFilterState,\n DateRangeRequest as InsightDateRangeRequest,\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n loadDateFacetSetActions as loadInsightDateFacetSetActions,\n RangeFacetSortCriterion as InsightRangeFacetSortCriterion,\n FacetValueRequest as InsightFacetValueRequest,\n CategoryFacetValueRequest as InsightCategoryFacetValueRequest,\n} from '@coveo/headless/insight';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {MapProp} from '../../../utils/props-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {parseDependsOn} from '../../common/facets/depends-on';\nimport {FacetPlaceholder} from '../../common/facets/facet-placeholder/stencil-facet-placeholder';\nimport {TimeframeFacetCommon} from '../../common/facets/stencil-timeframe-facet-common';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-timeframe-facet',\n styleUrl: './atomic-insight-timeframe-facet.pcss',\n shadow: true,\n})\nexport class AtomicInsightTimeframeFacet\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public facetForDateRange?: InsightDateFacet;\n public facetForDatePicker?: InsightDateFacet;\n\n private timeframeFacetCommon?: TimeframeFacetCommon;\n public filter?: InsightDateFilter;\n public searchStatus!: InsightSearchStatus;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facetForDateRange')\n @State()\n public facetState!: InsightDateFacetState;\n @BindStateToController('facetForDatePicker')\n @State()\n public facetForDatePickerState?: InsightDateFacetState;\n @BindStateToController('filter')\n @State()\n public filterState?: InsightDateFilterState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: InsightSearchStatusState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the atomic-breadbox component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field = 'date';\n /**\n * Whether this facet should contain a date picker allowing users to set custom ranges.\n */\n @Prop({reflect: true}) public withDatePicker = false;\n /**\n * Specifies if the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-insight-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-insight-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-insight-timeframe-facet\n * depends-on-abc\n * ...\n * ></atomic-insight-timeframe-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-insight-timeframe-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-insight-timeframe-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'ascending' and 'descending'.\n */\n @Prop({reflect: true}) public sortCriteria: InsightRangeFacetSortCriterion =\n 'descending';\n\n private headerFocus?: FocusTargetController;\n\n public initialize() {\n this.timeframeFacetCommon = new TimeframeFacetCommon({\n facetId: this.facetId,\n host: this.host,\n bindings: this.bindings,\n label: this.label,\n field: this.field,\n headingLevel: this.headingLevel,\n dependsOn: this.dependsOn,\n withDatePicker: this.withDatePicker,\n setFacetId: (id: string) => (this.facetId = id),\n buildDependenciesManager: (facetId: string) =>\n buildInsightFacetConditionsManager(this.bindings.engine, {\n facetId,\n conditions: parseDependsOn<\n InsightFacetValueRequest | InsightCategoryFacetValueRequest\n >(this.dependsOn),\n }),\n buildDateRange: buildInsightDateRange,\n getSearchStatusState: () => this.searchStatusState,\n deserializeRelativeDate: deserializeInsightRelativeDate,\n initializeFacetForDatePicker: () => this.initializeFacetForDatePicker(),\n initializeFacetForDateRange: (values: InsightDateRangeRequest[]) =>\n this.initializeFacetForDateRange(values),\n initializeFilter: () => this.initializeFilter(),\n sortCriteria: this.sortCriteria,\n });\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n }\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n public disconnectedCallback() {\n this.timeframeFacetCommon?.disconnectedCallback();\n }\n\n private initializeFacetForDatePicker() {\n this.facetForDatePicker = buildInsightDateFacet(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input_range`,\n numberOfValues: 1,\n generateAutomaticRanges: true,\n field: this.field,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n },\n });\n return this.facetForDatePicker;\n }\n\n private initializeFacetForDateRange(values: InsightDateRangeRequest[]) {\n this.facetForDateRange = buildInsightDateFacet(this.bindings.engine, {\n options: {\n facetId: this.facetId,\n field: this.field,\n currentValues: values,\n generateAutomaticRanges: false,\n sortCriteria: 'descending',\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n },\n });\n\n return this.facetForDateRange;\n }\n\n private initializeFilter() {\n this.filter = buildInsightDateFilter(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input`,\n field: this.field,\n },\n });\n\n return this.filter;\n }\n\n @Listen('atomic/dateInputApply')\n public applyDateInput() {\n this.facetId &&\n this.bindings.engine.dispatch(\n loadInsightDateFacetSetActions(\n this.bindings.engine\n ).deselectAllDateFacetValues(this.facetId)\n );\n }\n\n public render() {\n if (!this.timeframeFacetCommon) {\n return (\n <FacetPlaceholder\n numberOfValues={5}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n return this.timeframeFacetCommon.render({\n hasError: this.searchStatusState.hasError,\n firstSearchExecuted: this.searchStatusState.firstSearchExecuted,\n isCollapsed: this.isCollapsed,\n headerFocus: this.focusTarget,\n onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as t,H as i,g as n,f as e}from"./p-aad3b4ec.js";import{i as s,c as o,M as a,e as r,a as c}from"./p-81d6e743.js";import{b as h}from"./p-1580513b.js";const d=()=>t(i,{class:"atomic-hidden"});const l="data-atomic-rendered";const f="data-atomic-loaded";function u({forceUpdate:i}={}){return(u,p)=>{const{componentWillLoad:m,render:b,componentDidRender:g,componentDidLoad:C,disconnectedCallback:y}=u;let j=()=>{};if(p!=="bindings"){return console.error(`The InitializeBindings decorator should be used on a property called "bindings", and not "${p}"`,u)}u.componentWillLoad=function(){const t=n(this);t.setAttribute(l,"false");t.setAttribute(f,"false");const d=h(s,(t=>{this.bindings=t;const n=()=>e(this);this.bindings.i18n.on("languageChanged",n);j=()=>this.bindings.i18n.off("languageChanged",n);try{if(this.initialize){this.initialize();if(i){e(this)}}else{e(this)}}catch(t){this.error=t}}));const u=o(t,c.join(", "));if(!u){this.error=new a(t.nodeName.toLowerCase());return}r(u,d,t);return m&&m.call(this)};u.render=function(){if(this.error){return t("atomic-component-error",{element:n(this),error:this.error})}if(!this.bindings){return t(d,null)}n(this).setAttribute(l,"true");return b&&b.call(this)};u.disconnectedCallback=function(){const t=n(this);t.setAttribute(l,"false");t.setAttribute(f,"false");j();y&&y.call(this)};u.componentDidRender=function(){const t=n(this);if(t.getAttribute(l)==="false"){return}g&&g.call(this);if(t.getAttribute(f)==="false"){t.setAttribute(f,"true");C&&C.call(this)}};u.componentDidLoad=function(){}}}function p(t,i){return(e,s)=>{const{disconnectedCallback:o,initialize:a}=e;e.initialize=function(){a&&a.call(this);if(!a){return console.error(`ControllerState: The "initialize" method has to be defined and instantiate a controller for the property ${t}`,e)}if(!this[t]){return}if(i?.onUpdateCallbackMethod&&!this[i.onUpdateCallbackMethod]){return console.error(`ControllerState: The onUpdateCallbackMethod property "${i.onUpdateCallbackMethod}" is not defined`,e)}this.unsubscribeController=this[t].subscribe((()=>{this[s]=this[t].state;i?.onUpdateCallbackMethod&&this[i.onUpdateCallbackMethod]()}))};e.disconnectedCallback=function(){!n(this).isConnected&&this.unsubscribeController?.();o&&o.call(this)}}}export{p as B,d as H,u as I};
2
- //# sourceMappingURL=p-2045a1b1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Hidden","h","Host","class","renderedAttribute","loadedAttribute","InitializeBindings","forceUpdate","component","bindingsProperty","componentWillLoad","render","componentDidRender","componentDidLoad","disconnectedCallback","unsubscribeLanguage","console","error","element","getElement","this","setAttribute","event","buildCustomEvent","initializeEventName","bindings","updateLanguage","forceUpdateComponent","i18n","on","off","initialize","e","parent","closest","initializableElements","join","MissingInterfaceParentError","nodeName","toLowerCase","enqueueOrDispatchInitializationEvent","call","getAttribute","BindStateToController","controllerProperty","options","stateProperty","onUpdateCallbackMethod","unsubscribeController","subscribe","state","isConnected"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\n"],"mappings":"mKAKaA,EAA8B,IACzCC,EAACC,EAAI,CAACC,MAAM,kBCwDd,MAAMC,EAAoB,uBAC1B,MAAMC,EAAkB,qB,SAkBRC,GAAyDC,YACvEA,GAC2B,IAC3B,MAAO,CACLC,EACAC,KAEA,MAAMC,kBACJA,EAAiBC,OACjBA,EAAMC,mBACNA,EAAkBC,iBAClBA,EAAgBC,qBAChBA,GACEN,EACJ,IAAIO,EAAsB,OAE1B,GAAIN,IAAqB,WAAY,CACnC,OAAOO,QAAQC,MACb,6FAA6FR,KAC7FD,E,CAIJA,EAAUE,kBAAoB,WAC5B,MAAMQ,EAAUC,EAAWC,MAC3BF,EAAQG,aAAajB,EAAmB,SACxCc,EAAQG,aAAahB,EAAiB,SACtC,MAAMiB,EAAQC,EACZC,GACCC,IACCL,KAAKK,SAAWA,EAEhB,MAAMC,EAAiB,IAAMC,EAAqBP,MAClDA,KAAKK,SAASG,KAAKC,GAAG,kBAAmBH,GACzCX,EAAsB,IACpBK,KAAKK,SAASG,KAAKE,IAAI,kBAAmBJ,GAE5C,IAGE,GAAIN,KAAKW,WAAY,CACnBX,KAAKW,aACL,GAAIxB,EAAa,CACfoB,EAAqBP,K,MAElB,CACLO,EAAqBP,K,EAEvB,MAAOY,GACPZ,KAAKH,MAAQe,C,KAInB,MAAMC,EAASC,EAAQhB,EAASiB,EAAsBC,KAAK,OAC3D,IAAKH,EAAQ,CACXb,KAAKH,MAAQ,IAAIoB,EACfnB,EAAQoB,SAASC,eAEnB,M,CAEFC,EACEP,EACAX,EACAJ,GAEF,OAAOR,GAAqBA,EAAkB+B,KAAKrB,K,EAGrDZ,EAAUG,OAAS,WACjB,GAAIS,KAAKH,MAAO,CACd,OACEhB,EAAA,0BACEiB,QAASC,EAAWC,MACpBH,MAAOG,KAAKH,O,CAKlB,IAAKG,KAAKK,SAAU,CAClB,OAAOxB,EAACD,EAAM,K,CAGhBmB,EAAWC,MAAMC,aAAajB,EAAmB,QACjD,OAAOO,GAAUA,EAAO8B,KAAKrB,K,EAG/BZ,EAAUM,qBAAuB,WAC/B,MAAMI,EAAUC,EAAWC,MAC3BF,EAAQG,aAAajB,EAAmB,SACxCc,EAAQG,aAAahB,EAAiB,SACtCU,IACAD,GAAwBA,EAAqB2B,KAAKrB,K,EAGpDZ,EAAUI,mBAAqB,WAC7B,MAAMM,EAAUC,EAAWC,MAC3B,GAAIF,EAAQwB,aAAatC,KAAuB,QAAS,CACvD,M,CAGFQ,GAAsBA,EAAmB6B,KAAKrB,MAC9C,GAAIF,EAAQwB,aAAarC,KAAqB,QAAS,CACrDa,EAAQG,aAAahB,EAAiB,QACtCQ,GAAoBA,EAAiB4B,KAAKrB,K,GAI9CZ,EAAUK,iBAAmB,YAAc,CAE/C,C,SAgBgB8B,EACdC,EACAC,GAOA,MAAO,CACLrC,EACAsC,KAEA,MAAMhC,qBAACA,EAAoBiB,WAAEA,GAAcvB,EAE3CA,EAAUuB,WAAa,WACrBA,GAAcA,EAAWU,KAAKrB,MAE9B,IAAKW,EAAY,CACf,OAAOf,QAAQC,MACb,4GAA4G2B,IAC5GpC,E,CAIJ,IAAKY,KAAKwB,GAAqB,CAC7B,M,CAGF,GACEC,GAASE,yBACR3B,KAAKyB,EAAQE,wBACd,CACA,OAAO/B,QAAQC,MACb,yDAAyD4B,EAAQE,yCACjEvC,E,CAIJY,KAAK4B,sBAAwB5B,KAAKwB,GAAoBK,WAAU,KAC9D7B,KAAK0B,GAAiB1B,KAAKwB,GAAoBM,MAC/CL,GAASE,wBACP3B,KAAKyB,EAAQE,yBAAyB,G,EAI5CvC,EAAUM,qBAAuB,YAC9BK,EAAWC,MAAM+B,aAAe/B,KAAK4B,0BACtClC,GAAwBA,EAAqB2B,KAAKrB,K,CACnD,CAEL,Q","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- var e=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};export{e as c};
2
- //# sourceMappingURL=p-4573c419.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as t,r as e,g as i}from"./p-aad3b4ec.js";import{i as o,a as n,b as s,M as r}from"./p-5226a938.js";import{ResultTemplatesHelpers as c}from"@coveo/headless";import"@coveo/bueno";import"./p-4573c419.js";const a="atomic-table-element";const l=new Set(["atomic-result-section-visual","atomic-result-section-badges","atomic-result-section-actions","atomic-result-section-title","atomic-result-section-title-metadata","atomic-result-section-emphasized","atomic-result-section-excerpt","atomic-result-section-bottom-metadata","atomic-result-section-children"]);const u=new Set(["atomic-product-section-visual","atomic-product-section-badges","atomic-product-section-actions","atomic-product-section-name","atomic-product-section-metadata","atomic-product-section-emphasized","atomic-product-section-description","atomic-product-section-bottom-metadata","atomic-product-section-children"]);const m=new Set([...l,...u]);function h(t){if(!o(t)){return false}return m.has(t.tagName.toLowerCase())}function d(t){if(h(t)){return"section"}if(!s(t)){return"metadata"}if(o(t)&&t.tagName.toLowerCase()===a){return"table-column-definition"}return"other"}function p(t){return n(Array.from(t),(t=>d(t)))}class f{constructor({host:t,setError:e,validParents:i,allowEmpty:o=false}){this.matchConditions=[];this.gridCellLinkTarget="_self";this.host=t;this.validateTemplate(t,e,i,o)}validateTemplate(t,e,i,o=true){const n=i.map((t=>t.toUpperCase())).includes(t.parentElement?.nodeName||"");const s=t.nodeName.toLowerCase();if(!n){e(new Error(`The "${s}" component has to be the child of one of the following: ${i.map((t=>`"${t.toLowerCase()}"`)).join(", ")}.`));return}if(t.parentElement?.attributes.getNamedItem("display")?.value==="grid"){this.gridCellLinkTarget=t.parentElement?.attributes.getNamedItem("grid-cell-link-target")?.value}const r=t.querySelector("template:not([slot])");if(!r){e(new Error(`The "${s}" component has to contain a "template" element as a child.`));return}if(!o&&!r.innerHTML.trim()){e(new Error(`The "template" tag inside "${s}" cannot be empty.`));return}if(r.content.querySelector("script")){console.warn('Any "script" tags defined inside of "template" elements are not supported and will not be executed when the results are rendered.',t)}const{section:c,other:a}=p(r.content.childNodes);if(c?.length&&a?.length){console.warn("Result templates should only contain section elements or non-section elements. Future updates could unpredictably affect this result template.",t,{sectionNodes:c,otherNodes:a})}}getTemplate(t,e){if(e){return null}return{conditions:t.concat(this.matchConditions),content:b(this.host).content,linkContent:this.getLinkTemplateElement(this.host).content,priority:1}}renderIfError(e){if(e){return t("atomic-component-error",{element:this.host,error:e})}}getDefaultLinkTemplateElement(){const t=document.createElement("template");t.innerHTML=`<atomic-result-link>${this.gridCellLinkTarget?`<a slot="attributes" target="${this.gridCellLinkTarget}"></a>`:""}</atomic-result-link>`;return t}getLinkTemplateElement(t){return t.querySelector('template[slot="link"]')??this.getDefaultLinkTemplateElement()}}function b(t){return t.querySelector("template:not([slot])")}function g(t,e){const i=[];for(const e in t){i.push(c.fieldMustMatch(e,t[e]))}for(const t in e){i.push(c.fieldMustNotMatch(t,e[t]))}return i}function v(t,e){const i=[];if(t){const e=t.split(",");i.push(c.fieldsMustBeDefined(e))}if(e){const t=e.split(",");i.push(c.fieldsMustNotBeDefined(t))}return i}var w=undefined&&undefined.__decorate||function(t,e,i,o){var n=arguments.length,s=n<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,i):o,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")s=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)if(r=t[c])s=(n<3?r(s):n>3?r(e,i,s):r(e,i))||s;return n>3&&s&&Object.defineProperty(e,i,s),s};const y=class{constructor(t){e(this,t);this.conditions=[];this.mustMatch={};this.mustNotMatch={};this.error=undefined;this.conditions=[];this.ifDefined=undefined;this.ifNotDefined=undefined;this.mustMatch={};this.mustNotMatch={}}connectedCallback(){this.resultTemplateCommon=new f({host:this.host,setError:t=>{this.error=t},validParents:["atomic-insight-result-children"]})}componentWillLoad(){this.conditions=v(this.ifDefined,this.ifNotDefined);this.resultTemplateCommon.matchConditions=g(this.mustMatch,this.mustNotMatch)}async getTemplate(){return this.resultTemplateCommon.getTemplate(this.conditions,this.error)}render(){return this.resultTemplateCommon.renderIfError(this.error)}get host(){return i(this)}};w([r({splitValues:true})],y.prototype,"mustMatch",void 0);w([r({splitValues:true})],y.prototype,"mustNotMatch",void 0);export{y as atomic_insight_result_children_template};
2
- //# sourceMappingURL=p-500bf5c4.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["tableElementTagName","resultSectionTags","Set","productSectionTags","allTags","isResultSectionNode","element","isElementNode","has","tagName","toLowerCase","getTemplateNodeType","node","isVisualNode","groupNodesByType","nodes","aggregate","Array","from","ResultTemplateCommon","constructor","host","setError","validParents","allowEmpty","this","matchConditions","gridCellLinkTarget","validateTemplate","hasValidParent","map","p","toUpperCase","includes","parentElement","nodeName","Error","join","attributes","getNamedItem","value","template","querySelector","innerHTML","trim","content","console","warn","section","sectionNodes","other","otherNodes","childNodes","length","getTemplate","conditions","error","concat","getTemplateElement","linkContent","getLinkTemplateElement","priority","renderIfError","h","getDefaultLinkTemplateElement","linkTemplate","document","createElement","makeMatchConditions","mustMatch","mustNotMatch","field","push","ResultTemplatesHelpers","fieldMustMatch","fieldMustNotMatch","makeDefinedConditions","ifDefined","ifNotDefined","fieldNames","split","fieldsMustBeDefined","fieldsMustNotBeDefined","AtomicInsightResultChildrenTemplate","hostRef","connectedCallback","resultTemplateCommon","err","componentWillLoad","render","__decorate","MapProp","splitValues"],"sources":["src/components/common/table-element-utils.ts","src/components/common/layout/item-layout-sections.ts","src/components/common/result-templates/stencil-result-template-common.tsx","src/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.tsx"],"sourcesContent":["export const tableElementTagName = 'atomic-table-element';\n","import {isElementNode} from '@/src/utils/utils';\n\nconst resultSectionTags = new Set([\n 'atomic-result-section-visual',\n 'atomic-result-section-badges',\n 'atomic-result-section-actions',\n 'atomic-result-section-title',\n 'atomic-result-section-title-metadata',\n 'atomic-result-section-emphasized',\n 'atomic-result-section-excerpt',\n 'atomic-result-section-bottom-metadata',\n 'atomic-result-section-children',\n] as const);\n\nconst productSectionTags = new Set([\n 'atomic-product-section-visual',\n 'atomic-product-section-badges',\n 'atomic-product-section-actions',\n 'atomic-product-section-name',\n 'atomic-product-section-metadata',\n 'atomic-product-section-emphasized',\n 'atomic-product-section-description',\n 'atomic-product-section-bottom-metadata',\n 'atomic-product-section-children',\n] as const);\n\nconst allTags = new Set([...resultSectionTags, ...productSectionTags]);\n\ntype SetValueType<T> = T extends Set<infer U> ? U : never;\n\nexport type ItemSectionTagName = SetValueType<typeof allTags>;\n\nexport function isResultSectionNode(element: Node) {\n if (!isElementNode(element)) {\n return false;\n }\n return allTags.has(element.tagName.toLowerCase() as ItemSectionTagName);\n}\n\nexport function containsSections(content: string | NodeList | HTMLCollection) {\n if (typeof content === 'string') {\n return Array.from(allTags.values()).some((tag) => content.includes(tag));\n }\n return Array.from(content).some((child) => isResultSectionNode(child));\n}\n","import {\n ResultTemplate,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {aggregate, isElementNode, isVisualNode} from '@/src/utils/utils';\nimport {tableElementTagName} from '../table-element-utils';\nimport {ItemTarget} from '../layout/display-options';\nimport {isResultSectionNode} from '../layout/item-layout-sections';\n\nexport type TemplateContent = DocumentFragment;\n\ninterface ResultTemplateCommonProps {\n allowEmpty?: boolean;\n host: HTMLDivElement;\n validParents: string[];\n setError: (error: Error) => void;\n}\n\ntype TemplateNodeType =\n | 'section'\n | 'metadata'\n | 'table-column-definition'\n | 'other';\n\nexport function getTemplateNodeType(node: Node): TemplateNodeType {\n if (isResultSectionNode(node)) {\n return 'section';\n }\n if (!isVisualNode(node)) {\n return 'metadata';\n }\n if (\n isElementNode(node) &&\n node.tagName.toLowerCase() === tableElementTagName\n ) {\n return 'table-column-definition';\n }\n return 'other';\n}\n\nfunction groupNodesByType(nodes: NodeList) {\n return aggregate(Array.from(nodes), (node) => getTemplateNodeType(node));\n}\n\nexport class ResultTemplateCommon {\n private host: HTMLDivElement;\n public matchConditions: ResultTemplateCondition[] = [];\n private gridCellLinkTarget: ItemTarget = '_self';\n\n constructor({\n host,\n setError,\n validParents,\n allowEmpty = false,\n }: ResultTemplateCommonProps) {\n this.host = host;\n this.validateTemplate(host, setError, validParents, allowEmpty);\n }\n\n validateTemplate(\n host: HTMLDivElement,\n setError: (error: Error) => void,\n validParents: string[],\n allowEmpty = true\n ) {\n const hasValidParent = validParents\n .map((p) => p.toUpperCase())\n .includes(host.parentElement?.nodeName || '');\n const tagName = host.nodeName.toLowerCase();\n\n if (!hasValidParent) {\n setError(\n new Error(\n `The \"${tagName}\" component has to be the child of one of the following: ${validParents\n .map((p) => `\"${p.toLowerCase()}\"`)\n .join(', ')}.`\n )\n );\n return;\n }\n\n if (\n host.parentElement?.attributes.getNamedItem('display')?.value === 'grid'\n ) {\n this.gridCellLinkTarget = host.parentElement?.attributes.getNamedItem(\n 'grid-cell-link-target'\n )?.value as ItemTarget;\n }\n\n const template = host.querySelector<HTMLTemplateElement>(\n 'template:not([slot])'\n );\n if (!template) {\n setError(\n new Error(\n `The \"${tagName}\" component has to contain a \"template\" element as a child.`\n )\n );\n return;\n }\n\n if (!allowEmpty && !template.innerHTML.trim()) {\n setError(\n new Error(`The \"template\" tag inside \"${tagName}\" cannot be empty.`)\n );\n return;\n }\n\n if (template.content.querySelector('script')) {\n console.warn(\n 'Any \"script\" tags defined inside of \"template\" elements are not supported and will not be executed when the results are rendered.',\n host\n );\n }\n\n const {section: sectionNodes, other: otherNodes} = groupNodesByType(\n template.content.childNodes\n );\n if (sectionNodes?.length && otherNodes?.length) {\n console.warn(\n 'Result templates should only contain section elements or non-section elements. Future updates could unpredictably affect this result template.',\n host,\n {sectionNodes, otherNodes}\n );\n }\n }\n\n getTemplate(\n conditions: ResultTemplateCondition[],\n error: Error\n ): ResultTemplate<TemplateContent> | null {\n if (error) {\n return null;\n }\n\n return {\n conditions: conditions.concat(this.matchConditions),\n content: getTemplateElement(this.host).content!,\n linkContent: this.getLinkTemplateElement(this.host).content!,\n priority: 1,\n };\n }\n\n renderIfError(error: Error) {\n if (error) {\n return (\n <atomic-component-error\n element={this.host}\n error={error}\n ></atomic-component-error>\n );\n }\n }\n\n getDefaultLinkTemplateElement() {\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = `<atomic-result-link>${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}</atomic-result-link>`;\n return linkTemplate;\n }\n\n getLinkTemplateElement(host: HTMLElement) {\n return (\n host.querySelector<HTMLTemplateElement>('template[slot=\"link\"]') ??\n this.getDefaultLinkTemplateElement()\n );\n }\n}\n\nfunction getTemplateElement(host: HTMLElement) {\n return host.querySelector<HTMLTemplateElement>('template:not([slot])')!;\n}\n\nexport function makeMatchConditions(\n mustMatch: Record<string, string[]>,\n mustNotMatch: Record<string, string[]>\n): ResultTemplateCondition[] {\n const conditions: ResultTemplateCondition[] = [];\n for (const field in mustMatch) {\n conditions.push(\n ResultTemplatesHelpers.fieldMustMatch(field, mustMatch[field])\n );\n }\n\n for (const field in mustNotMatch) {\n conditions.push(\n ResultTemplatesHelpers.fieldMustNotMatch(field, mustNotMatch[field])\n );\n }\n return conditions;\n}\n\nexport function makeDefinedConditions(\n ifDefined?: string,\n ifNotDefined?: string\n): ResultTemplateCondition[] {\n const conditions: ResultTemplateCondition[] = [];\n if (ifDefined) {\n const fieldNames = ifDefined.split(',');\n conditions.push(ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames));\n }\n\n if (ifNotDefined) {\n const fieldNames = ifNotDefined.split(',');\n conditions.push(ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames));\n }\n return conditions;\n}\n","import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-children-template',\n shadow: true,\n})\nexport class AtomicInsightResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-insight-result-children'],\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import"@coveo/bueno";import{g as t}from"./p-aad3b4ec.js";import{c as e}from"./p-4573c419.js";var n={exports:{}};
2
- /*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */(function(t,n){(function(e,n){t.exports=n()})(e,(function(){const{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:i}=Object;let{freeze:r,seal:a,create:l}=Object;let{apply:s,construct:c}=typeof Reflect!=="undefined"&&Reflect;if(!r){r=function t(e){return e}}if(!a){a=function t(e){return e}}if(!s){s=function t(e,n,o){return e.apply(n,o)}}if(!c){c=function t(e,n){return new e(...n)}}const f=A(Array.prototype.forEach);const u=A(Array.prototype.lastIndexOf);const m=A(Array.prototype.pop);const p=A(Array.prototype.push);const d=A(Array.prototype.splice);const h=A(String.prototype.toLowerCase);const g=A(String.prototype.toString);const y=A(String.prototype.match);const b=A(String.prototype.replace);const w=A(String.prototype.indexOf);const x=A(String.prototype.trim);const T=A(Object.prototype.hasOwnProperty);const v=A(RegExp.prototype.test);const k=E(TypeError);function A(t){return function(e){if(e instanceof RegExp){e.lastIndex=0}for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++){o[i-1]=arguments[i]}return s(t,e,o)}}function E(t){return function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++){n[o]=arguments[o]}return c(t,n)}}function S(t,o){let i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:h;if(e){e(t,null)}let r=o.length;while(r--){let e=o[r];if(typeof e==="string"){const t=i(e);if(t!==e){if(!n(o)){o[r]=t}e=t}}t[e]=true}return t}function R(t){for(let e=0;e<t.length;e++){const n=T(t,e);if(!n){t[e]=null}}return t}function _(e){const n=l(null);for(const[o,i]of t(e)){const t=T(e,o);if(t){if(Array.isArray(i)){n[o]=R(i)}else if(i&&typeof i==="object"&&i.constructor===Object){n[o]=_(i)}else{n[o]=i}}}return n}function L(t,e){while(t!==null){const n=i(t,e);if(n){if(n.get){return A(n.get)}if(typeof n.value==="function"){return A(n.value)}}t=o(t)}function n(){return null}return n}const O=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]);const M=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]);const D=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]);const z=r(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]);const I=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]);const P=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]);const F=r(["#text"]);const N=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]);const C=r(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]);const j=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]);const U=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]);const B=a(/\{\{[\w\W]*|[\w\W]*\}\}/gm);const W=a(/<%[\w\W]*|[\w\W]*%>/gm);const H=a(/\$\{[\w\W]*/gm);const $=a(/^data-[\-\w.\u00B7-\uFFFF]+$/);const q=a(/^aria-[\-\w]+$/);const Y=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);const X=a(/^(?:\w+script|data):/i);const G=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);const Z=a(/^html$/i);const K=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var V=Object.freeze({__proto__:null,ARIA_ATTR:q,ATTR_WHITESPACE:G,CUSTOM_ELEMENT:K,DATA_ATTR:$,DOCTYPE_NAME:Z,ERB_EXPR:W,IS_ALLOWED_URI:Y,IS_SCRIPT_OR_DATA:X,MUSTACHE_EXPR:B,TMPLIT_EXPR:H});const J={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12};const Q=function t(){return typeof window==="undefined"?null:window};const tt=function t(e,n){if(typeof e!=="object"||typeof e.createPolicy!=="function"){return null}let o=null;const i="data-tt-policy-suffix";if(n&&n.hasAttribute(i)){o=n.getAttribute(i)}const r="dompurify"+(o?"#"+o:"");try{return e.createPolicy(r,{createHTML(t){return t},createScriptURL(t){return t}})}catch(t){console.warn("TrustedTypes policy "+r+" could not be created.");return null}};const et=function t(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function nt(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:Q();const n=t=>nt(t);n.version="3.2.6";n.removed=[];if(!e||!e.document||e.document.nodeType!==J.document||!e.Element){n.isSupported=false;return n}let{document:o}=e;const i=o;const a=i.currentScript;const{DocumentFragment:s,HTMLTemplateElement:c,Node:A,Element:E,NodeFilter:R,NamedNodeMap:B=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:W,DOMParser:H,trustedTypes:$}=e;const q=E.prototype;const X=L(q,"cloneNode");const G=L(q,"remove");const K=L(q,"nextSibling");const ot=L(q,"childNodes");const it=L(q,"parentNode");if(typeof c==="function"){const t=o.createElement("template");if(t.content&&t.content.ownerDocument){o=t.content.ownerDocument}}let rt;let at="";const{implementation:lt,createNodeIterator:st,createDocumentFragment:ct,getElementsByTagName:ft}=o;const{importNode:ut}=i;let mt=et();n.isSupported=typeof t==="function"&&typeof it==="function"&&lt&&lt.createHTMLDocument!==undefined;const{MUSTACHE_EXPR:pt,ERB_EXPR:dt,TMPLIT_EXPR:ht,DATA_ATTR:gt,ARIA_ATTR:yt,IS_SCRIPT_OR_DATA:bt,ATTR_WHITESPACE:wt,CUSTOM_ELEMENT:xt}=V;let{IS_ALLOWED_URI:Tt}=V;let vt=null;const kt=S({},[...O,...M,...D,...I,...F]);let At=null;const Et=S({},[...N,...C,...j,...U]);let St=Object.seal(l(null,{tagNameCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeNameCheck:{writable:true,configurable:false,enumerable:true,value:null},allowCustomizedBuiltInElements:{writable:true,configurable:false,enumerable:true,value:false}}));let Rt=null;let _t=null;let Lt=true;let Ot=true;let Mt=false;let Dt=true;let zt=false;let It=true;let Pt=false;let Ft=false;let Nt=false;let Ct=false;let jt=false;let Ut=false;let Bt=true;let Wt=false;const Ht="user-content-";let $t=true;let qt=false;let Yt={};let Xt=null;const Gt=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Zt=null;const Kt=S({},["audio","video","img","source","image","track"]);let Vt=null;const Jt=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]);const Qt="http://www.w3.org/1998/Math/MathML";const te="http://www.w3.org/2000/svg";const ee="http://www.w3.org/1999/xhtml";let ne=ee;let oe=false;let ie=null;const re=S({},[Qt,te,ee],g);let ae=S({},["mi","mo","mn","ms","mtext"]);let le=S({},["annotation-xml"]);const se=S({},["title","style","font","a","script"]);let ce=null;const fe=["application/xhtml+xml","text/html"];const ue="text/html";let me=null;let pe=null;const de=o.createElement("form");const he=function t(e){return e instanceof RegExp||e instanceof Function};const ge=function t(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(pe&&pe===e){return}if(!e||typeof e!=="object"){e={}}e=_(e);ce=fe.indexOf(e.PARSER_MEDIA_TYPE)===-1?ue:e.PARSER_MEDIA_TYPE;me=ce==="application/xhtml+xml"?g:h;vt=T(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,me):kt;At=T(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,me):Et;ie=T(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,g):re;Vt=T(e,"ADD_URI_SAFE_ATTR")?S(_(Jt),e.ADD_URI_SAFE_ATTR,me):Jt;Zt=T(e,"ADD_DATA_URI_TAGS")?S(_(Kt),e.ADD_DATA_URI_TAGS,me):Kt;Xt=T(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,me):Gt;Rt=T(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,me):_({});_t=T(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,me):_({});Yt=T(e,"USE_PROFILES")?e.USE_PROFILES:false;Lt=e.ALLOW_ARIA_ATTR!==false;Ot=e.ALLOW_DATA_ATTR!==false;Mt=e.ALLOW_UNKNOWN_PROTOCOLS||false;Dt=e.ALLOW_SELF_CLOSE_IN_ATTR!==false;zt=e.SAFE_FOR_TEMPLATES||false;It=e.SAFE_FOR_XML!==false;Pt=e.WHOLE_DOCUMENT||false;Ct=e.RETURN_DOM||false;jt=e.RETURN_DOM_FRAGMENT||false;Ut=e.RETURN_TRUSTED_TYPE||false;Nt=e.FORCE_BODY||false;Bt=e.SANITIZE_DOM!==false;Wt=e.SANITIZE_NAMED_PROPS||false;$t=e.KEEP_CONTENT!==false;qt=e.IN_PLACE||false;Tt=e.ALLOWED_URI_REGEXP||Y;ne=e.NAMESPACE||ee;ae=e.MATHML_TEXT_INTEGRATION_POINTS||ae;le=e.HTML_INTEGRATION_POINTS||le;St=e.CUSTOM_ELEMENT_HANDLING||{};if(e.CUSTOM_ELEMENT_HANDLING&&he(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)){St.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck}if(e.CUSTOM_ELEMENT_HANDLING&&he(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)){St.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck}if(e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==="boolean"){St.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements}if(zt){Ot=false}if(jt){Ct=true}if(Yt){vt=S({},F);At=[];if(Yt.html===true){S(vt,O);S(At,N)}if(Yt.svg===true){S(vt,M);S(At,C);S(At,U)}if(Yt.svgFilters===true){S(vt,D);S(At,C);S(At,U)}if(Yt.mathMl===true){S(vt,I);S(At,j);S(At,U)}}if(e.ADD_TAGS){if(vt===kt){vt=_(vt)}S(vt,e.ADD_TAGS,me)}if(e.ADD_ATTR){if(At===Et){At=_(At)}S(At,e.ADD_ATTR,me)}if(e.ADD_URI_SAFE_ATTR){S(Vt,e.ADD_URI_SAFE_ATTR,me)}if(e.FORBID_CONTENTS){if(Xt===Gt){Xt=_(Xt)}S(Xt,e.FORBID_CONTENTS,me)}if($t){vt["#text"]=true}if(Pt){S(vt,["html","head","body"])}if(vt.table){S(vt,["tbody"]);delete Rt.tbody}if(e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=="function"){throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.')}if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=="function"){throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.')}rt=e.TRUSTED_TYPES_POLICY;at=rt.createHTML("")}else{if(rt===undefined){rt=tt($,a)}if(rt!==null&&typeof at==="string"){at=rt.createHTML("")}}if(r){r(e)}pe=e};const ye=S({},[...M,...D,...z]);const be=S({},[...I,...P]);const we=function t(e){let n=it(e);if(!n||!n.tagName){n={namespaceURI:ne,tagName:"template"}}const o=h(e.tagName);const i=h(n.tagName);if(!ie[e.namespaceURI]){return false}if(e.namespaceURI===te){if(n.namespaceURI===ee){return o==="svg"}if(n.namespaceURI===Qt){return o==="svg"&&(i==="annotation-xml"||ae[i])}return Boolean(ye[o])}if(e.namespaceURI===Qt){if(n.namespaceURI===ee){return o==="math"}if(n.namespaceURI===te){return o==="math"&&le[i]}return Boolean(be[o])}if(e.namespaceURI===ee){if(n.namespaceURI===te&&!le[i]){return false}if(n.namespaceURI===Qt&&!ae[i]){return false}return!be[o]&&(se[o]||!ye[o])}if(ce==="application/xhtml+xml"&&ie[e.namespaceURI]){return true}return false};const xe=function t(e){p(n.removed,{element:e});try{it(e).removeChild(e)}catch(t){G(e)}};const Te=function t(e,o){try{p(n.removed,{attribute:o.getAttributeNode(e),from:o})}catch(t){p(n.removed,{attribute:null,from:o})}o.removeAttribute(e);if(e==="is"){if(Ct||jt){try{xe(o)}catch(t){}}else{try{o.setAttribute(e,"")}catch(t){}}}};const ve=function t(e){let n=null;let i=null;if(Nt){e="<remove></remove>"+e}else{const t=y(e,/^[\r\n\t ]+/);i=t&&t[0]}if(ce==="application/xhtml+xml"&&ne===ee){e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>"}const r=rt?rt.createHTML(e):e;if(ne===ee){try{n=(new H).parseFromString(r,ce)}catch(t){}}if(!n||!n.documentElement){n=lt.createDocument(ne,"template",null);try{n.documentElement.innerHTML=oe?at:r}catch(t){}}const a=n.body||n.documentElement;if(e&&i){a.insertBefore(o.createTextNode(i),a.childNodes[0]||null)}if(ne===ee){return ft.call(n,Pt?"html":"body")[0]}return Pt?n.documentElement:a};const ke=function t(e){return st.call(e.ownerDocument||e,e,R.SHOW_ELEMENT|R.SHOW_COMMENT|R.SHOW_TEXT|R.SHOW_PROCESSING_INSTRUCTION|R.SHOW_CDATA_SECTION,null)};const Ae=function t(e){return e instanceof W&&(typeof e.nodeName!=="string"||typeof e.textContent!=="string"||typeof e.removeChild!=="function"||!(e.attributes instanceof B)||typeof e.removeAttribute!=="function"||typeof e.setAttribute!=="function"||typeof e.namespaceURI!=="string"||typeof e.insertBefore!=="function"||typeof e.hasChildNodes!=="function")};const Ee=function t(e){return typeof A==="function"&&e instanceof A};function Se(t,e,o){f(t,(t=>{t.call(n,e,o,pe)}))}const Re=function t(e){let o=null;Se(mt.beforeSanitizeElements,e,null);if(Ae(e)){xe(e);return true}const i=me(e.nodeName);Se(mt.uponSanitizeElement,e,{tagName:i,allowedTags:vt});if(It&&e.hasChildNodes()&&!Ee(e.firstElementChild)&&v(/<[/\w!]/g,e.innerHTML)&&v(/<[/\w!]/g,e.textContent)){xe(e);return true}if(e.nodeType===J.progressingInstruction){xe(e);return true}if(It&&e.nodeType===J.comment&&v(/<[/\w]/g,e.data)){xe(e);return true}if(!vt[i]||Rt[i]){if(!Rt[i]&&Le(i)){if(St.tagNameCheck instanceof RegExp&&v(St.tagNameCheck,i)){return false}if(St.tagNameCheck instanceof Function&&St.tagNameCheck(i)){return false}}if($t&&!Xt[i]){const t=it(e)||e.parentNode;const n=ot(e)||e.childNodes;if(n&&t){const o=n.length;for(let i=o-1;i>=0;--i){const o=X(n[i],true);o.__removalCount=(e.__removalCount||0)+1;t.insertBefore(o,K(e))}}}xe(e);return true}if(e instanceof E&&!we(e)){xe(e);return true}if((i==="noscript"||i==="noembed"||i==="noframes")&&v(/<\/no(script|embed|frames)/i,e.innerHTML)){xe(e);return true}if(zt&&e.nodeType===J.text){o=e.textContent;f([pt,dt,ht],(t=>{o=b(o,t," ")}));if(e.textContent!==o){p(n.removed,{element:e.cloneNode()});e.textContent=o}}Se(mt.afterSanitizeElements,e,null);return false};const _e=function t(e,n,i){if(Bt&&(n==="id"||n==="name")&&(i in o||i in de)){return false}if(Ot&&!_t[n]&&v(gt,n));else if(Lt&&v(yt,n));else if(!At[n]||_t[n]){if(Le(e)&&(St.tagNameCheck instanceof RegExp&&v(St.tagNameCheck,e)||St.tagNameCheck instanceof Function&&St.tagNameCheck(e))&&(St.attributeNameCheck instanceof RegExp&&v(St.attributeNameCheck,n)||St.attributeNameCheck instanceof Function&&St.attributeNameCheck(n))||n==="is"&&St.allowCustomizedBuiltInElements&&(St.tagNameCheck instanceof RegExp&&v(St.tagNameCheck,i)||St.tagNameCheck instanceof Function&&St.tagNameCheck(i)));else{return false}}else if(Vt[n]);else if(v(Tt,b(i,wt,"")));else if((n==="src"||n==="xlink:href"||n==="href")&&e!=="script"&&w(i,"data:")===0&&Zt[e]);else if(Mt&&!v(bt,b(i,wt,"")));else if(i){return false}else;return true};const Le=function t(e){return e!=="annotation-xml"&&y(e,xt)};const Oe=function t(e){Se(mt.beforeSanitizeAttributes,e,null);const{attributes:o}=e;if(!o||Ae(e)){return}const i={attrName:"",attrValue:"",keepAttr:true,allowedAttributes:At,forceKeepAttr:undefined};let r=o.length;while(r--){const t=o[r];const{name:a,namespaceURI:l,value:s}=t;const c=me(a);const u=s;let p=a==="value"?u:x(u);i.attrName=c;i.attrValue=p;i.keepAttr=true;i.forceKeepAttr=undefined;Se(mt.uponSanitizeAttribute,e,i);p=i.attrValue;if(Wt&&(c==="id"||c==="name")){Te(a,e);p=Ht+p}if(It&&v(/((--!?|])>)|<\/(style|title)/i,p)){Te(a,e);continue}if(i.forceKeepAttr){continue}if(!i.keepAttr){Te(a,e);continue}if(!Dt&&v(/\/>/i,p)){Te(a,e);continue}if(zt){f([pt,dt,ht],(t=>{p=b(p,t," ")}))}const d=me(e.nodeName);if(!_e(d,c,p)){Te(a,e);continue}if(rt&&typeof $==="object"&&typeof $.getAttributeType==="function"){if(l);else{switch($.getAttributeType(d,c)){case"TrustedHTML":{p=rt.createHTML(p);break}case"TrustedScriptURL":{p=rt.createScriptURL(p);break}}}}if(p!==u){try{if(l){e.setAttributeNS(l,a,p)}else{e.setAttribute(a,p)}if(Ae(e)){xe(e)}else{m(n.removed)}}catch(t){Te(a,e)}}}Se(mt.afterSanitizeAttributes,e,null)};const Me=function t(e){let n=null;const o=ke(e);Se(mt.beforeSanitizeShadowDOM,e,null);while(n=o.nextNode()){Se(mt.uponSanitizeShadowNode,n,null);Re(n);Oe(n);if(n.content instanceof s){t(n.content)}}Se(mt.afterSanitizeShadowDOM,e,null)};n.sanitize=function(t){let e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let o=null;let r=null;let a=null;let l=null;oe=!t;if(oe){t="\x3c!--\x3e"}if(typeof t!=="string"&&!Ee(t)){if(typeof t.toString==="function"){t=t.toString();if(typeof t!=="string"){throw k("dirty is not a string, aborting")}}else{throw k("toString is not a function")}}if(!n.isSupported){return t}if(!Ft){ge(e)}n.removed=[];if(typeof t==="string"){qt=false}if(qt){if(t.nodeName){const e=me(t.nodeName);if(!vt[e]||Rt[e]){throw k("root node is forbidden and cannot be sanitized in-place")}}}else if(t instanceof A){o=ve("\x3c!----\x3e");r=o.ownerDocument.importNode(t,true);if(r.nodeType===J.element&&r.nodeName==="BODY"){o=r}else if(r.nodeName==="HTML"){o=r}else{o.appendChild(r)}}else{if(!Ct&&!zt&&!Pt&&t.indexOf("<")===-1){return rt&&Ut?rt.createHTML(t):t}o=ve(t);if(!o){return Ct?null:Ut?at:""}}if(o&&Nt){xe(o.firstChild)}const c=ke(qt?t:o);while(a=c.nextNode()){Re(a);Oe(a);if(a.content instanceof s){Me(a.content)}}if(qt){return t}if(Ct){if(jt){l=ct.call(o.ownerDocument);while(o.firstChild){l.appendChild(o.firstChild)}}else{l=o}if(At.shadowroot||At.shadowrootmode){l=ut.call(i,l,true)}return l}let u=Pt?o.outerHTML:o.innerHTML;if(Pt&&vt["!doctype"]&&o.ownerDocument&&o.ownerDocument.doctype&&o.ownerDocument.doctype.name&&v(Z,o.ownerDocument.doctype.name)){u="<!DOCTYPE "+o.ownerDocument.doctype.name+">\n"+u}if(zt){f([pt,dt,ht],(t=>{u=b(u,t," ")}))}return rt&&Ut?rt.createHTML(u):u};n.setConfig=function(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};ge(t);Ft=true};n.clearConfig=function(){pe=null;Ft=false};n.isValidAttribute=function(t,e,n){if(!pe){ge({})}const o=me(t);const i=me(e);return _e(o,i,n)};n.addHook=function(t,e){if(typeof e!=="function"){return}p(mt[t],e)};n.removeHook=function(t,e){if(e!==undefined){const n=u(mt[t],e);return n===-1?undefined:d(mt[t],n,1)[0]}return m(mt[t])};n.removeHooks=function(t){mt[t]=[]};n.removeAllHooks=function(){mt=et()};return n}var ot=nt();return ot}))})(n);function o(t){return t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function i(t){return t.replace(/-./g,(t=>t[1].toUpperCase()))}function r(t,e=5){const n=Math.random().toString(36).substring(2,2+e);if(!t){return n}return t+n}function a(t){return t.nodeType===Node.ELEMENT_NODE}function l(t){return t.nodeType===Node.TEXT_NODE}function s(t){if(a(t)){return!(t instanceof HTMLStyleElement)}if(l(t)){return!!t.textContent?.trim()}return false}function c(t,e){return t.reduce(((t,n,o)=>{const i=e(n,o);if(!(i in t)){t[i]=[]}t[i].push(n);return t}),{})}async function f(){return new Promise((t=>setTimeout(t,10)))}function u(e){return(n,o)=>{const{componentWillLoad:i}=n;if(!i){console.error('The "componentWillLoad" lifecycle method has to be defined for the MapProp decorator to work.');return}n.componentWillLoad=function(){const n=e?.attributePrefix||o;const r=this[o];const a=t(this).attributes;p(n,r,Array.from(a),e?.splitValues??false);i.call(this)}}}function m(t){const e=/(?:\\.|[^,])+/g;const[...n]=t.matchAll(e)??[];const o=/\\(.)/g;return n.map((([t])=>t.replace(o,"$1")))}function p(t,e,n,o){const i=h(t,n);Object.assign(e,o?d(i):i)}function d(t){return Object.entries(t).reduce(((t,[e,n])=>({...t,[e]:m(n).map((t=>t.trim()))})),{})}function h(t,e){const n={};const r=`${o(t)}-`;for(let t=0;t<e.length;t++){const o=e[t];if(o.name.indexOf(r)!==0){continue}const a=i(o.name.replace(r,""));n[a]=`${o.value}`}return n}export{u as M,c as a,s as b,f as d,a as i,r};
3
- //# sourceMappingURL=p-5226a938.js.map