diff --git a/packages/atomic-angular/projects/atomic-angular/src/lib/stencil-generated/components.ts b/packages/atomic-angular/projects/atomic-angular/src/lib/stencil-generated/components.ts index 2097355eb6b..090d6ea5173 100644 --- a/packages/atomic-angular/projects/atomic-angular/src/lib/stencil-generated/components.ts +++ b/packages/atomic-angular/projects/atomic-angular/src/lib/stencil-generated/components.ts @@ -409,7 +409,7 @@ export declare interface AtomicCommercePager extends Components.AtomicCommercePa @ProxyCmp({ - inputs: ['density', 'display', 'gridCellLinkTarget', 'imageSize', 'numberOfPlaceholders'], + inputs: ['density', 'display', 'imageSize', 'numberOfPlaceholders'], methods: ['setRenderFunction'] }) @Component({ @@ -417,7 +417,7 @@ export declare interface AtomicCommercePager extends Components.AtomicCommercePa changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['density', 'display', 'gridCellLinkTarget', 'imageSize', 'numberOfPlaceholders'], + inputs: ['density', 'display', 'imageSize', 'numberOfPlaceholders'], }) export class AtomicCommerceProductList { protected el: HTMLElement; @@ -523,7 +523,7 @@ export declare interface AtomicCommerceRecommendationInterface extends Component @ProxyCmp({ - inputs: ['density', 'display', 'gridCellLinkTarget', 'headingLevel', 'imageSize', 'productId', 'productsPerPage', 'slotId'], + inputs: ['density', 'display', 'headingLevel', 'imageSize', 'productId', 'productsPerPage', 'slotId'], methods: ['setRenderFunction', 'previousPage', 'nextPage'] }) @Component({ @@ -531,7 +531,7 @@ export declare interface AtomicCommerceRecommendationInterface extends Component changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['density', 'display', 'gridCellLinkTarget', 'headingLevel', 'imageSize', 'productId', 'productsPerPage', 'slotId'], + inputs: ['density', 'display', 'headingLevel', 'imageSize', 'productId', 'productsPerPage', 'slotId'], }) export class AtomicCommerceRecommendationList { protected el: HTMLElement; @@ -1870,7 +1870,7 @@ export declare interface AtomicRecsInterface extends Components.AtomicRecsInterf @ProxyCmp({ - inputs: ['density', 'display', 'gridCellLinkTarget', 'headingLevel', 'imageSize', 'label', 'numberOfRecommendations', 'numberOfRecommendationsPerPage', 'recommendation'], + inputs: ['density', 'display', 'headingLevel', 'imageSize', 'label', 'numberOfRecommendations', 'numberOfRecommendationsPerPage', 'recommendation'], methods: ['setRenderFunction', 'previousPage', 'nextPage'] }) @Component({ @@ -1878,7 +1878,7 @@ export declare interface AtomicRecsInterface extends Components.AtomicRecsInterf changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['density', 'display', 'gridCellLinkTarget', 'headingLevel', 'imageSize', 'label', 'numberOfRecommendations', 'numberOfRecommendationsPerPage', 'recommendation'], + inputs: ['density', 'display', 'headingLevel', 'imageSize', 'label', 'numberOfRecommendations', 'numberOfRecommendationsPerPage', 'recommendation'], }) export class AtomicRecsList { protected el: HTMLElement; @@ -2227,7 +2227,7 @@ export declare interface AtomicResultLink extends Components.AtomicResultLink {} @ProxyCmp({ - inputs: ['density', 'display', 'gridCellLinkTarget', 'imageSize', 'tabsExcluded', 'tabsIncluded'], + inputs: ['density', 'display', 'imageSize', 'tabsExcluded', 'tabsIncluded'], methods: ['setRenderFunction'] }) @Component({ @@ -2235,7 +2235,7 @@ export declare interface AtomicResultLink extends Components.AtomicResultLink {} changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['density', 'display', 'gridCellLinkTarget', 'imageSize', 'tabsExcluded', 'tabsIncluded'], + inputs: ['density', 'display', 'imageSize', 'tabsExcluded', 'tabsIncluded'], }) export class AtomicResultList { protected el: HTMLElement; diff --git a/packages/atomic/src/components.d.ts b/packages/atomic/src/components.d.ts index a1b1c7b47b8..8339350c7d8 100644 --- a/packages/atomic/src/components.d.ts +++ b/packages/atomic/src/components.d.ts @@ -12,12 +12,12 @@ import { Range } from "./components/commerce/facets/facet-number-input/atomic-co import { i18n } from "i18next"; import { CommerceInitializationOptions } from "./components/commerce/atomic-commerce-interface/atomic-commerce-interface"; import { StandaloneSearchBoxData } from "./utils/local-storage-utils"; -import { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayLayout, ItemTarget } from "./components/common/layout/display-options"; +import { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayLayout } from "./components/common/layout/display-options"; import { ItemRenderingFunction } from "./components/common/item-list/item-list-common"; import { RedirectionPayload } from "./components/search/atomic-search-box/redirection-payload"; import { AriaLabelGenerator } from "./components/commerce/search-box-suggestions/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products"; import { AtomicInterface } from "./utils/initialization-utils"; -import { unknown as AnyBindings, i18nCompatibilityVersion as i18nCompatibilityVersion1, ItemDisplayBasicLayout as ItemDisplayBasicLayout1, ItemDisplayDensity as ItemDisplayDensity1, ItemDisplayImageSize as ItemDisplayImageSize1, ItemRenderingFunction as ItemRenderingFunction1, ItemTarget as ItemTarget1 } from "./components"; +import { unknown as AnyBindings, i18nCompatibilityVersion as i18nCompatibilityVersion1, ItemDisplayBasicLayout as ItemDisplayBasicLayout1, ItemDisplayDensity as ItemDisplayDensity1, ItemDisplayImageSize as ItemDisplayImageSize1, ItemRenderingFunction as ItemRenderingFunction1 } from "./components"; import { AnyBindings as AnyBindings1 } from "./components/common/interface/bindings"; import { NumberInputType } from "./components/common/facets/facet-number-input/number-input-type"; import { NumericFilter, NumericFilterState, RelativeDateUnit } from "./components/common/types"; @@ -43,12 +43,12 @@ export { Range } from "./components/commerce/facets/facet-number-input/atomic-co export { i18n } from "i18next"; export { CommerceInitializationOptions } from "./components/commerce/atomic-commerce-interface/atomic-commerce-interface"; export { StandaloneSearchBoxData } from "./utils/local-storage-utils"; -export { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayLayout, ItemTarget } from "./components/common/layout/display-options"; +export { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayLayout } from "./components/common/layout/display-options"; export { ItemRenderingFunction } from "./components/common/item-list/item-list-common"; export { RedirectionPayload } from "./components/search/atomic-search-box/redirection-payload"; export { AriaLabelGenerator } from "./components/commerce/search-box-suggestions/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products"; export { AtomicInterface } from "./utils/initialization-utils"; -export { unknown as AnyBindings, i18nCompatibilityVersion as i18nCompatibilityVersion1, ItemDisplayBasicLayout as ItemDisplayBasicLayout1, ItemDisplayDensity as ItemDisplayDensity1, ItemDisplayImageSize as ItemDisplayImageSize1, ItemRenderingFunction as ItemRenderingFunction1, ItemTarget as ItemTarget1 } from "./components"; +export { unknown as AnyBindings, i18nCompatibilityVersion as i18nCompatibilityVersion1, ItemDisplayBasicLayout as ItemDisplayBasicLayout1, ItemDisplayDensity as ItemDisplayDensity1, ItemDisplayImageSize as ItemDisplayImageSize1, ItemRenderingFunction as ItemRenderingFunction1 } from "./components"; export { AnyBindings as AnyBindings1 } from "./components/common/interface/bindings"; export { NumberInputType } from "./components/common/facets/facet-number-input/number-input-type"; export { NumericFilter, NumericFilterState, RelativeDateUnit } from "./components/common/types"; @@ -503,12 +503,6 @@ export namespace Components { * The desired layout to use when displaying products. Layouts affect how many products to display per row and how visually distinct they are from each other. */ "display": ItemDisplayLayout; - /** - * The target location to open the product link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-product-link` in the `link` slot of the `atomic-product-template` component. - */ - "gridCellLinkTarget": ItemTarget; /** * The expected size of the image displayed for products. */ @@ -611,12 +605,6 @@ export namespace Components { * The layout to apply when displaying the products. This does not affect the display of the surrounding list itself. To modify the number of products per column, modify the `--atomic-recs-number-of-columns` CSS variable. */ "display": ItemDisplayBasicLayout; - /** - * The [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target) location to open the product link. This property is ignored unless the `display` property is set to `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-product-link` in the `link` slot of the `atomic-product-template` component. - */ - "gridCellLinkTarget": ItemTarget; /** * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6. */ @@ -1700,12 +1688,6 @@ export namespace Components { * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself. To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable. */ "display": ItemDisplayBasicLayout1; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - "gridCellLinkTarget": ItemTarget1; /** * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6. */ @@ -2530,12 +2512,6 @@ export namespace Components { * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself. To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable. */ "display": ItemDisplayBasicLayout; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - "gridCellLinkTarget": ItemTarget; /** * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6. */ @@ -2886,12 +2862,6 @@ export namespace Components { * 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. */ "display": ItemDisplayLayout; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - "gridCellLinkTarget": ItemTarget; /** * The expected size of the image displayed in the results. */ @@ -6490,12 +6460,6 @@ declare namespace LocalJSX { * The desired layout to use when displaying products. Layouts affect how many products to display per row and how visually distinct they are from each other. */ "display"?: ItemDisplayLayout; - /** - * The target location to open the product link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-product-link` in the `link` slot of the `atomic-product-template` component. - */ - "gridCellLinkTarget"?: ItemTarget; /** * The expected size of the image displayed for products. */ @@ -6584,12 +6548,6 @@ declare namespace LocalJSX { * The layout to apply when displaying the products. This does not affect the display of the surrounding list itself. To modify the number of products per column, modify the `--atomic-recs-number-of-columns` CSS variable. */ "display"?: ItemDisplayBasicLayout; - /** - * The [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target) location to open the product link. This property is ignored unless the `display` property is set to `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-product-link` in the `link` slot of the `atomic-product-template` component. - */ - "gridCellLinkTarget"?: ItemTarget; /** * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6. */ @@ -7625,12 +7583,6 @@ declare namespace LocalJSX { * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself. To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable. */ "display"?: ItemDisplayBasicLayout1; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - "gridCellLinkTarget"?: ItemTarget1; /** * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6. */ @@ -8412,12 +8364,6 @@ declare namespace LocalJSX { * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself. To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable. */ "display"?: ItemDisplayBasicLayout; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - "gridCellLinkTarget"?: ItemTarget; /** * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6. */ @@ -8748,12 +8694,6 @@ declare namespace LocalJSX { * 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. */ "display"?: ItemDisplayLayout; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - "gridCellLinkTarget"?: ItemTarget; /** * The expected size of the image displayed in the results. */ diff --git a/packages/atomic/src/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tsx b/packages/atomic/src/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tsx index 3d3789b5590..dfbf9c8f23f 100644 --- a/packages/atomic/src/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tsx +++ b/packages/atomic/src/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tsx @@ -43,7 +43,6 @@ import { ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayLayout, - ItemTarget, getItemListDisplayClasses, } from '../../common/layout/display-options'; import {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface'; @@ -107,14 +106,6 @@ export class AtomicCommerceProductList */ @Prop({reflect: true}) imageSize: ItemDisplayImageSize = 'small'; - /** - * The target location to open the product link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). - * This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-product-link` in the `link` slot of the `atomic-product-template` component. - */ - @Prop() gridCellLinkTarget: ItemTarget = '_self'; - /** * Sets a rendering function to bypass the standard HTML template mechanism for rendering products. * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue. @@ -145,23 +136,20 @@ export class AtomicCommerceProductList this.summary = this.search.summary(); } - this.productTemplateProvider = new ProductTemplateProvider( - { - includeDefaultTemplate: true, - templateElements: Array.from( - this.host.querySelectorAll('atomic-product-template') - ), - getResultTemplateRegistered: () => this.resultTemplateRegistered, - getTemplateHasError: () => this.templateHasError, - setResultTemplateRegistered: (value: boolean) => { - this.resultTemplateRegistered = value; - }, - setTemplateHasError: (value: boolean) => { - this.templateHasError = value; - }, + this.productTemplateProvider = new ProductTemplateProvider({ + includeDefaultTemplate: true, + templateElements: Array.from( + this.host.querySelectorAll('atomic-product-template') + ), + getResultTemplateRegistered: () => this.resultTemplateRegistered, + getTemplateHasError: () => this.templateHasError, + setResultTemplateRegistered: (value: boolean) => { + this.resultTemplateRegistered = value; }, - this.gridCellLinkTarget - ); + setTemplateHasError: (value: boolean) => { + this.templateHasError = value; + }, + }); this.productListCommon = new ItemListCommon({ engineSubscribe: this.bindings.engine.subscribe, diff --git a/packages/atomic/src/components/commerce/atomic-commerce-product-list/e2e/atomic-commerce-product-list.e2e.ts b/packages/atomic/src/components/commerce/atomic-commerce-product-list/e2e/atomic-commerce-product-list.e2e.ts index 4bdb1a7eb3a..601466f594c 100644 --- a/packages/atomic/src/components/commerce/atomic-commerce-product-list/e2e/atomic-commerce-product-list.e2e.ts +++ b/packages/atomic/src/components/commerce/atomic-commerce-product-list/e2e/atomic-commerce-product-list.e2e.ts @@ -41,20 +41,4 @@ test.describe('when interface load yields no products', () => { }); }); -test.describe('when gridCellLinkTarget is set to _blank', async () => { - test.beforeEach(async ({productList}) => { - await productList.load({story: 'open-in-new-tab'}); - await productList.hydrated.waitFor(); - }); - - test('should open product in new tab', async ({context, productList}) => { - const newTabPromise = context.waitForEvent('page'); - await productList.products.first().click(); - const newTab = await newTabPromise; - await newTab.waitForLoadState(); - - expect(newTab.url()).toMatch(/sports\.barca\.group\/pdp\/.*$/); - }); -}); - // TODO: KIT-3247 add the rest of E2E tests diff --git a/packages/atomic/src/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tsx b/packages/atomic/src/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tsx index 61e58ad7b9c..bc5d86a0908 100644 --- a/packages/atomic/src/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tsx +++ b/packages/atomic/src/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tsx @@ -37,7 +37,6 @@ import { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize, - ItemTarget, getItemListDisplayClasses, } from '../../common/layout/display-options'; import {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface'; @@ -103,13 +102,6 @@ export class AtomicCommerceRecommendationList * To modify the number of products per column, modify the `--atomic-recs-number-of-columns` CSS variable. */ @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list'; - /** - * The [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target) location to open the product link. - * This property is ignored unless the `display` property is set to `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-product-link` in the `link` slot of the `atomic-product-template` component. - */ - @Prop() gridCellLinkTarget: ItemTarget = '_self'; /** * The spacing of various elements in the product list, including the gap between products, the gap between parts of a product, and the font sizes of the parts of a product. */ @@ -180,23 +172,20 @@ export class AtomicCommerceRecommendationList this.recommendations.refresh(); - this.productTemplateProvider = new ProductTemplateProvider( - { - includeDefaultTemplate: true, - templateElements: Array.from( - this.host.querySelectorAll('atomic-product-template') - ), - getResultTemplateRegistered: () => this.productTemplateRegistered, - getTemplateHasError: () => this.templateHasError, - setResultTemplateRegistered: (value: boolean) => { - this.productTemplateRegistered = value; - }, - setTemplateHasError: (value: boolean) => { - this.templateHasError = value; - }, + this.productTemplateProvider = new ProductTemplateProvider({ + includeDefaultTemplate: true, + templateElements: Array.from( + this.host.querySelectorAll('atomic-product-template') + ), + getResultTemplateRegistered: () => this.productTemplateRegistered, + getTemplateHasError: () => this.templateHasError, + setResultTemplateRegistered: (value: boolean) => { + this.productTemplateRegistered = value; }, - this.gridCellLinkTarget - ); + setTemplateHasError: (value: boolean) => { + this.templateHasError = value; + }, + }); this.itemListCommon = new ItemListCommon({ engineSubscribe: this.bindings.engine.subscribe, diff --git a/packages/atomic/src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx b/packages/atomic/src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx index 7710d07f490..2ae8c6f1536 100644 --- a/packages/atomic/src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx +++ b/packages/atomic/src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx @@ -22,7 +22,6 @@ import { import { ItemRenderingFunction, ItemDisplayBasicLayout, - ItemTarget, ItemDisplayDensity, ItemDisplayImageSize, } from '../../../../components'; @@ -95,13 +94,6 @@ export class AtomicIPXRecsList implements InitializableComponent { * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable. */ @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list'; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). - * This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - @Prop() gridCellLinkTarget: ItemTarget = '_self'; /** * 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. */ @@ -180,24 +172,21 @@ export class AtomicIPXRecsList implements InitializableComponent { }, }); - this.itemTemplateProvider = new ItemTemplateProvider( - { - includeDefaultTemplate: true, - templateElements: Array.from( - this.host.querySelectorAll('atomic-recs-result-template') - ), - getResultTemplateRegistered: () => this.resultTemplateRegistered, - getTemplateHasError: () => this.templateHasError, - setResultTemplateRegistered: (value: boolean) => { - this.resultTemplateRegistered = value; - }, - setTemplateHasError: (value: boolean) => { - this.templateHasError = value; - }, - bindings: this.bindings, + this.itemTemplateProvider = new ItemTemplateProvider({ + includeDefaultTemplate: true, + templateElements: Array.from( + this.host.querySelectorAll('atomic-recs-result-template') + ), + getResultTemplateRegistered: () => this.resultTemplateRegistered, + getTemplateHasError: () => this.templateHasError, + setResultTemplateRegistered: (value: boolean) => { + this.resultTemplateRegistered = value; }, - this.gridCellLinkTarget - ); + setTemplateHasError: (value: boolean) => { + this.templateHasError = value; + }, + bindings: this.bindings, + }); this.itemListCommon = new ItemListCommon({ engineSubscribe: this.bindings.engine.subscribe, diff --git a/packages/atomic/src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx b/packages/atomic/src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx index fd8c32c19e7..c51a8b70776 100644 --- a/packages/atomic/src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx +++ b/packages/atomic/src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx @@ -38,7 +38,6 @@ import { ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayBasicLayout, - ItemTarget, getItemListDisplayClasses, } from '../../common/layout/display-options'; import {RecsBindings} from '../atomic-recs-interface/atomic-recs-interface'; @@ -91,13 +90,6 @@ export class AtomicRecsList implements InitializableComponent { * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable. */ @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list'; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). - * This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - @Prop() gridCellLinkTarget: ItemTarget = '_self'; /** * 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. */ @@ -176,24 +168,21 @@ export class AtomicRecsList implements InitializableComponent { }, }); - this.itemTemplateProvider = new ItemTemplateProvider( - { - includeDefaultTemplate: true, - templateElements: Array.from( - this.host.querySelectorAll('atomic-recs-result-template') - ), - getResultTemplateRegistered: () => this.resultTemplateRegistered, - getTemplateHasError: () => this.templateHasError, - setResultTemplateRegistered: (value: boolean) => { - this.resultTemplateRegistered = value; - }, - setTemplateHasError: (value: boolean) => { - this.templateHasError = value; - }, - bindings: this.bindings, + this.itemTemplateProvider = new ItemTemplateProvider({ + includeDefaultTemplate: true, + templateElements: Array.from( + this.host.querySelectorAll('atomic-recs-result-template') + ), + getResultTemplateRegistered: () => this.resultTemplateRegistered, + getTemplateHasError: () => this.templateHasError, + setResultTemplateRegistered: (value: boolean) => { + this.resultTemplateRegistered = value; }, - this.gridCellLinkTarget - ); + setTemplateHasError: (value: boolean) => { + this.templateHasError = value; + }, + bindings: this.bindings, + }); this.itemListCommon = new ItemListCommon({ engineSubscribe: this.bindings.engine.subscribe, diff --git a/packages/atomic/src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx b/packages/atomic/src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx index 0692fcec22b..4c3f654c3bf 100644 --- a/packages/atomic/src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx +++ b/packages/atomic/src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx @@ -39,7 +39,6 @@ import { ItemDisplayDensity, ItemDisplayImageSize, ItemDisplayLayout, - ItemTarget, getItemListDisplayClasses, } from '../../../common/layout/display-options'; import {TabGuard} from '../../../common/tab-manager/tab-guard'; @@ -103,14 +102,6 @@ export class AtomicResultList implements InitializableComponent { */ @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal'; - /** - * The target location to open the result link (see [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target)). - * This property is only leveraged when `display` is `grid`. - * @defaultValue `_self` - * @deprecated - Instead of using this property, provide an `atomic-result-link` in the `link` slot of the `atomic-result-template` component. - */ - @Prop() gridCellLinkTarget: ItemTarget = '_self'; - /** * The expected size of the image displayed in the results. */ @@ -173,24 +164,21 @@ export class AtomicResultList implements InitializableComponent { this.tabManager = buildTabManager(this.bindings.engine); this.resultList = buildResultList(this.bindings.engine); this.resultsPerPage = buildResultsPerPage(this.bindings.engine); - this.itemTemplateProvider = new ItemTemplateProvider( - { - includeDefaultTemplate: true, - templateElements: Array.from( - this.host.querySelectorAll('atomic-result-template') - ), - getResultTemplateRegistered: () => this.resultTemplateRegistered, - getTemplateHasError: () => this.templateHasError, - setResultTemplateRegistered: (value: boolean) => { - this.resultTemplateRegistered = value; - }, - setTemplateHasError: (value: boolean) => { - this.templateHasError = value; - }, - bindings: this.bindings, + this.itemTemplateProvider = new ItemTemplateProvider({ + includeDefaultTemplate: true, + templateElements: Array.from( + this.host.querySelectorAll('atomic-result-template') + ), + getResultTemplateRegistered: () => this.resultTemplateRegistered, + getTemplateHasError: () => this.templateHasError, + setResultTemplateRegistered: (value: boolean) => { + this.resultTemplateRegistered = value; }, - this.gridCellLinkTarget - ); + setTemplateHasError: (value: boolean) => { + this.templateHasError = value; + }, + bindings: this.bindings, + }); this.resultListCommon = new ItemListCommon({ engineSubscribe: this.bindings.engine.subscribe,