"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[25],{101:(e,a,s)=>{s.d(a,{a:()=>u});var r=s(0),t=s(3),n=s(29),i=s(102);const{Wrapper:c,WrapperStars:o,WrapperDescription:l,WrapperName:d,WrapperDate:p}=i.a,u=({author:e,reviewDate:a,reviewMessage:s,reviewRating:i,starsColorVariant:u="default"})=>{const{stars:h,emptyStars:m}=(0,n.a)(i);return(0,r.jsxs)("div",Object.assign({className:c},{children:[(0,r.jsxs)("div",Object.assign({className:o},{children:[h.map(((e,a)=>(0,r.jsx)(t.j,{starColor:"default"===u?"black":"yellow"},`star${a}`))),m.length>0&&m.map(((e,a)=>(0,r.jsx)(t.hb,{starColor:"default"===u?"black":"yellow"},`emptyStar${a}`)))]})),(0,r.jsx)("p",Object.assign({className:l},{children:s})),(0,r.jsx)("div",Object.assign({className:d},{children:(0,r.jsx)("p",{children:e})})),(0,r.jsx)("p",Object.assign({className:p},{children:a}))]}))}},105:(e,a,s)=>{s.d(a,{a:()=>xe});var r=s(0),t=s(1),n=s(281),i=s(106);const{container:c,containerRadio:o,containerRadioError:l,containerLabel:d}=i.a,p=({value:e,hasError:a,onChange:s})=>(0,r.jsxs)("div",Object.assign({className:c},{children:[(0,r.jsx)("input",{type:"radio",id:"age",value:e,className:(0,n.a)(o,a&&l),name:"age",onChange:s}),(0,r.jsx)("label",Object.assign({className:d},{children:e}))]}));var u=s(3),h=s(2),m=s(107);const{container:j,containerInput:g}=m.a,b=({handleClickCallback:e,ratingValue:a})=>{const{handleClick:s}=function(e){return{handleClick:(0,h.useCallback)((a=>{e(a)}),[e])}}(e);return(0,r.jsx)("div",{children:(0,r.jsx)(r.Fragment,{children:Array.from(Array(5),((e,t)=>{const n=t+1<=a;return(0,r.jsxs)("label",Object.assign({className:j},{children:[(0,r.jsx)("input",{type:"radio",name:"starRating",value:t+1,className:g,id:"starRating",onClick:s}),n?(0,r.jsx)(u.S,{}):(0,r.jsx)(u.R,{})]}))}))})})};var v=s(108);const{container:N,containerLabel:O,containerInput:x,containerWrapper:f,containerWrapperBig:E,containerWrapperPhoto:I,containerWrapperPhotoName:y}=v.a,T=({onChangeCallback:e,photos:a})=>{const{handleChange:s}=function(e){return{handleChange:(0,h.useCallback)((a=>{e(a)}),[e])}}(e),t=a.length>0,i=a.length>2;return(0,r.jsxs)("div",Object.assign({className:N},{children:[t&&(0,r.jsx)("div",Object.assign({className:(0,n.a)(f,i&&E)},{children:a.map((({name:e})=>(0,r.jsxs)("div",Object.assign({className:I},{children:[(0,r.jsx)(u.v,{}),(0,r.jsx)("p",Object.assign({className:y},{children:e}))]}))))})),(0,r.jsxs)("label",Object.assign({htmlFor:"photos",className:(0,n.a)(O)},{children:[(0,r.jsx)(u.M,{}),(0,r.jsx)("input",{type:"file",id:"photos",className:x,multiple:!0,onChange:s})]}))]}))},w=(e,{type:a,payload:s})=>{switch(a){case"TEXT_INPUT_BLUR":case"STAR_RATING_CHANGE":case"AGE_INPUT_CHANGE":return Object.assign(Object.assign({},e),{mandatoryInputs:Object.assign(Object.assign({},e.mandatoryInputs),{[s.id]:s})});case"FILE_INPUT_CHANGE":return Object.assign(Object.assign({},e),{[s.id]:s.value});case"RADIO_BUTTON_ERROR":return Object.assign(Object.assign({},e),{mandatoryInputs:Object.assign(Object.assign({},e.mandatoryInputs),{[s.id]:Object.assign(Object.assign({},e.mandatoryInputs[s.id]),{hasError:s.hasError})})});case"TEXT_INPUT_ERROR":return Object.assign(Object.assign({},e),{mandatoryInputs:Object.assign(Object.assign({},e.mandatoryInputs),{[s.id]:Object.assign(Object.assign({},e.mandatoryInputs[s.id]),{hasError:s.hasError,error:s.error})})});case"SUBMIT":return Object.assign(Object.assign({},e),{submitted:s.submitted});default:return e}},C=(e,a)=>{const s=0===a.trim().length;let r=!1,t="";switch(e){case"firstName":s?(r=!0,t="Please enter a name"):/^[a-zA-Z ]+$/.test(a)?(r=!1,t=""):(r=!0,t="Invalid name. Please avoid special characters");break;case"email":s?(r=!0,t="Please enter an email"):(n=a,new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(n)?(r=!1,t=""):(r=!0,t="Invalid email"));break;case"review":s&&(r=!0,t="Please add a review");break;default:console.error("Unknown type of input.")}var n;return{hasError:r,error:t}},R=(e,a)=>a.indexOf(e)>-1;var _;!function(e){e.STAR_RATING_CHANGE="STAR_RATING_CHANGE",e.TEXT_INPUT_BLUR="TEXT_INPUT_BLUR",e.FILE_INPUT_CHANGE="FILE_INPUT_CHANGE",e.AGE_INPUT_CHANGE="AGE_INPUT_CHANGE",e.RADIO_BUTTON_ERROR="RADIO_BUTTON_ERROR",e.TEXT_INPUT_ERROR="TEXT_INPUT_ERROR",e.SUBMIT="SUBMIT"}(_||(_={}));const k={mandatoryInputs:{firstName:{id:"firstName",value:"",touched:!1,hasError:!1,error:""},email:{id:"firstName",value:"",touched:!1,hasError:!1,error:""},review:{id:"review",value:"",touched:!1,hasError:!1,error:""},starRating:{id:"starRating",value:0,hasError:!1,touched:!1,error:"Please rate your experience"},age:{id:"age",value:"",touched:!1,hasError:!1,error:"Please choose your age"}},photos:[],submitted:!1};function U(e){const[a,s]=(0,h.useReducer)(w,k),r=(0,h.useCallback)((e=>{const a=e.currentTarget,r=a.value,t=a.id,{hasError:n,error:i}=C(t,r);s({type:_.TEXT_INPUT_BLUR,payload:{id:t,value:r,hasError:n,error:i,touched:!0}})}),[a]),t=(0,h.useCallback)((e=>{const r=e.currentTarget,t=a.mandatoryInputs.review.id,n=r.value,{hasError:i,error:c}=C(t,n);s({type:_.TEXT_INPUT_BLUR,payload:{id:t,value:n,hasError:i,error:c,touched:!0}})}),[a]),n=(0,h.useCallback)((e=>{const r=e.currentTarget.value,t=a.mandatoryInputs.starRating.id,n=Number(r);s({type:_.STAR_RATING_CHANGE,payload:{id:t,value:n,hasError:!1,touched:!0}})}),[a]),i=(0,h.useCallback)((e=>{const r=e.currentTarget.id,t=e.currentTarget.value,n={name:`image_${a.photos.length+1}`,src:t},i=[...a.photos,n];s({type:_.FILE_INPUT_CHANGE,payload:{id:r,value:i}})}),[a]),c=(0,h.useCallback)((e=>{const r=e.currentTarget,t=a.mandatoryInputs.age.id,n=r.value;s({type:_.AGE_INPUT_CHANGE,payload:{id:t,value:n,hasError:!1,touched:!0}})}),[a]),o=(0,h.useCallback)((()=>{const e=Object.assign({},a.mandatoryInputs),r=Object.values(e).filter((({touched:e})=>!e));if(r.length>0){const e=["review","firstName"];for(const{id:a,touched:t}of r){const r=R(a,e),n="Please fill this field";s(r&&!t?{type:_.TEXT_INPUT_ERROR,payload:{error:n,hasError:!0,id:a}}:{type:_.RADIO_BUTTON_ERROR,payload:{id:a,hasError:!0}})}}}),[a]),l=(0,h.useCallback)((r=>{return t=this,n=void 0,c=function*(){r.preventDefault();const t=Object.assign({},a.mandatoryInputs);var n;if(n=t,Object.values(n).some((({hasError:e,touched:a})=>e||!a)))return void o();const i=Object.values(t).reduce(((e,a)=>{const s={[a.id]:a.value};return Object.assign(e,s)}),{}),c=Object.assign(Object.assign({},i),{photos:a.photos}),l=new FormData;l.append("productId",e.productId),l.append("author",c.firstName),l.append("email",c.email),l.append("location",""),l.append("reviewRating",c.starRating),l.append("reviewTitle",""),l.append("reviewMessage",c.review),l.append("customFormOption-3991",c.age),l.append("productName",e.productName),l.append("productSKU",e.productSKU),l.append("productDescription",e.productDescription),l.append("productImageUrl",e.productImageUrl),l.append("productUrl",e.productUrl),l.append("reviewSource","widget"),l.append("photo0","");try{const e=yield fetch("https://stamped.io/api/reviews3?apiKey=pubkey-34cW5i6dqqu15uDhYWHp5N5ydth35L&storeUrl=curvy-com.myshopify.com",{method:"post",body:l}),a=yield e.json();console.log(a),s({type:_.SUBMIT,payload:{submitted:!0}})}catch(e){console.log(e)}},new((i=void 0)||(i=Promise))((function(e,a){function s(e){try{o(c.next(e))}catch(e){a(e)}}function r(e){try{o(c.throw(e))}catch(e){a(e)}}function o(a){var t;a.done?e(a.value):(t=a.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,r)}o((c=c.apply(t,n||[])).next())}));var t,n,i,c}),[a]);return{formState:a,handleInputBlur:r,handleFileInputChange:i,handleStarRatingChange:n,handleTextAreaBlur:t,handleRadioInputChange:c,handleSubmit:l}}var A=s(109);const{container:F,containerMessage:S,containerMessageBreakline:W,containerLink:L}=A.a,P=({successMessage:{linkLabel:e,subtitle:a,title:s},setDisabled:t})=>(0,r.jsxs)("div",Object.assign({className:F},{children:[(0,r.jsx)(u.U,{}),(0,r.jsxs)("p",Object.assign({className:S},{children:[s,(0,r.jsxs)("span",Object.assign({className:W},{children:[" ",a]}))]})),(0,r.jsx)("button",Object.assign({className:L,onClick:t},{children:e}))]}));var B=s(110);const{product:D,productName:H,productNameBreakline:G,productDetails:M}=B.a,X=({productInformation:{brand:e,color:a,currentSize:s,title:t}})=>(0,r.jsxs)("div",Object.assign({className:D},{children:[(0,r.jsxs)("p",Object.assign({className:H},{children:[e,(0,r.jsx)("span",Object.assign({className:G},{children:t}))]})),(0,r.jsxs)("p",Object.assign({className:M},{children:[a||""," | ",s]}))]}));var z=s(111);const{wrapper:V,wrapperForm:$,wrapperFormContainer:K,wrapperFormContainerMessage:Z,wrapperFormContainerError:q,wrapperFormContainerErrorActive:Y,wrapperFormContainerCheckboxes:J,wrapperFormContainerLabel:Q,wrapperFormContainerLabelSpan:ee,wrapperFormContainerInput:ae,wrapperFormContainerInputError:se,wrapperFormContainerInputText:re,wrapperFormContainerInputTextarea:te,wrapperFormWrapper:ne,wrapperFormWrapperButton:ie,wrapperFormWrapperButtonDesktop:ce}=z.a,oe=({productInformation:e,reviewFormInformation:a,age:s,buttonLabel:t,buttonLabelDesktop:i,email:c,firstName:o,optionalSuffix:l,photos:d,rating:u,review:h,successMessage:m,setDisabled:j})=>{const{formState:g,handleFileInputChange:v,handleInputBlur:N,handleStarRatingChange:O,handleTextAreaBlur:x,handleRadioInputChange:f,handleSubmit:E}=U(a),{mandatoryInputs:I}=g;return g.submitted?(0,r.jsx)(P,{successMessage:m,setDisabled:j}):(0,r.jsxs)("div",Object.assign({className:V},{children:[(0,r.jsx)(X,{productInformation:e}),(0,r.jsxs)("form",Object.assign({onSubmit:E,className:$},{children:[(0,r.jsxs)("div",Object.assign({className:K},{children:[(0,r.jsx)("label",Object.assign({htmlFor:"firstName",className:Q},{children:o.label})),(0,r.jsx)("input",{type:"text",id:"firstName",placeholder:o.placeholder,value:I.firstName.value,className:(0,n.a)(ae,re,I.firstName.hasError&&se),onBlur:N}),(0,r.jsx)("p",Object.assign({className:Z},{children:I.firstName.error}))]})),(0,r.jsxs)("div",Object.assign({className:K},{children:[(0,r.jsx)("label",Object.assign({htmlFor:"email",className:Q},{children:c.label})),(0,r.jsx)("input",{type:"email",id:"email",placeholder:c.placeholder,value:I.email.value,className:(0,n.a)(ae,re,I.email.hasError&&se),onBlur:N}),(0,r.jsx)("p",Object.assign({className:Z},{children:I.email.error}))]})),(0,r.jsxs)("div",Object.assign({className:K},{children:[(0,r.jsx)("p",Object.assign({className:Q},{children:u})),(0,r.jsx)(b,{handleClickCallback:O,ratingValue:I.starRating.value,hasError:I.starRating.hasError}),(0,r.jsx)("p",Object.assign({className:(0,n.a)(q,I.starRating.hasError&&Y)},{children:I.starRating.error}))]})),(0,r.jsxs)("div",Object.assign({className:K},{children:[(0,r.jsx)("label",Object.assign({htmlFor:"review",className:Q},{children:h.label})),(0,r.jsx)("textarea",{placeholder:h.placeholder,id:"review",onBlur:x,className:(0,n.a)(ae,te,I.review.hasError&&se)}),(0,r.jsx)("p",Object.assign({className:Z},{children:I.review.error}))]})),(0,r.jsxs)("div",Object.assign({className:J},{children:[(0,r.jsx)("p",Object.assign({className:Q},{children:s.label})),s.checkboxValues.map((e=>(0,r.jsx)(p,{value:e,onChange:f,hasError:I.age.hasError},e))),(0,r.jsx)("p",Object.assign({className:(0,n.a)(q,I.age.hasError&&Y)},{children:I.age.error}))]})),(0,r.jsxs)("div",Object.assign({className:K},{children:[(0,r.jsxs)("p",Object.assign({className:Q},{children:[d,(0,r.jsx)("span",Object.assign({className:ee},{children:l}))]})),(0,r.jsx)(T,{onChangeCallback:v,photos:g.photos})]})),(0,r.jsxs)("div",Object.assign({className:ne},{children:[(0,r.jsx)("button",Object.assign({type:"submit",className:ie},{children:t})),(0,r.jsx)("button",Object.assign({type:"submit",className:ce},{children:i}))]}))]}))]}))};var le=s(112),de=s(11);const{Wrapper:pe,Overlay:ue,WrapperHeading:he,WrapperHeadingText:me,WrapperHeadingTextDesktop:je,WrapperHeadingIcon:ge,WrapperOpen:be,WrapperHeadingWithShadow:ve,WrapperForm:Ne,WrapperFormHeading:Oe}=le.a,xe=({isOpen:e,setDisabled:a,productInformation:s,reviewFormInformation:i,reviewForm:c,title:o,titleDesktop:l})=>{(0,de.a)(e);const[d,p]=(0,h.useState)(!1),m=(0,h.useRef)(null);return(0,h.useLayoutEffect)((()=>{const e=e=>{p(0!==e.currentTarget.scrollTop)};return m.current.addEventListener("scroll",e),()=>m.current.removeEventListener("scroll",e)}),[]),(0,r.jsxs)(t.Fragment,{children:[e?(0,r.jsx)("div",{onClick:a,className:ue}):null,(0,r.jsxs)("div",Object.assign({className:(0,n.a)(pe,e&&be)},{children:[(0,r.jsxs)("div",Object.assign({className:(0,n.a)(he,d&&ve)},{children:[(0,r.jsx)("p",Object.assign({className:me},{children:o})),(0,r.jsx)("p",Object.assign({className:je},{children:l})),(0,r.jsx)("div",Object.assign({onClick:a,className:ge},{children:(0,r.jsx)(u.r,{})}))]})),(0,r.jsxs)("div",Object.assign({className:Ne,ref:m},{children:[(0,r.jsx)("div",Object.assign({className:Oe},{children:o})),(0,r.jsx)(oe,Object.assign({setDisabled:a,productInformation:s,reviewFormInformation:i},c))]}))]}))]})}},103:(e,a,s)=>{s.d(a,{a:()=>N});var r=s(0),t=s(1),n=s(2),i=s(3),c=s(11),o=s(101),l=s(281),d=s(104);const{Wrapper:p,Overlay:u,WrapperHeading:h,WrapperHeadingWithShadow:m,WrapperHeadingText:j,WrapperHeadingIcon:g,WrapperOpen:b,WrapperList:v}=d.a,N=({isOpen:e,setDisabled:a,reviewsList:s,starsColorVariant:d,title:N})=>{(0,c.a)(e);const[O,x]=(0,n.useState)(!1),f=(0,n.useRef)(null);return(0,n.useLayoutEffect)((()=>{const e=e=>{x(0!==e.currentTarget.scrollTop)};return f.current.addEventListener("scroll",e),()=>f.current.removeEventListener("scroll",e)}),[]),(0,r.jsxs)(t.Fragment,{children:[e?(0,r.jsx)("div",{onClick:a,className:u}):null,(0,r.jsxs)("div",Object.assign({className:(0,l.a)(p,e&&b)},{children:[(0,r.jsxs)("div",Object.assign({className:(0,l.a)(h,O&&m)},{children:[(0,r.jsx)("p",Object.assign({className:j},{children:N})),(0,r.jsx)("div",Object.assign({onClick:a,className:g},{children:(0,r.jsx)(i.r,{})}))]})),(0,r.jsx)("div",Object.assign({className:v,ref:f},{children:s.map((e=>(0,r.jsx)(o.a,Object.assign({},e,{starsColorVariant:d}),e.id)))}))]}))]})}},100:(e,a,s)=>{s.d(a,{a:()=>n});var r=s(2),t=s(4);const n=(e,a)=>{const[s,n]=(0,r.useState)(!1),[i,c]=(0,r.useState)(e),[o,l]=(0,r.useState)({});return(0,r.useEffect)((()=>{s&&(void 0!==o[a]?c(o[a]):function(){var e,s,r,n;e=this,s=void 0,n=function*(){try{const e=yield(0,t.getLazyState)("reviewsGroup",{reviewsGroupId:a});if(!e)return;return l((s=>Object.assign(s,{[a]:e}))),void c(e)}catch(e){return void console.error(e)}},new((r=void 0)||(r=Promise))((function(a,t){function i(e){try{o(n.next(e))}catch(e){t(e)}}function c(e){try{o(n.throw(e))}catch(e){t(e)}}function o(e){var s;e.done?a(e.value):(s=e.value,s instanceof r?s:new r((function(e){e(s)}))).then(i,c)}o((n=n.apply(e,s||[])).next())}))}())}),[s,a]),{lazyReviews:i,isReviewsListOpened:s,setIsReviewsListOpen:n}}},11:(e,a,s)=>{s.d(a,{a:()=>t});var r=s(2);const t=e=>{(0,r.useEffect)((()=>{"undefined"!=typeof window&&(window.document.body.style.overflow=e?"hidden":"visible")}),[e])}}}]);