@coveo/atomic 3.32.4-pre.cd7631fc39 → 3.32.4-pre.d14a5b50cf

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 (130) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/analytics-config.js +1 -1
  3. package/dist/atomic/components/atomic-folded-result-list.js +1 -1
  4. package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
  5. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  6. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  7. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  8. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  9. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  10. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  11. package/dist/atomic/components/atomic-recs-list.js +1 -1
  12. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  13. package/dist/atomic/components/atomic-result-list.js +1 -1
  14. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  15. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  16. package/dist/atomic/components/atomic-result-table-placeholder2.js.map +1 -1
  17. package/dist/atomic/components/atomic-search-interface.js +3 -3
  18. package/dist/atomic/components/atomic-search-interface.js.map +1 -1
  19. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +2 -2
  20. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.tw.css.js +3 -2
  21. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +2 -2
  22. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.tw.css.js +3 -2
  23. package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +3 -3
  24. package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.js +2 -2
  25. package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.tw.css.js +3 -2
  26. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +2 -2
  27. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.tw.css.js +3 -2
  28. package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.js +3 -3
  29. package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.js +2 -2
  30. package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.js +3 -2
  31. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.js +2 -2
  32. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.js +3 -2
  33. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +3 -3
  34. package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.js +3 -3
  35. package/dist/atomic/components/components/commerce/atomic-product/atomic-product.js +2 -2
  36. package/dist/atomic/components/components/commerce/atomic-product/atomic-product.tw.css.js +3 -2
  37. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -2
  38. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.tw.css.js +3 -2
  39. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +5 -6
  40. package/dist/atomic/components/components/common/atomic-rating/atomic-rating.tw.css.js +2 -1
  41. package/dist/atomic/components/global/environment.js +1 -1
  42. package/dist/atomic/components/utils/coveo.tw.css.js +1 -1
  43. package/dist/atomic/p-005dcc88.entry.js +2 -0
  44. package/dist/atomic/{p-08d7290a.entry.js.map → p-005dcc88.entry.js.map} +1 -1
  45. package/dist/atomic/{p-b23fd1d3.entry.js → p-0129cde5.entry.js} +2 -2
  46. package/dist/atomic/{p-3192a56c.entry.js → p-2203a8d0.entry.js} +2 -2
  47. package/dist/atomic/{p-3192a56c.entry.js.map → p-2203a8d0.entry.js.map} +1 -1
  48. package/dist/atomic/{p-64963829.entry.js → p-3bda3e96.entry.js} +2 -2
  49. package/dist/atomic/{p-64963829.entry.js.map → p-3bda3e96.entry.js.map} +1 -1
  50. package/dist/atomic/p-58fe83ae.entry.js +2 -0
  51. package/dist/atomic/{p-1899894c.entry.js.map → p-58fe83ae.entry.js.map} +1 -1
  52. package/dist/atomic/p-62dbc255.entry.js +2 -0
  53. package/dist/atomic/{p-a13ee8b3.entry.js.map → p-62dbc255.entry.js.map} +1 -1
  54. package/dist/atomic/{p-b99739cf.entry.js → p-743620d4.entry.js} +2 -2
  55. package/dist/atomic/p-8d0b9f5a.entry.js +2 -0
  56. package/dist/atomic/{p-0dc84319.entry.js.map → p-8d0b9f5a.entry.js.map} +1 -1
  57. package/dist/atomic/{p-8ef7e37a.entry.js → p-91d64c67.entry.js} +2 -2
  58. package/dist/atomic/{p-8ef7e37a.entry.js.map → p-91d64c67.entry.js.map} +1 -1
  59. package/dist/atomic/{p-5c1711ce.js → p-a203bf53.js} +2 -2
  60. package/dist/atomic/p-f9289f2f.entry.js +2 -0
  61. package/dist/atomic/{p-3ace419e.entry.js.map → p-f9289f2f.entry.js.map} +1 -1
  62. package/dist/cjs/{analytics-config-e6628bd8.js → analytics-config-b1b04617.js} +2 -2
  63. package/dist/cjs/{analytics-config-e6628bd8.js.map → analytics-config-b1b04617.js.map} +1 -1
  64. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +1 -1
  65. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  66. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  67. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  68. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  69. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  70. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  71. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  72. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  73. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  74. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  75. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  76. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  77. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  78. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
  79. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
  80. package/dist/cjs/atomic-search-interface.cjs.entry.js +4 -4
  81. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
  82. package/dist/cjs/version.cjs.js +2 -2
  83. package/dist/esm/{analytics-config-8ca6ccba.js → analytics-config-a7d78861.js} +2 -2
  84. package/dist/esm/{analytics-config-8ca6ccba.js.map → analytics-config-a7d78861.js.map} +1 -1
  85. package/dist/esm/atomic-folded-result-list.entry.js +1 -1
  86. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  87. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  88. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  89. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  90. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  91. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  92. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  93. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  94. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  95. package/dist/esm/atomic-recs-list.entry.js +1 -1
  96. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  97. package/dist/esm/atomic-result-list.entry.js +1 -1
  98. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  99. package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
  100. package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
  101. package/dist/esm/atomic-search-interface.entry.js +4 -4
  102. package/dist/esm/atomic-search-interface.entry.js.map +1 -1
  103. package/dist/esm/version.js +2 -2
  104. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.tw.css.d.ts +2 -0
  105. package/dist/types/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.tw.css.d.ts +2 -0
  106. package/dist/types/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.tw.css.d.ts +2 -0
  107. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.tw.css.d.ts +2 -0
  108. package/dist/types/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.d.ts +2 -0
  109. package/dist/types/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.d.ts +2 -0
  110. package/dist/types/components/commerce/atomic-product/atomic-product.tw.css.d.ts +2 -0
  111. package/dist/types/components/commerce/atomic-product-link/atomic-product-link.tw.css.d.ts +2 -0
  112. package/dist/types/components/commerce/atomic-product-rating/atomic-product-rating.d.ts +1 -1
  113. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +1 -1
  114. package/dist/types/components.d.ts +1 -1
  115. package/docs/atomic-docs.json +2 -2
  116. package/package.json +3 -3
  117. package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.tw.css.js +0 -3
  118. package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.tw.css.js +0 -3
  119. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.tw.css.js +0 -3
  120. package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.tw.css.js +0 -3
  121. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.tw.css.js +0 -2
  122. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.tw.css.js +0 -3
  123. package/dist/atomic/p-08d7290a.entry.js +0 -2
  124. package/dist/atomic/p-0dc84319.entry.js +0 -2
  125. package/dist/atomic/p-1899894c.entry.js +0 -2
  126. package/dist/atomic/p-3ace419e.entry.js +0 -2
  127. package/dist/atomic/p-a13ee8b3.entry.js +0 -2
  128. /package/dist/atomic/{p-b23fd1d3.entry.js.map → p-0129cde5.entry.js.map} +0 -0
  129. /package/dist/atomic/{p-b99739cf.entry.js.map → p-743620d4.entry.js.map} +0 -0
  130. /package/dist/atomic/{p-5c1711ce.js.map → p-a203bf53.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["atomicInsightFoldedResultListCss","AtomicInsightFoldedResultListStyle0","AtomicInsightFoldedResultList","this","loadingFlag","randomID","display","resultTemplateRegistered","isAppLoaded","templateHasError","density","imageSize","setRenderFunction","resultRenderingFunction","itemRenderingFunction","resolveFoldedResultList","event","preventDefault","stopPropagation","detail","foldedResultList","loadCollection","initialize","initFolding","resultsPerPage","buildInsightResultsPerPage","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","focusTarget","store","createAppLoadedListener","nextNewResultTarget","FocusTargetController","props","options","buildInsightFoldedResultList","folding","collectionField","parentField","childField","render","updateBreakpoints","listClasses","computeListDisplayClasses","h","ItemListGuard","key","firstRequestExecuted","firstSearchExecuted","hasItems","hasResults","hasTemplate","hasError","DisplayWrapper","ResultsPlaceholdersGuard","displayPlaceholders","numberOfPlaceholders","resultsPerPageState","numberOfResults","ItemDisplayGuard","map","collection","i","atomicInsightResultProps","getPropsForAtomicInsightResult","part","ref","element","setNewResultRef","getItemListDisplayClasses","result","extractUnfoldedItem","interactiveResult","buildInsightInteractiveResult","renderingFunction","getResultId","uniqueId","searchResponseId","content","getTemplateContent","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.pcss?tag=atomic-insight-folded-result-list&encapsulation=shadow","src/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.tsx"],"sourcesContent":["@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../styles/list-display.pcss';\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultsPerPageState as InsightResultsPerPageState,\n ResultsPerPage as InsightResultsPerPage,\n buildFoldedResultList as buildInsightFoldedResultList,\n FoldedResultList as InsightFoldedResultList,\n FoldedResultListState as InsightFoldedResultListState,\n buildResultsPerPage as buildInsightResultsPerPage,\n FoldedCollection as InsightFoldedCollection,\n buildInteractiveResult as buildInsightInteractiveResult,\n} from '@coveo/headless/insight';\nimport {\n Component,\n Element,\n State,\n Prop,\n Listen,\n Method,\n h,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {FoldedItemListStateContextEvent} from '../../../common/item-list/item-list-decorators';\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 {InsightBindings} from '../../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-folded-result-list',\n styleUrl: 'atomic-insight-folded-result-list.pcss',\n shadow: true,\n})\nexport class AtomicInsightFoldedResultList\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public foldedResultList!: InsightFoldedResultList;\n public resultsPerPage!: InsightResultsPerPage;\n private itemRenderingFunction: ItemRenderingFunction;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemTemplateProvider!: ItemTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private display: ItemDisplayLayout = 'list';\n private itemListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('foldedResultList')\n @State()\n public foldedResultListState!: InsightFoldedResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n public resultsPerPageState!: InsightResultsPerPageState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n @State() private templateHasError = 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 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 * 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.itemRenderingFunction = 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<InsightFoldedCollection>) {\n event.preventDefault();\n event.stopPropagation();\n this.foldedResultList.loadCollection(event.detail);\n }\n\n public initialize() {\n try {\n this.foldedResultList = this.initFolding();\n this.resultsPerPage = buildInsightResultsPerPage(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-insight-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 createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private get focusTarget(): FocusTargetController {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private initFolding(props = {options: {}}): InsightFoldedResultList {\n return buildInsightFoldedResultList(this.bindings.engine, {\n options: {\n ...props.options,\n folding: {\n collectionField: this.collectionField,\n parentField: this.parentField,\n childField: this.childField,\n },\n },\n });\n }\n\n public render() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <ItemListGuard\n firstRequestExecuted={this.foldedResultListState.firstSearchExecuted}\n hasItems={this.foldedResultListState.hasResults}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n hasError={this.foldedResultListState.hasError}\n >\n <DisplayWrapper listClasses={listClasses} display={this.display}>\n <ResultsPlaceholdersGuard\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n display={this.display}\n density={this.density}\n imageSize={this.imageSize}\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 atomicInsightResultProps =\n this.getPropsForAtomicInsightResult(collection);\n return (\n <atomic-insight-result\n {...atomicInsightResultProps}\n part=\"outline\"\n ref={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n ></atomic-insight-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 getPropsForAtomicInsightResult(collection: InsightFoldedCollection) {\n const result = extractUnfoldedItem(collection);\n\n return {\n interactiveResult: buildInsightInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\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 display: this.display,\n imageSize: this.imageSize,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["atomicInsightFoldedResultListCss","AtomicInsightFoldedResultListStyle0","AtomicInsightFoldedResultList","this","loadingFlag","randomID","display","resultTemplateRegistered","isAppLoaded","templateHasError","density","imageSize","setRenderFunction","resultRenderingFunction","itemRenderingFunction","resolveFoldedResultList","event","preventDefault","stopPropagation","detail","foldedResultList","loadCollection","initialize","initFolding","resultsPerPage","buildInsightResultsPerPage","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","focusTarget","store","createAppLoadedListener","nextNewResultTarget","FocusTargetController","props","options","buildInsightFoldedResultList","folding","collectionField","parentField","childField","render","updateBreakpoints","listClasses","computeListDisplayClasses","h","ItemListGuard","key","firstRequestExecuted","firstSearchExecuted","hasItems","hasResults","hasTemplate","hasError","DisplayWrapper","ResultsPlaceholdersGuard","displayPlaceholders","numberOfPlaceholders","resultsPerPageState","numberOfResults","ItemDisplayGuard","map","collection","i","atomicInsightResultProps","getPropsForAtomicInsightResult","part","ref","element","setNewResultRef","getItemListDisplayClasses","result","extractUnfoldedItem","interactiveResult","buildInsightInteractiveResult","renderingFunction","getResultId","uniqueId","searchResponseId","content","getTemplateContent","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.pcss?tag=atomic-insight-folded-result-list&encapsulation=shadow","src/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.tsx"],"sourcesContent":["@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../styles/list-display.pcss';\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultsPerPageState as InsightResultsPerPageState,\n ResultsPerPage as InsightResultsPerPage,\n buildFoldedResultList as buildInsightFoldedResultList,\n FoldedResultList as InsightFoldedResultList,\n FoldedResultListState as InsightFoldedResultListState,\n buildResultsPerPage as buildInsightResultsPerPage,\n FoldedCollection as InsightFoldedCollection,\n buildInteractiveResult as buildInsightInteractiveResult,\n} from '@coveo/headless/insight';\nimport {\n Component,\n Element,\n State,\n Prop,\n Listen,\n Method,\n h,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {FoldedItemListStateContextEvent} from '../../../common/item-list/item-list-decorators';\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 {InsightBindings} from '../../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-folded-result-list',\n styleUrl: 'atomic-insight-folded-result-list.pcss',\n shadow: true,\n})\nexport class AtomicInsightFoldedResultList\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public foldedResultList!: InsightFoldedResultList;\n public resultsPerPage!: InsightResultsPerPage;\n private itemRenderingFunction: ItemRenderingFunction;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemTemplateProvider!: ItemTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private display: ItemDisplayLayout = 'list';\n private itemListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('foldedResultList')\n @State()\n public foldedResultListState!: InsightFoldedResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n public resultsPerPageState!: InsightResultsPerPageState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n @State() private templateHasError = 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 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 * 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.itemRenderingFunction = 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<InsightFoldedCollection>) {\n event.preventDefault();\n event.stopPropagation();\n this.foldedResultList.loadCollection(event.detail);\n }\n\n public initialize() {\n try {\n this.foldedResultList = this.initFolding();\n this.resultsPerPage = buildInsightResultsPerPage(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-insight-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 createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private get focusTarget(): FocusTargetController {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private initFolding(props = {options: {}}): InsightFoldedResultList {\n return buildInsightFoldedResultList(this.bindings.engine, {\n options: {\n ...props.options,\n folding: {\n collectionField: this.collectionField,\n parentField: this.parentField,\n childField: this.childField,\n },\n },\n });\n }\n\n public render() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <ItemListGuard\n firstRequestExecuted={this.foldedResultListState.firstSearchExecuted}\n hasItems={this.foldedResultListState.hasResults}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n hasError={this.foldedResultListState.hasError}\n >\n <DisplayWrapper listClasses={listClasses} display={this.display}>\n <ResultsPlaceholdersGuard\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n display={this.display}\n density={this.density}\n imageSize={this.imageSize}\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 atomicInsightResultProps =\n this.getPropsForAtomicInsightResult(collection);\n return (\n <atomic-insight-result\n {...atomicInsightResultProps}\n part=\"outline\"\n ref={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n ></atomic-insight-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 getPropsForAtomicInsightResult(collection: InsightFoldedCollection) {\n const result = extractUnfoldedItem(collection);\n\n return {\n interactiveResult: buildInsightInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\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 display: this.display,\n imageSize: this.imageSize,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}