"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[235],{8871:(T,v,a)=>{a.d(v,{Z:()=>b});var e=a(6109),r=a(8102);const E=()=>e.createElement(r.q,{script:[{type:"text/javascript",innerHTML:y}]}),y=`
document.addEventListener("DOMContentLoaded", (event) => {
window.GeckoEngagementWidget={widgetId:"98108c8d-4ebe-43eb-b590-ecf0ff9eb4e5"};
});
(function (d) {
"use strict";
var geckoScript = d.createElement("script");
geckoScript.id = "gecko-chat-script";
geckoScript.src = "https://widget.geckoengage.com/embed";
var scriptTags = d.getElementsByTagName("script")[0];
if (d.getElementById("gecko-chat-script")) {
return;
}
scriptTags.parentNode.insertBefore(geckoScript, scriptTags);
})(document)
`,b=E},7021:(T,v,a)=>{a.d(v,{Z:()=>B});var e=a(6109),r=a(3519),E=a(5492),y=a(4666),b=a(2361),g=a(6681),P=a(6043),l=a(3719),z=a(1679),L=a(1183);const i={search:"Search",suggestions:"Suggestions",programmes:{all:"Search our programmes",level:{globalCollege:"Search our Global College programmes",undergraduate:"Search our Undergraduate programmes",postgraduate:"Search our Postgraduate programmes",research:"Search our Research programmes"},delivery:{graduateApprenticeships:"Search our Graduate Apprenticeship programmes"},gscopes:{globalCollege:"globalcollege",undergraduate:"ug",postgraduate:"pg",research:"research",graduateApprenticeships:"ga"}}};var K=a(2294),C=a(5718),G=a(9648),O=a(5884);const U=({level:n,school:u,global:M})=>{const{isJQueryLoaded:D,areOtherScriptsLoaded:I}=(0,C.Z)();(0,e.useEffect)(()=>{if(D&&I){console.log("All scripts loaded successfully!");const A=window.matchMedia("(max-height: 55rem)").matches?4:3;$(function(){$("input#searchBarInput").autocompletion({datasets:{programmes:{collection:"heriot-watt~sp-programmes",profile:V(R,n??"",M??!1),program:"https://search.hw.ac.uk/s/suggest.json",name:i.suggestions,format:"extended",show:A,group:!0,template:{suggestion:'
',pending:'Searching…
',notFound:'Sorry, no results
'}}},typeahead:{}})})}},[D,I]);const m=(0,K.Z)(),R=(0,g.v9)(P.Kd)??"uk";let p=i.programmes.all;n&&(n==="Global College"?p=i.programmes.level.globalCollege:n==="Undergraduate"?p=i.programmes.level.undergraduate:n==="Postgraduate"?p=i.programmes.level.postgraduate:n==="Research"?p=i.programmes.level.research:n==="Graduate Apprenticeships"&&(p=i.programmes.delivery.graduateApprenticeships));let s="";return R&&!M&&(s=R),n&&n==="Graduate Apprenticeships"&&(s?s+=",ga+":s="ga"),u&&(s?s+=`,${u}+`:s=u),e.createElement(H,{$brandEbs:m},e.createElement(b.H,null,e.createElement(N,{id:"searchBar",action:"https://search.hw.ac.uk/s/search.html",$isBrandEbs:m},e.createElement("input",{type:"hidden",name:"collection",value:"heriot-watt~sp-programmes"}),e.createElement("input",{type:"hidden",name:"profile",value:"programmes"}),n&&n!=="Graduate Apprenticeships"&&e.createElement("input",{type:"hidden",name:"f.Level|level",value:n}),s&&e.createElement("input",{type:"hidden",name:"gscope1",value:s}),e.createElement(W,{placeholder:p,id:"searchBarInput",name:"query",type:"search","aria-label":p}),!n&&e.createElement("select",{name:"f.Level|level","aria-label":l.OP.level},e.createElement("option",{value:""},"Select study level"),e.createElement("option",{value:l.RD.globalCollege},l.RD.globalCollege),e.createElement("option",{value:l.RD.undergraduate},l.RD.undergraduate),e.createElement("option",{value:l.RD.postgraduate},l.RD.postgraduate),e.createElement("option",{value:l.RD.research},l.RD.research)),e.createElement(w,{as:"button",type:"submit",$variant:m?"greenLight":"blueBright"},e.createElement(L.ZP,{as:"span"},i.search),e.createElement(j,{as:"span"},e.createElement(Z,null))))))},H=(0,r.default)(b.Y)`
background-color: ${n=>n.$brandEbs?n.theme.colors.blue.dark:n.theme.colors.blue.primary};
padding-top: ${n=>n.theme.spacing.l};
padding-bottom: ${n=>n.theme.spacing.l};
`,N=r.default.form`
${z.r}
color: ${n=>n.theme.colors.neutral.white};
display: flex;
flex-direction: column;
gap: ${n=>n.theme.spacing.xs};
max-width: 60rem;
@media ${n=>n.theme.mq.min.laptop} {
flex-direction: row;
gap: ${n=>n.theme.spacing.s};
}
.twitter-typeahead {
flex-grow: 1;
input {
width: 100%;
}
}
${G.F}
.tt-category {
${L.j4}
font-weight: bold;
color: ${n=>n.theme.colors.blue.dark};
padding: ${n=>n.theme.spacing.xxs} ${n=>n.theme.spacing.xs};
@media ${n=>n.theme.mq.min.tablet} {
${O.B8}
}
}
.tt-menu {
color: ${n=>n.theme.colors.blue.primary};
position: unset !important;
@media ${n=>n.theme.mq.min.laptop} {
&.tt-open {
position: absolute !important;
}
box-shadow: rgba(0, 0, 0, 0.75) 0px 2rem 3rem 0px;
}
}
.tt-suggestion {
display: flex;
flex-direction: column;
gap: ${n=>n.theme.spacing.xxs};
&:hover {
background-color: ${n=>n.$isBrandEbs?n.theme.colors.green.shade:n.theme.colors.blue.mid};
color: ${n=>n.$isBrandEbs&&n.theme.colors.blue.dark};
.tt-footer {
svg {
fill: ${n=>n.$isBrandEbs===!1&&n.theme.colors.neutral.white};
}
}
}
}
.tt-header {
}
.tt-title {
${O.IH}
}
.tt-footer {
display: flex;
justify-content: space-between;
${L.mV}
.tt--icon-pair {
display: flex;
gap: ${n=>n.theme.spacing.xxxs};
align-items: center;
}
svg {
width: 1rem;
height: 1rem;
fill: ${n=>n.theme.colors.blue.primary};
}
}
`,W=r.default.input`
flex-grow: 1;
`,w=(0,r.default)(y.ZP)`
display: flex;
align-items: center;
gap: ${n=>n.theme.spacing.xs};
`,j=(0,r.default)(L.ZP)`
display: inline-flex;
`,Z=(0,r.default)(E.L)`
height: auto;
width: 1.25rem;
`,V=(n,u,M)=>{const D="autocomplete-programmes",I=n?"-"+n:"";let m="";if(u&&n!=="ebs"&&n!=="online")switch(u){case"Undergraduate":m="-ug";break;case"Postgraduate":m="-pg";break;case"Research":m="-research";break}return D+I+m},B=U},432:(T,v,a)=>{a.d(v,{a:()=>E,t:()=>r});var e=a(5631);const r={ZenInfo:(0,e.ZP)(()=>Promise.resolve().then(a.bind(a,7664)),{resolveComponent:y=>y.VersionInfo})},E=(0,e.ZP)(()=>Promise.all([a.e(841),a.e(191)]).then(a.bind(a,4929)))},7242:(T,v,a)=>{a.r(v),a.d(v,{default:()=>Ce});var e=a(6109),r=a(432),E=a(5411),y=a(6620),b=a(958),g=a(1224),P=a(5884),l=a(3519),z=a(2397),L=a(2572),i=a(4069),K=a(4600),C=a(6076),G=a(1186),O=a(512),U=a(1183);const H={keyFact:"Key fact"},N=({content:t})=>t?e.createElement(W,null,e.createElement(P.ZP,{as:"h2",$size:"4 serif",$color:"black"},H.keyFact),e.createElement(U.ZP,{as:"p"},t)):null,W=l.default.div`
display: flex;
flex-direction: column;
gap: ${t=>t.theme.spacing.s};
background: ${t=>t.theme.colors.orchil.shade};
padding: ${t=>t.theme.spacing.s} ${t=>t.theme.spacing.s}
${t=>t.theme.spacing.l} ${t=>t.theme.spacing.s};
`,w=N;var j=a(8871),Z=a(6681),V=a(6442),B=a(4666),n=a(3238),u=a(6413),M=a(3327),D=a(7021),I=a(878),m=a(7330),R=a(5964),p=a(2294),s=a(3964),q=a(2356),A=a(1420),_=a(5492);const me=()=>{const t=(0,Z.v9)(A.routing.selectors.selectCurrentSiblings),o=(0,Z.v9)(A.routing.selectors.selectCurrentNode).id,h=t.findIndex(c=>c.id===o),d=h>0?h-1:void 0,f=ht.theme.spacing.xs};
padding-bottom: ${t=>t.theme.spacing.xl};
@media ${t=>t.theme.mq.min.mobile} {
gap: ${t=>t.theme.spacing.m};
justify-content: flex-start;
}
`,ee=(0,l.css)`
width: calc((${t=>t.theme.spacing.m} + ${t=>t.theme.spacing.xxxs}) / 2); // 1.125rem
`,ge=(0,l.default)(_.gf)`
${ee}
`,ue=(0,l.default)(_.rx)`
${ee}
`,pe=me,he=({mappedEntry:t})=>{const{title:o,description:h,breadcrumb:d,theme:f,hero:c,introduction:J,content:Q,contentComposerProps:le,contact:x,keyFact:X,relatedDocuments:S,genericSectionText:Y,searchBar:oe,testimonial:k,cardRow:F}=t||{},re=(0,Z.v9)(V.Fx),Ze=(0,Z.v9)(A.routing.selectors.selectRouteEntryContentTypeId),Be=re&&re.startsWith("/study")||!1,se=!!(S&&S.content?.length),ce=!!(x&&x.content?.length),ie=!!(se&&ce);return e.createElement(Ee,{theme:f},e.createElement(b.Z,{pageTitle:o,ogImage:c.image?.src&&i.ZS+c.image?.src,ogImageAltText:c.image?.alt&&c.image?.alt,description:h}),d?e.createElement(K.Z,{...d,padding:f==="column"?"wide":"default"}):null,c?e.createElement(be,{...c,cta:c.cta}):null,e.createElement(xe,{theme:f},!c&&o||J||Q?e.createElement(g.ZP,{id:"introduction",padding:!1,condensed:!0},e.createElement(fe,null,!c&&o&&e.createElement(P.ZP,{as:"h1",$size:"1"},o),J?e.createElement(te,null,e.createElement(E.ZP,{data:J})):null,Q?e.createElement(te,null,e.createElement(E.ZP,{data:Q})):null)):null,Y?e.createElement(g.ZP,{id:"genericSectionText",...Y,variant:"feature",padding:!1},e.createElement(R.Lu,{text:Y.text})):void 0,oe&&e.createElement(D.Z,{...oe}),F&&F.cards?e.createElement(g.ZP,{...F.section,background:"darkBlue",width:!1,padding:!1,variant:"feature",id:"cardGrid"},e.createElement(I.Z,{cardVariant:"primary",cardsOnly:!0,forceLength:!0,...(0,m.J)(F.cards)})):null,k?.content?e.createElement(g.ZP,{...C.iP,...k.section,id:"testimonial"},e.createElement(M.Z,{...k.content,variant:"darkBlue"})):null,X?.content?.content&&e.createElement(g.ZP,{...X.section,...C._F,id:"keyFact"},e.createElement(G.Ii,null,e.createElement(w,{...X.content}))),se||ce?e.createElement(ve,null,x&&x.content?.length?e.createElement(g.ZP,{...x.section,...C.nu,id:"contact",heading:"Contact"},ie?e.createElement(ne,{contacts:x.content}):e.createElement(G.Ii,null,e.createElement(ne,{contacts:x.content}))):null,S&&S.content?.length?e.createElement(g.ZP,{...S.section,...C.nu,id:"relatedDocuments",heading:q.u.relatedDocuments},ie?e.createElement(Le,null,e.createElement(ae,{documents:S.content})):e.createElement(s.g,null,e.createElement(ae,{documents:S.content}))):null):null,le?e.createElement(r.a,{...le}):null,Ze==="sequencePage"&&e.createElement(pe,null)),Be&&e.createElement(j.Z,null))},fe=l.default.div`
display: flex;
flex-direction: column;
gap: ${t=>t.theme.spacing.l};
`,te=l.default.div`
display: flex;
flex-direction: column;
gap: ${t=>t.theme.spacing.xs};
@media ${t=>t.theme.mq.min.desktop} {
gap: ${t=>t.theme.spacing.s};
}
`,ve=l.default.div`
@media ${t=>t.theme.mq.min.desktop} {
border-top: ${t=>t.theme.radius.xs} solid
${t=>t.theme.colors.grey.light};
display: flex;
flex-direction: row;
gap: ${t=>t.theme.spacing.s};
> * {
flex: 1;
}
& section {
// remove the featured generic section border
border-top: none !important;
}
}
`,Ee=({children:t,theme:o="wide"})=>o==="column"?e.createElement(ye,null,e.createElement($e,null,t)):e.createElement(y.Z,null,t),ye=(0,l.default)(y.Z)`
background: ${t=>t.theme.colors.grey.light};
`,$e=l.default.div`
max-width: ${t=>t.theme.grid.default.width};
margin-left: auto;
margin-right: auto;
background: ${t=>t.theme.colors.neutral.white};
`,xe=({children:t,theme:o="wide"})=>o==="column"?e.createElement(Se,null,t):e.createElement(e.Fragment,null,t),Se=l.default.div`
@media ${t=>t.theme.mq.min.laptop} {
padding-left: calc(${t=>t.theme.spacing.l} - ${t=>t.theme.spacing.xs});
padding-right: calc(${t=>t.theme.spacing.l} - ${t=>t.theme.spacing.xs});
/* flex column and order to move related content to bottom - disabled as pulls all card rows down until we can isolate Related only */
/* display: flex;
flex-direction: column;
> div:has(div > section > div > div > h2#cardGrid) {
order: 10;
} */
}
`,be=({_type:t,image:o,heading:h,cta:d})=>{const f=(0,p.Z)();return t==="heroBannerSimple"?e.createElement(L.Z,{image:o},e.createElement(P.ZP,{as:"h1",$size:"1"},h)):e.createElement(z.Z,{image:o},e.createElement(n.F8,null,e.createElement(P.ZP,{as:"h1",$size:"1",$color:"white"},h),d?e.createElement(n.if,null,e.createElement(Pe,{path:d.path,$variant:f?"greenLight":"whiteOutline"},d.label)):null))},Pe=(0,l.default)(B.ZP)`
@media ${t=>t.theme.mq.min.tablet} {
// as button is on light background need to convert whiteOutline to Blue variant
${t=>t.$variant==="whiteOutline"&&B.PQ}
box-shadow: unset;
}
`,ne=({contacts:t})=>t.length?e.createElement(e.Fragment,null,t.map(o=>e.createElement(O.Z,{key:o.name,...o,...u.EH}))):null,ae=({documents:t})=>t.length?e.createElement(e.Fragment,null,t.map(o=>e.createElement(s.Z,{key:o.link,...o,...u.EH}))):null,Le=l.default.ul`
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: ${t=>t.theme.spacing.xs};
`,Ce=he}}]);