@coveo/atomic 3.34.0-pre.96ab0b80d1 → 3.34.0-pre.9a633e3b9d
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.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-field-condition.js +1 -1
- package/dist/atomic/components/atomic-field-condition.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-children-template.js +1 -1
- package/dist/atomic/components/atomic-insight-result-children-template.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-template.js +1 -1
- package/dist/atomic/components/atomic-insight-result-template.js.map +1 -1
- package/dist/atomic/components/atomic-recs-result-template.js +1 -1
- package/dist/atomic/components/atomic-recs-result-template.js.map +1 -1
- package/dist/atomic/components/atomic-result-children-template.js +1 -1
- package/dist/atomic/components/atomic-result-children-template.js.map +1 -1
- package/dist/atomic/components/atomic-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-template.js +1 -1
- package/dist/atomic/components/atomic-result-template.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +4 -3
- package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +4 -3
- package/dist/atomic/components/components/common/item-list/table-layout.js +1 -1
- package/dist/atomic/components/components/common/product-template/product-template-controller.js +16 -81
- package/dist/atomic/components/components/common/template-controller/base-template-controller.js +89 -0
- package/dist/atomic/components/components/common/{product-template/product-template-common.js → template-controller/template-utils.js} +11 -12
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/{result-template-common.js → stencil-result-template-common.js} +1 -1
- package/dist/atomic/components/stencil-result-template-common.js.map +1 -0
- package/dist/atomic/components/table-element-utils.js.map +1 -1
- package/dist/atomic/{p-98ff1324.entry.js → p-1acc1046.entry.js} +2 -2
- package/dist/atomic/{p-7fd5b6ac.entry.js → p-2213060b.entry.js} +2 -2
- package/dist/atomic/p-2213060b.entry.js.map +1 -0
- package/dist/atomic/{p-e7a25b00.entry.js → p-2895c42c.entry.js} +2 -2
- package/dist/atomic/p-2895c42c.entry.js.map +1 -0
- package/dist/atomic/{p-57e55bf7.js → p-3424fe89.js} +2 -2
- package/dist/atomic/{p-2250f505.js → p-4da8f827.js} +2 -2
- package/dist/atomic/p-4da8f827.js.map +1 -0
- package/dist/atomic/{p-62e85c20.entry.js → p-6694e114.entry.js} +2 -2
- package/dist/atomic/p-6694e114.entry.js.map +1 -0
- package/dist/atomic/{p-a1e5f767.entry.js → p-86f950a5.entry.js} +2 -2
- package/dist/atomic/p-86f950a5.entry.js.map +1 -0
- package/dist/atomic/{p-7e0d63ad.entry.js → p-951253ac.entry.js} +2 -2
- package/dist/atomic/{p-373448df.entry.js → p-a46d36dd.entry.js} +2 -2
- package/dist/atomic/p-a46d36dd.entry.js.map +1 -0
- package/dist/atomic/{p-acd1a1d3.js → p-be0518ae.js} +1 -1
- package/dist/atomic/p-be0518ae.js.map +1 -0
- package/dist/atomic/{p-9260dd7d.entry.js → p-ebd00891.entry.js} +2 -2
- package/dist/atomic/p-ebd00891.entry.js.map +1 -0
- package/dist/atomic/{p-af1b4924.entry.js → p-f676b5ba.entry.js} +2 -2
- package/dist/atomic/p-f676b5ba.entry.js.map +1 -0
- package/dist/cjs/{analytics-config-5c0182f7.js → analytics-config-44e9a962.js} +2 -2
- package/dist/cjs/{analytics-config-5c0182f7.js.map → analytics-config-44e9a962.js.map} +1 -1
- package/dist/cjs/atomic-field-condition.cjs.entry.js +3 -3
- package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +5 -5
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-template.cjs.entry.js +5 -5
- package/dist/cjs/atomic-insight-result-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-result-template.cjs.entry.js +5 -5
- package/dist/cjs/atomic-recs-result-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children-template.cjs.entry.js +4 -4
- package/dist/cjs/atomic-result-children-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-template.cjs.entry.js +4 -4
- package/dist/cjs/atomic-result-template.cjs.entry.js.map +1 -1
- package/dist/cjs/{result-template-common-84bd4057.js → stencil-result-template-common-bb38948f.js} +2 -2
- package/dist/cjs/stencil-result-template-common-bb38948f.js.map +1 -0
- package/dist/cjs/{table-element-utils-4865b735.js → table-element-utils-2cc6dc82.js} +1 -1
- package/dist/cjs/table-element-utils-2cc6dc82.js.map +1 -0
- package/dist/cjs/version.cjs.js +1 -1
- package/dist/esm/{analytics-config-131cb4db.js → analytics-config-8e298bb3.js} +2 -2
- package/dist/esm/{analytics-config-131cb4db.js.map → analytics-config-8e298bb3.js.map} +1 -1
- package/dist/esm/atomic-field-condition.entry.js +2 -2
- package/dist/esm/atomic-field-condition.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-result-children-template.entry.js +2 -2
- package/dist/esm/atomic-insight-result-children-template.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-template.entry.js +2 -2
- package/dist/esm/atomic-insight-result-template.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-result-template.entry.js +2 -2
- package/dist/esm/atomic-recs-result-template.entry.js.map +1 -1
- package/dist/esm/atomic-result-children-template.entry.js +2 -2
- package/dist/esm/atomic-result-children-template.entry.js.map +1 -1
- package/dist/esm/atomic-result-list.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-result-template.entry.js +2 -2
- package/dist/esm/atomic-result-template.entry.js.map +1 -1
- package/dist/esm/{result-template-common-995b94f8.js → stencil-result-template-common-19af5cfb.js} +2 -2
- package/dist/esm/stencil-result-template-common-19af5cfb.js.map +1 -0
- package/dist/esm/{table-element-utils-49d22ec6.js → table-element-utils-1dbc5ef6.js} +1 -1
- package/dist/esm/table-element-utils-1dbc5ef6.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/common/product-template/product-template-controller.d.ts +9 -19
- package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +1 -1
- package/dist/types/components/common/result-templates/result-template-controller.d.ts +16 -0
- package/dist/types/components/common/template-controller/base-template-controller.d.ts +36 -0
- package/dist/types/components/common/template-controller/template-utils.d.ts +11 -0
- package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +1 -1
- package/dist/types/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.d.ts +1 -1
- package/docs/atomic-docs.json +1 -1
- package/package.json +1 -1
- package/dist/atomic/components/result-template-common.js.map +0 -1
- package/dist/atomic/p-2250f505.js.map +0 -1
- package/dist/atomic/p-373448df.entry.js.map +0 -1
- package/dist/atomic/p-62e85c20.entry.js.map +0 -1
- package/dist/atomic/p-7fd5b6ac.entry.js.map +0 -1
- package/dist/atomic/p-9260dd7d.entry.js.map +0 -1
- package/dist/atomic/p-a1e5f767.entry.js.map +0 -1
- package/dist/atomic/p-acd1a1d3.js.map +0 -1
- package/dist/atomic/p-af1b4924.entry.js.map +0 -1
- package/dist/atomic/p-e7a25b00.entry.js.map +0 -1
- package/dist/cjs/result-template-common-84bd4057.js.map +0 -1
- package/dist/cjs/table-element-utils-4865b735.js.map +0 -1
- package/dist/esm/result-template-common-995b94f8.js.map +0 -1
- package/dist/esm/table-element-utils-49d22ec6.js.map +0 -1
- package/dist/types/components/common/product-template/product-template-common.d.ts +0 -6
- /package/dist/atomic/components/components/{search/atomic-table-result → common}/table-element-utils.js +0 -0
- /package/dist/atomic/{p-98ff1324.entry.js.map → p-1acc1046.entry.js.map} +0 -0
- /package/dist/atomic/{p-57e55bf7.js.map → p-3424fe89.js.map} +0 -0
- /package/dist/atomic/{p-7e0d63ad.entry.js.map → p-951253ac.entry.js.map} +0 -0
- /package/dist/types/components/common/result-templates/{result-template-common.d.ts → stencil-result-template-common.d.ts} +0 -0
- /package/dist/types/components/{search/atomic-table-result → common}/table-element-utils.d.ts +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["getFieldTableColumns","props","itemRenderingFunction","getFieldTableColumnsFromRenderingFunction","getFieldTableColumnsFromHTMLTemplate","contentOfRenderingFunction","document","createElement","contentOfRenderingFunctionAsString","firstItem","innerHTML","Array","from","querySelectorAll","tableElementTagName","templateContentForFirstItem","DisplayTable","children","fieldColumns","length","logger","error","host","h","class","listClasses","part","map","column","value","getAttribute","DisplayTableRow","key","rowIndex","setRef","ref","element","DisplayTableData","renderItem","TabGuard","tabsIncluded","tabsExcluded","activeTab","shouldDisplayOnCurrentTab","Hidden","Fragment","atomicResultListCss","AtomicResultListStyle0","AtomicResultList","this","loadingFlag","randomID","resultTemplateRegistered","isAppLoaded","templateHasError","display","density","imageSize","setRenderFunction","resultRenderingFunction","focusTarget","nextNewResultTarget","FocusTargetController","initialize","includes","console","warn","tabManager","buildTabManager","bindings","engine","resultList","buildResultList","resultsPerPage","buildResultsPerPage","itemTemplateProvider","ItemTemplateProvider","includeDefaultTemplate","templateElements","getResultTemplateRegistered","getTemplateHasError","setResultTemplateRegistered","setTemplateHasError","resultListCommon","ItemListCommon","engineSubscribe","subscribe","getCurrentNumberOfItems","resultListState","results","getIsLoading","isLoading","nextNewItemTarget","store","createAppLoadedListener","watchTabManagerState","newValue","oldValue","unsetLoadingFlag","render","updateBreakpoints","computeListDisplayClasses","tabManagerState","ItemListGuard","hasError","hasTemplate","firstRequestExecuted","firstSearchExecuted","hasItems","hasResults","DisplayWrapper","ResultsPlaceholdersGuard","displayPlaceholders","numberOfPlaceholders","resultsPerPageState","numberOfResults","ItemDisplayGuard","renderAsTable","renderAsGrid","renderAsList","getPropsForAtomicResult","result","interactiveResult","buildInteractiveResult","options","renderingFunction","getResultId","uniqueId","searchResponseId","content","getTemplateContent","linkContent","getLinkTemplateContent","getEmptyLinkTemplateContent","getItemListDisplayClasses","i","propsForAtomicResult","DisplayGrid","selectorForItem","item","setNewResultRef","propsForTableColumns","__decorate","InitializeBindings","BindStateToController","ArrayProp"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\nexport interface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\nexport interface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\nexport interface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} 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 {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\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 {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\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 * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private 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 isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the 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-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the 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 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-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the 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 /**\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 * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\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 if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\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.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.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 @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 this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\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.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -2158,7 +2158,7 @@ function getWindow() {
|
|
2158
2158
|
}
|
2159
2159
|
function getAtomicEnvironment(headlessVersion) {
|
2160
2160
|
return {
|
2161
|
-
version: "3.34.0-pre.
|
2161
|
+
version: "3.34.0-pre.9a633e3b9d",
|
2162
2162
|
headlessVersion,
|
2163
2163
|
};
|
2164
2164
|
}
|
@@ -2924,4 +2924,4 @@ exports.getNextAnalyticsConfig = getNextAnalyticsConfig;
|
|
2924
2924
|
exports.instance = instance;
|
2925
2925
|
exports.mismatchedInterfaceAndEnginePropError = mismatchedInterfaceAndEnginePropError;
|
2926
2926
|
|
2927
|
-
//# sourceMappingURL=analytics-config-
|
2927
|
+
//# sourceMappingURL=analytics-config-44e9a962.js.map
|