@coveo/atomic 3.51.0 → 3.52.1

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 (342) hide show
  1. package/custom-elements.json +950 -828
  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 +180 -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-agent-generation-steps.js +34 -0
  13. package/dist/atomic/components/components/common/generated-answer/render-answer-content.js +7 -19
  14. package/dist/atomic/components/components/common/generated-answer/render-follow-up-input.js +66 -0
  15. package/dist/atomic/components/components/common/generated-answer/styles/generated-answer.tw.css.js +1 -1
  16. package/dist/atomic/components/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.js +7 -3
  17. package/dist/atomic/components/components/insight/atomic-insight-result-action/atomic-insight-result-action.js +169 -0
  18. package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +3 -2
  19. package/dist/atomic/components/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.js +79 -0
  20. package/dist/atomic/components/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.js +267 -0
  21. package/dist/atomic/components/components/insight/atomic-insight-user-actions-session/atomic-insight-user-actions-session.js +1 -1
  22. package/dist/atomic/components/components/insight/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js +1 -1
  23. package/dist/atomic/components/components/insight/index.js +3 -0
  24. package/dist/atomic/components/components/insight/lazy-index.js +3 -0
  25. package/dist/atomic/components/components/search/atomic-external/atomic-external.js +1 -1
  26. package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +108 -15
  27. package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +2 -2
  28. package/dist/atomic/components/decorators/bindings.js +1 -1
  29. package/dist/atomic/components/global/environment.js +1 -1
  30. package/dist/atomic/components/index.js.map +1 -1
  31. package/dist/atomic/components/mixins/bindings-mixin.js +1 -1
  32. package/dist/atomic/components/utils/custom-element-tags.js +6 -2
  33. package/dist/atomic/components/utils/tailwind.global.tw.css.js +2 -2
  34. package/dist/atomic/index.esm.js +1 -1
  35. package/dist/atomic/index.esm.js.map +1 -1
  36. package/dist/atomic/lang/cs.json +1 -1
  37. package/dist/atomic/lang/da.json +1 -1
  38. package/dist/atomic/lang/de.json +1 -1
  39. package/dist/atomic/lang/dev.json +1 -1
  40. package/dist/atomic/lang/el.json +1 -1
  41. package/dist/atomic/lang/en.json +1 -1
  42. package/dist/atomic/lang/es.json +1 -1
  43. package/dist/atomic/lang/fi.json +1 -1
  44. package/dist/atomic/lang/fr.json +1 -1
  45. package/dist/atomic/lang/hu.json +1 -1
  46. package/dist/atomic/lang/id.json +1 -1
  47. package/dist/atomic/lang/it.json +1 -1
  48. package/dist/atomic/lang/ja.json +1 -1
  49. package/dist/atomic/lang/ko.json +1 -1
  50. package/dist/atomic/lang/nl.json +1 -1
  51. package/dist/atomic/lang/no.json +1 -1
  52. package/dist/atomic/lang/pl.json +1 -1
  53. package/dist/atomic/lang/pt-BR.json +1 -1
  54. package/dist/atomic/lang/pt.json +1 -1
  55. package/dist/atomic/lang/ru.json +1 -1
  56. package/dist/atomic/lang/sv.json +1 -1
  57. package/dist/atomic/lang/th.json +1 -1
  58. package/dist/atomic/lang/tr.json +1 -1
  59. package/dist/atomic/lang/zh-CN.json +1 -1
  60. package/dist/atomic/lang/zh-TW.json +1 -1
  61. package/dist/atomic/lang/zh.json +1 -1
  62. package/dist/atomic/p-998f7983.js +3 -0
  63. package/dist/atomic/p-998f7983.js.map +1 -0
  64. package/dist/cjs/_index.cjs.js +110 -28
  65. package/dist/cjs/_loader.cjs.js +3 -4
  66. package/dist/cjs/app-globals-18f43c37.js +506 -0
  67. package/dist/cjs/app-globals-18f43c37.js.map +1 -0
  68. package/dist/cjs/atomic.cjs.js +4 -5
  69. package/dist/cjs/atomic.cjs.js.map +1 -1
  70. package/dist/cjs/index.cjs.js.map +1 -1
  71. package/dist/cjs/loader.cjs.js.map +1 -1
  72. package/dist/cjs/version.cjs.js +2 -2
  73. package/dist/esm/_index.js +97 -23
  74. package/dist/esm/_loader.js +3 -4
  75. package/dist/esm/app-globals-c5b073da.js +481 -0
  76. package/dist/esm/app-globals-c5b073da.js.map +1 -0
  77. package/dist/esm/atomic.js +3 -4
  78. package/dist/esm/atomic.js.map +1 -1
  79. package/dist/esm/index.js.map +1 -1
  80. package/dist/esm/loader.js.map +1 -1
  81. package/dist/esm/version.js +2 -2
  82. package/dist/types/components/common/context/bindings-context.d.ts +1 -1
  83. package/dist/types/components/common/facets/timeframe-facet-common.d.ts +1 -0
  84. package/dist/types/components/common/generated-answer/{answerContent/answer-content.d.ts → atomic-answer-content/atomic-answer-content.d.ts} +8 -6
  85. 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
  86. package/dist/types/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.d.ts +42 -0
  87. package/dist/types/components/common/generated-answer/render-agent-generation-steps.d.ts +16 -0
  88. package/dist/types/components/common/generated-answer/render-answer-content.d.ts +3 -4
  89. package/dist/types/components/insight/atomic-insight-result-action/atomic-insight-result-action.d.ts +33 -18
  90. package/dist/types/components/insight/atomic-insight-result-children/atomic-insight-result-children.d.ts +1 -0
  91. package/dist/types/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +62 -0
  92. package/dist/types/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.d.ts +47 -28
  93. package/dist/types/components/insight/index.d.ts +3 -0
  94. package/dist/types/components/search/atomic-external/atomic-external.d.ts +1 -1
  95. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +11 -2
  96. package/dist/types/components.d.ts +0 -298
  97. package/dist/types/decorators/bindings.d.ts +1 -1
  98. package/dist/types/index.d.ts +2 -3
  99. package/dist/types/utils/accessibility-utils.d.ts +2 -2
  100. package/dist/types/utils/init-queue.d.ts +1 -1
  101. package/docs/atomic-docs.json +2 -43
  102. package/package.json +4 -8
  103. package/dist/atomic/components/_commonjsHelpers.js +0 -5
  104. package/dist/atomic/components/_commonjsHelpers.js.map +0 -1
  105. package/dist/atomic/components/atomic-insight-result-action.d.ts +0 -11
  106. package/dist/atomic/components/atomic-insight-result-action.js +0 -272
  107. package/dist/atomic/components/atomic-insight-result-action.js.map +0 -1
  108. package/dist/atomic/components/atomic-insight-result-children-template.d.ts +0 -11
  109. package/dist/atomic/components/atomic-insight-result-children-template.js +0 -242
  110. package/dist/atomic/components/atomic-insight-result-children-template.js.map +0 -1
  111. package/dist/atomic/components/atomic-insight-timeframe-facet.d.ts +0 -11
  112. package/dist/atomic/components/atomic-insight-timeframe-facet.js +0 -816
  113. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +0 -1
  114. package/dist/atomic/components/atomic-stencil-facet-date-input.d.ts +0 -11
  115. package/dist/atomic/components/atomic-stencil-facet-date-input.js +0 -107
  116. package/dist/atomic/components/atomic-stencil-facet-date-input.js.map +0 -1
  117. package/dist/atomic/components/date-utils.js +0 -26
  118. package/dist/atomic/components/date-utils.js.map +0 -1
  119. package/dist/atomic/components/initialization-utils.js +0 -226
  120. package/dist/atomic/components/initialization-utils.js.map +0 -1
  121. package/dist/atomic/components/props-utils.js +0 -1457
  122. package/dist/atomic/components/props-utils.js.map +0 -1
  123. package/dist/atomic/components/stencil-button.js +0 -148
  124. package/dist/atomic/components/stencil-button.js.map +0 -1
  125. package/dist/atomic/p-1580513b.js +0 -2
  126. package/dist/atomic/p-1580513b.js.map +0 -1
  127. package/dist/atomic/p-1df0744f.entry.js +0 -9
  128. package/dist/atomic/p-1df0744f.entry.js.map +0 -1
  129. package/dist/atomic/p-2045a1b1.js +0 -2
  130. package/dist/atomic/p-2045a1b1.js.map +0 -1
  131. package/dist/atomic/p-4573c419.js +0 -2
  132. package/dist/atomic/p-4573c419.js.map +0 -1
  133. package/dist/atomic/p-500bf5c4.entry.js +0 -2
  134. package/dist/atomic/p-500bf5c4.entry.js.map +0 -1
  135. package/dist/atomic/p-5226a938.js +0 -3
  136. package/dist/atomic/p-5226a938.js.map +0 -1
  137. package/dist/atomic/p-720863c3.js +0 -2
  138. package/dist/atomic/p-720863c3.js.map +0 -1
  139. package/dist/atomic/p-81336626.entry.js +0 -2
  140. package/dist/atomic/p-81336626.entry.js.map +0 -1
  141. package/dist/atomic/p-81d6e743.js +0 -2
  142. package/dist/atomic/p-81d6e743.js.map +0 -1
  143. package/dist/atomic/p-aad3b4ec.js +0 -3
  144. package/dist/atomic/p-aad3b4ec.js.map +0 -1
  145. package/dist/atomic/p-b5af331b.entry.js +0 -2
  146. package/dist/atomic/p-b5af331b.entry.js.map +0 -1
  147. package/dist/atomic/p-b7209471.js +0 -2
  148. package/dist/atomic/p-b7209471.js.map +0 -1
  149. package/dist/atomic/p-dac60354.js +0 -2
  150. package/dist/atomic/p-dac60354.js.map +0 -1
  151. package/dist/atomic/p-e1255160.js +0 -2
  152. package/dist/atomic/p-e1255160.js.map +0 -1
  153. package/dist/cjs/_commonjsHelpers-68cdf74f.js +0 -7
  154. package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +0 -1
  155. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  156. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  157. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +0 -153
  158. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +0 -1
  159. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +0 -222
  160. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +0 -1
  161. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +0 -790
  162. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +0 -1
  163. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +0 -86
  164. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +0 -1
  165. package/dist/cjs/date-utils-aae1d713.js +0 -28
  166. package/dist/cjs/date-utils-aae1d713.js.map +0 -1
  167. package/dist/cjs/event-utils-9bfcf3c5.js +0 -27
  168. package/dist/cjs/event-utils-9bfcf3c5.js.map +0 -1
  169. package/dist/cjs/index-122375df.js +0 -1394
  170. package/dist/cjs/index-122375df.js.map +0 -1
  171. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js +0 -95
  172. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js.map +0 -1
  173. package/dist/cjs/initialization-utils-c2821271.js +0 -148
  174. package/dist/cjs/initialization-utils-c2821271.js.map +0 -1
  175. package/dist/cjs/props-utils-e4f29f1e.js +0 -1464
  176. package/dist/cjs/props-utils-e4f29f1e.js.map +0 -1
  177. package/dist/cjs/stencil-button-bf22eea4.js +0 -130
  178. package/dist/cjs/stencil-button-bf22eea4.js.map +0 -1
  179. package/dist/cjs/stencil-result-template-decorators-96954751.js +0 -114
  180. package/dist/cjs/stencil-result-template-decorators-96954751.js.map +0 -1
  181. package/dist/esm/_commonjsHelpers-1c8beb5f.js +0 -5
  182. package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +0 -1
  183. package/dist/esm/app-globals-0f993ce5.js +0 -5
  184. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  185. package/dist/esm/atomic-insight-result-action.entry.js +0 -149
  186. package/dist/esm/atomic-insight-result-action.entry.js.map +0 -1
  187. package/dist/esm/atomic-insight-result-children-template.entry.js +0 -218
  188. package/dist/esm/atomic-insight-result-children-template.entry.js.map +0 -1
  189. package/dist/esm/atomic-insight-timeframe-facet.entry.js +0 -786
  190. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +0 -1
  191. package/dist/esm/atomic-stencil-facet-date-input.entry.js +0 -82
  192. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +0 -1
  193. package/dist/esm/date-utils-3b955e79.js +0 -26
  194. package/dist/esm/date-utils-3b955e79.js.map +0 -1
  195. package/dist/esm/event-utils-8de63ec3.js +0 -24
  196. package/dist/esm/event-utils-8de63ec3.js.map +0 -1
  197. package/dist/esm/index-4d679e44.js +0 -1364
  198. package/dist/esm/index-4d679e44.js.map +0 -1
  199. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js +0 -88
  200. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js.map +0 -1
  201. package/dist/esm/initialization-utils-9ff399ff.js +0 -144
  202. package/dist/esm/initialization-utils-9ff399ff.js.map +0 -1
  203. package/dist/esm/props-utils-76043c82.js +0 -1457
  204. package/dist/esm/props-utils-76043c82.js.map +0 -1
  205. package/dist/esm/stencil-button-28de709c.js +0 -128
  206. package/dist/esm/stencil-button-28de709c.js.map +0 -1
  207. package/dist/esm/stencil-result-template-decorators-4c2e5132.js +0 -110
  208. package/dist/esm/stencil-result-template-decorators-4c2e5132.js.map +0 -1
  209. package/dist/types/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.d.ts +0 -14
  210. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +0 -18
  211. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +0 -20
  212. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +0 -15
  213. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +0 -13
  214. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +0 -11
  215. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +0 -14
  216. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +0 -13
  217. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +0 -14
  218. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +0 -13
  219. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +0 -9
  220. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +0 -9
  221. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +0 -10
  222. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +0 -16
  223. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +0 -9
  224. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +0 -5
  225. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +0 -19
  226. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +0 -5
  227. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +0 -20
  228. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +0 -5
  229. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +0 -17
  230. package/dist/types/components/common/facets/facet-placeholder/stencil-facet-placeholder.d.ts +0 -10
  231. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +0 -11
  232. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +0 -14
  233. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +0 -14
  234. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +0 -6
  235. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +0 -17
  236. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +0 -22
  237. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +0 -6
  238. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +0 -11
  239. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +0 -10
  240. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +0 -12
  241. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +0 -10
  242. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +0 -12
  243. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +0 -12
  244. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +0 -11
  245. package/dist/types/components/common/facets/stencil-facet-common.d.ts +0 -43
  246. package/dist/types/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.d.ts +0 -33
  247. package/dist/types/components/common/facets/stencil-facet-guard.d.ts +0 -12
  248. package/dist/types/components/common/facets/stencil-timeframe-facet-common.d.ts +0 -72
  249. package/dist/types/components/common/generated-answer/generated-answer-common.d.ts +0 -58
  250. package/dist/types/components/common/generated-answer/generated-content/stencil-generated-markdown-content.d.ts +0 -10
  251. package/dist/types/components/common/generated-answer/generated-content/stencil-generated-text-content.d.ts +0 -10
  252. package/dist/types/components/common/generated-answer/stencil-copy-button.d.ts +0 -12
  253. package/dist/types/components/common/generated-answer/stencil-feedback-button.d.ts +0 -13
  254. package/dist/types/components/common/generated-answer/stencil-generated-content-container.d.ts +0 -11
  255. package/dist/types/components/common/generated-answer/stencil-retry-prompt.d.ts +0 -11
  256. package/dist/types/components/common/generated-answer/stencil-show-button.d.ts +0 -12
  257. package/dist/types/components/common/generated-answer/stencil-source-citations.d.ts +0 -10
  258. package/dist/types/components/common/interface/interface-common-stencil.d.ts +0 -34
  259. package/dist/types/components/common/interface/stencil-i18n.d.ts +0 -11
  260. package/dist/types/components/common/item-link/stencil-item-link.d.ts +0 -30
  261. package/dist/types/components/common/item-list/item-list-decorators.d.ts +0 -17
  262. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +0 -17
  263. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +0 -11
  264. package/dist/types/components/common/item-list/stencil-item-decorators.d.ts +0 -41
  265. package/dist/types/components/common/item-list/stencil-item-display-guard.d.ts +0 -10
  266. package/dist/types/components/common/item-list/stencil-item-list-common.d.ts +0 -31
  267. package/dist/types/components/common/item-list/stencil-item-list-guard.d.ts +0 -13
  268. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +0 -14
  269. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +0 -13
  270. package/dist/types/components/common/load-more/guard.d.ts +0 -10
  271. package/dist/types/components/common/load-more/stencil-button.d.ts +0 -13
  272. package/dist/types/components/common/load-more/stencil-container.d.ts +0 -5
  273. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +0 -10
  274. package/dist/types/components/common/load-more/stencil-summary.d.ts +0 -13
  275. package/dist/types/components/common/no-items/stencil-container.d.ts +0 -5
  276. package/dist/types/components/common/no-items/stencil-guard.d.ts +0 -11
  277. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +0 -5
  278. package/dist/types/components/common/no-items/stencil-no-items.d.ts +0 -12
  279. package/dist/types/components/common/no-items/stencil-tips.d.ts +0 -10
  280. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +0 -33
  281. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +0 -10
  282. package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +0 -26
  283. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +0 -12
  284. package/dist/types/components/common/query-correction/stencil-correction.d.ts +0 -12
  285. package/dist/types/components/common/query-correction/stencil-guard.d.ts +0 -9
  286. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +0 -13
  287. package/dist/types/components/common/query-error/stencil-container.d.ts +0 -5
  288. package/dist/types/components/common/query-error/stencil-description.d.ts +0 -13
  289. package/dist/types/components/common/query-error/stencil-details.d.ts +0 -10
  290. package/dist/types/components/common/query-error/stencil-guard.d.ts +0 -9
  291. package/dist/types/components/common/query-error/stencil-icon.d.ts +0 -9
  292. package/dist/types/components/common/query-error/stencil-link.d.ts +0 -11
  293. package/dist/types/components/common/query-error/stencil-show-more.d.ts +0 -13
  294. package/dist/types/components/common/query-error/stencil-title.d.ts +0 -12
  295. package/dist/types/components/common/query-summary/stencil-container.d.ts +0 -9
  296. package/dist/types/components/common/query-summary/stencil-guard.d.ts +0 -11
  297. package/dist/types/components/common/query-summary/stencil-utils.d.ts +0 -23
  298. package/dist/types/components/common/refine-modal/stencil-body.d.ts +0 -7
  299. package/dist/types/components/common/refine-modal/stencil-button.d.ts +0 -12
  300. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +0 -20
  301. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +0 -11
  302. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +0 -18
  303. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +0 -11
  304. package/dist/types/components/common/result-children/stencil-children-wrapper.d.ts +0 -9
  305. package/dist/types/components/common/result-children/stencil-collection-guard.d.ts +0 -16
  306. package/dist/types/components/common/result-children/stencil-guard.d.ts +0 -11
  307. package/dist/types/components/common/result-children/stencil-show-hide-button.d.ts +0 -14
  308. package/dist/types/components/common/result-templates/stencil-result-template-common.d.ts +0 -24
  309. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +0 -10
  310. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +0 -22
  311. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +0 -12
  312. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +0 -12
  313. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/stencil-smart-snippet-common.d.ts +0 -31
  314. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/stencil-smart-snippet-feedback-modal-common.d.ts +0 -57
  315. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/stencil-smart-snippet-suggestions-common.d.ts +0 -43
  316. package/dist/types/components/common/smart-snippets/stencil-smart-snippet-feedback-banner.d.ts +0 -18
  317. package/dist/types/components/common/stencil-button-style.d.ts +0 -11
  318. package/dist/types/components/common/stencil-button.d.ts +0 -30
  319. package/dist/types/components/common/stencil-carousel.d.ts +0 -15
  320. package/dist/types/components/common/stencil-checkbox.d.ts +0 -22
  321. package/dist/types/components/common/stencil-fieldset-group.d.ts +0 -9
  322. package/dist/types/components/common/stencil-heading.d.ts +0 -7
  323. package/dist/types/components/common/stencil-hidden.d.ts +0 -5
  324. package/dist/types/components/common/stencil-iconButton.d.ts +0 -13
  325. package/dist/types/components/common/stencil-radio-button.d.ts +0 -12
  326. package/dist/types/components/common/stencil-switch.d.ts +0 -15
  327. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +0 -11
  328. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +0 -19
  329. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +0 -32
  330. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +0 -96
  331. package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +0 -50
  332. package/dist/types/components/search/facets/facet-segmented-value/stencil-facet-segmented-value.d.ts +0 -6
  333. package/dist/types/components/search/result-template-component-utils/context/stencil-result-template-decorators.d.ts +0 -32
  334. package/dist/types/components/search/result-template-components/quickview-iframe/stencil-quickview-iframe.d.ts +0 -14
  335. package/dist/types/utils/__mocks__/stencil-resource-url.d.ts +0 -1
  336. package/dist/types/utils/initialization-utils.d.ts +0 -70
  337. package/dist/types/utils/jsx-utils.d.ts +0 -6
  338. package/dist/types/utils/stencil-accessibility-utils.d.ts +0 -43
  339. package/dist/types/utils/stencil-asset-path-utils.d.ts +0 -1
  340. package/dist/types/utils/stencil-resource-url.d.ts +0 -1
  341. /package/dist/atomic/components/utils/{initialization-lit-stencil-common-utils.js → initialization-common-utils.js} +0 -0
  342. /package/dist/types/utils/{initialization-lit-stencil-common-utils.d.ts → initialization-common-utils.d.ts} +0 -0
