PageSourceSearch

https://www.macrodesign.se/_next/static/chunks/1t05pfde935ob.js

js macrodesign.se collected 2026-10-10 01:09:56 UTC 27,212 bytes, 367 lines download raw bytes

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.