1System.register(["@vp/tracking","@vp/ab-reader"],(function(w){"use strict";var O,$;return{setters:[function(T){O=T.getTracking},function(T){$=T.isFeatureEnabled}],execute:(function(){w({createMcsAdapter:Me,createPoeAdapter:he,onProductAddToCart:Ce,onProductClick:Te,onProductListView:ve});var T=Object.defineProperty,Y=(e,t,n)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>Y(e,t+"",n),g=w("TrackingEventName",(e=>(e.ProductListViewed="Product List Viewed",e.ProductAdded="Product Added",e.ProductClicked="Product Clicked",e.PersonalizationViewed="Personalization Viewed",e.PersonalizationClicked="Personalization Clicked",e))(g||{}));class C extends Error{constructor(t,n){super(t,{cause:n.cause}),H(this,"eventName"),this.name="TrackingError",this.eventName=n.eventName}}w("TrackingError",C);function J(){try{return typeof PACKAGE_VERSION<"u"?PACKAGE_VERSION:"unknown"}catch{return"unknown"}}function G(e){return e?`Recommendation Component:${e}`:"Recommendation Component"}function M(e){return{origin:e||"recommendations-component",version:J(),component:"recommendations-component"}}function x(e){return Object.entries(e).map(([t,n])=>`${t}:${n}`).join("_")}function W(e){const t=e.prices?.availablePrices.find(n=>n.quantity===e.quantity);return t?{currency:e.prices?.currency??"",quantity:1,sales_quantity:e.quantity,price:t.discountedPrice,list_price:t.listPrice,discount:t.listPrice-t.discountedPrice}:{currency:void 0,quantity:1,sales_quantity:e.quantity,price:void 0,list_price:void 0,discount:void 0}}function X(e,t,n){return{doc_id:e.documentUrl,scene_id:n,documentUrl:e.documentUrl,workId:t}}function R(e,t){switch(e){case"xs":return t.extraSmallColumnCount;case"sm":return t.smallColumnCount;default:return t.columnCount}}function V(e){return{placement_id:e.id,placement_version:e.version,placement_tracking_id:e.trackingId,selector:e.selector,model_id:e.model?.id,model_version:e.model?.version,correlationId:e.correlationId}}function z(e){return{experiment_key:e.experimentInfo?.experiment.key,experiment_variation_key:e.experimentInfo?.variation.key}}function y(e,t){const n=e.offersGroups.find(r=>r.trackingId===t);if(!n)throw new Error(`Cannot find offer group with tracking ID "${t}" in placement response (placement tracking ID: "${e.trackingId}").`);return n}function ee(e,t){const n=e.offersGroups.findIndex(r=>r.trackingId===t);if(n<0)throw new Error(`Cannot find offer group with tracking ID "${t}" in placement response (placement tracking ID: "${e.trackingId}").`);return n}function q(e,t){return`set-${ee(e,t)+1}`}function N(e,t,n){const o=y(e,n).offers.find(i=>i.trackingId===t);if(!o)throw new Error(`Cannot find offer with tracking ID "${t}" in offer group "${n}" (placement tracking ID: "${e.trackingId}").`);return o}function K(e){return e.map(t=>t.id).join("-")}function te(e,t){return`${K(e)}-${t}`}function ne(e,t){const n=y(e,t);return{offers_group_tracking_id:n.trackingId,rank:n.rank,offer_type:K(n.offerTypes),product_type:n.itemType}}function re(e){return e.offersGroups.map(t=>({tracking_id:t.trackingId,rank:t.rank,impressions:t.offers.map(n=>n.productId)}))}function oe(e,t){return{offer_tracking_id:t.trackingId,model_rank:t.modelRank,model_score:t.modelScore,...t.matchingScore!==void 0&&{matching_score:t.matchingScore},offer_type:e.offerType}}function D(e){return e?.marketingMessageId?{marketingMessageId:e.marketingMessageId,contentfulId:e.contentfulId}:{}}function L(e){const{placement:t,tenant:n,product:r,workId:o,page:i,origin:a,marketingMessage:c}=e,d=N(t,r.trackingId,r.offerGroupTrackingId);return{pageStage:i?.pageStage,pageSection:i?.pageSection,pageName:i?.pageName,route:"recommendations",list_id:G(t.trackingKey),tenant:n,product_id:r.mpvId,name:r.title,core_product_id:r.productKey,core_product_version:r.productVersion,variant:x(r.productOptions),offersGroups:re(t),offers_group_tracking_id:r.offerGroupTrackingId,eventDetail:`${d.rank}_${r.mpvId}`,...V(t),...z(t),...oe(r,d),...X(r,o,d.sceneId),...W(r),...D(c),recommendationsMetadata:M(a)}}function F(e,t,n){return`${e?.pageSection??""}|${t}|${n}`}function U(e){return Object.entries(e).map(([t,n])=>({key:t,value:n}))}const ie="fragmentPersonalizedProductMix",Z="Personalization";function Q(e){const t=D(e);return t.contentfulId?{...t,contentType:ie}:t}function ce(e){const{placement:t,tenant:n,products:r,screenClass:o,set:i,page:a,isDefault:c=!1,discardedOffers:d,origin:l,marketingMessage:p,fetchError:k}=e,_=r[0]?.offerGroupTrackingId??t.offersGroups[0]?.trackingId??"",f=y(t,_),v=r.map((s,I)=>{const u=N(t,s.trackingId,s.offerGroupTrackingId);return{product_id:s.mpvId,name:s.title,core_product_id:s.productKey,core_product_version:s.productVersion,variant:x(s.productOptions),position:I+1,offer_type:s.offerType,offer_tracking_id:u.trackingId,model_rank:u.modelRank,model_score:u.modelScore,...u.matchingScore!==void 0&&{matching_score:u.matchingScore}
1,doc_id:s.documentUrl,scene_id:u.sceneId,list_section_id:`set_${i}`}});return{pageStage:a?.pageStage,pageSection:a?.pageSection,pageName:a?.pageName,label:"Recommendation Component",route:"recommendations",list_id:G(t.trackingKey),is_default:c,tenant:n,products:v,display_configuration:{...f.displayConfiguration,minOffersToDisplay:f.displayConfiguration.minOffersToDisplay||void 0},...ne(t,_),...V(t),...z(t),...D(p),error:k?.message,screenClass:o,discardReason:d?"MinOffersToDisplay":void 0,recommendationsMetadata:M(l)}}function ae(e){const{origin:t}=e;return{...L(e),label:t?`Product Added:${t}`:"Recommendations page",...t&&{category:"Enhanced Ecommerce"}}}function de(e){const{placement:t,product:n,clickedElement:r}=e,o=y(t,n.offerGroupTrackingId);return{...L(e),label:`Recommendations Product ${r} Clicked`,list_section_id:te(o.offerTypes,o.rank)}}function se(e){const{placement:t,products:n,screenClass:r,urlId:o,recommendationsPlacement:i,page:a,marketingMessage:c}=e,d=t.offersGroups[0];if(!d)throw new Error("[product-recommendations-tracking] buildPersonalizationViewedEvent: placement has no offer groups");const l=F(a,o,i),p=d.displayConfiguration.layout,k=R(r,d.displayConfiguration),_=t.model?.assortmentMetadata?.assortmentDecisionMaker??(t.model?`model-driven:${t.model.id}`:"manually-defined"),f=t.model?.assortmentMetadata?.assortmentDecisionId,v={displayColumnCount:k,displayLayout:p,assortmentDecisionMaker:_,...f!==void 0?{assortmentDecisionId:f}:{},assortmentTrackingId:t.trackingId,assortmentExperimentId:t.experimentInfo?.experiment.key},s=n.map((m,E)=>{const A=y(t,m.offerGroupTrackingId);return{product_id:m.mpvId,core_product_id:m.productKey,core_product_version:m.productVersion,position:E+1,listSectionId:q(t,A.trackingId),offerType:m.offerType,offerTrackingId:m.trackingId,productOptions:U(m.productOptions)}}),{contentType:I,...u}=Q(c);return{label:"Assortment Personalization",category:Z,placementId:l,placementType:p,treatmentId:t.trackingId,experimentId:t.experimentInfo?.experiment.key,decisionMaker:c?.decisionMaker??"manually-defined",...I!==void 0?{contentType:I}:{},...u,products:s,assortmentMetadata:v}}function j(e){const{placement:t,product:n,allProducts:r,urlId:o,recommendationsPlacement:i,ctaId:a,page:c,marketingMessage:d}=e,l=y(t,n.offerGroupTrackingId),p=F(c,o,i),k=l.displayConfiguration.layout,_=a??o,f=r.findIndex(A=>A.trackingId===n.trackingId),v=f>=0?f+1:r.length,s=`${_}:${r.length}:${v}`,{contentType:I,...u}=Q(d),m=t.model?.assortmentMetadata?.assortmentDecisionMaker??(t.model?`model-driven:${t.model.id}`:"manually-defined"),E=t.model?.assortmentMetadata?.assortmentDecisionId;return{label:"Assortment Personalization",category:Z,placementId:p,navigationDetail:s,placementType:k,treatmentId:t.trackingId,experimentId:t.experimentInfo?.experiment.key,decisionMaker:d?.decisionMaker??"manually-defined",...I!==void 0?{contentType:I}:{},...u,product_id:n.mpvId,core_product_id:n.productKey,core_product_version:n.productVersion,position:v,listSectionId:q(t,l.trackingId),offerType:n.offerType,offerTrackingId:n.trackingId,productOptions:U(n.productOptions),assortmentDecisionMaker:m,...E!==void 0?{assortmentDecisionId:E}:{},assortmentTrackingId:t.trackingId,assortmentExperimentId:t.experimentInfo?.experiment.key}}var ue=Object.defineProperty,le=(e,t,n)=>t in e?ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pe=(e,t,n)=>le(e,t+"",n);class me{emitEvent(t,n){O()?.track(t,n,{})}}class fe{constructor(t){pe(this,"inner"),this.inner=t??new me}emitEvent(t,n){try{this.inner.emitEvent(t,n)}catch(r){throw new C(`Failed to send tracking event "${t}": ${r instanceof Error?r.message:String(r)}`,{cause:r,eventName:t})}}}const ge="productAddedToCart";function ke(e){typeof document>"u"||document.dispatchEvent(new CustomEvent(ge,{detail:e,bubbles:!0,cancelable:!1}))}function S(e){return typeof document>"u"?void 0:document.querySelector(`meta[name="${e}"]`)?.getAttribute("content")??void 0}function Ie(){return{pageName:S("pageName")??"unknown",pageSection:S("pageSection")??"unknown",pageStage:S("pageStage")??"unknown"}}const B="recommendations_assortment_personalization_tracking",ye="addToCart";function Pe(e){return e||Ie()}let b;function _e(){return b||(b=new fe),b}function h(){try{return $(B)}catch(e){throw new C(`Failed to read feature gate "${B}": ${e instanceof Error?e.message:String(e)}`,{cause:e})}}function P(e,t,n){try{const r=Pe(t.page),o=t.tenant;if(!o)throw new Error("missing tenant -- cannot emit tracking event for an unknown brand");const i={...t,page:r,tenant:o},a=n(i);(t.emitter??_e()).emitEvent(e,a)}catch(r){throw new C(`Failed to emit "${e}" event: ${r instanceof Error?r.message:String(r)}`,{cause:r,eventName:e})}}function ve(e){const{adaptedResponse:t,visibleProductIndices:n,offerGroupIndex:r=0,...o}=e,i=h();let a;if(n)a=n.map(c=>t.products[c]).filter(c=>!!c);else{const c=t.placement.offersGroups[r];if(c){const d=t.products.filter(k=>k.offerGroupTrackingId===c.trackingId),l=R(o.screenClass,c.displayConfiguration),p=(o.set-1)*l;a=d.slice(p,p+l)}else a=t.products}a.length!==0&&(i?P(g.PersonalizationViewed,o,c=>se({placement:t.placement,products:a,...c})):P(g.ProductListViewed,o,c=>ce({placement:t.placement,products:a,...c})))}function Te(e){const{adaptedResponse:t,prices:n,...r}=e,o={...r.product,...n!==void 0&&{prices:n}};h()?P(g.PersonalizationClicked,r,i=>j({placement:t.placement,allProducts:t.products,...i,product:o})):P(g.ProductClicked,r,i=>de({placement:t.placement,...i,product:o}))}function Ce(e){const{adaptedResponse:t,prices:n,...r}=e,o={...r.product,...n!==void 0&&{prices:n}};P(g.ProductAdded,r,i=>ae({placement:t.placement,...i,product:o}));try{const i={productKey:e.product.productKey,productVersion:e.product.productVersion,productOptions:e.product.productOptions,quantity:e.product.quantity,mpvId:e.product.mpvId,workId:e.workId,origin:e.origin};ke(i)}catch(i){throw new C(`Failed to dispatch DOM event "productAddedToCart": ${i instanceof Error?i.message:String(i)}`,{cause:i})}h()&&P(g.PersonalizationClicked,r,i=>j({placement:t.placement,allProducts:t.products,...i,ctaId:ye}))}function Ee(e){return{trackingId:e.trackingId,productId:e.productId,rank:e.rank??e.modelRank,modelRank:e.modelRank,modelScore:e.modelScore,matchingScore:e.matchingScore,sce
1neId:e.sceneId}}function we(e){return{trackingId:e.trackingId,rank:e.rank??0,itemType:e.itemType,offerTypes:e.offerTypes.map(t=>({id:t.id})),displayConfiguration:e.displayConfiguration,offers:e.offers.map(Ee)}}function De(e){return{id:e.id,version:e.version,trackingId:e.trackingId,trackingKey:e.trackingKey,selector:e.selector,correlationId:e.correlationId??"",model:e.model,experimentInfo:e.experimentInfo,offersGroups:e.offersGroups.map(we)}}function Se(e){if(e.prices)return{currency:e.prices.currency,availablePrices:e.prices.availablePrices.map(t=>({quantity:t.quantity,listPrice:t.listPrice.untaxed,discountedPrice:t.discountedPrice.untaxed}))};if(e.merchandisingQuantity){const t=e.merchandisingQuantity,n=(t.availableQuantities??[]).map(r=>({quantity:r.quantity,listPrice:r.listPrice.untaxed,discountedPrice:r.discountedPrice.untaxed}));return{currency:t.currency,availablePrices:n}}}function be(e){return{mpvId:e.mpvId??e.productId,title:e.title??"",productKey:e.productKey??e.coreProductId??"",productVersion:e.productVersion??e.coreProductVersion??0,productOptions:e.productOptions??e.selectedAttributes??{},offerType:e.offerType??"",trackingId:e.trackingId,offerGroupTrackingId:e.offerGroupTrackingId??"",quantity:e.quantity??1,documentUrl:e.sourceDocumentUrl,prices:Se(e)}}function he(){return{adaptResponse(e){const t=De(e),n=e.offersGroups.flatMap(r=>r.offers.map(o=>be({...o,offerGroupTrackingId:o.offerGroupTrackingId??r.trackingId})));return{placement:t,products:n}}}}function Ae(e,t){return{trackingId:e.trackingId,productId:e.productId,rank:t,modelRank:t,modelScore:0,matchingScore:void 0}}function Oe(e){return{trackingId:e.trackingId,rank:1,itemType:"",offerTypes:[],displayConfiguration:{title:"",columnCount:0,smallColumnCount:0,extraSmallColumnCount:0,layout:"",minOffersToDisplay:void 0},offers:e.products.map((t,n)=>Ae(t,n+1))}}function $e(e){return{id:e.id,version:"",trackingId:e.trackingId,trackingKey:e.trackingKey,selector:e.selector,correlationId:"",model:e.model,offersGroups:[Oe(e)]}}function Ge(e,t){return{mpvId:e.productId,title:e.title,productKey:e.coreProductId,productVersion:e.coreProductVersion,productOptions:e.selectedAttributes,offerType:"",trackingId:e.trackingId,offerGroupTrackingId:t,quantity:1}}function Me(){return{adaptResponse(e){const t=$e(e),n=e.products.map(r=>Ge(r,e.trackingId));return{placement:t,products:n}}}}})}})); 2//# sourceMappingURL=product-recommendations-tracking-k1o2uZTd.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.