PageSourceSearch

https://www.academicjobs.com/_next/static/chunks/7768-bfb40ece97b8a5e0.js

js academicjobs.com collected 2026-09-24 21:49:05 UTC 33,051 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7768],{9781:(e,t,r)=>{r.d(t,{default:()=>i});var s=r(95155),a=r(29401),n=r(98500),l=r.n(n),o=r(63867);function i({subcategories:e,cols:t="text-4-cols",trailing:r=null,prefixUrl:n="/higher-ed-jobs",suffixUrl:c="-jobs",flatDirectory:u=!1}){let d=(0,o.b0)();if(!e.length)return(0,s.jsx)("p",{className:"text-gray-500",children:d("No job categories available.")});let h=""===c;return(0,s.jsx)("section",{"aria-label":d("Academic specialty categories"),children:(0,s.jsxs)("div",{className:t,children:[e.map(e=>(0,s.jsxs)("details",{className:"mb-3 overflow-hidden bg-white rounded-xl group",children:[(0,s.jsxs)("summary",{className:"flex cursor-pointer list-none items-center justify-between p-0.5 Xmin-h-[60px] hover:bg-gray-50 transition-colors",children:[(0,s.jsx)("div",{className:"flex items-center mr-1.5",children:e.specialties.length>0?(0,s.jsx)(a._kA,{className:"w-5 h-5 text-gray-400 transition-transform duration-200 group-open:rotate-180"}):null}),(0,s.jsx)("h3",{className:"w-full min-w-0 m-0 text-[16px] font-bold text-gray-blue",children:(0,s.jsxs)(l(),{href:`${n}/${h?e.sub_category_pageSlug.replace("-jobs",""):e.sub_category_pageSlug}`,className:"flex items-center min-w-0 hover:underline",onClick:e=>e.stopPropagation(),children:[(0,s.jsx)("span",{className:"truncate",children:e.sub_category_name}),(0,s.jsx)("span",{className:"shrink-0 text-[12px] min-w-10 text-center font-semibold text-gray-600 ml-1 px-1.5 py-1 rounded-full border border-gray-300",children:e.job_count})]})})]}),e.specialties.length>0?(0,s.jsx)("ul",{className:"px-4 pt-2 pb-4 list-none border-t border-gray-100",children:e.specialties.map(t=>(0,s.jsx)("li",{children:(0,s.jsxs)(l(),{href:`${n}${u?"":`/${e.sub_category_shortName_slug}${c}`}/${h?t.specialty_pageSlug.replace("-jobs",""):t.specialty_pageSlug}`,className:"flex items-center justify-between px-3 py-2 text-sm text-gray-600 transition-colors rounded-lg hover:bg-gray-100",children:[(0,s.jsx)("span",{children:t.specialty_name}),(0,s.jsx)("span",{className:"pl-1 text-xs text-gray-400",children:t.job_count??null})]})},t.specialty_name))}):null]},e.sub_category_name+"-subcategory")),r]})})}},11142:(e,t,r)=>{r.d(t,{default:()=>i});var s=r(95155),a=r(5772),n=r(33886),l=r(63867),o=r(64776);function i({universities:e,uniLinksData:t={},gridId:r,className:c="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-
15"}){let u=(0,l.b0)(),d={"Explore Roles":u("Explore Roles"),"Open Positions":u("Open Positions"),"Browse Careers":u("Browse Careers"),"View Jobs":u("View Jobs"),"View Openings":u("View Openings"),"Find a Career":u("Find a Career"),"Discover Jobs":u("Discover Jobs"),"Check Vacancies":u("Check Vacancies"),"View University":u("View University"),"Learn More":u("Learn More"),Explore:u("Explore"),"Visit Profile":u("Visit Profile"),"See Details":u("See Details"),"View Info":u("View Info")},h={Jobs:u("Jobs"),Careers:u("Careers")};return(0,s.jsx)("div",{id:r,className:c,children:e.map(([e,r])=>{var l;let i,c=t[e]||{},p=(0,o.Hc)(e,r.jobCount),m=c.linkText||p.text,g=d[m]??m,x=c.jobsPageUrl||`/${e}`;return(0,s.jsxs)(n.H,{href:x,target:c.jobsPageUrl?"_blank":void 0,rel:c.jobsPageUrl?"noopener noreferrer":void 0,className:"group relative block bg-white rounded-xl border border-gray-200/70 p-4 shadow-sm transition-all duration-300 ease-out hover:shadow-xl hover:shadow-blue-100/50 hover:-translate-y-1 hover:border-blue-200 overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-50/0 via-transparent to-purple-50/0 opacity-0 transition-opacity duration-300 group-hover:opacity-100"}),(0,s.jsx)("div",{className:"absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-700 bg-gradient-to-r from-transparent via-white/30 to-transparent skew-x-12"}),(0,s.jsxs)("div",{className:"relative flex items-start gap-4",children:[(0,s.jsx)("div",{className:"m-0 p-0 shrink-0 size-[72px] rounded-lg bg-gray-50 border border-gray-100 flex items-center justify-center overflow-hidden transition-all duration-300 group-hover:border-blue-200 group-hover:shadow-md",children:(0,s.jsx)(a.default,{src:r.logo?o.cX+r.logo:"/opengraph/academic-jobs-logo-og.png",alt:u("{employer} logo",{employer:r.friendlyName}),width:54,height:54,className:"object-contain size-[54px] max-w-[54px] max-h-[54px]"})}),(0,s.jsxs)("div",{className:"h-full flex-1 min-w-0 flex flex-col justify-between",children:[(0,s.jsx)("h3",{className:"font-semibold text-blue-900 text-base mb-1 transition-colors duration-300 group-hover:text-blue-700 line-clamp-2 leading-[1.1] min-h-[46px]",children:(i=(l=r.friendlyName).match(/^(.*\S)\s+(Jobs|Careers)$/))?`${i[1]} ${h[i[2]]}`:l}),(0,s.jsxs)("p",{className:"text-xs text-gray-500 flex items-center gap-1 justify-between m-0",children:[(0,s.jsx)("span",{className:"inline-flex items-center gap-1.5 transition-colors duration-300 group-hover:text-blue-600",children:g}),(0,s.jsx)("span",{className:"flex-shrink-0",children:(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs tracking-tight font-medium bg-gray-100 text-gray-600 transition-all duration-300 group-hover:bg-blue-100 group-hover:text-blue-700",children:u("{qty} jobs",{qty:(r.jobCount||0).toLocaleString()})})})]})]})]})]},e)})})}},15457:(e,t,r)=>{r.d(t,{$P:()=>x,$Y:()=>b,Vg:()=>g,hD:()=>n,lO:()=>h,mu:()=>f});var s=r(55873),a=r(41463);class n extends Error{status;data;constructor(e,t,r){super(e),this.name="ApiError",this.status=t,this.data=r}}let l=new Set([400,403,404,429,502,503]),o=Number(a.env.API_LARGE_RESPONSE_BYTES||1e6),i=Number(a.env.API_LARGE_RESPONSE_SAMPLE_RATE||.1),c=Number(a.env.API_MAX_RESPONSE_BYTES||25e6);function u(e){e.body?.cancel().catch(()=>{})}async function d(e){let t=e.headers.get("content-type")||"";if(t&&!(t.includes("application/json")||t.includes("+json")||t.includes("text/json")))throw u(e),new n(`API Error: non-JSON response (${t}) on ${e.url}`,e.status,null);let r=function(e){let t=e.headers.get("content-length");if(null===t)return null;let r=Number(t);return Number.isFinite(r)?r:null}(e);if(null!==r&&r>c)throw u(e),new n(`API Error: response too large (${r} bytes) on ${e.url}`,e.status,null);if(204===e.status||205===e.status||0===r)return u(e),null;null!==r&&r>=o&&Math.random()<i&&function(e,t){let r=e.url;try{r=new URL(e.url).pathname}catch{}console.warn(`[large-upstream-response] bytes=${t} path=${r}`)}(e,r);try{return await e.json()}catch(t){if(null===r&&t instanceof SyntaxError&&/Unexpected end of JSON input/i.test(t.message))return null;throw new n(`API Error: invalid JSON on ${e.url}`,e.status,null)}}function h(e){return!!function(e){if(e instanceof Error&&("TimeoutError"===e.name||"AbortError"===e.name||e instanceof SyntaxError||/Unexpected token|is not val
1id JSON/i.test(e.message)))return!0;if("object"==typeof e&&null!==e&&"code"in e){let t=e.code;return 20===t||23===t}return!1}(e)||e instanceof n&&(!!l.has(e.status)||/non-JSON|invalid JSON/i.test(e.message))}function p(e){h(e)||console.error(e)}function m(e,t){let r,n=`${s.J?.replace(/\/$/,"")}/${e?.replace(/^\//,"")}`,{revalidate:l,...o}=t;o.credentials="include",void 0===o.signal&&(o.signal=AbortSignal.timeout(a.env.NEXT_PUBLIC_API_TIMEOUT_MS?Number(a.env.NEXT_PUBLIC_API_TIMEOUT_MS):("phase-production-build"===a.env.NEXT_PHASE||a.env.NEXT_PHASE,3e4))),"http://localhost:3000"===window.location.origin&&(o.headers={...o.headers,"X-Dev-Secret":"adDlrAycII9tGk64GWZwKzXXojMShtpq"}),void 0!==l&&(o.next={...o.next,revalidate:l});let i=[...new Set([...o.next?.tags??[],...!(r=e?.replace(/^\/+|\/+$/g,""))?[]:[...new Set([r.split("/")[0],r])]])];return o.next={...o.next,tags:i},{url:n,options:o}}async function g(e,t={},r=!1,s={}){try{let{url:a,options:l}=m(e,{headers:s.headers,next:s.next,signal:"number"==typeof s.timeoutMs?AbortSignal.timeout(s.timeoutMs):void 0,revalidate:!1!==r&&("number"==typeof r?r:void 0)}),o=new URL(a);Object.entries(t).forEach(([e,t])=>{null!=t&&(Array.isArray(t)?t.forEach(t=>{null!=t&&o.searchParams.append(e,t)}):o.searchParams.append(e,t))});let i=await fetch(o.toString(),l);if(!i.ok)throw u(i),new n(`API Error: ${i.status} ${i.statusText} on ${o.toString()}`,i.status,null);return d(i)}catch(e){if(p(e),s.throwOnError)throw e}}async function x(e,t,r=!1,s={}){try{let a={method:"POST",headers:{"Content-Type":"application/json",...s.headers},body:JSON.stringify(t),next:s.next};(!1===r||"number"==typeof r)&&(a.revalidate=r);let{url:l,options:o}=m(e,a),i=await fetch(l,o);if(!i.ok){let e=null;try{e=await d(i)}catch{}throw new n(`API Error: ${i.status} ${i.statusText} on ${l}`,i.status,e)}return d(i)}catch(e){throw p(e),e}}async function b(e,t,r={}){try{let{url:s,options:a}=m(e,{method:"PATCH",headers:{"Content-Type":"application/json",...r.headers},body:JSON.stringify(t)}),n=await fetch(s,a);if(!n.ok)throw u(n),Error(`API Error: ${n.status} ${n.statusText} on ${s}`);return d(n)}catch(e){p(e)}}async function f(e,t,r={}){try{let{url:s,options:a}=m(e,{method:"PUT",headers:{"Content-Type":"application/json",...r.headers},body:JSON.stringify(t)}),n=await fetch(s,a);if(!n.ok)throw u(n),Error(`API Error: ${n.status} ${n.statusText} on ${s}`);return d(n)}catch(e){p(e)}}},20206:(e,t,r)=>{r.d(t,{default:()=>c});var s=r(95155),a=r(12115),n=r(51793),l=r(5772),o=r(33886),i=r(63867);function c({universityData:e,itemsPerPage:t=12}){let r=(0,i.b0)(),[u,d]=(0,a.useState)(1),[h,p]=(0,a.useState)([]),m=(0,a.useMemo)(()=>Object.entries(e).filter(([e,t])=>t.friendlyName),[e]),g=Math.ceil(m.length/t);return(0,a.useEffect)(()=>{d(1)},[e]),(0,a.useEffect)(()=>{let e=(u-1)*t;p(m.slice(e,e+t))},[u,t,m]),(0,a.useEffect)(()=>{window.scrollTo({top:0,behavior:"smooth"})},[u]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("ol",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 list-none",children:h.map(([e,t])=>(0,s.jsx)("li",{className:"relative p-2 bg-white shadow-lg rounded-lg overflow-hidden transition-transform duration-300 hover:scale-105 hover:shadow-xl hover:bg-gray-100 h-full max-h-[112px]",children:(0,s.jsxs)(o.H,{href:`/${e}`,className:"relative flex items-center gap-2 h-full z-10",children:[(0,s.jsx)("div",{className:"w-[62px] h-[62px]",children:(0,s.jsx)(l.default,{src:t.logo?`https://cdn.academicjobs.com/img/university-logo/${encodeURIComponent(t.logo)}`:"/placeholder.svg",alt:r("{employer} logo",{employer:t.friendlyName}),width:62,height:62,className:"w-[62px] h-[62px] object-contain"})}),(0,s.jsx)("h3",{className:"text-[1.15rem] font-semibold text-gray-blue leading-tight",children:t.friendlyName}),void 0!==t.jobCount&&(0,s.jsx)("span",{className:"absolute m-0 bottom-1 right-2 text-gray-400 hover:text-amber-500 text-[0.8rem] hover:underline",children:0===t.jobCount?r("View University"):r("View {count} Jobs",{count:t.jobCount})})]})},e))}),(0,s.jsx)(n.A,{currentPage:u,totalPages:g,onPageChange:e=>{d(e)}})]})}},21615:(e,t,r)=>{r.d(t,{default:()=>i});var s=r(95155),a=r(37206),n=r(12115),l=r(63867);let o=(0,a.default)(()=>Promise.all([r.e(49344),r.e(41733)]).then(r.bind(r,41733)),{loadableGenerated:{webpack:()=>[41733]},ssr:!1});function i({subcategories:e,startFilter:t="",showMastersOnly:r=!1,limit:a,linkProps:c,searchPlaceholder:u="Search specialties...",serverLinks:d}
1){let h=(0,l.b0)(),p=(0,n.useRef)(null),[m,g]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{let e=p.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(g(!0),t.disconnect())},{rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[]),m)?(0,s.jsx)(o,{subcategories:e,startFilter:t,showMastersOnly:r,limit:a,linkProps:c,searchPlaceholder:u,children:(0,s.jsx)("div",{children:d},"category-server-links")}):(0,s.jsxs)("div",{ref:p,children:[(0,s.jsxs)("div",{className:"flex items-start gap-2 mb-6",children:[(0,s.jsxs)("div",{className:"flex-1 relative",children:[(0,s.jsx)("label",{htmlFor:"category-filter-search",className:"sr-only",children:h("Filter academic specialties")}),(0,s.jsx)("input",{id:"category-filter-search",type:"text",placeholder:u,onFocus:()=>g(!0),className:"text-sm placeholder:text-sm placeholder:text-pink-500 w-full h-11 px-3 border border-gray-300 rounded-lg shadow-sm focus:ring-amber-500 focus:border-amber-500"})]}),(0,s.jsx)("button",{type:"button",onClick:()=>g(!0),className:"shrink-0 self-stretch flex items-center gap-1.5 px-3 border border-gray-300 rounded-lg text-sm text-gray-600 bg-white hover:bg-gray-50 shadow-sm transition-colors","aria-label":h("Sort specialties"),children:h("Openings")})]}),(0,s.jsx)("div",{children:d},"category-server-links")]})}},27287:(e,t,r)=>{function s(e){return[...e].sort((e,t)=>(t.job_count||0)-(e.job_count||0))}function a(e){return[...e].sort((e,t)=>(t.job_count||0)-(e.job_count||0))}function n({subcategories:e,query:t,limit:r,expanded:a,sortMode:l="count"}){let o=function(e,t,r="count"){let a,n=t.trim(),l=n.toLowerCase();return a=n?e.map(e=>{let t=e.specialties.filter(e=>e.specialty_name.toLowerCase().includes(l));return e.sub_category_name.toLowerCase().includes(l)||t.length>0?{...e,specialties:t}:null}).filter(Boolean):[...e],"alpha"===r?[...a].sort((e,t)=>e.sub_category_name.localeCompare(t.sub_category_name)):s(a)}(e,t,l);return t.trim()||!r||a?o:o.slice(0,r)}function l({query:e,limit:t,expanded:r,sortMode:s="count"}){return!!e.trim()||!!t||r||"alpha"===s}r.d(t,{$U:()=>n,Ab:()=>a,Cp:()=>s,w9:()=>l}),r(96569),r(9020),r(46160)},33886:(e,t,r)=>{r.d(t,{H:()=>o,K:()=>i});var s=r(95155),a=r(98500),n=r.n(a),l=r(94170);function o({prefetch:e=!1,...t}){return(0,s.jsx)(n(),{prefetch:e,...t})}function i({prefetch:e=!1,...t}){return(0,s.jsx)(l.N_,{prefetch:e,...t})}},36647:(e,t,r)=>{r.d(t,{default:()=>u});var s=r(95155),a=r(12115),n=r(47131),l=r(63867),o=r(33886),i=r(11142),c=r(64776);function u({region:e="Global",country:t,locale:r}){let d=(0,l.b0)(),h=(0,a.useRef)(null),[p,m]=(0,a.useState)(!1),[g,x]=(0,a.useState)(null),[b,f]=(0,a.useState)(0),[y,j]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=h.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(m(!0),t.disconnect())},{rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[]),(0,a.useEffect)(()=>{if(!p)return;let t=!1,r=(0,c.H1)(e);return(async()=>{try{let e=await fetch(`${n.V}/career-hub`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({region:r,page:1,itemsPerPage:12})});if(!e.ok)throw Error("career-hub failed");let s=await e.json(),a=s?.data?.data;if(!a||t)return;let l=Object.entries(a).filter(([e,t])=>t.friendlyName);x(l),f(Number(s?.data?.careerHubCount)||l.length)}catch{t||j(!0)}})(),()=>{t=!0}},[p,e]);let w=d(t?.countryCode==="us"?"Best":"Top"),v=d("Universities"),N=t?.name==="Global"?d("What are the {bestOrTop} {plural} to Work for?",{bestOrTop:w,plural:v}):d("What are the {bestOrTop} {plural} to Work for in {place}?",{bestOrTop:w,plural:v,place:t?.aka||t?.name});return(0,s.jsxs)("section",{className:"w-full py-8",ref:h,children:[(0,s.jsx)("h2",{className:"text-[30px] font-bold text-gray-blue text-center mb-10 text-balance",children:N}),y?(0,s.jsx)("p",{className:"text-center text-gray-400 text-xl",children:d("We couldn't load university job links for {region}.",{region:e})}):g?(0,s.jsx)(i.default,{universities:g}):(0,s.jsx)("div",{className:"h-48 rounded-xl bg-slate-100 animate-pulse","aria-hidden":!0}),(0,s.jsxs)("p",{className:"m-0 mt-8 mb-8 text-center text-gray-400",children:[d("Explore")," ",b>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("em",{className:"font-medium",children:b.toLocaleStr
1ing()})," "]}):null,d("Universities")," ",d("Worldwide")," - ",(0,s.jsx)(o.K,{href:"/career-hub",className:"link link-aj",children:d("Your Career Hub")})]})]})}},41733:(e,t,r)=>{r.r(t),r.d(t,{default:()=>m});var s=r(95155),a=r(41191),n=r(12115),l=r(98500),o=r.n(l),i=r(27287),c=r(42496),u=r(63867);function d({subcategories:e,cols:t="text-4-cols",prefixUrl:r="/higher-ed-jobs",suffixUrl:a="-jobs",flatDirectory:n=!1,jobCountCountryLabel:l}){let h=(0,u.b0)();if(!e.length)return(0,s.jsx)("p",{className:"text-gray-500",children:h("No job categories available.")});let p=""===a;return(0,s.jsx)("section",{"aria-label":h("Academic specialty categories"),children:(0,s.jsx)("div",{className:t,children:e.map(e=>{let t,u=(0,i.Ab)(e.specialties),d=p?e.sub_category_pageSlug.replace("-jobs",""):e.sub_category_pageSlug,m=u.map(t=>{let s=p?t.specialty_pageSlug.replace("-jobs",""):t.specialty_pageSlug,l=n?`${r}/${s}`:`${r}/${e.sub_category_shortName_slug}${a}/${s}`;return{slug:t.specialty_pageSlug,name:t.specialty_name,href:l,jobCount:t.job_count}}),g=`cat-${e.sub_category_pageSlug}`;return(0,s.jsxs)("div",{id:g,className:"mb-2 bg-white border border-gray-200 p-4 rounded-lg shadow-sm no-column-break",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1",children:[(0,s.jsx)("h3",{className:"text-pink-600 font-bold text-base m-0 leading-tight",children:(0,s.jsx)(o(),{href:`${r}/${d}`,className:"hover:underline",children:e.sub_category_name})}),null!=e.job_count?(0,s.jsx)("span",{className:"shrink-0 text-xs font-semibold text-gray-500 bg-gray-100 px-2 py-0.5 rounded-full tabular-nums",title:(t=e.job_count,l?h("{count} openings in {label}",{count:t.toLocaleString(),label:l}):h("{count} openings",{count:t.toLocaleString()})),children:e.job_count}):null]}),m.length>0?(0,s.jsx)(c.default,{items:m,anchorId:g,jobCountCountryLabel:l}):null]},e.sub_category_pageSlug)})})})}var h=r(9781),p=r(81877);function m({subcategories:e,startFilter:t="",showMastersOnly:r=!1,limit:l,linkProps:o,searchPlaceholder:c="Search specialties...",children:g}){let x=(0,u.b0)(),[b,f]=(0,n.useState)(t??""),[y,j]=(0,n.useState)(t??""),[w,v]=(0,n.use
1State)(!1),[N,S]=(0,n.useState)("count"),_=(0,p.Y)(e=>{j(e)},200),k=(0,n.useMemo)(()=>(0,i.Cp)(e),[e]),$=(0,n.useMemo)(()=>(0,i.$U)({subcategories:e,query:y,limit:l,expanded:w,sortMode:N}),[e,y,l,w,N]),C=(0,i.w9)({query:y,limit:l,expanded:w,sortMode:N}),E=!y.trim()&&l&&!w&&k.length>l;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-start gap-2 mb-6",children:[(0,s.jsxs)("div",{className:"flex-1 relative",children:[(0,s.jsx)("label",{htmlFor:"category-filter-search",className:"sr-only",children:x("Filter academic specialties")}),(0,s.jsx)("input",{id:"category-filter-search",type:"text",value:b,onChange:e=>{let t=e.target.value;f(t),_(t)},placeholder:c,className:"text-sm placeholder:text-sm placeholder:text-pink-500 w-full h-11 px-3 pr-10 border border-gray-300 rounded-lg shadow-sm focus:ring-amber-500 focus:border-amber-500"}),b?(0,s.jsx)("button",{type:"button",onClick:()=>{f(""),j("")},className:"absolute top-0 right-0 h-full px-3 flex items-center text-gray-400 hover:text-gray-600","aria-label":x("Clear search"),children:(0,s.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}):null]}),(0,s.jsxs)("button",{type:"button",onClick:()=>S(e=>"count"===e?"alpha":"count"),title:x("count"===N?"Switch to A–Z order":"Switch to most jobs first"),"aria-label":x("count"===N?"Currently sorted by most jobs. Switch to A–Z":"Currently sorted A–Z. Switch to most jobs"),className:"shrink-0 self-stretch flex items-center gap-1.5 px-3 border border-gray-300 rounded-lg text-sm text-gray-600 bg-white hover:bg-gray-50 shadow-sm transition-colors",children:[(0,s.jsx)(a.MjW,{className:"w-4 h-4","aria-hidden":"true"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:x("count"===N?"Openings":"A–Z")})]})]}),C?r?(0,s.jsx)(h.default,{subcategories:$,...o,trailing:E?(0,s.jsx)("button",{type:"button",onClick:()=>v(!0),className:"mt-2 w-full flex items-center justify-center gap-1.5 py-2 rounded-md text-sm text-gray-500 bg-gray-50 hover:bg-gray-100 transition-colors",children:x("Show more")}):null}):(0,s.jsx)(d,{subcategories:$,...o}):g]})}},42153:(e,t,r)=>{r.r(t),r.d(t,{MyCountryJobsLink:()=>p,default:()=>h});var s=r(95155),a=r(98500),n=r.n(a),l=r(73321),o=r(11697),i=r(12115),c=r(49457),u=r(13380),d=r(98202);function h({children:e,className:t=""}){let r=(0,o.Ym)(),a=(0,d.e)(),p=(0,l.useRouter)(),[m,g]=(0,i.useState)(!1);async function x(e){if(a&&"global"!==a||(e.preventDefault(),m))return;g(!0);let t=await (0,u.aI)();t&&(0,u.lH)(t),p.push((0,c.bV)(r,t))}return(0,s.jsx)(n(),{href:(0,c.bV)(r,a),className:t,onClick:x,"aria-busy":m,children:e})}function p({children:e,className:t=""}){let r=(0,o.Ym)(),a=(0,d.e)(),l=(0,c.fM)(a);return(0,s.jsx)(n(),{href:(0,c.h4)(r,l,"us"===l?"college-jobs":"university-jobs"),className:t,children:e})}},42496:(e,t,r)=>{r.d(t,{default:()=>c});var s=r(95155),a=r(29401),n=r(12115),l=r(98500),o=r.n(l),i=r(63867);function c({items:e,anchorId:t,jobCountCountryLabel:r}){let l=(0,i.b0)(),[u,d]=(0,n.useState)(!1),h=u?e:e.slice(0,10),p=e.length-10,m=e.length>10;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("ul",{className:"mt-2 text-sm text-gray-600 space-y-1 list-none p-0",children:h.map(e=>{let t;return(0,s.jsx)("li",{children:(0,s.jsxs)(o(),{href:e.href,className:"flex items-center justify-between gap-2 py-0.5 hover:text-pink-600 transition-colors hover:underline",children:[(0,s.jsx)("span",{children:e.name}),null!=e.jobCount?(0,s.jsx)("span",{className:"shrink-0 text-xs text-gray-400 tabular-nums",title:(t=e.jobCount,r?l("{count} openings in {label}",{count:t.toLocaleString(),label:r}):l("{count} openings",{count:t.toLocaleString()})),children:e.jobCount}):null]})},e.slug)})}),m?(0,s.jsx)("button",{type:"button",onClick:u?function(){d(!1),document.getElementById(t)?.scrollIntoView({behavior:"smooth",block:"start"})}:()=>d(!0),"aria-expanded":u,className:"mt-2 w-full flex items-center justify-center gap-1.5 py-1.5 rounded-md text-xs text-gray-500 bg-gray-50 hover:bg-gray-100 transition-colors",children:u?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.XNc,{className:"w-3.5 h-3.5","aria-hidden":"true"}),l("Show less")]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a._kA,{className:"w-3.5 h-3.5","aria-hidden":"true"}),l("{hiddenCount} more",{hiddenCount:p})]})}):null]})}},45868:(e,t,r)=>{r.d(t,{HeroPersonFloat:()=>d,default:()=>h});var s=r(95155),a=r(5772),n=r(12115);let l=[{src:"/heros/people/person-1.webp",width:610,height:800}
1,{src:"/heros/people/person-2.webp",width:522,height:728},{src:"/heros/people/person-3.webp",width:462,height:711},{src:"/heros/people/person-4.webp",width:505,height:734},{src:"/heros/people/person-5.webp",width:630,height:726}],o=null,i=new Map;function c(e){let t=e?.length?e.join("|"):"",r=!t,[s,a]=(0,n.useState)(()=>r?o:i.get(t)??null);return(0,n.useEffect)(()=>{if(r){o||(o=l[Math.floor(Math.random()*l.length)]),a(o);return}let s=i.get(t);s||(s={src:e[Math.floor(Math.random()*e.length)],width:450,height:600},i.set(t,s)),a(s)},[r,t,e]),s}function u({person:e,className:t,sizes:r}){return(0,s.jsx)("div",{className:t,style:{aspectRatio:`${e.width} / ${e.height}`},children:(0,s.jsx)(a.default,{src:e.src,alt:"",fill:!0,priority:!0,sizes:r,className:"object-contain object-bottom"})})}function d({people:e}){let t=c(e);return t?(0,s.jsx)(u,{person:t,sizes:"42vw",className:"pointer-events-none relative shrink-0 w-[42%] max-w-[11rem] md:hidden"}):null}function h({people:e}){let t=c(e);return t?(0,s.jsx)(u,{person:t,sizes:`${t.width}px`,className:"pointer-events-none relative hidden min-h-0 w-auto self-stretch -my-4 md:block md:-my-6"}):null}},47131:(e,t,r)=>{r.d(t,{S:()=>l,V:()=>s});let s=r(55873).J,a=(e={})=>{let t={"Content-Type":"application/json",...e};return"http://localhost:3000"===window.location.origin&&(t["X-Dev-Secret"]="adDlrAycII9tGk64GWZwKzXXojMShtpq"),t},n=e=>{let t=s.endsWith("/")?s.slice(0,-1):s,r=e.startsWith("/")?e:`/${e}`;return`${t}${r}`},l={get:async(e,t={})=>{let r=t.params?`?${new URLSearchParams(t.params).toString()}`:"",{headers:s,...l}=t,o=await fetch(`${n(e)}${r}`,{method:"GET",...l,headers:a(t.headers),credentials:"include"});return{data:204!==o.status?await o.json():null,status:o.status,statusText:o.statusText}},post:async(e,t={},r={})=>{let{headers:s,...l}=r,o=await fetch(n(e),{method:"POST",...l,headers:a(r.headers),credentials:"include",body:JSON.stringify(t)});return{data:await o.json(),status:o.status,statusText:o.statusText}},put:async(e,t,r={})=>{let{headers:s,...l}=r,o=await fetch(n(e),{method:"PUT",...l,headers:a(r.headers),credentials:"include",body:JSON.stringify(t)});return{data:await o.json(),status:o.status,statusText:o.statusText}},delete:async(e,t={})=>{let{headers:r,...s}=t,l=await fetch(n(e),{method:"DELETE",...s,headers:a(t.headers),credentials:"include"});return{data:await l.json(),status:l.status,statusText:l.statusText}}}},51793:(e,t,r)=>{r.d(t,{A:()=>l});var s=r(95155),a=r(29401),n=r(63867);function l({currentPage:e,totalPages:t,onPageChange:r}){let o=(0,n.b0)();return t<=1?null:(0,s.jsxs)("div",{className:"flex items-center justify-center mt-8 gap-1",children:[(0,s.jsx)("button",{onClick:()=>e>1&&r(e-1),disabled:1===e,className:"p-2 rounded-md hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed","aria-label":o("Previous page"),children:(0,s.jsx)(a.feN,{className:"h-5 w-5"})}),(()=>{let r=[];if(t<=5)for(let e=1;e<=t;e++)r.push(e);else{r.push(1);let s=Math.max(2,e-1),a=Math.min(t-1,e+1);e<=2&&(a=4),e>=t-1&&(s=t-3),s>2&&r.push(-1);for(let e=s;e<=a;e++)r.push(e);a<t-1&&r.push(-2),r.push(t)}return r})().map((t,a)=>t<0?(0,s.jsx)("span",{className:"px-3 py-2",children:"..."},`ellipsis-${a}`):(0,s.jsx)("button",{onClick:()=>r(t),className:`px-3 py-1 rounded-md ${e===t?"bg-blue-600 text-white":"hover:bg-gray-100"}`,"aria-label":o("Page {page}",{page:t}),"aria-current":e===t?"page":void 0,children:t},t)),(0,s.jsx)("button",{onClick:()=>e<t&&r(e+1),disabled:e===t,className:"p-2 rounded-md hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed","aria-label":o("Next page"),children:(0,s.jsx)(a.ZK4,{className:"h-5 w-5"})})]})}},53328:(e,t,r)=>{r.d(t,{default:()=>u});var s=r(95155),a=r(12115),n=r(47131),l=r(63867),o=r(41733),i=r(9781),c=r(27287);function u({locale:e,limit:t=7,cols:r="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"}){let d=(0,l.b0)(),h=(0,a.useRef)(null),[p,m]=(0,a.useState)(!1),[g,x]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=h.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(m(!0),t.disconnect())},{rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[]),(0,a.useEffect)(()=>
1{if(!p)return;let e=!1;return(async()=>{try{let t=new URL(`${n.V}/job-category-links`);t.searchParams.set("masterCategoryName","Academic / Faculty");let r=await fetch(t.toString(),{headers:{Accept:"application/json"}});if(!r.ok)throw Error("job-category-links failed");let s=await r.json();if(e||!s||"object"!=typeof s)return;let a=Object.entries(s).map(([e,t])=>({sub_category_name:e,sub_category_pageSlug:t.sub_category_pageSlug,sub_category_shortName_slug:t.sub_category_pageSlug?.replace(/-jobs$/,"")??"",job_count:t.job_count,specialties:t.specialties||[]}));x(a)}catch{e||x([])}})(),()=>{e=!0}},[p]);let b=d("View jobs by Academic Specialty"),f={cols:r,prefixUrl:"/higher-ed-jobs",suffixUrl:"-jobs",flatDirectory:!1};return(0,s.jsxs)("nav",{"aria-label":d("Browse jobs by academic specialty"),ref:h,children:[(0,s.jsx)("h2",{className:"m-0 mb-10 text-[30px] font-bold text-gray-blue text-center text-balance",children:b}),g?0===g.length?null:(0,s.jsx)(o.default,{subcategories:g,showMastersOnly:!0,limit:t,linkProps:f,searchPlaceholder:d("Search specialties..."),children:(0,s.jsx)(i.default,{subcategories:(0,c.$U)({subcategories:(0,c.Cp)(g),query:"",limit:t,expanded:!1,sortMode:"count"}),...f})}):(0,s.jsx)("div",{className:"h-40 rounded-xl bg-slate-100 animate-pulse","aria-hidden":!0})]})}},55873:(e,t,r)=>{r.d(t,{J:()=>l});var s,a=r(41463);let n="https://api.academicjobs.com/api",l=(s={explicitUrl:"https://api.academicjobs.com/api",nodeEnv:"production",useProdApi:a.env.NEXT_PUBLIC_USE_PROD_API,localUrl:n,prodUrl:n}).explicitUrl?s.explicitUrl:"development"===s.nodeEnv?"true"===s.useProdApi?s.prodUrl:s.localUrl:s.prodUrl},64776:(e,t,r)=>{r.d(t,{Dt:()=>h,H1:()=>p,Hc:()=>d,Rf:()=>o,cX:()=>l,qz:()=>i});var s=r(29401),a=r(41191),n=r(38463);let l="https://cdn.academicjobs.com/img/university-logo/",o=6e5,i=18e5,c=[{text:"Explore Roles",icon:a.Z0P},{text:"Open Positions",icon:s.ZK4},{text:"Browse Careers",icon:n.HaR},{text:"View Jobs",icon:a._yv},{text:"View Openings",icon:a._yv},{text:"Find a Career",icon:a.Z0P},{text:"Discover Jobs",icon:s.ZK4},{text:"Check Vacancies",icon:n.HaR}],u=["View University","Learn More","Explore","Visit Profile","See Details","View Info"];function d(e,t){let r=function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t&=t;return Math.abs(t)}(e);return t&&0!==t?{text:c[r%c.length].text,iconName:"briefcase"}:{text:u[r%u.length],iconName:"chevron"}}function h(e,t,r){return["career-hub",e,t,r]}function p(e=""){return"Global"===e?"":e}},90026:(e,t,r)=>{r.d(t,{default:()=>n});var s=r(95155);let a=(0,r(37206).default)(()=>Promise.all([r.e(23747),r.e(4109),r.e(60887)]).then(r.bind(r,60887)),{loadableGenerated:{webpack:()=>[60887]},ssr:!1,loading:()=>(0,s.jsx)("div",{className:"h-10","aria-hidden":!0})});function n(e){return(0,s.jsx)(a,{...e})}},95594:(e,t,r)=>{r.d(t,{default:()=>p});var s=r(95155),a=r(73321),n=r(12115),l=r(37206),o=r(29401),i=r(63863);let c=(0,l.default)(()=>Promise.resolve().then(r.bind(r,32518)),{loadableGenerated:{webpack:()=>[require.resolveWeak("@/components/SearchButton")]}}),u=(0,l.default)(()=>r.e(4533).then(r.bind(r,49295)),{loadableGenerated:{webpack:()=>[require.resolveWeak("./UniSearchBlock")]}}),d=(0,l.default)(()=>Promise.resolve().then(r.bind(r,37027)),{loadableGenerated:{webpack:()=>[require.resolveWeak("@/components/search/SearchOptions")]}}),h=({country:e,forceClass:t="",state:r=""})=>
1{let[l,h]=(0,n.useState)(!1),[p,m]=(0,n.useState)(null),[g,x]=(0,n.useState)(""),b=(0,a.useRouter)(),f="Global";return(0,s.jsxs)("form",{className:`w-full m-0 ${t}`,onSubmit:t=>{if(t.preventDefault(),p&&p.id)b.push(`/employers/${(0,i.UW)(p.company_name)}/${p.id}`);else{f=e||"Global";let t=`/university-jobs?r=${f}`;g.trim()&&(t+=`&q=${encodeURIComponent(g.trim())}`),t+=(""!==r?`&filter0=${encodeURIComponent(JSON.stringify([{category:"State",filter:r}]))}`:"")+"&page=1",b.push(t)}},children:[(0,s.jsx)("div",{className:"w-full",children:(0,s.jsxs)("div",{className:"flex flex-col md:flex-row items-center gap-4",children:[l?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(u,{field:"01_Organisation_Name",customKey:"organisation_name",value1:"",onSelect:(e,t)=>{m({company_name:e,id:t})},forceClass:"text-black",placeholder:"Enter University Name",country:e})}):(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"relative flex-grow w-full",children:[(0,s.jsx)("label",{htmlFor:"keyword-input-country",className:"sr-only",children:"Job Keyword"}),(0,s.jsx)("input",{id:"keyword-input-country",type:"text",className:"w-full input input-md input-bordered rounded-t-lg focus:outline-none focus:border-orange-500 max-md:pr-14",placeholder:"Enter role, keyword, or skills...",value:g,onChange:e=>x(e.target.value)}),(0,s.jsx)("button",{type:"submit","aria-label":e?`Search in ${""!==r?`${r}, `:""}${e}`:"Search",className:"md:hidden absolute right-1 top-1/2 -translate-y-1/2 h-10 w-10 flex items-center justify-center rounded-md bg-[var(--color-primary)] hover:bg-orange-600 text-white",children:(0,s.jsx)(o.zfp,{className:"h-5 w-5"})})]})}),(0,s.jsx)(c,{forceClass:`h-[50px] text-[15px] px-4 py-2 ${l?"":"max-md:!hidden"}`,buttonText:l?e?`Search in ${e}`:"Search University":e?`Search in ${""!==r?`${r}, `:""}${e}`:"Search"})]})}),(0,s.jsx)(d,{isUniSearch:l,setIsUniSearch:h,keyword:g,onGlobalSearch:e=>{let t="/university-jobs?r=Global";e.trim()&&(t+=`&q=${encodeURIComponent(e.trim())}`),t+="&page=1",b.push(t)},region:e})]})},p=(0,l.default)(()=>Promise.resolve(h),{ssr:!1,loading:()=>(0,s.jsxs)("div",{className:"w-full m-0",children:[(0,s.jsx)("div",{className:"w-full",children:(0,s.jsxs)("div",{className:"flex flex-col md:flex-row items-center gap-4",children:[(0,s.jsx)("div",{className:"flex-grow w-full",children:(0,s.jsx)("div",{className:"w-full h-[50px] bg-gray-200 rounded-lg animate-pulse"})}),(0,s.jsx)("div",{className:"w-full md:w-[42%] h-[50px] bg-orange-300 rounded-lg animate-pulse"})]})}),(0,s.jsxs)("div",{className:"w-full mt-2 flex justify-between items-center",children:[(0,s.jsx)("div",{className:"mt-2 flex items-center gap-2",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-40 h-8 bg-gray-200 rounded-full animate-pulse"}),(0,s.jsx)("div",{className:"hidden md:block w-20 h-4 bg-gray-200 animate-pulse"})]})}),(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row gap-1 sm:gap-4",children:[(0,s.jsx)("div",{className:"h-4 w-32 bg-gray-200 animate-pulse"}),(0,s.jsx)("div",{className:"h-4 w-32 bg-gray-200 animate-pulse"})]})]})]})})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.