PageSourceSearch

https://www.tesa.com/relaunch2020/build/8356.1a746f2a.js

js tesa.com collected 2026-10-02 06:20:08 UTC 12,805 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunktesa_2016=globalThis.webpackChunktesa_2016||[]).push([[8356],{6053:(t,e,r)=>{r.d(e,{sE:()=>E});var a=r(9669),o=r.n(a),s=r(1223),d=r(9043);const n=["cmsProductContentIds","cmsBaseProductIds","cmsProductIds","ecomIds","narts","eans"],c="pending",u="resolved",i=[...n,"includeVariants","includeMedia"],l=["ids","idType","id-type"],m=()=>({baseProducts:{},productVariants:{},productVariantIdsByCmsProductContentId:{},cmsProductContentIdsByCmsBaseProductId:{},cmsProductIdByEcomId:{},cmsProductIdByNart:{},cmsProductIdByEan:{},requestStatus:{}}),p=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),y=t=>{if("string"!=typeof t&&"number"!=typeof t)throw new TypeError("Product identifiers must be strings or numbers.");return String(t).trim()},h=(t,e)=>{if(!p(t,e))return!1;if("boolean"!=typeof t[e])throw new TypeError(`Product data option "${e}" must be a boolean.`);return t[e]},P=t=>{if(!t||"object"!=typeof t||Array.isArray(t))throw new TypeError("Product data request payload must be an object.");const e=l.find(e=>p(t,e));if(e)throw new TypeError(`Legacy product data parameter "${e}" is no longer supported.`);const r=Object.keys(t).find(t=>!i.includes(t));if(r)throw new TypeError(`Unsupported product data parameter "${r}".`);const a=n.filter(e=>p(t,e));if(1!==a.length)throw new TypeError("Provide exactly one product identifier array.");const o=a[0];if(!Array.isArray(t[o]))throw new TypeError(`Product data parameter "${o}" must be an array.`);return{identifierParameter:o,ids:[...new Set(t[o].map(y).filter(Boolean))],includeVariants:h(t,"includeVariants"),includeMedia:h(t,"includeMedia")}},I=(t,e)=>t&&e?3:t?1:e?2:0,f=(t,e,r)=>JSON.stringify([t,e,r]),g=(t,e,r,a,o)=>(t=>{switch(t){case 0:return[0,1,2,3];case 1:return[1,3];case 2:return[2,3];default:return[3]}})(a).map(t=>f(e,r,t)).find(e=>t.requestStatus[e]===o),v=(t,e,r)=>{e&&r&&(t[e]=[...new Set([...t[e]||[],r])])},B=(t,e)=>{if(!t||"variant"!==t.level||null===t.cmsProductId||void 0===t.cmsProductId)return null;const r=String(t.cmsProductId),a={...t};delete a.variants;const o=e.productVariants[r]||{},s={...a,cmsProductId:r,...null!==a.cmsProductContentId&&void 0!==a.cmsProductContentId&&{cmsProductContentId:String(a.cmsProductContentId)},...null!==a.cmsBaseProductId&&void 0!==a.cmsBaseProductId&&{cmsBaseProductId:String(a.cmsBaseProductId)}},d={...o,...s};e.productVariants[r]=d;return[["ecomId",e.cmsProductIdByEcomId],["nart",e.cmsProductIdByNart],["ean",e.cmsProductIdByEan]].forEach(t=>{let[e,a]=t;((t,e,r,a)=>{e&&e!==r&&t[e]===a&&delete t[e]})(a,o[e],d[e],r),d[e]&&(a[String(d[e])]=r)}),v(e.productVariantIdsByCmsProductContentId,d.cmsProductContentId,r),v(e.cmsProductContentIdsByCmsBaseProductId,d.cmsBaseProductId,d.cmsProductContentId),r},w={baseProductByCmsProductContentId:t=>e=>t.baseProducts[String(e)]||null,baseProductsByCmsBaseProductId:t=>e=>(t.cmsProductContentIdsByCmsBaseProductId[String(e)]||[]).map(e=>t.baseProducts[e]).filter(Boolean),productVariantByCmsProductId:t=>e=>t.productVariants[String(e)]||null,productVariantByEcomId:t=>e=>{const r=t.cmsProductIdByEcomId[String(e)];return r&&t.productVariants[r]||null},productVariantByNart:t=>e=>{const r=t.cmsProductIdByNart[String(e)];return r&&t.productVariants[r]||null},productVariantByEan:t=>e=>{const r=t.cmsProductIdByEan[String(e)];return r&&t.productVariants[r]||null},productVariantsByCmsProductContentId:t=>e=>(t.productVariantIdsByCmsProductContentId[String(e)]||[]).map(e=>t.productVariants[e]).filter(Boolean),productVariantsByCmsBaseProductId:t=>e=>{const r=(t.cmsProductContentIdsByCmsBaseProductId[String(e)]||[]).flatMap(e=>w.productVariantsByCmsProductContentId(t)(e));return[...new Map(r.map(t=>[t.cmsProductId,t])).values()]},isProductDataRequestPending:t=>e=>{const{identifierParameter:r,ids:a,includeVariants:o,includeMedia:s}=P(e);if(!a.length)return!1;const d=I(o,s);return a.some(e=>Boolean(g(t,r,e,d,c)))}},E=function(){let{httpClient:t=o(),endpoint:e=d.kA}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map;return(0,s.Q_)("cmsProductData",{state:m,getters:w,actions:{setProductData(t){const e={baseProducts:{...this.baseProducts},productVariants:{...this.productVariants},productVariantIdsByCmsProductContentId:{...this.productVariantIdsByCmsProductContentId},cmsProductContentIdsByCmsBaseProductId:{...this.cmsProductContentIdsByCmsBaseProductId},cmsProductIdByEcomId:{...this.cmsProductIdByEcomId},cmsProductIdByNart:{...this.cmsProductIdByNart},cmsProductIdByEan:{...this.cmsProductIdByEan}};t.forEach(t=>{if("variant"===(null==t?void 0:t.level))return void B(t,e);if("base"!==(null==t?void 0:t.level)||null===t.cmsProductContentId||void 0===t.cmsProductContentId)return;const r=String(t.cmsProductContentId),{variants:a,...o}=t,s={...o,cmsProductContentId:r,...null!==o.cmsBaseProductId&&void 0!==o.cmsBaseProductId&&{cmsBaseProductId:String(o.cmsBaseProductId)}};e.baseProducts[r]={...e.baseProducts[r]||{},...s},v(e.cmsProductContentIdsByCmsBaseProductId,s.cmsBaseProductId,r),Array.isArray(a)&&(e.productVariantIdsByCmsProductContentId[r]=[...new Set(a.map(t=>
1B(t,e)).filter(Boolean))])}),Object.assign(this,e)},setRequestStatus(t){let{requestKeys:e,status:r}=t;const a={...this.requestStatus};e.forEach(t=>{a[t]=r}),this.requestStatus=a},removeRequestStatus(t){const e={...this.requestStatus};t.forEach(t=>{delete e[t]}),this.requestStatus=e},async fetchProductData(a){const{identifierParameter:o,ids:s,includeVariants:d,includeMedia:n}=P(a);if(!s.length)return;const i=I(d,n),l=new Set,m=[];if(s.forEach(t=>{if(g(this,o,t,i,u))return;const e=g(this,o,t,i,c),a=e&&r.get(e);a?l.add(a):m.push(t)}),m.length){const a=m.map(t=>f(o,t,i));this.setRequestStatus({requestKeys:a,status:c});const s=Promise.resolve().then(()=>t.get(e,{params:{[o]:m,...d&&{includeVariants:!0},...n&&{includeMedia:!0}}})).then(t=>{if(!Array.isArray(t.data))throw new TypeError("Product data endpoint response must be an array.");this.setProductData(t.data),this.setRequestStatus({requestKeys:a,status:u})}).catch(t=>{throw this.removeRequestStatus(a),console.warn("cmsProductData::fetchProductData failed",t),t}).finally(()=>{a.forEach(t=>{r.get(t)===s&&r.delete(t)})});a.forEach(t=>r.set(t,s)),l.add(s)}await Promise.all(l)}}})}()},5936:(t,e,r)=>{r.d(e,{fn:()=>P,g2:()=>c});var a=r(9669),o=r.n(a),s=r(1223),d=r(9043);let n=()=>null;const c=t=>{n=t},u={"sw-access-key":d.Nv.accessKey,"sw-inheritance":1},i="pending",l="resolved",m=["ecomIds","forceUpdate"],p=()=>({productsByEcomId:{},requestStatusByEcomId:{}}),y=t=>{if("string"!=typeof t&&"number"!=typeof t)throw new TypeError("E-commerce identifiers must be strings or numbers.");return String(t).trim()},h={productDataByEcomId:t=>e=>t.productsByEcomId[String(e)]||null,productPriceDataByEcomId:t=>e=>{var r;const a=h.productDataByEcomId(t)(e);return null!=a&&null!==(r=a.calculatedPrices)&&void 0!==r&&r.length?a.calculatedPrices[0]:null==a?void 0:a.calculatedPrice},productDataByEcomIds:t=>e=>e.reduce((e,r)=>(t.productsByEcomId[r]&&(e[r]=t.productsByEcomId[r]),e),{}),cheapestEcomIdByEcomIds:t=>e=>{var r;const a=e.map((e,r)=>{var a;return{ecomId:e,index:r,totalPrice:null===(a=h.productPriceDataByEcomId(t)(e))||void 0===a?void 0:a.totalPrice}}).filter(t=>{let{totalPrice:e}=t;return Number.isFinite(e)});return a.sort((t,e)=>t.totalPrice-e.totalPrice||t.index-e.index),(null===(r=a[0])||void 0===r?void 0:r.ecomId)||null},minPriceByEcomIds:t=>e=>{const r=e.map(e=>{var r;return null===(r=h.productPriceDataByEcomId(t)(e))||void 0===r?void 0:r.unitPrice}).filter(t=>!isNaN(t));return r.length?Math.min(...r):null}},P=function(){let{httpClient:t=o(),apiUrl:e=d.Nv.apiUrl,productEndpoint:r=d.Nv.productEndpoint||`${e}product`,getContextToken:a=()=>n()}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const c=new Map;return(0,s.Q_)("shopware/product",{state:p,getters:h,actions:{setProductData(t){this.productsByEcomId=(t.elements||[]).reduce((t,e)=>(e.productNumber&&(t[e.productNumber]=e),t),{...this.productsByEcomId})},setRequestStatus(t){let{ecomIds:e,status:r}=t;const a={...this.requestStatusByEcomId};e.forEach(t=>{a[t]=r}),this.requestStatusByEcomId=a},removeRequestStatus(t){const e={...this.requestStatusByEcomId};t.forEach(t=>{delete e[t]}),this.requestStatusByEcomId=e},async fetchProductData(e){const{ecomIds:o,forceUpdate:s}=(t=>{if(!t||"object"!=typeof t||Array.isArray(t))throw new TypeError("Shopware product request payload must be an object.");const e=Object.keys(t).find(t=>!m.includes(t));if(e)throw new TypeError(`Unsupported Shopware product parameter "${e}".`);if(!Array.isArray(t.ecomIds))throw new TypeError('Shopware product parameter "ecomIds" must be an array.');if(Object.prototype.hasOwnProperty.call(t,"forceUpdate")&&"boolean"!=typeof t.forceUpdate)throw new TypeError('Shopware product parameter "forceUpdate" must be a boolean.');return{ecomIds:[...new Set(t.ecomIds.map(y).filter(Boolean))].slice(0,100),forceUpdate:t.forceUpdate||!1}})(e);if(!o.length)return;const d=new Set,n=[];if(o.forEach(t=>{(s||this.requestStatusByEcomId[t]!==l)&&(s||this.requestStatusByEcomId[t]!==i||!c.has(t)?n.push(t):d.add(c.get(t)))}),n.length){this.setRequestStatus({ecomIds:n,status:i});const e=t.post(r,{filter:[{type:"multi",operator:"OR",queries:n.map(t=>({type:"equals",field:"productNumber",value:t}))}],includes:{product:["id","productNumber","calculatedPrice","calculatedPrices","deliveryTime","calculatedMaxPurchase","minPurchase","purchaseUnit","unit","name","stock","customFields","tesaPromotionBadge","markAsTopseller"]}},{headers:(p=a(),{...u,...p&&{"sw-context-token":p}})}).then(t=>{let{data:e}=t;this.setProductData(e),this.setRequestStatus({ecomIds:n,status:l})}).catch(t=>{throw this.removeRequestStatus(n),t}).finally(()=>
1{n.forEach(t=>c.delete(t))});n.forEach(t=>c.set(t,e)),d.add(e)}var p;await Promise.all(d)}}})}()},7345:(t,e,r)=>{r.d(e,{Z:()=>c});var a=r(5166),o=r(9043),s=r(7651),d=r(9893);const n=["loading","srcset","sizes","width","height","src","alt","aria-hidden","role"],c=Object.assign({name:"base-image",inheritAttrs:!1},{__name:"BaseImage",props:{allowedFormats:{type:Array,default:()=>[]},backgroundColor:{type:String,default:"#fff"},isOpaque:{type:Boolean,default:!1},isPending:{type:Boolean,default:!1},lazyLoad:{type:Boolean,default:!0},loading:{type:String,default:null},pathPattern:{type:String,default:""},fallbackSource:{type:String,default:null},sourceDimensions:{type:Object,default:()=>({})},title:{type:String,default:""},alt:{type:String,default:""},description:{type:String,default:""},variant:{type:String,default:"crop16x9"},objectFit:{type:String,default:null,validator:t=>["cover","contain"].includes(t)},ariaHidden:{type:Boolean,default:null},role:{type:String,default:null}},emits:["click"],setup(t){var e;const r=null===(e=(0,a.FN)())||void 0===e?void 0:e.proxy,c=t,u=(0,a.iH)(!1),i=(0,a.iH)(!1),l=(0,a.iH)(null),m=(0,a.iH)(null),p=(0,a.Fl)(()=>(0,d.td)(r)),y=(0,a.Fl)(()=>c.loading??(c.lazyLoad?"lazy":null)),h=(0,a.Fl)(()=>{if("cropped"===P.value.type||"padded"===P.value.type){const[t,e]=P.value.size.split("x");return{width:t,height:e}}return"fixedwidth"===c.variant?c.sourceDimensions:m.value[c.variant]||{width:100,height:100}}),P=(0,a.Fl)(()=>o.kB[c.variant]),I=(0,a.Fl)(()=>`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 ${h.value.width} ${h.value.height}'%3E%3C/svg%3E`),f=(0,a.Fl)(()=>l.value?`${l.value}px`:`(min-width: ${o.HR.containerMaxWidth}px) ${o.HR.containerMaxWidth-2*o.HR.containerPaddingDesktop}px, 100vw`),g=(0,a.Fl)(()=>c.fallbackSource||(0,s.lz)(v.value,h.value.width)||I.value),v=(0,a.Fl)(()=>
1(0,s.qi)({allowedFormats:c.allowedFormats,isOpaque:c.isOpaque,variant:c.variant,pathPattern:c.pathPattern})),B=(0,a.Fl)(()=>({backgroundColor:c.lazyLoad?"transparent":c.backgroundColor}));return(0,a.bv)(()=>{l.value=r.$el.scrollWidth,window.addEventListener("resize",(0,s.Ds)(()=>{l.value=r.$el.scrollWidth},300))}),m.value={canvas1x1:{width:1,height:1},canvas1x2:{width:1,height:2},canvas16x9:{width:16,height:9}},(e,r)=>{const o=(0,a.up)("MissingImage");return(0,a.wg)(),(0,a.iD)("div",{class:(0,a.C_)(["base-image",[{"lazy-loading-placeholder":!u.value&&!i.value&&(t.lazyLoad||t.isPending)},{[`base-image--${t.objectFit}`]:t.objectFit},p.value.class]]),style:(0,a.j5)([B.value,p.value.style]),onClick:r[2]||(r[2]=t=>e.$emit("click",t))},[t.isPending?(0,a.kq)("v-if",!0):((0,a.wg)(),(0,a.iD)(a.HY,{key:0},[i.value?((0,a.wg)(),(0,a.j4)(o,{key:1})):((0,a.wg)(),(0,a.iD)("img",{key:0,ref:"image",loading:y.value,srcset:v.value,sizes:f.value,width:h.value.width,height:h.value.height,src:g.value,alt:t.ariaHidden||"presentation"===t.role?"":t.alt||t.description||t.title,"aria-hidden":t.ariaHidden,role:t.role,onLoad:r[0]||(r[0]=t=>u.value=!0),onError:r[1]||(r[1]=t=>i.value=!0)},null,40,n))],64))],6)}}})}}]);

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.