"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[9638],{30501:(jt,j,a)=>{a.r(j),a.d(j,{default:()=>Tt});var t=a(48322),J=a(11514),X=a(6842),q=a(15347),l=a(34500),s=a(58641),z=a(14864);const _=({pubukprn:e,unistatsYear:n,ucasCode:o,kisMode:r="FullTime",language:c="en-GB",displayMode:h="responsive"})=>{const f=o.split("/"),g=f.length;return t.createElement(t.Fragment,null,t.createElement(z.m,{script:[{type:"text/javascript",innerHTML:oe}]}),f.map(E=>E?(g>2&&(h="horizontal"),t.createElement(ae,{key:E,className:"kis-widget","data-institution":e,"data-course":n+"_"+E,"data-kismode":r,"data-orientation":h,$displayMode:h,"data-language":c})):null))},ee=(0,l.css)` width: 615px; height: 150px; `,te=(0,l.css)` width: 190px; height: 500px; `,ne=(0,l.css)` min-width: 190px; `,ae=l.default.div` ${e=>e.$displayMode==="horizontal"&&ee}; ${e=>e.$displayMode==="vertical"&&te} ${e=>e.$displayMode==="responsive"&&ne} `,oe=` (function (d) { "use strict"; var widgetScript = d.createElement("script"); widgetScript.id = "unistats-widget-script"; widgetScript.src = "https://discoveruni.gov.uk/widget/embed-script"; var scriptTags = d.getElementsByTagName("script")[0]; if (d.getElementById("unistats-widget-script")) { return; } scriptTags.parentNode.insertBefore(widgetScript, scriptTags); })(document)`,le=_;var P=a(38559);const re=({title:e,description:n,unistats:o})=>o?t.createElement(ce,{className:"no-print"},t.createElement(P.I,null,t.createElement(ie,null,t.createElement(me,null,t.createElement(s.Ay,{$size:"2",as:"h2",$color:"white"},e),t.createElement(s.Ay,{$size:"4 italic",as:"p",$color:"white"},n)),t.createElement(se,null,t.createElement(le,{...o}))))):null,ce=l.default.div` background-color: ${e=>e.theme.colors.stone.primary}; `,ie=(0,l.default)(P.V)` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.l}; padding-top: ${e=>e.theme.spacing.l}; padding-bottom: ${e=>e.theme.spacing.l}; @media ${e=>e.theme.mq.min.tablet} { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: ${e=>e.theme.spacing.xs}; padding-top: ${e=>e.theme.spacing.xxl}; padding-bottom: ${e=>e.theme.spacing.xxl}; } `,se=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; `,me=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; `,de=re;var M=a(43266),ue=a(39289),ge=a(60608),pe=a(73218),I=a(68046),he=a(81321),U=a(87977),B=a(92779),C=a(83652);const fe=({intro:e,semesters:n})=>t.createElement(Ee,null,e?t.createElement(I.VK,{text:e}):null,n?.map(o=>{if(o)return t.createElement("div",{key:o.id},t.createElement(s.Ay,{as:"h4",$size:"4 serif"},o.title),t.createElement(C.MarkupStyled,null,t.createElement("ul",null,o.courses?.map(r=>t.createElement("li",{key:r},r)))))})),Ee=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.m}; `,ye=fe;var $e=a(89381),ve=a(6893);const Ae=({structures:e})=>t.createElement(xe,null,e.map(n=>n.years?t.createElement(Se,{key:n.id},e.length>1?t.createElement(s.Ay,{as:"h3",$size:"3"},n.title):t.createElement(s.Ay,{as:"h3",className:"visually-hidden"},n.title),t.createElement(ve.A,null,n.years?.map((o,r)=>t.createElement($e.A,{open:r===0,title:o.title,key:o.id},t.createElement(ye,{...o}))))):null)),xe=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.l}; `,Se=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.m}; `,Ce=Ae;var be=a(37479),Pe=a(84990),A=a(79353);const Ie=({value:e,variant:n="percent",label:o,theme:r="light"})=>{if(e===0)return null;const c=r==="dark"?"stoneShade":"bluePrimary";return t.createElement(ze,{$theme:r},t.createElement("div",null,n==="gbp"&&t.createElement(s.Ay,{as:"span",$size:"2",$color:c},"\xA3"),t.createElement(s.Ay,{as:"span",$size:"1",$color:c},e),(n==="aed"||n==="myr")&&t.createElement(s.Ay,{as:"span",$size:"2",$color:c},n.toUpperCase()),n==="percent"&&t.createElement(s.Ay,{as:"span",$size:"2",$color:c},"%")),t.createElement(A.Ay,null,o))},ze=l.default.div` --bordercolor: ${e=>e.theme.colors.bluebright.shade}; ${e=>e.$theme==="dark"&&`--bordercolor:${e.theme.colors.stone.primary}`}; display: flex; flex-direction: column; align-items: flex-start; padding-left: ${e=>e.theme.spacing.s}; border-left: ${e=>e.theme.spacing.xxxs} solid var(--bordercolor); max-width: 28rem; `,we=Ie;var ke=a(57643),w=a(76921),H=a(92589),De=a(3767);const Te=({careerPaths:e,employabilityStats:n})=>t.createElement(Oe,null,n?.percentages?.stats.length?t.createElement(k,{...n.percentages}):null,n?.salary?.stats.length?t.createElement(k,{...n.salary}):null,n?.pgtOnline?.stats?.length?t.createElement(k,{...n.pgtOnline}):null,n?.employerLogos?.length?t.createElement(t.Fragment,null,t.createElement(s.Ay,{as:"h3",$size:"4 serif",$color:"stoneShade"},H.Vt.pgtOnline.employersHeading),n?.employerIntro?t.createElement(A.Ay,{$color:"white"},n.employerIntro):null,t.createElement(De.A,{links:n.employerLogos,$noContainer:!0,$themeOverride:"darkBrown"})):null,e?.paths.length?t.createElement(Le,null,t.createElement(s.Ay,{as:"h3",$size:"4 serif",$color:"stoneShade"},e.heading),t.createElement(C.MarkupStyled,null,t.createElement(je,null,e.paths.map((o,r)=>t.createElement("li",{key:o+r},o)))),e.cta?.link?t.createElement(Me,{path:e.cta.link,$variant:"whiteOutline"},e.cta.label):null):null,n?.testimonial?t.createElement(w.A,{...n.testimonial,variant:"feature"}):null),Oe=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.l}; `,Le=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; `,je=l.default.ul` margin-top: 0; `,Me=(0,l.default)(ke.Ay)` width: fit-content; `,k=({heading:e,intro:n,stats:o})=>o?t.createElement(Ue,null,e&&t.createElement(s.Ay,{as:"h3",$size:"4 serif",$color:"stoneShade"},e),n&&t.createElement(I.VK,{text:n}),o?t.createElement(Be,null,o.map((r,c)=>t.createElement(we,{...r,theme:"dark",key:r.label+c}))):null):null,Ue=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; `,Be=l.default.div` display: flex; flex-wrap: wrap; gap: ${e=>e.theme.spacing.l}; `,He=Te;var x=a(59792),Ge=a(67820),m=a(96175);const Fe=({title:e,copy:n,programmes:o,backgroundImage:r})=>t.createElement(Ve,{$hasBgImage:!!r},r&&t.createElement(Ne,null,t.createElement(Re,{src:r,srcSet:r+"&w=640 640w, "+r+"&w=1280 1280w, "+r+"&w=1597 1597w",alt:"",loading:"lazy","aria-hidden":!0})),t.createElement(P.V,null,t.createElement(Ke,null,t.createElement(We,null,t.createElement(s.Ay,{as:"h2",$size:"2",$color:"bluebrightShade"},e),n?t.createElement(A.Ay,{$color:"white"},t.createElement(C.default,{theme:"blue",text:n})):null),o?.length?t.createElement(Ye,null,o?.map(c=>c?.title?t.createElement(Qe,{key:c.title},t.createElement(s.Ay,{as:"h3",$size:"4 serif",$color:"white"},t.createElement(Ze,{link:c.link,title:c.title})),c.copy?t.createElement(A.Ay,{$color:"white"},t.createElement(C.default,{text:c.copy})):null):null)):null))),Ne=l.default.div` position: absolute; height: 100%; width: 100%; overflow: hidden; z-index: -1; `,Re=l.default.img` position: absolute; height: 100%; width: 100%; inset: 0; object-fit: cover; color: transparent; `,Ve=l.default.div` position: relative; background: ${e=>e.theme.colors.blue.primary}; background: ${e=>e.$hasBgImage&&e.theme.colors.blue.primary+"db"}; `,Ke=(0,l.default)(P.I)` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; padding-top: ${e=>e.theme.spacing.l}; padding-bottom: ${e=>e.theme.spacing.l}; @media ${e=>e.theme.mq.min.tablet} { padding-top: ${e=>e.theme.spacing.xxl}; padding-bottom: ${e=>e.theme.spacing.xxl}; } `,We=l.default.div` display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; ${m.x4}; `,Ye=l.default.div` @media ${e=>e.theme.mq.min.tablet} { display: grid; grid-auto-columns: 1fr; grid-auto-flow: column; } `,Qe=l.default.div` --spacing: ${e=>e.theme.spacing.s}; --border-color: #ffffff40; display: flex; flex-direction: column; gap: ${e=>e.theme.spacing.s}; &:only-child { max-width: 60rem; } &:not(:first-child) { padding-top: var(--spacing); } &:not(:last-child) { padding-bottom: var(--spacing); box-shadow: 0 0.0625rem 0 0 var(--border-color); } @media ${e=>e.theme.mq.min.tablet} { &:not(:first-child) { padding-left: var(--spacing); padding-top: 0; } &:not(:last-child) { padding-right: var(--spacing); padding-bottom: 0; box-shadow: 0.0625rem 0 0 0 var(--border-color); } } `,Ze=({title:e,link:n})=>n?t.createElement(Ge.A,{path:n},e):t.createElement(t.Fragment,null,e),Je=Fe;var Xe=a(86973),S=a(2739),qe=a(86492);const _e=({image:e,title:n,sub:o,testimony:r})=>t.createElement(et,null,e?t.createElement(lt,null,t.createElement(rt,{src:e.src,alt:e.alt,loading:"lazy"})):t.createElement(ct,null,t.createElement(qe.DA,null)),t.createElement(tt,null,t.createElement(nt,null,t.createElement(s.Ay,{as:"p",$size:"4 serif",$color:"stoneDark"},n),o&&t.createElement(at,{as:"p"},o)),t.createElement(ot,{as:"blockquote"},r))),et=l.default.div` display: flex; padding: 0; flex-direction: column; align-items: flex-start; gap: 0; height: 100%; `,tt=l.default.div` display: flex; padding: ${e=>e.theme.spacing.s}; flex-direction: column; align-items: flex-start; gap: ${e=>e.theme.spacing.s}; align-self: stretch; height: 100%; background-color: ${e=>e.theme.colors.neutral.white}; `,nt=l.default.div` display: flex; padding: 0; flex-direction: column; gap: ${e=>e.theme.spacing.xxs}; align-self: stretch; `,at=(0,l.default)(A.Ay)` color: ${e=>e.theme.colors.neutral.black}; font-size: 1.25em; `,ot=(0,l.default)(A.Ay)` color: ${e=>e.theme.colors.neutral.black}; &::before { content: open-quote; } &::after { content: close-quote; } `,lt=l.default.div` height: 15rem; width: 100%; `,rt=l.default.img` height: 15rem; object-fit: cover; object-position: center center; width: 100%; `,ct=l.default.div` display: flex; height: 15rem; padding: ${e=>e.theme.spacing.xl} 0; justify-content: center; align-items: center; align-self: stretch; color: ${e=>e.theme.colors.blue.shade}; background-color: ${e=>e.theme.colors.blue.mid}; & svg { fill: ${e=>e.theme.colors.blue.shade}; height: 7.5em; } `,it=_e;var st=a(170);const mt=({programmes:e})=>t.createElement(S.zF,null,e.map(n=>t.createElement(x.A,{key:n.id,color:"green",...n,padded:!0})));var dt=a(64398),ut=a(47474);const gt=({award:e,brand:n,clearing:o,code:r,codeShort:c,gscope:h,subject:f,subjectAdditional:g,title:E,thumbnail:v})=>t.createElement("div",{id:"content-summary","data-award":e,"data-brand":n,"data-clearing":o,"data-gcm":c,"data-gcmfull":r,"data-gscope":"campus-"+h,"data-subject":f+"|"+g,"data-title":E,"data-thumbnail":v});var G=a(78917);const pt=({course:e})=>{const n=G.Ok;return t.createElement(z.m,null,t.createElement("script",{type:"application/ld+json"},` { "@context": "https://schema.org", "@type": "Course", "availableLanguage": "${e?.availableLanguage}" ${e?.courseCode?`,"courseCode": "${e?.courseCode}"`:""} ${e?.description?`,"description": "${e?.description}"`:""} ,"educationalCredentialAwarded": { "@type": "EducationalOccupationalCredential", "credentialCategory": "${e?.educationalCredentialAwarded?.credentialCategory}", "name": "${e?.educationalCredentialAwarded?.name}" }, "financialAidEligible": "${e?.financialAidEligible}", "hasCourseInstance": { "courseMode": "${e?.hasCourseInstance?.courseMode}", "courseWorkload": "${e?.hasCourseInstance?.courseWorkload}" ${e?.hasCourseInstance?.instructor?.name?`,"instructor": { "@type": "Person", ${e?.hasCourseInstance?.instructor?.name?`,"name": "${e?.hasCourseInstance?.instructor?.name}"`:""} ${e?.hasCourseInstance?.instructor?.description?`,"description": "${e?.hasCourseInstance?.instructor?.description}"`:""} ${e?.hasCourseInstance?.instructor?.image?.src?`,"image": "${n+e?.hasCourseInstance?.instructor?.image?.src}"`:""} }`:""} ${e?.hasCourseInstance?.location?`,"location": "${e?.hasCourseInstance?.location}"`:""} } ${e?.image?.src?`,"image": [ "${n+e.image.src+"&w=450&h=450&fit=crop"}", /* 1x1 */ "${n+e.image.src+"&w=600&h=450&fit=crop"}", /* 4x3 */ "${n+e.image.src+"&w=800&h=450&fit=crop"}" /* 16x9 */ ]`:""} ,"inLanguage": "${e?.inLanguage}" ${e?.name?`,"name": "${e?.name}"`:""} ,"offers": { "@type": "Offer", "category": "Paid" }, "provider": { "@type": "Organization", "name": "${e?.provider?.name}", "url": "${e?.provider?.url}" }, "publisher": { "@type": "Organization", "name": "${e?.provider?.name}", "url": "${e?.provider?.url}" } }, `))};var u=a(38970),ht=a(15556),F=a(16711),ft=a(33483),N=a(73321),Et=a(48983);const yt={id:"",mapper:(e=[])=>e},$t=()=>{const[e,n]=(0,t.useState)(yt),o=(0,M.d4)(Et.fn),r=N.T+o,h="https://search.hw.ac.uk/s/recommender/similarItems.json?collection=heriot-watt~sp-programmes&maxRecommendations=4&scope="+(N.T+o.substring(0,o.lastIndexOf("/"))+"/");if(!h||!r){console.error("funnelBackUri or pageUri is not defined");return}const f=h+"&seedItem="+r;return(0,t.useEffect)(()=>{fetch(f).then(g=>{if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);return g.json()}).then(g=>{n({id:"relatedProgrammes",config:{title:H.Zz.heading,customApi:{uri:f}},mapper:(E=[])=>E?.RecommendationResponse?.recommendations?.map(i=>({id:i.itemID,image:{src:i.metaData.thumbnail[0]||i.metaData.image[0],alt:"",width:348,height:240,id:i.itemID},taxonomy:i.metaData.campus[0]||void 0,link:i.itemID,title:i.metaData.t[0]||i.title}))})}).catch(g=>console.error("Error:",g))},[h,r]),(0,ft.zK)(e)},vt=({variant:e="info",text:n})=>n?t.createElement(bt,{$variant:e,text:n}):null,At=(0,l.css)` --background: ${e=>e.theme.colors.bluebright.shade}; --border: ${e=>e.theme.colors.bluebright.mid}; `,xt=(0,l.css)` --background: ${e=>e.theme.colors.green.shade}; --border: ${e=>e.theme.colors.green.dark}; `,St=(0,l.css)` --background: ${e=>e.theme.colors.stone.shade}; --border: ${e=>e.theme.colors.stone.primary}; `,Ct=(0,l.css)` --background: ${e=>e.theme.colors.pink.shade}; --border: ${e=>e.theme.colors.pink.dark}; `,bt=(0,l.default)(C.default)` padding: ${e=>e.theme.spacing.xs} ${e=>e.theme.spacing.s}; color: ${e=>e.theme.colors.neutral.black}; ${e=>e.$variant==="info"&&At}; ${e=>e.$variant==="success"&&xt}; ${e=>e.$variant==="warning"&&St}; ${e=>e.$variant==="error"&&Ct}; border-left: ${e=>e.theme.spacing.xxs} solid var(--border); background-color: var(--background); & a { color: ${e=>e.theme.colors.neutral.black}; font-weight: bold; :hover { text-decoration: none; } } `,Pt=vt,It=()=>t.createElement(z.m,null,t.createElement("script",null,zt)),zt=` window.unibuddySettings = { uni_id: 'heriot-watt-university', colour: '0A3E65', domain: 'https://popcard.unibuddy.co/', title: 'Unibuddy Popcard', align: 'right', ubLang: 'en-GB', ubCookieConsent: 'necessary', }; (function () { "use strict"; var e = document.createElement("script"); e.async = true; e.src = "https://cdn.unibuddy.co/unibuddy-popcard.js"; document.getElementsByTagName("head")[0].appendChild(e); } ()); `,wt=It,kt=({mappedEntry:e})=>{const{breadcrumb:n,hero:o,anchorMenu:r,keyInformation:c,promotion:h,studentExperience:f,goGlobal:g,courseContent:E,videos:v,studentTestimonials:i,teachingStaff:y,feesFunding:$,entryRequirements:D,whyHw:Ht,employability:b,studentLife:p,discoverUni:R,contact:V,recommendedProgrammes:K,relatedProgrammes:T,metaData:W,funnelbackMetadata:Y,courseSchema:Q}=e||{},O=(0,M.d4)(ue.zj)||"uk",L=(0,X.iA)(O)||void 0,{results:Z}=$t(),Ot=!!(b?.section.lead||b?.content.undergraduate?.percentages?.stats?.length||b?.content.careerPaths?.paths.length),Lt=!!(p?.content.chatToOurStudents||p?.content.lifeIn||p?.content.studentSupport||p?.content.virtualTour);return t.createElement(Dt,{$hasAnchorMenu:!0},t.createElement(ut.A,{pageTitle:o?.heading?o?.heading:"",description:W?.description,ogDescription:W?.description,ogImage:G.Ok+e?.hero.image?.src}),n?t.createElement(st.A,{...n}):null,o?t.createElement(be.A,{image:o.image,badge:o.badge},t.createElement(Pe.Ay,{heading:o.heading,ctas:o.ctas,share:o.share})):null,t.createElement("article",null,t.createElement(B.A,{...r}),c?.details?.data.length&&c?.overview?t.createElement(m.Ay,{...c.section,...u.wH},c.approvalStatus!=="Approved"&&c.draftProgramAlert&&t.createElement(Pt,{variant:"warning",text:c.draftProgramAlert.text}),c.details&&t.createElement(ge.Ay,{...c.details}),c.overview&&t.createElement(I.VK,{text:c.overview})):null,h?t.createElement(U.A,{...h}):null,f?.tabs.length?t.createElement(m.Ay,{...f.section,...u.HV,className:"no-print"},t.createElement(pe.Ay,{data:f.tabs})):null,g?t.createElement(Je,{...g}):null,E?.content?.structures[0]?.years[0]?.id?t.createElement(m.Ay,{...E.section,...u.wH},t.createElement(Ce,{...E.content})):null,v?.content.length?t.createElement(m.Ay,{...v.section,...u.jg},t.createElement(S.Ay,null,v.content.map(d=>d?.videoID?t.createElement(he.default,{key:d.videoID,videoID:d.videoID,title:d.title,copy:d.copy,size:"large",...v.content}):null))):null,i?.content.cards?.length||i?.content.quote?.text?t.createElement(m.Ay,{...i.section,...u.jg},i.content.cards?.length?t.createElement(S.Gz,null,i.content.cards?.map(d=>t.createElement(it,{key:d.title,...d}))):null,i.content.quote?.text?t.createElement(w.A,{variant:"feature",...i.content.quote}):null):null,y?.content.leader||y?.content.cards?.length||y?.content.quote?.text?t.createElement(m.Ay,{...y.section,...u.jg},y?.content.leader||y?.content.cards?.length?t.createElement(S.Gz,null,y.content.leader?t.createElement(F.A,{header:"Programme leader",...y.content.leader}):null,y.content.cards?.map(d=>t.createElement(F.A,{key:d.name,...d}))):null,y.content.quote?.text&&t.createElement(w.A,{variant:"feature",...y.content.quote})):null,$?.content?.feesInfo||$?.content?.feeAdditional?t.createElement(m.Ay,{...$.section,...u.wH},$.content.feesInfo?t.createElement(J.A,{...$.content.feesInfo}):null,$.content.feeAdditional?t.createElement(dt.A,{...$.content.feeAdditional}):null,$.content.feePromo?t.createElement(ht.A,{...$.content.feePromo}):null):null,D?.content?t.createElement(m.Ay,{...D.section,...u.wH},t.createElement(Xe.A,{...D.content})):null,L?t.createElement(m.Ay,{...L.section,...u.Ac},t.createElement(I.VK,{text:L.content.text,theme:"dark"})):null,Ot?t.createElement(m.Ay,{...b?.section,...u.jg},t.createElement(He,{...b?.content})):null,Lt?t.createElement(m.Ay,{...p?.section,...u.jg},t.createElement(S.zF,null,p?.content.lifeIn?t.createElement(x.A,{...p.content.lifeIn,padded:!0}):null,p?.content.studentSupport?t.createElement(x.A,{...p.content.studentSupport,padded:!0}):null,p?.content.virtualTour?t.createElement(x.A,{...p.content.virtualTour,padded:!0}):null,p?.content.chatToOurStudents?t.createElement(x.A,{...p.content.chatToOurStudents,padded:!0}):null)):null,R&&O==="uk"?t.createElement("section",null,t.createElement(de,{...R})):null,V?t.createElement("section",null,t.createElement(U.A,{...V})):null,T?.content?.length?t.createElement(m.Ay,{...T.section,...u.jg},t.createElement(S.Gz,null,T.content.map(d=>t.createElement(x.A,{key:d.title,color:"green",...d,padded:!0})))):K&&Z?.length?t.createElement(m.Ay,{...K.section,...u.jg},t.createElement(mt,{programmes:Z})):null,Y&&t.createElement(gt,{...Y}),Q&&t.createElement(pt,{...Q}),O==="uk"&&t.createElement(wt,null)))},Dt=(0,l.default)(q.A)` margin-bottom: ${e=>e.$hasAnchorMenu&&B.Q}; // height of anchor menu `,Tt=kt}}]);