1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,604555,897647,e=>{"use strict";var t=e.i(843476);class r{constructor(e){e&&Object.keys(e).forEach(t=>{this[t]=e[t]})}static fromReadonlyURLSearchParams(e){let t=new r;return e&&e.forEach((r,i)=>{t[i]?t[i]=e.getAll(i):t[i]=e.get(i)||""}),t}static clearFilter(e){let t=new r,i=["q","sort_by","sort_direction","id"];return e.forEach((r,a)=>{i.includes(a)&&(t[a]?t[a]=e.getAll(a):t[a]=e.get(a)||"")}),t}toString(){let e=(e,t)=>t?`${e}=${encodeURIComponent(t)}`:null,t=Object.keys(this).map(t=>Array.isArray(this[t])?this[t].map(r=>e(t,r)).filter(e=>null!==e).join("&"):e(t,this[t])).filter(e=>null!==e).join("&");return t?"?"+t.toString():""}toogle(e,t=!1){Object.keys(e).forEach(r=>{if(Object.hasOwn(this,r)&&!t){let t=e[r];this[r]=Array.isArray(this[r])?this[r]:[this[r]],this[r].includes(t)?this[r].splice(this[r].indexOf(t),1):this[r].push(t)}else this[r]=e[r]})}}class i{text;tags;priceRanges;pageSize;pageNumber;sortBy;sortDirection;static fromReadonlyURLSearchParams(e){let t=r.fromReadonlyURLSearchParams(e);return i.fromSearchParams(t)}static fromSearchParams(e){let t=new i,r=Object.keys(i.paramMapping);return Object.keys(e).forEach(a=>{r.includes(a)?t[i.paramMapping[a].name]=i.paramMapping[a].fn(e[a]):t.tags=[...t.tags||[],i.normalizeStringArray(a,e[a])]}),t}static paramMapping={q:{name:"text",fn:i.normalizeString},price_range:{name:"#Price",fn:i.normalizeEnum},page:{name:"pageNumber",fn:i.normalizeNumber}};static normalizeStringArray(e,t){return{key:e,value:Array.isArray(t)?t:[t]}}static normalizeNumber(e){return+e}static normalizeRange(e){return(Array.isArray(e)?e:[e]).map(e=>{let[t,r]=e.split("-");return{from:+t,to:+r}})}static normalizeEnum(e){return e.toUpperCase()}static normalizeString(e){return e}}e.s(["SearchParams",0,r],897647);var a=e.i(618566),n=e.i(271645);let l=(0,n.createContext)({history:[],setHistory:e=>{}});e.s(["NavigationHistoryContext",0,l,"default",0,function({value:e,children:i}){let[s,o]=(0,n.useState)(e??[]),u=(0,a.usePathname)(),c=(0,a.useSearchParams)(),d=(0,n.useMemo)(()=>`${u}${r.fromReadonlyURLSearchParams(c)}`,[u,c]);return(0,n.useEffect)(()=>{(0,n.startTransition)(()=>{o(e=>[...e,d])})},[d]),(0,t.jsx)(l.Provider,{value:{history:s,setHistory:o},children:i})}],604555)},43912,e=>{"use strict";var t=e.i(843476),r=e.i(271645),i=e.i(304995);let a="gfl-compare-products",n=(0,r.createContext)({compareList:[],addToCompare:e=>!1,removeFromCompare:e=>{},clearCompare:()=>{},isInCompare:e=>!1,canAddMore:!0,maxProducts:4,getCompareUrl:()=>"/compare"});e.s(["CompareContext",0,n,"default",0,function({children:e}){let{comparePageUrl:l}=(0,i.useWebsite)(),[s,o]=(0,r.useState)([]),[u,c]=(0,r.useState)(!1);(0,r.useEffect)(()=>{{let e=localStorage.getItem(a);if(e)try{let t=JSON.parse(e);o(t)}catch(e){console.error("Error loading compare list from storage:",e)}c(!0)}},[]),(0,r.useEffect)(()=>{u&&localStorage.setItem(a,JSON.stringify(s))},[s,u]),(0,r.useEffect)(()=>{let e=e=>{if(e.key===a)try{o(e.newValue?JSON.parse(e.newValue):[])}catch{}};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]);let d=s.length<4;return(0,t.jsx)(n.Provider,{value:{compareList:s,addToCompare:e=>!(s.length>=4||s.some(t=>t.id===e.id))&&(o(t=>[...t,e]),!0),removeFromCompare:e=>{o(t=>t.filter(t=>t.id!==e))},clearCompare:()=>{o([])},isInCompare:e=>s.some(t=>t.id===e),canAddMore:d,maxProducts:4,getCompareUrl:()=>{let e=s.map(e=>e.articleNumber).filter(Boolean);return e.length>0?`${l}?ids=${e.join(",")}`:l}},children:e})},"useCompare",0,function(){let e=(0,r.useContext)(n);if(!e)throw Error("useCompare must be used within a CompareContextProvider");return e}])},704937,e=>{"use strict";var t=e.i(843476),r=e.i(8433),i=e.i(952155),a=e.i(304995),n=e.i(271645),l=e.i(421719),s=e.i(313946);let o=` 2 query ErpPrices($input: ErpPriceQueryInput!) { 3 erpPrices(input: $input) { 4 complete 5 notApplicable 6 prices { 7 articleNumber 8 status 9 priceExcludingVat 10 priceIncludingVat 11 vatRate 12 } 13 } 14 } 15`;async function u({channelId:e,currencyCode:t,items:r}){if(!r.length)return{prices:[],complete:!0,notApplicable:!1};let i=await (0,l.customClientQuery)(o,void 0,{input:{channelId:(0,s.extractSystemId)(e),currencyCode:t,items:r}}),a=i?.data?.erpPrices;
15return a?{prices:a.prices??[],complete:a.complete??!0,notApplicable:a.notApplicable??!1}:null}let c={status:"not-applicable"},d={status:"pending"},m={status:"unavailable"},p=[1500,2500,4e3,6e3,1e4,16e3],f={},h=(0,n.createContext)({registerArticle:()=>()=>{},getPriceState:()=>c}),y=(e,t)=>`${e.toLowerCase()}|${t}`;function g({children:e}){let{user:l,isAuthenticated:s}=(0,n.useContext)(i.UserContext),o=(0,n.useContext)(a.WebsiteContext),{cart:f,refreshCart:S}=(0,n.useContext)(r.CartContext),I=l?.selectedOrganization?.organization?.id??null,b=f?.currency?.code??"",w=o.channelId??"",v=s&&!!I&&o.isB2BChannel&&!!w&&!!b,[P,C]=(0,n.useState)(new Map),E=(0,n.useRef)(new Map),k=(0,n.useRef)(null),A=(0,n.useRef)(null),V=(0,n.useRef)(0),$=(0,n.useRef)(!1),N=(0,n.useRef)(null);(0,n.useEffect)(()=>{C(new Map),V.current=0,N.current=null},[I,w,b]);let O=(0,n.useCallback)(async()=>{if(!v||$.current)return;let e=Array.from(E.current.values());if(e.length){$.current=!0;try{let t=await u({channelId:w,currencyCode:b,items:e.map(({articleNumber:e,quantity:t})=>({articleNumber:e,quantity:t}))}),r=new Map(e.map(e=>[e.articleNumber.toLowerCase(),y(e.articleNumber,e.quantity)]));if(!t)return void C(e=>{let t=new Map(e);return r.forEach(e=>{t.get(e)?.status!=="ready"&&t.set(e,m)}),t});if(t.notApplicable)return void C(()=>new Map);if(C(e=>{let i=new Map(e);for(let e of t.prices){let t=r.get(e.articleNumber.toLowerCase());t&&i.set(t,"READY"===e.status?{status:"ready",price:e}:"UNAVAILABLE"===e.status?m:d)}return i}),t.complete){let e=(f?.rows??[]).filter(e=>"PRODUCT"===e.rowType&&t.prices.some(t=>"READY"===t.status&&t.articleNumber.toLowerCase()===e.articleNumber.toLowerCase())).map(e=>`${e.articleNumber.toLowerCase()}@${e.quantity}`).sort().join("|");e&&e!==N.current&&(N.current=e,S().catch(()=>{N.current=null})),V.current=0;return}let i=V.current;if(i>=p.length){C(e=>{let t=new Map(e);return t.forEach((e,r)=>{"pending"===e.status&&t.set(r,m)}
15),t}),V.current=0;return}V.current=i+1,A.current&&clearTimeout(A.current),A.current=setTimeout(()=>void O(),p[i])}finally{$.current=!1}}},[f?.rows,w,b,v,S]),x=(0,n.useCallback)(()=>{v&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>void O(),60))},[v,O]),F=(0,n.useCallback)((e,t=1)=>{let r=e.trim(),i=Math.max(1,t);if(!r||!v)return()=>{};let a=y(r,i),n=E.current,l=n.get(a);return n.set(a,{articleNumber:r,quantity:i,count:(l?.count??0)+1}),l||(C(e=>{if(e.has(a))return e;let t=new Map(e);return t.set(a,d),t}),x()),()=>{let e=n.get(a);!e||e.count<=1?n.delete(a):n.set(a,{...e,count:e.count-1})}},[v,x]),T=(0,n.useCallback)((e,t=1)=>v?P.get(y(e,Math.max(1,t)))??d:c,[v,P]);(0,n.useEffect)(()=>()=>{k.current&&clearTimeout(k.current),A.current&&clearTimeout(A.current)},[]);let W=(0,n.useMemo)(()=>({registerArticle:F,getPriceState:T}),[T,F]);return(0,t.jsx)(h.Provider,{value:W,children:e})}e.s(["ErpPriceContext",0,h,"ErpPriceProvider",0,g,"default",0,g,"useErpPrice",0,function(e,t=1){let{registerArticle:r,getPriceState:i}=(0,n.useContext)(h);return(0,n.useEffect)(()=>{if(e)return r(e,t)},[e,t,r]),e?i(e,t):c},"useErpPrices",0,function(e,t=f){let{registerArticle:r,getPriceState:i}=(0,n.useContext)(h),a=e.filter(e=>!!e).map(e=>`${e.trim()}@${Math.max(1,t[e]??1)}`).filter(Boolean).sort().join("|");return(0,n.useEffect)(()=>{if(!a)return;let e=a.split("|").map(e=>{let[t,i]=e.split("@");return r(t,Number(i))});return()=>e.forEach(e=>e())},[r,a]),(0,n.useCallback)((e,t=1)=>e?i(e,t):c,[i])}],704937)},265670,e=>{"use strict";var t=e.i(843476),r=e.i(271645);let i="gfl-guest-wishlists",a=new Set,n=(0,r.createContext)({wishlists:[],articleNumbers:a,totalProductCount:0,createWishlist:()=>{throw Error("createWishlist called outside GuestWishlistContextProvider")},updateWishlist:()=>{},deleteWishlist:()=>{}});e.s(["GuestWishlistContext",0,n,"default",0,function({children:e}){let[a,l]=(0,r.useState)([]),[s,o]=(0,r.useState)(!1);(0,r.useEffect)(()=>{{let e=localStorage.getItem(i);if(e)try{l(JSON.parse(e))}catch(e){console.error("Error loading guest wishlists from storage:",e)}o(!0)}},[]),(0,r.useEffect)(()=>{s&&localStorage.setItem(i,JSON.stringify(a))},[a,s]),(0,r.useEffect)(()=>{let e=e=>{if(e.key===i)try{l(e.newValue?JSON.parse(e.newValue):[])}catch{}};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]);let u=new Set(a.flatMap(e=>e.products.map(e=>e.articleNumber))),c=a.reduce((e,t)=>e+t.products.length,0),d=(0,r.useMemo)(()=>[...a].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:"base"})),[a]);return(0,t.jsx)(n.Provider,{value:{wishlists:d,articleNumbers:u,totalProductCount:c,createWishlist:({name:e,category:t,products:r=[]})=>{let i=new Date().toISOString(),a={id:crypto.randomUUID(),name:e,category:t??null,createdAt:i,modifiedAt:i,additionalInfo:[],products:r};return l(e=>[...e,a]),a},updateWishlist:({wishlistId:e,name:t,category:r,products:i})=>{l(a=>a.map(a=>a.id===e?{...a,name:t,category:r??null,products:i,modifiedAt:new Date().toISOString()}:a))},deleteWishlist:e=>{l(t=>t.filter(t=>t.id!==e))}},children:e})},"useGuestWishlist",0,function(){return(0,r.useContext)(n)}])},10102,e=>{"use strict";var t=e.i(843476),r=e.i(271645);let i=(0,r.createContext)(null);e.s(["LanguageSelectorItemSetter",0,function({itemId:e,itemType:a,children:n}){let l=(0,r.useContext)(i);return(0,r.useEffect)(()=>{l&&e&&(l.currentItem?.itemId!==e||l.currentItem?.itemType!==a)&&l.setCurrentItem({itemId:e,itemType:a})},[e,a]),(0,t.jsx)(t.Fragment,{children:n})},"LanguageSelectorStoreProvider",0,function({children:e}){let[a,n]=(0,r.useState)(null);return(0,t.jsx)(i.Provider,{value:{currentItem:a,setCurrentItem:n},children:e})},"useLanguageSelectorItem",0,function(){let e=(0,r.useContext)(i);return null===e?null:e.currentItem}])},943848,e=>{"use strict";var t=e.i(843476),r=e.i(265670),i=e.i(952155),a=e.i(304995),n=e.i(271645),l=e.i(212580);let s=new Set,o=(0,n.createContext)(null);e.s(["WishlistProvider",0,function({children:e}){let[u,c]=(0,n.useState)(0),{isAuthenticated:d,user:m}=(0,n.useContext)(i.UserContext),{isB2BChannel:p}=(0,n.useContext)(a.WebsiteContext),f=!!m?.selectedOrganization,h=!p,y=(0,r.useGuestWishlist)(),[g,S]=(0,n.use
15State)(null),[I,b]=(0,n.useState)(s),w=(0,n.useCallback)(()=>{c(e=>e+1)},[]),v=(0,n.useRef)(0);return(0,n.useEffect)(()=>{if(h)return;v.current+=1;let e=!1;return(d?(0,l.getWishlistProductSummary)({includeOrganization:f}):Promise.resolve({totalCount:0,articleNumbers:[]})).then(({totalCount:t,articleNumbers:r})=>{e||(S(t),b(new Set(r)))}).catch(e=>{}),()=>{e=!0}},[d,f,u,h]),(0,t.jsx)(o.Provider,{value:{refetchTrigger:u,triggerRefetch:w,totalProductCount:h?y.totalProductCount:g,wishlistedArticleNumbers:h?y.articleNumbers:I},children:e})},"useWishlistRefetch",0,function(){let e=(0,n.useContext)(o);if(!e)throw Error("useWishlistRefetch must be used within WishlistProvider");return e},"useWishlistedArticleNumbers",0,function(){return(0,n.useContext)(o)?.wishlistedArticleNumbers??s}])},869593,e=>{"use strict";let t="M3RSK",r="M3EAN";function i(e){return[{pattern:e,boost:400},{pattern:`${e}*`,boost:300},{pattern:`*${e}`,boost:200},{pattern:`*${e}*`,boost:100}]}function a(e){return i(e.toLowerCase()).map(({pattern:e,boost:t})=>({articleNumber:{value:e,boost:t}}))}function n(e){return[...a(e),...[t,r].flatMap(t=>i(e).map(({pattern:e,boost:r})=>({field:{stringValue:{field:t,value:e,searchType:"KEYWORD_LOWERCASE",boost:r}}})))]}e.s(["ProductSearchQueryInput",0,class{category;name;content;articleNumber;field;bool;productList;searchType;constructor(e){const{text:l="",categoryId:s,includeChildren:o=!0,productListId:u,articleNumber:c,fieldName:d,baseProductsOnly:m=!1,variantProductsOnly:p=!1}=e;m?this.searchType="BASE_PRODUCT":p&&(this.searchType="VARIANT");const f=l.trim(),h=c?.trim();if(s&&(this.category={includeChildren:o,categoryId:s}),h)this.bool={should:d?function(e,t){return"articleNumber"===e?a(t).slice(0,2):i(t).slice(0,2).map(({pattern:t,boost:r})=>({field:{stringValue:{field:e,value:t,searchType:"KEYWORD_LOWERCASE",boost:r}}}))}(d,h):n(h)};else{const e=(f?.includes("*")||f?.includes("?"))??!1,i=/^\d+$/.test(f);e?this.bool={should:[{content:{value:f}},{name:{value:f,ngram:!0}},{articleNumber:{value:f.toLowerCase(),boost:100}},...[t,r].map(e=>({field:{stringValue:{field:e,value:f,searchType:"KEYWORD_LOWERCASE",boost:100}}}))]}:i&&f?this.bool={should:n(f)}:f&&(this.bool={should:[{content:{value:f,synonymAnalyzer:!0,fuzziness:{length:null,ratio:null,distance:null}}},{name:{value:f,ngram:!0,synonymAnalyzer:!0,boost:20}},...n(f)]})}u&&(this.productList={productListId:u})}}])},212580,939505,e=>{"use strict";var t=e.i(702807),r=e.i(869593),i=e.i(242638),a=e.i(275906),n=e.i(421719);function l(e){return!!e&&[e.textOptionFieldValues,e.stringValue?.trim()==="-"?null:e.stringValue,e.pointerMediaFileValue,e.documentsProductFieldValues,e.linkFieldValue,e.pointerMediaImageValue,e.booleanValue,e.longValue,e.intValue,e.intOptionFieldValues,e.decimalOptionFieldValues,e.decimalValue,e.dateTimeValue].some(e=>null!=e&&(!Array.isArray(e)||e.length>0))}function s(e,t){let r=new Map((t??[]).flatMap(e=>(e.fields??[]).map(e=>[e.field,e])));return e.map(e=>({...e,fields:(e.fields??[]).map(e=>l(e)?e:r.get(e.field)??e)}))}e.s(["DESCRIPTION_FIELD_ID",0,"ProductDescription","SALES_TEXT_FIELD_ID",0,"Salestext","backfillFieldGroupsFromBase",0,s,"formatCurrencyAmount",0,function(e,t,r="sv-SE"){let{minorUnits:i,symbolPosition:a,symbol:n,code:l}=t??{};var s=new Intl.NumberFormat(r,{style:"decimal",maximumFractionDigits:i??2,minimumFractionDigits:i??2}).format(e),o=n||l;if(!o||!a)return s;switch(a){case"LEFT":return`${o}${s}`;case"LEFT_WITH_PADDING":return`${o} ${s}`;case"RIGHT":return`${s}${o}`;default:return`${s} ${o}`}},"formatFieldValueText",0,function(e,t){return e.textOptionFieldValues?.length?e.textOptionFieldValues.map(e=>e.name).join("; "):e.stringValue?e.stringValue:e.pointerMediaFileValue?.item?.filename?e.pointerMediaFileValue.item.filename:e.linkFieldValue?.text||e.linkFieldValue?.url?e.linkFieldValue.text||e.linkFieldValue.url||"":"boolean"==typeof e.booleanValue?t?t(e.booleanValue):String(e.booleanValue):null!=e.longValue?String(e.longValue):null!=e.intValue?String(e.intValue):e.intOptionFieldValues?.length?e.intOptionFieldValues.map(e=>e.name).join("; "):e.decimalOptionFieldValues?.length?e.decimalOptionFieldValues.map(e=>e.name).join("; "):null!=e.decimalValue?String(e.decimalValue):e.dateTimeValue?e.dateTimeValue:""},"getAboutFields",0,function(e){let t=e.find(e=>"AboutProduct"===e.fieldGroupId);return(t?.fields??[]).filter(e=>e.field&&l(e))},"getBrandLabel",0,function(e){let t=function(e,t){for(let r of e){let e=r.fields?.find(e=>e.field===t);if(e)return e}}(e,"Brand");return t?.textOptionFieldValues?.[0]?.name||null},"getSpecificationFields",0,function(e){let t=e.find(e=>"Specification"===e.fieldGroupId);return(t?.fields??[]).filter(e=>e.field&&l(e))}],939505);var o=e.i(313946),u=e.i(285809),c=e.i(498943);let d=new WeakMap,m=` 16 rawData { 17 baseProduct { 18 id name ${i.BASE_PRODUCT_FIELDS_SELECTION} 19 mediumImages: images(max: { height: 600, width: 600 }) { ...Image } 20 fieldGroups { fieldGroupId fields { ...FieldValues } } 21 } 22 } 23`,p=async e=>{if(0===e.length)return{};try{let t=await (0,a.queryClient)({query:E,variables:{query:{bool:{should:e.map(e=>({articleNumber:{value:e}}))}},first:e.length},fetchPolicy:"network-only"});return(t?.productSearch?.nodes??[]).reduce((e,t)=>
23(e[t.articleNumber]=t.stockStatus,e),{})}catch(e){return console.error("getLiveStockStatuses: failed to fetch live stock",e),{}}},f=async({includeOrganization:e=!0}={})=>{let t=[(0,a.queryClient)({query:O,variables:{wishlistType:"PERSONAL_ONLY"},fetchPolicy:"network-only"}),...e?[(0,a.queryClient)({query:O,variables:{wishlistType:"ORGANIZATION_ONLY"},fetchPolicy:"network-only"})]:[]],r=(await Promise.all(t)).flatMap(e=>e?.wishlists??[]).flatMap(e=>e.products.map(e=>e.articleNumber));return{totalCount:r.length,articleNumbers:r}},h=async({wishlistType:e,sortBy:t,sortOrder:r,fetchPolicy:i}={})=>{let n=await (0,a.queryClient)({query:k,variables:{wishlistType:e,sortBy:t,sortOrder:r},fetchPolicy:i});return(n?.wishlists??[]).map(e=>({...e,products:e.products.map(e=>({...e,productItem:null}))}))},y=async({name:e,category:t,products:r,additionalInfo:i})=>{let n=await (0,a.mutateClient)({mutation:A,variables:{name:e,category:t,products:r,additionalInfo:i}});return n?.createPersonalWishlist??{wishlist:null,errors:[]}},g=async({name:e,category:t,products:r,additionalInfo:i,isShared:n})=>{let l=await (0,a.mutateClient)({mutation:V,variables:{name:e,category:t,products:r,additionalInfo:i,isShared:n}});return l?.createOrganizationalWishlist??{wishlist:null,errors:[]}},S=async({wishlistId:e,name:t,category:r,products:i,additionalInfo:n,isShared:l})=>{let s=await (0,a.mutateClient)({mutation:$,variables:{wishlistId:e,name:t,category:r,products:i,additionalInfo:n,isShared:l}});return s?.updateWishlist??{wishlist:null,errors:[]}},I={THREE_HOURS:3,EIGHT_HOURS:8,ONE_DAY:24,TWO_DAYS:48,SEVEN_DAYS:168,THIRTY_DAYS:720,NINETY_DAYS:2160,NO_EXPIRY:null},b=` 24 mutation CreateWishlistShareLink( 25 $wishlistId: String 26 $products: [WishlistShareProductInput!] 27 $channelId: String! 28 $expiresInHours: Int 29 ) { 30 createWishlistShareLink( 31 input: { 32 wishlistId: $wishlistId 33 products: $products 34 channelId: $channelId 35 expiresInHours: $expiresInHours 36 } 37 ) { 38 shareToken 39 expiresAt 40 errors { 41 message 42 } 43 } 44 } 45`,w=async({wishlistId:e,products:t,channelId:r,expiryPreset:i})=>{let a=await (0,n.customClientQuery)(b,void 0,{wishlistId:e?(0,o.extractSystemId)(e):e,products:t?.map(({articleNumber:e,quantity:t})=>({articleNumber:e,quantity:t})),channelId:(0,o.extractSystemId)(r),expiresInHours:I[i]});if(a?.errors?.length)throw Error(a.errors.map(e=>e.message).filter(Boolean).join(", ")||"Failed to create wishlist share link.");return a?.data?.createWishlistShareLink??{shareToken:null,expiresAt:null,errors:[]}},v=async e=>{let t=await (0,a.mutateClient)({mutation:N,variables:{wishlistId:e}});return t?.deleteWishlist??{boolean:null,errors:[]}};function P(e){return e?{...e,displayFieldGroups:s(e.displayFieldGroups,e.rawData?.baseProduct?.fieldGroups)}:null}let C=async e=>(await Promise.all(e.map(async({articleNumber:e,id:t})=>{try{if(t){let e=await (0,a.queryClient)({query:F,variables:{productNodeId:t},fetchPolicy:"network-only"});return P(e?.content??null)}let i=await (0,a.queryClient)({query:x,variables:{query:new r.ProductSearchQueryInput({articleNumber:e,fieldName:"articleNumber"})},fetchPolicy:"network-only"}),n=i?.productSearch?.nodes?.[0]??null,l=n&&n.articleNumber?.toLowerCase()===e.toLowerCase()?n:null;return P(l)}catch(t){return console.error(`getPrintProductDetails: failed to fetch "${e}"`,t),null}}))).filter(e=>!!e),E=t.gql` 46 query GetWishlistLiveStock($query: ProductSearchQueryInput!, $first: Int!) { 47 productSearch(query: $query, first: $first) { 48 nodes { 49 articleNumber 50 stockStatus { 51 inStockQuantity 52 } 53 } 54 } 55 } 56`,k=t.gql` 57 query getWishLists( 58 $wishlistType: WishlistTypeEnum 59 $sortBy: WishlistSortField 60 $sortOrder: WishlistSortOrder 61 ) { 62 wishlists( 63 wishlistType: $wishlistType 64 sortBy: $sortBy 65 sortOrder: $sortOrder 66 ) { 67 id 68 name 69 category 70 createdAt 71 modifiedAt 72 additionalInfo { 73 key 74 value 75 } 76 products { 77 articleNumber 78 quantity 79 additionalInfo { 80 key 81 value 82 } 83 } 84 } 85 } 86`,A=t.gql` 87 mutation createPersonalWishlist( 88 $additionalInfo: [KeyValuePairOfStringAndStringInput!] 89 $category: String 90 $name: String! 91 $products: [WishlistProductInput!] 92 ) { 93 createPersonalWishlist( 94 input: { 95 additionalInfo: $additionalInfo 96 category: $category 97 name: $name 98 products: $products 99 } 100 ) { 101 errors { 102 ... on Forbidden { 103 message 104 } 105 ... on ValidationError { 106 message 107 } 108 } 109 wishlist { 110 id 111 } 112 } 113 } 114`,V=t.gql` 115 mutation createOrganizationalWishlist( 116 $additionalInfo: [KeyValuePairOfStringAndStringInput!] 117 $category: String 118 $name: String! 119 $products: [WishlistProductInput!] 120 $isShared: Boolean 121 ) { 122 createOrganizationalWishlist( 123 input: { 124 additionalInfo: $additionalInfo 125 category: $category 126 isShared: $isShared 127 name: $name 128 products: $products 129 } 130 ) { 131 wishlist { 132 id 133 } 134 errors { 135 ... on Forbidden { 136 message 137 } 138 ... on ValidationError { 139 message 140 } 141 } 142 } 143 } 144`,$=t.gql` 145 mutation updateWishlist( 146 $additionalInfo: [KeyValuePairOfStringAndStringInput!] 147 $category: String 148 $name: String! 149 $products: [WishlistProductInput!] 150 $isShared: Boolean 151 $wishlistId: ID! 152 ) { 153 updateWishlist( 154 input: { 155 additionalInfo: $additionalInfo 156 category: $category 157 isShared: $isShared 158 name: $name 159 products: $products 160 wishlistId: $wishlistId 161 } 162 ) { 163 wishlist { 164 id 165 } 166 errors { 167 ... on Forbidden { 168 message 169 } 170 ... on ValidationError { 171 message 172 } 173 } 174 } 175 } 176`,N=t.gql` 177 mutation deleteWishlist($wishlistId: ID!) { 178 deleteWishlist(input: { wishlistId: $wishlistId }) { 179 errors { 180 ... on Forbidden { 181 message 182 } 183 ... on ValidationError { 184 message 185 } 186 } 187 boolean 188 } 189 } 190`,O=t.gql` 191 query getWishlistsProductCount($wishlistType: WishlistTypeEnum) { 192 wishlists(wishlistType: $wishlistType) { 193 id 194 products { 195 articleNumber 196 } 197 } 198 } 199`,x=t.gql` 200 query GetPrintProductDetail($query: ProductSearchQueryInput!) { 201 productSearch(query: $query, first: 1) { 202 nodes { 203 id 204 articleNumber 205 name 206 isVariant 207 description 208 ... on IContentItem { 209 url 210 } 211 stockStatus { 212 inStockQuantity 213 } 214 mediumImages: images(max: { height: 600, width: 600 }) { 215 ...Image 216 } 217 price { 218 unitPriceIncludingVat 219 unitPriceExcludingVat 220 discountPriceIncludingVat 221 discountPriceExcludingVat 222 currency { 223 code 224 minorCurrencyUnit 225 minorUnits 226 name 227 symbol 228 symbolPosition 229 } 230 } 231 ... on VVSMallProduct { 232 fields { 233 m3Artikelstatus { value } 234 inventoryStocks { isByOrder backInStockDate } 235 } 236 displayFieldGroups { 237 fieldGroupId 238 fields { 239 ...FieldValues 240 } 241 } 242 }
243 ... on DuschMallProduct { 244 fields { 245 m3Artikelstatus { value } 246 inventoryStocks { isByOrder backInStockDate } 247 } 248 displayFieldGroups { 249 fieldGroupId 250 fields { 251 ...FieldValues 252 } 253 } 254 } 255 ... on MobelMallProduct { 256 fields { 257 m3Artikelstatus { value } 258 inventoryStocks { isByOrder backInStockDate } 259 } 260 displayFieldGroups { 261 fieldGroupId 262 fields { 263 ...FieldValues 264 } 265 } 266 } 267 ... on ReservdelMallProduct { 268 fields { 269 m3Artikelstatus { value } 270 inventoryStocks { isByOrder backInStockDate } 271 } 272 displayFieldGroups { 273 fieldGroupId 274 fields { 275 ...FieldValues 276 } 277 } 278 } 279 ${(0,i.createProductTypeInlineFragments)(m)} 280 } 281 } 282 } 283`,F=function(e){let t=d.get(e);if(t)return t;let r=(0,c.visit)(e,{OperationDefinition:e=>({...e,variableDefinitions:[...e.variableDefinitions??[],{kind:u.Kind.VARIABLE_DEFINITION,variable:{kind:u.Kind.VARIABLE,name:{kind:u.Kind.NAME,value:"productNodeId"}},type:{kind:u.Kind.NON_NULL_TYPE,type:{kind:u.Kind.NAMED_TYPE,name:{kind:u.Kind.NAME,value:"ID"}}}}],selectionSet:{...e.selectionSet,selections:e.selectionSet.selections.map(e=>e.kind===u.Kind.FIELD&&"content"===e.name.value?{...e,alias:{kind:u.Kind.NAME,value:"content"},name:{kind:u.Kind.NAME,value:"node"},arguments:[{kind:u.Kind.ARGUMENT,name:{kind:u.Kind.NAME,value:"id"},value:{kind:u.Kind.VARIABLE,name:{kind:u.Kind.NAME,value:"productNodeId"}}}]}:e)}})});return d.set(e,r),r}(t.gql` 284 query GetPrintProductDetailByNode { 285 content { 286 id 287 ... on IProductItem { 288 articleNumber 289 name 290 isVariant 291 description 292 stockStatus { 293 inStockQuantity 294 } 295 mediumImages: images(max: { height: 600, width: 600 }) { 296 ...Image 297 } 298 price { 299 unitPriceIncludingVat 300 unitPriceExcludingVat 301 discountPriceIncludingVat 302 discountPriceExcludingVat 303 currency { 304 code 305 minorCurrencyUnit 306 minorUnits 307 name 308 symbol 309 symbolPosition 310 } 311 } 312 } 313 ... on IContentItem { 314 url 315 } 316 ... on VVSMallProduct { 317 fields { 318 m3Artikelstatus { value } 319 inventoryStocks { isByOrder backInStockDate } 320 } 321 displayFieldGroups { 322 fieldGroupId 323 fields { 324 ...FieldValues 325 } 326 } 327 } 328 ... on DuschMallProduct { 329 fields { 330 m3Artikelstatus { value } 331 inventoryStocks { isByOrder backInStockDate } 332 } 333 displayFieldGroups { 334 fieldGroupId 335 fields { 336 ...FieldValues 337 } 338 } 339 } 340 ... on MobelMallProduct { 341 fields { 342 m3Artikelstatus { value } 343 inventoryStocks { isByOrder backInStockDate } 344 } 345 displayFieldGroups { 346 fieldGroupId 347 fields { 348 ...FieldValues 349 } 350 } 351 } 352 ... on ReservdelMallProduct { 353 fields { 354 m3Artikelstatus { value } 355 inventoryStocks { isByOrder backInStockDate } 356 } 357 displayFieldGroups { 358 fieldGroupId 359 fields { 360 ...FieldValues 361 } 362 } 363 } 364 ${(0,i.createProductTypeInlineFragments)(m)} 365 } 366 } 367`);e.s(["createOrganizationalWishlist",0,g,"createPersonalWishlist",0,y,"createWishlistShareLink",0,w,"deleteWishlist",0,v,"getLiveStockStatuses",0,p,"getPrintProductDetails",0,C,"getWishlistProductSummary",0,f,"getWishlists",0,h,"updateWishlist",0,S],212580)}]);
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.