@@ -1,786 +0,0 @@
1
- import { h, r as registerInstance, g as getElement } from './index-4d679e44.js';
2
- import { buildFacetConditionsManager, buildDateRange, deserializeRelativeDate, buildSearchStatus, buildDateFacet, buildDateFilter, loadDateFacetSetActions } from '@coveo/headless/insight';
3
- import { H as Hidden, I as InitializeBindings, B as BindStateToController } from './initialization-utils-9ff399ff.js';
4
- import { d as defer, r as randomID, M as MapProp } from './props-utils-76043c82.js';
5
- import { p as parseDate } from './date-utils-3b955e79.js';
6
- import { B as Button } from './stencil-button-28de709c.js';
7
- import { b as buildCustomEvent } from './event-utils-8de63ec3.js';
8
- import './initialization-lit-stencil-common-utils-e7755434.js';
9
- import '@coveo/bueno';
10
- import './_commonjsHelpers-1c8beb5f.js';
11
-
12
- /**
13
- * @deprecated use Lit equivalent
14
- */
15
- class FocusTargetController {
16
- constructor(component) {
17
- this.component = component;
18
- this.registerFocusCallback = (callback) => {
19
- this.publicOnFocusCallbacks.push(callback);
20
- };
21
- this.doFocusAfterSearch = false;
22
- this.doFocusOnNextTarget = false;
23
- this.publicOnFocusCallbacks = [];
24
- this.bindings = component.bindings;
25
- this.handleComponentRenderLoop();
26
- }
27
- clearFocusCallbacks() {
28
- this.internalOnFocusCallback?.();
29
- while (this.publicOnFocusCallbacks.length) {
30
- this.publicOnFocusCallbacks.pop()?.();
31
- }
32
- }
33
- setTarget(el) {
34
- if (!el) {
35
- return;
36
- }
37
- this.element = el;
38
- if (this.doFocusOnNextTarget) {
39
- this.doFocusOnNextTarget = false;
40
- this.focus();
41
- }
42
- }
43
- async focus() {
44
- await defer();
45
- this.element?.focus();
46
- this.clearFocusCallbacks();
47
- }
48
- focusAfterSearch() {
49
- this.lastSearchId = this.bindings.store.getUniqueIDFromEngine(this.bindings.engine);
50
- this.doFocusAfterSearch = true;
51
- return new Promise((resolve) => (this.internalOnFocusCallback = resolve));
52
- }
53
- focusOnNextTarget() {
54
- this.doFocusOnNextTarget = true;
55
- return new Promise((resolve) => (this.internalOnFocusCallback = resolve));
56
- }
57
- disableForCurrentSearch() {
58
- if (this.bindings.store.getUniqueIDFromEngine(this.bindings.engine) !==
59
- this.lastSearchId) {
60
- this.doFocusAfterSearch = false;
61
- }
62
- }
63
- handleComponentRenderLoop() {
64
- const originalComponentDidRender = this.component.componentDidRender;
65
- this.component.componentDidRender = () => {
66
- originalComponentDidRender &&
67
- originalComponentDidRender.call(this.component);
68
- if (!this.bindings) {
69
- return;
70
- }
71
- if (this.doFocusAfterSearch &&
72
- this.bindings.store.getUniqueIDFromEngine(this.bindings.engine) !==
73
- this.lastSearchId) {
74
- this.doFocusAfterSearch = false;
75
- if (this.element) {
76
- const el = this.element;
77
- // The focus seems to be flaky without deferring, especially on iOS.
78
- defer().then(() => {
79
- el.focus();
80
- this.clearFocusCallbacks();
81
- });
82
- }
83
- }
84
- };
85
- }
86
- }
87
-
88
- function parseDependsOn(dependsOn) {
89
- if (Object.keys(dependsOn).length > 1) {
90
- throw "Depending on multiple facets isn't supported";
91
- }
92
- const entries = Object.entries(dependsOn);
93
- return entries.map(([parentFacetId, expectedValue]) => ({
94
- parentFacetId,
95
- condition: buildDependsOnCondition(expectedValue),
96
- }));
97
- }
98
- function buildDependsOnCondition(expectedValue) {
99
- return (values) => values.some((value) => {
100
- if (isCategoryFacetValue(value)) {
101
- return matchesCategoryFacetValue(value, expectedValue);
102
- }
103
- if (isSimpleFacetValue(value)) {
104
- return matchesSimpleFacetValue(value, expectedValue);
105
- }
106
- return false;
107
- });
108
- }
109
- function matchesCategoryFacetValue(value, expectedValue) {
110
- const selectedValue = getSelectedCategoryFacetValueRequest(value);
111
- if (!selectedValue) {
112
- return false;
113
- }
114
- return !expectedValue || selectedValue.value === expectedValue;
115
- }
116
- function matchesSimpleFacetValue(value, expectedValue) {
117
- if (value.state !== 'selected') {
118
- return false;
119
- }
120
- return !expectedValue || value.value === expectedValue;
121
- }
122
- function isCategoryFacetValue(request) {
123
- const requestAsRecord = request;
124
- return ((requestAsRecord?.children &&
125
- Array.isArray(requestAsRecord.children) &&
126
- requestAsRecord?.state &&
127
- typeof requestAsRecord.state === 'string') === true);
128
- }
129
- function getSelectedCategoryFacetValueRequest(value) {
130
- if (!isCategoryFacetValue(value)) {
131
- return null;
132
- }
133
- if (value.state === 'selected') {
134
- return value;
135
- }
136
- for (const child of value.children) {
137
- const selectedValue = getSelectedCategoryFacetValueRequest(child);
138
- if (selectedValue !== null) {
139
- return selectedValue;
140
- }
141
- }
142
- return null;
143
- }
144
- function isSimpleFacetValue(value) {
145
- const asRecord = value;
146
- return ('value' in asRecord &&
147
- typeof asRecord.value === 'string' &&
148
- !('children' in asRecord));
149
- }
150
-
151
- /**
152
- * @deprecated should only be used for Stencil components.
153
- */
154
- const FacetPlaceholder = ({ numberOfValues, isCollapsed, }) => {
155
- const facetValues = [];
156
- for (let i = 0; i < numberOfValues; i++) {
157
- facetValues.push(h("div", { class: "bg-neutral mt-4 flex h-5", style: { width: '100%', opacity: '0.5' } }));
158
- }
159
- return (h("div", { part: "placeholder", class: "bg-background border-neutral mb-4 animate-pulse rounded-lg border p-7", "aria-hidden": "true" },
160
- h("div", { class: "bg-neutral h-8 rounded", style: { width: '75%' } }),
161
- !isCollapsed && h("div", { class: "mt-7" }, facetValues)));
162
- };
163
-
164
- function getFieldCaptionNamespace(field) {
165
- return `caption-${field}`;
166
- }
167
- function getFieldValueCaption(field, facetValue, i18n) {
168
- return i18n.t(facetValue, {
169
- ns: getFieldCaptionNamespace(field),
170
- });
171
- }
172
-
173
- /**
174
- * @deprecated should only be used for Stencil components.
175
- */
176
- const FacetContainer = (_, children) => (h("div", { class: "bg-background border-neutral rounded-lg border p-4", part: "facet" }, children));
177
-
178
- const ArrowBottomIcon = `<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>`;
179
-
180
- const ArrowTopIcon = `<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>`;
181
-
182
- const CloseIcon = `<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>`;
183
-
184
- /**
185
- * @deprecated should only be used for Stencil components.
186
- */
187
- const Heading = ({ level, ...htmlProps }, children) => {
188
- const HeadingTag = level > 0 && level <= 6 ? `h${level}` : 'div';
189
- return h(HeadingTag, { ...htmlProps }, children);
190
- };
191
-
192
- /**
193
- * @deprecated should only be used for Stencil components.
194
- */
195
- const FacetHeader = (props) => {
196
- const label = props.i18n.t(props.label);
197
- const expandFacet = props.i18n.t('expand-facet', { label });
198
- const collapseFacet = props.i18n.t('collapse-facet', { label });
199
- const clearFilters = props.i18n.t('clear-filters', {
200
- count: props.numberOfActiveValues,
201
- });
202
- const clearFiltersForFacet = props.i18n.t('clear-filters-for-facet', {
203
- count: props.numberOfActiveValues,
204
- label,
205
- });
206
- return [
207
- h(Button, { style: "text-transparent", part: "label-button", class: "flex w-full justify-between rounded-none px-2 py-1 text-lg font-bold", ariaLabel: props.isCollapsed ? expandFacet : collapseFacet, onClick: () => props.onToggleCollapse(), ariaExpanded: (!props.isCollapsed).toString(), ref: props.headerRef },
208
- h(Heading, { level: props.headingLevel, class: "truncate" }, label),
209
- h("atomic-icon", { part: "label-button-icon", class: "ml-4 w-3 shrink-0 self-center", icon: props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon })),
210
- props.onClearFilters && props.numberOfActiveValues > 0 && (h(Button, { style: "text-primary", part: "clear-button", class: "flex max-w-full items-baseline p-2 text-sm", ariaLabel: clearFiltersForFacet, onClick: () => props.onClearFilters() },
211
- h("atomic-icon", { part: "clear-button-icon", class: "mr-1 h-2 w-2", icon: CloseIcon }),
212
- h("span", null, clearFilters))),
213
- ];
214
- };
215
-
216
- /*!
217
- * escape-html
218
- * Copyright(c) 2012-2013 TJ Holowaychuk
219
- * Copyright(c) 2015 Andreas Lubbe
220
- * Copyright(c) 2015 Tiancheng "Timothy" Gu
221
- * MIT Licensed
222
- */
223
-
224
- /**
225
- * Module variables.
226
- * @private
227
- */
228
-
229
- var matchHtmlRegExp = /["'&<>]/;
230
-
231
- /**
232
- * Module exports.
233
- * @public
234
- */
235
-
236
- var escapeHtml_1 = escapeHtml;
237
-
238
- /**
239
- * Escape special characters in the given string of html.
240
- *
241
- * @param {string} string The string to escape for inserting into HTML
242
- * @return {string}
243
- * @public
244
- */
245
-
246
- function escapeHtml(string) {
247
- var str = '' + string;
248
- var match = matchHtmlRegExp.exec(str);
249
-
250
- if (!match) {
251
- return str;
252
- }
253
-
254
- var escape;
255
- var html = '';
256
- var index = 0;
257
- var lastIndex = 0;
258
-
259
- for (index = match.index; index < str.length; index++) {
260
- switch (str.charCodeAt(index)) {
261
- case 34: // "
262
- escape = '&quot;';
263
- break;
264
- case 38: // &
265
- escape = '&amp;';
266
- break;
267
- case 39: // '
268
- escape = '&#39;';
269
- break;
270
- case 60: // <
271
- escape = '&lt;';
272
- break;
273
- case 62: // >
274
- escape = '&gt;';
275
- break;
276
- default:
277
- continue;
278
- }
279
-
280
- if (lastIndex !== index) {
281
- html += str.substring(lastIndex, index);
282
- }
283
-
284
- lastIndex = index + 1;
285
- html += escape;
286
- }
287
-
288
- return lastIndex !== index
289
- ? html + str.substring(lastIndex, index)
290
- : html;
291
- }
292
-
293
- const escapeHtml$1 = escapeHtml_1;
294
-
295
- function regexEncode(value) {
296
- return value.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
297
- }
298
-
299
- function highlightSearchResult(resultValue, searchQuery = '') {
300
- const sanitizedResult = escapeHtml$1(resultValue);
301
- if (searchQuery.trim() === '') {
302
- return sanitizedResult;
303
- }
304
- const regex = new RegExp(`(${regexEncode(escapeHtml$1(searchQuery))})`, 'i');
305
- return escapeHtml$1(resultValue).replace(regex, '<span part="search-highlight" class="font-bold">$1</span>');
306
- }
307
-
308
- /**
309
- * @deprecated should only be used for Stencil components.
310
- */
311
- const FacetValueLabelHighlight = (props) => {
312
- return (
313
- // deepcode ignore ReactSetInnerHtml: This is not React code
314
- h("span", { title: props.displayValue, part: "value-label", class: `value-label peer-hover:text-error truncate ${props.isSelected || !!props.isExcluded ? 'font-bold' : ''}`, innerHTML: highlightSearchResult(props.displayValue, props.searchQuery) }));
315
- };
316
-
317
- /**
318
- * @deprecated should only be used for Stencil components.
319
- */
320
- const FacetValueLink = (props, children) => {
321
- const count = props.numberOfResults.toLocaleString(props.i18n.language);
322
- const ariaLabel = props.i18n.t('facet-value', {
323
- value: props.displayValue,
324
- count: props.numberOfResults,
325
- formattedCount: count,
326
- interpolation: { escapeValue: false },
327
- });
328
- let part = props.part ?? `value-link${props.isSelected ? ' value-link-selected' : ''}`;
329
- if (props.additionalPart) {
330
- part += ` ${props.additionalPart}`;
331
- }
332
- return (h("li", { key: props.displayValue, class: props.class },
333
- h(Button, { style: "text-neutral", part: part, onClick: () => props.onClick(), class: "group flex w-full items-center truncate px-2 py-2.5 text-left focus-visible:outline-none", ariaPressed: props.isSelected.toString(), ariaLabel: ariaLabel, ref: props.buttonRef },
334
- children,
335
- h("span", { part: "value-count", class: "value-count" }, props.i18n.t('between-parentheses', {
336
- text: count,
337
- }))),
338
- props.subList));
339
- };
340
-
341
- /**
342
- * @deprecated should only be used for Stencil components.
343
- */
344
- const FieldsetGroup = ({ label }, children) => (h("fieldset", { class: "contents" },
345
- h("legend", { class: "sr-only" }, label),
346
- children));
347
-
348
- /**
349
- * @deprecated should only be used for Stencil components.
350
- */
351
- const FacetValuesGroup = (props, children) => {
352
- if (!props.label) {
353
- return children;
354
- }
355
- const facetDisplayLabel = props.i18n.t(props.label);
356
- const groupLabel = props.query === undefined
357
- ? props.i18n.t('facet-values', { label: facetDisplayLabel })
358
- : props.i18n.t('facet-search-results', {
359
- query: props.query,
360
- label: facetDisplayLabel,
361
- });
362
- return h(FieldsetGroup, { label: groupLabel }, children);
363
- };
364
-
365
- function initializePopover(host, childFacet) {
366
- host.dispatchEvent(buildCustomEvent('atomic/initializePopover', childFacet));
367
- }
368
-
369
- function shouldDisplayInputForFacetRange(facetRange) {
370
- const { hasInput, hasInputRange, searchStatusState, facetValues } = facetRange;
371
- if (!hasInput) {
372
- return false;
373
- }
374
- if (hasInputRange) {
375
- return true;
376
- }
377
- if (!searchStatusState.hasResults) {
378
- return false;
379
- }
380
- const onlyValuesWithResultsOrActive = facetValues.filter((value) => value.numberOfResults || value.state !== 'idle') || [];
381
- if (!onlyValuesWithResultsOrActive.length) {
382
- return false;
383
- }
384
- return true;
385
- }
386
-
387
- class TimeframeFacetCommon {
388
- constructor(props) {
389
- this.props = props;
390
- this.manualTimeframes = [];
391
- this.facetId = this.determineFacetId;
392
- this.props.setFacetId(this.facetId);
393
- this.manualTimeframes = this.getManualTimeframes();
394
- // Initialize two facets: One that is actually used to display values for end users, which only exists
395
- // if we need to display something to the end user (ie: timeframes > 0)
396
- // A second facet is initialized only to verify the results count. It is never used to display results to end user.
397
- // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component
398
- if (this.manualTimeframes.length > 0) {
399
- this.facetForDateRange = this.props.initializeFacetForDateRange(this.currentValues);
400
- }
401
- if (this.props.withDatePicker) {
402
- this.facetForDatePicker = this.props.initializeFacetForDatePicker();
403
- this.facetForDatePickerDependenciesManager =
404
- this.props.buildDependenciesManager(this.facetForDatePicker.state.facetId);
405
- this.filter = this.props.initializeFilter();
406
- }
407
- if (this.facetForDateRange) {
408
- this.facetForDateRangeDependenciesManager =
409
- this.props.buildDependenciesManager(this.facetForDateRange?.state.facetId);
410
- }
411
- if (this.filter) {
412
- this.filterDependenciesManager = this.props.buildDependenciesManager(this.filter?.state.facetId);
413
- }
414
- this.registerFacetToStore();
415
- }
416
- get determineFacetId() {
417
- if (this.props.facetId) {
418
- return this.props.facetId;
419
- }
420
- if (this.props.bindings.store.state.dateFacets[this.props.field]) {
421
- return randomID(`${this.props.field}_`);
422
- }
423
- return this.props.field;
424
- }
425
- get enabled() {
426
- return (this.facetForDateRange?.state.enabled ??
427
- this.filter?.state.enabled ??
428
- true);
429
- }
430
- get valuesToRender() {
431
- return (this.facetForDateRange?.state.values.filter((value) => value.numberOfResults || value.state !== 'idle') || []);
432
- }
433
- get shouldRenderValues() {
434
- return !this.hasInputRange && !!this.valuesToRender.length;
435
- }
436
- get shouldRenderFacet() {
437
- return this.shouldRenderInput || this.shouldRenderValues;
438
- }
439
- get shouldRenderInput() {
440
- return shouldDisplayInputForFacetRange({
441
- hasInput: this.props.withDatePicker,
442
- hasInputRange: this.hasInputRange,
443
- searchStatusState: this.props.getSearchStatusState(),
444
- facetValues: this.facetForDatePicker?.state?.values || [],
445
- });
446
- }
447
- get hasValues() {
448
- if (this.facetForDatePicker?.state.values.length) {
449
- return true;
450
- }
451
- return !!this.valuesToRender.length;
452
- }
453
- get numberOfSelectedValues() {
454
- if (this.filter?.state?.range) {
455
- return 1;
456
- }
457
- return (this.facetForDateRange?.state.values.filter(({ state }) => state === 'selected').length || 0);
458
- }
459
- get hasInputRange() {
460
- return !!this.filter?.state.range;
461
- }
462
- get currentValues() {
463
- return this.manualTimeframes.map(({ period, amount, unit }) => period === 'past'
464
- ? this.props.buildDateRange({
465
- start: { period, unit, amount },
466
- end: { period: 'now' },
467
- })
468
- : this.props.buildDateRange({
469
- start: { period: 'now' },
470
- end: { period, unit, amount },
471
- }));
472
- }
473
- disconnectedCallback() {
474
- if (this.props.host.isConnected) {
475
- return;
476
- }
477
- this.facetForDateRangeDependenciesManager?.stopWatching();
478
- this.facetForDatePickerDependenciesManager?.stopWatching();
479
- this.filterDependenciesManager?.stopWatching();
480
- }
481
- get isHidden() {
482
- return !this.shouldRenderFacet || !this.enabled;
483
- }
484
- registerFacetToStore() {
485
- const facetInfo = {
486
- label: () => this.props.bindings.i18n.t(this.props.label),
487
- facetId: this.facetId,
488
- element: this.props.host,
489
- isHidden: () => this.isHidden,
490
- };
491
- this.props.bindings.store.registerFacet('dateFacets', {
492
- ...facetInfo,
493
- format: (value) => this.formatFacetValue(value),
494
- });
495
- initializePopover(this.props.host, {
496
- ...facetInfo,
497
- hasValues: () => this.hasValues,
498
- numberOfActiveValues: () => this.numberOfSelectedValues,
499
- });
500
- if (this.filter) {
501
- this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =
502
- this.props.bindings.store.state.dateFacets[this.facetId];
503
- }
504
- }
505
- getManualTimeframes() {
506
- return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(({ label, amount, unit, period }) => ({
507
- label,
508
- amount,
509
- unit,
510
- period,
511
- }));
512
- }
513
- formatFacetValue(facetValue) {
514
- try {
515
- const startDate = this.props.deserializeRelativeDate(facetValue.start);
516
- const relativeDate = startDate.period === 'past'
517
- ? startDate
518
- : this.props.deserializeRelativeDate(facetValue.end);
519
- const timeframe = this.getManualTimeframes().find((timeframe) => timeframe.period === relativeDate.period &&
520
- timeframe.unit === relativeDate.unit &&
521
- timeframe.amount === relativeDate.amount);
522
- if (timeframe?.label) {
523
- return getFieldValueCaption(this.props.field, timeframe.label, this.props.bindings.i18n);
524
- }
525
- return this.props.bindings.i18n.t(`${relativeDate.period}-${relativeDate.unit}`, {
526
- count: relativeDate.amount,
527
- });
528
- }
529
- catch (error) {
530
- return this.props.bindings.i18n.t('to', {
531
- start: parseDate(facetValue.start).format('YYYY-MM-DD'),
532
- end: parseDate(facetValue.end).format('YYYY-MM-DD'),
533
- });
534
- }
535
- }
536
- renderValues() {
537
- return this.renderValuesContainer(this.valuesToRender.map((value) => this.renderValue(value)));
538
- }
539
- renderValue(facetValue) {
540
- const displayValue = this.formatFacetValue(facetValue);
541
- const isSelected = facetValue.state === 'selected';
542
- const isExcluded = facetValue.state === 'excluded';
543
- return (h(FacetValueLink, { displayValue: displayValue, isSelected: isSelected, numberOfResults: facetValue.numberOfResults, i18n: this.props.bindings.i18n, onClick: () => this.facetForDateRange.toggleSingleSelect(facetValue) },
544
- h(FacetValueLabelHighlight, { displayValue: displayValue, isSelected: isSelected, isExcluded: isExcluded })));
545
- }
546
- renderValuesContainer(children) {
547
- return (h(FacetValuesGroup, { i18n: this.props.bindings.i18n, label: this.props.label },
548
- h("ul", { class: "mt-3", part: "values" }, children)));
549
- }
550
- renderHeader(isCollapsed, headerFocus, onToggleCollapse) {
551
- return (h(FacetHeader, { i18n: this.props.bindings.i18n, label: this.props.label, onClearFilters: () => {
552
- headerFocus.focusAfterSearch();
553
- if (this.filter?.state.range) {
554
- this.filter?.clear();
555
- return;
556
- }
557
- this.facetForDateRange?.deselectAll();
558
- }, numberOfActiveValues: this.numberOfSelectedValues, isCollapsed: isCollapsed, headingLevel: this.props.headingLevel, onToggleCollapse: onToggleCollapse, headerRef: (el) => headerFocus.setTarget(el) }));
559
- }
560
- renderDateInput() {
561
- return (h("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: (request) => {
562
- this.filter.setRange(request);
563
- } }));
564
- }
565
- render({ hasError, firstSearchExecuted, isCollapsed, headerFocus, onToggleCollapse, }) {
566
- if (hasError || !this.enabled) {
567
- return h(Hidden, null);
568
- }
569
- if (!firstSearchExecuted) {
570
- return (h(FacetPlaceholder, { numberOfValues: this.currentValues.length, isCollapsed: isCollapsed }));
571
- }
572
- if (!this.shouldRenderFacet) {
573
- return h(Hidden, null);
574
- }
575
- return (h(FacetContainer, null,
576
- this.renderHeader(isCollapsed, headerFocus, onToggleCollapse),
577
- !isCollapsed && [
578
- this.shouldRenderValues && this.renderValues(),
579
- this.shouldRenderInput && this.renderDateInput(),
580
- ]));
581
- }
582
- }
583
-
584
- const atomicInsightTimeframeFacetCss = "/*! 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";
585
- const AtomicInsightTimeframeFacetStyle0 = atomicInsightTimeframeFacetCss;
586
-
587
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
588
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
589
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
590
- r = Reflect.decorate(decorators, target, key, desc);
591
- else
592
- for (var i = decorators.length - 1; i >= 0; i--)
593
- if (d = decorators[i])
594
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
595
- return c > 3 && r && Object.defineProperty(target, key, r), r;
596
- };
597
- const AtomicInsightTimeframeFacet = class {
598
- constructor(hostRef) {
599
- registerInstance(this, hostRef);
600
- /**
601
- * The non-localized label for the facet.
602
- * Used in the atomic-breadbox component through the bindings store.
603
- */
604
- this.label = 'no-label';
605
- /**
606
- * The field whose values you want to display in the facet.
607
- */
608
- this.field = 'date';
609
- /**
610
- * Whether this facet should contain a date picker allowing users to set custom ranges.
611
- */
612
- this.withDatePicker = false;
613
- /**
614
- * Specifies if the facet is collapsed.
615
- */
616
- this.isCollapsed = false;
617
- /**
618
- * 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.
619
- */
620
- this.headingLevel = 0;
621
- /**
622
- * Whether to exclude the parents of folded results when estimating the result count for each facet value.
623
- *
624
- *
625
- * Note: Resulting count is only an estimation, in some cases this value could be incorrect.
626
- */
627
- this.filterFacetCount = true;
628
- /**
629
- * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.
630
- * Note: A high injectionDepth may negatively impact the facet request performance.
631
- * Minimum: `0`
632
- * Default: `1000`
633
- */
634
- this.injectionDepth = 1000;
635
- /**
636
- * The required facets and values for this facet to be displayed.
637
- * Examples:
638
- * ```html
639
- * <atomic-insight-facet facet-id="abc" field="objecttype" ...></atomic-insight-facet>
640
- *
641
- * <!-- To show the facet when any value is selected in the facet with id "abc": -->
642
- * <atomic-insight-timeframe-facet
643
- * depends-on-abc
644
- * ...
645
- * ></atomic-insight-timeframe-facet>
646
- *
647
- * <!-- To show the facet when value "doc" is selected in the facet with id "abc": -->
648
- * <atomic-insight-timeframe-facet
649
- * depends-on-abc="doc"
650
- * ...
651
- * ></atomic-insight-timeframe-facet>
652
- * ```
653
- */
654
- this.dependsOn = {};
655
- /**
656
- * The sort criterion to apply to the returned facet values.
657
- * Possible values are 'ascending' and 'descending'.
658
- */
659
- this.sortCriteria = 'descending';
660
- this.facetState = undefined;
661
- this.facetForDatePickerState = undefined;
662
- this.filterState = undefined;
663
- this.searchStatusState = undefined;
664
- this.error = undefined;
665
- this.facetId = undefined;
666
- this.label = 'no-label';
667
- this.field = 'date';
668
- this.withDatePicker = false;
669
- this.isCollapsed = false;
670
- this.headingLevel = 0;
671
- this.filterFacetCount = true;
672
- this.injectionDepth = 1000;
673
- this.dependsOn = {};
674
- this.sortCriteria = 'descending';
675
- }
676
- initialize() {
677
- this.timeframeFacetCommon = new TimeframeFacetCommon({
678
- facetId: this.facetId,
679
- host: this.host,
680
- bindings: this.bindings,
681
- label: this.label,
682
- field: this.field,
683
- headingLevel: this.headingLevel,
684
- dependsOn: this.dependsOn,
685
- withDatePicker: this.withDatePicker,
686
- setFacetId: (id) => (this.facetId = id),
687
- buildDependenciesManager: (facetId) => buildFacetConditionsManager(this.bindings.engine, {
688
- facetId,
689
- conditions: parseDependsOn(this.dependsOn),
690
- }),
691
- buildDateRange: buildDateRange,
692
- getSearchStatusState: () => this.searchStatusState,
693
- deserializeRelativeDate: deserializeRelativeDate,
694
- initializeFacetForDatePicker: () => this.initializeFacetForDatePicker(),
695
- initializeFacetForDateRange: (values) => this.initializeFacetForDateRange(values),
696
- initializeFilter: () => this.initializeFilter(),
697
- sortCriteria: this.sortCriteria,
698
- });
699
- this.searchStatus = buildSearchStatus(this.bindings.engine);
700
- }
701
- get focusTarget() {
702
- if (!this.headerFocus) {
703
- this.headerFocus = new FocusTargetController(this);
704
- }
705
- return this.headerFocus;
706
- }
707
- disconnectedCallback() {
708
- this.timeframeFacetCommon?.disconnectedCallback();
709
- }
710
- initializeFacetForDatePicker() {
711
- this.facetForDatePicker = buildDateFacet(this.bindings.engine, {
712
- options: {
713
- facetId: `${this.facetId}_input_range`,
714
- numberOfValues: 1,
715
- generateAutomaticRanges: true,
716
- field: this.field,
717
- filterFacetCount: this.filterFacetCount,
718
- injectionDepth: this.injectionDepth,
719
- },
720
- });
721
- return this.facetForDatePicker;
722
- }
723
- initializeFacetForDateRange(values) {
724
- this.facetForDateRange = buildDateFacet(this.bindings.engine, {
725
- options: {
726
- facetId: this.facetId,
727
- field: this.field,
728
- currentValues: values,
729
- generateAutomaticRanges: false,
730
- sortCriteria: 'descending',
731
- filterFacetCount: this.filterFacetCount,
732
- injectionDepth: this.injectionDepth,
733
- },
734
- });
735
- return this.facetForDateRange;
736
- }
737
- initializeFilter() {
738
- this.filter = buildDateFilter(this.bindings.engine, {
739
- options: {
740
- facetId: `${this.facetId}_input`,
741
- field: this.field,
742
- },
743
- });
744
- return this.filter;
745
- }
746
- applyDateInput() {
747
- this.facetId &&
748
- this.bindings.engine.dispatch(loadDateFacetSetActions(this.bindings.engine).deselectAllDateFacetValues(this.facetId));
749
- }
750
- render() {
751
- if (!this.timeframeFacetCommon) {
752
- return (h(FacetPlaceholder, { numberOfValues: 5, isCollapsed: this.isCollapsed }));
753
- }
754
- return this.timeframeFacetCommon.render({
755
- hasError: this.searchStatusState.hasError,
756
- firstSearchExecuted: this.searchStatusState.firstSearchExecuted,
757
- isCollapsed: this.isCollapsed,
758
- headerFocus: this.focusTarget,
759
- onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed),
760
- });
761
- }
762
- get host() { return getElement(this); }
763
- };
764
- __decorate([
765
- InitializeBindings()
766
- ], AtomicInsightTimeframeFacet.prototype, "bindings", void 0);
767
- __decorate([
768
- BindStateToController('facetForDateRange')
769
- ], AtomicInsightTimeframeFacet.prototype, "facetState", void 0);
770
- __decorate([
771
- BindStateToController('facetForDatePicker')
772
- ], AtomicInsightTimeframeFacet.prototype, "facetForDatePickerState", void 0);
773
- __decorate([
774
- BindStateToController('filter')
775
- ], AtomicInsightTimeframeFacet.prototype, "filterState", void 0);
776
- __decorate([
777
- BindStateToController('searchStatus')
778
- ], AtomicInsightTimeframeFacet.prototype, "searchStatusState", void 0);
779
- __decorate([
780
- MapProp()
781
- ], AtomicInsightTimeframeFacet.prototype, "dependsOn", void 0);
782
- AtomicInsightTimeframeFacet.style = AtomicInsightTimeframeFacetStyle0;
783
-
784
- export { AtomicInsightTimeframeFacet as atomic_insight_timeframe_facet };
785
-
786
- //# sourceMappingURL=atomic-insight-timeframe-facet.entry.js.map