@coveo/atomic 3.48.0 → 3.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/custom-elements.json +1367 -332
  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 -6
  5. package/dist/atomic/components/_index.js +1 -4
  6. package/dist/atomic/components/atomic-insight-generated-answer.js +16 -5
  7. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  8. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  9. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  10. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  11. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  12. package/dist/atomic/components/atomic-insight-result-children-template.js +2 -2
  13. package/dist/atomic/components/atomic-insight-result-children-template.js.map +1 -1
  14. package/dist/atomic/components/atomic-insight-timeframe-facet.js +7 -6
  15. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +1 -1
  16. package/dist/atomic/components/atomic-ipx-recs-list.js +323 -10
  17. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  18. package/dist/atomic/components/atomic-ipx-refine-modal2.js +3 -3
  19. package/dist/atomic/components/atomic-ipx-refine-modal2.js.map +1 -1
  20. package/dist/atomic/components/atomic-ipx-refine-toggle.js +2 -2
  21. package/dist/atomic/components/atomic-ipx-refine-toggle.js.map +1 -1
  22. package/dist/atomic/components/attach.js +1 -1
  23. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +4 -4
  24. package/dist/atomic/components/components/insight/atomic-insight-folded-result-list/atomic-insight-folded-result-list.js +309 -0
  25. package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +4 -4
  26. package/dist/atomic/components/components/insight/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.js +198 -0
  27. package/dist/atomic/components/components/insight/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.tw.css.js +3 -0
  28. package/dist/atomic/components/components/insight/index.js +2 -0
  29. package/dist/atomic/components/components/insight/lazy-index.js +2 -0
  30. package/dist/atomic/components/components/recommendations/atomic-recs-list/atomic-recs-list.js +437 -0
  31. package/dist/atomic/components/components/recommendations/index.js +1 -0
  32. package/dist/atomic/components/components/recommendations/lazy-index.js +1 -0
  33. package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +6 -0
  34. package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +4 -4
  35. package/dist/atomic/components/global/environment.js +1 -1
  36. package/dist/atomic/components/index.js.map +1 -1
  37. package/dist/atomic/components/initialization-utils.js +1 -1
  38. package/dist/atomic/components/popover-type.js +1 -1
  39. package/dist/atomic/components/stencil-button.js +22 -2
  40. package/dist/atomic/components/stencil-button.js.map +1 -1
  41. package/dist/atomic/components/stencil-heading.js +157 -1
  42. package/dist/atomic/components/stencil-heading.js.map +1 -1
  43. package/dist/atomic/components/store.js +0 -2
  44. package/dist/atomic/components/store.js.map +1 -1
  45. package/dist/atomic/components/utils/custom-element-tags.js +4 -0
  46. package/dist/atomic/components/utils/tailwind.global.tw.css.js +4 -4
  47. package/dist/atomic/components/utils.js +1360 -2
  48. package/dist/atomic/components/utils.js.map +1 -1
  49. package/dist/atomic/lang/cs.json +1 -1
  50. package/dist/atomic/lang/da.json +1 -1
  51. package/dist/atomic/lang/de.json +1 -1
  52. package/dist/atomic/lang/dev.json +1 -1
  53. package/dist/atomic/lang/el.json +1 -1
  54. package/dist/atomic/lang/en.json +1 -1
  55. package/dist/atomic/lang/es.json +1 -1
  56. package/dist/atomic/lang/fi.json +1 -1
  57. package/dist/atomic/lang/fr.json +1 -1
  58. package/dist/atomic/lang/hu.json +1 -1
  59. package/dist/atomic/lang/id.json +1 -1
  60. package/dist/atomic/lang/it.json +1 -1
  61. package/dist/atomic/lang/ja.json +1 -1
  62. package/dist/atomic/lang/ko.json +1 -1
  63. package/dist/atomic/lang/nl.json +1 -1
  64. package/dist/atomic/lang/no.json +1 -1
  65. package/dist/atomic/lang/pl.json +1 -1
  66. package/dist/atomic/lang/pt-BR.json +1 -1
  67. package/dist/atomic/lang/pt.json +1 -1
  68. package/dist/atomic/lang/ru.json +1 -1
  69. package/dist/atomic/lang/sv.json +1 -1
  70. package/dist/atomic/lang/th.json +1 -1
  71. package/dist/atomic/lang/tr.json +1 -1
  72. package/dist/atomic/lang/zh-CN.json +1 -1
  73. package/dist/atomic/lang/zh-TW.json +1 -1
  74. package/dist/atomic/lang/zh.json +1 -1
  75. package/dist/atomic/p-0f896350.entry.js +2 -0
  76. package/dist/atomic/{p-026a51a7.entry.js.map → p-0f896350.entry.js.map} +1 -1
  77. package/dist/atomic/p-4117289b.entry.js +2 -0
  78. package/dist/atomic/{p-77250a6b.entry.js.map → p-4117289b.entry.js.map} +1 -1
  79. package/dist/atomic/p-4a32511f.js +1 -1
  80. package/dist/atomic/p-74210c4b.entry.js +9 -0
  81. package/dist/atomic/{p-5ec9bf71.entry.js.map → p-74210c4b.entry.js.map} +1 -1
  82. package/dist/atomic/p-8b039c2e.entry.js +2 -0
  83. package/dist/atomic/{p-15074eb9.entry.js.map → p-8b039c2e.entry.js.map} +1 -1
  84. package/dist/atomic/p-991e840f.entry.js +2 -0
  85. package/dist/atomic/p-991e840f.entry.js.map +1 -0
  86. package/dist/atomic/{p-c0fbee64.js → p-9c5ec170.js} +2 -2
  87. package/dist/atomic/p-9dfe5ab1.js +2 -0
  88. package/dist/atomic/p-9dfe5ab1.js.map +1 -0
  89. package/dist/atomic/p-9f774145.entry.js +2 -0
  90. package/dist/atomic/{p-40e4e762.entry.js.map → p-9f774145.entry.js.map} +1 -1
  91. package/dist/atomic/{p-3df103c1.js → p-b09433bb.js} +2 -2
  92. package/dist/atomic/p-b09433bb.js.map +1 -0
  93. package/dist/atomic/p-c81f1edb.entry.js +2 -0
  94. package/dist/atomic/{p-3bb48254.entry.js.map → p-c81f1edb.entry.js.map} +1 -1
  95. package/dist/atomic/p-eea2c139.entry.js +2 -0
  96. package/dist/atomic/p-eea2c139.entry.js.map +1 -0
  97. package/dist/atomic/p-f321aab0.js +2 -0
  98. package/dist/atomic/{p-141bf64c.js.map → p-f321aab0.js.map} +1 -1
  99. package/dist/cjs/_loader.cjs.js +1 -1
  100. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +19 -9
  101. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  102. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  103. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  104. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  105. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  106. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +4 -5
  107. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +1 -1
  108. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +10 -10
  109. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  110. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +328 -18
  111. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  112. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +3 -5
  113. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  114. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
  115. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  116. package/dist/cjs/atomic.cjs.js +1 -1
  117. package/dist/cjs/index-3532822e.js +0 -12
  118. package/dist/cjs/{props-utils-4a99eda6.js → props-utils-bc5feb04.js} +2 -2
  119. package/dist/cjs/{props-utils-4a99eda6.js.map → props-utils-bc5feb04.js.map} +1 -1
  120. package/dist/cjs/{stencil-accessibility-utils-e64abd7b.js → stencil-heading-ecec9ab3.js} +12 -2
  121. package/dist/cjs/stencil-heading-ecec9ab3.js.map +1 -0
  122. package/dist/cjs/{store-9d4daf92.js → store-70fff5e6.js} +1 -3
  123. package/dist/cjs/store-70fff5e6.js.map +1 -0
  124. package/dist/cjs/{purify-d8fb6acd.js → utils-e845f262.js} +67 -1
  125. package/dist/cjs/utils-e845f262.js.map +1 -0
  126. package/dist/cjs/version.cjs.js +2 -2
  127. package/dist/esm/_loader.js +1 -1
  128. package/dist/esm/atomic-insight-generated-answer.entry.js +16 -6
  129. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  130. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  131. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  132. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  133. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  134. package/dist/esm/atomic-insight-result-children-template.entry.js +4 -5
  135. package/dist/esm/atomic-insight-result-children-template.entry.js.map +1 -1
  136. package/dist/esm/atomic-insight-timeframe-facet.entry.js +9 -9
  137. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  138. package/dist/esm/atomic-ipx-recs-list.entry.js +324 -14
  139. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  140. package/dist/esm/atomic-ipx-refine-modal.entry.js +4 -6
  141. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  142. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
  143. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  144. package/dist/esm/atomic.js +1 -1
  145. package/dist/esm/index-3eb0b28e.js +0 -12
  146. package/dist/esm/initialization-utils-82d28c63.js +1 -1
  147. package/dist/esm/{props-utils-e322e9dd.js → props-utils-d343133b.js} +2 -2
  148. package/dist/esm/{props-utils-e322e9dd.js.map → props-utils-d343133b.js.map} +1 -1
  149. package/dist/esm/{stencil-accessibility-utils-69ea92b0.js → stencil-heading-98a5f23f.js} +12 -3
  150. package/dist/{atomic/p-b3524b97.js.map → esm/stencil-heading-98a5f23f.js.map} +1 -1
  151. package/dist/esm/{store-3bc9050f.js → store-50d170c8.js} +1 -3
  152. package/dist/esm/store-50d170c8.js.map +1 -0
  153. package/dist/esm/{purify-985ba52e.js → utils-b5bab369.js} +60 -2
  154. package/dist/esm/utils-b5bab369.js.map +1 -0
  155. package/dist/esm/version.js +2 -2
  156. package/dist/types/components/common/generated-answer/generated-answer-thread-item/generated-answer-thread-item.d.ts +49 -0
  157. package/dist/types/components/common/generated-answer/render-follow-up-input.d.ts +17 -0
  158. package/dist/types/components/insight/atomic-insight-folded-result-list/atomic-insight-folded-result-list.d.ts +99 -0
  159. package/dist/types/components/insight/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.d.ts +83 -0
  160. package/dist/types/components/insight/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.tw.css.d.ts +2 -0
  161. package/dist/types/components/insight/index.d.ts +2 -0
  162. package/dist/types/components/recommendations/atomic-recs-list/atomic-recs-list.d.ts +40 -23
  163. package/dist/types/components/recommendations/index.d.ts +1 -0
  164. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +5 -0
  165. package/dist/types/components.d.ts +4 -198
  166. package/docs/atomic-docs.json +17 -434
  167. package/package.json +9 -4
  168. package/dist/atomic/components/arrow-right.js +0 -8
  169. package/dist/atomic/components/arrow-right.js.map +0 -1
  170. package/dist/atomic/components/atomic-insight-folded-result-list.d.ts +0 -11
  171. package/dist/atomic/components/atomic-insight-folded-result-list.js +0 -213
  172. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +0 -1
  173. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.d.ts +0 -11
  174. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.js +0 -175
  175. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.js.map +0 -1
  176. package/dist/atomic/components/atomic-recs-list.d.ts +0 -11
  177. package/dist/atomic/components/atomic-recs-list.js +0 -304
  178. package/dist/atomic/components/atomic-recs-list.js.map +0 -1
  179. package/dist/atomic/components/display-options.js +0 -277
  180. package/dist/atomic/components/display-options.js.map +0 -1
  181. package/dist/atomic/components/event-utils.js +0 -24
  182. package/dist/atomic/components/event-utils.js.map +0 -1
  183. package/dist/atomic/components/purify.js +0 -1363
  184. package/dist/atomic/components/purify.js.map +0 -1
  185. package/dist/atomic/components/slot-utils.js +0 -16
  186. package/dist/atomic/components/slot-utils.js.map +0 -1
  187. package/dist/atomic/components/stencil-accessibility-utils.js +0 -160
  188. package/dist/atomic/components/stencil-accessibility-utils.js.map +0 -1
  189. package/dist/atomic/components/stencil-carousel.js +0 -50
  190. package/dist/atomic/components/stencil-carousel.js.map +0 -1
  191. package/dist/atomic/p-026a51a7.entry.js +0 -2
  192. package/dist/atomic/p-09ff88b4.entry.js +0 -2
  193. package/dist/atomic/p-09ff88b4.entry.js.map +0 -1
  194. package/dist/atomic/p-0c4a4e30.js +0 -2
  195. package/dist/atomic/p-0c4a4e30.js.map +0 -1
  196. package/dist/atomic/p-141bf64c.js +0 -2
  197. package/dist/atomic/p-15074eb9.entry.js +0 -2
  198. package/dist/atomic/p-3bb48254.entry.js +0 -2
  199. package/dist/atomic/p-3df103c1.js.map +0 -1
  200. package/dist/atomic/p-40e4e762.entry.js +0 -2
  201. package/dist/atomic/p-4cab9607.js +0 -2
  202. package/dist/atomic/p-4cab9607.js.map +0 -1
  203. package/dist/atomic/p-5ec9bf71.entry.js +0 -9
  204. package/dist/atomic/p-77250a6b.entry.js +0 -2
  205. package/dist/atomic/p-78be3137.js +0 -2
  206. package/dist/atomic/p-78be3137.js.map +0 -1
  207. package/dist/atomic/p-994b3e51.entry.js +0 -2
  208. package/dist/atomic/p-994b3e51.entry.js.map +0 -1
  209. package/dist/atomic/p-b3524b97.js +0 -2
  210. package/dist/atomic/p-cc6320d9.entry.js +0 -2
  211. package/dist/atomic/p-cc6320d9.entry.js.map +0 -1
  212. package/dist/atomic/p-cfa9c12b.js +0 -2
  213. package/dist/atomic/p-cfa9c12b.js.map +0 -1
  214. package/dist/atomic/p-d189f1a5.js +0 -2
  215. package/dist/atomic/p-d189f1a5.js.map +0 -1
  216. package/dist/atomic/p-e58840b6.js +0 -2
  217. package/dist/atomic/p-e58840b6.js.map +0 -1
  218. package/dist/atomic/p-f24c22bb.entry.js +0 -2
  219. package/dist/atomic/p-f24c22bb.entry.js.map +0 -1
  220. package/dist/atomic/p-f2906e7c.entry.js +0 -2
  221. package/dist/atomic/p-f2906e7c.entry.js.map +0 -1
  222. package/dist/cjs/arrow-right-a3be291c.js +0 -10
  223. package/dist/cjs/arrow-right-a3be291c.js.map +0 -1
  224. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +0 -191
  225. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +0 -1
  226. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +0 -161
  227. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +0 -1
  228. package/dist/cjs/atomic-recs-list.cjs.entry.js +0 -277
  229. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +0 -1
  230. package/dist/cjs/display-options-24763cf8.js +0 -284
  231. package/dist/cjs/display-options-24763cf8.js.map +0 -1
  232. package/dist/cjs/purify-d8fb6acd.js.map +0 -1
  233. package/dist/cjs/slot-utils-987a7dd6.js +0 -18
  234. package/dist/cjs/slot-utils-987a7dd6.js.map +0 -1
  235. package/dist/cjs/stencil-accessibility-utils-e64abd7b.js.map +0 -1
  236. package/dist/cjs/stencil-carousel-ba8e11b5.js +0 -53
  237. package/dist/cjs/stencil-carousel-ba8e11b5.js.map +0 -1
  238. package/dist/cjs/stencil-heading-e2df37e4.js +0 -15
  239. package/dist/cjs/stencil-heading-e2df37e4.js.map +0 -1
  240. package/dist/cjs/store-9d4daf92.js.map +0 -1
  241. package/dist/cjs/utils-2a022008.js +0 -72
  242. package/dist/cjs/utils-2a022008.js.map +0 -1
  243. package/dist/esm/arrow-right-cb365b01.js +0 -8
  244. package/dist/esm/arrow-right-cb365b01.js.map +0 -1
  245. package/dist/esm/atomic-insight-folded-result-list.entry.js +0 -187
  246. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +0 -1
  247. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +0 -157
  248. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +0 -1
  249. package/dist/esm/atomic-recs-list.entry.js +0 -273
  250. package/dist/esm/atomic-recs-list.entry.js.map +0 -1
  251. package/dist/esm/display-options-d03040a8.js +0 -277
  252. package/dist/esm/display-options-d03040a8.js.map +0 -1
  253. package/dist/esm/purify-985ba52e.js.map +0 -1
  254. package/dist/esm/slot-utils-df87a95a.js +0 -16
  255. package/dist/esm/slot-utils-df87a95a.js.map +0 -1
  256. package/dist/esm/stencil-accessibility-utils-69ea92b0.js.map +0 -1
  257. package/dist/esm/stencil-carousel-eac65a6c.js +0 -50
  258. package/dist/esm/stencil-carousel-eac65a6c.js.map +0 -1
  259. package/dist/esm/stencil-heading-adb44de7.js +0 -13
  260. package/dist/esm/stencil-heading-adb44de7.js.map +0 -1
  261. package/dist/esm/store-3bc9050f.js.map +0 -1
  262. package/dist/esm/utils-6771fbc6.js +0 -63
  263. package/dist/esm/utils-6771fbc6.js.map +0 -1
  264. package/dist/types/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.d.ts +0 -68
  265. package/dist/types/components/insight/smart-snippets/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.d.ts +0 -38
  266. /package/dist/atomic/{p-c0fbee64.js.map → p-9c5ec170.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{h as n,F as t,r,g as e}from"./p-ec1c5f46.js";import{NumberValue as i}from"@coveo/bueno";import{buildResultTemplatesManager as a,loadIPXActionsHistoryActions as o}from"@coveo/headless";import{buildRecommendationList as l,loadConfigurationActions as s,buildInteractiveResult as c}from"@coveo/headless/recommendation";import{I as d,B as m}from"./p-4a32511f.js";import{g as p,F as h,H as g}from"./p-9dfe5ab1.js";import{o as w,d as u,r as b}from"./p-b09433bb.js";import{c as v}from"./p-f321aab0.js";import{c as f}from"./p-81d6e743.js";import{B as y}from"./p-677f9c40.js";import"./p-1580513b.js";import"./p-4573c419.js";const x=t=>{if(!t.displayPlaceholders){return}switch(t.display){case"table":return n(z,{...t});default:return n(k,{...t})}};const k=t=>Array.from({length:t.numberOfPlaceholders},((r,e)=>n("atomic-result-placeholder",{key:`placeholder-${e}`,density:t.density,display:t.display||"list",imageSize:t.imageSize})));const z=t=>n("atomic-result-table-placeholder",{density:t.density,imageSize:t.imageSize,rows:t.numberOfPlaceholders});const R=(r,e)=>{if(!r.hasItems||!r.firstRequestExecuted){return}return n(t,null,...e)};class j{constructor(n,t){this.props=n;this.buildManager=t;this.templateManager=this.buildManager();this.registerResultTemplates()}async registerResultTemplates(){const n=await Promise.all(this.props.templateElements.map((async n=>{if(!("getTemplate"in n)){await customElements.whenDefined(n.tagName.toLowerCase())}const t=await n.getTemplate();if(!t){this.props.setTemplateHasError(true)}return t})));const t=(!n.length&&this.props.includeDefaultTemplate?[this.makeDefaultTemplate()]:[]).concat(n.filter((n=>n)));this.templateManager.registerTemplates(...t);this.props.setResultTemplateRegistered(true)}getTemplateContent(n){return this.templateManager.selectTemplate(n)}getLinkTemplateContent(n){return this.templateManager.selectLinkTemplate(n)}getEmptyLinkTemplateContent(){return document.createDocumentFragment()}get templatesRegistered(){return this.props.getResultTemplateRegistered()}get hasError(){return this.props.getTemplateHasError()}}class P extends j{constructor(n,t){super(n,(()=>a(n.bindings.engine)));this.gridCellLinkTarget=t}makeDefaultTemplate(){const n=document.createDocumentFragment();const t=document.createElement("atomic-result-link");n.appendChild(t);const r=document.createDocumentFragment();const e=`\n <atomic-result-link>\n ${this.gridCellLinkTarget?`<a slot="attributes" target="${this.gridCellLinkTarget}"></a>`:""}\n </atomic-result-link>\n `;const i=document.createElement("template");i.innerHTML=e.trim();r.appendChild(i.content);return{content:n,linkContent:r,conditions:[]}}}const C=({setRef:t,selectorForItem:r},e)=>{let i;return n("div",{part:"result-list-grid-clickable-container outline",ref:n=>{i=n;t(n)},onClick:n=>{n.preventDefault();i?.querySelector(r)?.click()}},...e)};const $=({display:t,listClasses:r},e)=>{if(t==="table"){return n(F,{listClasses:r},...e)}return n(F,{listClasses:r},n("div",{class:`list-root ${r}`,part:"result-list"},e))};const F=({listClasses:t},r)=>n("div",{class:`list-wrapper ${t}`},...r);const L="1024px";function O(n,t){const r=new RegExp(`\\(min-width: ${L}\\)|\\(width >= ${L}\\)`,"g");return n.replace(r,`(width >= ${t})`)}function T(n,t){const r=n.shadowRoot?.adoptedStyleSheets;if(!r||!r.length){return}const e=r[0];const i=Object.values(e.cssRules).map((n=>n.cssText)).join("");e.replaceSync(O(i,t))}function E(n,t){const r=n.shadowRoot?.querySelector("style");if(!r){return}r.textContent=O(r.textContent,t)}const I=["atomic-search-layout","atomic-insight-layout"];function S(n){const t=f(n,I.join(", "));if(!t?.mobileBreakpoint){return}if(t.mobileBreakpoint===L){return}T(n,t.mobileBreakpoint);E(n,t.mobileBreakpoint)}class q{constructor(n){this.props=n;this.props.store.setLoadingFlag(this.props.loadingFlag);this.props.store.state.resultList=this;this.updateBreakpointsOnce=w((()=>S(this.props.host)));this.props.nextNewItemTarget.registerFocusCallback((()=>{this.indexOfResultToFocus=undefined}))}updateBreakpoints(){this.updateBreakpointsOnce()}getResultId(n,t,r,e){return`${n}${t}${r}${e}`}setNewResultRef(n,t){if(t===0){this.firstResultEl=n}if(t!==this.indexOfResultToFocus){return}if(!n.children.length&&!n.shadowRoot?.children.length){return}this.indexOfResultToFocus=undefined;const r=p(n)??n;this.props.nextNewItemTarget.setTarget(r)}focusOnNextNewResult(){this.indexOfResultToFocus=this.props.getCurrentNumberOfItems();this.props.nextNewItemTarget.focusOnNextTarget()}async focusOnFirstResultAfterNextSearch(){await u();return new Promise((n=>{if(this.props.getIsLoading()){this.firstResultEl=undefined}const t=this.props.engineSubscribe((async()=>{await u();if(!this.props.getIsLoading()&&this.firstResultEl){const r=p(this.firstResultEl)??this.firstResultEl;this.props.nextNewItemTarget.setTarget(r);this.props.nextNewItemTarget.focus();this.firstResultEl=undefined;t();n()}}))}))}}function N(n){switch(n){case"grid":return"display-grid";case"table":return"display-table";default:return"display-list"}}function M(n){switch(n){case"comfortable":return"density-comfortable";case"compact":return"density-compact";default:return"density-normal"}}function A(n){switch(n){case"large":return"image-large";case"small":return"image-small";case"none":return"image-none";default:return"image-icon"}}function _(n,t,r,e,i){const a=D(n,t,r);if(e){a.push("loading")}if(i){a.push("placeholder")}return a.join(" ")}function D(n,t,r){const e=[N(n),M(t),A(r)];return e}const B=_;const H=`<svg viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M1.09619 10.5962L5.69239 6L1.09619 1.40381" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>\n</svg>\n`;const U=(r,e)=>{const i="w-10 h-10 grid justify-center items-center absolute top-1/2 -translate-y-1/2 z-1 shadow-lg group";const a="w-3.5 align-middle text-on-background group-hover:text-primary group-focus:text-primary-light";function o(){return n(y,{style:"outline-primary",ariaLabel:r.bindings.i18n.t("previous"),onClick:()=>r.previousPage(),part:"previous-button",class:`${i} -translate-x-1/2`},n("atomic-icon",{icon:H,class:`${a} rotate-180`}))}function l(){return n(y,{style:"outline-primary",ariaLabel:r.bindings.i18n.t("next"),onClick:()=>r.nextPage(),part:"next-button",class:`${i} right-0 translate-x-1/2`},n("atomic-icon",{icon:H,class:a}))}function s(){return n("ul",{part:"indicators",class:"mt-6 flex justify-center gap-2"},Array.from({length:r.numberOfPages},((t,e)=>{const i=e===r.currentPage%r.numberOfPages;return n("li",{part:`indicator ${i?"active-indicator":""}`,class:`h-1 w-12 rounded-md ${i?"bg-primary":"bg-neutral"} `})})))}return n(t,null,n("div",{class:"relative"},o(),e,l()),s())};const G='/*! 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 .atomic-grid-clickable-elements [part~=\'outline\'][part~=\'result-list-grid-clickable-container\'] {\n position: relative;\n border: 1px solid transparent;\n padding: 1rem;\n border-radius: 1rem;\n transition: all 0.12s ease-out;\n }\n .atomic-grid-clickable-elements [part~=\'outline\'][part~=\'result-list-grid-clickable-container\']:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n box-shadow: 0px 10px 25px var(--atomic-neutral);\n cursor: pointer;\n }\n .atomic-grid-clickable-elements [part=\'result-list-grid-clickable\']:focus-visible {\n border-radius: 2px;\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--atomic-primary);\n color: var(--atomic-primary);\n cursor: pointer;\n display: inline-block;\n text-decoration: underline;\n text-align: center;\n position: absolute;\n }\n .atomic-grid-clickable-elements [part=\'result-list-grid-clickable\']:not(:focus) {\n clip: rect(1px, 1px, 1px, 1px);\n overflow: hidden;\n position: absolute;\n padding: 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 @media not all and (width >= 1024px) {\n @media not all and (min-width: 768px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-large {\n grid-template-columns: minmax(auto, 35rem);\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large.density-comfortable [part~=\'outline\']::before {\n margin: 2rem 0;\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large.density-normal [part~=\'outline\']::before {\n margin: 1.5rem 0;\n }\n @media not all and (width >= 1024px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-large.density-normal [part~=\'outline\']::before {\n margin: 1.75rem 0;\n }\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large.density-compact [part~=\'outline\']::before {\n margin: 1rem 0;\n }\n @media not all and (width >= 1024px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-large.density-compact [part~=\'outline\']::before {\n margin: 1.5rem 0;\n }\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large [part~=\'outline\']::before {\n display: block;\n content: \' \';\n height: 1px;\n background-color: var(--atomic-neutral);\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large [part~=\'outline\']:first-of-type::before {\n display: none;\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large atomic-result-placeholder::before {\n background-color: transparent;\n }\n }\n @media (min-width: 768px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-large {\n grid-column-gap: 0.5rem;\n grid-row-gap: 0.5rem;\n grid-template-columns: 1fr 1fr;\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large [part~=\'outline\'] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n padding: 1rem;\n border-radius: 1rem;\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-large atomic-result-placeholder {\n border-color: transparent;\n }\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-small [part~=\'outline\'], .atomic-grid-display-mobile .list-root.display-grid.image-icon [part~=\'outline\'], .atomic-grid-display-mobile .list-root.display-grid.image-none [part~=\'outline\'] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n padding: 1rem;\n border-radius: 1rem;\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-small atomic-result-placeholder, .atomic-grid-display-mobile .list-root.display-grid.image-icon atomic-result-placeholder, .atomic-grid-display-mobile .list-root.display-grid.image-none atomic-result-placeholder {\n border-color: transparent;\n }\n .atomic-grid-display-mobile .list-root.display-grid.image-small, .atomic-grid-display-mobile .list-root.display-grid.image-icon, .atomic-grid-display-mobile .list-root.display-grid.image-none {\n grid-column-gap: 0.5rem;\n grid-row-gap: 0.5rem;\n }\n @media not all and (min-width: 640px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-small, .atomic-grid-display-mobile .list-root.display-grid.image-icon, .atomic-grid-display-mobile .list-root.display-grid.image-none {\n grid-template-columns: minmax(0, 1fr);\n }\n }\n @media (min-width: 768px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-small, .atomic-grid-display-mobile .list-root.display-grid.image-icon, .atomic-grid-display-mobile .list-root.display-grid.image-none {\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n }\n }\n @media (width >= 1024px) {\n .atomic-grid-display-mobile .list-root.display-grid.image-small, .atomic-grid-display-mobile .list-root.display-grid.image-icon, .atomic-grid-display-mobile .list-root.display-grid.image-none {\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n }\n }\n }\n .atomic-list-with-dividers.density-comfortable [part~=\'outline\']::before {\n margin: 2rem 0;\n }\n .atomic-list-with-dividers.density-normal [part~=\'outline\']::before {\n margin: 1.5rem 0;\n }\n @media not all and (width >= 1024px) {\n .atomic-list-with-dividers.density-normal [part~=\'outline\']::before {\n margin: 1.75rem 0;\n }\n }\n .atomic-list-with-dividers.density-compact [part~=\'outline\']::before {\n margin: 1rem 0;\n }\n @media not all and (width >= 1024px) {\n .atomic-list-with-dividers.density-compact [part~=\'outline\']::before {\n margin: 1.5rem 0;\n }\n }\n .atomic-list-with-dividers [part~=\'outline\']::before {\n display: block;\n content: \' \';\n height: 1px;\n background-color: var(--atomic-neutral);\n }\n .atomic-list-with-dividers [part~=\'outline\']:first-of-type::before {\n display: none;\n }\n .atomic-list-with-dividers atomic-result-placeholder::before {\n background-color: transparent;\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 .atomic-grid-display-common .list-wrapper {\n word-break: break-word;\n }\n .atomic-grid-display-common .list-root.display-grid {\n display: grid;\n justify-content: space-evenly;\n }\n .atomic-grid-display-common .list-root.display-grid .result-component {\n height: 100%;\n box-sizing: border-box;\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-\\[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-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 .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 .atomic-result-table {\n min-width: 100%;\n border-spacing: 0;\n border-collapse: separate;\n }\n .atomic-result-table th, .atomic-result-table td {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n font-family: var(--atomic-font-family);\n font-size: var(--atomic-text-sm);\n line-height: var(--tw-leading, calc(1.25 / 0.875));\n line-height: 1rem;\n white-space: nowrap;\n }\n .atomic-result-table th:not(:first-child), .atomic-result-table td:not(:first-child) {\n border-left: none;\n }\n .atomic-result-table th:first-child, .atomic-result-table td:first-child {\n min-width: 19rem;\n }\n .atomic-result-table th {\n background-color: var(--atomic-neutral-light);\n border-bottom: none;\n font-weight: bold;\n color: black;\n padding: 1rem var(--padding);\n text-align: left;\n }\n .atomic-result-table th:first-child {\n border-top-left-radius: var(--atomic-border-radius-xl);\n }\n .atomic-result-table th:last-child {\n border-top-right-radius: var(--atomic-border-radius-xl);\n }\n .atomic-result-table td {\n color: var(--atomic-neutral-dark);\n border-top: none;\n vertical-align: top;\n padding: var(--padding);\n }\n .atomic-result-table.density-comfortable {\n --padding: 2rem;\n }\n .atomic-result-table.density-normal {\n --padding: 1.5rem;\n }\n .atomic-result-table.density-compact {\n --padding: 1rem;\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 @media (width >= 1024px) {\n .atomic-grid-display-desktop .list-root.display-grid {\n grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));\n }\n .atomic-grid-display-desktop .list-root.display-grid.density-comfortable {\n grid-row-gap: 4rem;\n grid-column-gap: 1.5rem;\n }\n .atomic-grid-display-desktop .list-root.display-grid.density-normal, .atomic-grid-display-desktop .list-root.display-grid.density-compact {\n grid-row-gap: 3rem;\n grid-column-gap: 1.5rem;\n }\n .atomic-grid-display-desktop .list-root.display-grid.image-large {\n grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));\n }\n @media not all and (width >= 1024px) {\n .atomic-grid-display-desktop .list-root.display-grid.image-small {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n @media (width >= 1024px) {\n .atomic-grid-display-desktop .list-root.display-grid.image-small {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n @media (min-width: 1280px) {\n .atomic-grid-display-desktop .list-root.display-grid.image-small {\n grid-template-columns: repeat(4, 1fr);\n }\n }\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 .atomic-grid-with-cards [part~=\'outline\'] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n padding: 1rem;\n border-radius: 1rem;\n }\n .atomic-grid-with-cards atomic-result-placeholder {\n border-color: transparent;\n }\n .atomic-grid-with-cards {\n grid-column-gap: 0.5rem;\n grid-row-gap: 0.5rem;\n }\n .atomic-list-with-cards [part~=\'outline\'] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n padding: 1rem;\n border-radius: 1rem;\n }\n .atomic-list-with-cards atomic-result-placeholder {\n border-color: transparent;\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 .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.list-wrapper.placeholder .result-component {\n display: none;\n}\n.list-wrapper.placeholder table.list-root {\n display: none;\n}\n.list-wrapper:not(.placeholder) atomic-result-placeholder {\n display: none;\n}\n.list-wrapper:not(.placeholder) atomic-result-table-placeholder {\n display: none;\n}\n.list-root.loading {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n@keyframes pulse {\n 0%, 100% {\n opacity: 0.6;\n }\n 50% {\n opacity: 0.2;\n }\n}\n:host [part~=\'outline\'][part~=\'result-list-grid-clickable-container\'] {\n position: relative;\n border: 1px solid transparent;\n padding: 1rem;\n border-radius: 1rem;\n transition: all 0.12s ease-out;\n}\n:host [part~=\'outline\'][part~=\'result-list-grid-clickable-container\']:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n box-shadow: 0px 10px 25px var(--atomic-neutral);\n cursor: pointer;\n}\n:host [part=\'result-list-grid-clickable\']:focus-visible {\n border-radius: 2px;\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--atomic-primary);\n color: var(--atomic-primary);\n cursor: pointer;\n display: inline-block;\n text-decoration: underline;\n text-align: center;\n position: absolute;\n}\n:host [part=\'result-list-grid-clickable\']:not(:focus) {\n clip: rect(1px, 1px, 1px, 1px);\n overflow: hidden;\n position: absolute;\n padding: 0;\n}\n:host .list-wrapper {\n word-break: break-word;\n}\n:host .list-root.display-grid {\n display: grid;\n justify-content: space-evenly;\n}\n:host .list-root.display-grid .result-component {\n height: 100%;\n box-sizing: border-box;\n}\n:host {\n display: block;\n}\n:host .list-root [part~=\'outline\'] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n padding: 1rem;\n border-radius: 1rem;\n}\n:host .list-root atomic-result-placeholder {\n border-color: transparent;\n}\n:host .list-root {\n grid-column-gap: 0.5rem;\n grid-row-gap: 0.5rem;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n}\n:host [part=\'label\'] {\n font-family: var(--atomic-font-family);\n font-size: var(--atomic-text-2xl);\n line-height: var(--tw-leading, calc(2 / 1.5));\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n}\n:host atomic-result:not(.hydrated) {\n visibility: hidden;\n}\n@property --tw-border-style {\n syntax: "*";\n inherits: false;\n initial-value: solid;\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-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@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-border-style: solid;\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-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: "";\n }\n }\n}\n';const W=G;var J=undefined&&undefined.__decorate||function(n,t,r,e){var i=arguments.length,a=i<3?t:e===null?e=Object.getOwnPropertyDescriptor(t,r):e,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(n,t,r,e);else for(var l=n.length-1;l>=0;l--)if(o=n[l])a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a;return i>3&&a&&Object.defineProperty(t,r,a),a};const K=class{constructor(n){r(this,n);this.loadingFlag=b("firstRecommendationLoaded-");this.isAppLoaded=false;this.resultTemplateRegistered=false;this.templateHasError=false;this.currentPage=0;this.recommendation="Recommendation";this.display="list";this.density="normal";this.imageSize="small";this.numberOfRecommendations=10;this.headingLevel=0;this.error=undefined;this.isAppLoaded=false;this.resultTemplateRegistered=false;this.templateHasError=false;this.currentPage=0;this.recommendationListState=undefined;this.recommendation="Recommendation";this.display="list";this.density="normal";this.imageSize="small";this.numberOfRecommendations=10;this.numberOfRecommendationsPerPage=undefined;this.label=undefined;this.headingLevel=0}async watchNumberOfRecommendationsPerPage(){this.currentPage=0}async setRenderFunction(n){this.itemRenderingFunction=n}async previousPage(){this.currentPage=this.currentPage-1<0?this.numberOfPages-1:this.currentPage-1}async nextPage(){this.currentPage=(this.currentPage+1)%this.numberOfPages}initialize(){this.validateNumberOfRecommendationsPerPage();this.validateRecommendationIdentifier();this.updateOriginLevel2();this.recommendationList=l(this.bindings.engine,{options:{id:this.recommendation,numberOfRecommendations:this.numberOfRecommendations}});this.itemTemplateProvider=new P({includeDefaultTemplate:true,templateElements:Array.from(this.host.querySelectorAll("atomic-recs-result-template")),getResultTemplateRegistered:()=>this.resultTemplateRegistered,getTemplateHasError:()=>this.templateHasError,setResultTemplateRegistered:n=>{this.resultTemplateRegistered=n},setTemplateHasError:n=>{this.templateHasError=n},bindings:this.bindings});this.itemListCommon=new q({engineSubscribe:this.bindings.engine.subscribe,getCurrentNumberOfItems:()=>this.recommendationListState.recommendations.length,getIsLoading:()=>this.recommendationListState.isLoading,host:this.host,loadingFlag:this.loadingFlag,nextNewItemTarget:this.focusTarget,store:this.bindings.store});this.actionsHistoryActions=o(this.bindings.engine);v(this.bindings.store,(n=>{this.isAppLoaded=n}))}get focusTarget(){if(!this.nextNewResultTarget){this.nextNewResultTarget=new h(this)}return this.nextNewResultTarget}get recommendationListStateWithAugment(){return{...this.recommendationListState,firstRequestExecuted:this.recommendationListState.searchResponseId!=="",hasError:this.recommendationListState.error!==null,hasItems:this.recommendationListState.recommendations.length!==0,results:this.subsetRecommendations}}validateNumberOfRecommendationsPerPage(){const n=new i({min:1,max:this.numberOfRecommendations-1}).validate(this.numberOfRecommendationsPerPage);if(n){this.error=new Error(`The "numberOfRecommendationsPerPage" is invalid: ${n}`)}}validateRecommendationIdentifier(){const n=document.querySelectorAll(`atomic-ipx-recs-list[recommendation="${this.recommendation}"]`);if(n.length>1){this.bindings.engine.logger.warn(`There are multiple atomic-ipx-recs-list in this page with the same recommendation property "${this.recommendation}". Make sure to set a different recommendation property for each.`)}}updateOriginLevel2(){if(this.label){const n=s(this.bindings.engine).setOriginLevel2({originLevel2:this.label});this.bindings.engine.dispatch(n)}}renderHeading(){if(!this.label){return}if(this.recommendationListStateWithAugment.hasError){return}if(this.recommendationListStateWithAugment.firstRequestExecuted&&!this.recommendationListStateWithAugment.hasItems){return}return n(g,{level:this.headingLevel,part:"label",class:"m-0 mb-2"},this.bindings.i18n.t(this.label))}get currentIndex(){return Math.abs(this.currentPage*this.numberOfRecommendationsPerPage%this.recommendationListState.recommendations.length)}get subsetRecommendations(){if(!this.numberOfRecommendationsPerPage){return this.recommendationListState.recommendations}return this.recommendationListState.recommendations.slice(this.currentIndex,this.currentIndex+this.numberOfRecommendationsPerPage)}get numberOfPages(){return Math.ceil(this.recommendationListState.recommendations.length/this.numberOfRecommendationsPerPage)}get hasPagination(){return!!this.numberOfRecommendationsPerPage}get shouldRenderPagination(){return this.hasPagination&&this.recommendationListStateWithAugment.hasItems}async onSelect(n,t){if(n.raw.permanentid&&this.actionsHistoryActions){const t=this.actionsHistoryActions.addPageViewEntryInActionsHistory(n.raw.permanentid);this.bindings.engine.dispatch(t)}t()}getPropsForAtomicRecsResult(n){const t=c(this.bindings.engine,{options:{result:n}});const r=t.select;t.select=()=>{this.onSelect(n,r)};const e=this.itemTemplateProvider.getLinkTemplateContent(n);return{interactiveResult:t,result:n,renderingFunction:this.itemRenderingFunction,loadingFlag:this.loadingFlag,key:this.itemListCommon.getResultId(n.uniqueId,this.recommendationListState.searchResponseId,this.density,this.imageSize),content:this.itemTemplateProvider.getTemplateContent(n),linkContent:e,stopPropagation:!!e,store:this.bindings.store,density:this.density,display:this.display,imageSize:this.imageSize}}computeListDisplayClasses(){const n=!this.isAppLoaded;return B("grid",this.density,this.imageSize,this.recommendationListState.isLoading,n)}renderAsGrid(t,r){const e=this.getPropsForAtomicRecsResult(t);return n(C,{selectorForItem:"atomic-recs-result",item:t,...e.interactiveResult,setRef:n=>n&&this.itemListCommon.setNewResultRef(n,r)},n("atomic-recs-result",{...e}))}renderListOfRecommendations(){this.itemListCommon.updateBreakpoints();const t=this.computeListDisplayClasses();if(!this.resultTemplateRegistered||this.itemTemplateProvider.hasError||this.error){return}return n($,{listClasses:t,display:"grid"},n(x,{density:this.density,display:this.display,imageSize:this.imageSize,displayPlaceholders:!this.isAppLoaded,numberOfPlaceholders:this.numberOfRecommendationsPerPage??this.numberOfRecommendations}),n(R,{...this.recommendationListStateWithAugment},this.subsetRecommendations.map(((n,t)=>this.renderAsGrid(n,t)))))}render(){return n(t,{key:"44fb01181cbbd56354548809a904eb5b75572313"},this.renderHeading(),this.shouldRenderPagination?n(U,{bindings:this.bindings,currentPage:this.currentPage,nextPage:()=>this.nextPage(),previousPage:()=>this.previousPage(),numberOfPages:this.numberOfPages},this.renderListOfRecommendations()):this.renderListOfRecommendations())}get host(){return e(this)}static get watchers(){return{numberOfRecommendationsPerPage:["watchNumberOfRecommendationsPerPage"]}}};J([d()],K.prototype,"bindings",void 0);J([m("recommendationList")],K.prototype,"recommendationListState",void 0);K.style=W;export{K as atomic_ipx_recs_list};
2
+ //# sourceMappingURL=p-eea2c139.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ResultsPlaceholdersGuard","props","displayPlaceholders","display","h","TableDisplayResultsPlaceholder","ResultsPlaceholder","Array","from","length","numberOfPlaceholders","_","i","key","density","imageSize","rows","ItemDisplayGuard","children","hasItems","firstRequestExecuted","Fragment","TemplateProvider","constructor","buildManager","this","templateManager","registerResultTemplates","customTemplates","Promise","all","templateElements","map","async","resultTemplateElement","customElements","whenDefined","tagName","toLowerCase","template","getTemplate","setTemplateHasError","templates","includeDefaultTemplate","makeDefaultTemplate","concat","filter","registerTemplates","setResultTemplateRegistered","getTemplateContent","item","selectTemplate","getLinkTemplateContent","selectLinkTemplate","getEmptyLinkTemplateContent","document","createDocumentFragment","templatesRegistered","getResultTemplateRegistered","hasError","getTemplateHasError","ResultTemplateProvider","gridCellLinkTarget","super","buildResultTemplatesManager","bindings","engine","content","linkEl","createElement","appendChild","linkContent","linkMarkup","linkTemplate","innerHTML","trim","conditions","DisplayGrid","setRef","selectorForItem","ref","part","element","onClick","event","preventDefault","querySelector","click","DisplayWrapper","listClasses","ListWrapper","class","DEFAULT_MOBILE_BREAKPOINT","replaceMediaQuery","style","mobileBreakpoint","regex","RegExp","replace","replaceStyleSheet","stylesheets","shadowRoot","adoptedStyleSheets","stylesheet","Object","values","cssRules","rule","cssText","join","replaceSync","replateStyleContent","breakpoint","styleTag","textContent","layouts","updateBreakpoints","layout","closest","ItemListCommon","store","setLoadingFlag","loadingFlag","state","resultList","updateBreakpointsOnce","once","host","nextNewItemTarget","registerFocusCallback","indexOfResultToFocus","undefined","getResultId","uniqueIdOnResult","searchResponseId","setNewResultRef","resultIndex","firstResultEl","elementToFocus","getFirstFocusableDescendant","setTarget","focusOnNextNewResult","getCurrentNumberOfItems","focusOnNextTarget","focusOnFirstResultAfterNextSearch","defer","resolve","getIsLoading","unsub","engineSubscribe","focus","getDisplayClass","getDensityClass","getImageClass","image","getItemListDisplayClasses","isLoading","isAppLoading","classes","getItemDisplayClasses","push","getItemListDisplayClassesImport","Carousel","commonPaginationClasses","commonArrowClasses","renderPreviousButton","Button","ariaLabel","i18n","t","previousPage","icon","ArrowRight","renderNextButton","nextPage","renderIndicators","numberOfPages","index","isActive","currentPage","atomicIpxRecsListCss","AtomicIpxRecsListStyle0","AtomicIPXRecsList","randomID","isAppLoaded","resultTemplateRegistered","templateHasError","recommendation","numberOfRecommendations","headingLevel","watchNumberOfRecommendationsPerPage","setRenderFunction","resultRenderingFunction","itemRenderingFunction","initialize","validateNumberOfRecommendationsPerPage","validateRecommendationIdentifier","updateOriginLevel2","recommendationList","buildRecommendationList","options","id","itemTemplateProvider","querySelectorAll","value","itemListCommon","subscribe","recommendationListState","recommendations","focusTarget","actionsHistoryActions","loadIPXActionsHistoryActions","createAppLoadedListener","nextNewResultTarget","FocusTargetController","recommendationListStateWithAugment","error","results","subsetRecommendations","msg","NumberValue","min","max","validate","numberOfRecommendationsPerPage","Error","recListWithRecommendation","logger","warn","label","action","loadConfigurationActions","setOriginLevel2","originLevel2","dispatch","renderHeading","Heading","level","currentIndex","Math","abs","slice","ceil","hasPagination","shouldRenderPagination","onSelect","originalSelect","raw","permanentid","addPageViewEntryInActionsHistory","getPropsForAtomicRecsResult","interactiveResult","buildRecsInteractiveResult","result","select","renderingFunction","uniqueId","stopPropagation","computeListDisplayClasses","renderAsGrid","propsForAtomicRecsResult","renderListOfRecommendations","render","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx","src/components/common/item-list/stencil-item-display-guard.tsx","src/components/common/template-provider/template-provider.ts","src/components/common/item-list/result-template-provider.ts","src/components/common/item-list/stencil-display-grid.tsx","src/components/common/item-list/stencil-display-wrapper.tsx","src/utils/replace-breakpoint-utils.ts","src/components/common/item-list/stencil-item-list-common.tsx","src/components/common/layout/item-layout-utils.ts","src/components/common/layout/display-options.ts","src/components/common/stencil-carousel.tsx","src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.pcss?tag=atomic-ipx-recs-list&encapsulation=shadow","src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n","import {FunctionalComponent, h, Fragment} from '@stencil/core';\n\ninterface ItemDisplayGuardProps {\n firstRequestExecuted: boolean;\n hasItems: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ItemDisplayGuard: FunctionalComponent<ItemDisplayGuardProps> = (\n props,\n children\n) => {\n if (!props.hasItems || !props.firstRequestExecuted) {\n return;\n }\n\n return <Fragment>{...children}</Fragment>;\n};\n","import type {Template, TemplatesManager} from '@coveo/headless';\n\nexport interface TemplateElement<ItemType> extends HTMLElement {\n getTemplate(): Promise<Template<ItemType, DocumentFragment> | null>;\n}\n\nexport interface TemplateProviderProps<ItemType> {\n getResultTemplateRegistered(): boolean;\n setResultTemplateRegistered(value: boolean): void;\n getTemplateHasError(): boolean;\n setTemplateHasError(value: boolean): void;\n templateElements: TemplateElement<ItemType>[];\n includeDefaultTemplate: boolean;\n}\n\nexport abstract class TemplateProvider<ItemType> {\n private templateManager: TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n protected abstract makeDefaultTemplate(): Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n constructor(\n private props: TemplateProviderProps<ItemType>,\n private buildManager: () => TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >\n ) {\n this.templateManager = this.buildManager();\n this.registerResultTemplates();\n }\n\n private async registerResultTemplates() {\n const customTemplates = await Promise.all(\n this.props.templateElements.map(async (resultTemplateElement) => {\n if (!('getTemplate' in resultTemplateElement)) {\n await customElements.whenDefined(\n (resultTemplateElement as HTMLElement).tagName.toLowerCase()\n );\n }\n\n const template = await resultTemplateElement.getTemplate();\n if (!template) {\n this.props.setTemplateHasError(true);\n }\n return template;\n })\n );\n\n const templates = (\n !customTemplates.length && this.props.includeDefaultTemplate\n ? [this.makeDefaultTemplate()]\n : []\n ).concat(\n customTemplates.filter((template) => template) as Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >[]\n );\n\n this.templateManager.registerTemplates(...templates);\n this.props.setResultTemplateRegistered(true);\n }\n\n public getTemplateContent(item: ItemType) {\n return this.templateManager.selectTemplate(item)!;\n }\n\n public getLinkTemplateContent(item: ItemType) {\n return this.templateManager.selectLinkTemplate(item)!;\n }\n\n public getEmptyLinkTemplateContent() {\n return document.createDocumentFragment();\n }\n\n public get templatesRegistered() {\n return this.props.getResultTemplateRegistered();\n }\n\n public get hasError() {\n return this.props.getTemplateHasError();\n }\n}\n","import {\n buildResultTemplatesManager,\n type Result,\n type Template,\n} from '@coveo/headless';\nimport type {ItemTarget} from '@/src/components/common/layout/item-layout-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport {\n TemplateProvider,\n type TemplateProviderProps,\n} from '../template-provider/template-provider';\n// TODO: add this import once this class isn't used in Stencil components anymore\n// import '@/src/components/search/atomic-result-link/atomic-result-link';\n\nexport class ResultTemplateProvider extends TemplateProvider<Result> {\n constructor(\n props: TemplateProviderProps<Result> & {bindings: AnyBindings},\n private gridCellLinkTarget?: ItemTarget\n ) {\n super(props, () => buildResultTemplatesManager(props.bindings.engine));\n }\n\n // TODO: Add JSX support for default template\n protected makeDefaultTemplate(): Template<\n Result,\n DocumentFragment,\n DocumentFragment\n > {\n const content = document.createDocumentFragment();\n const linkEl = document.createElement('atomic-result-link');\n content.appendChild(linkEl);\n\n const linkContent = document.createDocumentFragment();\n const linkMarkup = `\n <atomic-result-link>\n ${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}\n </atomic-result-link>\n `;\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = linkMarkup.trim();\n linkContent.appendChild(linkTemplate.content);\n return {\n content,\n linkContent,\n conditions: [],\n };\n }\n}\n","// The Lit equivalent of this file is grid-layout.ts\nimport {FunctionalComponent, h} from '@stencil/core';\n\ninterface DisplayGridProps {\n selectorForItem: string;\n item: {clickUri: string; title: string};\n setRef: (element?: HTMLElement) => void;\n select: () => void;\n beginDelayedSelect: () => void;\n cancelPendingSelect: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayGrid: FunctionalComponent<DisplayGridProps> = (\n {setRef, selectorForItem},\n children\n) => {\n let ref: HTMLElement | undefined;\n return (\n <div\n part=\"result-list-grid-clickable-container outline\"\n ref={(element) => {\n ref = element;\n setRef(element);\n }}\n onClick={(event) => {\n event.preventDefault();\n (ref?.querySelector(selectorForItem) as HTMLElement)?.click();\n }}\n >\n {...children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {ItemDisplayLayout} from '../layout/display-options.js';\n\ninterface DisplayWrapperProps {\n display: ItemDisplayLayout;\n listClasses: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayWrapper: FunctionalComponent<DisplayWrapperProps> = (\n {display, listClasses},\n children\n) => {\n if (display === 'table') {\n return <ListWrapper listClasses={listClasses}>{...children}</ListWrapper>;\n }\n\n return (\n <ListWrapper listClasses={listClasses}>\n <div class={`list-root ${listClasses}`} part=\"result-list\">\n {children}\n </div>\n </ListWrapper>\n );\n};\n\nconst ListWrapper: FunctionalComponent<\n Pick<DisplayWrapperProps, 'listClasses'>\n> = ({listClasses}, children) => {\n return <div class={`list-wrapper ${listClasses}`}>{...children}</div>;\n};\n","import {closest} from './dom-utils';\n\nexport const DEFAULT_MOBILE_BREAKPOINT = '1024px';\n\nfunction replaceMediaQuery(style: string, mobileBreakpoint: string) {\n const regex = new RegExp(\n `\\\\(min-width: ${DEFAULT_MOBILE_BREAKPOINT}\\\\)|\\\\(width >= ${DEFAULT_MOBILE_BREAKPOINT}\\\\)`,\n 'g'\n );\n return style.replace(regex, `(width >= ${mobileBreakpoint})`);\n}\n\nfunction replaceStyleSheet(element: HTMLElement, mobileBreakpoint: string) {\n const stylesheets = element.shadowRoot?.adoptedStyleSheets;\n if (!stylesheets || !stylesheets.length) {\n return;\n }\n\n const stylesheet = stylesheets[0];\n const style = Object.values(stylesheet.cssRules)\n .map((rule) => rule.cssText)\n .join('');\n stylesheet.replaceSync(replaceMediaQuery(style, mobileBreakpoint));\n}\n\nfunction replateStyleContent(element: HTMLElement, breakpoint: string) {\n const styleTag = element.shadowRoot?.querySelector('style');\n if (!styleTag) {\n return;\n }\n\n styleTag.textContent = replaceMediaQuery(styleTag.textContent!, breakpoint);\n}\n\nconst layouts = ['atomic-search-layout', 'atomic-insight-layout'];\ntype LayoutElement = HTMLElement & {mobileBreakpoint: string};\nexport function updateBreakpoints(element: HTMLElement) {\n const layout: LayoutElement | null = closest(element, layouts.join(', '));\n\n if (!layout?.mobileBreakpoint) {\n return;\n }\n\n if (layout.mobileBreakpoint === DEFAULT_MOBILE_BREAKPOINT) {\n return;\n }\n\n replaceStyleSheet(element, layout.mobileBreakpoint);\n replateStyleContent(element, layout.mobileBreakpoint);\n}\n","import {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {\n FocusTargetController,\n getFirstFocusableDescendant,\n} from '../../../utils/stencil-accessibility-utils';\nimport {defer, once} from '../../../utils/utils';\nimport {CommerceStore} from '../../commerce/atomic-commerce-interface/store';\nimport {CommerceRecommendationStore} from '../../commerce/atomic-commerce-recommendation-interface/store';\nimport {InsightStore} from '../../insight/atomic-insight-interface/store';\nimport {RecsStore} from '../../recommendations/atomic-recs-interface/store';\nimport {SearchStore} from '../../search/atomic-search-interface/store';\nimport {AnyItem} from './unfolded-item';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\n\nexport const resultComponentClass = 'result-component';\n\nexport type ItemRenderingFunction<SpecificResult extends AnyItem = AnyItem> =\n | ((\n result: SpecificResult,\n root: HTMLElement,\n linkContainer?: HTMLElement\n ) => string)\n | undefined;\n\nexport interface ItemListCommonProps {\n store:\n | CommerceStore\n | CommerceRecommendationStore\n | RecsStore\n | InsightStore\n | SearchStore;\n loadingFlag: string;\n host: HTMLElement;\n nextNewItemTarget: FocusTargetController;\n getCurrentNumberOfItems: () => number;\n getIsLoading: () => boolean;\n engineSubscribe: (cb: () => void) => () => void;\n}\n\nexport class ItemListCommon {\n private indexOfResultToFocus?: number;\n private firstResultEl?: HTMLElement;\n private updateBreakpointsOnce: () => void;\n\n constructor(private props: ItemListCommonProps) {\n this.props.store.setLoadingFlag(this.props.loadingFlag);\n this.props.store.state.resultList = this;\n this.updateBreakpointsOnce = once(() => updateBreakpoints(this.props.host));\n this.props.nextNewItemTarget.registerFocusCallback(() => {\n this.indexOfResultToFocus = undefined;\n });\n }\n\n public updateBreakpoints() {\n this.updateBreakpointsOnce();\n }\n\n public getResultId(\n uniqueIdOnResult: string,\n searchResponseId: string,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n return `${uniqueIdOnResult}${searchResponseId}${density}${imageSize}`;\n }\n\n public setNewResultRef(element: HTMLElement, resultIndex: number) {\n if (resultIndex === 0) {\n this.firstResultEl = element;\n }\n if (resultIndex !== this.indexOfResultToFocus) {\n return;\n }\n\n if (!element.children.length && !element.shadowRoot?.children.length) {\n return;\n }\n\n this.indexOfResultToFocus = undefined;\n const elementToFocus = getFirstFocusableDescendant(element) ?? element;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n }\n\n public focusOnNextNewResult() {\n this.indexOfResultToFocus = this.props.getCurrentNumberOfItems();\n this.props.nextNewItemTarget.focusOnNextTarget();\n }\n\n public async focusOnFirstResultAfterNextSearch() {\n await defer();\n return new Promise<void>((resolve) => {\n if (this.props.getIsLoading()) {\n this.firstResultEl = undefined;\n }\n\n const unsub = this.props.engineSubscribe(async () => {\n await defer();\n if (!this.props.getIsLoading() && this.firstResultEl) {\n const elementToFocus =\n getFirstFocusableDescendant(this.firstResultEl) ??\n this.firstResultEl;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n this.props.nextNewItemTarget.focus();\n this.firstResultEl = undefined;\n unsub();\n resolve();\n }\n });\n });\n }\n}\n","import {\n containsSections,\n type ItemSectionTagName,\n} from './item-layout-sections';\n\nexport interface ItemLayoutConfig {\n children: HTMLCollection;\n display: ItemDisplayLayout;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n}\n\nexport type ItemDisplayBasicLayout = 'list' | 'grid';\nexport type ItemDisplayLayout = ItemDisplayBasicLayout | 'table';\nexport type ItemDisplayDensity = 'comfortable' | 'normal' | 'compact';\nexport type ItemDisplayImageSize = 'large' | 'small' | 'icon' | 'none';\nexport type ItemTarget = '_self' | '_blank' | '_parent' | '_top';\n\nfunction getDisplayClass(display: ItemDisplayLayout) {\n switch (display) {\n case 'grid':\n return 'display-grid';\n case 'table':\n return 'display-table';\n default:\n return 'display-list';\n }\n}\n\nfunction getDensityClass(density: ItemDisplayDensity) {\n switch (density) {\n case 'comfortable':\n return 'density-comfortable';\n case 'compact':\n return 'density-compact';\n default:\n return 'density-normal';\n }\n}\n\nfunction getImageClass(image: ItemDisplayImageSize) {\n switch (image) {\n case 'large':\n return 'image-large';\n case 'small':\n return 'image-small';\n case 'none':\n return 'image-none';\n default:\n return 'image-icon';\n }\n}\n\nexport function getItemListDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize,\n isLoading: boolean,\n isAppLoading: boolean\n) {\n const classes = getItemDisplayClasses(display, density, image);\n\n if (isLoading) {\n classes.push('loading');\n }\n\n if (isAppLoading) {\n classes.push('placeholder');\n }\n return classes.join(' ');\n}\n\nexport function getItemDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize\n) {\n const classes = [\n getDisplayClass(display),\n getDensityClass(density),\n getImageClass(image),\n ];\n return classes;\n}\n\nfunction getSection(\n children: HTMLCollection,\n section: ItemSectionTagName\n): Element | undefined {\n return Array.from(children).find(\n (element) => element.tagName.toLowerCase() === section\n );\n}\n\nfunction getImageSizeFromSections(\n children: HTMLCollection\n): ItemDisplayImageSize | undefined {\n const imageSize = getSection(\n children,\n 'atomic-result-section-visual'\n )?.getAttribute('image-size');\n if (!imageSize) {\n return undefined;\n }\n return imageSize as ItemDisplayImageSize;\n}\n\nexport function getItemLayoutClasses(\n config: ItemLayoutConfig,\n HTMLContent?: string\n): string[] {\n const classes = getItemDisplayClasses(\n config.display,\n config.density,\n getImageSizeFromSections(config.children) ?? config.imageSize\n );\n if (\n HTMLContent\n ? containsSections(HTMLContent)\n : containsSections(config.children)\n ) {\n classes.push('with-sections');\n }\n return classes;\n}\n","import {\n getItemDisplayClasses as getItemDisplayClassesImport,\n getItemLayoutClasses,\n getItemListDisplayClasses as getItemListDisplayClassesImport,\n type ItemDisplayBasicLayout as ItemDisplayBasicLayoutImport,\n type ItemDisplayDensity as ItemDisplayDensityImport,\n type ItemDisplayImageSize as ItemDisplayImageSizeImport,\n type ItemDisplayLayout as ItemDisplayLayoutImport,\n type ItemTarget as ItemTargetImport,\n} from './item-layout-utils';\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayBasicLayout = ItemDisplayBasicLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayDensity = ItemDisplayDensityImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayImageSize = ItemDisplayImageSizeImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayLayout = ItemDisplayLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemTarget = ItemTargetImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemDisplayClasses: typeof getItemDisplayClassesImport =\n getItemDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemListDisplayClasses: typeof getItemListDisplayClassesImport =\n getItemListDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, use `getItemLayoutClasses` with `ItemLayoutConfig` from `packages/atomic/src/components/common/layout/item-layout-utils.ts` instead.\n */\nexport class ItemLayout {\n private children: HTMLCollection;\n private density: ItemDisplayDensity;\n private imageSize: ItemDisplayImageSize;\n private display: ItemDisplayLayout;\n\n constructor(\n children: HTMLCollection,\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n this.children = children;\n this.display = display;\n this.density = density;\n this.imageSize = imageSize;\n }\n\n public getClasses(HTMLContent?: string) {\n return getItemLayoutClasses(\n {\n children: this.children,\n display: this.display,\n density: this.density,\n imageSize: this.imageSize,\n },\n HTMLContent\n );\n }\n}\n","import {h, FunctionalComponent, Fragment} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport ArrowRight from '../../images/arrow-right.svg';\nimport {AnyBindings} from './interface/bindings.js';\nimport {Button} from './stencil-button.js';\n\ninterface CarouselProps {\n bindings: AnyBindings;\n previousPage(): void;\n nextPage(): void;\n numberOfPages: number;\n currentPage: number;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const Carousel: FunctionalComponent<\n CarouselProps & JSXBase.HTMLAttributes<HTMLHeadingElement>\n> = (props, children) => {\n const commonPaginationClasses =\n 'w-10 h-10 grid justify-center items-center absolute top-1/2 -translate-y-1/2 z-1 shadow-lg group';\n const commonArrowClasses =\n 'w-3.5 align-middle text-on-background group-hover:text-primary group-focus:text-primary-light';\n\n function renderPreviousButton() {\n return (\n <Button\n style=\"outline-primary\"\n ariaLabel={props.bindings.i18n.t('previous')}\n onClick={() => props.previousPage()}\n part=\"previous-button\"\n class={`${commonPaginationClasses} -translate-x-1/2`}\n >\n <atomic-icon\n icon={ArrowRight}\n class={`${commonArrowClasses} rotate-180`}\n ></atomic-icon>\n </Button>\n );\n }\n\n function renderNextButton() {\n return (\n <Button\n style=\"outline-primary\"\n ariaLabel={props.bindings.i18n.t('next')}\n onClick={() => props.nextPage()}\n part=\"next-button\"\n class={`${commonPaginationClasses} right-0 translate-x-1/2`}\n >\n <atomic-icon icon={ArrowRight} class={commonArrowClasses}></atomic-icon>\n </Button>\n );\n }\n\n function renderIndicators() {\n return (\n <ul part=\"indicators\" class=\"mt-6 flex justify-center gap-2\">\n {Array.from({length: props.numberOfPages}, (_, index) => {\n const isActive = index === props.currentPage % props.numberOfPages;\n return (\n <li\n part={`indicator ${isActive ? 'active-indicator' : ''}`}\n class={`h-1 w-12 rounded-md ${\n isActive ? 'bg-primary' : 'bg-neutral'\n } `}\n ></li>\n );\n })}\n </ul>\n );\n }\n\n return (\n <Fragment>\n <div class=\"relative\">\n {renderPreviousButton()}\n {children}\n {renderNextButton()}\n </div>\n {renderIndicators()}\n </Fragment>\n );\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/mixins.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n IPXActionsHistoryActionCreators,\n loadIPXActionsHistoryActions,\n} from '@coveo/headless';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n Result as RecsResult,\n buildInteractiveResult as buildRecsInteractiveResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n BindStateToController,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/stencil-item-display-guard';\nimport {ResultTemplateProvider} from '../../../common/item-list/result-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n getItemListDisplayClasses,\n ItemDisplayBasicLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../../../common/layout/display-options';\nimport {Carousel} from '../../../common/stencil-carousel';\nimport {Heading} from '../../../common/stencil-heading';\nimport {RecsBindings} from '../../../recommendations/atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-ipx-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result and the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @internal\n */\n@Component({\n tag: 'atomic-ipx-recs-list',\n styleUrl: 'atomic-ipx-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicIPXRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private actionsHistoryActions?: IPXActionsHistoryActionCreators;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-ipx-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.actionsHistoryActions = loadIPXActionsHistoryActions(\n this.bindings.engine\n );\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-ipx-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-ipx-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return !!this.numberOfRecommendationsPerPage;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private async onSelect(\n recommendation: RecsResult,\n originalSelect: () => void\n ) {\n if (recommendation.raw.permanentid && this.actionsHistoryActions) {\n const action =\n this.actionsHistoryActions.addPageViewEntryInActionsHistory(\n recommendation.raw.permanentid\n );\n this.bindings.engine.dispatch(action);\n }\n originalSelect();\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const interactiveResult = buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n });\n const originalSelect = interactiveResult.select;\n interactiveResult.select = () => {\n this.onSelect(recommendation, originalSelect);\n };\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult,\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ const n="is-refine-modal";function o(n,o){const s=()=>{const s=n.state.loadingFlags.length===0;o(s)};n.onChange("loadingFlags",s);s()}export{o as c,n as i};
2
+ //# sourceMappingURL=p-f321aab0.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isRefineModalFacet","createAppLoadedListener","store","callback","updateIsAppLoaded","isAppLoaded","state","loadingFlags","length","onChange"],"sources":["src/components/common/interface/store.ts"],"sourcesContent":["import type {DateFacetValue, NumericFacetValue} from '@coveo/headless';\nimport {isInDocument} from '../../../utils/utils';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../facets/facet-common-store';\nimport type {AnyEngineType} from './bindings';\n\nexport const isRefineModalFacet = 'is-refine-modal';\n\nexport type BaseStore<T> = CommonStore<T> & {\n getUniqueIDFromEngine(engine: unknown): string | undefined;\n};\n\nexport interface ResultListInfo {\n focusOnNextNewResult(): void;\n focusOnFirstResultAfterNextSearch(): Promise<void>;\n}\n\nexport function createAppLoadedListener(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: (isAppLoaded: boolean) => void\n) {\n const updateIsAppLoaded = () => {\n const isAppLoaded = store.state.loadingFlags.length === 0;\n callback(isAppLoaded);\n };\n\n store.onChange('loadingFlags', updateIsAppLoaded);\n updateIsAppLoaded();\n}\n\nexport function createBaseStore<T extends {}>(initialState: T): BaseStore<T> {\n const store = createStore(initialState) as CommonStore<T>;\n\n return {\n ...store,\n\n getUniqueIDFromEngine(_engine: AnyEngineType) {\n throw new Error(\n 'getUniqueIDFromEngine not implemented at the base store level.'\n );\n },\n };\n}\n\nexport function registerFacet<T extends FacetType, U extends string>(\n store: CommonStore<Facets>,\n facetType: T,\n data: Facets[T][U] & {facetId: U; element: HTMLElement}\n) {\n const clearExistingFacetElement = (facetType: FacetType, facetId: string) => {\n if (store.state[facetType][facetId]) {\n store.state.facetElements = store.state.facetElements.filter(\n (facetElement) => facetElement.getAttribute('facet-id') !== facetId\n );\n }\n };\n\n if (data.element.getAttribute(isRefineModalFacet) !== null) {\n return;\n }\n\n clearExistingFacetElement(facetType, data.facetId);\n store.state.facetElements.push(data.element);\n store.state[facetType][data.facetId] = data;\n}\n\nexport function setLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.concat(loadingFlag);\n}\n\nexport function unsetLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.filter((value) => value !== loadingFlag);\n}\n\nexport function getFacetElements(store: CommonStore<Facets>) {\n return store.state.facetElements.filter((element) => isInDocument(element));\n}\n\nexport function waitUntilAppLoaded(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: () => void\n) {\n if (!store.state.loadingFlags.length) {\n callback();\n } else {\n store.onChange('loadingFlags', (flags) => {\n if (!flags.length) {\n callback();\n }\n });\n }\n}\n\ninterface CommonStore<StoreData> {\n state: StoreData;\n get: <PropName extends keyof StoreData>(\n propName: PropName\n ) => StoreData[PropName];\n set: <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ) => void;\n onChange: <PropName extends keyof StoreData>(\n propName: PropName,\n cb: (newValue: StoreData[PropName]) => void\n ) => () => void;\n}\n\ninterface Facets {\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n}\n\nfunction createStore<StoreData extends Record<string, unknown>>(\n initialState: StoreData\n): CommonStore<StoreData> {\n const listeners = new Map<\n keyof StoreData,\n Set<(newValue: unknown) => void>\n >();\n\n const state = new Proxy(initialState, {\n set(target, prop: string, value) {\n const oldValue = target[prop];\n if (oldValue !== value) {\n (target as Record<string, unknown>)[prop] = value;\n\n if (listeners.has(prop)) {\n for (const cb of listeners.get(prop)!) {\n cb(value);\n }\n }\n }\n return true;\n },\n });\n\n const get = <PropName extends keyof StoreData>(\n propName: PropName\n ): StoreData[PropName] => {\n return state[propName];\n };\n\n const set = <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ): void => {\n state[propName] = value;\n };\n\n const onChange = <PropName extends keyof StoreData>(\n propName: PropName,\n callback: (newValue: StoreData[PropName]) => void\n ): (() => void) => {\n if (!listeners.has(propName)) {\n listeners.set(propName, new Set());\n }\n listeners.get(propName)!.add(callback as (newValue: unknown) => void);\n\n return () => {\n listeners.get(propName)!.delete(callback as (newValue: unknown) => void);\n if (listeners.get(propName)!.size === 0) {\n listeners.delete(propName);\n }\n };\n };\n\n return {\n state,\n get,\n set,\n onChange,\n };\n}\n"],"mappings":"8BAUaA,EAAqB,kB,SAWlBC,EACdC,EACAC,GAEA,MAAMC,EAAoB,KACxB,MAAMC,EAAcH,EAAMI,MAAMC,aAAaC,SAAW,EACxDL,EAASE,EAAY,EAGvBH,EAAMO,SAAS,eAAgBL,GAC/BA,GACF,Q","ignoreList":[]}
1
+ {"version":3,"names":["isRefineModalFacet","createAppLoadedListener","store","callback","updateIsAppLoaded","isAppLoaded","state","loadingFlags","length","onChange"],"sources":["src/components/common/interface/store.ts"],"sourcesContent":["import type {DateFacetValue, NumericFacetValue} from '@coveo/headless';\nimport {isInDocument} from '../../../utils/utils';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../facets/facet-common-store';\nimport type {AnyEngineType} from './bindings';\n\nexport const isRefineModalFacet = 'is-refine-modal';\n\nexport type BaseStore<T> = CommonStore<T> & {\n getUniqueIDFromEngine(engine: unknown): string | undefined;\n};\n\nexport interface ResultListInfo {\n focusOnNextNewResult(): void;\n focusOnFirstResultAfterNextSearch(): Promise<void>;\n}\n\nexport function createAppLoadedListener(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: (isAppLoaded: boolean) => void\n) {\n const updateIsAppLoaded = () => {\n const isAppLoaded = store.state.loadingFlags.length === 0;\n callback(isAppLoaded);\n };\n\n store.onChange('loadingFlags', updateIsAppLoaded);\n updateIsAppLoaded();\n}\n\nexport function createBaseStore<T extends {}>(initialState: T): BaseStore<T> {\n const store = createStore(initialState) as CommonStore<T>;\n\n return {\n ...store,\n\n getUniqueIDFromEngine(_engine: AnyEngineType) {\n throw new Error(\n 'getUniqueIDFromEngine not implemented at the base store level.'\n );\n },\n };\n}\n\nexport function registerFacet<T extends FacetType, U extends string>(\n store: CommonStore<Facets>,\n facetType: T,\n data: Facets[T][U] & {facetId: U; element: HTMLElement}\n) {\n const clearExistingFacetElement = (facetType: FacetType, facetId: string) => {\n if (store.state[facetType][facetId]) {\n store.state.facetElements = store.state.facetElements.filter(\n (facetElement) => facetElement.getAttribute('facet-id') !== facetId\n );\n }\n };\n\n if (data.element.getAttribute(isRefineModalFacet) !== null) {\n return;\n }\n\n clearExistingFacetElement(facetType, data.facetId);\n store.state.facetElements.push(data.element);\n store.state[facetType][data.facetId] = data;\n}\n\nexport function setLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.concat(loadingFlag);\n}\n\nexport function unsetLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.filter((value) => value !== loadingFlag);\n}\n\nexport function getFacetElements(store: CommonStore<Facets>) {\n return store.state.facetElements.filter((element) => isInDocument(element));\n}\n\nexport function waitUntilAppLoaded(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: () => void\n) {\n if (!store.state.loadingFlags.length) {\n callback();\n } else {\n store.onChange('loadingFlags', (flags) => {\n if (!flags.length) {\n callback();\n }\n });\n }\n}\n\ninterface CommonStore<StoreData> {\n state: StoreData;\n get: <PropName extends keyof StoreData>(\n propName: PropName\n ) => StoreData[PropName];\n set: <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ) => void;\n onChange: <PropName extends keyof StoreData>(\n propName: PropName,\n cb: (newValue: StoreData[PropName]) => void\n ) => () => void;\n}\n\ninterface Facets {\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n}\n\nfunction createStore<StoreData extends Record<string, unknown>>(\n initialState: StoreData\n): CommonStore<StoreData> {\n const listeners = new Map<\n keyof StoreData,\n Set<(newValue: unknown) => void>\n >();\n\n const state = new Proxy(initialState, {\n set(target, prop: string, value) {\n const oldValue = target[prop];\n if (oldValue !== value) {\n (target as Record<string, unknown>)[prop] = value;\n\n if (listeners.has(prop)) {\n for (const cb of listeners.get(prop)!) {\n cb(value);\n }\n }\n }\n return true;\n },\n });\n\n const get = <PropName extends keyof StoreData>(\n propName: PropName\n ): StoreData[PropName] => {\n return state[propName];\n };\n\n const set = <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ): void => {\n state[propName] = value;\n };\n\n const onChange = <PropName extends keyof StoreData>(\n propName: PropName,\n callback: (newValue: StoreData[PropName]) => void\n ): (() => void) => {\n if (!listeners.has(propName)) {\n listeners.set(propName, new Set());\n }\n listeners.get(propName)!.add(callback as (newValue: unknown) => void);\n\n return () => {\n listeners.get(propName)!.delete(callback as (newValue: unknown) => void);\n if (listeners.get(propName)!.size === 0) {\n listeners.delete(propName);\n }\n };\n };\n\n return {\n state,\n get,\n set,\n onChange,\n };\n}\n"],"mappings":"MAUaA,EAAqB,kB,SAWlBC,EACdC,EACAC,GAEA,MAAMC,EAAoB,KACxB,MAAMC,EAAcH,EAAMI,MAAMC,aAAaC,SAAW,EACxDL,EAASE,EAAY,EAGvBH,EAAMO,SAAS,eAAgBL,GAC/BA,GACF,Q","ignoreList":[]}
@@ -8,7 +8,7 @@ const appGlobals = require('./app-globals-3a1e7e63.js');
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["atomic-ipx-refine-toggle.cjs",[[1,"atomic-ipx-refine-toggle",{"collapseFacetsAfter":[514,"collapse-facets-after"],"error":[32],"breadcrumbManagerState":[32],"searchStatusState":[32]}]]],["atomic-insight-folded-result-list.cjs",[[1,"atomic-insight-folded-result-list",{"density":[513],"imageSize":[513,"image-size"],"collectionField":[513,"collection-field"],"parentField":[513,"parent-field"],"childField":[513,"child-field"],"foldedResultListState":[32],"resultsPerPageState":[32],"resultTemplateRegistered":[32],"error":[32],"isAppLoaded":[32],"templateHasError":[32],"setRenderFunction":[64]},[[0,"atomic/resolveFoldedResultList","resolveFoldedResultList"],[0,"atomic/loadCollection","loadCollection"]]]]],["atomic-insight-generated-answer.cjs",[[1,"atomic-insight-generated-answer",{"withToggle":[4,"with-toggle"],"collapsible":[4],"maxCollapsedHeight":[2,"max-collapsed-height"],"answerConfigurationId":[1,"answer-configuration-id"],"fieldsToIncludeInCitations":[1,"fields-to-include-in-citations"],"disableCitationAnchoring":[4,"disable-citation-anchoring"],"generatedAnswerState":[32],"searchStatusState":[32],"error":[32],"copied":[32],"copyError":[32]},null,{"generatedAnswerState":["updateAnswerCollapsed"]}]]],["atomic-insight-result-action.cjs",[[0,"atomic-insight-result-action",{"icon":[1025],"tooltip":[1025],"tooltipOnClick":[1025,"tooltip-on-click"],"action":[1025],"error":[32]}]]],["atomic-insight-result-attach-to-case-action.cjs",[[0,"atomic-insight-result-attach-to-case-action",{"error":[32],"attachToCaseState":[32]}]]],["atomic-insight-result-children-template.cjs",[[1,"atomic-insight-result-children-template",{"conditions":[16],"ifDefined":[513,"if-defined"],"ifNotDefined":[513,"if-not-defined"],"mustMatch":[16],"mustNotMatch":[16],"error":[32],"getTemplate":[64]}]]],["atomic-insight-smart-snippet-suggestions.cjs",[[1,"atomic-insight-smart-snippet-suggestions",{"headingLevel":[514,"heading-level"],"snippetStyle":[1,"snippet-style"],"smartSnippetQuestionsListState":[32]}]]],["atomic-insight-timeframe-facet.cjs",[[1,"atomic-insight-timeframe-facet",{"facetId":[1537,"facet-id"],"label":[513],"field":[513],"withDatePicker":[516,"with-date-picker"],"isCollapsed":[1540,"is-collapsed"],"headingLevel":[514,"heading-level"],"filterFacetCount":[516,"filter-facet-count"],"injectionDepth":[514,"injection-depth"],"dependsOn":[16],"sortCriteria":[513,"sort-criteria"],"facetState":[32],"facetForDatePickerState":[32],"filterState":[32],"searchStatusState":[32],"error":[32]},[[0,"atomic/dateInputApply","applyDateInput"]]]]],["atomic-ipx-recs-list.cjs",[[1,"atomic-ipx-recs-list",{"recommendation":[513],"display":[513],"density":[513],"imageSize":[513,"image-size"],"numberOfRecommendations":[514,"number-of-recommendations"],"numberOfRecommendationsPerPage":[514,"number-of-recommendations-per-page"],"label":[513],"headingLevel":[514,"heading-level"],"error":[32],"isAppLoaded":[32],"resultTemplateRegistered":[32],"templateHasError":[32],"currentPage":[32],"recommendationListState":[32],"setRenderFunction":[64],"previousPage":[64],"nextPage":[64]},null,{"numberOfRecommendationsPerPage":["watchNumberOfRecommendationsPerPage"]}]]],["atomic-recs-list.cjs",[[1,"atomic-recs-list",{"recommendation":[513],"display":[513],"density":[513],"imageSize":[513,"image-size"],"numberOfRecommendations":[514,"number-of-recommendations"],"numberOfRecommendationsPerPage":[514,"number-of-recommendations-per-page"],"label":[513],"headingLevel":[514,"heading-level"],"error":[32],"isAppLoaded":[32],"resultTemplateRegistered":[32],"templateHasError":[32],"currentPage":[32],"recommendationListState":[32],"setRenderFunction":[64],"previousPage":[64],"nextPage":[64]},null,{"numberOfRecommendationsPerPage":["watchNumberOfRecommendationsPerPage"]}]]],["atomic-stencil-facet-date-input.cjs",[[0,"atomic-stencil-facet-date-input",{"bindings":[16],"rangeGetter":[16],"rangeSetter":[16],"facetId":[1,"facet-id"],"label":[1],"min":[1],"max":[1],"start":[32],"end":[32]}]]],["atomic-ipx-refine-modal.cjs",[[1,"atomic-ipx-refine-modal",{"openButton":[1040],"isOpen":[1540,"is-open"],"collapseFacetsAfter":[514,"collapse-facets-after"],"querySummaryState":[32],"breadcrumbManagerState":[32],"error":[32],"interfaceDimensions":[32]},null,{"isOpen":["watchEnabled"]}]]]], options);
11
+ return index.bootstrapLazy([["atomic-ipx-refine-toggle.cjs",[[1,"atomic-ipx-refine-toggle",{"collapseFacetsAfter":[514,"collapse-facets-after"],"error":[32],"breadcrumbManagerState":[32],"searchStatusState":[32]}]]],["atomic-insight-generated-answer.cjs",[[1,"atomic-insight-generated-answer",{"withToggle":[4,"with-toggle"],"collapsible":[4],"maxCollapsedHeight":[2,"max-collapsed-height"],"answerConfigurationId":[1,"answer-configuration-id"],"fieldsToIncludeInCitations":[1,"fields-to-include-in-citations"],"disableCitationAnchoring":[4,"disable-citation-anchoring"],"generatedAnswerState":[32],"searchStatusState":[32],"error":[32],"copied":[32],"copyError":[32]},null,{"generatedAnswerState":["updateAnswerCollapsed"]}]]],["atomic-insight-result-action.cjs",[[0,"atomic-insight-result-action",{"icon":[1025],"tooltip":[1025],"tooltipOnClick":[1025,"tooltip-on-click"],"action":[1025],"error":[32]}]]],["atomic-insight-result-attach-to-case-action.cjs",[[0,"atomic-insight-result-attach-to-case-action",{"error":[32],"attachToCaseState":[32]}]]],["atomic-insight-result-children-template.cjs",[[1,"atomic-insight-result-children-template",{"conditions":[16],"ifDefined":[513,"if-defined"],"ifNotDefined":[513,"if-not-defined"],"mustMatch":[16],"mustNotMatch":[16],"error":[32],"getTemplate":[64]}]]],["atomic-insight-timeframe-facet.cjs",[[1,"atomic-insight-timeframe-facet",{"facetId":[1537,"facet-id"],"label":[513],"field":[513],"withDatePicker":[516,"with-date-picker"],"isCollapsed":[1540,"is-collapsed"],"headingLevel":[514,"heading-level"],"filterFacetCount":[516,"filter-facet-count"],"injectionDepth":[514,"injection-depth"],"dependsOn":[16],"sortCriteria":[513,"sort-criteria"],"facetState":[32],"facetForDatePickerState":[32],"filterState":[32],"searchStatusState":[32],"error":[32]},[[0,"atomic/dateInputApply","applyDateInput"]]]]],["atomic-ipx-recs-list.cjs",[[1,"atomic-ipx-recs-list",{"recommendation":[513],"display":[513],"density":[513],"imageSize":[513,"image-size"],"numberOfRecommendations":[514,"number-of-recommendations"],"numberOfRecommendationsPerPage":[514,"number-of-recommendations-per-page"],"label":[513],"headingLevel":[514,"heading-level"],"error":[32],"isAppLoaded":[32],"resultTemplateRegistered":[32],"templateHasError":[32],"currentPage":[32],"recommendationListState":[32],"setRenderFunction":[64],"previousPage":[64],"nextPage":[64]},null,{"numberOfRecommendationsPerPage":["watchNumberOfRecommendationsPerPage"]}]]],["atomic-stencil-facet-date-input.cjs",[[0,"atomic-stencil-facet-date-input",{"bindings":[16],"rangeGetter":[16],"rangeSetter":[16],"facetId":[1,"facet-id"],"label":[1],"min":[1],"max":[1],"start":[32],"end":[32]}]]],["atomic-ipx-refine-modal.cjs",[[1,"atomic-ipx-refine-modal",{"openButton":[1040],"isOpen":[1540,"is-open"],"collapseFacetsAfter":[514,"collapse-facets-after"],"querySummaryState":[32],"breadcrumbManagerState":[32],"error":[32],"interfaceDimensions":[32]},null,{"isOpen":["watchEnabled"]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;