"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[235],{8871:(W,d,a)=>{a.d(d,{Z:()=>h});var e=a(6109),o=a(8102);const g=()=>e.createElement(o.q,{script:[{type:"text/javascript",innerHTML:p}]}),p=` 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) `,h=g},3964:(W,d,a)=>{a.d(d,{Z:()=>b,g:()=>l});var e=a(6109),o=a(3519),g=a(5492),p=a(689),h=a(1183);const m=({title:r,type:P,link:I,size:L})=>e.createElement(c,null,e.createElement(R,{"aria-hidden":!0,width:"1rem"}),e.createElement(x,null,e.createElement(O,{path:I},e.createElement(S,{as:"span"},y(r))),P&&e.createElement(Z,{as:"span",$size:"small"}," ","(",P,L&&", "+L.value+L.unit,")"))),y=r=>r?r.replaceAll("-"," ").replaceAll("_"," ").replaceAll("Heriot Watt","½­ΔΟΜεΣύ"):void 0,l=o.default.ul` display: flex; flex-direction: column; gap: ${r=>r.theme.spacing.s}; list-style: none; padding-left: 0; @media ${r=>r.theme.mq.min.tablet} { display: grid; grid-template-columns: repeat(2, 1fr); } @media ${r=>r.theme.mq.min.desktop} { grid-template-columns: repeat(3, 1fr); } `,O=(0,o.default)(p.Z)` display: block; `,x=o.default.div` display: flex; flex-direction: column; gap: ${r=>r.theme.spacing.xxxs}; `,c=o.default.li` display: flex; gap: ${r=>r.theme.spacing.xxs}; align-items: top; `,R=(0,o.default)(g.Ec)` color: ${r=>r.theme.colors.neutral.black}; flex-shrink: 0; width: 1.5rem; height: 1.5rem; `,S=(0,o.default)(h.ZP)` text-transform: capitalize; `,Z=(0,o.default)(h.ZP)` text-transform: uppercase; `,b=m},7021:(W,d,a)=>{a.d(d,{Z:()=>K});var e=a(6109),o=a(3519),g=a(5492),p=a(4666),h=a(2361),m=a(6681),y=a(6043),l=a(3719),O=a(1679),x=a(1183);const c={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 R=a(2294),S=a(5718),Z=a(9648),b=a(5884);const r=({level:n,school:f,global:T})=>{const{isJQueryLoaded:B,areOtherScriptsLoaded:M}=(0,S.Z)();(0,e.useEffect)(()=>{if(B&&M){console.log("All scripts loaded successfully!");const V=window.matchMedia("(max-height: 55rem)").matches?4:3;$(function(){$("input#searchBarInput").autocompletion({datasets:{programmes:{collection:"heriot-watt~sp-programmes",profile:j(F,n??"",T??!1),program:"https://search.hw.ac.uk/s/suggest.json",name:c.suggestions,format:"extended",show:V,group:!0,template:{suggestion:'
{{#if label.listMetadata.title}}{{label.listMetadata.title}}{{else}}{{label.title}}{{/if}}{{#if label.listMetadata.award}} {{label.listMetadata.award}}{{/if}}
',pending:'
Searching…
',notFound:'
Sorry, no results
'}}},typeahead:{}})})}},[B,M]);const u=(0,R.Z)(),F=(0,m.v9)(y.Kd)??"uk";let E=c.programmes.all;n&&(n==="Global College"?E=c.programmes.level.globalCollege:n==="Undergraduate"?E=c.programmes.level.undergraduate:n==="Postgraduate"?E=c.programmes.level.postgraduate:n==="Research"?E=c.programmes.level.research:n==="Graduate Apprenticeships"&&(E=c.programmes.delivery.graduateApprenticeships));let i="";return F&&!T&&(i=F),n&&n==="Graduate Apprenticeships"&&(i?i+=",ga+":i="ga"),f&&(i?i+=`,${f}+`:i=f),e.createElement(P,{$brandEbs:u},e.createElement(h.H,null,e.createElement(I,{id:"searchBar",action:"https://search.hw.ac.uk/s/search.html",$isBrandEbs:u},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}),i&&e.createElement("input",{type:"hidden",name:"gscope1",value:i}),e.createElement(L,{placeholder:E,id:"searchBarInput",name:"query",type:"search","aria-label":E}),!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(H,{as:"button",type:"submit",$variant:u?"greenLight":"blueBright"},e.createElement(x.ZP,{as:"span"},c.search),e.createElement(w,{as:"span"},e.createElement(N,null))))))},P=(0,o.default)(h.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}; `,I=o.default.form` ${O.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%; } } ${Z.F} .tt-category { ${x.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} { ${b.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 { ${b.IH} } .tt-footer { display: flex; justify-content: space-between; ${x.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}; } } `,L=o.default.input` flex-grow: 1; `,H=(0,o.default)(p.ZP)` display: flex; align-items: center; gap: ${n=>n.theme.spacing.xs}; `,w=(0,o.default)(x.ZP)` display: inline-flex; `,N=(0,o.default)(g.L)` height: auto; width: 1.25rem; `,j=(n,f,T)=>{const B="autocomplete-programmes",M=n?"-"+n:"";let u="";if(f&&n!=="ebs"&&n!=="online")switch(f){case"Undergraduate":u="-ug";break;case"Postgraduate":u="-pg";break;case"Research":u="-research";break}return B+M+u},K=r},432:(W,d,a)=>{a.d(d,{a:()=>g,t:()=>o});var e=a(5631);const o={ZenInfo:(0,e.ZP)(()=>Promise.resolve().then(a.bind(a,7664)),{resolveComponent:p=>p.VersionInfo})},g=(0,e.ZP)(()=>Promise.all([a.e(841),a.e(191)]).then(a.bind(a,4929)))},6411:(W,d,a)=>{a.r(d),a.d(d,{default:()=>ve});var e=a(6109),o=a(432),g=a(8217),p=a(6620),h=a(958),m=a(1224),y=a(5884),l=a(3519),O=a(2397),x=a(2572),c=a(4069),R=a(4600),S=a(6076),Z=a(1186),b=a(512),r=a(1183);const P={keyFact:"Key fact"},I=({content:t})=>t?e.createElement(L,null,e.createElement(y.ZP,{as:"h2",$size:"4 serif",$color:"black"},P.keyFact),e.createElement(r.ZP,{as:"p"},t)):null,L=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}; `,H=I;var w=a(8871),N=a(6681),j=a(6442),K=a(4666),n=a(3238),f=a(6413),T=a(3327),B=a(7021),M=a(878),u=a(7330),F=a(5964),E=a(2294),i=a(3964),q=a(2356);const V=({mappedEntry:t})=>{const{title:s,description:U,breadcrumb:A,theme:G,hero:v,introduction:J,content:Q,contentComposerProps:ae,contact:C,keyFact:X,relatedDocuments:D,genericSectionText:Y,searchBar:ne,testimonial:k,cardRow:z}=t||{},le=(0,N.v9)(j.Fx),ye=le&&le.startsWith("/study")||!1,oe=!!(D&&D.content?.length),re=!!(C&&C.content?.length),se=!!(oe&&re);return e.createElement(me,{theme:G},e.createElement(h.Z,{pageTitle:s,ogImage:v.image?.src&&c.ZS+v.image?.src,ogImageAltText:v.image?.alt&&v.image?.alt,description:U}),A?e.createElement(R.Z,{...A,padding:G==="column"?"wide":"default"}):null,v?e.createElement(he,{...v,cta:v.cta}):null,e.createElement(pe,{theme:G},!v&&s||J||Q?e.createElement(m.ZP,{id:"introduction",padding:!1,condensed:!0},e.createElement(ce,null,!v&&s&&e.createElement(y.ZP,{as:"h1",$size:"1"},s),J?e.createElement(_,null,e.createElement(g.ZP,{data:J})):null,Q?e.createElement(_,null,e.createElement(g.ZP,{data:Q})):null)):null,Y?e.createElement(m.ZP,{id:"genericSectionText",...Y,variant:"feature",padding:!1},e.createElement(F.Lu,{text:Y.text})):void 0,ne&&e.createElement(B.Z,{...ne}),z&&z.cards?e.createElement(m.ZP,{...z.section,background:"darkBlue",width:!1,padding:!1,variant:"feature",id:"cardGrid"},e.createElement(M.Z,{cardVariant:"primary",cardsOnly:!0,forceLength:!0,...(0,u.J)(z.cards)})):null,k?.content?e.createElement(m.ZP,{...S.iP,...k.section,id:"testimonial"},e.createElement(T.Z,{...k.content,variant:"darkBlue"})):null,X&&e.createElement(m.ZP,{...X.section,...S._F,id:"keyFact"},e.createElement(Z.Ii,null,e.createElement(H,{...X.content}))),oe||re?e.createElement(ie,null,C&&C.content?.length?e.createElement(m.ZP,{...C.section,...S.nu,id:"contact",heading:"Contact"},se?e.createElement(ee,{contacts:C.content}):e.createElement(Z.Ii,null,e.createElement(ee,{contacts:C.content}))):null,D&&D.content?.length?e.createElement(m.ZP,{...D.section,...S.nu,id:"relatedDocuments",heading:q.u.relatedDocuments},se?e.createElement(Ee,null,e.createElement(te,{documents:D.content})):e.createElement(i.g,null,e.createElement(te,{documents:D.content}))):null):null,ae?e.createElement(o.a,{...ae}):null),ye&&e.createElement(w.Z,null))},ce=l.default.div` display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.l}; `,_=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}; } `,xe=l.default.div` display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.s}; `,ie=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; } } `,me=({children:t,theme:s="wide"})=>s==="column"?e.createElement(de,null,e.createElement(ge,null,t)):e.createElement(p.Z,null,t),de=(0,l.default)(p.Z)` background: ${t=>t.theme.colors.grey.light}; `,ge=l.default.div` max-width: ${t=>t.theme.grid.default.width}; margin-left: auto; margin-right: auto; background: ${t=>t.theme.colors.neutral.white}; `,pe=({children:t,theme:s="wide"})=>s==="column"?e.createElement(ue,null,t):e.createElement(e.Fragment,null,t),ue=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; } */ } `,he=({_type:t,image:s,heading:U,cta:A})=>{const G=(0,E.Z)();return t==="heroBannerSimple"?e.createElement(x.Z,{image:s},e.createElement(y.ZP,{as:"h1",$size:"1"},U)):e.createElement(O.Z,{image:s},e.createElement(n.F8,null,e.createElement(y.ZP,{as:"h1",$size:"1",$color:"white"},U),A?e.createElement(n.if,null,e.createElement(fe,{path:A.path,$variant:G?"greenLight":"whiteOutline"},A.label)):null))},fe=(0,l.default)(K.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"&&K.PQ} box-shadow: unset; } `,ee=({contacts:t})=>t.length?e.createElement(e.Fragment,null,t.map(s=>e.createElement(b.Z,{key:s.name,...s,...f.EH}))):null,te=({documents:t})=>t.length?e.createElement(e.Fragment,null,t.map(s=>e.createElement(i.Z,{key:s.link,...s,...f.EH}))):null,Ee=l.default.ul` list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: ${t=>t.theme.spacing.xs}; `,ve=V}}]);