"use strict";(()=>{var vs=60*60,Ds=60*60*12,te="STORIES";var St="FEATURED_STORY",$="LEAD_FORM",H="RECOMMENDATION",Ae="ATOM_REFERRALS",Se="ATOM_REFERRALS_LANDING",K="REFERRAL_LEAD_FORM",z="REVIEW_FORM",we="TRUST_BADGE",Pe="SOCIAL_PROOF",xe="GOALS",Rt="NICEJOB_REVIEW_FORM",le="NPS_FEEDBACK_ROUTING",ie="NPS_SURVEY",Re="REFERRAL_SHARE",It="nj-review",re={[te]:{classes:["nj-stories","nj-story","nicejob-stories"],loading:!0},[St]:{classes:["nj-featured-story"],loading:!0},[$]:{classes:["nj-lead","h-lead"],method:"SIBLING"},[H]:{classes:["nj-recommendation","nj-recommend"],method:"SIBLING"},[Ae]:{classes:["nj-atom-referrals","nj-atom-referral"],method:"SIBLING"},[Se]:{classes:["nj-atom-referrals-landing","nj-atom-referral-landing"],method:"SIBLING"},[z]:{classes:[It,"n-review"],method:"SIBLING"},[we]:{classes:["nj-badge","nicejob-badge"],loading:!0},[Pe]:{classes:["nj-social-proof","nj-engage"]},[xe]:{classes:["nj-goals"],loading:!0},[K]:{classes:["nj-referral-lead-form"],method:"SIBLING"},[le]:{classes:["nj-nps-feedback-routing"],method:"SIBLING"},[ie]:{classes:["nj-nps-survey"],method:"SIBLING"},[Re]:{classes:["nj-referral-share"],method:"SIBLING"}},Bt=[];for(let s in re)Bt=[...Bt,...re[s].classes];var Jt="data-nj-tracking-metadata",Vt="nj-click",Tt="/sdk/init",qt="/sdk/widgets",$t="/sdk/ev",Yt="/sdk/e",Xt="/sdk/widgets/more_stories",zt="/sdk/widgets/create_recommendation",Qt="/sdk/widgets/create_atom_referral",Zt="/sdk/widgets/update_atom_referral",eo="/sdk/widgets/create_referral_from_person";var to="/sdk/widgets/create_review",oo="/sdk/widgets/create_lead",no="/sdk/widgets/create_referral_lead",so="/sdk/widgets/submit_feedback",ro="/sdk/widgets/save_nps_score",io="/sdk/widgets/submit_nps_survey";var ao="data-force-nj-lead",Lt="data-network";var co="nj-redirect",Je="__public_key__",lo="lrlf";var vt="data-sid",Dt="data-pid",bt="data-csrf",ke="__global_metadata__";var cn=/\?(.+)/;function _o(s){let i={},e=cn.exec(s);if(e){let t=e[1].split("&");for(let o of t){let r=o.split("="),c=r[0].toLowerCase(),n=r[1]||null;(n==="false"||n==="null"||n==="0")&&(n=null),i[c]=n}}return i}var ln=["location","locations"],dn="data-filter-location",_n=["tags","tag"],mn="data-filter-tag";function C(s){return document.getElementById(s)}function _(s,i){return i?i.getElementsByClassName(s):document.getElementsByClassName(s)}function de(s,i){let e=s.toUpperCase();return i?i.getElementsByTagName(e):document.getElementsByTagName(e)}function I(s,i,e){if(!s.parentNode)return null;let t=s;if(i&&i.indexOf("#")===0&&t.id&&t.id===i.slice(1))return t;if(i&&t.classList&&t.classList.contains(i)||e&&t.tagName===e)return t;let o=t.parentNode;return o&&(o.classList||o.tagName)?I(o,i,e):null}function Y({tag:s,parent:i,classes:e,content:t,options:o,style:r}){let c=document.createElement(s.toUpperCase());if(e){let n=e.constructor!==Array?e.split(" "):e;for(let a=0;a<n.length;a++)n[a]&&c.classList.add(n[a])}if(t&&typeof t=="string"&&(c.textContent=t),o)for(let n in o)if(typeof o[n]=="object"){c[n]||(c[n]={});for(let a in o[n])c[n][a]=o[n][a]}else c[n]=o[n];if(r)for(let n in r)c.style[n]=r[n]||"";return i&&i.appendChild(c),c}function F(s,i,e,t){let o=s.constructor!==Array?[s]:s;for(let r=0;r<o.length;r++)if(!!o[r]){if(o[r].addEventListener)o[r].addEventListener(i,e,t);else if(o[r].attachEvent){let c="e"+i+e,n=i+e;o[r][c]=e,o[r][n]=()=>{o[r][c](window.event)},o[r].attachEvent("on"+i,o[r][n])}}}function E(s,i,e,t){let o=_(s,t);for(let r=0;r<o.length;r++)F(o[r],i,e)}function pn({headers:s,method:i,body:e,url:t,with_credentials:o=!1}){return new Promise((r,c)=>{let n=window.XMLHttpRequest?new XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");if(n.open(i,t,!0),n.setRequestHeader("Content-Type","application/json;charset=UTF-8"),s)for(let a in s)n.setRequestHeader(a,s[a]);o&&(n.withCredentials=!0),n.onreadystatechange=function(){if(this.readyState===4&&this.status&&this.status<=299){let a=this.responseText,l;try{l=JSON.parse(a)}catch{}r(l)}else this.readyState===4&&c({message:this.responseText||"Request failed",statusCode:this.status||500})},n.send(JSON.stringify(e))})}function N({body:s,headers:i,url:e,with_credentials:t=!1}){return new Promise((o,r)=>{pn({method:"POST",headers:i,body:s,url:e,with_credentials:t}).then(o).catch(c=>{r(c)})})}function Ie(s,i=!1){let e=Te(),t={};for(let o in e)e[o]&&ln.includes(o)?t[dn]=decodeURIComponent(e[o]):e[o]&&_n.includes(o)&&(t[mn]=decodeURIComponent(e[o]));for(let o in s.attributes){let r=isNaN(o)?o:s.attributes[o];typeof r!="string"&&r.name&&r.name.indexOf("data-")===0&&!t[r.name]&&(t[r.name]=r.value||"true")}if(i){for(let o in t)if(o.indexOf("data-")===0){let r=o.replace("data-","");t[r]=t[o],delete t[o]}}return t}function Te(s=document.URL){return _o(s)}function Le(){return!!Te(document.URL)["nicejob-debug"]}function mo(){(typeof JSON=="undefined"||!JSON)&&(JSON={}),JSON.stringify=JSON.stringify||JSON.toJSONString||JSON.serialize,JSON.parse=JSON.parse||JSON.parseJSON||JSON.deserialize}function po({el:s,from:i,to:e,horizontal:t=!1,other_axis_position:o=0,dt:r=200}){let n=e-i,a={start:Date.now(),y0:i,dy:n},l=setInterval(()=>{let d=Date.now()-a.start,m=i+Math.round(n*un(d/r));t?s.scrollTo(m,o):s.scrollTo(o,m),(m===e||n>0&&m>=e||n<0&&m<=e||d>r)&&(clearInterval(l),t?s.scrollTo(e,o):s.scrollTo(o,e))},20)}function un(s){return s<=0?0:s>=1?1:s<.5?2*s*s:-1+2*(2-s)*s}var ve=document.URL.indexOf("http://localhost")!==0,uo="javascript:void(0)",ae=/^(([^<>()\[\]\\.,;:\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,}))$/,Eo=/^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/,oe="data-nj-element-handled",y="data-related-modal",De="data-lead-form-disable",be="data-lead-form-custom-href",ce="data-install-time",Ee="data-loaded-time",fo="data-metadata",Ve="nj--widget-loading",v="nj-background_loading_gif",_e="nj--auto-open",go=2;var He=/^(http|https):\/\/([^\/]+?)\/js\/(sdk|sdk\.min|sdk\.min\.\d+)?\.js\?(id=|.+?&id=)[A-Za-z0-9-_]+?($|&)/,Nt=/^(http):\/\/(localhost:[0-9]+)\/sdk\.min\.js\?(id=|.*&id=)([A-Za-z0-9-_]+?)($|&)/,En=/(^|\.)(nicejob\.(co|com)|reviewly\.io)$/;function qe(){let s=de("SCRIPT");for(let i of s){let{src:e=""}=i,t=ve?He.exec(e):Nt.exec(e)||He.exec(e);if(t){let o=t[2];if(ve&&!En.test(o)){console.warn("src pattern rejected:",e,t);continue}return i}}return null}var fn=Le();function L(){let s=qe();if(!s)throw new Error("getSDKInfo: script not found");let{src:i}=s,e=ve?He.exec(i):Nt.exec(i)||He.exec(i),t=e&&e[2]||"",o=Te(i),r=o.id,c=typeof window.NICEJOB_REDIRECT_URL=="string"&&window.NICEJOB_REDIRECT_URL?window.NICEJOB_REDIRECT_URL:o.redirect&&decodeURIComponent(o.redirect)||null,n=o.domain?decodeURIComponent(o.domain).replace("8093","8095"):ve?"https://api.nicejob.co":"http://localhost:8095",a=document.referrer||decodeURIComponent(o.ref||""),l=c?`${n}${Tt}?${co}=1`:`${n}${Tt}`,d=`${n}${qt}`,m=`${n}${$t}`,f=`${n}${Yt}`,p=`${n}${Xt}`,g=`${n}${zt}`,u=`${n}${to}`,h=`${n}${oo}`,A=`${n}${no}`,S=`${n}${eo}`,b=`${n}${Qt}`,M=`${n}${Zt}`,V=`${n}${so}`,q=`${n}${ro}`,X=`${n}${io}`;return{company_id:r,redirect_url:c,domain:n,referrer:a,reviewly:t.includes("reviewly.io"),SDK_INIT_URL:l,SDK_LOAD_URL:d,SDK_EVENT_URL:m,SDK_DEPRECATED_EVENT_URL:f,SDK_LOAD_MORE_URL:p,SDK_CREATE_RECOMMENDATION_URL:g,SDK_CREATE_REFERRAL_FROM_PERSON_URL:S,SDK_CREATE_REVIEW_URL:u,SDK_CREATE_LEAD_URL:h,SDK_CREATE_REFERRAL_LEAD_URL:A,SDK_CREATE_ATOM_REFERRAL_PATH_URL:b,SDK_UPDATE_ATOM_REFERRAL_PATH_URL:M,SDK_FEEDBACK_ROUTING_SUBMIT_URL:V,SDK_FEEDBACK_ROUTING_SAVE_SCORE_URL:q,SDK_NPS_CAMPAIGN_SURVEY_SUBMIT_URL:X}}function ho({session_id:s,pageview_id:i,csrf_token:e}){let t=qe();if(!t)throw new Error("setSDKSessionData: script not found");t.setAttribute(vt,s),t.setAttribute(Dt,i),t.setAttribute(bt,e),fn&&console.log("NiceJob debug: SDK session ready.")}function x(){let s=qe();if(!s)throw new Error("getSDKSessionData: script not found");let i=s.getAttribute(vt)||"",e=s.getAttribute(Dt)||"",t=s.getAttribute(bt)||"";return{session_id:i,pageview_id:e,csrf_token:t}}function me(s,i){let e=(s&65535)+(i&65535);return(s>>16)+(i>>16)+(e>>16)<<16|e&65535}function gn(s,i){return s<<i|s>>>32-i}function Ye(s,i,e,t,o,r){return me(gn(me(me(i,s),me(t,r)),o),e)}function U(s,i,e,t,o,r,c){return Ye(i&e|~i&t,s,i,o,r,c)}function G(s,i,e,t,o,r,c){return Ye(i&t|e&~t,s,i,o,r,c)}function W(s,i,e,t,o,r,c){return Ye(i^e^t,s,i,o,r,c)}function B(s,i,e,t,o,r,c){return Ye(e^(i|~t),s,i,o,r,c)}function $e(s,i){s[i>>5]|=128<<i%32,s[(i+64>>>9<<4)+14]=i;let e,t,o,r,c,n=1732584193,a=-271733879,l=-1732584194,d=271733878;for(e=0;e<s.length;e+=16)t=n,o=a,r=l,c=d,n=U(n,a,l,d,s[e],7,-680876936),d=U(d,n,a,l,s[e+1],12,-389564586),l=U(l,d,n,a,s[e+2],17,606105819),a=U(a,l,d,n,s[e+3],22,-1044525330),n=U(n,a,l,d,s[e+4],7,-176418897),d=U(d,n,a,l,s[e+5],12,1200080426),l=U(l,d,n,a,s[e+6],17,-1473231341),a=U(a,l,d,n,s[e+7],22,-45705983),n=U(n,a,l,d,s[e+8],7,1770035416),d=U(d,n,a,l,s[e+9],12,-1958414417),l=U(l,d,n,a,s[e+10],17,-42063),a=U(a,l,d,n,s[e+11],22,-1990404162),n=U(n,a,l,d,s[e+12],7,1804603682),d=U(d,n,a,l,s[e+13],12,-40341101),l=U(l,d,n,a,s[e+14],17,-1502002290),a=U(a,l,d,n,s[e+15],22,1236535329),n=G(n,a,l,d,s[e+1],5,-165796510),d=G(d,n,a,l,s[e+6],9,-1069501632),l=G(l,d,n,a,s[e+11],14,643717713),a=G(a,l,d,n,s[e],20,-373897302),n=G(n,a,l,d,s[e+5],5,-701558691),d=G(d,n,a,l,s[e+10],9,38016083),l=G(l,d,n,a,s[e+15],14,-660478335),a=G(a,l,d,n,s[e+4],20,-405537848),n=G(n,a,l,d,s[e+9],5,568446438),d=G(d,n,a,l,s[e+14],9,-1019803690),l=G(l,d,n,a,s[e+3],14,-187363961),a=G(a,l,d,n,s[e+8],20,1163531501),n=G(n,a,l,d,s[e+13],5,-1444681467),d=G(d,n,a,l,s[e+2],9,-51403784),l=G(l,d,n,a,s[e+7],14,1735328473),a=G(a,l,d,n,s[e+12],20,-1926607734),n=W(n,a,l,d,s[e+5],4,-378558),d=W(d,n,a,l,s[e+8],11,-2022574463),l=W(l,d,n,a,s[e+11],16,1839030562),a=W(a,l,d,n,s[e+14],23,-35309556),n=W(n,a,l,d,s[e+1],4,-1530992060),d=W(d,n,a,l,s[e+4],11,1272893353),l=W(l,d,n,a,s[e+7],16,-155497632),a=W(a,l,d,n,s[e+10],23,-1094730640),n=W(n,a,l,d,s[e+13],4,681279174),d=W(d,n,a,l,s[e],11,-358537222),l=W(l,d,n,a,s[e+3],16,-722521979),a=W(a,l,d,n,s[e+6],23,76029189),n=W(n,a,l,d,s[e+9],4,-640364487),d=W(d,n,a,l,s[e+12],11,-421815835),l=W(l,d,n,a,s[e+15],16,530742520),a=W(a,l,d,n,s[e+2],23,-995338651),n=B(n,a,l,d,s[e],6,-198630844),d=B(d,n,a,l,s[e+7],10,1126891415),l=B(l,d,n,a,s[e+14],15,-1416354905),a=B(a,l,d,n,s[e+5],21,-57434055),n=B(n,a,l,d,s[e+12],6,1700485571),d=B(d,n,a,l,s[e+3],10,-1894986606),l=B(l,d,n,a,s[e+10],15,-1051523),a=B(a,l,d,n,s[e+1],21,-2054922799),n=B(n,a,l,d,s[e+8],6,1873313359),d=B(d,n,a,l,s[e+15],10,-30611744),l=B(l,d,n,a,s[e+6],15,-1560198380),a=B(a,l,d,n,s[e+13],21,1309151649),n=B(n,a,l,d,s[e+4],6,-145523070),d=B(d,n,a,l,s[e+11],10,-1120210379),l=B(l,d,n,a,s[e+2],15,718787259),a=B(a,l,d,n,s[e+9],21,-343485551),n=me(n,t),a=me(a,o),l=me(l,r),d=me(d,c);return[n,a,l,d]}function Ao(s){let i,e="",t=s.length*32;for(i=0;i<t;i+=8)e+=String.fromCharCode(s[i>>5]>>>i%32&255);return e}function Ot(s){let i,e=[];for(e[(s.length>>2)-1]=void 0,i=0;i<e.length;i+=1)e[i]=0;let t=s.length*8;for(i=0;i<t;i+=8)e[i>>5]|=(s.charCodeAt(i/8)&255)<<i%32;return e}function hn(s){return Ao($e(Ot(s),s.length*8))}function An(s,i){let e,t=Ot(s),o=[],r=[];for(o[15]=r[15]=void 0,t.length>16&&(t=$e(t,s.length*8)),e=0;e<16;e+=1)o[e]=t[e]^909522486,r[e]=t[e]^1549556828;let c=$e(o.concat(Ot(i)),512+i.length*8);return Ao($e(r.concat(c),512+128))}function So(s){let i="0123456789abcdef",e="",t,o;for(o=0;o<s.length;o+=1)t=s.charCodeAt(o),e+=i.charAt(t>>>4&15)+i.charAt(t&15);return e}function Mt(s){return unescape(encodeURIComponent(s))}function Ro(s){return hn(Mt(s))}function Sn(s){return So(Ro(s))}function Io(s,i){return An(Mt(s),Mt(i))}function Rn(s,i){return So(Io(s,i))}function Xe(s,i,e){return i?e?Io(i,s):Rn(i,s):e?Ro(s):Sn(s)}var In=["name","filename","description"],Tn=["accelerometer","ambient-light-sensor","background-sync","bluetooth","camera","clipboard","device-info","geolocation","gyroscope","magnetometer","microphone","midi","notifications","persistent-storage","push","speaker"],Ln="nj-key-v1",vn=["webkitPersistentStorage","webkitTemporaryStorage"];function Ne(){var r;let s={ow:window.screen.width,oh:window.screen.height,nav:{},nav_props:[],p:bn(),tz:new Date().getTimezoneOffset(),canvas:[]};for(let c in window.navigator){if(s.nav_props.push(c),vn.includes(c))continue;let n=window.navigator[c];if(["string","number","boolean"].includes(typeof n)||!n)s.nav[c]=n;else if(c==="plugins"){s.nav.plugins=[];for(let a=0;a<window.navigator[c].length;a++){let l=window.navigator[c][a],d=[];for(let m of In)d.push(l[m]);s.nav.plugins.push(d.join("."))}}else c==="languages"&&Array.isArray(n)&&(s.nav[c]=n.join(","))}s.nav_props.sort((c,n)=>c.localeCompare(n));let i=document.createElement("canvas"),e=i.getContext("webgl")||i.getContext("experimental-webgl");s.webgl=e&&e.getSupportedExtensions?e.getSupportedExtensions():[];let t=Xe(JSON.stringify(s),Ln),{referrer:o}=L();return{d:Dn(),u:t,l:document.URL||((r=window.location)==null?void 0:r.href)||"",q:Te(),r:o}}function Dn(){let s={screen_width:window.screen.width,screen_height:window.screen.height,language:window.navigator.language,tzo:new Date().getTimezoneOffset()},i=JSON.stringify(s);return typeof btoa=="function"?btoa(i):i}function bn(){let s={};if(navigator.permissions&&typeof navigator.permissions=="object")for(let i of Tn)navigator.permissions.query({name:i}).then(e=>{s[i]=e.state}).catch(()=>s[i]="error");return s}var Nn=[oe,y,De,be,ce,Ee],Ke=Le();function Ct(s,i,e){return new Promise((t,o)=>{On().then(({session_id:r,pageview_id:c,csrf_token:n})=>{var ue;let{SDK_EVENT_URL:a,company_id:l,reviewly:d}=L(),{element:m,element_id:f,element_classes:p,element_data_attributes:g,element_text_content:u,element_href:h,data:A,metadata:S,tags:b}=i,M=m?Ie(m):{};for(let se of Nn)delete M[se];let V={element_id:f||(m==null?void 0:m.id)||"",element_classes:p||(m?[...m.classList]:[]),element_data_attributes:g||M,element_text_content:u||((ue=m==null?void 0:m.textContent)==null?void 0:ue.trim())||"",element_href:h||(m==null?void 0:m.href),data:A||null,metadata:S||{},tags:b||[]};(V.element_href==="#"||V.element_href==="javascript:void(0)")&&(V.element_href="");let q=Ne(),X={k:e,c:l,r:d,s:r,pv:c,i:q,e:s,pl:V,csrf:n},he=Date.now();Ke&&console.log(`NiceJob.send() debug: Sending ${s} event [ ${he} ]...`),N({body:X,url:a}).then(({success:se,code:Be,error:R})=>{if(!se)return console.error(`NiceJob.send("${s}") error [ ${Be} ]: ${R}`,i),o(R);Ke&&console.log(`NiceJob.send() debug: ${s} event successfully created [ ${he} ].`),t({success:se,code:Be})}).catch(se=>{console.error("NiceJob.send() server error:",se),o(se)})}).catch(o)})}function On(){return new Promise((s,i)=>{let e=x();if(e.csrf_token)return s(e);let t=null,o=setInterval(()=>{let r=x();if(!(r!=null&&r.csrf_token)){Ke&&console.log("NiceJob.send() debug: Awaiting init request...");return}Ke&&console.log("NiceJob.send() debug: Init request complete. Proceeding..."),s(r),o&&(clearInterval(o),o=null),t&&clearTimeout(t)},20);t=setTimeout(()=>{o&&(clearInterval(o),Ke&&console.log("NiceJob.send() debug: Init request timed out."),i("NiceJob init request timed out."))},1e3*20)})}var fe=class{init(i){if(i&&typeof i=="string")this[Je]=i;else throw new Error(`NiceJob.init() error: public_key must be a string. Received ${typeof i}.`)}async send(i,e){let t=this[Je];if(!t)throw new Error("NiceJob.send() error: Must call NiceJob.init() with company's public SDK key as argument before calling send().");if(i){if(!e)throw new Error("NiceJob.send() error: payload argument required.")}else throw new Error("NiceJob.send() error: event_name argument required.");return this[ke]&&(e.metadata={...this[ke],...e.metadata}),await Ct(i,e,t)}setGlobalMetadata(i){if(!i||typeof i!="object")throw new Error(`NiceJob.setGlobalMetadata() error: metadata must be an Object. Received ${typeof i!="object"?typeof i:"null"}.`);this[ke]=i}};Je,ke;function ze(s){let i=_(Vt);if(i.length)for(let e of i){if(e.hasAttribute(oe))continue;let t={};try{t=JSON.parse(e.getAttribute(Jt)||"{}")}catch(o){console.error("setupClickTracking","failed to parse metadata",e,o)}F(e,"click",()=>{s==null||s.send("click",{element:e,metadata:t})}),e.setAttribute(oe,"true")}}var To="data-nj-loading";function Fe(s=!1){let i=[];for(let e in re){let t=e;for(let o of re[t].classes){let r=_(o);if(r.length)for(let c of r){if(s&&c.hasAttribute(oe))continue;let n=Ie(c),a=`${t}`;for(let l in n)a+=`.${l}=${n[l]}`;i.push({element:c,request:{id:a,widget:t,dataset:n}})}}}return i}function Lo(s){let{element:i,request:e}=s;if(!e||!i||i.getAttribute(oe))return;let{widget:t,dataset:o}=e;i.setAttribute(oe,"true"),i.setAttribute(ce,Date.now().toString()),yt(i,t),t===$&&(!o[ao]||!o[Lt]||o[Lt]==="responsibid")&&i.classList.add("responsibid-lightbox-button")}function yt(s,i){s.hasAttribute(To)||(re[i].loading&&Y({tag:"DIV",parent:s,classes:Ve,style:{backgroundImage:"url('https://cdn.nicejob.co/assets/button-loading.gif')",backgroundRepeat:"no-repeat",backgroundPosition:"center center",backgroundSize:"32px auto",width:"100%",minWidth:"40px",height:"40px"}}),s.setAttribute(To,"1"))}function ne(s,i){let t=s.tagName?s:s.currentTarget||s.target,o=I(t,"nj-modal-bg");if(!o)throw new Error("openModalCard modal not found");let r=_("nj-modal-card",o),c=i||t.getAttribute("data-modal-card")||"",n=_(c,o)[0];for(let a of r)a.classList.add("hide");return n.classList.remove("hide"),n}function Z(s){let i=s,e=s;i.preventDefault&&i.preventDefault();let t=e.tagName?e:i.currentTarget||i.target,o=t.getAttribute(y)||"",r=C(o);if(!r){console.error("openModalOnClick: Related modal not found for",t);return}let c=_("nj-modal-bg",r)[0];!c||c.classList.remove("hide")}function D({form:s,error:i="",reset:e=!1,modal:t}){let o=s===z||s===le?"e__nj--review-error":s===$?"e__nj--lead-error":s===ie?"e__nj--nps-survey-error":s===`${H}--from`?"e__nj--recommendation-from-error":s===`${H}--to`?"e__nj--recommendation-to-error":s===`${K}--email`?"e__nj--referral-lead-email-error":s===`${K}--phone`?"e__nj--referral-lead-phone-error":s===`${K}--name`?"e__nj--referral-lead-name-error":s===`${K}--customer`?"e__nj--referral-lead-customer-error":null,r=o&&_(o,t)[0];if(!r)return console.error("formError: no link!",{form:s,error:i,reset:e,modal:t});let c=I(r,"nj-section-alert");if(!c)return console.error("formError: no alert!",{form:s,error:i,reset:e,modal:t,link:r});if(e||!i){c.classList.add("hide");return}r.textContent=i,c.classList.remove("hide")}var je="en";var vo={Job:{external_created_at:"created_at",scheduled_at:"scheduled_time",completed_at:"completed_time"},Visit:{external_created_at:"created_at",job_id:"booking_id",scheduled_at:"scheduled_time",completed_at:"completed_time"},Case:{external_created_at:"created_at",completed_at:"completed_time"},Invoice:{external_created_at:"created_at",external_invoice_name:"name"},Payment:{external_created_at:"created_at"},Proposal:{external_created_at:"created_at",completed_at:"completed_time"}},Do={Case:["CreateCaseInput","UpdateCaseInput"],Invoice:["CreateInvoiceInput","UpdateInvoiceInput"],Job:["CreateJobInput","UpdateJobInput"],Visit:["CreateVisitInput","UpdateVisitInput"],Payment:["CreatePaymentInput","UpdatePaymentInput"],Proposal:["CreateProposalInput","UpdateProposalInput"]};for(let s in Do)for(let i of Do[s])vo[i]=vo[s];var Mn=["route","o"];var Sr=["auth","sdk","hook","oauth","graphql","subscriptions","docs","login","u",...Mn];var Cn=540,Rr=`${Cn}s`,yn=300,Ir=`${yn}s`;var bo="receive_lead";var br={["StronglyDisagree"]:1,["Disagree"]:2,["Neutral"]:3,["Agree"]:4,["StronglyAgree"]:5};var Oe={APP_LOGO:{MAX_WIDTH:480,MAX_HEIGHT:480,MIN_WIDTH:250,MIN_HEIGHT:250,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"pad"},AVATAR:{MAX_WIDTH:200,MAX_HEIGHT:200,MIN_WIDTH:50,MIN_HEIGHT:50,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"trim"},FACEBOOK:{MAX_WIDTH:1200,MAX_HEIGHT:630,MIN_WIDTH:600,MIN_HEIGHT:315,MAX_ASPECT_RATIO:1.91,MIN_ASPECT_RATIO:1.91,FIT:"pad"},FAV_ICON:{WIDTH:32,HEIGHT:32,MIN_WIDTH:0,MAX_WIDTH:1/0,MIN_HEIGHT:0,MAX_HEIGHT:1/0,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"pad"},IOS_ICON:{WIDTH:120,HEIGHT:120,MIN_WIDTH:0,MAX_WIDTH:1/0,MIN_HEIGHT:0,MAX_HEIGHT:1/0,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"pad"},LOGO:{MAX_WIDTH:800,MAX_HEIGHT:800,MIN_WIDTH:160,MIN_HEIGHT:160,MAX_ASPECT_RATIO:10,MIN_ASPECT_RATIO:.1,FIT:"pad"},POWERED_BY_LOGO:{WIDTH:32,HEIGHT:32,MIN_HEIGHT:0,MAX_HEIGHT:1/0,MIN_WIDTH:0,MAX_WIDTH:1/0,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"pad"},PROFILE:{MAX_WIDTH:800,MAX_HEIGHT:800,MIN_WIDTH:480,MIN_HEIGHT:480,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"pad"},STORY:{MAX_WIDTH:1080,MAX_HEIGHT:1080,MIN_WIDTH:360,MIN_HEIGHT:360,MAX_ASPECT_RATIO:1.78,MIN_ASPECT_RATIO:.5625,FIT:"trim"},CONTENT:{MAX_WIDTH:1080,MAX_HEIGHT:1080,MIN_WIDTH:0,MIN_HEIGHT:0,MAX_ASPECT_RATIO:10,MIN_ASPECT_RATIO:.1,FIT:"scale"},REVIEW_QR:{WIDTH:512,HEIGHT:512,MAX_WIDTH:2048,MAX_HEIGHT:2048,MIN_WIDTH:256,MIN_HEIGHT:256,MAX_ASPECT_RATIO:1,MIN_ASPECT_RATIO:1,FIT:"pad"}};var Pn="paystone.com",xr=`https://givepoint.${Pn}`;var kr=["OWNER","MANAGER_PLUS_PAYMENT"];function J(s){let i=_("nj--widget--content",s);return i&&i[0]&&i[0].getAttribute("data-lang")?i[0].getAttribute("data-lang"):(console.error(`getLang: Could not get target element from widget. Returning default language "${je}"`),je)}function Qe(s){return typeof s=="undefined"?{}:JSON.parse(JSON.stringify(s))}function No(s){return s.hasAttribute(ce)&&s.hasAttribute(Ee)?parseInt(s.getAttribute(Ee)||"")-parseInt(s.getAttribute(ce)||""):null}var O=class{constructor(i,e,t,o){this.NiceJob=t,this.parent=i,this.event_metadata=e,this.widget_name=o}sendViewOnLoad(){let i=re[this.widget_name].classes.find(o=>this.parent.classList.contains(o))||null,e={...Qe(this.event_metadata),nj_widget_class:i,type:"LOAD"},t=No(this.parent);t&&(e.load_time=t),this.NiceJob.send("view",{element:this.parent,metadata:e})}};var xn="nj-atom-referrals--network-name-success-fill",Oo="nj-atom-referrals--network-name-success-fill--visible",kn="e__nj-atom-referrals-sms-network",Hn="nj-atom-referrals--network--copy-input",Kn="e__nj--atom_referrals-share-copy",Ze=class extends O{constructor(e,t,o){super(e,t,o,Ae);this.person_id=null;let r=this.closeRecommendationModal.bind(this),c=this.copyShareLink.bind(this),n=this.smsNetworkClick.bind(this),a=e.getAttribute(y),l=C(a||"");if(!l||!a)throw console.error("Recommendation: Related modal not found for",e,a,l),new Error("Recommendation modal not found");let d=_("nj-modal-bg",l)[0];this.modal=d,this.form=d,this.language=J(d),E("nj-modal-card","click",p=>{p.preventDefault(),p.stopPropagation()},d),E("nj-close-card","click",r,d),E(kn,"click",n,d),E(Kn,"click",c,d);let m=C("nj-autoclose-modal");if(m&&m.getAttribute("data-widget")===Ae){m.style.display="none";let g=_(_e)[0];g&&Z(g)}let f=_("nj-atom-referrals--person-id-input",d)[0];this.person_id=f?f.value:null,this.sendViewOnLoad()}smsNetworkClick(){let{company_id:e,reviewly:t,SDK_CREATE_ATOM_REFERRAL_PATH_URL:o}=L(),{session_id:r,pageview_id:c,csrf_token:n}=x();N({url:o,body:{person_id:this.person_id,session_id:r,pageview_id:c,csrf_token:n,company_id:e,reviewly:t}})}closeRecommendationModal(e){e.preventDefault(),e.stopPropagation(),this.modal.classList.add("hide");let t=e.currentTarget||e.target;this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,card:"ATOM_REFERRALS_SHARE_MODAL",type:"CLOSE"}})}copyShareLink(e){let t=_(Hn,this.modal)[0];if(navigator.clipboard)navigator.clipboard.writeText(t.value);else if(t.select)t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy"),t.blur();else if(document.selection&&document.body.createTextRange){let c=document.body.createTextRange();c.moveToElementText(t),c.select(),document.execCommand("copy")}let o=_(xn,this.modal)[0];o.classList.add(Oo),setTimeout(()=>{o.classList.remove(Oo)},1200);let r=e.currentTarget||e.target;this.NiceJob.send("click",{element:r,metadata:{...this.event_metadata,card:"ATOM_REFERRALS_SHARE_MODAL",type:"SHARE",subtype:"COPY"}})}};var Fn="e__nj--atom_referral_landing-share-link",et=class extends O{constructor(e,t,o){super(e,t,o,Se);this.person_id=null;let r=this.onLinkClick.bind(this),c=e.getAttribute(y),n=C(c||"");if(!n||!c)throw console.error("AtomReferralsLandingWidget: Related modal not found for",e,c,n),new Error("AtomReferralsLandingWidget modal not found");let a=_("nj-modal-bg",n)[0];this.modal=a,this.form=a,this.language=J(a),E(Fn,"click",r,a),E("nj-modal-card","click",m=>{m.preventDefault(),m.stopPropagation()},a);let l=C("nj-autoclose-modal");if(l&&l.getAttribute("data-widget")===Se){l.style.display="none";let f=_(_e)[0];f&&Z(f)}let d=_("nj-atom-referrals-landing--person-id-input",a)[0];this.person_id=d?d.value:null,this.sendViewOnLoad()}onLinkClick(e){let t=e.currentTarget||e.target,{company_id:o,reviewly:r,SDK_UPDATE_ATOM_REFERRAL_PATH_URL:c}=L(),{session_id:n,pageview_id:a,csrf_token:l}=x();N({url:c,body:{person_id:this.person_id,session_id:n,pageview_id:a,csrf_token:l,company_id:o,reviewly:r}}),this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,card:"ATOM_REFERRALS_LANDING_MODAL",type:"REDIRECT",subtype:"SHARE"}})}};var tt=class extends O{constructor(i,e,t){super(i,e,t,xe);let o=this.openReviewFormFromGoals.bind(this);E(It,"click",o,i),this.sendViewOnLoad()}openReviewFormFromGoals(i){let e=i.currentTarget||i.target;this.NiceJob.send("click",{element:e,metadata:{...this.event_metadata,type:"EXPAND"}})}};function T({language:s,namespace:i,key:e,params:t}){let r={en:{common:{email_validation:"Please enter a valid email address",phone_validation:"Please enter a valid phone number",name_validation:"Please enter your name",review_validation:"Please enter a star rating, a review, your name, and your email address",submit_error:"There was an error on our end. Please try again!",poor:"POOR",fair:"FAIR",good:"GOOD",very_good:"VERY GOOD",outstanding:"OUTSTANDING",youre_awesome:"You're awesome"},lead:{name_validation:`Please enter a value for ${t==null?void 0:t.name}`},recommendation:{name_validation:"Please enter a name."},reviews:{review_groove:"Now that you're in that review groove, you can also write us a review on...",select_star:"Please select a star rating"},referral_lead_form:{thank_you_text:`Thank you ${t==null?void 0:t.name}! We will reach out shortly`,customer_error:"A customer already exists for this email address"},referral_share:{share_title:`Check out ${t==null?void 0:t.company_name}!`,share_text:`I really enjoyed my experience with ${t==null?void 0:t.company_name}. I would highly recommend them!`}},fr:{common:{email_validation:"S'il vous pla\xEEt, mettez un courriel valid",phone_validation:"S'il vous pla\xEEt, mettez un numero de telephone valid",name_validation:"S'il vous pla\xEEt, mettez votre nom",review_validation:"S'il vous pla\xEEt, mettez une \xE9valuation, un avis, votre nom et votre courriel",submit_error:"Une erreur s'est produite de notre c\xF4t\xE9. Veuillez r\xE9essayer!",poor:"PAUVRE",fair:"PASSABLE",good:"BIEN",very_good:"TR\xC8S BIEN",outstanding:"REMARQUABLE",youre_awesome:"Vous \xEAtes g\xE9nial"},lead:{name_validation:`Veuillez entrer une valeur pour ${t==null?void 0:t.name}`},recommendation:{name_validation:"Veuillez entrer un nom."},reviews:{review_groove:"Maintenant que vous \xEAtes dans cette veine de r\xE9vision, vous pouvez \xE9galement nous \xE9crire une avis sur...",select_star:"S\xE9lectionnez une note en \xE9toile"},referral_lead_form:{thank_you_text:`Merci ${t==null?void 0:t.name}! Nous vous contacterons sous peu`,customer_error:"Un client existe d\xE9j\xE0 pour cette adresse email"},referral_share:{share_title:`Venez d\xE9couvrir ${t==null?void 0:t.company_name}!`,share_text:`J'ai vraiment appr\xE9ci\xE9 mon exp\xE9rience avec ${t==null?void 0:t.company_name}. Je recommanderais vivement!`}}}[s][i][e];if(!r)throw new Error(`Copy not found for ${s}.${i}.${e}`);return r}var ot=class extends O{constructor(e,t,o){super(e,t,o,$);let r=this.openLeadFormModal.bind(this),c=this.closeLeadFormModal.bind(this),n=this.submitLead.bind(this),a=e,l=null,d=!a.hasAttribute(De),m=a.hasAttribute(be);if(F(a,"click",r),d){let f=a.getAttribute(y),p=C(f||"");if(!p||!f)throw console.error("LeadForm: Related modal not found for",e,f,p),new Error("LeadForm modal not found");l=_("nj-modal-bg",p)[0],F(l,"click",c),E("nj-modal-card","click",g=>{let u=g.target,h=u&&typeof u.closest=="function"&&u.closest("a.nj--lead-form--footer-link");g.stopPropagation(),h||g.preventDefault()},l),E("e__nj--open-modal-card","click",ne),E("nj-close-card","click",c,l),E("e__nj--lead--submit","click",n,l)}m&&a.setAttribute("target","_blank"),this.modal=l,this.has_custom_href=m,this.language=l?J(l):je,this.sendViewOnLoad()}openLeadFormModal(e){this.modal?Z(e):this.has_custom_href&&nt(),this.NiceJob.send("click",{element:this.parent,metadata:{...this.event_metadata,type:this.has_custom_href?"REDIRECT":"EXPAND"}})}closeLeadFormModal(e){let t=this.modal;if(!t)return;e.preventDefault(),e.stopPropagation(),t.classList.add("hide");let o=_("nj-modal-card",t);for(let a of o)a.classList.add("hide");let r=_("nj-modal-card--lead--form",t)[0];r&&r.classList.remove("hide");let c=de("FORM",t)[0];for(let a=0;a<c.length;a++){let l=c[a];l.type==="checkbox"||l.type==="radio"?l.checked=!1:l.value=""}let n=e.currentTarget||e.target;this.NiceJob.send("click",{element:n,metadata:{...this.event_metadata,type:"CLOSE"}})}submitLead(e){let t=e.currentTarget||e.target;if(t.classList.contains(v)||!this.modal)return;let o=this.modal,r=I(t,null,"FORM"),c={};for(let p=0;p<r.length;p++){let{name:g,value:u,checked:h,type:A,required:S}=r[p];if(A==="checkbox"||A==="radio"?c[g]=!!h:c[g]=u.trim(),S&&!c[g])return D({form:$,error:T({language:this.language,namespace:"lead",key:"name_validation",params:{name:g}}),modal:o})}if(!ae.test(c.email))return D({form:$,error:T({namespace:"common",key:"email_validation",language:this.language}),modal:o});t.classList.add(v);let{company_id:n,reviewly:a,SDK_CREATE_LEAD_URL:l}=L(),{session_id:d,pageview_id:m,csrf_token:f}=x();N({body:{lead:c,session_id:d,pageview_id:m,csrf_token:f,company_id:n,reviewly:a},url:l}).then(p=>{if(p.error)return console.error("submitLead submission error:",p.error),D({form:$,error:T({namespace:"common",key:"submit_error",language:this.language}),modal:o});t.classList.remove(v),ne(e,"nj-modal-card--lead--success"),nt()})}};function nt(){try{typeof window.gtag!="undefined"&&window.gtag("event",bo,{event_category:"Leads",event_label:"Receive lead"})}catch{}}var Me=class{constructor(i,e,t){this.events_attached=!1;this.modal=i,this.language=e,this.widget=t,this.open=this.open.bind(this),this.ratingStarMouseover=this.ratingStarMouseover.bind(this),this.ratingStarMouseout=this.ratingStarMouseout.bind(this),this.ratingStarClick=this.ratingStarClick.bind(this),this.submitReview=this.submitReview.bind(this)}attachEvents(){if(this.events_attached)throw new Error("NiceJobReviewForm: Events already attached");this.events_attached=!0;let i=this.modal;E("e__nj--review-source--nicejob","click",this.open,i),E("e__nj--review--submit","click",this.submitReview,i),E("e__nj--review-star","mouseover",this.ratingStarMouseover,i),E("e__nj--review-star","mouseout",this.ratingStarMouseout,i),E("e__nj--review-star","click",this.ratingStarClick,i)}open(i){let e=ne(i,"nj-modal-card--review--form");de("TEXTAREA",e)[0].focus()}resetForm(){let i=this.modal,e=_("e__nj--review-star",i);for(let o=0;o<e.length;o++)e[o].classList.add("nj-star--muted");let t=_("nj-funnel__rating__description",i)[0];t.classList.add("nj-funnel__rating__description--muted"),t.textContent=st(0,this.language)}ratingStarMouseover(i){let e=i.currentTarget||i.target,t=I(e,"nj-funnel__review-via-form");if(!t)return;let o=_("e__nj--review-star",t),r=!1,c=0;for(let a of o)r?a.classList.add("nj-star--muted"):(a.classList.remove("nj-star--muted"),c++),a===e&&(r=!0);let n=_("nj-funnel__rating__description",t)[0];c>0?n.classList.remove("nj-funnel__rating__description--muted"):n.classList.add("nj-funnel__rating__description--muted"),n.textContent=st(c,this.language)}ratingStarMouseout(i){let e=i.currentTarget||i.target,t=I(e,"nj-funnel__review-via-form");if(!t)return;let o=_("nj-input--hidden",t)[0],r=o.value&&parseInt(o.value)||0,c=_("e__nj--review-star",t);for(let a=0;a<c.length;a++)a>r-1?c[a].classList.add("nj-star--muted"):c[a].classList.remove("nj-star--muted");let n=_("nj-funnel__rating__description",t)[0];n.textContent=st(r,this.language),r>0?n.classList.remove("nj-funnel__rating__description--muted"):n.classList.add("nj-funnel__rating__description--muted")}ratingStarClick(i){let e=i.currentTarget||i.target,t=I(e,null,"FORM");for(let o=0;o<t.length;o++){let r=t[o];if(r.name==="rating"){r.value=e.getAttribute("data-value")||"";break}}}submitReview(i){let e=i.currentTarget||i.target;if(e.classList.contains(v))return;let t=I(e,null,"FORM"),o={},r=this.modal;for(let g=0;g<t.length;g++){let u=t[g],{value:h,type:A}=u,S=u.name;A==="checkbox"||(S==="rating"?o[S]=parseInt(h.trim()):o[S]=h.trim())}if(!o.rating||!o.name||!o.content||!o.email)return console.error("submitReview error:","Missing data"),D({form:this.widget.widget_name,error:T({language:this.language,namespace:"common",key:"review_validation"}),modal:r});if(!ae.test(o.email))return D({form:this.widget.widget_name,error:T({language:this.language,namespace:"common",key:"email_validation"}),modal:r});e.classList.add(v);let{company_id:c,reviewly:n,SDK_CREATE_REVIEW_URL:a}=L(),{session_id:l,pageview_id:d,csrf_token:m}=x(),p=new URLSearchParams(window.location.search).get("utm_source");N({body:{review:o,session_id:l,pageview_id:d,csrf_token:m,company_id:c,reviewly:n,source:p},url:a}).then(g=>{if(g.error)return console.error("submitReview submission error:",g.error),D({form:this.widget.widget_name,error:T({namespace:"common",key:"submit_error",language:this.language}),modal:r});e.classList.remove(v);let{rating:u}=o;if(!u)return;let h;u>=4?h=ne(i,"nj-modal-card--review--success--positive"):h=ne(i,"nj-modal-card--review--success--negative"),_("nj-review-response--rating",h)[0].textContent="\uE2AD".repeat(u),_("nj-review-response--rating-string",h)[0].textContent=st(u,this.language),_("nj-review-response--content",h)[0].textContent=o.content})}};function st(s,i){switch(s){case 1:return T({namespace:"common",key:"poor",language:i});case 2:return T({namespace:"common",key:"fair",language:i});case 3:return T({namespace:"common",key:"good",language:i});case 4:return T({namespace:"common",key:"very_good",language:i});case 5:return T({namespace:"common",key:"outstanding",language:i});default:return T({namespace:"reviews",key:"select_star",language:i})}}function k(s){let i=s.getAttribute(fo)||"{}";try{return JSON.parse(i)}catch{return{}}}var Pt="hide",Ce="e__nj--review-source--link",rt="e__nj--review-source--more",xt="nj-funnel__title",kt="nj-funnel__subtitle",ye=class{constructor(i,e,t){this.events_attached=!1;this.is_showing_more=!1;this.modal=i,this.widget=t,this.language=e,this.showMoreSources=this.showMoreSources.bind(this),this.onNetworkClick=this.onNetworkClick.bind(this)}attachEvents(){if(this.events_attached)throw new Error("ReviewSourcePicker: Events already attached");this.events_attached=!0;let i=this.modal;E(rt,"click",this.showMoreSources,i),E(Ce,"click",this.onNetworkClick,i)}open(){let i=this.modal,e=_("nj-modal-card",i),t=_("nj-modal-card--review--sources",i)[0];for(let o of e)o.classList.add("hide");t.classList.remove("hide")}resetState(i){let e=i.currentTarget||i.target,t=I(e,"nj-modal-bg");if(!t)return;let o=_(Ce,t);for(let a of o)a.classList.remove("visited"),a.classList.contains("nj--hidden-by-default")?a.classList.add("hide"):a.classList.remove("hide");let r=_(rt,t);for(let a of r)a.classList.remove("hide");this.is_showing_more=!1;let[c]=_(xt,t),[n]=_(kt,t);c.innerHTML=(c==null?void 0:c.getAttribute("data-original-text"))||c.innerHTML,n.innerHTML=(n==null?void 0:n.getAttribute("data-original-text"))||n.innerHTML}getVisibleNetworks(){let i=_(Ce,this.modal),e=[];for(let t of i)if(!t.classList.contains(Pt)){let o=k(t),r=o==null?void 0:o.network;r&&e.push(r)}return e}showMoreSources(i){let e=i.currentTarget||i.target,t=I(e,"nj-modal-card");if(!t)return;let o=this.getVisibleNetworks(),r=_(Ce,t);for(let n of r)n.classList.remove(Pt);let c=_(rt,t);for(let n of c)n.classList.add(Pt);this.is_showing_more=!0,this.widget.NiceJob.send("click",{element:e,metadata:{...this.widget.event_metadata,type:"SEE_MORE",visible_networks:o}})}onNetworkClick(i){let e=i.currentTarget||i.target,t=I(e,Ce);if(!t)return;t.classList.add("hide","visited");let{network:o}=k(t);this.widget.NiceJob.send("click",{element:t,metadata:{...this.widget.event_metadata,type:"REDIRECT",network:o,is_showing_more:this.is_showing_more}});let r=I(e,"nj-modal-card");if(!r)return;let c=_(Ce,r);for(let d of c)d.classList.contains("visited")||d.classList.remove("hide");let n=_(rt,r);for(let d of n)d.classList.add("hide");if(!Mo(kt,r)&&!Mo(xt,r))return;let[a]=_(xt,r),[l]=_(kt,r);a.getAttribute("data-original-text")||a.setAttribute("data-original-text",a.innerHTML),l.getAttribute("data-original-text")||l.setAttribute("data-original-text",l.innerHTML),a.innerHTML=`${T({namespace:"common",key:"youre_awesome",language:this.language})} ${a.getAttribute("data-subject-name")}`,l.innerHTML=T({namespace:"reviews",key:"review_groove",language:this.language})}};function Mo(s,i){let e=_(s,i);return Array.isArray(e)&&e.length===1}var ee="hide",it=class extends O{constructor(e,t,o){super(e,t,o,le);this.is_open=!0;this.is_showing_placeholder=!0;this.is_showing_low_form=!1;this.is_showing_high_form=!1;this.is_submit_button_disabled=!0;let r=this.moveToLowReviewModal.bind(this),c=this.moveToHighReviewModal.bind(this),n=this.closeModal.bind(this),a=this.changeTextArea.bind(this),l=this.clickAwayTextArea.bind(this),d=this.focusTextArea.bind(this),m=this.showPrivateFeedbackArea.bind(this),f=this.submitFeedback.bind(this),p=e.getAttribute(y),g=C(p||"");if(!g||!p)throw console.error("FEEDBACK_ROUTING: Related modal not found for",e,p,g),new Error("FeedbackRouting modal not found");let u=_("nj-modal-bg",g)[0];this.modal=u,this.language=J(u),this.review_source_picker=new ye(u,this.language,this),this.review_source_picker.attachEvents(),this.nicejob_review_form=new Me(u,this.language,this),this.nicejob_review_form.attachEvents(),E("nj-close-card","click",n,u),E("nj-close-nps","click",n,u),E("nps-score__low","click",r,u),E("nps-score__high","click",c,u),E("nps-review-text-area","input",a,u),E("nps-review-text-area","focus",d,u),E("nps-review-text-area","blur",l,u),E("nps-private-feedback","click",m,u),E("nps-feedback-submit","click",f,u),this.sendViewOnLoad()}closeModal(e){e.preventDefault(),e.stopPropagation(),this.modal.classList.add(ee);let o=_("nj-modal-card",this.modal);for(let r of o)r.classList.add(ee)}moveToLowReviewModal(e){e.preventDefault(),e.stopPropagation(),e.target.classList.add("selected");let t=_("nj-modal-card--nps-survey",this.modal)[0],o=_("nj-modal-card--nps-low-review",this.modal)[0];t.classList.add(ee),o.classList.remove(ee),this.is_showing_low_form=!0,this.saveFeedbackRoutingScore()}moveToHighReviewModal(e){e.preventDefault(),e.stopPropagation(),e.target.classList.add("selected");let t=_("nj-modal-card--nps-survey",this.modal)[0],o=_("nj-modal-card--nps-high-review",this.modal)[0];t.classList.add(ee),o.classList.remove(ee),this.is_showing_high_form=!0,this.saveFeedbackRoutingScore()}saveFeedbackRoutingScore(){let e=_("nj-nps--campaign-enrollment-id-input",this.modal)[0].value,{company_id:t,reviewly:o,SDK_FEEDBACK_ROUTING_SAVE_SCORE_URL:r}=L(),{session_id:c,pageview_id:n,csrf_token:a}=x();N({body:{feedback:{feedback_score:this.getSelectedScore(),campaign_enrollment_id:e},company_id:t,session_id:c,pageview_id:n,csrf_token:a,reviewly:o},url:r})}submitFeedback(e){e.preventDefault(),e.stopPropagation();let t=e.currentTarget||e.target;if(t.classList.contains(v))return;let o=this.is_showing_low_form?_("nps-review-text-area--low",this.modal)[0]:_("nps-review-text-area--high",this.modal)[0];if(!o.value.trim())return;let r=this.getSelectedScore(),c=_("nj-nps--person-id-input",this.modal)[0].value,n=_("nj-nps--user-id-input",this.modal)[0].value,a=_("nj-nps--campaign-enrollment-id-input",this.modal)[0].value,{company_id:l,reviewly:d,SDK_FEEDBACK_ROUTING_SUBMIT_URL:m}=L(),{session_id:f,pageview_id:p,csrf_token:g}=x();t.classList.add(v),N({body:{feedback:{person_id:c,user_id:n,campaign_enrollment_id:a,feedback_score:Number(r),feedback_content:o.value},company_id:l,session_id:f,pageview_id:p,csrf_token:g,reviewly:d},headers:{"X-CAMPAIGN-ENROLLMENT-ID":a},url:m}).then(()=>{let u=this.is_showing_low_form?_("nj-modal-card--nps-low-review",this.modal)[0]:_("nj-modal-card--nps-high-review",this.modal)[0],h=_("nj-modal-card--nps-thank-you",this.modal)[0];u.classList.add(ee),h.classList.remove(ee)}).catch(()=>D({form:`${le}--from`,error:T({namespace:"common",key:"submit_error",language:this.language}),modal:this.modal})).finally(()=>{this.is_showing_low_form=!1,this.is_showing_high_form=!1,t.classList.remove(v)})}getSelectedScore(){let e,t=_("nps-score",this.modal);for(let o of t)if(o.classList.contains("selected")){e=o.getAttribute("data-value");break}return Number(e)}changeTextArea(e){e.preventDefault(),e.stopPropagation();let t=this.is_showing_low_form?_("nps-review-text-area--low",this.modal)[0]:_("nps-review-text-area--high",this.modal)[0];if(t.value.trim()){if(this.is_submit_button_disabled){let o=_("nps-feedback-submit",this.modal);for(let r of o)r.classList.remove("disabled");this.is_submit_button_disabled=!1}}else if(!t.value.trim()&&!this.is_submit_button_disabled){let o=_("nps-feedback-submit",this.modal);for(let r of o)r.classList.add("disabled");this.is_submit_button_disabled=!0}}focusTextArea(e){if(e.preventDefault(),e.stopPropagation(),!this.is_showing_placeholder)return;(this.is_showing_low_form?_("nps-feedback-placeholder--low",this.modal)[0]:_("nps-feedback-placeholder--high",this.modal)[0]).classList.add(ee),this.is_showing_placeholder=!1}clickAwayTextArea(e){if(e.preventDefault(),e.stopPropagation(),(this.is_showing_low_form?_("nps-review-text-area--low",this.modal)[0]:_("nps-review-text-area--high",this.modal)[0]).value.trim().length>0)return;(this.is_showing_low_form?_("nps-feedback-placeholder--low",this.modal)[0]:_("nps-feedback-placeholder--high",this.modal)[0]).classList.remove(ee),this.is_showing_placeholder=!0}showPrivateFeedbackArea(e){e.preventDefault(),e.stopPropagation(),_("nps-private-feedback")[0].classList.add(ee),_("nps-feedback")[0].classList.remove(ee)}};var at="[ friendly ]",Ue="disabled",jn=.9,ct=class extends O{constructor(e,t,o){super(e,t,o,ie);this.selected_score=null;this.survey_question_answers=new Map;let r=this.selectScore.bind(this),c=this.selectEmoji.bind(this),n=this.submitSurvey.bind(this),a=e.getAttribute(y),l=C(a||"");if(!l||!a)throw console.error("NPS_CAMPAIGN_SURVEY: Related modal not found for",e,a,l),new Error("NpsSurvey modal not found");let d=_("nj-modal-bg",l)[0];this.modal=d,E("nps-survey-score-btn","click",r,d),E("nps-survey-emoji-btn","click",c,d),E("nps-survey-submit-btn","click",n,d);let m=this.updateFeedbackCharCount.bind(this);E("nps-survey-feedback-textarea","input",m,d),this.updateFeedbackCharCount(),this.handleBeforeUnload=this.handleBeforeUnload.bind(this),window.addEventListener("beforeunload",this.handleBeforeUnload),this.sendViewOnLoad()}hasUnsavedChanges(){return this.selected_score!==null||this.survey_question_answers.size>0||this.getFeedbackText().length>0}handleBeforeUnload(e){!this.hasUnsavedChanges()||(e.preventDefault(),e.returnValue="")}selectScore(e){e.preventDefault(),e.stopPropagation();let t=e.currentTarget,o=parseInt(t.getAttribute("data-score")||"0",10),r=t.classList.contains("selected"),c=_("nps-survey-score-btn",this.modal);for(let n of c)n.classList.remove("selected");r?this.selected_score=null:(t.classList.add("selected"),this.selected_score=o),this.updateSubmitButtonState()}selectEmoji(e){e.preventDefault(),e.stopPropagation();let t=e.currentTarget,o=t.getAttribute("data-question-id")||"",r=t.getAttribute("data-value")||"",c=t.classList.contains("selected"),n=t.closest(".nps-survey-question-card");if(!n)return;let a=n.querySelectorAll(".nps-survey-emoji-btn");for(let l of a)l.classList.remove("selected");c?this.survey_question_answers.delete(o):(t.classList.add("selected"),this.survey_question_answers.set(o,{question_id:o,value:r})),this.updateSubmitButtonState()}areRequiredQuestionsAnswered(){let e=_("nps-survey-question-card",this.modal);for(let t of e){let o=t.getAttribute("data-question-id")||"";if(t.getAttribute("data-required")==="true"&&!this.survey_question_answers.has(o))return!1}return!0}updateSubmitButtonState(){let e=_("nps-survey-submit-btn",this.modal)[0];if(!e)return;this.selected_score!==null&&this.areRequiredQuestionsAnswered()?e.classList.remove(Ue):e.classList.add(Ue)}getFeedbackText(){let e=_("nps-survey-feedback-textarea",this.modal)[0];return(e==null?void 0:e.value)||""}updateFeedbackCharCount(){let e=_("nps-survey-feedback-textarea",this.modal)[0],t=_("nps-survey-feedback-char-count",this.modal)[0],o=_("nps-survey-feedback-char-counter",this.modal)[0];if(!e||!t)return;let r=e.value.length;if(t.textContent=String(r),!o)return;let c=parseInt(e.getAttribute("maxlength")||"0",10),n=c>0&&r>=c,a=c>0&&r>=c*jn;o.classList.toggle("is-near-limit",a&&!n),o.classList.toggle("is-at-limit",n)}submitSurvey(e){var p,g,u;e.preventDefault(),e.stopPropagation();let t=e.currentTarget;if(t.classList.contains(Ue)||t.classList.contains(v))return;D({form:ie,reset:!0,modal:this.modal});let o=(p=_("nj-nps-survey--campaign-enrollment-id-input",this.modal)[0])==null?void 0:p.value,r=((g=_("nj-nps-survey--language-input",this.modal)[0])==null?void 0:g.value)||"en";if(!o||this.selected_score===null)return;let c=this.getFeedbackText(),n=_("nps-survey-share-publicly-checkbox",this.modal)[0],d=_("nps-survey-question-card",this.modal).length>0?Array.from(this.survey_question_answers.values()).map(h=>({default_survey_question_id:h.question_id,answer:h.value||null})):null,{company_id:m,SDK_NPS_CAMPAIGN_SURVEY_SUBMIT_URL:f}=L();t.classList.add(Ue),t.classList.add(v),N({body:{feedback:{campaign_enrollment_id:o,score:this.selected_score,feedback:c,public_consent:(u=n==null?void 0:n.checked)!=null?u:!1,survey_answers:d},company_id:m,language:r},headers:{"X-CAMPAIGN-ENROLLMENT-ID":o},url:f}).then(()=>{this.showThankYouPage()}).catch(h=>{t.classList.remove(Ue),t.classList.remove(v);let A=this.extractFriendlyError(h.message);A&&D({form:ie,error:A,modal:this.modal})})}extractFriendlyError(e){try{let t=JSON.parse(e),o=(t==null?void 0:t.error)||"";if(o.includes(at))return o.replace(at,"").trim()}catch{if(e.includes(at))return e.replace(at,"").trim()}return null}showThankYouPage(){window.removeEventListener("beforeunload",this.handleBeforeUnload);let e=_("nj-modal-card--nps-survey-form",this.modal)[0],t=_("nj-modal-card--nps-survey-thank-you",this.modal)[0];e&&e.classList.add("hide"),t&&t.classList.remove("hide")}};var Un=["Android","Windows","Macintosh","iPhone","iPad"];function Co(s){let i=!1;return Un.forEach(e=>{s.match(e)&&(i=!0)}),i}var Gn="e__nj--recommendation--from-email",Wn="e__nj--recommendation--from-email-skip",Ge="nj-figma-submit--loading",Ht="nj-figma-submit--success",Bn="e__nj--recommendation-share-copy",Jn="nj-recommendation--network-name-success-fill",yo="nj-recommendation--network-name-success-fill--visible",Vn="nj-recommendation--network--copy-input",wo=800,Po=200,xo="e__nj--recommendation-network--link",ko="nj-recommendation--network--hidden",qn="e__nj--recommendation--see-more-networks",$n="nj-recommendation--sms",lt=class extends O{constructor(e,t,o){super(e,t,o,H);this.card="INIT";this.from_email="";this.from_name="";this.is_submitting=!1;this.has_been_opened=!1;this.show_sms=!0;let r=this.openRecommendationModal.bind(this),c=this.closeRecommendationModal.bind(this),n=this.submitFromEmail.bind(this),a=this.skipFromEmail.bind(this),l=this.showMoreNetworks.bind(this),d=this.onNetworkClick.bind(this),m=this.copyShareLink.bind(this),f=this.submitRecommendation.bind(this),p=this.bypassInitModal.bind(this);F(e,"click",r);let g=e.getAttribute(y),u=C(g||"");if(!u||!g)throw console.error("Recommendation: Related modal not found for",e,g,u),new Error("Recommendation modal not found");let h=_("nj-modal-bg",u)[0];if(this.modal=h,this.form=h,this.language=J(h),this.init_modal_card=_("nj-modal-card--recommendation-init",h)[0],this.share_modal_card=_("nj-modal-card--recommendation-share",h)[0],this.show_sms=Co(navigator.userAgent||""),!this.show_sms){let S=_($n,h)[0];S&&S.classList.add("hide")}E("nj-modal-card","click",S=>{S.preventDefault(),S.stopPropagation()},h),E("e__nj--open-modal-card","click",ne,h),E("nj-close-card","click",c,h),E(Gn,"click",n,h),E(Wn,"click",a,h),E(qn,"click",l,h),E(xo,"click",d,h),E(Bn,"click",m,h),E("e__nj--recommendation--submit","click",f,h);let A=C("nj-autoclose-modal");if(A&&A.getAttribute("data-widget")===H){A.style.display="none";let b=_(_e)[0];b&&Z(b)}this.sendViewOnLoad(),this.modal&&this.bypassInitModal()}bypassInitModal(){for(let e=0;e<this.form.length;e++){let t=this.form[e];t.name==="from_email"&&t.value&&this.submitFromEmail(null,!0)}}openRecommendationModal(e){this.init_modal_card.classList.remove("hide"),this.share_modal_card.classList.add("hide"),this.has_been_opened||this.bypassInitModal(),Z(e),this.has_been_opened=!0,this.NiceJob.send("click",{element:this.parent,metadata:{...this.event_metadata,type:"EXPAND"}})}closeRecommendationModal(e){e.preventDefault(),e.stopPropagation();let t=this.modal;t.classList.add("hide");let o=_("nj-modal-card",t);for(let c of o)c.classList.add("hide");let r=e.currentTarget||e.target;this.NiceJob.send("click",{element:r,metadata:{...this.event_metadata,card:this.card,type:"CLOSE"}})}submitFromEmail(e,t=!1){var u;this.from_email="",this.from_name="";let o=null,r=null,c=this.modal;for(let h=0;h<this.form.length;h++){let A=this.form[h];if(A.name==="from_email"&&A.value){let S=A.value.trim().toLowerCase();this.from_email=S,r=A}else if(A.name==="from_name"&&A.value){let S=A.value.trim();this.from_name=S,o=A}}let n=this.from_email&&ae.test(String(this.from_email).toLowerCase());if(!t&&!n)return D({form:`${H}--from`,error:T({namespace:"common",key:"email_validation",language:this.language}),modal:c});if(!this.from_email){r&&(r.value="");return}if(!t&&!this.from_name)return D({form:`${H}--from`,error:T({namespace:"recommendation",key:"name_validation",language:this.language}),modal:c});if(!this.from_name)return;if(D({form:`${H}--from`,reset:!0,modal:c}),t)return this.showShareCard();let a=(u=_("nj-recommendation--email-submit"))==null?void 0:u[0];a==null||a.classList.add(v);let{company_id:l,reviewly:d,SDK_CREATE_REFERRAL_FROM_PERSON_URL:m}=L(),{session_id:f,pageview_id:p,csrf_token:g}=x();N({url:m,body:{referrer:{from_name:this.from_name,from_email:this.from_email},session_id:f,pageview_id:p,csrf_token:g,company_id:l,reviewly:d}}).then(()=>{this.showShareCard()}).catch(()=>D({form:`${H}--from`,error:T({namespace:"common",key:"submit_error",language:this.language}),modal:c})).finally(()=>{a==null||a.classList.remove(v)})}skipFromEmail(){this.from_email="",this.showShareCard()}showShareCard(){this.init_modal_card.classList.add("hide"),this.share_modal_card.classList.remove("hide"),this.NiceJob.send("click",{element:this.parent,metadata:{...this.event_metadata,card:this.card,type:"PROCEED"}}),this.card="SHARE"}onNetworkClick(e){let t=e.currentTarget||e.target,o=I(t,xo);if(!o)return;let{network:r}=k(o);this.NiceJob.send("click",{element:o,metadata:{...this.event_metadata,type:"REDIRECT",network:r,card:this.card}})}copyShareLink(e){let t=_(Vn,this.modal)[0];if(navigator.clipboard)navigator.clipboard.writeText(t.value);else if(t.select)t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy"),t.blur();else if(document.selection&&document.body.createTextRange){let c=document.body.createTextRange();c.moveToElementText(t),c.select(),document.execCommand("copy")}let o=_(Jn,this.modal)[0];o.classList.add(yo),setTimeout(()=>{o.classList.remove(yo)},1200);let r=e.currentTarget||e.target;this.NiceJob.send("click",{element:r,metadata:{...this.event_metadata,card:this.card,type:"SHARE",subtype:"COPY"}})}showMoreNetworks(e){let t=e.currentTarget||e.target,o=_(ko);for(let r of o)r.classList.remove(ko);t.classList.add("hide"),this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,card:this.card,type:"SEE_MORE"}})}submitRecommendation(e){let t=e.currentTarget||e.target;if(this.is_submitting)return;let o=this.modal;t.classList.remove(Ge),t.classList.remove(Ht);let r="";for(let p=0;p<this.form.length;p++){let g=this.form[p];g.name==="to_email"&&g.value&&(r=g.value.trim())}if(r&&ae.test(String(r).toLowerCase()))D({form:`${H}--to`,reset:!0,modal:o});else return console.error(`Invalid to_email! "${this.from_email}"`),D({form:`${H}--to`,error:T({namespace:"common",key:"email_validation",language:this.language}),modal:o});t.classList.add(Ge);let{company_id:n,reviewly:a,SDK_CREATE_RECOMMENDATION_URL:l}=L(),{session_id:d,pageview_id:m,csrf_token:f}=x();this.is_submitting=!0,Promise.all([new Promise(p=>{setTimeout(()=>{p(void 0)},wo)}),N({url:l,body:{recommendation:{from_name:this.from_name,from_email:this.from_email,to_email:r},session_id:d,pageview_id:m,csrf_token:f,company_id:n,reviewly:a}})]).then(([p,g])=>{if(this.is_submitting=!1,g.error)return t.classList.remove(Ge),this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,card:this.card,type:"SUBMIT",subtype:"ERROR",error:"There was an error on our end. Please try again!",error_type:"res"}}),D({form:`${H}--to`,error:T({namespace:"common",key:"submit_error",language:this.language}),modal:o});t.classList.add(Ht),setTimeout(()=>{t.classList.remove(Ge)},Po),setTimeout(()=>{t.classList.remove(Ht)},Po+wo+300),this.resetToEmail()}).catch(p=>(this.is_submitting=!1,t.classList.remove(Ge),this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,card:this.card,type:"SUBMIT",subtype:"ERROR",error:"There was an error on our end. Please try again!",error_type:"catch"}}),D({form:`${H}--to`,error:T({namespace:"common",key:"submit_error",language:this.language}),modal:o})))}resetToEmail(){for(let e=0;e<this.form.length;e++){let t=this.form[e];t.name==="to_email"&&(t.value="")}}};var Yn=["name","phone","email"],Xn=/\?(.+)/,dt=class extends O{constructor(e,t,o){super(e,t,o,K);let r=this.submitReferralLead.bind(this),c=document.getElementById("nj-referral-lead-modal");if(!c)throw console.error("Referral Lead Form not found",e,c),new Error("Referral Lead Form not found");E("e__nj--referral-lead--submit","click",r,c),this.modal=c,this.language=J(c),this.form_errors=!1;let n=zn(window.location.href);!!n[lo]&&c.classList.remove("hide"),this.network_type=n.network_type||null,this.sendViewOnLoad()}submitReferralLead(e){let t=e.currentTarget||e.target;if(t.classList.contains(v))return;e.preventDefault(),e.stopPropagation();let o=this.modal;if(!o)return;this.form_errors&&(D({form:`${K}--email`,reset:!0,modal:o}),D({form:`${K}--name`,reset:!0,modal:o}),D({form:`${K}--phone`,reset:!0,modal:o}),D({form:`${K}--customer`,reset:!0,modal:o}),this.form_errors=!1);let r=_("nj--referral-lead-form-fields"),c=r[0].getElementsByTagName("input"),n={};for(let g of c){let u=g.name;Yn.includes(u)&&(n[u]=g.value)}if(!ae.test(n.email))return this.form_errors=!0,D({form:`${K}--email`,error:T({language:this.language,namespace:"common",key:"email_validation"}),modal:o});if(!Eo.test(n.phone))return this.form_errors=!0,D({form:`${K}--phone`,error:T({language:this.language,namespace:"common",key:"phone_validation"}),modal:o});if(!n.name.length)return this.form_errors=!0,D({form:`${K}--name`,error:T({language:this.language,namespace:"common",key:"name_validation"}),modal:o});this.form_errors||t.classList.add(v);let{company_id:a,reviewly:l,SDK_CREATE_REFERRAL_LEAD_URL:d}=L(),{session_id:m,pageview_id:f,csrf_token:p}=x();N({body:{lead:{...n},network_source:this.network_type,session_id:m,pageview_id:f,csrf_token:p,company_id:a,reviewly:l},url:d}).then(g=>{t.classList.remove(v);for(let b of r)b.classList.add("hide");let h=_("nj--referral-lead-thank-you--text")[0];h.innerHTML=T({namespace:"referral_lead_form",key:"thank_you_text",language:this.language,params:{name:n.name}});let A=_("nj-modal-bg--referral-lead-thank-you");A[0].classList.remove("hide"),this.NiceJob.send("click",{element:this.parent,metadata:{...this.event_metadata,type:"SUBMIT",subtype:"SUCCESS"}});let S=1;setTimeout(()=>{let b=setInterval(()=>{S<0&&(A[0].classList.add("hide"),o.classList.add("hide"),clearInterval(b)),A[0].style.opacity=S.toString(),S-=.1},50)},3e3)}).catch(g=>{t.classList.remove(v),this.NiceJob.send("click",{element:this.parent,metadata:{...this.event_metadata,type:"SUBMIT",subtype:"ERROR",error:"FORM_ERROR",error_type:"res"}})})}};function zn(s){let i={},e=Xn.exec(s);if(e){let t=e[1].split("&");for(let o of t){let r=o.split("="),c=r[0].toLowerCase(),n=r[1]||null;(n==="false"||n==="null"||n==="0")&&(n=null),i[c]=n}}return i}var _t=class extends O{constructor(e,t,o){super(e,t,o,Re);this.showModal=()=>{this.modal&&this.modal.classList.remove("hide")};this.hideModal=()=>{this.modal&&this.modal.classList.add("hide")};this.handleModalBackgroundClick=e=>{e.target===this.modal&&this.hideModal()};this.handleEscapeKey=e=>{e.key==="Escape"&&this.modal&&!this.modal.classList.contains("hide")&&this.hideModal()};this.copyToClipboard=async e=>{try{navigator.clipboard&&window.isSecureContext?(await navigator.clipboard.writeText(this.referral_url),this.showCopySuccess()):this.fallbackCopyToClipboard()}catch{this.fallbackCopyToClipboard()}let t=e.currentTarget||e.target;this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,type:"SHARE",subtype:"COPY"}})};this.shareReferral=async e=>{if(!navigator.share)return;await navigator.share({title:T({language:this.language,namespace:"referral_share",key:"share_title",params:{company_name:this.company_name}}),text:T({language:this.language,namespace:"referral_share",key:"share_text",params:{company_name:this.company_name}}),url:this.referral_url});let t=e.currentTarget||e.target;this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,type:"SHARE",subtype:"SHARE"}})};let r=e.getAttribute(y),c=C(r||"");if(!c||!r)throw new Error("ReferralShare modal not found");let n=_("nj-modal-bg",c)[0];this.modal=n,this.language=J(n),this.company_name=_("nj-modal-card--referral-share",n)[0].getAttribute("data-company-name")||"";let a=_("nj-referral-share--url-input",n)[0];if(!a||!a.value)throw new Error("No referral URL found for ReferralShareWidget");this.referral_url=a.value,this.attachEventListeners();let l=C("nj-autoclose-modal");l&&l.getAttribute("data-widget")===Re&&(l.style.display="none",this.showModal()),this.sendViewOnLoad()}attachEventListeners(){let e=this.modal;E("nj-referral-share","click",this.showModal,this.parent),E("nj-close-card","click",this.hideModal,e),E("e__nj--referral-share-copy","click",this.copyToClipboard,e),E("e__nj--referral-share-share","click",this.shareReferral,e),E("nj-modal-bg","click",this.handleModalBackgroundClick,e),document.addEventListener("keydown",this.handleEscapeKey)}fallbackCopyToClipboard(){let e=_("nj-referral-share--url-input",this.modal)[0];if(e){e.select(),e.setSelectionRange(0,99999);try{document.execCommand("copy"),this.showCopySuccess()}catch{}}}showCopySuccess(){let e=_("nj-referral-share--copy-success-icon",this.modal)[0],t=_("nj-referral-share--copy-text",this.modal)[0];t.classList.add("hide"),e.classList.remove("hide"),setTimeout(()=>{t.classList.remove("hide"),e.classList.add("hide")},2e3)}};var Qn="https://accounts.google.com/ServiceLogin?continue=https://www.google.com/intl/en/images/logos/accounts_logo.png";function Ho(s){return new Promise((i,e)=>{let{SDK_LOAD_URL:t}=L(),o=N({body:s,url:t}),r=Zn(),c=es();Promise.all([o,r,c]).then(([n,a,l])=>i({response:n,facebook_login_status:a,google_login_status:l})).catch(e)})}function Zn(){return new Promise((s,i)=>{s(!0)})}function es(){return new Promise((s,i)=>{let e=!1;try{let o=Y({tag:"IMG",options:{src:Qn},style:{visibility:"hidden",position:"absolute",height:"1px",width:"1px",zIndex:"-1"}});F(o,"load",()=>{t(!0)}),F(o,"error",()=>{t(!1)}),setTimeout(()=>{t(!1)},2e3),document.body.appendChild(o)}catch{t(!0)}function t(o){e||(e=!0,s(o))}})}function Fo({el:s,optimize_sort_order:i,facebook_login_status:e,google_login_status:t}){if(!s)return;let o=s.getAttribute(y),r=C(o||"");if(!r||!i)return;let c=[..._("nj-funnel__channel",r)],n=_("nj--review-source--google",r)[0],a=_("nj--review-source--facebook",r)[0];n&&!t&&Ko(c,n),a&&!e&&Ko(c,a);let l=0;[..._("nj-funnel__channel",r)].forEach(d=>{c.length!==1&&(d.classList.contains("e__nj--review-source--nicejob")?d.classList.add("hide"):l<go?(d.classList.remove("hide"),l++):d.classList.add("hide"))})}function Ko(s,i,e=1){let t=i.parentNode;if(!t)return;let r=s.findIndex(c=>c===i)+e;r>=s.length-1?t.appendChild(i):t.insertBefore(i,s[r+1])}var mt=class extends O{constructor(e,t,o){super(e,t,o,z);this.is_open=!1;this.is_showing_more=!1;let r=this.openReviewFormModal.bind(this),c=this.closeReviewFormModal.bind(this);F(e,"click",r);let n=e.getAttribute(y),a=C(n||"");if(!a||!n)throw console.error("ReviewForm: Related modal not found for",e,n,a),new Error("ReviewForm modal not found");let l=_("nj-modal-bg",a)[0];this.modal=l,this.language=J(l),this.review_source_picker=new ye(l,this.language,this),this.review_source_picker.attachEvents(),this.nicejob_review_form=new Me(l,this.language,this),this.nicejob_review_form.attachEvents(),F(l,"click",c),E("nj-modal-card","click",m=>{m.preventDefault(),m.stopPropagation()},l),E("e__nj--open-modal-card","click",ne,l),E("nj-close-card","click",c,l);let d=C("nj-autoclose-modal");if(d){let m=d.getAttribute("data-widget")||"REVIEW_FORM";if([z,Rt].includes(m)){d.style.display="none";let f=_(_e)[0];f&&(Z(f),m===Rt&&this.nicejob_review_form.open(_("e__nj--review-source--nicejob")[0]))}}this.sendViewOnLoad()}openReviewFormModal(e){Z(e),this.NiceJob.send("click",{element:this.parent,metadata:{...this.event_metadata,type:"EXPAND"}})}closeReviewFormModal(e){e.preventDefault(),e.stopPropagation(),this.modal.classList.add("hide"),this.review_source_picker.open(),this.is_open=!1,this.review_source_picker.resetState(e),this.nicejob_review_form.resetForm();let o=e.currentTarget||e.target;this.NiceJob.send("click",{element:o,metadata:{...this.event_metadata,type:"CLOSE",is_showing_more:this.is_showing_more}})}};var ts="nj-social-proof--events--active",Kt="nj-social-proof--events--active--visible",os="nj-social-proof--events--hidden",pt="nj-card--pulse",pe="nj-card--pulse--expanded",ut="nj-card--pulse--snippet-content",jo="nj-card--pulse--snippet-content--visible",Et="nj-card--pulse--expansion-content",Uo="nj-card--pulse--expansion-content--visible";var Xo="nj--pulse--stories-container",zo="nj-story--pulse",Go="nj-story--pulse--loading",jt="nj-story--pulse--visible",Wo="data-handled",ns="nj-social-proof--mask",Bo="nj-social-proof--mask--visible",Jo="nj-icon--close",ss="\uE1B8",rs="h",is="e__nj-social-proof-card--close",as="e__nj-social-proof-card--open",cs="e__nj-social-proof-card--more-stories",ls="e__nj-social-proof--mask-click",ds="data-photo-url",Vo="data-photo-loaded",_s="nj-review__media",ms="nj-review__media--img",ps="data-mobile",us="hide",Es=568,qo=3,$o=7e3,Yo=7e3,fs=400,gs=40,ft=class extends O{constructor(e,t,o){super(e,t,o,Pe);this.mobile_hide=e.getAttribute(ps)===us;let r=this.closeCard.bind(this),c=this.expandCard.bind(this),n=this.loadMoreStories.bind(this),a=this.closeViaMask.bind(this);E(is,"click",r,e),E(as,"click",c,e),E(cs,"click",n,e),E(ls,"click",a);let l=parseInt(e.getAttribute(ce)),d=Date.now()-l,m=Math.max(0,$o-d),f=_(ts,e)[0];this.queueNextCard({active_container:f,dt_reveal:m}),this.sendViewOnLoad()}closeCard(e,t){let o=e&&(e.currentTarget||e.target)||void 0,r=o||t;if(!r)return console.error("socialProofCloseCard el not found");let c=I(r,pt);if(!c)return console.error("socialProofCloseCard card not found for",r,{event:e,input_element:t});this.toggleExpansionMask(!1);let n=c.parentNode,a=!!c.classList.contains(pe),l=!!n.classList.contains(Kt),d=!a&&l&&!!e;if(a?(this.unexpandCard(c,e),setTimeout(()=>{this.conditonalCloseCard(c)},Yo*.8)):l&&(n.classList.remove(Kt),!d&&setTimeout(()=>{this.queueNextCard({active_container:n})},300+50)),d){let m=_(ut,c)[0],f=k(m);this.NiceJob.send("click",{element:o,metadata:{...this.event_metadata,type:"CLOSE",...f}})}}queueNextCard(e){let{active_container:t,dt_reveal:o=$o,dt_close:r=Yo}=e;for(;t.children.length;)t.removeChild(t.children[0]);let c=t.parentNode,a=_(os,c)[0].children[0];!a||(t.appendChild(a),setTimeout(()=>{let l=window.innerWidth;if(!this.mobile_hide||l>=Es){t.classList.add(Kt);let m=_(pt,t)[0],f=_(ut,m)[0],p=k(f);this.NiceJob.send("view",{element:m,metadata:{...this.event_metadata,type:"MINIMIZED",...p}})}setTimeout(()=>{this.conditonalCloseCard(a)},r)},o))}conditonalCloseCard(e){if(e.parentNode){if(e.classList.contains(pe))return;this.closeCard(null,e)}else return}expandCard(e){let t=e.currentTarget||e.target,o=I(t,pt);if(!o||o.classList.contains(pe))return;let r=_(ut,o)[0],c=_(Et,o)[0];if(!c)return;let n=_(_s,c);for(let g of n){if(g.hasAttribute(Vo))continue;g.setAttribute(Vo,"1");let u=g.getAttribute(ds);g.style.backgroundImage=`url('${u}')`,Y({tag:"IMG",parent:g,classes:[ms],options:{src:u}})}let a=[...c.children].reduce((g,u)=>{let h=u;return h.classList.contains("nj-icon")?g:g+h.offsetHeight},0);o.style.height=`${Math.min(fs,a,window.innerHeight-gs)}px`;let l=150;o.classList.add(pe),r.classList.remove(jo),this.toggleExpansionMask(!0);let d=_(Jo,o)[0];d.textContent=rs,setTimeout(()=>{c.classList.add(Uo)},l);let m=k(r);this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,type:"EXPAND",...m}});let f=k(c);this.NiceJob.send("view",{element:o,metadata:{...this.event_metadata,type:"EXPANDED",...f}});let p=Ft(c,!0);this.NiceJob.send("view",{element:o,metadata:{...this.event_metadata,type:"EXPANDED",subtype:"MORE_EVENTS",...p}})}unexpandCard(e,t){if(!e.classList.contains(pe))return;let o=_(ut,e)[0],r=_(Et,e)[0];e.style.height="",e.classList.remove(pe),o.classList.add(jo),this.toggleExpansionMask(!1);let c=_(Jo,e)[0];c.textContent=ss,r.classList.remove(Uo);let n=k(r),a=t&&(t.currentTarget||t.target)||void 0;this.NiceJob.send("click",{element:a,metadata:{...this.event_metadata,type:"MINIMIZE",...n}})}closeViaMask(){let e=_(pe,this.parent)[0];this.closeCard(null,e)}loadMoreStories(e){let t=e.currentTarget||e.target,o=I(t,"nj-link--expanded-card");if(!o||o.classList.contains(v))return;let r=I(t,pt);if(!r||!r.classList.contains(pe))return;o.classList.add(v);let c=_(Xo,r)[0],n=[..._(zo,c)].filter(b=>!b.classList.contains(jt)),a=n.slice(0,qo);a.forEach(b=>{b.classList.add(Go)});let l=_(Et,r)[0],d=l.scrollTop,m=I(o,"nj-footer");if(!m)return console.error("socialProofLoadMoreStories footer not found");let p=r.offsetHeight-m.offsetHeight,g=300;po({el:l,from:d,to:d+p,dt:g});let u=n.length>qo,h=_(Et,r)[0],A=Ft(h);setTimeout(()=>{a.forEach(M=>{M.classList.remove(Go),M.classList.add(jt)}),u?o.classList.remove(v):o.style.display="none";let b=Ft(h,!0);this.NiceJob.send("view",{element:r,metadata:{...this.event_metadata,type:"EXPANDED",subtype:"MORE_EVENTS",...b}})},g);let S=k(h);this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,type:"SEE_MORE",subtype:"MORE_EVENTS",...S,...A}})}toggleExpansionMask(e){let t=_(ns,this.parent)[0];t&&e?t.classList.add(Bo):t&&t.classList.remove(Bo)}};function Ft(s,i=!1){let e={story_ids:[],review_ids:[],photo_ids:[]},t=_(Xo,s)[0],o=_(zo,t);for(let r of o){if(!r.classList.contains(jt)||i&&r.hasAttribute(Wo))continue;r.setAttribute(Wo,"1");let{story_id:c,review_id:n,photo_id:a}=k(r);c&&e.story_ids.push(c),n&&e.review_ids.push(n),a&&e.photo_ids.push(a)}return e}var Qo="nj-card--grid--empty",Zo="nj--stories-cards--wrap",We="nj-card",en="e__nj-share-redirect",tn="nj-media__nav-dots--active",hs="nj-modal-card--share",As=767,gt=class extends O{constructor(e,t,o){super(e,t,o,te);this.cards=_(We,e),this.attachEventListeners(e);let r=this.alignStoriesGrid.bind(this);F(window,"resize",r),F(window,"resize",()=>{setTimeout(()=>{r()},50)});let c=_("nj--stories-cards--grid",e)[0];c&&r(null,c),this.sendViewOnLoad()}attachEventListeners(e){let t=this.photoDimensions.bind(this),o=this.scrollPhotos.bind(this),r=this.openShareMenu.bind(this),c=this.onShareRedirect.bind(this),n=this.seeMoreReviewContent.bind(this),a=this.loadMoreStories.bind(this),l=this.storyShareClose.bind(this),d=this.storyCopyLink.bind(this);E("nj-media__photo","load",t,e),E("e__nj-nav","click",o,e),E("e__nj-share","click",r,e),E(en,"click",c,e),E("nj-close-card","click",l,e),E("e__nj-see-more","click",n,e),E("e__nj-load-more-stories","click",a,e),E("nj-funnel__button--copy-link","click",d,e)}photoDimensions(e,t=!1){let o=e.target||e,r=I(o,"nj-media__container");if(!r)return;r.classList.remove(v);let c=r.offsetWidth,n=0,a=_("nj-media__photo",r);for(let f of a){let{dataset:p,naturalWidth:g,naturalHeight:u}=f,{originalWidth:h="",originalHeight:A=""}=p,S=parseInt(h)||g,b=parseInt(A)||u,M=S/b;M>Oe.STORY.MAX_ASPECT_RATIO?n=c/Oe.STORY.MAX_ASPECT_RATIO:M<Oe.STORY.MIN_ASPECT_RATIO?n=c/Oe.STORY.MIN_ASPECT_RATIO:n=b/S*c}r.style.height=(n||Oe.STORY.MAX_HEIGHT)+"px";for(let f of a){let{dataset:p,naturalWidth:g,naturalHeight:u}=f,{originalWidth:h="",originalHeight:A=""}=p,S=parseInt(h)||g||0,b=parseInt(A)||u||1,M=S/b,V=c/n,q={};M>V?(q.height=n,q.width=n*M):(q.width=c,q.height=c/M),f.style.width=q.width+"px",f.style.height=q.height+"px";let X=I(f,"nj-media__photo--wrap");X&&(X.style.width=c+"px")}let l=I(o,"nj--stories-cards"),d=l&&l.classList.contains("nj--stories-cards--grid");l&&d&&!t&&this.alignStoriesGrid(null,l);let m=I(o,We);m&&this.scrollPhotos(null,m)}scrollPhotos(e,t){let o=e&&(e.currentTarget||e.target)||void 0,r=t||o&&I(o,"nj-card"),c=r&&_("nj-media__container--wrap",r)[0];if(!r||!c)return;let n=c.hasAttribute("data-index")?parseInt(c.getAttribute("data-index")):0,a=n;o&&o.hasAttribute("data-direction")&&(a+=o.getAttribute("data-direction")==="back"?-1:1),o&&o.hasAttribute("data-index")&&(a=parseInt(o.getAttribute("data-index")));let l=_("nj-media__photo",c).length;a<0?a=l-1:a>=l&&(a=0);let m=c.offsetWidth*-a;c.setAttribute("data-index",a.toString()),c.style.transform=`translateX(${m}px)`;let f=_("nj-media__nav-dots__feature",r);for(let p=0;p<f.length;p++)a===p?f[p].classList.add(tn):f[p].classList.remove(tn);if(e){let p=k(r),g=p.photo_ids[n];this.NiceJob.send("click",{element:o,metadata:{widget:te,subtype:"PHOTOS",type:"SEE_MORE",active_photo_id:g,...p}})}}openShareMenu(e){let t=e.currentTarget||e.target,o=t.getAttribute("data-share-url")||"",r=_("nj-modal-bg")[0],c=_("nj-modal-card--share")[0],n=_("nj-funnel__channel",c),a=_("nj-funnel__copy-link__content",c)[0];for(let m of n){let f=m.getAttribute("href"),p=(f==null?void 0:f.replace("{share_url}",o))||"";m.setAttribute("href",p)}a.innerHTML=o.length>30?o.substr(0,27)+"...":o,a.setAttribute("data-share-url",o),r.classList.remove("hide"),setTimeout(()=>{c.classList.add("nj-modal-card--visible")},.01),c.style.display="flex";let l=I(t,We);if(!l)return;c.setAttribute("data-metadata",l.getAttribute("data-metadata")||"");let d=k(l);this.NiceJob.send("click",{element:t,metadata:{widget:te,subtype:"SHARE",type:"EXPAND",...d}})}onShareRedirect(e){let t=e.currentTarget||e.target,o=I(t,en),r=I(t,We)||I(t,hs);if(!o||!r)return;let c=k(o),n=k(r);this.NiceJob.send("click",{element:o,metadata:{widget:te,subtype:"SHARE",type:"REDIRECT",...n,...c}})}storyShareClose(e){e.preventDefault();let t=_("nj-modal-card--share")[0],o=_("nj-modal-bg")[0];t.classList.remove("nj-modal-card--visible"),window.innerWidth<=As?setTimeout(()=>{o.classList.add("hide")},100):o.classList.add("hide")}storyCopyLink(e){var m,f,p;e.preventDefault();let t=_("nj-modal-card--share")[0],o=_("nj-funnel__copy-link__content",t)[0],r=document.createElement("div");r.style.opacity="0",r.style.height="0",r.innerHTML=o.getAttribute("data-share-url")||"",document.body.appendChild(r);let c=document.createRange();c.selectNode(r),(m=window.getSelection())==null||m.removeAllRanges(),(f=window.getSelection())==null||f.addRange(c),document.execCommand("copy");let n=_("nj-funnel__copy-link",t)[0],a=_("nj-funnel__copy-link",t)[1];n.classList.add("hide"),a.classList.remove("hide"),setTimeout(()=>{n.classList.remove("hide"),a.classList.add("hide")},4e3),(p=r.parentNode)==null||p.removeChild(r);let l=e.currentTarget||e.target;if(!l||!t)return;let d=k(t);this.NiceJob.send("click",{element:l,metadata:{widget:te,subtype:"SHARE",type:"COPY",...d}})}seeMoreReviewContent(e){let t=e.currentTarget||e.target,o=I(t,"nj--see-more--wrap"),r=I(t,We);if(!o||!r)return;let c=_("nj--see-more--short",o)[0],n=_("nj--see-more--all",o)[0],a=_("e__nj-see-more",o)[0];c.style.display="none",n.style.display="block",a.style.display="none";let l=I(o,"nj--stories-cards"),d=l&&l.classList.contains("nj--stories-cards--grid");l&&d&&this.alignStoriesGrid(null,l);let m=k(r);this.NiceJob.send("click",{element:t,metadata:{widget:te,subtype:"CONTENT",type:"SEE_MORE",...m}})}loadMoreStories(e){let t=e.currentTarget||e.target,o=I(t,"nj-container");if(!o||!o.parentNode)return console.error("nj-container not found for target node",t);let r=t.getAttribute("data-cursor");if(!r)return;let c=o.parentNode,n=Ie(c),a=_("nj-loader",o)[0],l=_("nj-loader__media",a)[0];l.classList.remove("hide"),t.classList.add("hide"),this.NiceJob.send("click",{element:t,metadata:{...this.event_metadata,widget:te,type:"SEE_MORE"}});let{company_id:d,reviewly:m,SDK_LOAD_MORE_URL:f}=L(),{session_id:p}=x();N({body:{cursor:r,company_id:d,reviewly:m,dataset:n,session_id:p},url:f}).then(g=>{let{content:u,cursor:h,event_metadata:A}=g,S=_("nj--stories-cards",o)[0],b=S.classList.contains("nj--stories-cards--grid"),M="nj--stories-cards";b&&(M+=" nj--stories-cards--grid");let V=Y({tag:"DIV",classes:M});V.innerHTML=u,this.attachEventListeners(V);let q=_(Zo,S)[0],X=[];for(;V.children.length;){let ue=V.children[0];q.appendChild(ue),X.push(ue)}b&&this.alignStoriesGrid(null,S),l.classList.add("hide"),h&&(t.classList.remove("hide"),t.setAttribute("data-cursor",h)),this.event_metadata=A;let he=Qe(A);this.NiceJob.send("view",{element:this.parent,metadata:he})})}alignStoriesGrid(e,t,o){var n;let r=t?[t]:_("nj--stories-cards--grid"),c=[];for(let a of r){let l=a.offsetWidth,d=767,m=l>d?5:0,f=l>d?2*m+350:l,p=Math.max(1,Math.floor(l/f)),g=`calc(${Math.floor(100/p)}% - ${2*m}px)`,u=[];for(let R=0;R<p;R++)u[R]=[];let h=_("nj-card--grid",a),A=h[0].parentElement;if(!A)throw new Error("grid_wrap not found!");let S=window.scrollY,b=Y({tag:"DIV",parent:document.body,style:{position:"absolute",top:"0",zIndex:"-1",visibility:"hidden"}});for(let R=h.length-1;R>=0;R--)h[R].classList.contains(Qo)&&A.removeChild(h[R]);let M=[...h];M.forEach((R,j)=>{R.hasAttribute("data-card-initial-index")||R.setAttribute("data-card-initial-index",j.toString())});for(let R=h.length-1;R>=0;R--)A.removeChild(h[R]);let V=(p-M.length%p)%p;for(let R=0;R<V;R++){let j=M[0].cloneNode();j.classList.add(Qo),j.style.height="0",j.style.overflow="hidden",j.style.visibility="hidden",M.push(j)}for(let R of M)R.style.width=g,R.style.top="0";let q=10,X=[];for(let R=0;R<p;R++)X[R]=0;let he=Math.ceil(M.length/p);for(let R=0;R<he;R++){let j=[...M].filter((w,P)=>P>=R*p&&P<(R+1)*p);j.forEach(w=>b.appendChild(w)),j.sort((w,P)=>R>0&&w.offsetHeight-P.offsetHeight||parseInt(P.getAttribute("data-card-initial-index")||M.length)-parseInt(w.getAttribute("data-card-initial-index")||M.length)),j.forEach(w=>b.removeChild(w)),X.map((w,P)=>({index:P,bottom:w})).sort((w,P)=>P.bottom-w.bottom||P.index-w.index).map((w,P)=>({...w,card:j[P]})).sort((w,P)=>w.index-P.index).forEach(({index:w,card:P})=>{if(A.appendChild(P),R>0){let Wt=u[w][u[w].length-1],an=Wt.offsetTop+Wt.offsetHeight+q-P.offsetTop;P.style.top=`${Math.round(an)}px`}u[w].push(P);let rn=on(P)+P.offsetHeight;X[w]=rn})}let ue=Math.max(...Object.values(X)),se=_(Zo,a)[0],Be=on(se);if(se.style.height=Math.round(ue-Be+10)+"px",(n=b.parentNode)==null||n.removeChild(b),window.scrollTo(window.scrollX,S),e&&!o){let R=_("nj-media__photo",a);for(let j=0;j<R.length;j++)c.push(R[j])}}if(e&&!o){for(let a=0;a<c.length;a++)this.photoDimensions(c[a],!0);this.alignStoriesGrid(e,null,!0)}}};function on(s){let i=de("HTML")[0],e=i.getBoundingClientRect&&i.getBoundingClientRect().top||0;return s.getBoundingClientRect?s.getBoundingClientRect().top-e:s.offsetTop}var ht=class extends O{constructor(i,e,t){super(i,e,t,we),this.sendViewOnLoad()}};var nn=[],ge=class{constructor(i,e){this.input=i,this.widget=this.input.installation.request.widget,this.NiceJob=e}async install(){let i=this.input,{installation:e,i:t,json_ld_request:o=!1}=i,{element:r,request:c}=e,{widget:n}=c||{},a=r.hasAttribute(oe);if(a&&!o)return;Lo(e);let l=await this.loadData(),{response:d,facebook_login_status:m,google_login_status:f}=l,{json_ld_available:p=!1,json_ld:g=[],event_metadata:u}=d;if(Gt(g),a)return;if(this.display(d),this.widget==="REVIEW_FORM"){if(typeof m=="undefined"||typeof f=="undefined")throw new Error("Review form init error: login status not returned from response.");let A=this.input.optimize_sort_order;Fo({el:r,optimize_sort_order:A,facebook_login_status:m,google_login_status:f})}if(n===te||n===St)new gt(r,u,this.NiceJob);else if(n===H)new lt(r,u,this.NiceJob);else if(n===z)new mt(r,u,this.NiceJob);else if(n===$)new ot(r,u,this.NiceJob);else if(n===Pe)new ft(r,u,this.NiceJob);else if(n===xe)new tt(r,u,this.NiceJob);else if(n===we)new ht(r,u,this.NiceJob);else if(n===K)new dt(r,u,this.NiceJob);else if(n===Ae)new Ze(r,u,this.NiceJob);else if(n===Se)new et(r,u,this.NiceJob);else if(n==le)new it(r,u,this.NiceJob);else if(n===ie)new ct(r,u,this.NiceJob);else if(n===Re)new _t(r,u,this.NiceJob);else throw new Error(`Handler missing for widget "${n}"`);p&&new ge({...i,json_ld_request:!0},this.NiceJob).install().then(()=>{});let h=Fe(!0);await Promise.all(h.map((A,S)=>new ge({...i,installation:A,i:t*10+S+Date.now()},this.NiceJob).install())),ze(this.NiceJob)}async loadData(){let i=this.input,{company_id:e,reviewly:t,installation:o,json_ld_request:r=!1,session_id:c}=i,{request:n}=o,a={session_id:c,company_id:e,reviewly:t,widget:n,json_ld_request:r},{widget:l}=n||{};return new Promise((d,m)=>{if(l===z)return Ho(a).then(d).catch(m);{let{SDK_LOAD_URL:f}=L();N({body:a,url:f}).then(p=>d({response:p})).catch(m)}})}display(i){var f;let e=this.input,{installation:t,i:o}=e,{element:r,request:c}=t,{id:n,widget:a}=c||{},{snippets:l=[],content:d=""}=i;if(r&&r.setAttribute(Ee,Date.now().toString()),Ut(l),r){let p=_(Ve,r)[0];p&&((f=p.parentNode)==null||f.removeChild(p))}let m=null;if(r&&n&&d&&a){let{method:p}=re[a],u=/^href::(.+)/.exec(d.trim()),h=!0,A=!1;if(Ss(d))h=!1;else if(u)r.href=u[1],h=!1,A=!0;else if(p==="APPEND")r.innerHTML+=`\r
`+d;else if(p==="SIBLING"){let S=`${a}--${o}`;r.setAttribute(y,S),m=Y({tag:"DIV",options:{id:S}}),m.innerHTML=d,document.body.appendChild(m)}else r.innerHTML=d;r.tagName==="A"&&!u&&(r.href=uo),a===$&&!h&&r.setAttribute(De,"1"),a===$&&A&&r.setAttribute(be,"1")}[r,m].forEach(p=>{p&&E("e__nj--stop-propagation","click",g=>{g.stopPropagation()},p)})}};function Ss(s){let e=/<script[^>]* src=["'](.+?)["'][^>]*><\/script>/.exec(s);if(e){let t=e[1];return nn.includes(t)||(nn.push(t),Y({tag:"SCRIPT",options:{src:t,type:"text/javascript"},parent:document.head})),!0}else return!1}function Ut(snippets){if(!snippets||!snippets.length)return;let snippet_html="",script_pattern=/<script>([\s\S]+?)<\/script>/;for(let snippet of snippets)if(snippet.trim().indexOf("<script>")===0)try{let match=script_pattern.exec(snippet);match&&eval(match[1])}catch(s){console.error("NJ errror: Script snippet failed to load",snippet)}else snippet_html+=`${snippet}\r
\r
`;if(snippet_html){let s=Y({tag:"DIV"});s.innerHTML=snippet_html,document.body.appendChild(s)}}function Gt(s){if(!(!s||!s.length))for(let i of s)try{Y({tag:"SCRIPT",options:{type:"application/ld+json"},parent:document.head,content:JSON.stringify(i,null,2)})}catch{}}var sn=Le(),At=class{constructor(){mo();let{company_id:i,reviewly:e}=L();if(!i)throw new Error('NiceJob SDK failed to load: no id parameter appended to script src! (e.g. "https://cdn.nicejob.co/sdk.min.js?id=COMPANY_ID")');this.company_id=i,this.reviewly=e}async init(){if(this.session_id)return;let e=this.getUninstalledWidgets().some(p=>p.request&&p.request.widget===z);this.addWidgetLoadingStates();let{SDK_INIT_URL:t,redirect_url:o}=L(),r={company_id:this.company_id,reviewly:this.reviewly,has_review_form:e,d:Ne()};sn&&console.log("NiceJob debug: Running init request...");let{session_id:c,pageview_id:n,csrf:a,nicejob_public_key:l,widget_settings:d,json_ld:m,snippets:f}=await N({body:r,url:t,with_credentials:!0});if(o){window.location.replace(o);return}if(!c||!n||!a)throw new Error("NiceJob init request failed.");sn&&console.log("NiceJob debug: Init request succeeded."),this.session_id=c,this.pageview_id=n,this.csrf_token=a,this.widget_settings=d,this.NiceJob=new fe,this.NiceJob.init(l),Ut(f),Gt(m),ho({session_id:c,pageview_id:n,csrf_token:a}),Rs()}getUninstalledWidgets(){let i=Fe(!0);return i.sort((e,t)=>e.request&&e.request.widget===z?-1:t.request&&t.request.widget===z?1:0),i}addWidgetLoadingStates(){Fe(!0).forEach(({element:e,request:t})=>{let{widget:o}=t;yt(e,o)})}async loadAllWidgets(){this.NiceJob||await this.init();let i=this.NiceJob;if(!i)throw new Error("NiceJob widget init error.");ze(i);let{company_id:e,reviewly:t,widget_settings:o,session_id:r}=this,c=this.getUninstalledWidgets();await Promise.all(c.map(async(n,a)=>{try{new ge({session_id:r,company_id:e,reviewly:t,installation:n,i:a,optimize_sort_order:!!(o!=null&&o.optimize_sort_order)},i).install()}catch{console.error(`Error loading widget: "${a}"`)}}))}};function Rs(){typeof window.RESPONSIBID_CALLBACK!="function"&&(window.RESPONSIBID_CALLBACK=function(){nt()})}var Is=new fe,xl=Is;(function(){if(window.NiceJob)return;window.NiceJob=new fe;async function s(){console.log("%cNiceJob SDK loaded","color: white; background-color: green; font-family: sans-serif; padding: 2px 6px; border-radius: 4px"),new At().loadAllWidgets()}window.NiceJobSDKv2=s,s()})();})();