1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4a65b0ea-5fbd-4e9b-a4e3-666dfef9661e",e._sentryDebugIdIdentifier="sentry-dbid-4a65b0ea-5fbd-4e9b-a4e3-666dfef9661e")}catch(e){}}(),(self.webpackChunkbusinesswith=self.webpackChunkbusinesswith||[]).push([[3925,329],{5933:function(e,t,r){r.d(t,{A:function(){return ve}});var a=r(96540),n=r(45781),l=r(27632),i=r(51881);const s=[{id:1,titleKey:"serviceReview.step1Title"},{id:2,titleKey:"serviceReview.step2Title"},{id:3,titleKey:"serviceReview.step3Title"},{id:4,titleKey:"serviceReview.step4Title"},{id:5,titleKey:"serviceReview.step5Title"}],o=s.length,c={1:["email","reviewerRole","isAnonymous","allowCreateUser","privacyTerms"],2:["reviewerCompanyName","reviewerCompanySize","reviewerCompanyIndustry","reviewerCompanyLocation","reviewerCompanyDescription"],3:["projectDurationMonths","projectCost","projectCurrency","projectEndDate"],4:["softFact1","softFact2","softFact3","softFact4","softFact5","softFact6"],5:["rating_QUALITY","rating_ON_TIME","rating_VALUE","rating_COMMUNICATION","rating_OVERALL"]};var m=()=>(0,n.xW)();var u=({currentStep:e})=>{const{t:t}=(0,i.Bd)(),r=Math.min(Math.max(e,1),o),n=(r-1)/(o-1)*100;return a.createElement("div",{className:"w-full pr-14"},a.createElement("div",{className:"md:hidden"},a.createElement("div",{className:"flex items-center justify-between mb-2"},a.createElement("span",{className:"text-sm font-medium text-primary-800"},t(s[r-1].titleKey)),a.createElement("span",{className:"text-xs text-primary-600"},r," / ",o)),a.createElement("div",{className:"h-2 w-full bg-primary-100 rounded-card overflow-hidden"},a.createElement("div",{className:"h-full bg-primary-600 transition-all duration-500 ease-in-out",style:{width:`${n}%`}}))),a.createElement("div",{className:"hidden md:block"},a.createElement("div",{className:"relative pb-6"},a.createElement("div",{className:"absolute left-4 right-4 top-[14px] h-[2px] bg-primary-100"},a.createElement("div",{className:"h-full bg-primary-600 transition-all duration-500 ease-in-out",style:{width:`${n}%`}})),a.createElement("div",{className:"relative z-10 flex justify-between"},s.map((e=>{const n=e.id<r,l=e.id===r;return a.createElement("div",{key:e.id,className:"relative flex flex-col items-center w-8"},a.createElement("div",{className:["flex items-center justify-center w-8 h-8 rounded-full text-xs font-semibold border-2 transition-colors duration-300",n&&"bg-primary-600 text-white border-primary-600",l&&"bg-white text-primary-700 border-primary-600",!n&&!l&&"bg-white text-primary-400 border-primary-200"].filter(Boolean).join(" ")},e.id),a.createElement("span",{className:["absolute top-10 text-xs text-center leading-tight whitespace-nowrap",l||n?"text-primary-800 font-medium":"text-primary-500"].join(" ")},t(e.titleKey)))}))))))},d=r(83913);var p=({currentStep:e,onPrev:t,onNext:r,onSubmit:l,submitting:s=!1})=>{const{t:m}=(0,i.Bd)(),u=(0,n.xW)(),p=e===o,v=1===e,f=e=>{const{errors:t}=u.formState,r=e.find((e=>null==t?void 0:t[e]));if(r&&"function"==typeof u.setFocus)try{u.setFocus(r)}catch(a){}};return a.createElement("div",{className:"flex items-center justify-between gap-3 pt-6"},a.createElement(d.z,{variant:"primary-outlined",size:"button",clickable:!(v||s),onClick:t,label:m("serviceReview.prev")}),p?a.createElement(d.z,{variant:"primary-filled",size:"button",clickable:!s,onClick:async()=>{const t=c[e]||[];await u.trigger(t)?l():f(t)},label:m("serviceReview.submit")}):a.createElement(d.z,{variant:"primary-filled",size:"button",clickable:!s,onClick:async()=>{const t=c[e]||[];await u.trigger(t)?r():f(t)},label:m("serviceReview.next")}))},v=r(95963),f=r(88243),w=r(61547),y=r(48832),E=r(87329),g=r(37066),b=r(27501),x=r(18945),N=r(21237);var h=()=>{var e,t;const{t:r}=(0,i.Bd)(),{register:l,control:s,setValue:o,formState:c}=(0,n.xW)(),{oAuth2Login:m}=(0,g.A)(),[u]=(0,b.A)(x.PAGE_LEGAL_PRIVACY),[d]=(0,b.A)(x.PAGE_LEGAL_TERMS),{errors:p}=c;return a.createElement("div",{className:"flex flex-col gap-5"},a.createElement(w.o,{as:"h4",fontVariant:"h4",className:"font-semibold"},r("serviceReview.step1Title")),a.createElement("label",{htmlFor:"service-review-email",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},r("serviceReview.emailLabel")," ",a.createElement("span",{className:"text-red-500"},"*")),a.createElement(v.p,Object.assign({id:"service-review-email",type:"email",placeholder:r("serviceReview.emailPlaceholder"),error:p.email},l("email",{required:r("serviceReview.emailRequired"),pattern:{value:N.X,message:r("serviceReview.emailInvalid")}}))),(null===(e=p.email)||void 0===e?void 0:e.message)&&a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-red-500 mt-1"},p.email.message)),a.createElement("label",{htmlFor:"service-review-role",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},r("serviceReview.reviewerRoleLabel")),a.createElement(v.p,Object.assign({id:"service-review-role",type:"text",placeholder:r("serviceReview.reviewerRolePlaceholder"),error:p.reviewerRole},l("reviewerRole")))),a.createElement("div",{className:"flex items-start gap-3"},a.createElement(f.S,Object.assign({id:"service-review-anonymous"},l("isAnonymous"))),a.createElement("label",{htmlFor:"service-review-anonymous",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:""},r("serviceReview.isAnonymousLabel")),a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-customGray-500"},r("serviceReview.isAnonymousHelp")))),a.createElement(n.xI,{control:s,name:"privacyTerms",rules:{required:r("serviceReview.privacyRequired")},render:({field:e})=>a.createElement(y.A,{id:"service-review-privacy",className:"mt-2",required:!0,t:r,privacyLink:u,termsLink:d,checked:Boolean(e.value),onClick:t=>{var r;return e.onChange("boolean"==typeof(null==t||null===(r=t.target)||void 0===r?void 0:r.checked)?t.target.checked:!e.value)},error:p.privacyTerms})}),(null===(t=p.privacyTerms)||void 0===t?void 0:t.message)&&a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-red-500 -mt-3"},p.privacyTerms.message),a.createElement("div",{className:"flex flex-col items-start gap-2 pt-2"},a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-customGray-500"},r("serviceReview.linkedInHelp")),a.createElement(E.A,{onClick:()=>{o("isLinkedIn",!0,{shouldValidate:!1}),m("service-review")},buttonText:r("serviceReview.linkedInButton"),disabled:!1,className:"text-clamp-sm leading-5 border-0 gap-1 min-w-60 justify-center"})))},C=r(52447),R=r(26940),A=r(43156),L=r(32157),I=r(37209),S=["refetch","reobserve","fetchMore","updateQuery","startPolling","stopPolling","subscribeToMore"];function D(e,t){var r,a=R.useRef(),n=R.useRef(),l=R.useRef(),i=(0,A.l)(t,a.current||{}),s=null!==(r=null==i?void 0:i.query)&&void 0!==r?r:e;n.current=t,l.current=s;var o=(0,C.Cl)((0,C.Cl)({},i),{skip:!a.current}),c=(0,L.SX)(s,o),m=c.obsQueryFields,u=c.result,d=c.client,p=c.resultData,v=c.observable,f=c.onQueryExecuted,w=v.options.initialFetchPolicy||(0,L.kk)(o.defaultOptions,d.defaultOptions),y=R.useReducer((function(e){return e+1}),0)[1],E=R.useMemo((function(){for(var e={},t=function(t){var r=m[t];e[t]=function(){return a.current||(a.current=Object.create(null),y()),r.apply(this,arguments)}},r=0,n=S;r<n.length;r++){t(n[r])}return e}),[y,m]),g=!!a.current,b=R.useMemo((function(){return(0,C.Cl)((0,C.Cl)((0,C.Cl)({},u),E),{called:g})}),[u,E,g]),x=R.useCallback((function(e){a.current=e?(0,C.Cl)((0,C.Cl)({},e),{fetchPolicy:e.fetchPolicy||w}):{fetchPolicy:w};var t=(0,A.l)(n.current,(0,C.Cl)({query:l.current},a.current)),r=function(e,t,r,a,n,l){var i=n.query||a,s=(0,L.Er)(r,i,n,!1)(t),o=t.reobserveAsConcast((0,L.t_)(t,r,n,s));return l(s),new Promise((function(a){var n;o.subscribe({next:function(e){n=e},error:function(){a((0,L.$X)(t.getCurrentResult(),e.previousData,t,r))},complete:function(){a((0,L.$X)(n,e.previousData,t,r))}})}))}(p,v,d,s,(0,C.Cl)((0,C.Cl)({},t),{skip:!1}),f).then((function(e){return Object.assign(e,E)}));return r.catch((function(){})),r}),[d,s,E,w,v,p,f]),N=R.useRef(x);(0,I.E)((function(){N.current=x}));var h=R.useCallback((function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return N.current.apply(N,e)}),[]);return[h,b]}var O=r(20329);const j=["MICRO","SMALL","MEDIUM","LARGE","ENTERPRISE"],T=(0,a.forwardRef)((({error:e,...t},r)=>{const{t:n}=(0,i.Bd)(),l=j.map((e=>({value:e,label:n(`serviceReview.companySize.${e}`)})));return a.createElement(O.l,Object.assign({ref:r,error:e,data:{default:n("serviceReview.companySizePlaceholder"),items:l}},t))}));T.defaultProps={error:!1};var M=T;const V=["RETAIL_WHOLESALE","MANUFACTURING_PRODUCTION","SERVICE_AFTER_SALES","TRANSPORT_DISTRIBUTION","HOTEL_AND_RESTAURANT","GROCERY_STORE","CONSULTANT_CONSULTING","CONSTRUCTION_CRAFTSMEN_PLANT","REAL_ESTATE","IT","HEALTH_SOCIAL_CARE","BANKING_FINANCE_INSURANCE","TRADE_UNIONS_MUNICIPAL_UNIONS","RETAIL_FRANCHISE","TELECOM","EDUCATION","ENERGY","MARKETING_ADVERTISING","HR","PUBLIC_GOVERNMENT_ADMINISTRATION","OTHER"],F=(0,a.forwardRef)((({error:e,...t},r)=>{const{t:n}=(0,i.Bd)(),l=V.map((e=>({value:e,label:n(`serviceReview.industry.${e}`)})));return a.createElement(O.l,Object.assign({ref:r,error:e,data:{default:n("serviceReview.industryPlaceholder"),items:l}},t))}));F.defaultProps={error:!1};var _=F,q=r(92374);const U=q.J1`
2 mutation SubmitServiceReview($input: SubmitServiceReviewInput!) { 3 submitServiceReview(input: $input) 4 } 5`,k=q.J1` 6 query ValidateUrl($url: String!) { 7 validateUrl(url: $url) 8 } 9`,P=q.J1` 10 mutation AnalyzeCompanyWebsite($websiteUrl: String!) { 11 analyzeCompanyWebsite(websiteUrl: $websiteUrl) { 12 description 13 industry 14 size 15 location 16 } 17 } 18`;var z=()=>{const{t:e}=(0,i.Bd)(),{register:t,formState:r,watch:s,setValue:o}=(0,n.xW)(),{errors:c}=r,{0:m,1:u}=(0,a.useState)(null),[d,{loading:p}]=D(k,{fetchPolicy:"no-cache"}),[f,{loading:y}]=(0,l.n)(P),E=s("reviewerCompanyDomain")||"",g=p||y,b=g||0===E.trim().length,x=e=>null!=e&&e.message?a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-red-500 mt-1"},e.message):null;return a.createElement("div",{className:"flex flex-col gap-5"},a.createElement(w.o,{as:"h4",fontVariant:"h4",className:"font-semibold"},e("serviceReview.step2Title")),a.createElement("label",{htmlFor:"service-review-company-name",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.reviewerCompanyNameLabel")," ",a.createElement("span",{className:"text-red-500"},"*")),a.createElement(v.p,Object.assign({id:"service-review-company-name",type:"text",placeholder:e("serviceReview.reviewerCompanyNamePlaceholder"),error:c.reviewerCompanyName},t("reviewerCompanyName",{required:e("serviceReview.reviewerCompanyNameRequired")}))),x(c.reviewerCompanyName)),a.createElement("label",{htmlFor:"service-review-company-size",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.reviewerCompanySizeLabel")," ",a.createElement("span",{className:"text-red-500"},"*")),a.createElement(M,Object.assign({id:"service-review-company-size",error:c.reviewerCompanySize},t("reviewerCompanySize",{required:e("serviceReview.reviewerCompanySizeRequired")}))),x(c.reviewerCompanySize)),a.createElement("label",{htmlFor:"service-review-company-industry",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.reviewerCompanyIndustryLabel")),a.createElement(_,Object.assign({id:"service-review-company-industry",error:c.reviewerCompanyIndustry},t("reviewerCompanyIndustry")))),a.createElement("label",{htmlFor:"service-review-company-location",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.reviewerCompanyLocationLabel")),a.createElement(v.p,Object.assign({id:"service-review-company-location",type:"text",placeholder:e("serviceReview.reviewerCompanyLocationPlaceholder"),error:c.reviewerCompanyLocation},t("reviewerCompanyLocation")))),a.createElement("div",{className:"flex flex-col gap-1"},a.createElement("label",{htmlFor:"service-review-company-domain",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.reviewerCompanyDomainLabel")),a.createElement("div",{className:"flex gap-2"},a.createElement("div",{className:"flex-1"},a.createElement(v.p,Object.assign({id:"service-review-company-domain",type:"url",inputMode:"url",autoComplete:"url",placeholder:e("serviceReview.reviewerCompanyDomainPlaceholder"),error:m?{message:m}:void 0},t("reviewerCompanyDomain",{onChange:()=>{m&&u(null)}})))),a.createElement("button",{type:"button",onClick:async()=>{u(null);let t=E.trim();if(t){/^https?:\/\//i.test(t)||(t=`https://${t}`,o("reviewerCompanyDomain",t,{shouldDirty:!0}));try{var r;const a=await d({variables:{url:t}});if(null==a||null===(r=a.data)||void 0===r||!r.validateUrl)return void u(e("serviceReview.reviewerCompanyDomainUnreachable"));const{data:n}=await f({variables:{websiteUrl:t}}),l=null==n?void 0:n.analyzeCompanyWebsite;if(!l||!l.description&&!l.industry&&!l.size&&!l.location)return void u(e("serviceReview.reviewerCompanyDomainEmpty"));const i={shouldDirty:!0,shouldValidate:!0};l.description&&o("reviewerCompanyDescription",l.description,i),l.location&&o("reviewerCompanyLocation",l.location,i),l.industry&&o("reviewerCompanyIndustry",l.industry,i),l.size&&o("reviewerCompanySize",l.size,i)}catch{u(e("serviceReview.reviewerCompanyDomainEmpty"))}}},disabled:b,className:"h-12 px-5 rounded-lg text-sm font-medium bg-primary-600 text-white hover:bg-primary-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap"},e(g?"serviceReview.reviewerCompanyDomainFetching":"serviceReview.reviewerCompanyDomainFetch")))),a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"text-customGray-500 mt-1"},e("serviceReview.reviewerCompanyDomainHelper")),m&&a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-red-500 mt-1"},m)),a.createElement("div",{className:"flex items-center gap-3","aria-hidden":"true"},a.createElement("div",{className:"flex-1 h-px bg-customGray-200"}),a.createElement(w.o,{as:"span",fontVariant:"xs",className:"uppercase tracking-wide text-customGray-500"},e("serviceReview.reviewerCompanyDomainOr")),a.createElement("div",{className:"flex-1 h-px bg-customGray-200"})),a.createElement("label",{htmlFor:"service-review-company-description",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.reviewerCompanyDescriptionLabel")),a.createElement(v.p,Object.assign({id:"service-review-company-description",multiline:!0,placeholder:e("serviceReview.reviewerCompanyDescriptionPlaceholder"),error:c.reviewerCompanyDescription},t("reviewerCompanyDescription",{maxLength:{value:500,message:e("serviceReview.reviewerCompanyDescriptionMaxLength")}})))))};const G=["SEK","NOK","DKK","EUR","USD","GBP"],B={sv_SE:"SEK",nb_NO:"NOK",da_DK:"DKK",fi_FI:"EUR",de_DE:"EUR"},$=(0,a.forwardRef)((({error:e,...t},r)=>{const{t:n}=(0,i.Bd)(),l=G.map((e=>({value:e,label:e})));return a.createElement(O.l,Object.assign({ref:r,error:e,data:{default:n("serviceReview.step3.currencyPlaceholder"),items:l}},t))}));$.defaultProps={error:!1};var K=$,H=r(5556),W=r.n(H);const Y=(0,a.forwardRef)((({error:e,borderLabel:t,labelClass:r,integer:n,min:l,max:i,step:s,placeholder:o,className:c,name:m,...u},d)=>a.createElement(v.p,Object.assign({ref:d,name:m,type:"number",inputMode:n?"numeric":"decimal",pattern:n?"[0-9]*":void 0,min:l,max:i,step:null!=s?s:n?1:"any",placeholder:o,borderLabel:t,labelClass:r,error:e,className:c,title:m},u))));Y.propTypes={error:W().shape({message:W().string}
18),borderLabel:W().string,labelClass:W().string,integer:W().bool,min:W().number,max:W().number,step:W().oneOfType([W().number,W().string]),placeholder:W().string,className:W().string,name:W().string.isRequired},Y.defaultProps={error:void 0,borderLabel:void 0,labelClass:void 0,integer:!1,min:void 0,max:void 0,step:void 0,placeholder:void 0,className:void 0};const Q=({required:e,requiredMessage:t,min:r,minMessage:a,max:n,maxMessage:l,integer:i,integerMessage:s}={})=>{const o={valueAsNumber:!0};return e&&(o.required=t||!0),"number"==typeof r&&(o.min={value:r,message:a}),"number"==typeof n&&(o.max={value:n,message:l}),o.validate=r=>{if(""===r||null==r)return!e||(t||!1);const a="number"==typeof r?r:Number(r);return Number.isNaN(a)?s||!1:!(i&&!Number.isInteger(a))||(s||!1)},o};var Z=Y;const J=(0,a.forwardRef)((({error:e,borderLabel:t,labelClass:r,min:n,max:l,placeholder:i,className:s,name:o,...c},m)=>a.createElement(v.p,Object.assign({ref:m,name:o,type:"date",min:n,max:l,placeholder:i,borderLabel:t,labelClass:r,error:e,className:s,title:o},c))));J.propTypes={error:W().shape({message:W().string}),borderLabel:W().string,labelClass:W().string,min:W().string,max:W().string,placeholder:W().string,className:W().string,name:W().string.isRequired},J.defaultProps={error:void 0,borderLabel:void 0,labelClass:void 0,min:void 0,max:void 0,placeholder:void 0,className:void 0};const X=()=>{const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`};var ee=J;var te=()=>{const{t:e,i18n:t}=(0,i.Bd)(),{register:r,setValue:n,getValues:l,formState:{errors:s}}=m(),o=null==t?void 0:t.language;(0,a.useEffect)((()=>
18{l("projectCurrency")||n("projectCurrency",(e=>B[e]||"EUR")(o),{shouldDirty:!1,shouldValidate:!1})}),[o,l,n]);const c=e=>null!=e&&e.message?a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-red-500 mt-1"},e.message):null,u=a.createElement("span",{className:"text-red-500"},"*");return a.createElement("div",{className:"flex flex-col gap-5"},a.createElement(w.o,{as:"h3",fontVariant:"h5",className:"font-semibold"},e("serviceReview.step3.title")),a.createElement(w.o,{fontVariant:"sm",className:"text-customGray-500"},e("serviceReview.step3.description")),a.createElement("label",{htmlFor:"projectDurationMonths",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.step3.durationLabel")," ",u),a.createElement(Z,Object.assign({id:"projectDurationMonths",placeholder:e("serviceReview.step3.durationPlaceholder"),integer:!0,min:0},r("projectDurationMonths",Q({required:!0,requiredMessage:e("serviceReview.step3.requiredError"),integer:!0,integerMessage:e("serviceReview.step3.integerError"),min:0,minMessage:e("serviceReview.step3.minZeroError")})),{error:s.projectDurationMonths})),c(s.projectDurationMonths)),a.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},a.createElement("label",{htmlFor:"projectCost",className:"md:col-span-2 flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.step3.costLabel")," ",u),a.createElement(Z,Object.assign({id:"projectCost",placeholder:e("serviceReview.step3.costPlaceholder"),min:0,step:"0.01"},r("projectCost",Q({required:!0,requiredMessage:e("serviceReview.step3.requiredError"),min:0,minMessage:e("serviceReview.step3.minZeroError")})),{error:s.projectCost})),c(s.projectCost)),a.createElement("label",{htmlFor:"projectCurrency",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.step3.currencyLabel")," ",u),a.createElement(K,Object.assign({id:"projectCurrency"},r("projectCurrency",{required:e("serviceReview.step3.requiredError")}),{error:s.projectCurrency})),c(s.projectCurrency))),a.createElement("label",{htmlFor:"projectEndDate",className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e("serviceReview.step3.endDateLabel")," ",u),a.createElement(ee,Object.assign({id:"projectEndDate",max:X()},r("projectEndDate",(({required:e,requiredMessage:t,noFuture:r,futureMessage:a}={})=>{const n={};return e&&(n.required=t||!0),n.validate=n=>{if(!n)return!e||t||!1;const l=new Date(n);return Number.isNaN(l.getTime())?a||!1:!(r&&l>new Date)||a||!1},n})({required:!0,requiredMessage:e("serviceReview.step3.requiredError"),noFuture:!0,futureMessage:e("serviceReview.step3.futureDateError")})),{error:s.projectEndDate})),c(s.projectEndDate)))},re=r(27251);const ae=(0,a.forwardRef)((({error:e,title:t,borderLabel:r,labelClass:n,className:l,...i},s)=>r?a.createElement("div",{className:"relative my-3 w-full flex"},a.createElement(w.o,{htmlFor:null!=t?t:"",className:(0,re.a0)(n,"absolute -top-2 left-2 bg-white px-1 rounded-md"),as:"label",fontVariant:"xs"},r),a.createElement("textarea",Object.assign({ref:s,className:(0,re.a0)(`w-full resize-none text-clamp-md h-28 border ${e?"border-red-500":"border-customGray-300"} rounded-lg p-3 placeholder:text-customGray-400 placeholder:text-clamp-md placeholder:font-light focus:outline-none`,l),id:null!=t?t:""},i))):a.createElement("textarea",Object.assign({ref:s,className:(0,re.a0)(`w-full resize-none text-clamp-md h-28 border ${e?"border-red-500":"border-customGray-300"} rounded-lg p-3 placeholder:text-customGray-400 placeholder:text-clamp-md placeholder:font-light focus:outline-none`,l),id:null!=t?t:""},i)))),ne=[{name:"softFact1",field:"PROJECT_SCOPE",required:!0},{name:"softFact2",field:"WHY_CHOSEN",required:!1},{name:"softFact3",field:"COLLABORATION_SATISFACTION",required:!1},{name:"softFact4",field:"COMMUNICATION_QUALITY",required:!1},{name:"softFact5",field:"VALUE_FOR_MONEY",required:!0},{name:"softFact6",field:"WOULD_DO_DIFFERENTLY",required:!1}];var le=()=>{const{t:e}=(0,i.Bd)(),{register:t,watch:r,formState:{errors:n}}=m();return a.createElement("div",{className:"flex flex-col gap-5"},a.createElement(w.o,{as:"h3",fontVariant:"h5",className:"font-semibold"},e("serviceReview.step4.title")),a.createElement(w.o,{fontVariant:"sm",className:"text-customGray-500"},e("serviceReview.step4.description",{min:20})),ne.map((({name:l,field:i,required:s})=>{var o;const c=s&&r(l)||"",m=Math.max(0,20-c.length),u=s?{required:e("serviceReview.step4.requiredError"),minLength:{value:20,message:e("serviceReview.step4.minLengthError",{min:20})}}:{};return a.createElement("label",{key:l,htmlFor:l,className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},e(`serviceReview.step4.${i}.label`),s&&a.createElement(a.Fragment,null," ",a.createElement("span",{className:"text-red-500"},"*"))),a.createElement(ae,Object.assign({id:l,placeholder:e(`serviceReview.step4.${i}.placeholder`)},t(l,u),{error:n[l]})),s&&a.createElement(w.o,{as:"span",fontVariant:"xs",className:"!text-[11px] !leading-4 "+(n[l]?"text-red-500":"text-customGray-500")},(null===(o=n[l])||void 0===o?void 0:o.message)||(m>0?e("serviceReview.step4.charsRemaining",{count:m}):e("serviceReview.step4.minReached"))))})))},ie=r(96347);const se=({name:e,label:t,required:r})=>{const{t:l}=(0,i.Bd)(),{control:s}=(0,n.xW)(),[o,c]=a.useState(0);return a.createElement(n.xI,{control:s,name:e,rules:{validate:e=>{if(null==e||""===e)return!r||l("serviceReview.step5.requiredError");const t=Number(e);return!(!Number.isInteger(t)||t<1||t>5)||l("serviceReview.step5.requiredError")}},render:({field:e,fieldState:{error:n}})=>{const i=Number(e.value)||0,s=o||i;return a.createElement("div",{className:"flex flex-col gap-1"},a.createElement(w.o,{as:"span",fontVariant:"sm",textAlign:"left",className:"font-medium"},t,r&&a.createElement(a.Fragment,null," ",a.createElement("span",{className:"text-red-500","aria-hidden":"true"},"*"))),a.createElement("div",{className:"flex items-center gap-2",role:"radiogroup","aria-label":t},a.createElement("div",{className:"flex items-center gap-1",onMouseLeave:()=>c(0)},[1,2,3,4,5].map((t=>a.createElement("button",{key:t,type:"button",role:"radio","aria-checked":i===t,"aria-label":l("serviceReview.step5.starAriaLabel",{count:t}),onClick:()=>e.onChange(t),onMouseEnter:()=>c(t),onFocus:()=>c(t),onBlur:()=>c(0),className:"p-1 rounded-card transition-colors hover:bg-primary-50 focus:outline-none focus:ring-2 focus:ring-primary-300"},a.createElement(ie.F,{width:28,height:28,value:s>=t?1:0}))))),i>0&&a.createElement(w.o,{as:"span",fontVariant:"sm",className:"text-customGray-500"},l("serviceReview.step5.valueLabel",{value:i}))),n?a.createElement(w.o,{as:"span",fontVariant:"xs",textAlign:"left",className:"!text-red-500 mt-1"},n.message):null)}})};se.defaultProps={required:!1};var oe=se;const ce=["QUALITY","ON_TIME","VALUE","COMMUNICATION","OVERALL"],me=e=>`rating_${e}`;var ue=()=>{const{t:e}=(0,i.Bd)();return a.createElement("div",{className:"flex flex-col gap-5"},a.createElement(w.o,{as:"h3",fontVariant:"h5",className:"font-semibold text-center"},e("serviceReview.step5.title")),a.createElement(w.o,{fontVariant:"sm",className:"text-customGray-500 text-center"},e("serviceReview.step5.description")),a.createElement("div",{className:"w-full max-w-sm mx-auto flex flex-col gap-5"},ce.map((t=>a.createElement(oe,{key:t,name:me(t),label:e(`serviceReview.step5.${t}.label`),required:"OVERALL"===t})))))},de=r(52628),pe=r(14624);var ve=({providerId:e,providerName:t="",category:r="",onClose:s,onSuccess:c,inModal:m=!1})=>{const{t:v}=(0,i.Bd)(),{0:f,1:y}=(0,a.useState)(1),{0:E,1:g}=(0,a.useState)(null),{0:b,1:x}=(0,a.useState)(null),{savePageView:N}=(0,de.A)(),[C,{loading:R}]=(0,l.n)(U),A=(0,n.mN)({mode:"onBlur",defaultValues:{email:"",reviewerRole:"",isAnonymous:!1,allowCreateUser:!1,isLinkedIn:!1,privacyTerms:!1,reviewerCompanyName:"",reviewerCompanySize:"",reviewerCompanyIndustry:"",reviewerCompanyLocation:"",reviewerCompanyDescription:"",reviewerCompanyDomain:"",projectDurationMonths:"",projectCost:"",projectCurrency:"",projectEndDate:"",softFact1:"",softFact2:"",softFact3:"",softFact4:"",softFact5:"",softFact6:"",rating_QUALITY:null,rating_ON_TIME:null,rating_VALUE:null,rating_COMMUNICATION:null,rating_OVERALL:null}});(0,a.useEffect)((()=>{try{N({type:"WRITE_SERVICE_REVIEW",ids:e?[e]:[]})}catch(t){}}),[]);const L=()=>
18{if("undefined"==typeof window||!window.sessionStorage)return null;try{return window.sessionStorage.getItem("sessionId")||null}catch(e){return null}},I=e=>{if(""===e||null==e)return null;const t=Number(e);return Number.isFinite(t)?t:null},S=e=>{const t=I(e);return null==t?null:Number.isInteger(t)?t:Math.trunc(t)},D=e=>{if(!e)return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()},O=t=>{var a;const{url:n,referrer:l}="undefined"==typeof window?{url:null,referrer:null}:{url:(null===(i=window.location)||void 0===i?void 0:i.href)||null,referrer:"undefined"!=typeof document&&document.referrer||null};var i;const s=ne.map((({name:e,field:r})=>({field:r,text:"string"==typeof t[e]?t[e].trim():""}))).filter((e=>e.text.length>0)),o=ce.map((e=>{const r=t[`rating_${e}`],a=parseInt(r,10);return Number.isFinite(a)?{key:e,value:a}:null})).filter(Boolean);return{providerId:e,email:t.email?t.email.trim():"",isAnonymous:Boolean(t.isAnonymous),allowCreateUser:Boolean(t.allowCreateUser),category:r||null,sessionId:L(),url:n,referrer:l,reviewerRole:t.reviewerRole||null,reviewerCompanyName:t.reviewerCompanyName||null,reviewerCompanySize:t.reviewerCompanySize||null,reviewerCompanyIndustry:t.reviewerCompanyIndustry||null,reviewerCompanyLocation:t.reviewerCompanyLocation||null,reviewerCompanyDescription:t.reviewerCompanyDescription||null,reviewerCompanyDomain:t.reviewerCompanyDomain?t.reviewerCompanyDomain.trim():null,projectDurationMonths:S(t.projectDurationMonths),projectCost:""===t.projectCost||null==t.projectCost?null:String(null!==(a=I(t.projectCost))&&void 0!==a?a:t.projectCost),projectCurrency:t.projectCurrency||null,projectEndedAt:D(t.projectEndDate),texts:s,ratings:o}},j=A.handleSubmit((async e=>{if(f===o){x(null);try{const t=O(e),{data:r}=await C({variables:{input:t}}),a=(null==r?void 0:r.submitServiceReview)||null;g(a),"function"==typeof c&&c(a)}catch(t){x(t)}}}));return E?a.createElement("div",{className:m?"flex w-full h-full flex-col flex-1 overflow-y-auto overscroll-contain":void 0},a.createElement("div",{className:"flex flex-1 items-center justify-center px-6 md:px-8 pb-6 md:pb-8 max-w-3xl w-full mx-auto "+(m?"pt-12 md:pt-16":"pt-6 md:pt-8")},a.createElement("div",{className:"flex flex-col items-center text-center gap-5 py-12"},a.createElement(pe.r,{size:72}),a.createElement(w.o,{as:"h3",fontVariant:"h4",className:"font-semibold"},v("serviceReview.successHeading")),a.createElement(w.o,{fontVariant:"md",className:"text-customGray-700"},v("serviceReview.successBody")),"function"==typeof s&&a.createElement(d.z,{variant:"primary-filled",size:"button",onClick:s,className:"mt-2",label:v("serviceReview.successClose")})))):a.createElement(n.Op,A,a.createElement("form",{onSubmit:e=>{e&&"function"==typeof e.preventDefault&&e.preventDefault(),f===o&&j()},noValidate:!0,className:m?"flex w-full h-full flex-col flex-1 overflow-y-auto overscroll-contain":void 0},a.createElement("div",{className:"px-6 md:px-8 pb-6 md:pb-8 max-w-3xl w-full mx-auto "+(m?"pt-12 md:pt-16":"pt-6 md:pt-8")},a.createElement(u,{currentStep:f}),a.createElement("div",{className:"mt-8"},(()=>{switch(f){case 1:return a.createElement(h,null);case 2:return a.createElement(z,null);case 3:return a.createElement(te,null);case 4:return a.createElement(le,null);case 5:return a.createElement(ue,null);default:return null}})()),b&&a.createElement("div",{role:"alert",className:"mt-4 p-4 rounded-card border border-red-200 bg-red-50 flex flex-col gap-2"},a.createElement(w.o,{as:"span",fontVariant:"sm",className:"font-medium text-red-700"},v("serviceReview.errorHeading")),a.createElement(w.o,{fontVariant:"sm",className:"text-red-700"},v("serviceReview.errorBody")),a.createElement("div",null,a.createElement(d.z,{variant:"primary-filled",size:"button",clickable:!R,onClick:()=>{x(null),j()},className:"mt-1",label:v("serviceReview.retry")}))),a.createElement(p,{currentStep:f,onPrev:()=>{y((e=>Math.max(1,e-1)))},onNext:()=>{y((e=>Math.min(o,e+1)))},onSubmit:j,submitting:R}),"function"==typeof s&&a.createElement("button",{type:"button",onClick:s,className:"hidden","aria-hidden":"true"}))))}},20329:function(e,t,r){r.d(t,{l:function(){return i}});var a=r(96540),n=r(61547),l=r(27251);const i=(0,a.forwardRef)((({data:e,disabled:t=!1,error:r=!1,borderLabel:i,labelClass:s,...o},c)=>{var m,u;return a.createElement("div",{className:`w-full flex items-center h-14 border ${r?"border-red-500":"border-customGray-300"} rounded-lg px-5`},i&&a.createElement(n.o,{htmlFor:null!==(m=null==o?void 0:o.id)&&void 0!==m?m:"",className:(0,l.a0)(s,"absolute -top-2 left-2 bg-white px-1 rounded-md z-10"),as:"label",fontVariant:"xs"},i),a.createElement("select",Object.assign({ref:c,className:`w-full h-full text-clamp-md ${r&&"!border-red-400"} ${t?"opacity-50":"global-hover"} focus:outline-none cursor-pointer`},o),a.createElement("option",{value:"",disabled:!0},e.default),null==e||null===(u=e.items)||void 0===u?void 0:u.map((e=>a.createElement("option",{key:e.value,value:e.value},e.label)))))}))},14624:function(e,t,r){r.d(t,{r:function(){return n}});var a=r(96540);const n=({size:e=80})=>a.createElement("svg",{width:e,height:e,viewBox:"0 0 80 80",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.87805 40C4.87805 20.6026 20.6026 4.87805 40 4.87805C59.3974 4.87805 75.122 20.6026 75.122 40C75.122 59.3974 59.3974 75.122 40 7
185.122C20.6026 75.122 4.87805 59.3974 4.87805 40ZM40 0C17.9086 0 0 17.9086 0 40C0 62.0914 17.9086 80 40 80C62.0914 80 80 62.0914 80 40C80 17.9086 62.0914 0 40 0ZM58.7974 33.4324C59.7502 32.4801 59.7505 30.9358 58.7982 29.9831C57.846 29.0303 56.3017 29.03 55.349 29.9822L37.9549 47.3679C37.193 48.1295 35.958 48.1295 35.1961 47.3679L27.5779 39.7534C26.6252 38.8011 25.0809 38.8015 24.1286 39.7541C23.1763 40.7069 23.1767 42.2512 24.1295 43.2035L31.7476 50.8181C34.4143 53.4835 38.7367 53.4835 41.4034 50.8181L58.7974 33.4324Z",fill:"#297FFF"}))},96347:function(e,t,r){r.d(t,{F:function(){return l}});var a=r(96540),n=r(52411);const l=({value:e,width:t,height:r,fillColor:l,emptyColor:i})=>{let s=Math.random(1e3);const o=()=>100*e+"%";return a.createElement("svg",{width:null!=t?t:"26",height:null!=r?r:"25",viewBox:"0 0 26 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.createElement("defs",null,a.createElement("linearGradient",{id:`grad-${s}`},a.createElement("stop",{offset:o(),stopColor:null!=l?l:n.A.secondary[400]}),a.createElement("stop",{offset:o(),stopColor:null!=i?i:"#D4D8DC"}))),a.createElement("path",{d:"M12.7898 0.65625L16.928 8.30334L25.5779 9.82332L19.4866 16.071L20.6925 24.6562L12.7898 20.872L4.88538 24.6562L6.09124 16.071L0 9.82332L8.64991 8.30334L12.7898 0.65625Z",fill:`url(#grad-${s})`}))}}}]); 19//# sourceMappingURL=e64957811b4acd547386eef14590738891ef2104-cf8a19b67311ccb3800a.js.map
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.