1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6002,25776],{17186:()=>{},17273:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(26514);i(75834);var r=i(13742),a=i(17941),l=i(80769);let o=r.default.ul.withConfig({componentId:"sc-95b5166e-0"})(["list-style:none;padding:0;line-height:21px;.hours{&.active{font-family:",";}&__status{position:relative;margin-left:10px;padding-left:10px;font-family:",';&:before{content:"";width:7px;height:7px;position:absolute;border-radius:50%;background:black;left:0;top:50%;transform:translateY(-50%);}&.green{color:',";&:before{background:",";}}&.red{color:",";&:before{background:",";}}}}"],a.vX.NunitoSansBold,a.vX.NunitoSansRegular,a.Jy.greenVif,a.Jy.greenVif,a.Jy.redVif,a.Jy.redVif),s=e=>{let{store:t}=e,i=new Date;if(t.isOpen)(0,l.KY)(t.currentSliceHours.end);else if(void 0!==t.nextOpening&&"string"!=typeof t.nextOpening){let e=new Date(i).setHours(0,0,0,0),n=new Date(t.nextOpening.day),r=n.setHours(0,0,0,0),a=(0,l.KY)(t.nextOpening.start);r===e||"Actuellement ferm\xe9, ouvre le ".concat((0,l.im)(n.getDay())," \xe0 ").concat(a)}let r=((e,t,i)=>{let n=[...t],r=new Date,a=new Date;r.setDate(e.getDate()-e.getDay()+1),a.setDate(e.getDate()-e.getDay()+7),i&&Object.entries(i).forEach(e=>{let[t,i]=e,l=new Date(t);l>=r&&l<=a&&(n[l.getDay()]=i)});let l=n.shift();return n.push(l),n})(i,t.usualHours,t.specialHours);return r?(0,n.jsx)(o,{children:r.map((e,r)=>{let a=new Date(i).getDay()-1===r||0===new Date(i).getDay();if(e)return(0,n.jsxs)("li",{className:"hours ".concat(a?"active":""),children:[(0,n.jsxs)("span",{style:{textTransform:"capitalize"},children:[(0,l.im)((r+1)%7)," :"," "]}),(e=>(e.sort((e,t)=>e.start<t.start?-1:1),e.map(e=>"".concat(e.start," - ").concat(e.end)).join(" et ")||"ferm\xe9"))(e),a&&(0,n.jsx)("span",{className:"hours__status ".concat(t.isOpen?"green":"red"),children:t.isOpen?"Ouvert":"Ferm\xe9"})]},r)})}):null}},25776:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>r});var n=i(26514);i(75834);let r=e=>(0,n.jsxs)("svg",{width:"19",height:"19",viewBox:"0 0 19.479 19.531",...e,children:[(0,n.jsx)("rect",{width:"19.019",height:"15.999",fill:"none"}),(0,n.jsx)("path",{d:"M12.673-.007A.806.806,0,0,1,13.467.7l.006.093.06,12.739L.793,13.472a.805.805,0,0,1-.8-.8.787.787,0,0,1,.7-.788l.093,0,11.147.053L11.88.786A.787.787,0,0,1,12.58,0Z",transform:"translate(9.906 -3.522) rotate(45)",fill:e.color?e.color:"#13123a"})]})},34078:(e,t,i)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/produit/[product]/reservation/[store]",function(){return i(51924)}])},50122:()=>{},51924:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>e9});var n=i(26514),r=i(75834),a=i(65266),l=i(97468),o=i(94741),s=i(17941),u=i(13742),c=i(77785),d=i(6652),p=i(9778),m=i(89249),f=i(23287),h=i(2376),g=i(15250),x=i(80769),y=i(53460),v=i(53719),b=i(34288);let S=u.default.div.withConfig({componentId:"sc-664ec75a-0"})(["border:1px solid ",";min-height:120px;display:flex;align-items:center;max-width:1050px;margin:0 auto;@media ","{padding:10px;align-items:flex-start;}"],s.Jy.fillGrey,s.uk.mobileL),P=u.default.div.withConfig({componentId:"sc-664ec75a-1"})(["margin-right:20px;img{max-height:120px;}"]),w=u.default.div.withConfig({componentId:"sc-664ec75a-2"})(["max-width:400px;margin-right:auto;"]),E=u.default.h4.withConfig({componentId:"sc-664ec75a-3"})(["font-family:",";font-size:16px;margin:0 0 10px 0;@media ","{font-size:14px;}"],s.vX.NunitoSansRegular,s.uk.mobileL),j=u.default.div.withConfig({componentId:"sc-664ec75a-4"})(["margin:0 30px;white-space:nowrap;.price{font-size:26px !important;sup{font-size:15px !important;}}> div{div:first-of-type{margin-left:initial;}}@media ","{margin:10px 0 0;.price{font-size:20px !important;sup{font-size:10px !important;}}}"],s.uk.mobileL),R=u.default.p.withConfig({componentId:"sc-664ec75a-5"})(["font-size:12px;opacity:0.5;color:",";font-family:",";margin:0;"],s.Jy.greyPrimary,s.vX.NunitoSansRegular),_=u.default.div.withConfig({componentId:"sc-664ec75a-6"})(["display:flex;align-items:center;flex:auto;@media ","{flex-direction:column;align-items:flex-start;}"],s.uk.mobileL),N=u.default.div.withConfig({componentId:"sc-664ec75a-7"})(["margin:0 30px;.price{font-size:26px !important;sup{font-size:15px !important;}}@media ","{.price{font-size:20px !important;sup{font-size:10px !important;}}}"],s.uk.mobileL),k=u.default.div.withConfig({componentId:"sc-664ec75a-8"})(["min-width:100px;text-align:center;font-family:",";font-size:18px;
1span{display:block;font-family:",";font-size:14px;line-height:18px;}@media ","{text-align:left;}"],s.vX.NunitoSansBold,s.vX.NunitoSansRegular,s.uk.mobileL),C=u.default.div.withConfig({componentId:"sc-664ec75a-9"})(["display:flex;@media ","{margin-top:15px;}"],s.uk.mobileL),I=e=>{let{productItem:t}=e,i=t.product,r=i.packagingMetas,a=(0,v.kk)(null==r?void 0:r.type,t.quantity,i.unitLabel,{numberOfM2PerPackage:null==r?void 0:r.numberOfM2PerPackage,sousFamilleProduit:i.subFamily,largeur:(null==r?void 0:r.width)?Number(r.width):void 0,longueur:(null==r?void 0:r.rollLength)?Number(r.rollLength):void 0});return(0,n.jsxs)(S,{children:[(0,n.jsx)(P,{children:(0,n.jsx)(y.VI,{srcDesktop:t.product.productImagePush,alt:t.product.productName,adaptativeContent:!0})}),(0,n.jsxs)(_,{children:[(0,n.jsxs)(w,{children:[(0,n.jsx)(E,{children:t.product.productName}),(0,n.jsxs)(R,{children:["R\xe9f: ",t.product.productReference]}),t.variant.sizeLabel&&(0,n.jsxs)(R,{children:["Taille: ",t.variant.sizeLabel]})]}),(0,n.jsx)(j,{children:(0,n.jsx)(b.A,{price:t.price,priceWithoutDiscount:t.discounted?t.compareAtPrice:null,unit:t.product.productUnit})}),(0,n.jsxs)(C,{children:[(0,n.jsxs)(k,{children:[(0,n.jsx)("span",{children:"Quantit\xe9"}),t.quantity," ",(0,n.jsx)("span",{children:a})]}),(0,n.jsxs)(N,{children:[(0,n.jsx)("span",{children:"Soit"}),(0,n.jsx)(b.A,{price:t.total.toString()})]})]})]})]})};var T=i(67914),O=i(27938),A=i(84782),L=i(10318),D=i(86309),F=i(99817);let M=u.default.div.withConfig({componentId:"sc-6f7f5c93-0"})(["max-width:930px;margin:0 auto;font-family:",";*{box-sizing:border-box;}"],s.vX.NunitoSansRegular),q=u.default.div.withConfig({componentId:"sc-6f7f5c93-1"})(["text-align:center;padding:10px;"]),z=u.default.h2.withConfig({componentId:"sc-6f7f5c93-2"})(["text-transform:uppercase;font-family:",";font-size:40px;color:",";margin:0 0 20px 0;span{display:block;}@media ","{font-size:24px;svg{width:25px;}}"],s.vX.Glendale,s.Jy.blueDark,s.uk.mobileL),U=u.default.p.withConfig({componentId:"sc-6f7f5c93-3"})(["margin:0 auto;"]),Q=u.default.div.withConfig({componentId:"sc-6f7f5c93-4"})(["margin-top:40px;"]),W=u.default.div.withConfig({componentId:"sc-6f7f5c93-5"})(["padding:25px 20px;margin:15px 0;border:1px solid #ededf0;@media ","{border:none;padding:10px;}&:nth-of-type(even){margin-left:15px;@media ","{margin-left:0;}}&:nth-of-type(odd){margin-right:15px;@media ","{margin-right:0;}}"," ",""],s.uk.mobileL,s.uk.mobileL,s.uk.mobileL,e=>{let{fullWidth:t}=e;return t&&"\n grid-column: span 2;\n margin: 15px 0!important;\n\n @media ".concat(s.uk.mobileL," {\n grid-column: initial;\n }\n ")},e=>{let{fitContent:t}=e;return t&&"\n height: fit-content;\n "}),V=u.default.div.withConfig({componentId:"sc-6f7f5c93-6"})(["margin:15px 0 25px;display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(2,1fr);@media ","{grid-template-columns:repeat(1,1fr);grid-auto-rows:initial;}","{&:nth-of-type(3){margin:15px 0 15px 15px;}@media ","{&:nth-of-type(2),&:nth-of-type(3){margin:15px 0;}}}"],s.uk.mobileL,W,s.uk.mobileL),J=u.default.h3.withConfig({componentId:"sc-6f7f5c93-7"})(["text-transform:uppercase;font-family:",";font-size:20px;line-height:24px;color:",";text-align:center;margin:0 0 20px 0;svg{margin:0 auto 25px;display:block;}@media ","{font-size:16px;line-height:18px;margin:0 0 10px 0;svg{margin:0 auto 15px;}}"],s.vX.Glendale,s.Jy.black,s.uk.mobileL),B=u.default.div.withConfig({componentId:"sc-6f7f5c93-8"})(["text-align:center;font-size:16px;line-height:22px;padding:0 40px;@media ","{padding:0;font-size:14px;line-height:18px;}ul{padding:0;li{list-style:none;margin-bottom:15px;}}a{color:",";text-decoration:underline;}"],s.uk.mobileL,s.Jy.ocher),X=[{icon:(0,n.jsx)(T.IconTimer,{}),title:"R\xe9servez gratuitement"},{icon:(0,n.jsx)(T.IconInterlocutor,{}),title:"Un expert vous rappelle"},{icon:(0,n.jsx)(h.default,{}),title:"Passez quand vous voulez"}],G=e=>{let{userReservation:t,clientId:i}=e,a=t.userInfo,l=t.reservation,o=t.reservation.store;return(0,r.useEffect)(()=>{i&&D.Ay.sendPageView({cd6_CRMid:i,env_type_contenu:F.Qp.LEAD,cd2_pageCategory:"Confirmation - R\xe9servation de mon produit",user_email:a.email})},[i]),(0,n.jsxs)(M,{children:[(0,n.jsxs)(q,{children:[(0,n.jsxs)(z,{children:[(0,n.jsx)(f.default,{width:"35px",height:"27px"}),(0,n.jsx)("span",{children:"Merci !"})]}),(0,n.jsxs)(U,{children:["Votre demande a bien \xe9t\xe9 prise en compte. Vous allez recevoir un r\xe9capitulatif par mail.",(0,n.jsx)("br",{}),"Un conseiller de Saint Maclou ",null==o?void 0:o.label," va prendre contact avec vous dans les meilleurs d\xe9lais pour r\xe9pondre \xe0 votre demande."]})]}),(0,n.jsxs)(Q,{children:[(0,n.jsx)(J,{children:"Le produit que je souhaite r\xe9server"}),(0,n.jsx)(I,{productItem:l.productItem})]}),(0,n.jsxs)(V,{children:[o&&(0,n.jsxs)(W,{children:[(0,n.jsxs)(J,{children:[(0,n.jsx)(A.default,{}),"Mon magasin"]}),(0,n.jsxs)(B,{children:[o.label,(0,n.jsx)("br",{}),o.address,(0,n.jsx)("br",{}),o.city," ",o.zipcode,(0,n.jsx)("br",{}),(0,x.n4)(o.phone||""),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsx)(g.m,{href:"".concat(o.slug),title:"Voir les horaires du magasin",children:"Voir les horaires"})]})]}),(0,n.jsxs)(W,{children:[(0,n.jsxs)(J,{children:[(0,n.jsx)(L.default,{width:"45px",height:"50px"}),"Mes informations personnelles"]}),(0,n.jsxs)(B,{children:[a.lastname," ",a.firstname,(0,n.jsx)("br",{}),a.email,(0,n.jsx)("br",{}),(0,x.n4)(a.phone)]})]}),(0,n.jsxs)(W,{fullWidth:!0,fitContent:!0,children:[(0,n.jsx)(J,{children:"Comment \xe7a marche ?"}),(0,n.jsx)(B,{children:(0,n.jsx)(O.A,{steps:X,margin:"30px 0 0"})})]})]})]})};var K=i(20577),H=i(98307),$=i(65613),Y=i(79506);let Z=[{family:"F004 - AUTRE REVETEMENT SOL",subfamilies:["S012 - DALLES"]},{family:"F005 - REVETEMENT MINERAL COMPOSITE",subfamilies:null}
1,{family:"F006 - VINYLE",subfamilies:["S042 - DALLE"]},{family:null,subfamilies:["S043 - LAME"]},{family:"F007 - STRATIFIE",subfamilies:null},{family:"F008 - PARQUET",subfamilies:null},{family:"F009 - CARRELAGE",subfamilies:null},{family:"F010 - ACCESSOIRE FINITION SOL",subfamilies:["S071 - RENOVATION ESCALIER"]}],ee=e=>{let{family:t,subFamily:i,salesUnit:n,isStairWalker:r,isRoll:a,conditionnement:l}=e;return a&&"0"!==l||(n===Y.bD.Piece||a)&&l&&"0"!=l&&(Z.some(e=>!(e.family&&e.family!==t||e.subfamilies&&e.subfamilies.includes(i)))||r)?parseInt(l):1};var et=i(67110),ei=i(62636),en=i(16987),er=i(71528);let ea=(0,er.sg)(()=>{window.nrSearchForStars&&window.nrSearchForStars()},200);var el=i(87888),eo=i(40985);class es extends Error{constructor(e,t,i,n,r,a){super(e,a),this.status=t,this.statusText=i,this.url=n,this.body=r,this.name="HttpResponseError"}}async function eu(e,t){let{method:i,body:n,headers:r={}}=t;return ec(await fetch(e,{method:i,headers:{"Content-Type":"application/json",...r},...void 0!==n&&{body:JSON.stringify(n)}}))}async function ec(e){let t,i=await e.text();if(e.ok)try{return JSON.parse(i)}catch(t){throw new es("Invalid JSON response from ".concat(e.url),e.status,e.statusText,e.url,i,{cause:t})}let n=e.statusText;try{n=(null==(t=JSON.parse(i))?void 0:t.error)||(null==t?void 0:t.reason)||e.statusText}catch(t){n=i||e.statusText}throw new es(n,e.status,e.statusText,e.url,t||i)}var ed=i(859);let ep=async(e,t)=>{try{let i=await eu(ed.S.stockStore.base,{method:"POST",body:{sku:e,storeIds:t}});return{success:!0,stocks:i}}catch(t){return eo.v.error("[stockStoreActions] getStockStore error",{error:t,sku:e}),{success:!1,error:"Impossible de r\xe9cup\xe9rer le stock. Veuillez r\xe9essayer."}}};var em=i(69001),ef=i.n(em),eh=i(39082),eg=i(46621);function ex(e){let{label:t="Quantit\xe9",qty:i=1,minQty:a=1,maxQty:l=99,infos:o,className:s,size:u,onChange:c,isVendableWeb:d=!0,quantityStep:p=1,debounceMs:m,variant:f}=e,h=(0,r.useId)(),g="inputText-id-".concat(h),[x,y]=(0,r.useState)(()=>i>=a?i:a),v=(0,r.useRef)(null),b=()=>{v.current&&(clearTimeout(v.current),v.current=null)};(0,r.useEffect)(()=>{y(i)},[i]),(0,r.useEffect)(()=>b,[]);let S=e=>{let t=e;return p>1&&t%p!=0&&(t=Math.ceil(t/p)*p),t<a&&(t=a),t>l&&(t=l),t},P=e=>{b(),e<a&&(e=a),e>l&&(e=l),y(e),null==c||c(e)},w=()=>P(x+p),E=()=>{x>a&&P(x-p)},j="lg"===u?"sm":"xs",R=x>=l,_=x<=a,N="purchased"===f,k=N?"primary":"secondary";return(0,n.jsxs)("div",{className:ef()(s,"c-quantity","c-quantity--".concat(u),{"c-quantity--purchased":N}),"aria-label":t,children:[(0,n.jsx)("label",{className:"c-quantity__label",htmlFor:g,children:t}),(0,n.jsxs)("div",{className:"c-quantity__wrapper",children:[(()=>{let e=x>a;return(0,n.jsx)(eh.A,{className:"c-quantity__button",size:j,variant:k,style:"ghost",icon:e||N?"icon-minus-bold":"icon-delete",onClick:E,disabled:_,children:e||N?"R\xe9duire la quantit\xe9 de ".concat(p):"Supprimer"})})(),(0,n.jsx)("input",{value:x||"",className:"c-quantity__input",type:"number",id:g,min:a,max:l,onChange:e=>{let t=e.target.value;if(""===t){b(),y(0);return}let i=parseInt(t);!isNaN(i)&&(y(i),m&&m>0&&(b(),v.current=setTimeout(()=>{v.current=null;let e=S(i);y(e),null==c||c(e)},m)))},onBlur:()=>{P(S(x))}}),R?d?(0,n.jsx)(eg.A,{content:"Quantit\xe9 maximale atteinte pour un achat en ligne. Si vous avez besoin de plus de quantit\xe9, veuillez contacter un conseiller.",variant:"light",place:"bottom",children:(0,n.jsxs)(eh.A,{className:"c-quantity__button",size:j,variant:k,style:"ghost",icon:"icon-plus-bold",onClick:w,disabled:!0,children:["Augmenter la quantit\xe9 de ",p]})}):(0,n.jsxs)(eh.A,{className:"c-quantity__button",size:j,variant:k,style:"ghost",icon:"icon-plus-bold",onClick:w,disabled:!0,children:["Augmenter la quantit\xe9 de ",p]}):(0,n.jsxs)(eh.A,{className:"c-quantity__button",size:j,variant:k,style:"ghost",icon:"icon-plus-bold",onClick:w,children:["Augmenter la quantit\xe9 de ",p]})]}),o&&(0,n.jsx)("div",{className:"c-quantity__infos",children:o})]})}i(17186);var ey=i(3240),ev=i(59455);function eb(e){let{minQuantity:t=1,onRecapChange:i,onCalculateQuantity:a,product:l,currentVariant:o,maxQuantityOverride:s,initialQuantity:u}=e,{quantity:c,setQuantity:d,quantityStep:p,minQuantity:m,maxQuantity:f,unitLabel:h,displayLabel:g,isAtMaximum:x}=function(e){let{product:t,currentVariant:i,initialQuantity:n=1,onQuantityChange:a,maxQuantity:l}=e,{quantityStep:o,minQuantity:s}=(0,r.useMemo)(()=>(e=>{var t;let i=null==e||null==(t=e.productDataERP)?void 0:t.infos.conditionnement,n=e.type===Y.sM.ROLL,r=ee({family:e.family,subFamily:e.subFamily,salesUnit:e.salesUnit,isStairWalker:e.isStairWalker,isRoll:n,conditionnement:i&&Number.isInteger(Number(i))?i:"1"}),a=e.width?Number(e.width):0,l=n&&a>0?Math.max(a,r,1):Math.max(r,1);return{quantityStep:r,minQuantity:l}})(i),[i]),u=l&&l>0?l:ev.$w,[c,d]=(0,r.useState)(()=>Math.max(n,s)),p=(0,r.useRef)(a);(0,r.useEffect)(()=>{p.current=a},[a]);let m=(0,r.useMemo)(()=>{var e;return(0,v.kk)(i.type,c,t.unitLabel,{numberOfM2PerPackage:null==(e=i.productDataERP)?void 0:e.infos.conditionnement,sousFamilleProduit:i.subFamily,largeur:i.productDataERP&&parseFloat(i.productDataERP.infos.largeur||"0"),longueur:i.productDataERP&&parseFloat(i.productDataERP.infos.longueur_rouleau||"0")})},[i,t,c]),f=(0,r.useMemo)(()=>i.type===Y.sM.ROLL?"Surface en m\xb2":"Quantit\xe9",[i.type]),h=!i.infiniteStock&&
1c>=u,g=c<s,x=c+o<=u,y=c-o>=s,b=(0,r.useCallback)(e=>{let t=e>0?e:s;o>1&&t%o!=0&&(t=Math.ceil(t/o)*o),d(t=Math.max(t=Math.min(t,u),s))},[s,u,o]),S=(0,r.useCallback)(()=>{x&&b(c+o)},[c,o,x,b]),P=(0,r.useCallback)(()=>{y&&b(c-o)},[c,o,y,b]);return(0,r.useEffect)(()=>{var e;null==(e=p.current)||e.call(p,c)},[c]),{quantity:c,setQuantity:b,minQuantity:s,maxQuantity:u,quantityStep:o,unitLabel:m,displayLabel:f,isAtMaximum:h,isBelowMinimum:g,canIncrement:x,canDecrement:y,incrementQuantity:S,decrementQuantity:P}}({product:l,currentVariant:o,initialQuantity:null!=u?u:t,onQuantityChange:a,maxQuantity:s});(0,r.useEffect)(()=>{i&&(null==i||i(c>0))},[c,i]);let y=o.type===Y.sM.ROLL;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ex,{isVendableWeb:o.vendableWeb,isRollProduct:y,qty:c,label:g,infos:h,minQty:m,maxQty:f,quantityStep:p,size:"lg",className:"c-purchaseQuantity",onChange:d,debounceMs:500}),x&&f>=0&&o.vendableWeb&&(0,n.jsx)(ey.A,{size:"xs",variant:"warning",alignItems:"center",className:"u-mt-16 ",children:"Vous avez atteint la limite de quantit\xe9 pour ce produit"})]})}i(50122);var eS=function(e){return e.UNSUPPORTED_TYPE="UNSUPPORTED_TYPE",e.BROKEN_PRODUCT="BROKEN_PRODUCT",e.MISSING_PRICE="MISSING_PRICE",e.UNEXPECTED_ERROR="UNEXPECTED_ERROR",e.BAD_REQUEST="BAD_REQUEST",e}({});let eP=e=>{var t;return null==e||null==(t=e.hasOwnProperty)?void 0:t.call(e,"error")},ew=e=>{var t;return null==e||null==(t=e.hasOwnProperty)?void 0:t.call(e,"surface")};function eE(e,t){return e.hasOwnProperty(t)}let ej=e=>{let t=e.filter(e=>!eP(e)),i=0,n=0,r=0,a=0;return t.forEach(e=>{"number"==typeof e.quantity&&(i+=e.quantity),e.neededSurface?n+=parseFloat(String(e.neededSurface)):e.surface&&(n+=parseFloat(String(e.surface))),e.price&&(r+=parseFloat(String(e.price))),"number"==typeof e.conditionnement&&0===a&&(a=e.conditionnement)}),{totalQuantity:i,totalSurface:n,totalPrice:r,conditionnement:a}},eR=e=>{if("surface"in e&&ew(e))return e.surface;if("width"in e&&"height"in e&&eE(e,"width")&&eE(e,"height"))return e.width*e.height;throw Error("Provide either surface, or width and height")},e_=e=>String(e).replace(",","."),eN=["conditionnement"];var ek=function(e){return e.UNIT="unit",e.ROLL="roll",e.PACKET="packet",e}(ek||{});let eC=["longueur_rouleau","largeur","conditionnement"],eI={[Y.N4.PARQUET]:{extract:(e,t,i)=>{let n={...t.attributes,...t.productDataERP.infos};if(!n)return{error:eS.BROKEN_PRODUCT,reason:"Missing product infos"};let r=[],a=eN.map(e=>{if(!n[e])return r.push(e),null;let t=parseFloat(e_(n[e]));return null==t?(r.push(e),null):[e,t]});if(r.length>0)return{error:eS.BROKEN_PRODUCT,reason:"Missing product attributes: ".concat(r.join(", "))};let l=Object.fromEntries(a.filter(e=>Array.isArray(e)&&2===e.length&&"string"==typeof e[0]&&"number"==typeof e[1]));0===l.conditionnement&&(l.conditionnement=1);let o=String(Number(i.unitPrice)*l.conditionnement),s=i.currentPrice.defaultPrice?String(Number(i.currentPrice.defaultPrice)*l.conditionnement):null;return null==o?{error:eS.BROKEN_PRODUCT,reason:"Missing unitPrice"}:{type:Y.N4.PARQUET,product_qct:e,attributes:l,unitPrice:o,compareAtPrice:s}},estimate:e=>{let{estimator:{attributes:{conditionnement:t},unitPrice:i,compareAtPrice:n},input:r}=e,a=eR(r);if(!a)return{error:eS.BAD_REQUEST,reason:"Veuillez renseigner la longueur et la largeur ou la surface."};let l=Math.ceil(1.15*a/t),o=Number((l*t).toFixed(2)),s=parseFloat(i)||parseFloat(n||"0");return{type:Y.N4.PARQUET,conditionnement:t,margin:15,surface:(0,er.cW)(a),quantity:l,neededSurface:(0,er.cW)(o),price:(0,er.cW)(s*l),compare_at_price:n?(0,er.cW)(parseFloat(n)*l):null}}},[Y.N4.SOFT_FLOOR]:{extract:(e,t,i)=>{var n,r,a,l,o;let s={...t.attributes,...t.productDataERP.infos};if(!s)return{error:eS.BROKEN_PRODUCT,reason:"Missing product infos"};let u=[],c=eC.map(e=>{if(!s[e])return u.push(e),null;let t=parseFloat(e_(s[e]));return null==t?(u.push(e),null):[e,t]});if(c.push(["type",t.type]),u.length>0)return{error:eS.BROKEN_PRODUCT,reason:"Missing product attributes: ".concat(u.join(", "))};let d=String(i.unitPrice),p=(null==(n=i.currentPrice)?void 0:n.defaultPrice)?String(i.currentPrice.defaultPrice):null;if(null==d)return{error:eS.BROKEN_PRODUCT,reason:"Missing unitPrice"};let m=Object.fromEntries(c.filter(e=>Array.isArray(e)));if(null==m.longueur_rouleau||null==m.largeur||null==m.conditionnement||null==m.type)throw Error("Missing required attributes for SoftFloorEstimator");let f={longueur_rouleau:null!=(r=Number(m.longueur_rouleau))?r:0,largeur:null!=(a=Number(m.largeur))?a:0,conditionnement:null!=(l=Number(m.conditionnement))?l:1,type:null!=(o=ek[m.type])?o:"roll"};return 0===f.conditionnement&&(f.conditionnement=1),{type:Y.N4.SOFT_FLOOR,product_qct:e,attributes:f,unitPrice:d,compareAtPrice:p,product:t,currentVariant:i}},castLegacyRequest:e=>{let{estimateur:{longueur_utilisateur:t,hauteur_utilisateur:i}={}}=e;if(!t)throw Error("Missing: longueur_utilisateur");if(!t)throw Error("Missing: hauteur_utilisateur");return{width:t,height:null!=i?i:0}},estimate:e=>{var t;let{estimator:{attributes:{largeur:i,conditionnement:n,type:r},unitPrice:a,compareAtPrice:l,product:o,currentVariant:s}
1,input:u}=e;if(ew(u)&&"number"==typeof i){let e=Math.ceil(u.surface);return{type:Y.N4.SOFT_FLOOR,length:(0,er.cW)(e/i),width:(0,er.cW)(i),quantity:e,surface:(0,er.cW)(u.surface),price:(0,er.cW)(parseFloat(a)*e),compare_at_price:l?(0,er.cW)(parseFloat(l)*e):null}}let c=(0,er.mQ)(u,"width")?Number(u.width):null,d=(0,er.mQ)(u,"height")?Number(u.height):null;if(!c||!d)return{error:eS.BAD_REQUEST,reason:"Veuillez renseigner la longueur et la largeur."};let p=c>i&&d>i?Math.ceil(Math.min(c,d)/i):1,m=Math.ceil(p*(c>i||d>i?Math.max(c,d):Math.min(c,d))*i),f=((e,t,i,n,r,a)=>{if(!e||null==i)return null;let l=((e,t,i,n,r)=>{var a,l;let o;if(!e)return null;let s=e.unitPrice,u=!n&&t.contremarque,c=e.libelleCsm,d=t.vendableWeb,p=e.type===Y.po.ROULEAU,m=r||(null!=(a=t.rollLength)?a:0)*(null!=(l=t.width)?l:0),f=d&&p&&"m"!=e.salesUnit?m:null,h=t.width?Number(t.width):0,g=((e,t,i)=>{if(!Number.isInteger(e))return 0;if(!t){if(!i)return e;if(e>i)return i}return i&&e>i?i:e})(i?Number(i):0,n&&n>0?n:0,f||0),x=ee({family:t.family,subFamily:t.subFamily,salesUnit:t.salesUnit,isStairWalker:t.isStairWalker,isRoll:p,conditionnement:g.toString()}),y=d||n?u&&p?f:Math.floor(null!=n?n:0/x)*x:null;switch(e.type){case Y.po.PAQUET:o="paquets";break;case Y.po.PIECE:o="unit\xe9s";break;case Y.po.ROULEAU:o="m\xb2";break;default:o=""}return{unitPrice:s,salesUnit:o,vendableWeb:d,infinite:u,isRoll:p,csm:!!c,inventoryQuantity:n,minSellQuantity:h>x?h:x,maxSellQuantity:y,quantityStep:x,maxQuantityByRoll:f}})(e,t,n,r,a),o=null==l?void 0:l.unitPrice,s=null==l?void 0:l.salesUnit,u=null==l?void 0:l.infinite,c=null==l?void 0:l.csm,d=null==l?void 0:l.vendableWeb,p=null==l?void 0:l.inventoryQuantity,m=null==l?void 0:l.maxQuantityByRoll,f=null==l?void 0:l.quantityStep,h=null==l?void 0:l.minSellQuantity,g=null==l?void 0:l.maxSellQuantity,x=null==l?void 0:l.isRoll,y=Number((0,er.cW)((null!=o?o:0)*i)),v=!!(r&&g&&i>r||g&&i>g&&!(u||c)),b=v?r?"Stock maximum du magasin : ".concat(r," ").concat(s,"."):"Quantit\xe9 disponible pour un achat en ligne : ".concat(g," ").concat(s,". ").concat(m?"Ce stock est insuffisant pour couvrir votre surface. ":""," Pour acheter une quantit\xe9 plus importante, nous vous invitons \xe0 consulter les stocks dans les magasins pr\xe8s de chez vous et contacter un conseiller."):null,S=h&&i<h,P=S?"La quantit\xe9 minimale pouvant \xeatre achet\xe9e est ".concat(h," ").concat(s,"."):null,w=!!(f&&i%f>0),E=w?"Cet article n'est vendu que par multiple de ".concat(f," ").concat(s,"."):null,j=m&&i>m,R=j?"La surface maximum pouvant \xeatre couverte par le rouleau est de ".concat(m,"m\xb2. Surface calcul\xe9e : ").concat(i,"m\xb2."):null,_=x&&i>20&&!j,N=j?m:v?g:S?h:w?function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;
1if(t<1||(e<=0&&(e=1),null!=n&&(n<=0||n<t)))return null;null!=i&&i<=0&&(i=1);let r=e=>Math.ceil(e/t)*t,a=e=>Math.floor(e/t)*t,l=r(e);if(null==i)if(null==n)return r(e);else return Math.min(l,a(n));let o=r(i);if(null==n)return Math.max(l,o);{let e=a(n);return o>e?null:Math.min(Math.max(l,o),e)}}(i,null!=f?f:0,h,null!=g?g:void 0):i;return{unitPrice:o,vendableWeb:d,infinite:u,csm:c,inventoryQuantity:p,minSellQuantity:h,maxSellQuantity:g,quantityStep:f,maxQuantityByRoll:m,isOverMaxQuantity:v,isUnderMinQuantity:!!S,isNotMultiple:w,isOverRollQuantity:!!j,notVendableWebMessage:d?null:"Ce produit n'est pas vendu en ligne.",overMaxMessage:b,underMinMessage:P,notMultipleMessage:E,overRollQuantityMessage:j?"La surface maximum pouvant \xeatre couverte par le rouleau est de ".concat(m,"m\xb2. Si vous souhaitez commander plus de quantit\xe9, nous vous invitons \xe0 ajouter un nouveau rouleau \xe0 votre panier. Pensez \xe0 passer par notre calculatrice et \xe0 traiter chaque pi\xe8ce s\xe9par\xe9ment pour bien mesurer votre besoin et recevoir des rouleaux adapt\xe9s \xe0 vos diff\xe9rents espaces. Sachez que les produits coup\xe9s aux mesures du client ne seront ni repris ni \xe9chang\xe9s."):null,overRollQuantityMessageSmall:R,askedQuantity:i,nearestValidQuantity:N,totalPrice:y,needAeraCalculatorMessage:_?"Votre projet concerne plusieurs pi\xe8ces ? Pensez \xe0 passer par notre calculatrice et \xe0 traiter chaque pi\xe8ce s\xe9par\xe9ment pour bien mesurer votre besoin et recevoir des rouleaux adapt\xe9s \xe0 vos diff\xe9rents espaces. Sachez que les produits coup\xe9s aux mesures du client ne seront ni repris ni \xe9chang\xe9s.":null,isRollTooBig:_,canAddToCart:d&&!v&&!S&&!w&&!j}})(o,s,m,String(n)),h=null==f?void 0:f.nearestValidQuantity,g=null!=(t=null==f?void 0:f.askedQuantity)?t:0,x=null==f?void 0:f.inventoryQuantity,y=null==f?void 0:f.quantityStep,v=null==f?void 0:f.infinite,b="roll"===r?((e,t,i,n,r)=>t&&(i||e<=t)?r:t&&e<t?e<n?e:n:void 0)(g,null!=x?x:0,null!=v&&v,null!=y?y:0,null!=h?h:0):null;return{type:Y.N4.SOFT_FLOOR,length:(0,er.cW)(m/i),width:(0,er.cW)(i),quantity:b||m,surface:(0,er.cW)(m),neededRolls:p,price:(0,er.cW)(parseFloat(a)*m),compare_at_price:l?(0,er.cW)(parseFloat(l)*m):null}}},[Y.N4.TERRASSE]:{extract:(e,t,i)=>{var n,r;let a=String(Number(i.unitPrice));if(null==a)return{error:eS.BROKEN_PRODUCT,reason:"Missing unitPrice"};let l=i.currentPrice.defaultPrice?String(Number(i.currentPrice.defaultPrice)):void 0,o=(0,er.cK)((null==(n=t.attributes["F008-Largeur"])?void 0:n.valeur)/100),s=(0,er.cK)((null==(r=t.attributes["S057-Longueur"])?void 0:r.valeur)/100);return{type:Y.N4.TERRASSE,product_qct:e,unitPrice:a,unitCompareAtPrice:l,largeur:o,longueur:s}},estimate:e=>{let{estimator:{unitPrice:t,unitCompareAtPrice:i,largeur:n,longueur:r},input:a}=e,l=eR(a);if(!l)return{error:eS.BAD_REQUEST,reason:"Veuillez renseigner la longueur et la largeur ou la surface."};let o=n*r,s=Math.ceil(l/o),u=s*Number(t);return{type:Y.N4.TERRASSE,quantity:s,surface:(0,er.cW)(l),neededSurface:(0,er.cW)(s*o),price:(0,er.cW)(u),compare_at_price:i?(0,er.cW)(Number(i)*s):null}}}},eT=async(e,t)=>{let i=e.type,n=eI[i];return n?n.estimate({estimator:e,input:t}):{error:eS.UNSUPPORTED_TYPE,reason:"No handler for estimator type ".concat(i)}};var eO=i(25867);let eA=(e,t,i,n)=>{let r=t>1?Math.ceil(e/t)*t:e;return{quantity:r,totalSurface:r,totalPrice:i*r,ecoParticipation:n*r}},eL=u.default.div.withConfig({componentId:"sc-9487fbbb-0"})([".NETREVIEWS_PRODUCT_STARS{width:100%;.netreviews_review_rate_and_stars{> div{font-size:16px;}.netreviews_reviews_rate{display:none;}.nr-icon.gold{color:"," !important;}}&:hover{.netreviews_reviews_rate{opacity:0.8;}}}.product-container{justify-content:space-between;padding:15px;width:100%:max-width:1050px;align-items:center;border:1px solid ",";display:flex;margin:0 auto;column-gap:30px;min-height:120px;.product-infos,.product-quantity{width:50%;}@media ","{flex-direction:column;.product-infos,.product-quantity{width:100%;}}.product-infos{> a{display:flex;}.product-details{margin-left:15px;.title{font-family:",";font-size:16px;margin:0 0 5px 0;@media ","{font-size:14px;}}.product-prices,.ref{font-size:14px;color:",";font-family:",";margin:0;.crossed{text-decoration:line-through;}}}}.product-quantity{display:flex;align-items:center;@media ","{flex-direction:column;align-items:flex-start;margin-top:15px;}.product-price{margin:auto 10px;.price{font-size:26px !important;sup{font-size:15px !important;}}> div{div:first-of-type{margin-left:initial;}}@media ","{margin:13px 0 0;display:flex;align-items:center;column-gap:5px;width:100%;.price{font-size:20px !important;sup{font-size:10px !important;}}.price__list{display:flex;align-items:baseline;}> div{div:first-of-type{margin-left:auto;}}}}}}"],s.Jy.ocher,s.Jy.fillGrey,s.uk.tabletS,s.vX.NunitoSansBold,s.uk.tabletS,s.Jy.greyPrimary,s.vX.NunitoSansRegular,s.uk.tabletS,s.uk.tabletS),eD=u.default.p.withConfig({componentId:"sc-9487fbbb-1"})(["color:",";font-family:",";"],s.Jy.redClassic,s.vX.NunitoSansBold),eF=u.default.p.withConfig({componentId:"sc-9487fbbb-2"})(["font-size:12px;margin:10px auto;font-family:",";color:rgba(87,91,102,0.5);"],s.vX.NunitoSansRegular),eM=u.default.div.withConfig({componentId:"sc-9487fbbb-3"})(["position:relative;max-width:930px;margin:0 auto 50px;"]),eq=u.default.div.withConfig({componentId:"sc-9487fbbb-4"})(["text-transform:uppercase;color:",";font-family:",";font-size:20px;margin:0 0 30px 0;text-align:center;"],s.Jy.black,s.vX.Glendale),ez=e=>{var t,i,a;let{product:l,taille:o,variant:s,store:u,onNextStepInfo:c,stepResa:d}=e,p=l.packagingMetas,m=null==(i=l.productDataERP)||null==(t=i.infos)?void 0:t.conditionnement,f=ee({family:l.family,subFamily:l.subFamily,salesUnit:l.s
1alesUnit,isStairWalker:null!=(a=l.isStairWalker)&&a,isRoll:(null==p?void 0:p.type)===Y.sM.ROLL,conditionnement:m&&Number.isInteger(Number(m))?m:"0"}),h=(null==p?void 0:p.width)?Number(p.width):0,g=f>h?f:h,[x,y]=(0,r.useState)(null),{calculateQuantity:S,result:P}=((e,t)=>{let[i,n]=(0,r.useState)([]),[a,l]=(0,r.useState)(null),[o,s]=(0,r.useState)(!1),[u,c]=(0,r.useState)(null),d=(0,eO.lQ)(),p=(e=>!!e&&!!(e.displayCalculator&&e.estimatorType))(e);(0,r.useEffect)(()=>{if(t){let i=((e,t,i)=>{if(!t.estimatorType)return null;let n=eI[t.estimatorType];if(!n)return null;let r=n.extract(e,t,i);return r||null})(t.entryId,e,t);i&&i.type?c(i):c(null)}else c(null)},[t,e]),(0,r.useEffect)(()=>{d.areas&&d.areas.length>0&&n(d.areas.map(e=>"surface"in e?{surface:e.surface}:{width:e.width,height:e.height,surface:e.width&&e.height?e.width*e.height:void 0}))},[d.areas]),(0,r.useEffect)(()=>{if(d.results&&d.results.length>0&&d.displayResults){let o=d.results;if(o.filter(e=>!eP(e)).length>0){var i,n,r,a;let s=ej(o),u=ee({family:t.family,subFamily:t.subFamily,salesUnit:t.salesUnit,isStairWalker:t.isStairWalker,isRoll:t.type===Y.sM.ROLL,conditionnement:null==(n=e.productDataERP)||null==(i=n.infos.conditionnement)?void 0:i.toString()}),c=Number(t.unitPrice)||0,d=null==(r=e.characteristics)?void 0:r["Eco-participation"],p=d?parseFloat(String(d)):0,m=s.totalQuantity,f=s.totalSurface,h=s.totalPrice,g=(0,v.lG)(d,s.totalQuantity);if(u>1){let e=eA(s.totalQuantity,u,c,p);m=e.quantity,f=e.totalSurface,h=e.totalPrice,g=e.ecoParticipation}let x=(0,v.kk)(t.type,m,e.unitLabel,{numberOfM2PerPackage:null==(a=e.productDataERP)?void 0:a.infos.conditionnement,sousFamilleProduit:e.subFamily});l({quantity:m,totalPrice:h,results:o,totalSurface:f,unitLabel:x,ecoParticipation:g})}}},[d.results,d.displayResults,e,t]);let m=(0,r.useCallback)(()=>{d.addArea(),n(e=>[...e,{}])},[d]),f=(0,r.useCallback)(e=>{d.deleteArea(e),n(t=>t.filter((t,i)=>i!==e))},[d]),h=(0,r.useCallback)((e,t)=>{n(i=>i.map((i,n)=>n===e?{...i,...t}:i));let i={width:t.width||0,height:t.height||t.length||0};d.updateArea(e,i),t.surface||t.area?d.setQuotationType("surface"):t.width&&(t.height||t.length)&&d.setQuotationType("lengthWidth")},[d]),g=(0,r.useCallback)(()=>u?d.areas&&0!==d.areas.length?void(s(!0),d.setDisplayResults(!1),Promise.all(d.areas.map(e=>eT(u,e))).then(i=>{if(d.setResults(i),i&&i.length>0&&i.filter(e=>!eP(e)).length>0){var n,r,a,o;let s=ej(i),u=ee({family:t.family,subFamily:t.subFamily,salesUnit:t.salesUnit,isStairWalker:t.isStairWalker,isRoll:t.type===Y.sM.ROLL,conditionnement:null==(r=e.productDataERP)||null==(n=r.infos.conditionnement)?void 0:n.toString()}),c=Number(t.unitPrice)||0,d=null==(a=e.characteristics)?void 0:a["Eco-participation"],p=d?parseFloat(String(d)):0,m=s.totalQuantity,f=s.totalSurface,h=s.totalPrice,g=(0,v.lG)(d,s.totalQuantity);if(u>1){let e=eA(s.totalQuantity,u,c,p);m=e.quantity,f=e.totalSurface,h=e.totalPrice,g=e.ecoParticipation}let x=(0,v.kk)(t.type,m,e.unitLabel,{numberOfM2PerPackage:null==(o=e.productDataERP)?void 0:o.infos.conditionnement,sousFamilleProduit:e.subFamily});l({quantity:m,totalPrice:h,results:i,totalSurface:f,unitLabel:x,ecoParticipation:g})}}).catch(e=>{console.error("Estimation error:",e),d.setResults([])}).finally(()=>{d.setDisplayResults(!0),s(!1)})):void console.warn("Cannot calculate: no areas defined"):void console.warn("Cannot calculate: estimator is null"),[u,d,e]),x=(0,r.useCallback)(()=>{l(null),n([]),d.resetStore()},[d]),y=(0,r.useCallback)(i=>{var n,r;if(!e)return void console.warn("Cannot calculate: product is null");let a=(e=>{var t;return parseFloat((null==(t=e.productDataERP)?void 0:t.infos.conditionnement)||"1")||1})(e),o=parseFloat((0,v.QU)(t,i)),s=t.type===Y.sM.ROLL&&a>0?i:i*a,u=(0,v.kk)(t.type,i,e.unitLabel,{numberOfM2PerPackage:null==(n=e.productDataERP)?void 0:n.infos.conditionnement,sousFamilleProduit:e.subFamily}),c=null==(r=e.characteristics)?void 0:r["Eco-participation"],p=(0,v.lG)(c,i);l({quantity:i,totalPrice:o,totalSurface:s,unitLabel:u,ecoParticipation:p}),d.setDisplayResults(!0)},[e,d,t]);return{hasCalculator:p,surfaces:i,result:a,isLoading:o,estimator:u,addSurface:m,removeSurface:f,updateSurface:h,c
1alculate:g,calculateQuantity:y,resetCalculation:x,storeResults:d.results,displayResults:d.displayResults,quotationType:d.quotationType}})(l,s);(0,r.useEffect)(()=>{y&&y(P)},[P,y]);let w=(null==x?void 0:x.totalPrice)||0,E=s.unitPrice?parseFloat(s.unitPrice):parseFloat(s.price),j=s.unitCompareAtPrice?parseFloat(s.unitCompareAtPrice):s.compareAtPrice?parseFloat(s.compareAtPrice):0,[R,_]=r.useState(""),[N,k]=(0,r.useState)(0),[C,I]=(0,r.useState)(d),[T,O]=(0,r.useState)(!1),[A,L]=(0,r.useState)(!0),[D,F]=(0,r.useState)(null),[M,q]=(0,r.useState)(!1),[z,U]=(0,r.useState)(g);return(0,r.useEffect)(()=>{c(C)},[C]),(0,r.useEffect)(()=>{T&&U(0)},[T]),(0,r.useEffect)(()=>{if(!u)return;let e=setTimeout(()=>{I({productItem:{...d.productItem,product:l,taille:o,quantity:null==P?void 0:P.quantity,...D,unit:R},store:u})});return()=>{clearTimeout(e)}},[l,o,z,D,R,u]),(0,r.useEffect)(()=>{s&&s.entryId&&(q(!1),(0,en.zQ)(s.entryId).then(e=>{q(null!==e),ea()}).catch(e=>{console.error("Failed to get product reviews",e)}))},[null==s?void 0:s.entryId]),(0,r.useEffect)(()=>{(e=>{let t=(0,v.QU)(s,e);F({discounted:!!j,price:E,compareAtPrice:j,total:Number((null==P?void 0:P.totalPrice)||t)})})(null==P?void 0:P.quantity),!N||N<(null==P?void 0:P.quantity)?U(0):U(null==P?void 0:P.quantity)},[N,P]),(0,r.useEffect)(()=>{u&&s&&(L(!0),ep(s.entryId,[u.value]).then(e=>{if(e&&e.length>0&&e[0].quantity>0){var t;_(e[0].unit);let i=parseFloat(e[0].quantity.toFixed(2)),n=s.type===Y.sM.PACKET?Math.floor(i/(null!=(t=s.packaging)?t:1)):Math.floor(i);n<g?k(0):k(n)}}).catch(e=>{O(!0),console.error("Failed to fetch product stocks",e)}).finally(()=>{L(!1)}))},[s,u]),(0,n.jsxs)(eM,{children:[(0,n.jsx)(eq,{children:"Le produit que je souhaite r\xe9server\xa0:"}),(0,n.jsxs)(eL,{children:[(0,n.jsxs)("div",{className:"product-container",children:[(0,n.jsx)("div",{className:"product-infos",children:(0,n.jsxs)("a",{href:l.slugUrl,children:[l.productImagePushHover&&(0,n.jsx)(ei.A,{loading:"eager",className:"image-container",src:l.productImagePushHover,alt:l.metaTitle||"",width:120,height:120,placeholder:"blur",blurDataURL:"/img/desktop/product/placeholder.jpg"}),(0,n.jsxs)("div",{className:"product-details",children:[(0,n.jsx)("div",{className:"title",children:l.title}),(0,n.jsx)("div",{className:"rating",children:M&&(0,n.jsx)("div",{className:"NETREVIEWS_PRODUCT_STARS","data-
1product-id":s.entryId})}),(0,n.jsxs)("p",{className:"ref",children:["R\xe9f: ",l.productReference]}),(0,n.jsxs)("p",{className:"product-prices",children:[!!j&&(0,n.jsxs)("span",{className:"crossed",children:[(0,et.DK)(j),"\xa0"]}),(0,et.DK)(E)," ",s.bySalesUnit," ",(null==p?void 0:p.type)===Y.sM.PACKET&&"soit ".concat((0,et.DK)(s.price)," le paquet")]})]})]})}),A?(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(el.Ay,{})}):(0,n.jsxs)("div",{className:"product-quantity",children:[(0,n.jsx)(eb,{minQuantity:g,product:l,currentVariant:s,onCalculateQuantity:S}),(0,n.jsx)("div",{className:"product-price",children:w&&(0,n.jsx)(b.A,{price:w.toString(),priceWithoutDiscount:j?(0,v.KV)(j,(null==P?void 0:P.quantity)*(s.packaging||1)):null})})]})]}),(0,n.jsx)(eF,{children:"*Le prix affich\xe9 est celui actuellement en vigueur. Ce prix est garanti uniquement le jour m\xeame de la e-r\xe9servation. Le prix \xe0 payer sera celui en vigueur le jour du paiement de la e-r\xe9servation."}),!A&&(T?(0,n.jsx)(eD,{children:"Une erreur est survenue pendant le chargement des stocks disponibles. Veuillez recharger la page et r\xe9essayer. Si le probl\xe8me persiste, n'h\xe9sitez pas \xe0 contacter notre \xe9quipe de support."}):0===N&&(0,n.jsx)(eD,{children:"Pas de stock disponible pour ce produit dans ce magasin."}))]})]})};var eU=i(79737),eQ=i(25938),eW=i(22496),eV=i(79161),eJ=(i(60900),i(90005)),eB=i(87499),eX=i(55308),eG=i(25776),eK=i(17273);let eH=u.default.div.withConfig({componentId:"sc-39a2e17f-0"})(["text-transform:uppercase;color:",";font-family:",";font-size:20px;margin:0 0 30px 0;text-align:center;"],s.Jy.black,s.vX.Glendale),e$=u.default.div.withConfig({componentId:"sc-39a2e17f-1"})(["border:1px solid #ededf0;padding:15px;max-width:450px;text-align:center;margin:0 auto 50px;line-height:21px;.action{color:",";font-family:",";text-decoration:underline;cursor:pointer;display:flex;align-items:center;justify-content:center;column-gap:7px;svg{transition:all 0.2s ease;}&.open{svg{transform:rotate(180deg);}}}"],s.Jy.ocher,s.vX.NunitoSansBold),eY=e=>{let{store:t}=e,[i,a]=(0,r.useState)(!1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eH,{children:"Mon magasin"}),(0,n.jsxs)(e$,{children:[(0,n.jsx)(A.default,{width:35,height:35}),(0,n.jsx)("br",{}),(0,n.jsxs)("b",{children:["Saint-Maclou ",t.label]}),(0,n.jsx)("br",{}),t.address,(0,n.jsx)("br",{}),t.city," ",t.zipcode,(0,n.jsx)("br",{}),(0,x.n4)(t.phone),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsxs)("div",{className:"action ".concat(i?"open":""),onClick:()=>a(!i),children:[i?"Masquer les horaires":"Voir les horaires",(0,n.jsx)(eG.default,{width:15,color:s.Jy.ocher})]}),i&&(0,n.jsx)(eK.A,{store:t})]})]})};var eZ=i(47931),e0=i(5593),e1=i(83217),e5=i(79638);let e2=u.default.div.withConfig({componentId:"sc-2c8ebf8b-0"})(["margin:50px auto 0;padding:0 20px;max-width:1410px;@media ","{margin:20px auto 0;}"],s.uk.mobileL),e7=u.default.div.withConfig({componentId:"sc-2c8ebf8b-1"})(["font-size:14px;color:",";text-align:center;margin:10px 0;font-family:",";"],s.Jy.redClassic,s.vX.NunitoSansRegular),e6=u.default.div.withConfig({componentId:"sc-2c8ebf8b-2"})(["max-width:450px;margin:0 auto;"]),e4=u.default.div.withConfig({componentId:"sc-2c8ebf8b-3"})(["max-width:930px;margin:40px auto 0;opacity:50%;text-align:center;p{font-size:12px;}"]),e3=[{icon:(0,n.jsx)(T.IconTimer,{}),title:"R\xe9servez votre produit"},{icon:(0,n.jsx)(T.IconCheckedInterlocutor,{}),title:"Un conseiller vous rappelle pour confirmer la disponibilit\xe9 et proc\xe9der au paiement"},{icon:(0,n.jsx)(T.IconStore,{}),title:"Retirez votre commande en magasin"}],e8=e=>{var t,i,a,s,u,d;let{product:f,storeId:h,variant:g}=e,{entryId:x,sizeLabel:y}=g,b={reservation:{productItem:{product:f,variant:g,qct:x,ref:(0,v.W4)(x),taille_desc:y,quantity:null,price:null,compareAtPrice:null,total:null,discounted:null,unit:""},store:null},userInfo:{gender:"",lastname:"",firstname:"",phone:"",email:"",optinEmail:!1,optinSms:!1,optoutValiuz:!1},store:void 0},S={gender:e0.d$.gender,lastname:e0.d$.lastname,firstname:e0.d$.firstname,phone:e0.d$.phone,email:e0.d$.email,optinEmail:e0.d$.optinEmail,optinSms:e0.d$.optinSms,optoutValiuz:e0.d$.optoutValiuz},{Captcha:P,getCaptcha:w}=(0,eZ.ef)({pass:"eresa:".concat(x)}),[E,j]=(0,r.useState)(null),[R,_]=(0,r.useState)(null),[N,k]=(0,r.useState)(0),[C,I]=(0,r.useState)(null),[T,O]=(0,r.useState)(!1),[A,L]=(0,r.useState)(b),M=(0,r.useRef)(0),q=async e=>{e.preventDefault();let t=null,i=A.reservation,n=A.userInfo;if(""!=n.email&&""!=n.firstname&&""!=n.lastname&&""!=n.phone&&""!=n.gender){var r,a,o;O(!0);let e=await w({onInteractive(){O(!1)}});if(null===e)return;O(!0);let{productItem:s,productItem:{quantity:u}}=i,c=(0,v.kk)(g.type,u,f.unitLabel,{numberOfM2PerPackage:null==(r=g.productDataERP)?void 0:r.infos.conditionnement,sousFamilleProduit:g.subFamily,largeur:g.productDataERP&&parseFloat(g.productDataERP.infos.largeur||"0"),longueur:g.productDataERP&&parseFloat(g.productDataERP.infos.longueur_rouleau||"0")}),d=c?"".concat(u," ").concat(c):String(u),p=(null==f?void 0:f.subFamily)&&null!=(a=e5.Hg[f.subFamily])?a:null,m={fam
1illes:p?[{id:p}]:[],formID:eV.Nn.FORMID_ERESERVATION,isRug:(0,v.Fq)(f.family),captcha_token:e,...s&&{produit:{produit_qct:s.qct,produit_ref:s.ref,produit_slug_url:s.product.slugUrl,produit_sous_famille:null!=(o=s.product.subFamily)?o:"",produit_nom:s.product.productName,produit_image_url:s.product.productImagePush,produit_prix_ttc:s.variant.unitCompareAtPrice?s.variant.unitCompareAtPrice:s.variant.unitPrice,produit_prix_pose:s.variant.unitCompareAtPriceWithInstall?s.variant.unitCompareAtPriceWithInstall:s.variant.unitPriceWithInstall,produit_prix_promo:s.variant.unitCompareAtPrice?s.variant.unitPrice:void 0,produit_prix_pose_promo:s.variant.unitCompareAtPriceWithInstall?s.variant.unitPriceWithInstall:void 0,produit_taille:s.taille,produit_taille_desc:s.taille_desc,produit_unite_vente:s.product.salesUnit},resa:{quantite:s.quantity,unite:s.unit,quantite_desc:d,prix:s.price,prix_base:s.compareAtPrice,promo:s.discounted,total:s.total}},...i.store&&{magasin:{magasin_id:i.store.value,magasin_nom:i.store.label,magasin_adresse:i.store.address,magasin_CP:i.store.zipcode,magasin_ville:i.store.city,magasin_telephone:i.store.phone}},coordonnees:{civilite:n.gender,prenom:n.firstname,nom:n.lastname,email:n.email,telephone:n.phone,optin_email:n.optinEmail,optin_sms:n.optinSms,optout_valiuz:n.optoutValiuz}};try{await (0,e1.hp)(m).then(e=>{if(e.clientId||e.accepted){j(e.clientId);let t={totalPrice:m.resa.total.toString(),product:{name:m.produit.produit_nom,id:m.produit.produit_qct,price:m.produit.produit_prix_ttc.toString(),category:m.produit.produit_sous_famille}},i={optin_email:m.coordonnees.optin_email,optin_sms:m.coordonnees.optin_sms};(0,eB.K1)(eX.a.LEAD),t&&(0,D.bW)(4,F.XA.CONFIRMATION,t,m.magasin.magasin_id,e.clientId,i,(0,l.createHash)("sha256").update(m.coordonnees.email).digest("hex"))}})}catch(e){console.error("Failed to send e-resa",e),t="\xc9chec de l'envoi du formulaire. Veuillez r\xe9essayer.",O(!1)}}else t="Veuillez remplir tous les champs requis.";t?I(t):(I(null),z(N+1),O(!1))},z=e=>{k(e),document.body.scrollTop=document.documentElement.scrollTop=0};return(0,r.useEffect)(()=>{eW.k4("autres"),D.Ay.sendPageView({env_type_contenu:F.Qp.LEAD,cd2_pageCategory:"R\xe9servation de mon produit"}),(()=>{let e=new c.CQ;M.current++;let t=M.current;e.getLeadStoreById(h,"eresa").then(e=>{t===M.current&&_(e)}).catch(e=>{console.error("Failed to get Woosmap store with id %s",h,e)})})()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Container,{fluid:!0,children:(0,n.jsx)(o.Row,{children:(0,n.jsx)(p.Q,{theme:"absolute",links:[{text:"Accueil",url:"/"},{text:"R\xe9server et retirer en magasin",url:eQ.Gl.contact.devis}]})})}),(0,n.jsxs)(e2,{children:[(0,n.jsx)(H.A,{currentStep:N,productUrl:null==(i=A.reservation.productItem)||null==(t=i.product)?void 0:t.slugUrl,previousStep:e=>{e.preventDefault(),z(N-1)},isRecap:1===N}),N<1&&(0,n.jsx)(P,{popin:!0}),N<1&&(0,n.jsx)(eJ.A,{title:"R\xe9server et retirer en magasin",steps:e3}),N<1&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ez,{product:f,taille:g.refT,variant:g,store:R,stepResa:A.reservation,onNextStepInfo:e=>{I(null),L({...A,reservation:e})}}),R&&(0,n.jsx)(eY,{store:R}),(0,n.jsx)(m.A,{defaultUser:S,captcha:!1,updateUserInformation:(e,t)=>{I(null),L({...A,[t]:e})},userInfo:A.userInfo,showGeoloc:!1,showValiuzOptin:!0})]}),1===N&&(0,n.jsx)(G,{clientId:E,userReservation:A}),C&&(0,n.jsx)(e7,{children:C}),(0,n.jsx)(e6,{children:N<1?(0,n.jsx)(K.$,{text:"Valider la demande",type:"submit",theme:"primaryDesign",fullWidth:!0,onClick:q,isLoading:T,disabled:!(null==A||null==(s=A.reservation)||null==(a=s.productItem)?void 0:a.quantity)||(null==A||null==(d=A.reservation)||null==(u=d.productItem)?void 0:u.quantity)<=0}):(0,n.jsx)(K.z,{text:"Retour \xe0 l'accueil",url:"/",theme:"primaryRefonte",fullWidth:!0})}),0===N&&(0,n.jsx)(e4,{children:(0,n.jsx)($.A,{})})]})]})};e8.getInitialProps=async e=>{var t,i;let{res:n,query:r}=e,{product:a,store:l}=r,o=null;try{o=await d.w.getInstance().getProductsBySingleSku(a)}catch(e){o=null}let s=null;if(!o)return s=404,n&&(n.statusCode=s),n;let u=(e=>{if(!e)return null;let t=e.split("/"),i=t[t.length-1],n=(0,v.AD)(i);if(!n)return null;let r=n.split("-");return r.length>=3?r[2]:null})(a),c=null!=(i=null==(t=o.productSizeVariants)?void 0:t.find(e=>String(e.refT)===String(u)))?i:(e=>{var t,i,n,r,a,l,o,s,u;
1let c=e.packagingMetas||{type:Y.sM.UNIT,unitType:null,salesUnit:e.salesUnit,packaging:e.quantityPerUnit,numberOfM2PerPackage:null,width:null,rollLength:null};return{...c,entryId:e.sku,refT:e.refT||e.ref,sizeLabel:e.sizeLabel||"",vendableWeb:e.isVendableWeb,bySalesUnit:e.unitLabel,infiniteStock:null!=(r=e.infiniteStock)&&r,ldf:null!=(a=e.isLdf)&&a,contremarque:null!=(l=e.contremarque)&&l,productDataERP:e.productDataERP,attributes:e.attributes,csm:e.libelleCsm,deliveryERP:e.deliveryERP,hasMoodImage:null==(t=e.shopifyData)?void 0:t.hasMoodImage,hasRoomVO:null==(i=e.shopifyData)?void 0:i.hasRoomVO,hasUGC:null==(n=e.shopifyData)?void 0:n.hasUGC,rating:e.rating,family:e.family,subFamily:e.subFamily,isStairWalker:null!=(o=e.isStairWalker)&&o,currentPrice:e.currentPrice,isPromo:null!=(s=e.isPromo)&&s,isNonSuivi:null!=(u=e.isNonSuivi)&&u,prixPose:e.prixPose,...(0,v.zA)(e.productDataERPPrice,c)}})(o),{colorVariants:p,complementaryProducts:m,complementaryProductsCards:f,productSizeVariants:h,...g}=o;return{product:g,variant:c,statusCode:s||200,storeId:l}},e8.layout=a.Ay,e8.layoutProps={metaTags:{title:"E-r\xe9servation | Saint Maclou",description:"Demande de r\xe9servation",type:eU.g.website,image:"",robots:"INDEX,FOLLOW",canonical:"".concat(eV.k6).concat(eQ.Gl.contact.devis)},withMarginEndConten:!0};let e9=e8},87888:(e,t,i)=>{"use strict";i.d(t,{Ay:()=>d,QA:()=>u,aH:()=>o});var n=i(26514);i(75834);var r=i(17941),a=i(13742);let l=a.default.div.withConfig({componentId:"sc-c04bfc61-0"})(["&.show{opacity:1;}transition:all 1s ease-in-out;margin:0 auto;opacity:0;width:",";height:",";svg{& > *{fill:",";}}"],e=>e.width,e=>e.width,e=>e.color);r.Jy.dimGray;let o=e=>{let{color:t=r.Jy.dimGray,show:i=!0,width:a="3.75rem"}=e;return(0,n.jsx)(l,{color:t,width:a,className:"".concat(i?"show":""),children:(0,n.jsx)(c,{})})},s=a.default.div.withConfig({componentId:"sc-c04bfc61-1"})(["position:absolute;top:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;"]),u=e=>(0,n.jsx)(s,{children:(0,n.jsx)(o,{...e})}),c=()=>(0,n.jsxs)("svg",{version:"1.1",id:"L5",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 100 100",children:[(0,n.jsx)("circle",{fill:r.Jy.lightSlateGrey,stroke:"none",cx:"6",cy:"50",r:"6",transform:"translate(0 -13.1641)",children:(0,n.jsx)("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 15 ; 0 -15; 0 15",repeatCount:"indefinite",begin:"0.1"})}),(0,n.jsx)("circle",{fill:r.Jy.lightSlateGrey,stroke:"none",cx:"30",cy:"50",r:"6",transform:"translate(0 -7.22392)",children:(0,n.jsx)("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 10 ; 0 -10; 0 10",repeatCount:"indefinite",begin:"0.2"})}),(0,n.jsx)("circle",{fill:r.Jy.lightSlateGrey,stroke:"none",cx:"54",cy:"50",r:"6",transform:"translate(0 -1.61196)",children:(0,n.jsx)("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 5 ; 0 -5; 0 5",repeatCount:"indefinite",begin:"0.3"})})]}),d=o}},e=>{e.O(0,[42547,42662,90636,46593,38792],()=>e(e.s=34078)),_N_E=e.O()}]);
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.