@coveo/atomic 3.35.0-pre.9b71f3003c → 3.35.0-pre.a26f9fce9b

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 (206) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/atomic-category-facet.js +17 -7
  3. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  4. package/dist/atomic/components/atomic-folded-result-list.js +1 -1
  5. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  6. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  7. package/dist/atomic/components/atomic-insight-result2.js +2 -3
  8. package/dist/atomic/components/atomic-insight-result2.js.map +1 -1
  9. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  10. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  11. package/dist/atomic/components/atomic-recs-list.js +1 -1
  12. package/dist/atomic/components/atomic-recs-result2.js +1 -2
  13. package/dist/atomic/components/atomic-recs-result2.js.map +1 -1
  14. package/dist/atomic/components/atomic-result-list.js +1 -1
  15. package/dist/atomic/components/atomic-result2.js +1 -2
  16. package/dist/atomic/components/atomic-result2.js.map +1 -1
  17. package/dist/atomic/components/atomic-search-box.js +7 -3
  18. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  19. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +3 -1
  20. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -0
  21. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +5 -0
  22. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +3 -0
  23. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +6 -1
  24. package/dist/atomic/components/components/common/facets/category-facet/all-categories-button.js +3 -2
  25. package/dist/atomic/components/components/common/facets/category-facet/all-categories-localized-label.js +9 -0
  26. package/dist/atomic/components/components/common/facets/category-facet/search-value.js +6 -1
  27. package/dist/atomic/components/components/common/layout/display-options.js +0 -28
  28. package/dist/atomic/components/components/common/layout/item-layout-controller.js +1 -1
  29. package/dist/atomic/components/components/common/layout/item-layout.js +29 -0
  30. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
  31. package/dist/atomic/components/display-options.js +1 -30
  32. package/dist/atomic/components/display-options.js.map +1 -1
  33. package/dist/atomic/components/global/environment.js +1 -1
  34. package/dist/atomic/components/{stencil-item-list-common.js → item-layout.js} +32 -2
  35. package/dist/atomic/components/item-layout.js.map +1 -0
  36. package/dist/atomic/components/stencil-suggestion-manager.js +1 -1
  37. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  38. package/dist/atomic/lang/cs.json +1 -1
  39. package/dist/atomic/lang/da.json +1 -1
  40. package/dist/atomic/lang/de.json +1 -1
  41. package/dist/atomic/lang/dev.json +1 -1
  42. package/dist/atomic/lang/el.json +1 -1
  43. package/dist/atomic/lang/en.json +1 -1
  44. package/dist/atomic/lang/es.json +1 -1
  45. package/dist/atomic/lang/fi.json +1 -1
  46. package/dist/atomic/lang/fr.json +1 -1
  47. package/dist/atomic/lang/hu.json +1 -1
  48. package/dist/atomic/lang/id.json +1 -1
  49. package/dist/atomic/lang/it.json +1 -1
  50. package/dist/atomic/lang/ja.json +1 -1
  51. package/dist/atomic/lang/ko.json +1 -1
  52. package/dist/atomic/lang/nl.json +1 -1
  53. package/dist/atomic/lang/no.json +1 -1
  54. package/dist/atomic/lang/pl.json +1 -1
  55. package/dist/atomic/lang/pt-BR.json +1 -1
  56. package/dist/atomic/lang/pt.json +1 -1
  57. package/dist/atomic/lang/ru.json +1 -1
  58. package/dist/atomic/lang/sv.json +1 -1
  59. package/dist/atomic/lang/th.json +1 -1
  60. package/dist/atomic/lang/tr.json +1 -1
  61. package/dist/atomic/lang/zh-CN.json +1 -1
  62. package/dist/atomic/lang/zh-TW.json +1 -1
  63. package/dist/atomic/lang/zh.json +1 -1
  64. package/dist/atomic/p-031c5d27.js +2 -0
  65. package/dist/atomic/p-031c5d27.js.map +1 -0
  66. package/dist/atomic/p-0b3198b8.entry.js +2 -0
  67. package/dist/atomic/p-0b3198b8.entry.js.map +1 -0
  68. package/dist/atomic/{p-f9911f6e.entry.js → p-2387e379.entry.js} +2 -2
  69. package/dist/atomic/{p-ff23598b.entry.js → p-2c8d8e83.entry.js} +2 -2
  70. package/dist/atomic/p-2c8d8e83.entry.js.map +1 -0
  71. package/dist/atomic/p-2c94b87e.js +2 -0
  72. package/dist/atomic/p-2c94b87e.js.map +1 -0
  73. package/dist/atomic/{p-72cdb9d8.entry.js → p-4ba1eb36.entry.js} +2 -2
  74. package/dist/atomic/p-4ba1eb36.entry.js.map +1 -0
  75. package/dist/atomic/p-5f3dd48d.js +2 -0
  76. package/dist/atomic/p-5f3dd48d.js.map +1 -0
  77. package/dist/atomic/p-66c5c9ee.entry.js +2 -0
  78. package/dist/atomic/{p-a9016629.entry.js.map → p-66c5c9ee.entry.js.map} +1 -1
  79. package/dist/atomic/{p-87eafe2f.entry.js → p-77727995.entry.js} +2 -2
  80. package/dist/atomic/p-8884c329.entry.js +2 -0
  81. package/dist/atomic/{p-582ce205.entry.js.map → p-8884c329.entry.js.map} +1 -1
  82. package/dist/atomic/p-8c0ea632.entry.js +2 -0
  83. package/dist/atomic/{p-d0937472.entry.js.map → p-8c0ea632.entry.js.map} +1 -1
  84. package/dist/atomic/p-af9dae70.entry.js +2 -0
  85. package/dist/atomic/{p-ae071697.entry.js.map → p-af9dae70.entry.js.map} +1 -1
  86. package/dist/atomic/p-b04df319.entry.js +2 -0
  87. package/dist/atomic/{p-e62caa78.entry.js.map → p-b04df319.entry.js.map} +1 -1
  88. package/dist/atomic/p-b0a14501.entry.js +2 -0
  89. package/dist/atomic/{p-d1fbb20a.entry.js.map → p-b0a14501.entry.js.map} +1 -1
  90. package/dist/atomic/p-d3f404a4.entry.js +2 -0
  91. package/dist/atomic/{p-fd7a8926.entry.js.map → p-d3f404a4.entry.js.map} +1 -1
  92. package/dist/atomic/p-e287e3f6.entry.js +2 -0
  93. package/dist/atomic/p-e287e3f6.entry.js.map +1 -0
  94. package/dist/atomic/p-f7e2c841.entry.js +2 -0
  95. package/dist/atomic/p-f7e2c841.entry.js.map +1 -0
  96. package/dist/cjs/atomic-category-facet.cjs.entry.js +17 -7
  97. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  98. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +1 -2
  99. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  100. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -2
  101. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  102. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -2
  103. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  104. package/dist/cjs/atomic-insight-result.cjs.entry.js +4 -3
  105. package/dist/cjs/atomic-insight-result.cjs.entry.js.map +1 -1
  106. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +1 -1
  107. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -2
  108. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  109. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  110. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -2
  111. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  112. package/dist/cjs/atomic-recs-result.cjs.entry.js +3 -2
  113. package/dist/cjs/atomic-recs-result.cjs.entry.js.map +1 -1
  114. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -2
  115. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  116. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -2
  117. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
  118. package/dist/cjs/atomic-result.cjs.entry.js +3 -2
  119. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  120. package/dist/cjs/atomic-search-box.cjs.entry.js +8 -4
  121. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  122. package/dist/cjs/{display-options-10f84088.js → display-options-12b25742.js} +1 -31
  123. package/dist/cjs/display-options-12b25742.js.map +1 -0
  124. package/dist/cjs/item-layout-edcf5884.js +36 -0
  125. package/dist/cjs/item-layout-edcf5884.js.map +1 -0
  126. package/dist/cjs/{stencil-suggestion-manager-83efa596.js → stencil-suggestion-manager-62c42aa3.js} +2 -2
  127. package/dist/cjs/stencil-suggestion-manager-62c42aa3.js.map +1 -0
  128. package/dist/cjs/version.cjs.js +2 -2
  129. package/dist/esm/atomic-category-facet.entry.js +17 -7
  130. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  131. package/dist/esm/atomic-folded-result-list.entry.js +1 -2
  132. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  133. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -2
  134. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  135. package/dist/esm/atomic-insight-result-list.entry.js +1 -2
  136. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  137. package/dist/esm/atomic-insight-result.entry.js +3 -2
  138. package/dist/esm/atomic-insight-result.entry.js.map +1 -1
  139. package/dist/esm/atomic-insight-search-box.entry.js +1 -1
  140. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -2
  141. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  142. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  143. package/dist/esm/atomic-recs-list.entry.js +1 -2
  144. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  145. package/dist/esm/atomic-recs-result.entry.js +2 -1
  146. package/dist/esm/atomic-recs-result.entry.js.map +1 -1
  147. package/dist/esm/atomic-result-list.entry.js +1 -2
  148. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  149. package/dist/esm/atomic-result-placeholder_8.entry.js +1 -2
  150. package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
  151. package/dist/esm/atomic-result.entry.js +2 -1
  152. package/dist/esm/atomic-result.entry.js.map +1 -1
  153. package/dist/esm/atomic-search-box.entry.js +8 -4
  154. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  155. package/dist/esm/{display-options-b7c33617.js → display-options-2dd6db0e.js} +2 -31
  156. package/dist/esm/display-options-2dd6db0e.js.map +1 -0
  157. package/dist/esm/item-layout-0df032fe.js +34 -0
  158. package/dist/esm/item-layout-0df032fe.js.map +1 -0
  159. package/dist/esm/{stencil-suggestion-manager-c1c4298e.js → stencil-suggestion-manager-3d2eea75.js} +2 -2
  160. package/dist/esm/stencil-suggestion-manager-3d2eea75.js.map +1 -0
  161. package/dist/esm/version.js +2 -2
  162. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -0
  163. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
  164. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -0
  165. package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +2 -0
  166. package/dist/types/components/common/facets/category-facet/all-categories-button.d.ts +2 -0
  167. package/dist/types/components/common/facets/category-facet/all-categories-localized-label.d.ts +6 -0
  168. package/dist/types/components/common/facets/category-facet/search-value.d.ts +1 -0
  169. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +2 -0
  170. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +1 -0
  171. package/dist/types/components/common/layout/display-options.d.ts +0 -10
  172. package/dist/types/components/common/layout/item-layout-controller.d.ts +2 -1
  173. package/dist/types/components/common/layout/item-layout.d.ts +11 -0
  174. package/dist/types/components/insight/atomic-insight-result/atomic-insight-result.d.ts +1 -1
  175. package/dist/types/components/recommendations/atomic-recs-result/atomic-recs-result.d.ts +1 -1
  176. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
  177. package/dist/types/components.d.ts +10 -8
  178. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  179. package/docs/atomic-docs.json +4 -4
  180. package/package.json +5 -8
  181. package/dist/atomic/components/stencil-item-list-common.js.map +0 -1
  182. package/dist/atomic/p-3ef52afa.js +0 -2
  183. package/dist/atomic/p-3ef52afa.js.map +0 -1
  184. package/dist/atomic/p-582ce205.entry.js +0 -2
  185. package/dist/atomic/p-72cdb9d8.entry.js.map +0 -1
  186. package/dist/atomic/p-a9016629.entry.js +0 -2
  187. package/dist/atomic/p-aa290a01.js +0 -2
  188. package/dist/atomic/p-aa290a01.js.map +0 -1
  189. package/dist/atomic/p-ae071697.entry.js +0 -2
  190. package/dist/atomic/p-b06de6f8.entry.js +0 -2
  191. package/dist/atomic/p-b06de6f8.entry.js.map +0 -1
  192. package/dist/atomic/p-d0937472.entry.js +0 -2
  193. package/dist/atomic/p-d1fbb20a.entry.js +0 -2
  194. package/dist/atomic/p-e62caa78.entry.js +0 -2
  195. package/dist/atomic/p-f654697b.entry.js +0 -2
  196. package/dist/atomic/p-f654697b.entry.js.map +0 -1
  197. package/dist/atomic/p-f800678c.entry.js +0 -2
  198. package/dist/atomic/p-f800678c.entry.js.map +0 -1
  199. package/dist/atomic/p-fd7a8926.entry.js +0 -2
  200. package/dist/atomic/p-ff23598b.entry.js.map +0 -1
  201. package/dist/cjs/display-options-10f84088.js.map +0 -1
  202. package/dist/cjs/stencil-suggestion-manager-83efa596.js.map +0 -1
  203. package/dist/esm/display-options-b7c33617.js.map +0 -1
  204. package/dist/esm/stencil-suggestion-manager-c1c4298e.js.map +0 -1
  205. /package/dist/atomic/{p-f9911f6e.entry.js.map → p-2387e379.entry.js.map} +0 -0
  206. /package/dist/atomic/{p-87eafe2f.entry.js.map → p-77727995.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["atomicFoldedResultListCss","AtomicFoldedResultListStyle0","AtomicFoldedResultList","this","loadingFlag","randomID","display","resultTemplateRegistered","templateHasError","isAppLoaded","density","imageSize","tabsIncluded","tabsExcluded","numberOfFoldedResults","setRenderFunction","resultRenderingFunction","resolveFoldedResultList","event","preventDefault","stopPropagation","detail","foldedResultList","loadCollection","focusTarget","nextNewResultTarget","FocusTargetController","initialize","initFolding","resultsPerPage","buildResultsPerPage","bindings","engine","e","error","itemTemplateProvider","ItemTemplateProvider","includeDefaultTemplate","templateElements","Array","from","host","querySelectorAll","getResultTemplateRegistered","getTemplateHasError","setResultTemplateRegistered","value","setTemplateHasError","itemListCommon","ItemListCommon","engineSubscribe","subscribe","getCurrentNumberOfItems","foldedResultListState","results","length","getIsLoading","isLoading","nextNewItemTarget","store","tabManager","buildTabManager","createAppLoadedListener","props","options","buildFoldedResultList","folding","collectionField","parentField","childField","watchTabManagerState","newValue","oldValue","activeTab","unsetLoadingFlag","render","shouldDisplayOnCurrentTab","tabManagerState","h","Hidden","updateBreakpoints","listClasses","computeListDisplayClasses","ItemListGuard","hasError","firstRequestExecuted","firstSearchExecuted","hasItems","hasResults","hasTemplate","DisplayWrapper","ResultsPlaceholdersGuard","displayPlaceholders","numberOfPlaceholders","resultsPerPageState","numberOfResults","ItemDisplayGuard","map","collection","i","propsForAtomicResult","getPropsForAtomicResult","part","ref","element","setNewResultRef","getItemListDisplayClasses","result","extractUnfoldedItem","interactiveResult","buildInteractiveResult","renderingFunction","key","getResultId","uniqueId","searchResponseId","content","getTemplateContent","__decorate","InitializeBindings","BindStateToController","ArrayProp"],"sources":["src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.pcss?tag=atomic-folded-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {FoldedItemListStateContextEvent} from '@/src/components/common/item-list/item-list-decorators';\nimport {\n ResultsPerPageState,\n ResultsPerPage,\n buildFoldedResultList,\n FoldedResultList,\n FoldedResultListState,\n buildResultsPerPage,\n ResultListProps,\n FoldedCollection,\n buildInteractiveResult,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n Prop,\n Listen,\n Method,\n h,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../../utils/tab-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\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 ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-folded-result-list` component is responsible for displaying folded query results, by applying one or more result templates for up to three layers (i.e., to the result, child and grandchild).\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n */\n@Component({\n tag: 'atomic-folded-result-list',\n styleUrl: 'atomic-folded-result-list.pcss',\n shadow: true,\n})\nexport class AtomicFoldedResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public foldedResultList!: FoldedResultList;\n public resultsPerPage!: ResultsPerPage;\n private resultRenderingFunction: ItemRenderingFunction;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemTemplateProvider!: ItemTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private display: ItemDisplayLayout = 'list';\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('foldedResultList')\n @State()\n public foldedResultListState!: FoldedResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n public resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private templateHasError = false;\n @State() private isAppLoaded = false;\n\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}) density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true}) imageSize: ItemDisplayImageSize = 'icon';\n /**\n * The tabs on which the folded result list can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-folded-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list snippet>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this folded result list must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-folded-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n /**\n * The name of the field on which to do the folding. The folded result list component will use the values of this field to resolve the collections of result items.\n *\n * @defaultValue `foldingcollection`\n */\n @Prop({reflect: true}) public collectionField?: string;\n /**\n * The name of the field that determines whether a certain result is a top result containing other child results within a collection.\n *\n * @defaultValue `foldingparent`\n */\n @Prop({reflect: true}) public parentField?: string;\n /**\n * The name of the field that uniquely identifies a result within a collection.\n *\n * @defaultValue `foldingchild`\n */\n @Prop({reflect: true}) public childField?: string;\n\n /**\n * The initial number of child results to request for each folded collection, before expansion.\n *\n * @defaultValue `2`\n *\n * @example For an email thread with a total of 20 messages, using the default value of `2` will request the top two child messages, based on the current sort criteria and query, to be returned as children of the parent message.\n * The user can then click to expand the collection and see the remaining messages that match the current query (i.e., not necessarily all remaining 18 messages). Those messages will be sorted based on the current sort criteria (i.e., not necessarily by date).\n * For more info on Result Folding, see [Result Folding](https://docs.coveo.com/en/1884).\n **/\n @Prop({reflect: true}) public numberOfFoldedResults = 2;\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, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.resultRenderingFunction = resultRenderingFunction;\n }\n\n @Listen('atomic/resolveFoldedResultList')\n resolveFoldedResultList(event: FoldedItemListStateContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.foldedResultList);\n }\n\n @Listen('atomic/loadCollection')\n loadCollection(event: CustomEvent<FoldedCollection>) {\n event.preventDefault();\n event.stopPropagation();\n this.foldedResultList.loadCollection(event.detail);\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n try {\n this.foldedResultList = this.initFolding();\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n } catch (e) {\n this.error = e as Error;\n }\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-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: () => this.foldedResultListState.results.length,\n getIsLoading: () => this.foldedResultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.tabManager = buildTabManager(this.bindings.engine);\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private initFolding(\n props: ResultListProps = {options: {}}\n ): FoldedResultList {\n return buildFoldedResultList(this.bindings.engine, {\n options: {\n ...props.options,\n folding: {\n collectionField: this.collectionField,\n parentField: this.parentField,\n childField: this.childField,\n numberOfFoldedResults: this.numberOfFoldedResults,\n },\n },\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState.activeTab\n )\n ) {\n return <Hidden></Hidden>;\n }\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <ItemListGuard\n hasError={this.foldedResultListState.hasError}\n firstRequestExecuted={this.foldedResultListState.firstSearchExecuted}\n hasItems={this.foldedResultListState.hasResults}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n >\n <DisplayWrapper listClasses={listClasses} display={this.display}>\n <ResultsPlaceholdersGuard\n density={this.density}\n imageSize={this.imageSize}\n display={this.display}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={\n this.foldedResultListState.firstSearchExecuted\n }\n hasItems={this.foldedResultListState.hasResults}\n >\n {this.foldedResultListState.results.map((collection, i) => {\n const propsForAtomicResult =\n this.getPropsForAtomicResult(collection);\n return (\n <atomic-result\n {...propsForAtomicResult}\n part=\"outline\"\n ref={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n ></atomic-result>\n );\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n );\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.foldedResultListState.firstSearchExecuted &&\n this.foldedResultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private getPropsForAtomicResult(collection: FoldedCollection) {\n const result = extractUnfoldedItem(collection);\n\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result: collection,\n renderingFunction: this.resultRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n result.uniqueId,\n this.foldedResultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["atomicFoldedResultListCss","AtomicFoldedResultListStyle0","AtomicFoldedResultList","this","loadingFlag","randomID","display","resultTemplateRegistered","templateHasError","isAppLoaded","density","imageSize","tabsIncluded","tabsExcluded","numberOfFoldedResults","setRenderFunction","resultRenderingFunction","resolveFoldedResultList","event","preventDefault","stopPropagation","detail","foldedResultList","loadCollection","focusTarget","nextNewResultTarget","FocusTargetController","initialize","initFolding","resultsPerPage","buildResultsPerPage","bindings","engine","e","error","itemTemplateProvider","ItemTemplateProvider","includeDefaultTemplate","templateElements","Array","from","host","querySelectorAll","getResultTemplateRegistered","getTemplateHasError","setResultTemplateRegistered","value","setTemplateHasError","itemListCommon","ItemListCommon","engineSubscribe","subscribe","getCurrentNumberOfItems","foldedResultListState","results","length","getIsLoading","isLoading","nextNewItemTarget","store","tabManager","buildTabManager","createAppLoadedListener","props","options","buildFoldedResultList","folding","collectionField","parentField","childField","watchTabManagerState","newValue","oldValue","activeTab","unsetLoadingFlag","render","shouldDisplayOnCurrentTab","tabManagerState","h","Hidden","updateBreakpoints","listClasses","computeListDisplayClasses","ItemListGuard","hasError","firstRequestExecuted","firstSearchExecuted","hasItems","hasResults","hasTemplate","DisplayWrapper","ResultsPlaceholdersGuard","displayPlaceholders","numberOfPlaceholders","resultsPerPageState","numberOfResults","ItemDisplayGuard","map","collection","i","propsForAtomicResult","getPropsForAtomicResult","part","ref","element","setNewResultRef","getItemListDisplayClasses","result","extractUnfoldedItem","interactiveResult","buildInteractiveResult","renderingFunction","key","getResultId","uniqueId","searchResponseId","content","getTemplateContent","__decorate","InitializeBindings","BindStateToController","ArrayProp"],"sources":["src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.pcss?tag=atomic-folded-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {FoldedItemListStateContextEvent} from '@/src/components/common/item-list/item-list-decorators';\nimport {\n ResultsPerPageState,\n ResultsPerPage,\n buildFoldedResultList,\n FoldedResultList,\n FoldedResultListState,\n buildResultsPerPage,\n ResultListProps,\n FoldedCollection,\n buildInteractiveResult,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n Prop,\n Listen,\n Method,\n h,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../../utils/tab-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\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 ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-folded-result-list` component is responsible for displaying folded query results, by applying one or more result templates for up to three layers (i.e., to the result, child and grandchild).\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n */\n@Component({\n tag: 'atomic-folded-result-list',\n styleUrl: 'atomic-folded-result-list.pcss',\n shadow: true,\n})\nexport class AtomicFoldedResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public foldedResultList!: FoldedResultList;\n public resultsPerPage!: ResultsPerPage;\n private resultRenderingFunction: ItemRenderingFunction;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemTemplateProvider!: ItemTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private display: ItemDisplayLayout = 'list';\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('foldedResultList')\n @State()\n public foldedResultListState!: FoldedResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n public resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private templateHasError = false;\n @State() private isAppLoaded = false;\n\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}) density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true}) imageSize: ItemDisplayImageSize = 'icon';\n /**\n * The tabs on which the folded result list can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-folded-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list snippet>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this folded result list must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-folded-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n /**\n * The name of the field on which to do the folding. The folded result list component will use the values of this field to resolve the collections of result items.\n *\n * @defaultValue `foldingcollection`\n */\n @Prop({reflect: true}) public collectionField?: string;\n /**\n * The name of the field that determines whether a certain result is a top result containing other child results within a collection.\n *\n * @defaultValue `foldingparent`\n */\n @Prop({reflect: true}) public parentField?: string;\n /**\n * The name of the field that uniquely identifies a result within a collection.\n *\n * @defaultValue `foldingchild`\n */\n @Prop({reflect: true}) public childField?: string;\n\n /**\n * The initial number of child results to request for each folded collection, before expansion.\n *\n * @defaultValue `2`\n *\n * @example For an email thread with a total of 20 messages, using the default value of `2` will request the top two child messages, based on the current sort criteria and query, to be returned as children of the parent message.\n * The user can then click to expand the collection and see the remaining messages that match the current query (i.e., not necessarily all remaining 18 messages). Those messages will be sorted based on the current sort criteria (i.e., not necessarily by date).\n * For more info on Result Folding, see [Result Folding](https://docs.coveo.com/en/1884).\n **/\n @Prop({reflect: true}) public numberOfFoldedResults = 2;\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, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.resultRenderingFunction = resultRenderingFunction;\n }\n\n @Listen('atomic/resolveFoldedResultList')\n resolveFoldedResultList(event: FoldedItemListStateContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.foldedResultList);\n }\n\n @Listen('atomic/loadCollection')\n loadCollection(event: CustomEvent<FoldedCollection>) {\n event.preventDefault();\n event.stopPropagation();\n this.foldedResultList.loadCollection(event.detail);\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n try {\n this.foldedResultList = this.initFolding();\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n } catch (e) {\n this.error = e as Error;\n }\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-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: () => this.foldedResultListState.results.length,\n getIsLoading: () => this.foldedResultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.tabManager = buildTabManager(this.bindings.engine);\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private initFolding(\n props: ResultListProps = {options: {}}\n ): FoldedResultList {\n return buildFoldedResultList(this.bindings.engine, {\n options: {\n ...props.options,\n folding: {\n collectionField: this.collectionField,\n parentField: this.parentField,\n childField: this.childField,\n numberOfFoldedResults: this.numberOfFoldedResults,\n },\n },\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState.activeTab\n )\n ) {\n return <Hidden></Hidden>;\n }\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <ItemListGuard\n hasError={this.foldedResultListState.hasError}\n firstRequestExecuted={this.foldedResultListState.firstSearchExecuted}\n hasItems={this.foldedResultListState.hasResults}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n >\n <DisplayWrapper listClasses={listClasses} display={this.display}>\n <ResultsPlaceholdersGuard\n density={this.density}\n imageSize={this.imageSize}\n display={this.display}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={\n this.foldedResultListState.firstSearchExecuted\n }\n hasItems={this.foldedResultListState.hasResults}\n >\n {this.foldedResultListState.results.map((collection, i) => {\n const propsForAtomicResult =\n this.getPropsForAtomicResult(collection);\n return (\n <atomic-result\n {...propsForAtomicResult}\n part=\"outline\"\n ref={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n ></atomic-result>\n );\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n );\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.foldedResultListState.firstSearchExecuted &&\n this.foldedResultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private getPropsForAtomicResult(collection: FoldedCollection) {\n const result = extractUnfoldedItem(collection);\n\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result: collection,\n renderingFunction: this.resultRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n result.uniqueId,\n this.foldedResultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}