(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{"14E/":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var a=0;a0&&l.default.createElement(c.default,{country:r,location:v,onChangeLocation:q,onChangeTitle:S,title:E,displayAsColumn:t}),m&&l.default.createElement("div",{className:"joblistings__listings-container"}," ",C&&C.length>0?C:E?"No results found.":""," "),m&&m.length>0?l.default.createElement("a",{href:"/job-search-engine?str=".concat(E,"&loc=").concat(v,"&country=").concat(r),className:"joblistings__seemore-cta",target:"_blank",rel:"noopener"},"View More Jobs »"):null,l.default.createElement(c.default,{country:r,location:v,onChangeLocation:q,onChangeTitle:S,title:E,displayAsColumn:t}))};p.propTypes={allowEmptyJobTitle:i.default.bool,country:i.default.string,displayAsColumn:i.default.bool,geotargetUrl:i.default.string,location:i.default.string,numListings:i.default.number,title:i.default.string,url:i.default.string},p.defaultProps={allowEmptyJobTitle:!1,displayAsColumn:!1,geotargetUrl:"https://www.payscale.com/geotarget/v1/City"},p.__docgenInfo={description:"",methods:[],displayName:"JobListingsWidget",props:{allowEmptyJobTitle:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:"Search even if job title was empty. Default is false."},displayAsColumn:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:"Whether to display the widget in a column or not. False if not provided"},geotargetUrl:{defaultValue:{value:"'https://www.payscale.com/geotarget/v1/City'",computed:!1},type:{name:"string"},required:!1,description:"Geotarget service URL to geotarget user by IP address."},country:{type:{name:"string"},required:!1,description:"Country to search for listings."},location:{type:{name:"string"},required:!1,description:"Location to search for listings. If not provided, then will geolocate user instead if geotargetUrl provided."},numListings:{type:{name:"number"},required:!1,description:"Number of listings to display."},title:{type:{name:"string"},required:!1,description:"Job title to search for listings."},url:{type:{name:"string"},required:!1,description:"Job listings search URL."}}};var f=p;t.default=f},"D+75":function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("cDcd")),o=n(a("17x9")),l=function(e){var t,a,n,o=e.overall,l=e.withText,i=e.reverse,s=e.decimalPoints,u=e.uncolored,c=(o-100).toFixed(s),d=Math.abs(c);return c>0?(n="▲",t=r.default.createElement("span",{className:u&&"delta--black"},"".concat(d,"% ").concat(l?"higher":"")),a=i?"delta--green":"delta--red"):c<0?(n="▼",t=r.default.createElement("span",{className:u&&"delta--black"},"".concat(d,"% ").concat(l?"lower":"")),a=i?"delta--red":"delta--green"):(t="0%",a="delta--zero"),r.default.createElement("div",{className:a},n,t)};l.propTypes={decimalPoints:o.default.number,overall:o.default.number,reverse:o.default.bool,withText:o.default.bool,uncolored:o.default.bool},l.defaultProps={decimalPoints:1},l.__docgenInfo={description:"",methods:[],displayName:"DisplayDelta",props:{decimalPoints:{defaultValue:{value:"1",computed:!1},type:{name:"number"},required:!1,description:""},overall:{type:{name:"number"},required:!1,description:""},reverse:{type:{name:"bool"},required:!1,description:""},withText:{type:{name:"bool"},required:!1,description:""},uncolored:{type:{name:"bool"},required:!1,description:""}}};var i=l;t.default=i},D6vg:function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("cDcd")),o=n(a("17x9")),l=n(a("B9KB")),i=function(e){var t=e.data;return r.default.createElement("div",{className:"joblistings__job"},r.default.createElement("a",{className:"joblistings__job-title",href:t.url,target:"_blank"},t.title),r.default.createElement("div",{className:"joblistings__job-details-container"},r.default.createElement("div",{className:"joblistings__job-company"},r.default.createElement("i",{className:"icon-building-filled"}),t.companyName),t.city&&t.state?r.default.createElement("div",{className:"joblistings__job-location"},r.default.createElement("i",{className:"icon-location"}),t.city,", ",t.state):null),r.default.createElement("div",{className:"joblistings__job-description",dangerouslySetInnerHTML:{__html:(0,l.default)(t.description)}}),r.default.createElement("a",{className:"joblistings__job-cta",href:t.url,target:"_blank"},"View More Details"))};i.__docgenInfo={description:"",methods:[],displayName:"JobListingItem",props:{data:{type:{name:"shape",value:{title:{name:"string",required:!1},city:{name:"string",required:!1},companyName:{name:"string",required:!1},state:{name:"string",required:!1},country:{name:"string",required:!1},date:{name:"instanceOf",value:"Date",required:!1},description:{name:"string",required:!1},url:{name:"string",required:!1}}},required:!1,description:""}}};var s=i;t.default=s,i.propTypes={data:o.default.shape({title:o.default.string,city:o.default.string,companyName:o.default.string,state:o.default.string,country:o.default.string,date:o.default.instanceOf(Date),description:o.default.string,url:o.default.string})}},EbDI:function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},Ijbi:function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);ta+2?"xsmall":"";r.push(d.default.createElement("div",{className:"carousel__indicator__dot__container",key:"dot".concat(e),onClick:function(){return t(e)}},d.default.createElement("div",{className:"carousel__indicator__dot ".concat(n)})))},l=0;l2?a>e.length-4?r.style.transform="translate(".concat(-t.widthOfDot*(e.length-5),"px)"):r.style.transform="translate(".concat(-t.widthOfDot*(a-2),"px)"):r.style.transform="translate(0px)")})),(0,c.default)((0,l.default)(t),"goForward",(function(){t.state.selected!==t.props.items.length-1&&t.setState({selected:t.state.selected+1})})),(0,c.default)((0,l.default)(t),"goBack",(function(){0!==t.state.selected&&t.setState({selected:t.state.selected-1})})),(0,c.default)((0,l.default)(t),"handleSelect",(function(e){t.setState({selected:e})})),t.state={selected:0},t.widthOfCard=182,t.widthOfDot=20,t.itemsPerPage=t.calculateWindowSize(),t}return(0,o.default)(n,[{key:"componentDidMount",value:function(){var e=this;this.applyTransform(),"undefined"!=typeof window&&window.addEventListener("resize",(function(){e.itemsPerPage=e.calculateWindowSize()}),!1)}},{key:"componentDidUpdate",value:function(){this.applyTransform()}},{key:"render",value:function(){var e=this,t=this.props,a=t.items,n=t.className,r=this.state.selected,o=d.default.Children.map(a,(function(t,a){var n=r+e.itemsPerPage;return an?d.default.cloneElement(t,{key:a,hideLogo:!0}):d.default.cloneElement(t,{key:a})})),l=0===r||a.length<=this.itemsPerPage,i=r===a.length-1||a.length<=this.itemsPerPage;return d.default.createElement("div",{className:"carousel ".concat(n)},d.default.createElement("div",{className:"carousel__content"},d.default.createElement("div",{className:"carousel__arrow carousel__arrow--left ".concat(l?"invisible":"")},d.default.createElement("span",{onClick:this.goBack},"‹")),d.default.createElement(f.default,{className:"carousel__items-window",preventDefaultTouchmoveEvent:!0,onSwipedLeft:this.goForward,onSwipedRight:this.goBack},d.default.createElement("div",{className:"carousel__items"},o)),d.default.createElement("div",{className:"carousel__arrow carousel__arrow--right ".concat(i?"invisible":"")},d.default.createElement("span",{onClick:this.goForward},"›"))),a.length>this.itemsPerPage&&d.default.createElement(h,{onSelect:this.handleSelect,selected:r,numItems:a.length}))}}]),n}(d.default.Component);t.default=y,y.propTypes={className:p.default.string,items:p.default.array.isRequired},y.defaultProps={className:""},y.__docgenInfo={description:"",methods:[{name:"calculateWindowSize",docblock:null,modifiers:[],params:[],returns:null},{name:"applyTransform",docblock:null,modifiers:[],params:[],returns:null},{name:"goForward",docblock:null,modifiers:[],params:[],returns:null},{name:"goBack",docblock:null,modifiers:[],params:[],returns:null},{name:"handleSelect",docblock:null,modifiers:[],params:[{name:"index",type:null}],returns:null}],displayName:"Carousel",props:{className:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:"Optional class name"},items:{type:{name:"array"},required:!0,description:"Array of ordered items to display in the carousel"}}}},RIqP:function(e,t,a){var n=a("Ijbi"),r=a("EbDI"),o=a("Bnag");e.exports=function(e){return n(e)||r(e)||o()}},RnCE:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/location/city",function(){return a("vzVE")}])},TKuv:function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("cDcd")),o=n(a("17x9")),l=n(a("npX2")),i=function(e){var t=e.guiderText,a=e.buttonText,n=e.closeGuider,o=e.trackingCode;return r.default.createElement("div",{className:"guider__wrap"},r.default.createElement("div",{className:"guider__arrow"}),r.default.createElement("a",{className:"guider__close"},r.default.createElement("i",{className:"icon-cancel",onClick:n})),r.default.createElement("div",{className:"guider__text"},t),r.default.createElement(l.default,{trackingCode:o,type:"guider"},r.default.createElement("input",{type:"submit",className:"guider__btn",value:a})))};i.propTypes={guiderText:o.default.string.isRequired,buttonText:o.default.string,closeGuider:o.default.func.isRequired,trackingCode:o.default.shape({source:o.default.string,section:o.default.string,detail:o.default.string})},i.defaultProps={buttonText:"Get pay report",trackingCode:{source:"guider"}},i.__docgenInfo={description:"",methods:[],displayName:"Guider",props:{buttonText:{defaultValue:{value:"'Get pay report'",computed:!1},type:{name:"string"},required:!1,description:"Text of the CTA"},trackingCode:{defaultValue:{value:"{ source: 'guider' }",computed:!1},type:{name:"shape",value:{source:{name:"string",required:!1},section:{name:"string",required:!1},detail:{name:"string",required:!1}}},required:!1,description:"Tracking code object used to generate the TK code query parameter"},guiderText:{type:{name:"string"},required:!0,description:"Text inside guider component"},closeGuider:{type:{name:"func"},required:!0,description:""}}};var s=i;t.default=s},Zfdq:function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("cDcd")),o=n(a("17x9")),l=n(a("npX2")),i=n(a("Q37t")),s=a("7MEq"),u=function(e){var t;switch(e.surveyField){case"jobTitle":t=r.default.createElement("div",{className:"low-data-survey-start__subtitle"},"We don't have enough reviews for ",e.entity);break;case"employer":t=r.default.createElement("div",{className:"low-data-survey-start__subtitle"},"We don't have enough data yet to generate this report.");break;case"directory":t=r.default.createElement("div",{className:"low-data-survey-start__subtitle directory-subtitle"},"We don't have enough data yet for this directory. ",r.default.createElement("br",null),"Help us build our dataset - take our salary survey and get a personalized report on your market worth.")}return r.default.createElement("div",{className:"low-data-survey-start"},t,r.default.createElement("div",{className:"low-data-survey-start__container"},r.default.createElement("div",{className:"low-data-survey-start__image"}),r.default.createElement("div",{className:"low-data-survey-start__form-container"},r.default.createElement("div",{className:"low-data-survey-start__form-blurb"},e.blurb),r.default.createElement(l.default,{className:"low-data-survey-start__survey-start",country:e.country,location:e.location,trackingCode:e.trackingCode,type:"lowdata"},r.default.createElement("div",{className:"low-data-survey-start__form"},e.surveyField?r.default.createElement("input",{type:"hidden",name:e.surveyField,value:e.entity}):r.default.createElement(r.default.Fragment,null),r.default.createElement("input",{type:"hidden",name:"profileType",value:"currentJob"}),r.default.createElement(i.default,{className:"low-data-survey-start__form-location",text:"Location:"},r.default.createElement(s.CityState,{id:"formCity"})),r.default.createElement(i.default,{className:"low-data-survey-start__form-yoe",text:"Years in Field/Career:"},r.default.createElement(s.YearsExperience,null),r.default.createElement("div",{className:"single-row-start__btn"},r.default.createElement("input",{type:"submit",className:"single-row-start__btn-input",value:"Get your salary report »"})))),r.default.createElement(s.Country,null)))))},c=u;t.default=c,u.propTypes={blurb:o.default.string,country:o.default.string,entity:o.default.string,surveyField:o.default.oneOf(["employer","jobTitle","directory"]),location:o.default.string,trackingCode:o.default.shape({source:o.default.string,section:o.default.string,detail:o.default.string})}},cDcd:function(e,t){e.exports=React},ciKs:function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("pVnL")),o=n(a("lSNA")),l=n(a("cDcd")),i=n(a("17x9")),s=n(a("qH3g"));function u(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}var c=function(e){var t=e.report,a=e.currencyCode,n=e.title,i=e.numToShow,c=e.subtitle,d=e.chartType,p=t&&t.rows&&t.rows.length>0?function(e){for(var t=1;t0)||u.includes(e.toLowerCase())};t.allowCountry=c},nw7Q:function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("cDcd")),o=n(a("17x9")),l=n(a("AMpL")),i=n(a("Zfdq")),s=a("7r0r"),u=function(e){var t=e.name,a=e.category,n=e.trackingCode;return r.default.createElement("div",{className:"default-low-data"},r.default.createElement(i.default,{trackingCode:n,surveyField:a,entity:t,blurb:"".concat("Degree"===a?"Do you have ".concat((0,s.articlize)(t)," ").concat(a,"?"):""," Take our salary survey to get a free, personalized report and find out what you're worth.")}),r.default.createElement("div",{className:"low-data-survey-start__search page-section"},r.default.createElement("h2",{className:"page-subtitle"},"Search ","Degree"===a?"Degree":""," Salaries"),r.default.createElement(l.default,{default:"Degree"===a?"Degree":""})))};u.propTypes={name:o.default.string,category:o.default.string,trackingCode:o.default.shape({source:o.default.string,section:o.default.string,detail:o.default.string})};var c=u;t.default=c},oMCh:function(e,t,a){"use strict";var n=a("284h"),r=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(a("J4zp")),l=n(a("cDcd")),i=r(a("17x9")),s=a("fol8"),u=r(a("EwmT")),c=r(a("TKuv")),d=function(e){var t=e.title,a=e.url,n=e.detail,r=e.min,i=e.max,d=e.currencyCode,p=e.low,f=e.high,m=e.range,h=e.format,y=e.isEstimated,g=e.tooltip,v=e.valueLabel,b=e.trackingCode,w=e.entityTitle,_=e.idxOfRow,E=e.openOneGuider,T=e.isOpen,C=r&&!p?r:p||0,N=r||0,S=Math.round((f-C)/(i-N)*100);S<5&&(S=5);var q=Math.round(100*(1-(i-C)/(i-N))),k="";k="job"===w.toLowerCase()?"Is ".concat(t," your job title or a job you’re considering? Learn how your skills and experience determine your market worth."):"Learn how your skills and experience determine your market worth.";var x=(0,l.useState)(null),P=(0,o.default)(x,2),j=P[0],L=P[1],O=function(e){e.stopPropagation(),E?E(_):L(!1)};return l.default.createElement("div",{className:"tablerow"},l.default.createElement("div",{className:"tablerow__title-wrapper"},l.default.createElement("div",{className:"tablerow__title"},a?l.default.createElement("a",{href:a},t):t,g&&l.default.createElement(u.default,{hoverText:g,id:t,tooltipText:""})),l.default.createElement("div",{className:"tablerow__detail"},n)),l.default.createElement("div",{className:"tablerow__value"},function(e,t,a,n,r){return n?a?"".concat((0,s.FormatCurrency)(e,a,r).trim()," - ").concat((0,s.FormatCurrency)(t,a,r).trim()):"".concat((0,s.FormatNumber)(e,r).trim()," - ").concat((0,s.FormatNumber)(t,r).trim()):a?(0,s.FormatCurrency)(t,a,r).trim():(0,s.FormatNumber)(t,r).trim()}(p,f,d,m,h),v&&l.default.createElement("span",{className:"tablerow__value-label"},f>0?" ".concat(v,"s"):" ".concat(v))),l.default.createElement("div",{className:"tablerow__bar",onClick:function(){E?E(_):L(!0)}},l.default.createElement("div",{className:"tablerow__bar-range".concat(y?" tablerow__bar-range--estimated":""),style:{width:"".concat(S,"%"),marginLeft:"".concat(q,"%")}})),T?l.default.createElement(c.default,{guiderText:k,closeGuider:O,trackingCode:b}):"",void 0===T?j&&l.default.createElement(c.default,{guiderText:k,closeGuider:O,trackingCode:b}):"")};d.__docgenInfo={description:"",methods:[],displayName:"ChartRow",props:{low:{defaultValue:{value:"0",computed:!1},type:{name:"number"},required:!1,description:"Low value in the range, not required, if it is not supplied than the low value defaults to 0"},range:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:"Tells the table row whether to show one single value or a range of values"},entityTitle:{defaultValue:{value:"'Employer'",computed:!1},type:{name:"string"},required:!1,description:"First column title (Job, Benefits, etc) leave blank if you do not want the table header titles"},detail:{type:{name:"string"},required:!1,description:"Profile count displayed below the row title"},currencyCode:{type:{name:"string"},required:!1,description:"Currency abbreviation (e.g. USD or EUR), if no currency specified, numbers are formatted as plain numbers"},max:{type:{name:"number"},required:!0,description:"Upper limit of the gray range bar"},min:{type:{name:"number"},required:!1,description:"Lower limit of the gray range bar"},title:{type:{name:"string"},required:!0,description:"Title of the row, entity name"},url:{type:{name:"string"},required:!1,description:"URL for the entity"},high:{type:{name:"number"},required:!0,description:"High value in the range, if supplying only one value this is the one you will populate"},format:{type:{name:"string"},required:!1,description:"Number formatting string that decides what the numbers will look like (e.g. 0a or 0,0 or 0[.]00)"},isEstimated:{type:{name:"bool"},required:!1,description:"Bool that says whether the row data is estimated"},tooltip:{type:{name:"string"},required:!1,description:"Optional tooltip to show in row"},valueLabel:{type:{name:"string"},required:!1,description:"Label to display next to value in table, omit if you dont want a label"},trackingCode:{type:{name:"shape",value:{source:{name:"string",required:!1},section:{name:"string",required:!1},detail:{name:"string",required:!1}}},required:!1,description:"Tracking code object used to generate the TK code query parameter"},idxOfRow:{type:{name:"number"},required:!1,description:"Index of the row in ChartTable"},openOneGuider:{type:{name:"func"},required:!1,description:"Function that passes the index of row that was clicked"},isOpen:{type:{name:"bool"},required:!1,description:"Boolean to see if guider was opened for this row"}}};var p=d;t.default=p,d.propTypes={detail:i.default.string,currencyCode:i.default.string,max:i.default.number.isRequired,min:i.default.number,title:i.default.string.isRequired,entityTitle:i.default.string,url:i.default.string,low:i.default.number,high:i.default.number.isRequired,range:i.default.bool.isRequired,format:i.default.string,isEstimated:i.default.bool,tooltip:i.default.string,valueLabel:i.default.string,trackingCode:i.default.shape({source:i.default.string,section:i.default.string,detail:i.default.string}),idxOfRow:i.default.number,openOneGuider:i.default.func,isOpen:i.default.bool},d.defaultProps={low:0,range:!1,entityTitle:"Employer"}},qH3g:function(e,t,a){"use strict";var n=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(a("RIqP")),o=n(a("lwsE")),l=n(a("W8MJ")),i=n(a("PJYZ")),s=n(a("7W2i")),u=n(a("a1gu")),c=n(a("Nsbk")),d=n(a("lSNA")),p=n(a("cDcd")),f=n(a("oMCh")),m=n(a("17x9")),h=a("fol8"),y=n(a("nfpI")),g=n(a("Ti46")),v=n(a("14E/")),b=n(a("EwmT")),w=n(a("zaeL"));function _(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}var E=function(e){var t=e.rows,a=e.showFooter;return t&&t.some((function(e){return e.isEstimated}))?p.default.createElement("div",{className:"charttable__legend".concat(a?"":" charttable__legend--full-width")},p.default.createElement("div",{className:"charttable__legend-item"},p.default.createElement("div",{className:"charttable__legend-color charttable__legend-color--precise"}),p.default.createElement(b.default,{hoverText:"Calculated pay ranges are based on validated data submitted by employees.",tooltipText:"Calculated",id:"calculated-tooltip"})),p.default.createElement("div",{className:"charttable__legend-item"},p.default.createElement("div",{className:"charttable__legend-color charttable__legend-color--estimated"}),p.default.createElement(b.default,{hoverText:"When PayScale has limited employee submitted data, we estimate pay ranges based on a broader set of relevant profiles.",tooltipText:"Estimated",id:"estimated-tooltip"}))):null};E.propTypes={rows:m.default.array,showFooter:m.default.bool};var T=function(e){var t=e.currencyCode,a=e.lastUpdated,n=e.profileCount,r=e.onClick,o=e.showTable,l=n&&n>=5;return p.default.createElement("div",{className:"charttable__footer"},t&&p.default.createElement("div",{className:"charttable__footer-item"},"Currency: ".concat(t.toUpperCase()),p.default.createElement("div",{className:"charttable__footer-divider"},"•")),a&&p.default.createElement("div",{className:"charttable__footer-item"},"Updated: ".concat(a),l&&p.default.createElement("div",{className:"charttable__footer-divider"},"•")),l&&p.default.createElement("div",{className:"charttable__footer-item"},"Individuals Reporting: ".concat((0,h.FormatNumber)(n)),o&&p.default.createElement("div",{className:"charttable__footer-divider"},"•")),o&&l?p.default.createElement("a",{href:"#",onClick:r},"View Table"):null)};T.propTypes={rows:m.default.array,currencyCode:m.default.string,lastUpdated:m.default.string,profileCount:m.default.number,onClick:m.default.func,showTable:m.default.bool};var C=function(e){(0,s.default)(n,e);var t,a=(t=n,function(){var e,a=(0,c.default)(t);if(_()){var n=(0,c.default)(this).constructor;e=Reflect.construct(a,arguments,n)}else e=a.apply(this,arguments);return(0,u.default)(this,e)});function n(){var e;(0,o.default)(this,n);for(var t=arguments.length,r=Array(t),l=0;l1?"s":""));else if("average"===m){var u=c===h.ReportTypes.Salary.reportType?"0,0":"0.00";n="".concat(t.isEstimated?"Estimated":"Average: ".concat((0,h.FormatCurrency)(t.range[50]||t.range.average,o,u)))}return i?p.default.createElement(f.default,{isOpen:!!x[a],openOneGuider:e.openGuider,idxOfRow:a,reportType:c,key:t.displayName||t.name,title:t.displayName||t.name,url:t.url,detail:n,currencyCode:o,low:r,high:i,min:O,max:D,range:"range"===q,format:s,isEstimated:t.isEstimated,valueLabel:k,tooltip:t.tooltip,trackingCode:N,entityTitle:l}):null})),M=R.slice(0,3),A=R.slice(3,R.length),F=d.map((function(e){var t="range"===q?e.range[10]||e.range[25]||0:null,a="range"===q?e.range[90]||e.range[75]||e.range[50]:"median"===q?e.range[50]:e.profileCount,n="range"!==q&&"median"!==q?"0,0[.]00":c===h.ReportTypes.Salary.reportType?"0a":"0,0";return p.default.createElement("div",{className:"charttable__modal__row",key:e.displayName||e.name},p.default.createElement("div",{className:"charttable__modal__col--wide"},p.default.createElement("a",{href:e.url},e.displayName||e.name)),p.default.createElement("div",{className:"charttable__modal__col"},!o||"range"!==q&&"median"!==q?(0,h.FormatNumber)(e.profileCount):"range"===q?"".concat((0,h.FormatCurrency)(t,o,n)," - ").concat((0,h.FormatCurrency)(a,o,n)):(0,h.FormatCurrency)(e.range[50],o)))}));return p.default.createElement("div",{className:"charttable"},S&&l&&p.default.createElement("div",{className:"charttable__table-titles"},p.default.createElement("div",{className:"charttable__entity-dimension"},l),p.default.createElement("div",{className:"charttable__value-dimension"},S),p.default.createElement("div",{className:"charttable__bar-titles"},p.default.createElement("div",{className:"charttable__bar-titles--low"},o?(0,h.FormatCurrency)(O,o,"0a"):(0,h.FormatNumber)(O,"0a")),p.default.createElement("div",{className:"charttable__bar-titles--high"},o?(0,h.FormatCurrency)(D,o,"0a"):(0,h.FormatNumber)(D,"0a")))),p.default.createElement("div",{className:"charttable__rows"},a&&p.default.createElement(y.default,null),M,C&&p.default.createElement(w.default,{id:"chart-table-single-row-survey-start",trackingCode:N,className:"charttable__survey-start",compressed:!0}),A),p.default.createElement("div",{className:"charttable__bottom"},b&&p.default.createElement(p.default.Fragment,null,p.default.createElement(v.default,{className:"charttable__modal",ref:function(t){e.modal=t},displayCloseButton:!0},p.default.createElement("h2",{className:"charttable__modal__title"},n," ",S," ",c===h.ReportTypes[c].displayName," by ",l),p.default.createElement("div",{className:"charttable__modal__headers"},p.default.createElement("div",{className:"charttable__modal__col--wide"},l),p.default.createElement("div",{className:"charttable__modal__col"},S)),F),p.default.createElement(T,{chartEntityTitle:n,valueTitle:S,reportType:c,entityTitle:l,rows:d,currencyCode:o,lastUpdated:P,profileCount:u,onClick:this.onClick,showTable:_})),p.default.createElement(E,{rows:d,showFooter:b})),s&&p.default.createElement("div",{className:"charttable__pagination"},p.default.createElement(g.default,s)))}}]),n}(p.default.Component);C.__docgenInfo={description:"",methods:[{name:"openGuider",docblock:null,modifiers:[],params:[{name:"idxOfRow",type:null}],returns:null},{name:"onClick",docblock:null,modifiers:[],params:[{name:"e",type:null}],returns:null}],displayName:"ChartTable",props:{blurContent:{defaultValue:{value:"true",computed:!1},type:{name:"bool"},required:!1,description:"Show the blurred content component"},showFooter:{defaultValue:{value:"true",computed:!1},type:{name:"bool"},required:!1,description:"Toggle for the bottom footer data of the table"},showTable:{defaultValue:{value:"true",computed:!1},type:{name:"bool"},required:!1,description:"Toggle for whether to show the 'View Table' link in the chart footer"},reportType:{defaultValue:{value:"'Salary'",computed:!1},type:{name:"enum",value:[{value:"'Salary'",computed:!1},{value:"'HourlyRate'",computed:!1}]},required:!1,description:"Toggle between hourly or salary for number formatting"},chartEntityTitle:{type:{name:"string"},required:!1,description:"Name of the entity that the table is named after (amazon, airbnb, etc)"},currencyCode:{type:{name:"string"},required:!1,description:"Currency for the chart, leave blank if not a dollar value"},entityTitle:{type:{name:"string"},required:!1,description:"First column title (Job, Benefits, etc) leave blank if you do not want the table header titles"},valueTitle:{type:{name:"string"},required:!1,description:"Middle column title (Employees, Average, etc) leave blank if you do not want the table header titles"},valueType:{type:{name:"enum",value:[{value:"'range'",computed:!1},{value:"'count'",computed:!1},{value:"'median'",computed:!1}]},required:!0,description:"Determines what type of data the chart will display, salary range or profile count"},detailToShow:{type:{name:"enum",value:[{value:"'profiles'",computed:!1},{value:"'average'",computed:!1}]},required:!1,description:"Which type of detail to show in each row (# of profiles, average value, or nothing"},paginationProps:{type:{name:"shape",value:{urlFormat:{name:"string",required:!1},pageSize:{name:"number",required:!1},activePage:{name:"number",required:!1},totalItems:{name:"number",required:!1}}},required:!1,description:"props required to make the pagination component function properly - if omitted, all items will show"},lastUpdated:{type:{name:"string"},required:!1,description:"Last time the data was pulled, should come from the byDimensions data in the dto"},profileCount:{type:{name:"number"},required:!1,description:"Total number of profiles, should come from the byDimensions data in the dto"},rows:{type:{name:"arrayOf",value:{name:"shape",value:{profileCount:{name:"number",required:!1},range:{name:"object",required:!1},displayName:{name:"string",required:!1},name:{name:"string",required:!1},url:{name:"string",required:!1},tooltip:{name:"string",required:!1}}}},required:!1,description:"Rows for the table, should come from the byDimensions data in the dto"},showSurveyStart:{type:{name:"bool"},required:!1,description:"Toggle for the single row survey start inside the chart"},trackingCode:{type:{name:"shape",value:{source:{name:"string",required:!1},section:{name:"string",required:!1},detail:{name:"string",required:!1}}},required:!1,description:"Tracking code for survey start"},valueLabel:{type:{name:"string"},required:!1,description:"Label to display next to value in table, omit if you dont want a label"}}};var N=C;t.default=N,C.propTypes={blurContent:m.default.bool,chartEntityTitle:m.default.string,currencyCode:m.default.string,entityTitle:m.default.string,valueTitle:m.default.string,valueType:m.default.oneOf(["range","count","median"]).isRequired,showFooter:m.default.bool,detailToShow:m.default.oneOf(["profiles","average"]),reportType:m.default.oneOf(["Salary","HourlyRate"]),paginationProps:m.default.shape({urlFormat:m.default.string,pageSize:m.default.number,activePage:m.default.number,totalItems:m.default.number}),lastUpdated:m.default.string,profileCount:m.default.number,rows:m.default.arrayOf(m.default.shape({profileCount:m.default.number,range:m.default.object,displayName:m.default.string,name:m.default.string,url:m.default.string,tooltip:m.default.string})),showTable:m.default.bool,showSurveyStart:m.default.bool,trackingCode:m.default.shape({source:m.default.string,section:m.default.string,detail:m.default.string}),valueLabel:m.default.string},C.defaultProps={blurContent:!0,showFooter:!0,showTable:!0,reportType:"Salary"}},"t+bb":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("cDcd")),r=l(a("h7yN")),o=l(a("LcaP"));function l(e){return e&&e.__esModule?e:{default:e}}var i=function(e){var t=e.onClose,a=e.onIgnore,r=e.children,l=e.displayCloseButton;return n.default.createElement("div",{className:"pxl-modal__content",onClick:a},n.default.createElement(o.default,{display:l,onClick:t}),r)};i.propTypes={displayCloseButton:r.default.bool,onClose:r.default.func,onIgnore:r.default.func},t.default=i},vCas:function(e,t,a){"use strict";var n=a("284h"),r=a("TqRt");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(a("pVnL")),l=r(a("J4zp")),i=n(a("cDcd")),s=r(a("17x9")),u=r(a("YmZv")),c=r(a("XhHR")),d=r(a("tyTo")),p=r(a("r6xW")),f=r(a("qH3g")),m=r(a("CBFv")),h=r(a("ciKs")),y=r(a("R7N/")),g=r(a("QFLE")),v=r(a("D+75")),b=a("/mtj"),w=a("fol8"),_=a("aEQA"),E=r(a("nw7Q")),T=r(a("ZhIB")),C=function(e){var t=e.data,a=e.cityData,n=e.apis,r=t.byDimension,s=t.category,y=t.compensation,g=t.country,v=t.currencyCode,C=t.dimensions,N=t.related,P=t.reportType,j=(0,i.useState)(P===w.ReportTypes.HourlyRate.reportType),L=(0,l.default)(j,2),O=L[0],D=L[1],R=s&&s.toLowerCase(),M={text:O?"Show Salary":"Show Hourly Rate",onToggle:function(){return D(!O)}};P=O?w.ReportTypes.HourlyRate.reportType:w.ReportTypes.Salary.reportType;var A,F=(0,b.getCountryByAbbreviation)(g),J=C&&C[R]&&C[R].city||"",U=C&&C[R]&&C[R].state||"",I="".concat(J,", ").concat(U||F),B=(0,_.getCityState)(J,U),Y=w.ReportTypes[P],V=Y.propName,X=Y.displayName,W=y&&y[V]?y[V][50]||y[V].average:"N/A",G=O?"0.00":"0a",z={source:"ps",section:"rc",detail:"".concat(R)},H=a&&a.index&&parseFloat((0,_.getTiwPercentage)(a.index.indexValue),10),K=a&&a.col&&a.col.overall&&a.col.overall,Q=q(a,J,U,H,K),Z=S(g,F,U,J);r&&r["Average ".concat(X," by School")]&&(A=x(r["Average ".concat(X," by School")].rows));var $,ee=a&&(a.about||k({name:B,average:(0,w.FormatCurrency)(W,v,G),tiw:(0,T.default)(H-100).format("0.0"),col:(0,_.getColPercentage)(K),qYear:a.latest&&"Q".concat(a.latest.quarter," ").concat(a.latest.year),jobs:r&&r["Average ".concat(X," by Job")]?r["Average ".concat(X," by Job")].rows.slice(0,3):[],lowSalary:y&&(0,w.FormatCurrency)(y[V][10]||y[V][25],v,G),highSalary:y&&(0,w.FormatCurrency)(y[V][90]||y[V][75],v,G),employers:r&&r["Average ".concat(X," by Employer")]?r["Average ".concat(X," by Employer")].rows.slice(0,3):[]}));return N&&N.length>0&&($=N.map((function(e,t){return i.default.createElement("div",{key:"relatedCities-".concat(t),className:"location__col"},i.default.createElement("a",{href:e.url},e.name.split(",")[0]))}))),i.default.createElement(u.default,{className:"research-center-web default",headerProps:{bgColor:"white",displaySearchBar:!0},trackingCode:z,countryCode:g,spotlight:i.default.createElement(p.default,{label:"Avg. ".concat(X),title:"Average ".concat(O?"Hourly Rate":"Salary"," in ").concat(I),trackingCode:z,value:W?(0,w.FormatCurrency)(W,v,G):0,toggleLink:M,ctas:_.spotlightCTAs,hideLowDataMessage:!0,stats:Q,breadcrumbs:Z})},i.default.createElement(c.default,null,i.default.createElement("div",{className:"page-section"},C&&r&&r["Average ".concat(X," by Job")]?i.default.createElement(f.default,(0,o.default)({chartEntityTitle:I,currencyCode:v,entityTitle:"Job",showFooter:!0,showSurveyStart:!0,trackingCode:z,reportType:P,valueTitle:"Average",valueType:"median"},r["Average ".concat(X," by Job")])):i.default.createElement(E.default,{name:I,category:s,trackingCode:z})),ee?i.default.createElement("div",{className:"page-section",id:"city-about"},i.default.createElement("h2",{className:"page-subtitle"},"About ",B),i.default.createElement("div",{className:"location__blurb"},ee)):null,i.default.createElement(h.default,{report:r?r["Average ".concat(X," by Employer")]:null,title:"Popular Employers in ".concat(B),currencyCode:v,subtitle:"The most common companies reported by employees working in ".concat(B,".")}),i.default.createElement("div",{className:"page-section"},i.default.createElement("h2",{className:"page-subtitle"},I," Job Listings"),i.default.createElement(m.default,{allowEmptyJobTitle:!0,country:g,url:n&&n.jobListings,location:I,numListings:4})),A?i.default.createElement("div",{className:"page-section"},i.default.createElement("h2",{className:"page-subtitle"},"Popular Schools for Employees in ",I),i.default.createElement("div",{className:"section-description"},"The most commonly attended schools reported by employees working in ",B),A):null,$&&i.default.createElement("div",{className:"page-section"},i.default.createElement("h2",{className:"page-subtitle"},"Cities Near ",B),i.default.createElement("div",{className:"location__row"},$))),i.default.createElement(d.default,{trackingCode:z,pageType:"city"}))},N=C;t.default=N;var S=function(e,t,a,n){var r=[];return e&&t&&r.push({label:t,url:(0,_.getCountryBreadcrumb)(e,t)}),a&&(r.push({label:"State or Province",url:(0,_.getProvinceBreadcrumb)(t,e)}),r.push({label:a,url:(0,_.getStateBreadcrumb)(e,a)})),r.push({label:n,url:""}),r},q=function(e,t,a,n,r){var o;return e&&n&&r&&(o=[{label:e.metro?i.default.createElement("a",{href:e.metro},"Trends in Wages"):"Trends In Wages",value:i.default.createElement(v.default,{decimalPoints:1,overall:n,withText:!1,reverse:!0,uncolored:!0})},{label:i.default.createElement("a",{href:"/cost-of-living-calculator/".concat(a.replace(/ /g,"-"),"-").concat(t.replace(/ /g,"-"))},"Cost of Living"),value:i.default.createElement(v.default,{decimalPoints:0,overall:r,withText:!1,reverse:!1,uncolored:!0})}]),o},k=function(e){var t,a,n=e.name,r=e.average,o=e.tiw,l=e.col,i=e.qYear,s=e.jobs,u=e.lowSalary,c=e.highSalary,d=e.employers,p="Trends in wages ".concat(0===o?"remained unchanged":o>0?"increased":"decreased"," by ").concat(o," percent ").concat(i?"in ".concat(i):"","."),f="The cost of living in ".concat(n," is ").concat(0===l?"the same as":"".concat(l,l>0?" percent higher than":" percent lower than")," the national average.");switch(s.length){case 0:t="";break;case 1:t="The most popular occupation in ".concat(n," is ").concat(s[0].name," which pays between ").concat(u," and ").concat(c," per year.");break;case 2:t="The most popular occupations in ".concat(n," are ").concat(s[0].name," and ").concat(s[1].name," which pay between ").concat(u," and ").concat(c," per year.");break;default:t="The most popular occupations in ".concat(n," are ").concat(s[0].name,", ").concat(s[1].name,", and ").concat(s[2].name," which pay between ").concat(u," and ").concat(c," per year.")}switch(d.length){case 0:a="";break;case 1:a="The most popular employer in ".concat(n," is ").concat(d[0].name,".");break;case 2:a="The most popular employers in ".concat(n," are ").concat(d[0].name," and ").concat(d[1].name,".");break;default:a="The most popular employers in ".concat(n," are ").concat(d[0].name,", ").concat(d[1].name,", and ").concat(d[2].name,".")}return"The average salary in ".concat(n," is ").concat(r,". ").concat(p," ").concat(f," ").concat(t," ").concat(a)},x=function(e){return e&&e.length>0?i.default.createElement(y.default,{items:e.map((function(e,t){return i.default.createElement(g.default,{key:"".concat(t).concat(e.name),title:e.name,titleLink:e.url||"/",subtitle:null,logoProps:{entityType:"school",entity:e.name}})}))}):null};C.propTypes={data:s.default.object.isRequired,cityData:s.default.shape({latest:s.default.object,index:s.default.object,col:s.default.object,metro:s.default.string,about:s.default.string}),toggleLink:s.default.object,apis:s.default.object}},vzVE:function(e,t,a){"use strict";a.r(t);var n=a("eVuF"),r=a.n(n),o=a("ln6h"),l=a.n(o),i=a("cDcd"),s=a.n(i),u=a("fol8"),c=a("sSby"),d=a("/mtj"),p=a("kUaQ"),f=a("vCas"),m=a.n(f),h=(a("wL+v"),s.a.createElement),y=function(e){var t=e.pageData,a=e.cityData,n=u.ReportTypes[t.reportType].displayName,r="".concat(t.dimensions.location.city,", ").concat(t.dimensions.location.state||Object(d.getCountryByAbbreviation)(t.country));return h(s.a.Fragment,null,h(p.a,{canonicalUrl:t.refs?t.refs.url:t.url,title:"".concat(r," ").concat(n," | PayScale"),description:"".concat(r," - ").concat(n," - Get a free salary comparison based on job title, skills, experience and education. Accurate, reliable salary and compensation comparisons for ").concat(r,", ").concat(Object(d.getCountryByAbbreviation)(t.country))}),h(m.a,{apis:{jobListings:c.d},data:t,cityData:a}))};y.getInitialProps=function(e){var t,a;return l.a.async((function(n){for(;;)switch(n.prev=n.next){case 0:if(t=e.req,a=e.query,void 0!==t){n.next=3;break}return n.abrupt("return",__NEXT_DATA__.props.pageProps);case 3:return n.abrupt("return",a);case 4:case"end":return n.stop()}}),null,null,null,r.a)},t.default=y},xYJe:function(e,t,a){"use strict";var n=Object.assign||function(e){for(var t=1;t1)){var t=this.props.rotationAngle,a=i(function(e){return"touches"in e?{x:e.touches[0].clientX,y:e.touches[0].clientY}:{x:e.clientX,y:e.clientY}}(e),t),n=a.x,r=a.y;this.props.stopPropagation&&e.stopPropagation(),this.swipeable={start:Date.now(),x:n,y:r,swiping:!1,rotationAngle:t}}},t.prototype.eventMove=function(e){var t=this.props,a=t.stopPropagation,n=t.delta,r=t.onSwiping,o=t.onSwiped,l=t.onSwipingLeft,i=t.onSwipedLeft,u=t.onSwipingRight,c=t.onSwipedRight,d=t.onSwipingUp,p=t.onSwipedUp,f=t.onSwipingDown,m=t.onSwipedDown,h=t.preventDefaultTouchmoveEvent;if(this.swipeable.x&&this.swipeable.y&&!(e.touches&&e.touches.length>1)){var y=s(e,this.swipeable);if(!(y.absXy.absY?y.deltaX>0?(l||i)&&(l&&l(e,y.absX),g=!0):(u||c)&&(u&&u(e,y.absX),g=!0):y.deltaY>0?(d||p)&&(d&&d(e,y.absY),g=!0):(f||m)&&(f&&f(e,y.absY),g=!0),this.swipeable.swiping=!0,g&&h&&e.preventDefault()}}},t.prototype.eventEnd=function(e){var t=this.props,a=t.stopPropagation,n=t.flickThreshold,r=t.onSwiped,o=t.onSwipedLeft,l=t.onSwipedRight,i=t.onSwipedUp,u=t.onSwipedDown,c=t.onTap;if(this.swipeable.swiping){var d=s(e,this.swipeable);a&&e.stopPropagation();var p=d.velocity>n;r&&r(e,d.deltaX,d.deltaY,p,d.velocity),d.absX>d.absY?d.deltaX>0?o&&o(e,d.deltaX,p):l&&l(e,d.deltaX,p):d.deltaY>0?i&&i(e,d.deltaY,p):u&&u(e,d.deltaY,p)}else c&&c(e);this.swipeable={x:null,y:null,swiping:!1,start:0}},t.prototype.elementRef=function(e){this.element=e,this.props.innerRef&&this.props.innerRef(e)},t.prototype.render=function(){var e=n({},this.props);return this.props.disabled||(e.onTouchStart=this.eventStart,this.props.preventDefaultTouchmoveEvent&&this.hasPassiveSupport||(e.onTouchMove=this.eventMove),e.onTouchEnd=this.eventEnd,e.onMouseDown=this.mouseDown),e.ref=this.elementRef,delete e.onSwiped,delete e.onSwiping,delete e.onSwipingUp,delete e.onSwipingRight,delete e.onSwipingDown,delete e.onSwipingLeft,delete e.onSwipedUp,delete e.onSwipedRight,delete e.onSwipedDown,delete e.onSwipedLeft,delete e.onTap,delete e.flickThreshold,delete e.delta,delete e.preventDefaultTouchmoveEvent,delete e.stopPropagation,delete e.nodeName,delete e.children,delete e.trackMouse,delete e.disabled,delete e.innerRef,delete e.rotationAngle,r.createElement(this.props.nodeName,e,this.props.children)},t}(r.Component);u.propTypes={onSwiped:o.func,onSwiping:o.func,onSwipingUp:o.func,onSwipingRight:o.func,onSwipingDown:o.func,onSwipingLeft:o.func,onSwipedUp:o.func,onSwipedRight:o.func,onSwipedDown:o.func,onSwipedLeft:o.func,onTap:o.func,flickThreshold:o.number,delta:o.number,preventDefaultTouchmoveEvent:o.bool,stopPropagation:o.bool,nodeName:o.string,trackMouse:o.bool,disabled:o.bool,innerRef:o.func,children:o.node,rotationAngle:o.number},u.defaultProps={flickThreshold:.6,delta:10,preventDefaultTouchmoveEvent:!1,stopPropagation:!1,nodeName:"div",disabled:!1,rotationAngle:0},e.exports=u}},[["RnCE",1,0,2]]]);