1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="606642c7-66d4-4b7d-9fb5-8f0528330e22",e._sentryDebugIdIdentifier="sentry-dbid-606642c7-66d4-4b7d-9fb5-8f0528330e22")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9700],{86996:function(e,t,r){var i=r(36559),n=r.n(i);let l={level:r(34155).env.LOG_LEVEL||"error",browser:{asObject:!0}},s=n()(l);t.Z=s},10151:function(e,t,r){r.r(t),r.d(t,{default:function(){return z},getCustomProductBlockProps:function(){return I}});var i=r(85893),n=r(26714),l=r(67294),s=r(90512),o=r(45295);let a=(e,t)=>{window.sessionStorage.setItem(e,t)},c=e=>window.sessionStorage.getItem(e),d=e=>window.sessionStorage.removeItem(e);var u=r(49224),f=e=>{let{label:t,onClickHandler:r,value:n,isActive:l=!1,className:o,isDisabled:a=!1}=e;return(0,i.jsx)("button",{type:"button",disabled:a,onClick:()=>{r&&r(n)},className:(0,s.Z)("inline-flex items-center","whitespace-nowrap","font-regular font-sm","hover:text-on-surface-primary","transition-[colors,padding] duration-buttons",{"text-on-surface-opacity-70 before:w-0 pl-0":!l,"text-on-surface-primary relative pl-[17px] before:w-[9px]":l,"before:absolute before:left-0 before:top-1/2 before:-translate-y-1/2 before:bg-fixed-cta-accent before:h-[9px] before:flex-shrink-0 before:transition-[width] before:duration-buttons":l},o),children:t})},g=r(60185),h=r(2137),b=e=>{let{children:t,viewType:r,setSwiper:n,onSlideChange:l,className:s}=e;return"grid"===r?(0,i.jsx)("div",{className:"grid grid-cols-2 gap-1 lg:grid-cols-3 lg:gap-4 ".concat(s||""),children:t}):(0,i.jsx)(h.Z,{onSwiper:e=>{n&&n(e)},draggable:!0,breakpoints:{[g.nx]:{slidesPerView:3.2,spaceBetween:16,slidesOffsetAfter:32,slidesOffsetBefore:32}},slidesOffsetAfter:16,slidesOffsetBefore:16,slidesPerView:1.2,spaceBetween:8,speed:1e3,onSlideChange:l,children:t})},p=r(7660),v=r(83632),m=r(98324),y=r(5894),w=r(63928),x=r(86816);let j=e=>(null==e?void 0:e.component)==="PromoTripleItem",k=e=>"".concat("custom-product-block-slide-position",":").concat(e),O=(e,t,r)=>{try{a(k(e),JSON.stringify({categoryId:t,productId:r}))}catch(e){}},_=e=>{try{let t=c(k(e));if(!t)return null;let r=JSON.parse(t);if("string"!=typeof(null==r?void 0:r.categoryId)||"number"!=typeof(null==r?void 0:r.productId))return null;return r}catch(e){return null}},S=e=>{try{d(k(e))}catch(e){}};var z=e=>{let{_editable:t,_uid:r,productsByCategory:a,labels:c,showHeadings:d,hasPromoCard:g,initialActiveCategoyId:h,viewType:k}=e,{urls:z,productData:E}=(0,o.c)(),[P,I]=(0,l.useState)(h),[N,C]=(0,l.useState)(null),[D,L]=(0,l.useState)(0),[T,B]=(0,l.useState)("slider"!==k),Z=(0,l.useRef)(!1),A=(0,l.useRef)(!1),M="grid"===k&&"group/custom-product-block-grid custom-product-block-grid",F=e=>{I(e)};return((0,l.useLayoutEffect)(()=>{if(Z.current||(Z.current=!0,!(0,u.PM)()))return;let e=_(r);if(e&&e.categoryId!==P){if(!a.some(t=>t.categoryData.id===e.categoryId)){S(r);return}I(e.categoryId),C(null)}},[r,P,a]),(0,l.useLayoutEffect)(()=>{if(!N||A.current)return;let e=(0,u.PM)()?_(r):null;if(!e||e.categoryId===P){if(A.current=!0,e){var t;let r=a.find(e=>e.categoryData.id===P),i=null!==(t=null==r?void 0:r.products.findIndex(t=>!j(t)&&t.id===e.productId))&&void 0!==t?t:-1;-1!==i&&N.slideTo(i,0)}B(!0)}},[N,P,r,a]),0===a.length)?(console.warn("Custom Product Block: Missing Products from Category"),null):(0,i.jsxs)("section",{...(0,n.Bo)(t||""),className:"group ".concat(M),children:[(0,i.jsxs)("div",{className:"flex justify-between px-4 lg:px-8 mb-4",children:[d&&(0,i.jsx)("div",{className:"flex gap-6 overflow-x-auto no-scrollbar pb-1 -mb-1",children:a.map(e=>{let t=e.categoryData.categoryName||"",r=e.categoryData.id;return(0,i.jsx)(f,{value:"".concat(r),label:t,isDisabled:P===r,isActive:P===r,onClickHandler:F},r)})}),N&&(0,i.jsx)("div",{className:"hidden lg:flex justify-end only:w-full",children:(0,i.jsx)(x.Z,{total:N.slides.length,activeIndex:D,onPrev:()=>{N.slidePrev()},onNext:()=>{N.slideNext()}})})]}),(0,i.jsx)("div",{className:"group-[.custom-product-block-grid]:px-4 group-[.custom-product-block-grid]:lg:px-8",children:a.map(e=>{let t=e.categoryData.id;if(t!==P)return null;let{products:n}=e;return(0,i.jsx)("div",{className:(0,s.Z)("transition-opacity duration-modal ease-modal",{"opacity-0":!T,"opacity-100":T}),children:(0,i.jsx)(b,{viewType:k,setSwiper:C,onSlideChange:e=>{L(e.activeIndex)},className:"\n /* Mobile logic (2 columns)\n - promo card is taking 2 columns and is included as the single child\n - if promo card is not present total number of children must be even\n - if promo card is present total number of children must be odd\n */\n ".concat(g?"[&>*:nth-child(even):last-child:not(:nth-child(2))]:hidden":"[&>*:nth-child(odd):last-child:not(:first-child)]:hidden"," \n\n\n /* Desktop reset - same specificity as mobile rules */\n [&>*:nth-child(odd):last-child:not(:first-child)]:lg:block\n [&>*:nth-child(even):last-child:not(:nth-child(2))]:lg:block\n\n /* Desktop logic (3 columns) \n - promo is displayed as a regular item (takes single space), no need to calculate it differently\n - we want to hide only single dangling card.\n - first row is always displayed (+4 in the formula prevents it from being hidden)\n - hides 4th, 7th, 10th card etc. if this is the last card\n /*\n [&>*:nth-child(3n+4):last-child]:lg:!hidden\n "),children:n.map(e=>j(e)?(0,i.jsx)("div",{className:"max-lg:aspect-3.4 col-span-2 lg:col-span-1 h-full w-full",children:(0,i.jsx)(m.Z,{...e})},"promo_card:".concat(e._uid)):(0,i.jsx)(y.Z,{children:(0,i.jsx)("div",{className:"opacity-0 group-[.in-view]:animate-slideFadeIn transition-opacity will-change-opacity duration-modal ease-modal",onClick:()=>{let e=N?n[N.activeIndex]:void 0;e&&!j(e)&&O(r,P,e.id)}
1,children:(0,i.jsx)(p.Z,{fetchProductFn:e=>E.getProductById({id:e}).then(t=>t?(0,w.$)(t,z):(console.error("Error while fetching product with id ",e),null)),labels:{new:c.new,sale:c.sale,"out-of-stock":c.soldOut,"coming-soon":c.comingSoon},isDisabled:!e.available,product:(0,w.$)(e,z),ProductContextMenu:v.Z,disableSecondaryImageSwipe:"slider"===k})})},e.id))})},t)})})]})};let E=r(86996).Z.child({service:"Blok/getCustomProductBlockProps"}),P=(e,t)=>{let r=[...e];return t.forEach(e=>{r.splice(0,0,e)}),r};var I=async(e,t)=>{let r,{services:i}=t,{comingSoonLabel:n,newLabel:l,saleLabel:s,soldOutLabel:o,customProductItem:a,promoCard:c,showHeadings:d,productsLimitPerCategory:u}=e,f=Math.min(Number(u)||6,24),g={comingSoon:n,new:l,sale:s,soldOut:o},h=!!(null==c?void 0:c.length),b=h?{...c[0]}:null,p=null;try{let t=a.map(async e=>{var t;let r=parseInt(null===(t=e.categoryPluginURI)||void 0===t?void 0:t.selected[0],10),n=await i.productData.getCategoryById({categoryId:r});return n?{id:n.id,uri:n.uri,categoryName:e.categoryName}:null}),n=(await Promise.all(t)).filter(e=>null!==e);if(n.length>0){r="".concat(n[0].id,"_0");let t=n.map(async(e,t)=>{let r=[],n=1,l={hasNextPage:!1,currentPage:n,total:0};for(;r.length<f&&n<4;){let t=await i.productData.productCard.getProductsByCategoryUri({limit:f,page:n,uri:e.uri});if(l=t.pagination,r.push(...t.list),!t.pagination.hasNextPage)break;n+=1}return{list:r.slice(0,f),pagination:l,categoryData:{...e,id:"".concat(e.id,"_").concat(t)}}});return p=(await Promise.all(t)).map(e=>({categoryData:e.categoryData,products:b?P(e.list,[b]):e.list})).filter((e,t)=>d?e:0===t),{_uid:e._uid,key:e.key,component:e.component,productsByCategory:p,initialActiveCategoyId:r,labels:g,hasPromoCard:h,showHeadings:d||!1,viewType:e.viewType||null,_editable:e._editable||""}}return E.warn({msg:"No categories found for market (might be empty category), rendering empty block"}),{_uid:e._uid,key:e.key,component:e.component,productsByCategory:[],initialActiveCategoyId:"",labels:g,hasPromoCard:h,showHeadings:d||!1,viewType:e.viewType||null,_editable:e._editable||""}}catch(e){throw E.error({msg:"Unable to fetch products for categories",err:e}),Error("Unable to fetch products for categories")}}},98324:function(e,t,r){var i=r(85893),n=r(40679),l=r(68509),s=r(26809);let o={filled:"filled",outlined:"outlined",filledFixed:"filledFixed",outlinedFixed:"outlinedFixed"};t.Z=e=>{var t,r;let{image:a,link:c,mobileImage:d,text:u,textColor:f,buttonColor:g,body:h,linkLabel:b,_uid:p}=e,{parseAndLocalizeLink:v}=(0,l.B)(),m={src:a.filename||"",alt:a.alt||"",sizeWidth:3,objectPosition:a.filename?null===(t=(0,n.Z)(a))||void 0===t?void 0:t.objectPosition:""},y={src:(null==d?void 0:d.filename)||"",alt:(null==d?void 0:d.alt)||"",sizeWidth:3,objectPosition:(null==d?void 0:d.filename)?null===(r=(0,n.Z)(d))||void 0===r?void 0:r.objectPosition:""},w=v(c);return(0,i.jsx)(s.Z,{desktopImageSizeWidth:1/3,mobileImageSizeWidth:1,isTextSticky:!1,link:w,textColor:null==f?void 0:f.toString(),buttonVariant:o[g],headline:u,buttonLabel:b||"",cardRatio:"h100",bodyText:h,desktopMedia:m,mobileMedia:y},p)}},7660:function(e,t,r){r.d(t,{Z:function(){return i.ZP}});var i=r(33756)},85346:function(e){function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var n=i&&i.stringify||t;if("object"==typeof e&&null!==e){var l=r.length+1;if(1===l)return e;var s=Array(l);s[0]=n(e);for(var o=1;o<l;o++)s[o]=n(r[o]);return s.join(" ")}if("string"!=typeof e)return e;var a=r.length;if(0===a)return e;for(var c="",d=0,u=-1,f=e&&e.length||0,g=0;g<f;){if(37===e.charCodeAt(g)&&g+1<f){switch(u=u>-1?u:0,e.charCodeAt(g+1)){case 100:case 102:if(d>=a||null==r[d])break;u<g&&(c+=e.slice(u,g)),c+=Number(r[d]),u=g+2,g++;break;case 105:if(d>=a||null==r[d])break;u<g&&(c+=e.slice(u,g)),c+=Math.floor(Number(r[d])),u=g+2,g++;break;case 79:case 111:case 106:if(d>=a||void 0===r[d])break;u<g&&(c+=e.slice(u,g));var h=typeof r[d];if("string"===h){c+="'"+r[d]+"'",u=g+2,g++;break}if("function"===h){c+=r[d].name||"<anonymous>",u=g+2,g++;break}c+=n(r[d]),u=g+2,g++;break;case 115:if(d>=a)break;u<g&&(c+=e.slice(u,g)),c+=String(r[d]),u=g+2,g++;break;case 37:u<g&&(c+=e.slice(u,g)),c+="%",u=g+2,g++,d--}++d}++g}return -1===u?e:(u<f&&(c+=e.slice(u)),c)}},36559:function(e,t,r){let i=r(85346);e.exports=d;let n=function(){function e(e){return void 0!==e&&e}try{if("undefined"!=typeof globalThis)return globalThis;return Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{};function l(e,t){return"silent"===e?1/0:t.levels.values[e]}let s=Symbol("pino.logFuncs"),o=Symbol("pino.hierarchy"),a={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function c(e,t){let r={logger:t,parent:e[o]};t[o]=r}function d(e){var t,r;(e=e||{}).browser=e.browser||{};let i=e.browser.transmit;if(i&&"function"!=typeof i.send)throw Error("pino: transmit option must have a send function");let o=e.browser.write||n;e.browser.write&&(e.browser.asObject=!0);let h=e.serializers||{},b=Array.isArray(t=e.browser.serialize)?t.filter(function(e){return"!stdSerializers.err"!==e}):!0===t&&Object.keys(h),p=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(p=!1);let w=Object.keys(e.customLevels||{}),x=["error","fatal","warn","info","debug","trace"].concat(w);"function"==typeof o&&x.forEach(function(e){o[e]=o}),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");let j=e.level||"info",k=Object.create(o);k.log||(k.log=v),function(e,t,r){let i={};
1t.forEach(e=>{i[e]=r[e]?r[e]:n[e]||n[a[e]||"log"]||v}),e[s]=i}(k,x,o),c({},k),Object.defineProperty(k,"levelVal",{get:function(){return l(this.level,this)}}),Object.defineProperty(k,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,u(this,O,k,"error"),u(this,O,k,"fatal"),u(this,O,k,"warn"),u(this,O,k,"info"),u(this,O,k,"debug"),u(this,O,k,"trace"),w.forEach(e=>{u(this,O,k,e)})}});let O={transmit:i,serialize:b,asObject:e.browser.asObject,asObjectBindingsOnly:e.browser.asObjectBindingsOnly,formatters:e.browser.formatters,levels:x,timestamp:"function"==typeof(r=e).timestamp?r.timestamp:!1===r.timestamp?m:y,messageKey:e.messageKey||"msg",onChild:e.onChild||v};function _(t,r,n){if(!r)throw Error("missing bindings for child Pino");n=n||{},b&&r.serializers&&(n.serializers=r.serializers);let l=n.serializers;if(b&&l){var s=Object.assign({},h,l),o=!0===e.browser.serialize?Object.keys(s):b;delete r.serializers,f([r],o,s,this._stdErrSerialize)}function a(e){this._childLevel=(0|e._childLevel)+1,this.bindings=r,s&&(this.serializers=s,this._serialize=o),i&&(this._logEvent=g([].concat(e._logEvent.bindings,r)))}a.prototype=this;let d=new a(this);return c(this,d),d.child=function(...e){return _.call(this,t,...e)},d.level=n.level||this.level,t.onChild(d),d}return k.levels=function(e){let t=e.customLevels||{};return{values:Object.assign({},d.levels.values,t),labels:Object.assign({},d.levels.labels,function(e){let t={};return Object.keys(e).forEach(function(r){t[e[r]]=r}),t}(t))}}(e),k.level=j,k.isLevelEnabled=function(e){return!!this.levels.values[e]&&this.levels.values[e]>=this.levels.values[this.level]},k.setMaxListeners=k.getMaxListeners=k.emit=k.addListener=k.on=k.prependListener=k.once=k.prependOnceListener=k.removeListener=k.removeAllListeners=k.listeners=k.listenerCount=k.eventNames=k.write=k.flush=v,k.serializers=h,k._serialize=b,k._stdErrSerialize=p,k.child=function(...e){return _.call(this,O,...e)},i&&(k._logEvent=g()),k}function u(e,t,r,a){var c,d;if(Object.defineProperty(e,a,{value:l(e.level,r)>l(a,r)?v:r[s][a],writable:!0,enumerable:!0,configurable:!0}),e[a]===v){if(!t.transmit)return;let i=l(t.transmit.level||e.level,r);if(l(a,r)<i)return}e[a]=(c=e[s][a],function(){let s=t.timestamp(),o=Array(arguments.length),d=Object.getPrototypeOf&&Object.getPrototypeOf(this)===n?n:this;for(var u=0;u<o.length;u++)o[u]=arguments[u];var h=!1;if(t.serialize&&(f(o,this._serialize,this.serializers,this._stdErrSerialize),h=!0),t.asObject||t.formatters?c.call(d,...function(e,t,r,n,l){let{level:s,log:o=e=>e}=l.formatters||{},a=r.slice(),c=a[0],d={},u=(0|e._childLevel)+1;if(u<1&&(u=1),n&&(d.time=n),s?Object.assign(d,s(t,e.levels.values[t])):d.level=e.levels.values[t],l.asObjectBindingsOnly){if(null!==c&&"object"==typeof c)for(;u--&&"object"==typeof a[0];)Object.assign(d,a.shift());return[o(d),...a]}if(null!==c&&"object"==typeof c){for(;u--&&"object"==typeof a[0];)Object.assign(d,a.shift());c=a.length?i(a.shift(),a):void 0}else"string"==typeof c&&(c=i(a.shift(),a));return void 0!==c&&(d[l.messageKey]=c),[o(d)]}(this,a,o,s,t)):c.apply(d,o),t.transmit){let i=t.transmit.level||e._level,n=l(i,r),c=l(a,r);if(c<n)return;(function(e,t,r,i=!1){let n=t.send,l=t.ts,s=t.methodLevel,o=t.methodValue,a=t.val,c=e._logEvent.bindings;i||f(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=l,e._logEvent.messages=r.filter(function(e){return -1===c.indexOf(e)}),e._logEvent.level.label=s,e._logEvent.level.value=o,n(s,e._logEvent,a),e._logEvent=g(c)})(this,{ts:s,methodLevel:a,methodValue:c,transmitLevel:i,transmitValue:r.levels.values[t.transmit.level||e._level],send:t.transmit.send,val:l(e._level,r)},o,h)}});let u=function(e){let t=[];e.bindings&&t.push(e.bindings);let r=e[o];for(;r.parent;)(r=r.parent).logger.bindings&&t.push(r.logger.bindings);return t.reverse()}(e);0!==u.length&&(e[a]=(d=e[a],function(){return d.apply(this,[...u,...arguments])}))}function f(e,t,r,i){for(let n in e)if(i&&e[n]instanceof Error)e[n]=d.stdSerializers.err(e[n]);else if("object"==typeof e[n]&&!Array.isArray(e[n])&&t)for(let i in e[n])t.indexOf(i)>-1&&i in r&&(e[n][i]=r[i](e[n][i]))}function g(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function h(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let r in e)void 0===t[r]&&(t[r]=e[r]);return t}function b(){return{}}function p(e){return e}function v(){}function m(){return!1}function y(){return Date.now()}d.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},d.stdSerializers={mapHttpRequest:b,mapHttpResponse:b,wrapRequestSerializer:p,wrapResponseSerializer:p,wrapErrorSerializer:p,req:b,res:b,err:h,errWithCause:h},d.stdTimeFunctions=Object.assign({},{nullTime:m,epochTime:y,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),e.exports.default=d,e.exports.pino=d}}]);
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.