@coveo/atomic 3.32.4-pre.cd7631fc39 → 3.32.4-pre.d601eb7f07
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-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
- package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
- package/dist/atomic/components/atomic-recs-list.js +1 -1
- package/dist/atomic/components/atomic-recs-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-result-table-placeholder2.js.map +1 -1
- package/dist/atomic/components/atomic-search-interface.js +3 -3
- package/dist/atomic/components/atomic-search-interface.js.map +1 -1
- package/dist/atomic/components/atomic-timeframe.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.js +4 -4
- package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-product/atomic-product.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-product/atomic-product.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.tw.css.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +5 -6
- package/dist/atomic/components/components/common/atomic-rating/atomic-rating.tw.css.js +2 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/utils/coveo.tw.css.js +1 -1
- package/dist/atomic/p-005dcc88.entry.js +2 -0
- package/dist/atomic/{p-08d7290a.entry.js.map → p-005dcc88.entry.js.map} +1 -1
- package/dist/atomic/{p-b99739cf.entry.js → p-394bb225.entry.js} +2 -2
- package/dist/atomic/{p-64963829.entry.js → p-3bda3e96.entry.js} +2 -2
- package/dist/atomic/{p-64963829.entry.js.map → p-3bda3e96.entry.js.map} +1 -1
- package/dist/atomic/{p-3192a56c.entry.js → p-41b88804.entry.js} +2 -2
- package/dist/atomic/{p-3192a56c.entry.js.map → p-41b88804.entry.js.map} +1 -1
- package/dist/atomic/p-58fe83ae.entry.js +2 -0
- package/dist/atomic/{p-1899894c.entry.js.map → p-58fe83ae.entry.js.map} +1 -1
- package/dist/atomic/p-62dbc255.entry.js +2 -0
- package/dist/atomic/{p-a13ee8b3.entry.js.map → p-62dbc255.entry.js.map} +1 -1
- package/dist/atomic/{p-5c1711ce.js → p-7b3cf5a8.js} +2 -2
- package/dist/atomic/p-8d0b9f5a.entry.js +2 -0
- package/dist/atomic/{p-0dc84319.entry.js.map → p-8d0b9f5a.entry.js.map} +1 -1
- package/dist/atomic/{p-8ef7e37a.entry.js → p-91d64c67.entry.js} +2 -2
- package/dist/atomic/{p-8ef7e37a.entry.js.map → p-91d64c67.entry.js.map} +1 -1
- package/dist/atomic/p-ba52e9f3.entry.js.map +1 -1
- package/dist/atomic/{p-b23fd1d3.entry.js → p-f5732a86.entry.js} +2 -2
- package/dist/atomic/p-f9289f2f.entry.js +2 -0
- package/dist/atomic/{p-3ace419e.entry.js.map → p-f9289f2f.entry.js.map} +1 -1
- package/dist/cjs/{analytics-config-e6628bd8.js → analytics-config-a71c1424.js} +2 -2
- package/dist/cjs/{analytics-config-e6628bd8.js.map → analytics-config-a71c1424.js.map} +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.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-placeholder_8.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +4 -4
- package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-timeframe.cjs.entry.js.map +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/{analytics-config-8ca6ccba.js → analytics-config-c9e5b4d4.js} +2 -2
- package/dist/esm/{analytics-config-8ca6ccba.js.map → analytics-config-c9e5b4d4.js.map} +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-list.entry.js +1 -1
- package/dist/esm/atomic-recs-list.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-placeholder_8.entry.js +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
- package/dist/esm/atomic-search-interface.entry.js +4 -4
- package/dist/esm/atomic-search-interface.entry.js.map +1 -1
- package/dist/esm/atomic-timeframe.entry.js.map +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-product/atomic-product.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-product-link/atomic-product-link.tw.css.d.ts +2 -0
- package/dist/types/components/commerce/atomic-product-rating/atomic-product-rating.d.ts +1 -1
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +1 -1
- package/dist/types/components.d.ts +1 -1
- package/docs/atomic-docs.json +2 -2
- package/package.json +3 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.tw.css.js +0 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.tw.css.js +0 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.tw.css.js +0 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.tw.css.js +0 -3
- package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.tw.css.js +0 -2
- package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.tw.css.js +0 -3
- package/dist/atomic/p-08d7290a.entry.js +0 -2
- package/dist/atomic/p-0dc84319.entry.js +0 -2
- package/dist/atomic/p-1899894c.entry.js +0 -2
- package/dist/atomic/p-3ace419e.entry.js +0 -2
- package/dist/atomic/p-a13ee8b3.entry.js +0 -2
- /package/dist/atomic/{p-b99739cf.entry.js.map → p-394bb225.entry.js.map} +0 -0
- /package/dist/atomic/{p-5c1711ce.js.map → p-7b3cf5a8.js.map} +0 -0
- /package/dist/atomic/{p-b23fd1d3.entry.js.map → p-f5732a86.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-result-placeholder.atomic-result-section-actions.atomic-result-section-badges.atomic-result-section-bottom-metadata.atomic-result-section-excerpt.atomic-result-section-title.atomic-result-section-visual.atomic-result-table-placeholder.entry.cjs.js","mappings":"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","names":["placeholderClasses","h","getItemDisplayClasses","hideEmptySection"],"sources":["src/components/common/atomic-result-placeholder/atomic-result-placeholder.pcss?tag=atomic-result-placeholder&encapsulation=shadow","src/components/common/atomic-result-placeholder/atomic-result-placeholder.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-actions.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-badges.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-bottom-metadata.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-excerpt.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-title.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-visual.tsx","src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.pcss?tag=atomic-result-table-placeholder&encapsulation=shadow","src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\n@import '../template-system/template-system.pcss';\n\n:host {\n @apply atomic-template-system;\n\n .result-root {\n &.display-grid {\n atomic-result-section-actions {\n display: none;\n }\n }\n\n .badge {\n width: 14rem;\n }\n\n .action {\n width: 10rem;\n }\n\n .title {\n display: grid;\n grid-auto-flow: column;\n grid-gap: 0.5rem;\n height: var(--line-height);\n width: 30rem;\n max-width: 100%;\n }\n\n .fields-placeholder {\n display: grid;\n grid-template-columns: repeat(auto-fill, min(11rem, 40%));\n grid-column-gap: 0.5rem;\n\n .field-value-placeholder {\n height: var(--font-size);\n margin: calc((var(--line-height) - var(--font-size)) / 2) 0;\n }\n }\n }\n}\n","import {Component, h, Prop} from '@stencil/core';\nimport {\n ItemDisplayLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n getItemDisplayClasses,\n} from '../../common/layout/display-options';\n\nconst placeholderClasses = 'block bg-neutral w-full h-full rounded';\n\n/**\n * The `atomic-result-placeholder` component provides an intermediate visual state that is rendered before the first results are available.\n * @internal\n */\n@Component({\n tag: 'atomic-result-placeholder',\n styleUrl: 'atomic-result-placeholder.pcss',\n shadow: true,\n})\nexport class AtomicResultPlaceholder {\n @Prop() display!: ItemDisplayLayout;\n @Prop() density!: ItemDisplayDensity;\n @Prop() imageSize!: ItemDisplayImageSize;\n\n private renderExcerptLine(width: string) {\n return (\n <div\n style={{\n height: 'var(--line-height)',\n width,\n }}\n >\n <div\n class={placeholderClasses}\n style={{height: 'var(--font-size)'}}\n ></div>\n </div>\n );\n }\n\n public render() {\n return (\n <div\n class={`result-root placeholder with-sections animate-pulse ${getItemDisplayClasses(\n this.display,\n this.density,\n this.imageSize\n )\n .join(' ')\n .trim()}`}\n >\n <atomic-result-section-visual>\n <div class={placeholderClasses}></div>\n </atomic-result-section-visual>\n <atomic-result-section-badges>\n <div class={`badge ${placeholderClasses}`}></div>\n </atomic-result-section-badges>\n <atomic-result-section-actions>\n <div class={`action ${placeholderClasses}`}></div>\n </atomic-result-section-actions>\n <atomic-result-section-title>\n <div class={`title ${placeholderClasses}`}></div>\n </atomic-result-section-title>\n <atomic-result-section-excerpt>\n {this.renderExcerptLine('100%')}\n {this.renderExcerptLine('95%')}\n {this.renderExcerptLine('98%')}\n </atomic-result-section-excerpt>\n <atomic-result-section-bottom-metadata>\n <div class=\"fields-placeholder\">\n {Array.from({length: 4}, () => (\n <div\n class={`field-value-placeholder ${placeholderClasses}`}\n ></div>\n ))}\n </div>\n </atomic-result-section-bottom-metadata>\n </div>\n );\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section allows the information seeker to perform an action on an item without having to view its details.\n * For example, in Commerce you can add an item to the cart directly or add it to a wish list to view at a later time.\n *\n * Behavior:\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * ** You should ensure that elements inside of it have `height: var(--line-height)`.\n * * Is a wrapping flexbox with a gap.\n * * May appear over, next to, or beneath the visual section.\n */\n@Component({\n tag: 'atomic-result-section-actions',\n shadow: false,\n})\nexport class AtomicResultSectionActions {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section provides badges that highlight special features of the item.\n *\n * Behavior:\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * ** You should ensure that elements inside of it have `height: var(--line-height)`.\n * * Is a wrapping flexbox with a gap.\n * * May appear over, next to, or beneath the visual section.\n */\n@Component({\n tag: 'atomic-result-section-badges',\n shadow: false,\n})\nexport class AtomicResultSectionBadges {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section displays additional descriptive information about the item.\n *\n * Behavior:\n * * Has a maximum height of two lines.\n * ** We recommend that you use `atomic-result-fields-list` to ensure that the fields in this section don’t overflow.\n * * Exposes the `--line-height` variable so child elements can adjust to the current line height.\n * * Has a defined CSS `color` property for text.\n * * Has a font weight.\n */\n@Component({\n tag: 'atomic-result-section-bottom-metadata',\n shadow: false,\n})\nexport class AtomicResultSectionBottomMetadata {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section contains an informative summary of the item's content.\n *\n * Behavior:\n * * Has a fixed height of one to three lines, depending on the layout and density.\n * * Ellipses overflowing text.\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * * Has a defined CSS `color` property for text.\n */\n@Component({\n tag: 'atomic-result-section-excerpt',\n shadow: false,\n})\nexport class AtomicResultSectionExcerpt {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section identifies the item by its name, and its main use is to make the result list scannable.\n * This is usually the page title.\n *\n * Behavior:\n * * Has a fixed height of two lines on grid layouts.\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * * Has a defined CSS `color` property for text.\n */\n@Component({\n tag: 'atomic-result-section-title',\n shadow: false,\n})\nexport class AtomicResultSectionTitle {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component, Prop} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\nimport {ItemDisplayImageSize} from '../../../common/layout/display-options';\n\n/**\n * This section provides visual information about the item.\n * For example, in Commerce, an image is a great shorthand for a product category.\n * An icon can quickly show the item type, or an avatar can help identify to whom it is related.\n *\n * Behavior:\n * * Has a fixed size that depends on the specified image size, the layout, the density, and the screen size.\n * ** When the image size is set to `icon`, this section stays very small.\n * ** You should ensure that elements inside of it take the available space.\n * * Always has a 1:1 aspect ratio.\n */\n@Component({\n tag: 'atomic-result-section-visual',\n shadow: false,\n})\nexport class AtomicResultSectionVisual {\n @Element() private host!: HTMLElement;\n\n /**\n * How large or small the visual section of results using this template should be.\n */\n @Prop({reflect: true}) public imageSize?: ItemDisplayImageSize;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n\n:host {\n display: grid;\n}\n\n.list-root.display-table {\n @apply atomic-result-table border-neutral rounded-xl border;\n\n thead tr,\n tbody tr:not(:last-child) {\n position: relative;\n\n &::after {\n content: ' ';\n display: block;\n position: absolute;\n height: 1px;\n bottom: 0;\n left: var(--padding);\n right: var(--padding);\n @apply bg-neutral;\n }\n }\n\n th,\n td {\n border-color: transparent;\n border-radius: initial;\n }\n\n th {\n background-color: transparent;\n }\n}\n","import {Component, h, Prop} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n getItemDisplayClasses,\n} from '../../common/layout/display-options';\n\nconst placeholderClasses = 'block bg-neutral rounded';\n\n/**\n * The `atomic-result-table-placeholder` component provides an intermediate visual state that is rendered before the first results are available.\n * @internal\n */\n@Component({\n tag: 'atomic-result-table-placeholder',\n styleUrl: 'atomic-result-table-placeholder.pcss',\n shadow: true,\n})\nexport class AtomicResultTablePlaceholder {\n @Prop() density!: ItemDisplayDensity;\n @Prop() imageSize!: ItemDisplayImageSize;\n @Prop() rows!: number;\n\n private getClasses() {\n return getItemDisplayClasses('table', this.density, this.imageSize);\n }\n\n public render() {\n return (\n <table class={`list-root animate-pulse ${this.getClasses().join(' ')}`}>\n <thead>\n <tr>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '14.5rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '9.75rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '6.5rem'}}\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n {Array.from({length: this.rows}, () => (\n <tr>\n <td>\n <div\n class={`mb-6 h-8 ${placeholderClasses}`}\n style={{width: '22.875rem'}}\n ></div>\n <div\n class={`mb-2 h-5 ${placeholderClasses}`}\n style={{width: '23.75rem'}}\n ></div>\n <div\n class={`h-5 ${placeholderClasses}`}\n style={{width: '11.5rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '11rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '4.875rem'}}\n ></div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-result-placeholder.atomic-result-section-actions.atomic-result-section-badges.atomic-result-section-bottom-metadata.atomic-result-section-excerpt.atomic-result-section-title.atomic-result-section-visual.atomic-result-table-placeholder.entry.cjs.js","mappings":"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","names":["placeholderClasses","h","getItemDisplayClasses","hideEmptySection"],"sources":["src/components/common/atomic-result-placeholder/atomic-result-placeholder.pcss?tag=atomic-result-placeholder&encapsulation=shadow","src/components/common/atomic-result-placeholder/atomic-result-placeholder.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-actions.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-badges.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-bottom-metadata.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-excerpt.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-title.tsx","src/components/search/result-template-components/atomic-result-sections/atomic-result-section-visual.tsx","src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.pcss?tag=atomic-result-table-placeholder&encapsulation=shadow","src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\n@import '../template-system/template-system.pcss';\n\n:host {\n @apply atomic-template-system;\n\n .result-root {\n &.display-grid {\n atomic-result-section-actions {\n display: none;\n }\n }\n\n .badge {\n width: 14rem;\n }\n\n .action {\n width: 10rem;\n }\n\n .title {\n display: grid;\n grid-auto-flow: column;\n grid-gap: 0.5rem;\n height: var(--line-height);\n width: 30rem;\n max-width: 100%;\n }\n\n .fields-placeholder {\n display: grid;\n grid-template-columns: repeat(auto-fill, min(11rem, 40%));\n grid-column-gap: 0.5rem;\n\n .field-value-placeholder {\n height: var(--font-size);\n margin: calc((var(--line-height) - var(--font-size)) / 2) 0;\n }\n }\n }\n}\n","import {Component, h, Prop} from '@stencil/core';\nimport {\n ItemDisplayLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n getItemDisplayClasses,\n} from '../../common/layout/display-options';\n\nconst placeholderClasses = 'block bg-neutral w-full h-full rounded';\n\n/**\n * The `atomic-result-placeholder` component provides an intermediate visual state that is rendered before the first results are available.\n * @internal\n */\n@Component({\n tag: 'atomic-result-placeholder',\n styleUrl: 'atomic-result-placeholder.pcss',\n shadow: true,\n})\nexport class AtomicResultPlaceholder {\n @Prop() display!: ItemDisplayLayout;\n @Prop() density!: ItemDisplayDensity;\n @Prop() imageSize!: ItemDisplayImageSize;\n\n private renderExcerptLine(width: string) {\n return (\n <div\n style={{\n height: 'var(--line-height)',\n width,\n }}\n >\n <div\n class={placeholderClasses}\n style={{height: 'var(--font-size)'}}\n ></div>\n </div>\n );\n }\n\n public render() {\n return (\n <div\n class={`result-root placeholder with-sections animate-pulse ${getItemDisplayClasses(\n this.display,\n this.density,\n this.imageSize\n )\n .join(' ')\n .trim()}`}\n >\n <atomic-result-section-visual>\n <div class={placeholderClasses}></div>\n </atomic-result-section-visual>\n <atomic-result-section-badges>\n <div class={`badge ${placeholderClasses}`}></div>\n </atomic-result-section-badges>\n <atomic-result-section-actions>\n <div class={`action ${placeholderClasses}`}></div>\n </atomic-result-section-actions>\n <atomic-result-section-title>\n <div class={`title ${placeholderClasses}`}></div>\n </atomic-result-section-title>\n <atomic-result-section-excerpt>\n {this.renderExcerptLine('100%')}\n {this.renderExcerptLine('95%')}\n {this.renderExcerptLine('98%')}\n </atomic-result-section-excerpt>\n <atomic-result-section-bottom-metadata>\n <div class=\"fields-placeholder\">\n {Array.from({length: 4}, () => (\n <div\n class={`field-value-placeholder ${placeholderClasses}`}\n ></div>\n ))}\n </div>\n </atomic-result-section-bottom-metadata>\n </div>\n );\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section allows the information seeker to perform an action on an item without having to view its details.\n * For example, in Commerce you can add an item to the cart directly or add it to a wish list to view at a later time.\n *\n * Behavior:\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * ** You should ensure that elements inside of it have `height: var(--line-height)`.\n * * Is a wrapping flexbox with a gap.\n * * May appear over, next to, or beneath the visual section.\n */\n@Component({\n tag: 'atomic-result-section-actions',\n shadow: false,\n})\nexport class AtomicResultSectionActions {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section provides badges that highlight special features of the item.\n *\n * Behavior:\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * ** You should ensure that elements inside of it have `height: var(--line-height)`.\n * * Is a wrapping flexbox with a gap.\n * * May appear over, next to, or beneath the visual section.\n */\n@Component({\n tag: 'atomic-result-section-badges',\n shadow: false,\n})\nexport class AtomicResultSectionBadges {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section displays additional descriptive information about the item.\n *\n * Behavior:\n * * Has a maximum height of two lines.\n * ** We recommend that you use `atomic-result-fields-list` to ensure that the fields in this section don’t overflow.\n * * Exposes the `--line-height` variable so child elements can adjust to the current line height.\n * * Has a defined CSS `color` property for text.\n * * Has a font weight.\n */\n@Component({\n tag: 'atomic-result-section-bottom-metadata',\n shadow: false,\n})\nexport class AtomicResultSectionBottomMetadata {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section contains an informative summary of the item's content.\n *\n * Behavior:\n * * Has a fixed height of one to three lines, depending on the layout and density.\n * * Ellipses overflowing text.\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * * Has a defined CSS `color` property for text.\n */\n@Component({\n tag: 'atomic-result-section-excerpt',\n shadow: false,\n})\nexport class AtomicResultSectionExcerpt {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\n\n/**\n * This section identifies the item by its name, and its main use is to make the result list scannable.\n * This is usually the page title.\n *\n * Behavior:\n * * Has a fixed height of two lines on grid layouts.\n * * Exposes the `--line-height` CSS variable so child elements can adjust to the current line height.\n * * Has a defined CSS `color` property for text.\n */\n@Component({\n tag: 'atomic-result-section-title',\n shadow: false,\n})\nexport class AtomicResultSectionTitle {\n @Element() private host!: HTMLElement;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","import {Element, Component, Prop} from '@stencil/core';\nimport {hideEmptySection} from '../../../../utils/item-section-utils';\nimport {ItemDisplayImageSize} from '../../../common/layout/display-options';\n\n/**\n * This section provides visual information about the item.\n * For example, in Commerce, an image is a great shorthand for a product category.\n * An icon can quickly show the item type, or an avatar can help identify to whom it is related.\n *\n * Behavior:\n * * Has a fixed size that depends on the specified image size, the layout, the density, and the screen size.\n * ** When the image size is set to `icon`, this section stays very small.\n * ** You should ensure that elements inside of it take the available space.\n * * Always has a 1:1 aspect ratio.\n */\n@Component({\n tag: 'atomic-result-section-visual',\n shadow: false,\n})\nexport class AtomicResultSectionVisual {\n @Element() private host!: HTMLElement;\n\n /**\n * How large or small the visual section of results using this template should be.\n */\n @Prop({reflect: true}) public imageSize?: ItemDisplayImageSize;\n\n public componentDidRender() {\n hideEmptySection(this.host);\n }\n}\n","@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n\n:host {\n display: grid;\n}\n\n.list-root.display-table {\n @apply atomic-result-table border-neutral rounded-xl border;\n\n thead tr,\n tbody tr:not(:last-child) {\n position: relative;\n\n &::after {\n content: ' ';\n display: block;\n position: absolute;\n height: 1px;\n bottom: 0;\n left: var(--padding);\n right: var(--padding);\n @apply bg-neutral;\n }\n }\n\n th,\n td {\n border-color: transparent;\n border-radius: initial;\n }\n\n th {\n background-color: transparent;\n }\n}\n","import {Component, h, Prop} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n getItemDisplayClasses,\n} from '../../common/layout/display-options';\n\nconst placeholderClasses = 'block bg-neutral rounded';\n\n/**\n * The `atomic-result-table-placeholder` component provides an intermediate visual state that is rendered before the first results are available.\n * @internal\n */\n@Component({\n tag: 'atomic-result-table-placeholder',\n styleUrl: 'atomic-result-table-placeholder.pcss',\n shadow: true,\n})\nexport class AtomicResultTablePlaceholder {\n @Prop() density!: ItemDisplayDensity;\n @Prop() imageSize!: ItemDisplayImageSize;\n @Prop() rows!: number;\n\n private getClasses() {\n return getItemDisplayClasses('table', this.density, this.imageSize);\n }\n\n public render() {\n return (\n <table class={`list-root animate-pulse ${this.getClasses().join(' ')}`}>\n <thead>\n <tr>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '14.5rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '9.75rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '6.5rem'}}\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n {Array.from({length: this.rows}, () => (\n <tr>\n <td>\n <div\n class={`mb-6 h-8 ${placeholderClasses}`}\n style={{width: '22.875rem'}}\n ></div>\n <div\n class={`mb-2 h-5 ${placeholderClasses}`}\n style={{width: '23.75rem'}}\n ></div>\n <div\n class={`h-5 ${placeholderClasses}`}\n style={{width: '11.5rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '11rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '4.875rem'}}\n ></div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"],"version":3}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-757bc886.js');
|
|
6
6
|
const initQueue = require('./init-queue-a18aa323.js');
|
|
7
7
|
const headless = require('@coveo/headless');
|
|
8
|
-
const analyticsConfig = require('./analytics-config-
|
|
8
|
+
const analyticsConfig = require('./analytics-config-a71c1424.js');
|
|
9
9
|
const localStorageUtils = require('./local-storage-utils-380ce22b.js');
|
|
10
10
|
const propsUtils = require('./props-utils-1e4ba1b0.js');
|
|
11
11
|
const searchLayout = require('./search-layout-419e7eb4.js');
|
|
@@ -306,7 +306,7 @@ const AtomicSearchInterface = class {
|
|
|
306
306
|
return this.internalInitialization(() => this.initEngine(options));
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
|
-
* Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/
|
|
309
|
+
* Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/modules/Search.html, as opposed to the `initialize` method, which will internally create a new search engine instance.
|
|
310
310
|
* This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.
|
|
311
311
|
*/
|
|
312
312
|
initializeWithSearchEngine(engine) {
|
|
@@ -482,8 +482,8 @@ const AtomicSearchInterface = class {
|
|
|
482
482
|
}
|
|
483
483
|
render() {
|
|
484
484
|
return [
|
|
485
|
-
this.engine && this.enableRelevanceInspector && (index.h("atomic-relevance-inspector", { key: '
|
|
486
|
-
index.h("slot", { key: '
|
|
485
|
+
this.engine && this.enableRelevanceInspector && (index.h("atomic-relevance-inspector", { key: '85549c49bd3ccd6a29e0cb3b841d9b745a62604d', open: this.relevanceInspectorIsOpen, bindings: this.bindings })),
|
|
486
|
+
index.h("slot", { key: '368de8a5f49519d94bbc7a70d55af93c7e4745c8' }),
|
|
487
487
|
];
|
|
488
488
|
}
|
|
489
489
|
static get assetsDirs() { return ["lang"]; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-search-interface.entry.cjs.js","mappings":"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","names":["getNextAnalyticsConfig","augmentAnalyticsConfigWithDocument","augmentAnalyticsConfigWithAtomicVersion","augmentWithExternalMiddleware","augmentAnalyticsWithAtomicVersion","store","createBaseStore","DEFAULT_MOBILE_BREAKPOINT","unsetLoadingFlag","setLoadingFlag","makeDesktopQuery","registerFacet","getFacetElements","waitUntilAppLoaded","CommonAtomicInterfaceHelper","i18next","setNonce","loadSearchConfigurationActions","mismatchedInterfaceAndEnginePropError","SafeStorage","StorageItems","loadQueryActions","EcommerceDefaultFieldsToInclude","loadFieldActions","buildSearchEngine","buildUrlManager","buildSearchStatus","noResultsSelector","errorSelector","firstSearchExecutedSelector","markParentAsReady","h","ArrayProp"],"sources":["src/components/search/atomic-search-interface/analytics-config.ts","src/components/search/atomic-search-interface/store.ts","src/components/search/atomic-search-interface/atomic-search-interface.pcss?tag=atomic-search-interface&encapsulation=shadow","src/components/search/atomic-search-interface/atomic-search-interface.tsx"],"sourcesContent":["import type {\n AnalyticsConfiguration,\n SearchEngineConfiguration,\n} from '@coveo/headless';\nimport {\n type AnalyticsPayload,\n augmentAnalyticsConfigWithAtomicVersion,\n augmentAnalyticsConfigWithDocument,\n augmentAnalyticsWithAtomicVersion,\n augmentWithExternalMiddleware,\n getNextAnalyticsConfig,\n} from '../../common/interface/analytics-config';\nimport type {createSearchStore} from './store';\n\nexport function getAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n switch (searchEngineConfig.analytics?.analyticsMode) {\n case 'next':\n return getNextAnalyticsConfig(searchEngineConfig, enabled);\n default:\n return getLegacyAnalyticsConfig(searchEngineConfig, enabled, store);\n }\n}\n\nfunction getLegacyAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n const analyticsClientMiddleware = (\n event: string,\n payload: AnalyticsPayload\n ) => augmentAnalytics(event, payload, store, searchEngineConfig);\n\n const defaultConfiguration: AnalyticsConfiguration = {\n analyticsClientMiddleware,\n enabled,\n ...augmentAnalyticsConfigWithDocument(),\n };\n\n const immutableConfiguration: AnalyticsConfiguration = {\n ...augmentAnalyticsConfigWithAtomicVersion(),\n };\n\n if (searchEngineConfig.analytics) {\n return {\n ...defaultConfiguration,\n ...searchEngineConfig.analytics,\n analyticsClientMiddleware,\n ...immutableConfiguration,\n };\n }\n\n return {\n ...defaultConfiguration,\n ...immutableConfiguration,\n };\n}\n\nfunction augmentAnalytics(\n event: string,\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>,\n config: SearchEngineConfiguration\n) {\n let result = augmentWithExternalMiddleware(event, payload, config);\n result = augmentAnalyticsWithAtomicVersion(result);\n result = augmentAnalyticsWithFacetTitles(result, store);\n return result;\n}\n\nfunction augmentAnalyticsWithFacetTitles(\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>\n) {\n const allFacets = store.getAllFacets();\n const getAtomicFacetLabelOrOriginalTitle = (\n facetId: string,\n originalTitle: string\n ) => (allFacets[facetId] ? allFacets[facetId].label() : originalTitle);\n\n if (payload.facetState) {\n payload.facetState = payload.facetState.map(\n (analyticsFacetState: {id: string; title: string}) => {\n const {id, title: originalTitle} = analyticsFacetState;\n return {\n ...analyticsFacetState,\n title: getAtomicFacetLabelOrOriginalTitle(id, originalTitle),\n };\n }\n );\n }\n\n if (\n payload.customData?.facetTitle &&\n payload.customData.facetId &&\n payload.customData.facetTitle\n ) {\n payload.customData.facetTitle = getAtomicFacetLabelOrOriginalTitle(\n payload.customData.facetId,\n payload.customData.facetTitle\n );\n }\n return payload;\n}\n","import type {\n DateFacetValue,\n NumericFacetValue,\n SearchEngine,\n SortCriterion,\n} from '@coveo/headless';\nimport {DEFAULT_MOBILE_BREAKPOINT} from '../../../utils/replace-breakpoint';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../../common/facets/facet-common-store';\nimport {\n type BaseStore,\n createBaseStore,\n getFacetElements,\n type ResultListInfo,\n registerFacet,\n setLoadingFlag,\n unsetLoadingFlag,\n waitUntilAppLoaded,\n} from '../../common/interface/store';\nimport {makeDesktopQuery} from '../atomic-layout/search-layout';\n\nexport interface SortDropdownOption {\n tabs: {included: string[] | string; excluded: string[] | string};\n expression: string;\n criteria: SortCriterion[];\n label: string;\n}\n\ninterface FacetInfoMap {\n [facetId: string]:\n | FacetInfo\n | (FacetInfo & FacetValueFormat<NumericFacetValue>)\n | (FacetInfo & FacetValueFormat<DateFacetValue>);\n}\n\ninterface Data {\n loadingFlags: string[];\n iconAssetsPath: string;\n resultList: ResultListInfo | undefined;\n mobileBreakpoint: string;\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n fieldsToInclude: string[];\n sortOptions: SortDropdownOption[];\n}\n\nexport type SearchStore = BaseStore<Data> & {\n unsetLoadingFlag(loadingFlag: string): void;\n setLoadingFlag(flag: string): void;\n isMobile(): boolean;\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ): void;\n getFacetElements(): HTMLElement[];\n waitUntilAppLoaded(callback: () => void): void;\n getUniqueIDFromEngine(engine: SearchEngine): string;\n hasLoadingFlag(loadingFlag: string): boolean;\n getAllFacets(): FacetInfoMap;\n addFieldsToInclude(fields: string[]): void;\n};\n\nexport function createSearchStore(): SearchStore {\n const store = createBaseStore<Data>({\n loadingFlags: [],\n iconAssetsPath: '',\n resultList: undefined,\n mobileBreakpoint: DEFAULT_MOBILE_BREAKPOINT,\n facets: {},\n numericFacets: {},\n dateFacets: {},\n categoryFacets: {},\n facetElements: [],\n fieldsToInclude: [],\n sortOptions: [],\n });\n\n return {\n ...store,\n\n unsetLoadingFlag(loadingFlag: string) {\n unsetLoadingFlag(store, loadingFlag);\n },\n\n setLoadingFlag(loadingFlag: string) {\n setLoadingFlag(store, loadingFlag);\n },\n\n isMobile() {\n return !window.matchMedia(makeDesktopQuery(store.state.mobileBreakpoint))\n .matches;\n },\n\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ) {\n registerFacet(store, facetType, data);\n },\n\n getFacetElements() {\n return getFacetElements(store);\n },\n\n waitUntilAppLoaded(callback: () => void) {\n waitUntilAppLoaded(store, callback);\n },\n\n getUniqueIDFromEngine(engine: SearchEngine): string {\n return engine.state.search.response.searchUid;\n },\n\n hasLoadingFlag(loadingFlag: string) {\n return store.state.loadingFlags.indexOf(loadingFlag) !== -1;\n },\n\n getAllFacets() {\n return {\n ...store.state.facets,\n ...store.state.dateFacets,\n ...store.state.categoryFacets,\n ...store.state.numericFacets,\n };\n },\n\n addFieldsToInclude(fields) {\n const currentFields = store.state.fieldsToInclude;\n store.state.fieldsToInclude = [...currentFields, ...fields];\n },\n };\n}\n","@import '../../../global/global.pcss';\n\n:host {\n display: block;\n height: inherit;\n width: inherit;\n & > slot {\n height: inherit;\n }\n}\n","import {markParentAsReady} from '@/src/utils/init-queue';\nimport {\n LogLevel,\n Unsubscribe,\n buildUrlManager,\n UrlManager,\n buildSearchEngine,\n SearchEngine,\n SearchEngineConfiguration,\n SearchStatus,\n buildSearchStatus,\n loadSearchConfigurationActions,\n loadQueryActions,\n EcommerceDefaultFieldsToInclude,\n loadFieldActions,\n} from '@coveo/headless';\nimport {\n Component,\n Prop,\n h,\n Listen,\n Method,\n Watch,\n Element,\n State,\n setNonce,\n} from '@stencil/core';\nimport i18next, {i18n} from 'i18next';\nimport {InitializeEvent} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {\n StencilBaseAtomicInterface,\n CommonAtomicInterfaceHelper,\n mismatchedInterfaceAndEnginePropError,\n} from '../../common/interface/interface-common-stencil';\nimport {\n errorSelector,\n firstSearchExecutedSelector,\n noResultsSelector,\n} from '../atomic-layout/search-layout';\nimport {getAnalyticsConfig} from './analytics-config';\nimport type {Bindings as _Bindings} from './interfaces';\nimport {createSearchStore, SearchStore} from './store';\n\nconst FirstSearchExecutedFlag = 'firstSearchExecuted';\nexport type InitializationOptions = SearchEngineConfiguration;\nexport type Bindings = _Bindings;\n\n/**\n * The `atomic-search-interface` component is the parent to all other atomic components in a search page. It handles the headless search engine and localization configurations.\n */\n@Component({\n tag: 'atomic-search-interface',\n styleUrl: 'atomic-search-interface.pcss',\n shadow: true,\n assetsDirs: ['lang'],\n})\nexport class AtomicSearchInterface\n implements StencilBaseAtomicInterface<SearchEngine>\n{\n private urlManager!: UrlManager;\n private searchStatus!: SearchStatus;\n private unsubscribeUrlManager: Unsubscribe = () => {};\n private unsubscribeSearchStatus: Unsubscribe = () => {};\n private initialized = false;\n private store: SearchStore;\n private commonInterfaceHelper: CommonAtomicInterfaceHelper<SearchEngine>;\n\n @Element() public host!: HTMLAtomicSearchInterfaceElement;\n\n @State() public error?: Error;\n @State() relevanceInspectorIsOpen = false;\n\n /**\n * A list of non-default fields to include in the query results.\n *\n * Specify the property as an array using a JSON string representation:\n * ```html\n * <atomic-search-interface fields-to-include='[\"fieldA\", \"fieldB\"]'></atomic-search-interface>\n * ```\n */\n @ArrayProp()\n @Prop({mutable: true})\n public fieldsToInclude: string[] | string = '[]';\n\n /**\n * The search interface [query pipeline](https://docs.coveo.com/en/180/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine), the query pipeline should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public pipeline?: string;\n\n /**\n * The search interface [search hub](https://docs.coveo.com/en/1342/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine, the search hub should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public searchHub?: string;\n\n /**\n * Whether analytics should be enabled.\n */\n @Prop({reflect: true}) public analytics = true;\n\n /**\n * The [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) identifier of the time zone to use to correctly interpret dates in the query expression, facets, and result items.\n * By default, the timezone will be [guessed](https://day.js.org/docs/en/timezone/guessing-user-timezone).\n *\n * Example: \"America/Montreal\"\n */\n @Prop({reflect: true}) public timezone?: string;\n\n /**\n * The severity level of the messages to log in the console.\n */\n @Prop({reflect: true}) public logLevel?: LogLevel;\n\n /**\n * The search interface i18next instance.\n */\n @Prop() public i18n: i18n;\n\n /**\n * The search interface language.\n */\n @Prop({reflect: true}) public language = 'en';\n\n /**\n * The search interface headless engine.\n */\n @Prop({mutable: true}) public engine?: SearchEngine;\n\n /**\n * Whether the state should be reflected in the URL parameters.\n */\n @Prop({reflect: true}) public reflectStateInUrl = true;\n\n /**\n * The CSS selector for the container where the interface will scroll back to.\n */\n @Prop({reflect: true}) public scrollContainer = 'atomic-search-interface';\n\n /**\n * The language assets path. By default, this will be a relative URL pointing to `./lang`.\n *\n * Example: \"/mypublicpath/languages\"\n *\n */\n @Prop({reflect: true}) public languageAssetsPath = './lang';\n\n /**\n * The icon assets path. By default, this will be a relative URL pointing to `./assets`.\n *\n * Example: \"/mypublicpath/icons\"\n *\n */\n @Prop({reflect: true}) public iconAssetsPath = './assets';\n\n /**\n * Whether the relevance inspector shortcut should be enabled for this interface.\n *\n * The relevance inspector can be opened by holding the Alt key (Option on Mac) while over the interface, and performing a double click.\n *\n * The relevance inspector allows to troubleshoot and debug queries.\n */\n @Prop({reflect: true}) public enableRelevanceInspector = true;\n\n /**\n * The value to set the [nonce](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) attribute to on inline script and style elements generated by this interface and its child components.\n * If your application is served with a Content Security Policy (CSP) that doesn't include the `script-src: 'unsafe-inline'` or `style-src: 'unsafe-inline'` directives,\n * you should ensure that your application server generates a new nonce on every page load and uses the generated value to set this prop and serve the corresponding CSP response headers\n * (i.e., script-src 'nonce-<YOUR_GENERATED_NONCE>' and style-src 'nonce-<YOUR_GENERATED_NONCE>').\n * Otherwise you may see console errors such as\n * - Refused to execute inline script because it violates the following Content Security Policy directive: [...]\n * - Refused to apply inline style because it violates the following Content Security Policy directive: [...].\n * @example:\n * ```html\n * <script nonce=\"<YOUR_GENERATED_NONCE>\">\n * import {setNonce} from '@coveo/atomic';\n * setNonce('<YOUR_GENERATED_NONCE>');\n * </script>\n * ```\n */\n @Prop({reflect: true}) public CspNonce?: string;\n\n private i18Initialized: Promise<void>;\n private componentWillLoadCalledPromise: Promise<void>;\n private componentWillLoadResolver: () => void;\n public constructor() {\n this.initRelevanceInspector();\n this.commonInterfaceHelper = new CommonAtomicInterfaceHelper(\n this,\n 'CoveoAtomic'\n );\n this.store = createSearchStore();\n ({\n promise: this.componentWillLoadCalledPromise,\n resolve: this.componentWillLoadResolver,\n } = Promise.withResolvers<void>());\n const {promise, resolve} = Promise.withResolvers<void>();\n this.i18Initialized = promise;\n this.i18n = i18next.createInstance(undefined, resolve);\n }\n\n public connectedCallback() {\n this.store.setLoadingFlag(FirstSearchExecutedFlag);\n this.updateMobileBreakpoint();\n }\n\n componentWillLoad() {\n if (this.CspNonce) {\n setNonce(this.CspNonce);\n }\n this.initAriaLive();\n this.initFieldsToInclude();\n this.componentWillLoadResolver();\n }\n\n public updateSearchConfiguration(\n updatedProp: 'searchHub' | 'pipeline',\n newValue: string | undefined\n ) {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (this.engine.state[updatedProp] === newValue) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n [updatedProp]: newValue,\n })\n );\n }\n\n @Watch('searchHub')\n public updateSearchHub() {\n this.updateSearchConfiguration('searchHub', this.searchHub ?? 'default');\n }\n\n @Watch('pipeline')\n public updatePipeline() {\n this.updateSearchConfiguration('pipeline', this.pipeline);\n }\n\n @Watch('analytics')\n public toggleAnalytics() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n this.commonInterfaceHelper.onAnalyticsChange();\n }\n\n @Watch('language')\n public updateLanguage() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n locale: this.language,\n })\n );\n return this.commonInterfaceHelper.onLanguageChange();\n }\n\n @Watch('iconAssetsPath')\n public updateIconAssetsPath() {\n this.store.state.iconAssetsPath = this.iconAssetsPath;\n }\n\n public disconnectedCallback() {\n this.unsubscribeUrlManager();\n this.unsubscribeSearchStatus();\n window.removeEventListener('hashchange', this.onHashChange);\n }\n\n @Listen('atomic/initializeComponent')\n public handleInitialization(event: InitializeEvent) {\n this.commonInterfaceHelper.onComponentInitializing(event);\n }\n\n @Listen('atomic/scrollToTop')\n public scrollToTop() {\n const scrollContainerElement = document.querySelector(this.scrollContainer);\n if (!scrollContainerElement) {\n this.bindings.engine.logger.warn(\n `Could not find the scroll container with the selector \"${this.scrollContainer}\". This will prevent UX interactions that require a scroll from working correctly. Please check the CSS selector in the scrollContainer option`\n );\n return;\n }\n\n scrollContainerElement.scrollIntoView({behavior: 'smooth'});\n }\n\n @Listen('atomic/relevanceInspector/close')\n public closeRelevanceInspector() {\n this.relevanceInspectorIsOpen = false;\n }\n\n /**\n * Initializes the connection with the headless search engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.\n */\n @Method() public initialize(options: InitializationOptions) {\n return this.internalInitialization(() => this.initEngine(options));\n }\n\n /**\n * Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/search/), as opposed to the `initialize` method, which will internally create a new search engine instance.\n * This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.\n */\n @Method() public initializeWithSearchEngine(engine: SearchEngine) {\n if (this.pipeline && this.pipeline !== engine.state.pipeline) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'query pipeline')\n );\n }\n if (this.searchHub && this.searchHub !== engine.state.searchHub) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'search hub')\n );\n }\n return this.internalInitialization(() => (this.engine = engine));\n }\n\n /**\n *\n * Executes the first search and logs the interface load event to analytics, after initializing connection to the headless search engine.\n */\n @Method() public async executeFirstSearch() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (!this.initialized) {\n console.error(\n 'You have to wait until the \"initialize\" promise is fulfilled before executing a search.',\n this.host\n );\n return;\n }\n\n const safeStorage = new SafeStorage();\n const standaloneSearchBoxData =\n safeStorage.getParsedJSON<StandaloneSearchBoxData | null>(\n StorageItems.STANDALONE_SEARCH_BOX_DATA,\n null\n );\n\n if (!standaloneSearchBoxData) {\n this.engine.executeFirstSearch();\n return;\n }\n\n safeStorage.removeItem(StorageItems.STANDALONE_SEARCH_BOX_DATA);\n const {updateQuery} = loadQueryActions(this.engine!);\n const {value, enableQuerySyntax, analytics} = standaloneSearchBoxData;\n this.engine!.dispatch(updateQuery({q: value, enableQuerySyntax}));\n this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);\n }\n\n public get bindings(): Bindings {\n return {\n engine: this.engine!,\n i18n: this.i18n,\n store: this.store,\n interfaceElement: this.host,\n createStyleElement: () => {\n const styleTag = document.createElement('style');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n createScriptElement: () => {\n const styleTag = document.createElement('script');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n };\n }\n\n private initFieldsToInclude() {\n const fields = EcommerceDefaultFieldsToInclude.concat(this.fieldsToInclude);\n this.store.addFieldsToInclude(fields);\n }\n\n public registerFieldsToInclude() {\n this.engine?.dispatch(\n loadFieldActions(this.engine!).registerFieldsToInclude(\n this.store.state.fieldsToInclude\n )\n );\n }\n\n private updateMobileBreakpoint() {\n const breakpoint = this.host.querySelector(\n 'atomic-search-layout'\n )?.mobileBreakpoint;\n if (breakpoint) {\n this.store.state.mobileBreakpoint = breakpoint;\n }\n }\n\n private initEngine(options: InitializationOptions) {\n const searchConfig = this.getSearchConfiguration(options);\n const analyticsConfig = getAnalyticsConfig(\n options,\n this.analytics,\n this.store\n );\n try {\n this.engine = buildSearchEngine({\n configuration: {\n ...options,\n search: searchConfig,\n analytics: analyticsConfig,\n },\n loggerOptions: {\n level: this.logLevel,\n },\n });\n } catch (error) {\n this.error = error as Error;\n throw error;\n }\n }\n\n private getSearchConfiguration(options: InitializationOptions) {\n const searchConfigFromProps = {\n searchHub: this.searchHub ?? 'default',\n pipeline: this.pipeline,\n locale: this.language,\n timezone: this.timezone,\n };\n\n if (options.search) {\n return {\n ...searchConfigFromProps,\n ...options.search,\n };\n }\n\n return searchConfigFromProps;\n }\n\n private get fragment() {\n return window.location.hash.slice(1);\n }\n\n private initUrlManager() {\n if (!this.reflectStateInUrl) {\n return;\n }\n\n this.urlManager = buildUrlManager(this.engine!, {\n initialState: {fragment: this.fragment},\n });\n\n this.unsubscribeUrlManager = this.urlManager.subscribe(() =>\n this.updateHash()\n );\n\n window.addEventListener('hashchange', this.onHashChange);\n }\n\n private initAriaLive() {\n if (\n Array.from(this.host.children).some(\n (element) => element.tagName === 'ATOMIC-ARIA-LIVE'\n )\n ) {\n return;\n }\n const ariaLive = document.createElement('atomic-aria-live');\n this.host.prepend(ariaLive);\n }\n\n private initRelevanceInspector() {\n if (this.enableRelevanceInspector) {\n this.host.addEventListener('dblclick', (e) => {\n if (e.altKey) {\n this.relevanceInspectorIsOpen = !this.relevanceInspectorIsOpen;\n }\n });\n }\n }\n\n private initSearchStatus() {\n this.searchStatus = buildSearchStatus(this.engine!);\n this.unsubscribeSearchStatus = this.searchStatus.subscribe(() => {\n const hasNoResultsAfterInitialSearch =\n !this.searchStatus.state.hasResults &&\n this.searchStatus.state.firstSearchExecuted &&\n !this.searchStatus.state.hasError;\n\n this.host.classList.toggle(\n noResultsSelector,\n hasNoResultsAfterInitialSearch\n );\n\n this.host.classList.toggle(\n errorSelector,\n this.searchStatus.state.hasError\n );\n\n this.host.classList.toggle(\n firstSearchExecutedSelector,\n this.searchStatus.state.firstSearchExecuted\n );\n\n if (\n this.searchStatus.state.firstSearchExecuted &&\n this.store.hasLoadingFlag(FirstSearchExecutedFlag)\n ) {\n this.store.unsetLoadingFlag(FirstSearchExecutedFlag);\n }\n });\n }\n\n private updateHash() {\n const newFragment = this.urlManager.state.fragment;\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n history.replaceState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History replaceState #${newFragment}`);\n\n return;\n }\n\n history.pushState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History pushState #${newFragment}`);\n }\n\n private onHashChange = () => {\n this.urlManager.synchronize(this.fragment);\n };\n\n private async internalInitialization(initEngine: () => void) {\n await this.componentWillLoadCalledPromise;\n await Promise.all([\n this.commonInterfaceHelper.onInitialization(initEngine),\n this.i18Initialized,\n ]);\n await this.updateLanguage();\n markParentAsReady(this.host);\n this.pipeline = this.engine!.state.pipeline;\n this.searchHub = this.engine!.state.searchHub;\n this.initSearchStatus();\n this.initUrlManager();\n this.initialized = true;\n }\n\n public render() {\n return [\n this.engine && this.enableRelevanceInspector && (\n <atomic-relevance-inspector\n open={this.relevanceInspectorIsOpen}\n bindings={this.bindings}\n ></atomic-relevance-inspector>\n ),\n <slot></slot>,\n ];\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-search-interface.entry.cjs.js","mappings":"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","names":["getNextAnalyticsConfig","augmentAnalyticsConfigWithDocument","augmentAnalyticsConfigWithAtomicVersion","augmentWithExternalMiddleware","augmentAnalyticsWithAtomicVersion","store","createBaseStore","DEFAULT_MOBILE_BREAKPOINT","unsetLoadingFlag","setLoadingFlag","makeDesktopQuery","registerFacet","getFacetElements","waitUntilAppLoaded","CommonAtomicInterfaceHelper","i18next","setNonce","loadSearchConfigurationActions","mismatchedInterfaceAndEnginePropError","SafeStorage","StorageItems","loadQueryActions","EcommerceDefaultFieldsToInclude","loadFieldActions","buildSearchEngine","buildUrlManager","buildSearchStatus","noResultsSelector","errorSelector","firstSearchExecutedSelector","markParentAsReady","h","ArrayProp"],"sources":["src/components/search/atomic-search-interface/analytics-config.ts","src/components/search/atomic-search-interface/store.ts","src/components/search/atomic-search-interface/atomic-search-interface.pcss?tag=atomic-search-interface&encapsulation=shadow","src/components/search/atomic-search-interface/atomic-search-interface.tsx"],"sourcesContent":["import type {\n AnalyticsConfiguration,\n SearchEngineConfiguration,\n} from '@coveo/headless';\nimport {\n type AnalyticsPayload,\n augmentAnalyticsConfigWithAtomicVersion,\n augmentAnalyticsConfigWithDocument,\n augmentAnalyticsWithAtomicVersion,\n augmentWithExternalMiddleware,\n getNextAnalyticsConfig,\n} from '../../common/interface/analytics-config';\nimport type {createSearchStore} from './store';\n\nexport function getAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n switch (searchEngineConfig.analytics?.analyticsMode) {\n case 'next':\n return getNextAnalyticsConfig(searchEngineConfig, enabled);\n default:\n return getLegacyAnalyticsConfig(searchEngineConfig, enabled, store);\n }\n}\n\nfunction getLegacyAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n const analyticsClientMiddleware = (\n event: string,\n payload: AnalyticsPayload\n ) => augmentAnalytics(event, payload, store, searchEngineConfig);\n\n const defaultConfiguration: AnalyticsConfiguration = {\n analyticsClientMiddleware,\n enabled,\n ...augmentAnalyticsConfigWithDocument(),\n };\n\n const immutableConfiguration: AnalyticsConfiguration = {\n ...augmentAnalyticsConfigWithAtomicVersion(),\n };\n\n if (searchEngineConfig.analytics) {\n return {\n ...defaultConfiguration,\n ...searchEngineConfig.analytics,\n analyticsClientMiddleware,\n ...immutableConfiguration,\n };\n }\n\n return {\n ...defaultConfiguration,\n ...immutableConfiguration,\n };\n}\n\nfunction augmentAnalytics(\n event: string,\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>,\n config: SearchEngineConfiguration\n) {\n let result = augmentWithExternalMiddleware(event, payload, config);\n result = augmentAnalyticsWithAtomicVersion(result);\n result = augmentAnalyticsWithFacetTitles(result, store);\n return result;\n}\n\nfunction augmentAnalyticsWithFacetTitles(\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>\n) {\n const allFacets = store.getAllFacets();\n const getAtomicFacetLabelOrOriginalTitle = (\n facetId: string,\n originalTitle: string\n ) => (allFacets[facetId] ? allFacets[facetId].label() : originalTitle);\n\n if (payload.facetState) {\n payload.facetState = payload.facetState.map(\n (analyticsFacetState: {id: string; title: string}) => {\n const {id, title: originalTitle} = analyticsFacetState;\n return {\n ...analyticsFacetState,\n title: getAtomicFacetLabelOrOriginalTitle(id, originalTitle),\n };\n }\n );\n }\n\n if (\n payload.customData?.facetTitle &&\n payload.customData.facetId &&\n payload.customData.facetTitle\n ) {\n payload.customData.facetTitle = getAtomicFacetLabelOrOriginalTitle(\n payload.customData.facetId,\n payload.customData.facetTitle\n );\n }\n return payload;\n}\n","import type {\n DateFacetValue,\n NumericFacetValue,\n SearchEngine,\n SortCriterion,\n} from '@coveo/headless';\nimport {DEFAULT_MOBILE_BREAKPOINT} from '../../../utils/replace-breakpoint';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../../common/facets/facet-common-store';\nimport {\n type BaseStore,\n createBaseStore,\n getFacetElements,\n type ResultListInfo,\n registerFacet,\n setLoadingFlag,\n unsetLoadingFlag,\n waitUntilAppLoaded,\n} from '../../common/interface/store';\nimport {makeDesktopQuery} from '../atomic-layout/search-layout';\n\nexport interface SortDropdownOption {\n tabs: {included: string[] | string; excluded: string[] | string};\n expression: string;\n criteria: SortCriterion[];\n label: string;\n}\n\ninterface FacetInfoMap {\n [facetId: string]:\n | FacetInfo\n | (FacetInfo & FacetValueFormat<NumericFacetValue>)\n | (FacetInfo & FacetValueFormat<DateFacetValue>);\n}\n\ninterface Data {\n loadingFlags: string[];\n iconAssetsPath: string;\n resultList: ResultListInfo | undefined;\n mobileBreakpoint: string;\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n fieldsToInclude: string[];\n sortOptions: SortDropdownOption[];\n}\n\nexport type SearchStore = BaseStore<Data> & {\n unsetLoadingFlag(loadingFlag: string): void;\n setLoadingFlag(flag: string): void;\n isMobile(): boolean;\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ): void;\n getFacetElements(): HTMLElement[];\n waitUntilAppLoaded(callback: () => void): void;\n getUniqueIDFromEngine(engine: SearchEngine): string;\n hasLoadingFlag(loadingFlag: string): boolean;\n getAllFacets(): FacetInfoMap;\n addFieldsToInclude(fields: string[]): void;\n};\n\nexport function createSearchStore(): SearchStore {\n const store = createBaseStore<Data>({\n loadingFlags: [],\n iconAssetsPath: '',\n resultList: undefined,\n mobileBreakpoint: DEFAULT_MOBILE_BREAKPOINT,\n facets: {},\n numericFacets: {},\n dateFacets: {},\n categoryFacets: {},\n facetElements: [],\n fieldsToInclude: [],\n sortOptions: [],\n });\n\n return {\n ...store,\n\n unsetLoadingFlag(loadingFlag: string) {\n unsetLoadingFlag(store, loadingFlag);\n },\n\n setLoadingFlag(loadingFlag: string) {\n setLoadingFlag(store, loadingFlag);\n },\n\n isMobile() {\n return !window.matchMedia(makeDesktopQuery(store.state.mobileBreakpoint))\n .matches;\n },\n\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ) {\n registerFacet(store, facetType, data);\n },\n\n getFacetElements() {\n return getFacetElements(store);\n },\n\n waitUntilAppLoaded(callback: () => void) {\n waitUntilAppLoaded(store, callback);\n },\n\n getUniqueIDFromEngine(engine: SearchEngine): string {\n return engine.state.search.response.searchUid;\n },\n\n hasLoadingFlag(loadingFlag: string) {\n return store.state.loadingFlags.indexOf(loadingFlag) !== -1;\n },\n\n getAllFacets() {\n return {\n ...store.state.facets,\n ...store.state.dateFacets,\n ...store.state.categoryFacets,\n ...store.state.numericFacets,\n };\n },\n\n addFieldsToInclude(fields) {\n const currentFields = store.state.fieldsToInclude;\n store.state.fieldsToInclude = [...currentFields, ...fields];\n },\n };\n}\n","@import '../../../global/global.pcss';\n\n:host {\n display: block;\n height: inherit;\n width: inherit;\n & > slot {\n height: inherit;\n }\n}\n","import {markParentAsReady} from '@/src/utils/init-queue';\nimport {\n LogLevel,\n Unsubscribe,\n buildUrlManager,\n UrlManager,\n buildSearchEngine,\n SearchEngine,\n SearchEngineConfiguration,\n SearchStatus,\n buildSearchStatus,\n loadSearchConfigurationActions,\n loadQueryActions,\n EcommerceDefaultFieldsToInclude,\n loadFieldActions,\n} from '@coveo/headless';\nimport {\n Component,\n Prop,\n h,\n Listen,\n Method,\n Watch,\n Element,\n State,\n setNonce,\n} from '@stencil/core';\nimport i18next, {i18n} from 'i18next';\nimport {InitializeEvent} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {\n StencilBaseAtomicInterface,\n CommonAtomicInterfaceHelper,\n mismatchedInterfaceAndEnginePropError,\n} from '../../common/interface/interface-common-stencil';\nimport {\n errorSelector,\n firstSearchExecutedSelector,\n noResultsSelector,\n} from '../atomic-layout/search-layout';\nimport {getAnalyticsConfig} from './analytics-config';\nimport type {Bindings as _Bindings} from './interfaces';\nimport {createSearchStore, SearchStore} from './store';\n\nconst FirstSearchExecutedFlag = 'firstSearchExecuted';\nexport type InitializationOptions = SearchEngineConfiguration;\nexport type Bindings = _Bindings;\n\n/**\n * The `atomic-search-interface` component is the parent to all other atomic components in a search page. It handles the headless search engine and localization configurations.\n */\n@Component({\n tag: 'atomic-search-interface',\n styleUrl: 'atomic-search-interface.pcss',\n shadow: true,\n assetsDirs: ['lang'],\n})\nexport class AtomicSearchInterface\n implements StencilBaseAtomicInterface<SearchEngine>\n{\n private urlManager!: UrlManager;\n private searchStatus!: SearchStatus;\n private unsubscribeUrlManager: Unsubscribe = () => {};\n private unsubscribeSearchStatus: Unsubscribe = () => {};\n private initialized = false;\n private store: SearchStore;\n private commonInterfaceHelper: CommonAtomicInterfaceHelper<SearchEngine>;\n\n @Element() public host!: HTMLAtomicSearchInterfaceElement;\n\n @State() public error?: Error;\n @State() relevanceInspectorIsOpen = false;\n\n /**\n * A list of non-default fields to include in the query results.\n *\n * Specify the property as an array using a JSON string representation:\n * ```html\n * <atomic-search-interface fields-to-include='[\"fieldA\", \"fieldB\"]'></atomic-search-interface>\n * ```\n */\n @ArrayProp()\n @Prop({mutable: true})\n public fieldsToInclude: string[] | string = '[]';\n\n /**\n * The search interface [query pipeline](https://docs.coveo.com/en/180/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine), the query pipeline should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public pipeline?: string;\n\n /**\n * The search interface [search hub](https://docs.coveo.com/en/1342/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine, the search hub should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public searchHub?: string;\n\n /**\n * Whether analytics should be enabled.\n */\n @Prop({reflect: true}) public analytics = true;\n\n /**\n * The [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) identifier of the time zone to use to correctly interpret dates in the query expression, facets, and result items.\n * By default, the timezone will be [guessed](https://day.js.org/docs/en/timezone/guessing-user-timezone).\n *\n * Example: \"America/Montreal\"\n */\n @Prop({reflect: true}) public timezone?: string;\n\n /**\n * The severity level of the messages to log in the console.\n */\n @Prop({reflect: true}) public logLevel?: LogLevel;\n\n /**\n * The search interface i18next instance.\n */\n @Prop() public i18n: i18n;\n\n /**\n * The search interface language.\n */\n @Prop({reflect: true}) public language = 'en';\n\n /**\n * The search interface headless engine.\n */\n @Prop({mutable: true}) public engine?: SearchEngine;\n\n /**\n * Whether the state should be reflected in the URL parameters.\n */\n @Prop({reflect: true}) public reflectStateInUrl = true;\n\n /**\n * The CSS selector for the container where the interface will scroll back to.\n */\n @Prop({reflect: true}) public scrollContainer = 'atomic-search-interface';\n\n /**\n * The language assets path. By default, this will be a relative URL pointing to `./lang`.\n *\n * Example: \"/mypublicpath/languages\"\n *\n */\n @Prop({reflect: true}) public languageAssetsPath = './lang';\n\n /**\n * The icon assets path. By default, this will be a relative URL pointing to `./assets`.\n *\n * Example: \"/mypublicpath/icons\"\n *\n */\n @Prop({reflect: true}) public iconAssetsPath = './assets';\n\n /**\n * Whether the relevance inspector shortcut should be enabled for this interface.\n *\n * The relevance inspector can be opened by holding the Alt key (Option on Mac) while over the interface, and performing a double click.\n *\n * The relevance inspector allows to troubleshoot and debug queries.\n */\n @Prop({reflect: true}) public enableRelevanceInspector = true;\n\n /**\n * The value to set the [nonce](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) attribute to on inline script and style elements generated by this interface and its child components.\n * If your application is served with a Content Security Policy (CSP) that doesn't include the `script-src: 'unsafe-inline'` or `style-src: 'unsafe-inline'` directives,\n * you should ensure that your application server generates a new nonce on every page load and uses the generated value to set this prop and serve the corresponding CSP response headers\n * (i.e., script-src 'nonce-<YOUR_GENERATED_NONCE>' and style-src 'nonce-<YOUR_GENERATED_NONCE>').\n * Otherwise you may see console errors such as\n * - Refused to execute inline script because it violates the following Content Security Policy directive: [...]\n * - Refused to apply inline style because it violates the following Content Security Policy directive: [...].\n * @example:\n * ```html\n * <script nonce=\"<YOUR_GENERATED_NONCE>\">\n * import {setNonce} from '@coveo/atomic';\n * setNonce('<YOUR_GENERATED_NONCE>');\n * </script>\n * ```\n */\n @Prop({reflect: true}) public CspNonce?: string;\n\n private i18Initialized: Promise<void>;\n private componentWillLoadCalledPromise: Promise<void>;\n private componentWillLoadResolver: () => void;\n public constructor() {\n this.initRelevanceInspector();\n this.commonInterfaceHelper = new CommonAtomicInterfaceHelper(\n this,\n 'CoveoAtomic'\n );\n this.store = createSearchStore();\n ({\n promise: this.componentWillLoadCalledPromise,\n resolve: this.componentWillLoadResolver,\n } = Promise.withResolvers<void>());\n const {promise, resolve} = Promise.withResolvers<void>();\n this.i18Initialized = promise;\n this.i18n = i18next.createInstance(undefined, resolve);\n }\n\n public connectedCallback() {\n this.store.setLoadingFlag(FirstSearchExecutedFlag);\n this.updateMobileBreakpoint();\n }\n\n componentWillLoad() {\n if (this.CspNonce) {\n setNonce(this.CspNonce);\n }\n this.initAriaLive();\n this.initFieldsToInclude();\n this.componentWillLoadResolver();\n }\n\n public updateSearchConfiguration(\n updatedProp: 'searchHub' | 'pipeline',\n newValue: string | undefined\n ) {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (this.engine.state[updatedProp] === newValue) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n [updatedProp]: newValue,\n })\n );\n }\n\n @Watch('searchHub')\n public updateSearchHub() {\n this.updateSearchConfiguration('searchHub', this.searchHub ?? 'default');\n }\n\n @Watch('pipeline')\n public updatePipeline() {\n this.updateSearchConfiguration('pipeline', this.pipeline);\n }\n\n @Watch('analytics')\n public toggleAnalytics() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n this.commonInterfaceHelper.onAnalyticsChange();\n }\n\n @Watch('language')\n public updateLanguage() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n locale: this.language,\n })\n );\n return this.commonInterfaceHelper.onLanguageChange();\n }\n\n @Watch('iconAssetsPath')\n public updateIconAssetsPath() {\n this.store.state.iconAssetsPath = this.iconAssetsPath;\n }\n\n public disconnectedCallback() {\n this.unsubscribeUrlManager();\n this.unsubscribeSearchStatus();\n window.removeEventListener('hashchange', this.onHashChange);\n }\n\n @Listen('atomic/initializeComponent')\n public handleInitialization(event: InitializeEvent) {\n this.commonInterfaceHelper.onComponentInitializing(event);\n }\n\n @Listen('atomic/scrollToTop')\n public scrollToTop() {\n const scrollContainerElement = document.querySelector(this.scrollContainer);\n if (!scrollContainerElement) {\n this.bindings.engine.logger.warn(\n `Could not find the scroll container with the selector \"${this.scrollContainer}\". This will prevent UX interactions that require a scroll from working correctly. Please check the CSS selector in the scrollContainer option`\n );\n return;\n }\n\n scrollContainerElement.scrollIntoView({behavior: 'smooth'});\n }\n\n @Listen('atomic/relevanceInspector/close')\n public closeRelevanceInspector() {\n this.relevanceInspectorIsOpen = false;\n }\n\n /**\n * Initializes the connection with the headless search engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.\n */\n @Method() public initialize(options: InitializationOptions) {\n return this.internalInitialization(() => this.initEngine(options));\n }\n\n /**\n * Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/modules/Search.html, as opposed to the `initialize` method, which will internally create a new search engine instance.\n * This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.\n */\n @Method() public initializeWithSearchEngine(engine: SearchEngine) {\n if (this.pipeline && this.pipeline !== engine.state.pipeline) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'query pipeline')\n );\n }\n if (this.searchHub && this.searchHub !== engine.state.searchHub) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'search hub')\n );\n }\n return this.internalInitialization(() => (this.engine = engine));\n }\n\n /**\n *\n * Executes the first search and logs the interface load event to analytics, after initializing connection to the headless search engine.\n */\n @Method() public async executeFirstSearch() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (!this.initialized) {\n console.error(\n 'You have to wait until the \"initialize\" promise is fulfilled before executing a search.',\n this.host\n );\n return;\n }\n\n const safeStorage = new SafeStorage();\n const standaloneSearchBoxData =\n safeStorage.getParsedJSON<StandaloneSearchBoxData | null>(\n StorageItems.STANDALONE_SEARCH_BOX_DATA,\n null\n );\n\n if (!standaloneSearchBoxData) {\n this.engine.executeFirstSearch();\n return;\n }\n\n safeStorage.removeItem(StorageItems.STANDALONE_SEARCH_BOX_DATA);\n const {updateQuery} = loadQueryActions(this.engine!);\n const {value, enableQuerySyntax, analytics} = standaloneSearchBoxData;\n this.engine!.dispatch(updateQuery({q: value, enableQuerySyntax}));\n this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);\n }\n\n public get bindings(): Bindings {\n return {\n engine: this.engine!,\n i18n: this.i18n,\n store: this.store,\n interfaceElement: this.host,\n createStyleElement: () => {\n const styleTag = document.createElement('style');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n createScriptElement: () => {\n const styleTag = document.createElement('script');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n };\n }\n\n private initFieldsToInclude() {\n const fields = EcommerceDefaultFieldsToInclude.concat(this.fieldsToInclude);\n this.store.addFieldsToInclude(fields);\n }\n\n public registerFieldsToInclude() {\n this.engine?.dispatch(\n loadFieldActions(this.engine!).registerFieldsToInclude(\n this.store.state.fieldsToInclude\n )\n );\n }\n\n private updateMobileBreakpoint() {\n const breakpoint = this.host.querySelector(\n 'atomic-search-layout'\n )?.mobileBreakpoint;\n if (breakpoint) {\n this.store.state.mobileBreakpoint = breakpoint;\n }\n }\n\n private initEngine(options: InitializationOptions) {\n const searchConfig = this.getSearchConfiguration(options);\n const analyticsConfig = getAnalyticsConfig(\n options,\n this.analytics,\n this.store\n );\n try {\n this.engine = buildSearchEngine({\n configuration: {\n ...options,\n search: searchConfig,\n analytics: analyticsConfig,\n },\n loggerOptions: {\n level: this.logLevel,\n },\n });\n } catch (error) {\n this.error = error as Error;\n throw error;\n }\n }\n\n private getSearchConfiguration(options: InitializationOptions) {\n const searchConfigFromProps = {\n searchHub: this.searchHub ?? 'default',\n pipeline: this.pipeline,\n locale: this.language,\n timezone: this.timezone,\n };\n\n if (options.search) {\n return {\n ...searchConfigFromProps,\n ...options.search,\n };\n }\n\n return searchConfigFromProps;\n }\n\n private get fragment() {\n return window.location.hash.slice(1);\n }\n\n private initUrlManager() {\n if (!this.reflectStateInUrl) {\n return;\n }\n\n this.urlManager = buildUrlManager(this.engine!, {\n initialState: {fragment: this.fragment},\n });\n\n this.unsubscribeUrlManager = this.urlManager.subscribe(() =>\n this.updateHash()\n );\n\n window.addEventListener('hashchange', this.onHashChange);\n }\n\n private initAriaLive() {\n if (\n Array.from(this.host.children).some(\n (element) => element.tagName === 'ATOMIC-ARIA-LIVE'\n )\n ) {\n return;\n }\n const ariaLive = document.createElement('atomic-aria-live');\n this.host.prepend(ariaLive);\n }\n\n private initRelevanceInspector() {\n if (this.enableRelevanceInspector) {\n this.host.addEventListener('dblclick', (e) => {\n if (e.altKey) {\n this.relevanceInspectorIsOpen = !this.relevanceInspectorIsOpen;\n }\n });\n }\n }\n\n private initSearchStatus() {\n this.searchStatus = buildSearchStatus(this.engine!);\n this.unsubscribeSearchStatus = this.searchStatus.subscribe(() => {\n const hasNoResultsAfterInitialSearch =\n !this.searchStatus.state.hasResults &&\n this.searchStatus.state.firstSearchExecuted &&\n !this.searchStatus.state.hasError;\n\n this.host.classList.toggle(\n noResultsSelector,\n hasNoResultsAfterInitialSearch\n );\n\n this.host.classList.toggle(\n errorSelector,\n this.searchStatus.state.hasError\n );\n\n this.host.classList.toggle(\n firstSearchExecutedSelector,\n this.searchStatus.state.firstSearchExecuted\n );\n\n if (\n this.searchStatus.state.firstSearchExecuted &&\n this.store.hasLoadingFlag(FirstSearchExecutedFlag)\n ) {\n this.store.unsetLoadingFlag(FirstSearchExecutedFlag);\n }\n });\n }\n\n private updateHash() {\n const newFragment = this.urlManager.state.fragment;\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n history.replaceState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History replaceState #${newFragment}`);\n\n return;\n }\n\n history.pushState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History pushState #${newFragment}`);\n }\n\n private onHashChange = () => {\n this.urlManager.synchronize(this.fragment);\n };\n\n private async internalInitialization(initEngine: () => void) {\n await this.componentWillLoadCalledPromise;\n await Promise.all([\n this.commonInterfaceHelper.onInitialization(initEngine),\n this.i18Initialized,\n ]);\n await this.updateLanguage();\n markParentAsReady(this.host);\n this.pipeline = this.engine!.state.pipeline;\n this.searchHub = this.engine!.state.searchHub;\n this.initSearchStatus();\n this.initUrlManager();\n this.initialized = true;\n }\n\n public render() {\n return [\n this.engine && this.enableRelevanceInspector && (\n <atomic-relevance-inspector\n open={this.relevanceInspectorIsOpen}\n bindings={this.bindings}\n ></atomic-relevance-inspector>\n ),\n <slot></slot>,\n ];\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-timeframe.entry.cjs.js","mappings":";;;;;;
|
|
1
|
+
{"file":"atomic-timeframe.entry.cjs.js","mappings":";;;;;;MAaa,eAAe;;;;;;QAII,WAAM,GAAoB,MAAM,CAAC;;;;;;QAcjC,WAAM,GAAG,CAAC,CAAC;sBAde,MAAM;;sBAcvB,CAAC;;;;;;;","names":[],"sources":["src/components/common/atomic-timeframe/atomic-timeframe.tsx"],"sourcesContent":["import {RelativeDateUnit} from '@coveo/headless';\nimport {Component, Prop} from '@stencil/core';\nimport {Timeframe} from '../facets/timeframe-facet-common';\n\n/**\n * The `atomic-timeframe` component defines a timeframe of an `atomic-timeframe-facet`, and therefore must be defined within an `atomic-timeframe-facet` component.\n *\n * A timeframe is a span of time from now to a specific time in the past.\n */\n@Component({\n tag: 'atomic-timeframe',\n shadow: false,\n})\nexport class AtomicTimeframe implements Timeframe {\n /**\n * The relative period of time to now.\n */\n @Prop({reflect: true}) public period: 'past' | 'next' = 'past';\n\n /**\n * The unit used to define:\n * - the start date of the timeframe, if the period is `past`\n * - the end date of the timeframe, if the period is `future`\n */\n @Prop({reflect: true}) public unit!: RelativeDateUnit;\n\n /**\n * The amount of units from which to count.\n *\n * E.g., 10 days, 1 year, etc.\n */\n @Prop({reflect: true}) public amount = 1;\n\n /**\n * The non-localized label for the timeframe. When defined, it will appear instead of the formatted value.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label?: string;\n}\n"],"version":3}
|
package/dist/cjs/version.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
module.exports.headlessVersion = '3.28.
|
|
2
|
-
module.exports.atomicVersion = '3.32.4-pre.
|
|
1
|
+
module.exports.headlessVersion = '3.28.4-pre.d601eb7f07';
|
|
2
|
+
module.exports.atomicVersion = '3.32.4-pre.d601eb7f07';
|
|
@@ -2156,7 +2156,7 @@ function getWindow() {
|
|
|
2156
2156
|
}
|
|
2157
2157
|
function getAtomicEnvironment(headlessVersion) {
|
|
2158
2158
|
return {
|
|
2159
|
-
version: "3.32.4-pre.
|
|
2159
|
+
version: "3.32.4-pre.d601eb7f07",
|
|
2160
2160
|
headlessVersion,
|
|
2161
2161
|
};
|
|
2162
2162
|
}
|
|
@@ -2915,4 +2915,4 @@ function getNextAnalyticsConfig(searchEngineConfig, enabled) {
|
|
|
2915
2915
|
|
|
2916
2916
|
export { CommonAtomicInterfaceHelper as C, augmentWithExternalMiddleware as a, augmentAnalyticsWithAtomicVersion as b, augmentAnalyticsConfigWithDocument as c, augmentAnalyticsConfigWithAtomicVersion as d, getNextAnalyticsConfig as g, instance as i, mismatchedInterfaceAndEnginePropError as m };
|
|
2917
2917
|
|
|
2918
|
-
//# sourceMappingURL=analytics-config-
|
|
2918
|
+
//# sourceMappingURL=analytics-config-c9e5b4d4.js.map
|