@coveo/atomic 3.48.0 → 3.49.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 (265) hide show
  1. package/custom-elements.json +1361 -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 +3 -3
  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 +3 -3
  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 +3 -3
  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 +3 -0
  46. package/dist/atomic/components/utils/tailwind.global.tw.css.js +3 -3
  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-2c08a419.entry.js +2 -0
  76. package/dist/atomic/{p-026a51a7.entry.js.map → p-2c08a419.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-52d14165.entry.js +2 -0
  81. package/dist/atomic/p-52d14165.entry.js.map +1 -0
  82. package/dist/atomic/p-64f83898.entry.js +2 -0
  83. package/dist/atomic/{p-15074eb9.entry.js.map → p-64f83898.entry.js.map} +1 -1
  84. package/dist/atomic/{p-c0fbee64.js → p-9c5ec170.js} +2 -2
  85. package/dist/atomic/p-9dfe5ab1.js +2 -0
  86. package/dist/atomic/p-9dfe5ab1.js.map +1 -0
  87. package/dist/atomic/{p-3df103c1.js → p-b09433bb.js} +2 -2
  88. package/dist/atomic/p-b09433bb.js.map +1 -0
  89. package/dist/atomic/p-c8452548.entry.js +2 -0
  90. package/dist/atomic/{p-3bb48254.entry.js.map → p-c8452548.entry.js.map} +1 -1
  91. package/dist/atomic/p-c95ac794.entry.js +2 -0
  92. package/dist/atomic/{p-40e4e762.entry.js.map → p-c95ac794.entry.js.map} +1 -1
  93. package/dist/atomic/p-d8230482.entry.js +9 -0
  94. package/dist/atomic/{p-5ec9bf71.entry.js.map → p-d8230482.entry.js.map} +1 -1
  95. package/dist/atomic/p-e94ba0e1.entry.js +2 -0
  96. package/dist/atomic/p-e94ba0e1.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/render-follow-up-input.d.ts +17 -0
  157. package/dist/types/components/insight/atomic-insight-folded-result-list/atomic-insight-folded-result-list.d.ts +99 -0
  158. package/dist/types/components/insight/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.d.ts +83 -0
  159. package/dist/types/components/insight/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.tw.css.d.ts +2 -0
  160. package/dist/types/components/insight/index.d.ts +2 -0
  161. package/dist/types/components/recommendations/atomic-recs-list/atomic-recs-list.d.ts +40 -23
  162. package/dist/types/components/recommendations/index.d.ts +1 -0
  163. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +5 -0
  164. package/dist/types/components.d.ts +4 -198
  165. package/docs/atomic-docs.json +17 -434
  166. package/package.json +9 -4
  167. package/dist/atomic/components/arrow-right.js +0 -8
  168. package/dist/atomic/components/arrow-right.js.map +0 -1
  169. package/dist/atomic/components/atomic-insight-folded-result-list.d.ts +0 -11
  170. package/dist/atomic/components/atomic-insight-folded-result-list.js +0 -213
  171. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +0 -1
  172. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.d.ts +0 -11
  173. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.js +0 -175
  174. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.js.map +0 -1
  175. package/dist/atomic/components/atomic-recs-list.d.ts +0 -11
  176. package/dist/atomic/components/atomic-recs-list.js +0 -304
  177. package/dist/atomic/components/atomic-recs-list.js.map +0 -1
  178. package/dist/atomic/components/display-options.js +0 -277
  179. package/dist/atomic/components/display-options.js.map +0 -1
  180. package/dist/atomic/components/event-utils.js +0 -24
  181. package/dist/atomic/components/event-utils.js.map +0 -1
  182. package/dist/atomic/components/purify.js +0 -1363
  183. package/dist/atomic/components/purify.js.map +0 -1
  184. package/dist/atomic/components/slot-utils.js +0 -16
  185. package/dist/atomic/components/slot-utils.js.map +0 -1
  186. package/dist/atomic/components/stencil-accessibility-utils.js +0 -160
  187. package/dist/atomic/components/stencil-accessibility-utils.js.map +0 -1
  188. package/dist/atomic/components/stencil-carousel.js +0 -50
  189. package/dist/atomic/components/stencil-carousel.js.map +0 -1
  190. package/dist/atomic/p-026a51a7.entry.js +0 -2
  191. package/dist/atomic/p-09ff88b4.entry.js +0 -2
  192. package/dist/atomic/p-09ff88b4.entry.js.map +0 -1
  193. package/dist/atomic/p-0c4a4e30.js +0 -2
  194. package/dist/atomic/p-0c4a4e30.js.map +0 -1
  195. package/dist/atomic/p-141bf64c.js +0 -2
  196. package/dist/atomic/p-15074eb9.entry.js +0 -2
  197. package/dist/atomic/p-3bb48254.entry.js +0 -2
  198. package/dist/atomic/p-3df103c1.js.map +0 -1
  199. package/dist/atomic/p-40e4e762.entry.js +0 -2
  200. package/dist/atomic/p-4cab9607.js +0 -2
  201. package/dist/atomic/p-4cab9607.js.map +0 -1
  202. package/dist/atomic/p-5ec9bf71.entry.js +0 -9
  203. package/dist/atomic/p-77250a6b.entry.js +0 -2
  204. package/dist/atomic/p-78be3137.js +0 -2
  205. package/dist/atomic/p-78be3137.js.map +0 -1
  206. package/dist/atomic/p-994b3e51.entry.js +0 -2
  207. package/dist/atomic/p-994b3e51.entry.js.map +0 -1
  208. package/dist/atomic/p-b3524b97.js +0 -2
  209. package/dist/atomic/p-cc6320d9.entry.js +0 -2
  210. package/dist/atomic/p-cc6320d9.entry.js.map +0 -1
  211. package/dist/atomic/p-cfa9c12b.js +0 -2
  212. package/dist/atomic/p-cfa9c12b.js.map +0 -1
  213. package/dist/atomic/p-d189f1a5.js +0 -2
  214. package/dist/atomic/p-d189f1a5.js.map +0 -1
  215. package/dist/atomic/p-e58840b6.js +0 -2
  216. package/dist/atomic/p-e58840b6.js.map +0 -1
  217. package/dist/atomic/p-f24c22bb.entry.js +0 -2
  218. package/dist/atomic/p-f24c22bb.entry.js.map +0 -1
  219. package/dist/atomic/p-f2906e7c.entry.js +0 -2
  220. package/dist/atomic/p-f2906e7c.entry.js.map +0 -1
  221. package/dist/cjs/arrow-right-a3be291c.js +0 -10
  222. package/dist/cjs/arrow-right-a3be291c.js.map +0 -1
  223. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +0 -191
  224. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +0 -1
  225. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +0 -161
  226. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +0 -1
  227. package/dist/cjs/atomic-recs-list.cjs.entry.js +0 -277
  228. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +0 -1
  229. package/dist/cjs/display-options-24763cf8.js +0 -284
  230. package/dist/cjs/display-options-24763cf8.js.map +0 -1
  231. package/dist/cjs/purify-d8fb6acd.js.map +0 -1
  232. package/dist/cjs/slot-utils-987a7dd6.js +0 -18
  233. package/dist/cjs/slot-utils-987a7dd6.js.map +0 -1
  234. package/dist/cjs/stencil-accessibility-utils-e64abd7b.js.map +0 -1
  235. package/dist/cjs/stencil-carousel-ba8e11b5.js +0 -53
  236. package/dist/cjs/stencil-carousel-ba8e11b5.js.map +0 -1
  237. package/dist/cjs/stencil-heading-e2df37e4.js +0 -15
  238. package/dist/cjs/stencil-heading-e2df37e4.js.map +0 -1
  239. package/dist/cjs/store-9d4daf92.js.map +0 -1
  240. package/dist/cjs/utils-2a022008.js +0 -72
  241. package/dist/cjs/utils-2a022008.js.map +0 -1
  242. package/dist/esm/arrow-right-cb365b01.js +0 -8
  243. package/dist/esm/arrow-right-cb365b01.js.map +0 -1
  244. package/dist/esm/atomic-insight-folded-result-list.entry.js +0 -187
  245. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +0 -1
  246. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +0 -157
  247. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +0 -1
  248. package/dist/esm/atomic-recs-list.entry.js +0 -273
  249. package/dist/esm/atomic-recs-list.entry.js.map +0 -1
  250. package/dist/esm/display-options-d03040a8.js +0 -277
  251. package/dist/esm/display-options-d03040a8.js.map +0 -1
  252. package/dist/esm/purify-985ba52e.js.map +0 -1
  253. package/dist/esm/slot-utils-df87a95a.js +0 -16
  254. package/dist/esm/slot-utils-df87a95a.js.map +0 -1
  255. package/dist/esm/stencil-accessibility-utils-69ea92b0.js.map +0 -1
  256. package/dist/esm/stencil-carousel-eac65a6c.js +0 -50
  257. package/dist/esm/stencil-carousel-eac65a6c.js.map +0 -1
  258. package/dist/esm/stencil-heading-adb44de7.js +0 -13
  259. package/dist/esm/stencil-heading-adb44de7.js.map +0 -1
  260. package/dist/esm/store-3bc9050f.js.map +0 -1
  261. package/dist/esm/utils-6771fbc6.js +0 -63
  262. package/dist/esm/utils-6771fbc6.js.map +0 -1
  263. package/dist/types/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.d.ts +0 -68
  264. package/dist/types/components/insight/smart-snippets/atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.d.ts +0 -38
  265. /package/dist/atomic/{p-c0fbee64.js.map → p-9c5ec170.js.map} +0 -0
@@ -1,277 +0,0 @@
1
- import { h, Fragment } from '@stencil/core/internal/client';
2
- import { buildResultTemplatesManager } from '@coveo/headless';
3
- import { c as closest } from './initialization-utils.js';
4
- import { g as getFirstFocusableDescendant } from './stencil-accessibility-utils.js';
5
- import { o as once, d as defer } from './utils.js';
6
- import './purify.js';
7
-
8
- // The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.
9
- /**
10
- * @deprecated should only be used for Stencil components.
11
- */
12
- const ResultsPlaceholdersGuard = (props) => {
13
- if (!props.displayPlaceholders) {
14
- return;
15
- }
16
- switch (props.display) {
17
- case 'table':
18
- return h(TableDisplayResultsPlaceholder, { ...props });
19
- default:
20
- return h(ResultsPlaceholder, { ...props });
21
- }
22
- };
23
- /**
24
- * @deprecated should only be used for Stencil components.
25
- */
26
- const ResultsPlaceholder = (props) => {
27
- return Array.from({ length: props.numberOfPlaceholders }, (_, i) => (h("atomic-result-placeholder", { key: `placeholder-${i}`, density: props.density, display: props.display || 'list', imageSize: props.imageSize })));
28
- };
29
- const TableDisplayResultsPlaceholder = (props) => {
30
- return (h("atomic-result-table-placeholder", { density: props.density, imageSize: props.imageSize, rows: props.numberOfPlaceholders }));
31
- };
32
-
33
- /**
34
- * @deprecated should only be used for Stencil components.
35
- */
36
- const ItemDisplayGuard = (props, children) => {
37
- if (!props.hasItems || !props.firstRequestExecuted) {
38
- return;
39
- }
40
- return h(Fragment, null, ...children);
41
- };
42
-
43
- class TemplateProvider {
44
- constructor(props, buildManager) {
45
- this.props = props;
46
- this.buildManager = buildManager;
47
- this.templateManager = this.buildManager();
48
- this.registerResultTemplates();
49
- }
50
- async registerResultTemplates() {
51
- const customTemplates = await Promise.all(this.props.templateElements.map(async (resultTemplateElement) => {
52
- if (!('getTemplate' in resultTemplateElement)) {
53
- await customElements.whenDefined(resultTemplateElement.tagName.toLowerCase());
54
- }
55
- const template = await resultTemplateElement.getTemplate();
56
- if (!template) {
57
- this.props.setTemplateHasError(true);
58
- }
59
- return template;
60
- }));
61
- const templates = (!customTemplates.length && this.props.includeDefaultTemplate
62
- ? [this.makeDefaultTemplate()]
63
- : []).concat(customTemplates.filter((template) => template));
64
- this.templateManager.registerTemplates(...templates);
65
- this.props.setResultTemplateRegistered(true);
66
- }
67
- getTemplateContent(item) {
68
- return this.templateManager.selectTemplate(item);
69
- }
70
- getLinkTemplateContent(item) {
71
- return this.templateManager.selectLinkTemplate(item);
72
- }
73
- getEmptyLinkTemplateContent() {
74
- return document.createDocumentFragment();
75
- }
76
- get templatesRegistered() {
77
- return this.props.getResultTemplateRegistered();
78
- }
79
- get hasError() {
80
- return this.props.getTemplateHasError();
81
- }
82
- }
83
-
84
- // TODO: add this import once this class isn't used in Stencil components anymore
85
- // import '@/src/components/search/atomic-result-link/atomic-result-link';
86
- class ResultTemplateProvider extends TemplateProvider {
87
- constructor(props, gridCellLinkTarget) {
88
- super(props, () => buildResultTemplatesManager(props.bindings.engine));
89
- this.gridCellLinkTarget = gridCellLinkTarget;
90
- }
91
- // TODO: Add JSX support for default template
92
- makeDefaultTemplate() {
93
- const content = document.createDocumentFragment();
94
- const linkEl = document.createElement('atomic-result-link');
95
- content.appendChild(linkEl);
96
- const linkContent = document.createDocumentFragment();
97
- const linkMarkup = `
98
- <atomic-result-link>
99
- ${this.gridCellLinkTarget ? `<a slot="attributes" target="${this.gridCellLinkTarget}"></a>` : ''}
100
- </atomic-result-link>
101
- `;
102
- const linkTemplate = document.createElement('template');
103
- linkTemplate.innerHTML = linkMarkup.trim();
104
- linkContent.appendChild(linkTemplate.content);
105
- return {
106
- content,
107
- linkContent,
108
- conditions: [],
109
- };
110
- }
111
- }
112
-
113
- /**
114
- * @deprecated should only be used for Stencil components.
115
- */
116
- const DisplayWrapper = ({ display, listClasses }, children) => {
117
- if (display === 'table') {
118
- return h(ListWrapper, { listClasses: listClasses }, ...children);
119
- }
120
- return (h(ListWrapper, { listClasses: listClasses },
121
- h("div", { class: `list-root ${listClasses}`, part: "result-list" }, children)));
122
- };
123
- const ListWrapper = ({ listClasses }, children) => {
124
- return h("div", { class: `list-wrapper ${listClasses}` }, ...children);
125
- };
126
-
127
- const DEFAULT_MOBILE_BREAKPOINT = '1024px';
128
- function replaceMediaQuery(style, mobileBreakpoint) {
129
- const regex = new RegExp(`\\(min-width: ${DEFAULT_MOBILE_BREAKPOINT}\\)|\\(width >= ${DEFAULT_MOBILE_BREAKPOINT}\\)`, 'g');
130
- return style.replace(regex, `(width >= ${mobileBreakpoint})`);
131
- }
132
- function replaceStyleSheet(element, mobileBreakpoint) {
133
- const stylesheets = element.shadowRoot?.adoptedStyleSheets;
134
- if (!stylesheets || !stylesheets.length) {
135
- return;
136
- }
137
- const stylesheet = stylesheets[0];
138
- const style = Object.values(stylesheet.cssRules)
139
- .map((rule) => rule.cssText)
140
- .join('');
141
- stylesheet.replaceSync(replaceMediaQuery(style, mobileBreakpoint));
142
- }
143
- function replateStyleContent(element, breakpoint) {
144
- const styleTag = element.shadowRoot?.querySelector('style');
145
- if (!styleTag) {
146
- return;
147
- }
148
- styleTag.textContent = replaceMediaQuery(styleTag.textContent, breakpoint);
149
- }
150
- const layouts = ['atomic-search-layout', 'atomic-insight-layout'];
151
- function updateBreakpoints(element) {
152
- const layout = closest(element, layouts.join(', '));
153
- if (!layout?.mobileBreakpoint) {
154
- return;
155
- }
156
- if (layout.mobileBreakpoint === DEFAULT_MOBILE_BREAKPOINT) {
157
- return;
158
- }
159
- replaceStyleSheet(element, layout.mobileBreakpoint);
160
- replateStyleContent(element, layout.mobileBreakpoint);
161
- }
162
-
163
- class ItemListCommon {
164
- constructor(props) {
165
- this.props = props;
166
- this.props.store.setLoadingFlag(this.props.loadingFlag);
167
- this.props.store.state.resultList = this;
168
- this.updateBreakpointsOnce = once(() => updateBreakpoints(this.props.host));
169
- this.props.nextNewItemTarget.registerFocusCallback(() => {
170
- this.indexOfResultToFocus = undefined;
171
- });
172
- }
173
- updateBreakpoints() {
174
- this.updateBreakpointsOnce();
175
- }
176
- getResultId(uniqueIdOnResult, searchResponseId, density, imageSize) {
177
- return `${uniqueIdOnResult}${searchResponseId}${density}${imageSize}`;
178
- }
179
- setNewResultRef(element, resultIndex) {
180
- if (resultIndex === 0) {
181
- this.firstResultEl = element;
182
- }
183
- if (resultIndex !== this.indexOfResultToFocus) {
184
- return;
185
- }
186
- if (!element.children.length && !element.shadowRoot?.children.length) {
187
- return;
188
- }
189
- this.indexOfResultToFocus = undefined;
190
- const elementToFocus = getFirstFocusableDescendant(element) ?? element;
191
- this.props.nextNewItemTarget.setTarget(elementToFocus);
192
- }
193
- focusOnNextNewResult() {
194
- this.indexOfResultToFocus = this.props.getCurrentNumberOfItems();
195
- this.props.nextNewItemTarget.focusOnNextTarget();
196
- }
197
- async focusOnFirstResultAfterNextSearch() {
198
- await defer();
199
- return new Promise((resolve) => {
200
- if (this.props.getIsLoading()) {
201
- this.firstResultEl = undefined;
202
- }
203
- const unsub = this.props.engineSubscribe(async () => {
204
- await defer();
205
- if (!this.props.getIsLoading() && this.firstResultEl) {
206
- const elementToFocus = getFirstFocusableDescendant(this.firstResultEl) ??
207
- this.firstResultEl;
208
- this.props.nextNewItemTarget.setTarget(elementToFocus);
209
- this.props.nextNewItemTarget.focus();
210
- this.firstResultEl = undefined;
211
- unsub();
212
- resolve();
213
- }
214
- });
215
- });
216
- }
217
- }
218
-
219
- function getDisplayClass(display) {
220
- switch (display) {
221
- case 'grid':
222
- return 'display-grid';
223
- case 'table':
224
- return 'display-table';
225
- default:
226
- return 'display-list';
227
- }
228
- }
229
- function getDensityClass(density) {
230
- switch (density) {
231
- case 'comfortable':
232
- return 'density-comfortable';
233
- case 'compact':
234
- return 'density-compact';
235
- default:
236
- return 'density-normal';
237
- }
238
- }
239
- function getImageClass(image) {
240
- switch (image) {
241
- case 'large':
242
- return 'image-large';
243
- case 'small':
244
- return 'image-small';
245
- case 'none':
246
- return 'image-none';
247
- default:
248
- return 'image-icon';
249
- }
250
- }
251
- function getItemListDisplayClasses$1(display, density, image, isLoading, isAppLoading) {
252
- const classes = getItemDisplayClasses(display, density, image);
253
- if (isLoading) {
254
- classes.push('loading');
255
- }
256
- if (isAppLoading) {
257
- classes.push('placeholder');
258
- }
259
- return classes.join(' ');
260
- }
261
- function getItemDisplayClasses(display, density, image) {
262
- const classes = [
263
- getDisplayClass(display),
264
- getDensityClass(density),
265
- getImageClass(image),
266
- ];
267
- return classes;
268
- }
269
-
270
- /**
271
- * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.
272
- */
273
- const getItemListDisplayClasses = getItemListDisplayClasses$1;
274
-
275
- export { DisplayWrapper as D, ItemListCommon as I, ResultTemplateProvider as R, ResultsPlaceholdersGuard as a, ItemDisplayGuard as b, getItemListDisplayClasses as g };
276
-
277
- //# sourceMappingURL=display-options.js.map
@@ -1 +0,0 @@
1
- {"file":"display-options.js","mappings":"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","names":["getItemListDisplayClasses","getItemListDisplayClassesImport"],"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-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"],"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","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"],"version":3}
@@ -1,24 +0,0 @@
1
- function buildCustomEvent(name, detail) {
2
- return new CustomEvent(name, {
3
- detail,
4
- // Event will bubble up the DOM until it is caught
5
- bubbles: true,
6
- // Allows to verify if event is caught (cancelled). If it's not caught, it won't be initialized.
7
- cancelable: true,
8
- // Allows to compose Atomic components inside one another, event will go across DOM/Shadow DOM
9
- composed: true,
10
- });
11
- }
12
- function listenOnce(element, type, listener, options) {
13
- const _listener = (evt) => {
14
- element.removeEventListener(type, _listener, options);
15
- typeof listener === 'object'
16
- ? listener.handleEvent.call(element, evt)
17
- : listener.call(element, evt);
18
- };
19
- element.addEventListener(type, _listener, options);
20
- }
21
-
22
- export { buildCustomEvent as b, listenOnce as l };
23
-
24
- //# sourceMappingURL=event-utils.js.map
@@ -1 +0,0 @@
1
- {"file":"event-utils.js","mappings":"SAEgB,gBAAgB,CAAgB,IAAY,EAAE,MAAU;IACtE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE;QAC3B,MAAM;;QAEN,OAAO,EAAE,IAAI;;QAEb,UAAU,EAAE,IAAI;;QAEhB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;SAce,UAAU,CACxB,OAAoB,EACpB,IAAY,EACZ,QAA4C,EAC5C,OAA2C;IAE3C,MAAM,SAAS,GAAkB,CAAC,GAAU;QAC1C,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,QAAQ,KAAK,QAAQ;cACxB,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;cACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACrD;;;;","names":[],"sources":["src/utils/event-utils.ts"],"sourcesContent":["import {promiseTimeout} from './promise-utils';\n\nexport function buildCustomEvent<T = undefined>(name: string, detail?: T) {\n return new CustomEvent(name, {\n detail,\n // Event will bubble up the DOM until it is caught\n bubbles: true,\n // Allows to verify if event is caught (cancelled). If it's not caught, it won't be initialized.\n cancelable: true,\n // Allows to compose Atomic components inside one another, event will go across DOM/Shadow DOM\n composed: true,\n });\n}\n\nexport function listenOnce<K extends keyof HTMLElementEventMap>(\n element: HTMLElement,\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => void,\n options?: boolean | AddEventListenerOptions\n): void;\nexport function listenOnce(\n element: HTMLElement,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n): void;\nexport function listenOnce(\n element: HTMLElement,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n): void {\n const _listener: EventListener = (evt: Event) => {\n element.removeEventListener(type, _listener, options);\n typeof listener === 'object'\n ? listener.handleEvent.call(element, evt)\n : listener.call(element, evt);\n };\n element.addEventListener(type, _listener, options);\n}\n\nexport function eventPromise(\n element: HTMLElement,\n type: string,\n timeoutMs: number = 0\n): Promise<Event> {\n let promise = new Promise<Event>((resolve) => {\n listenOnce(element, type, (e) => {\n resolve(e);\n });\n });\n\n if (timeoutMs > 0) {\n promise = promiseTimeout(promise, timeoutMs);\n }\n\n return promise;\n}\n"],"version":3}