PageSourceSearch

https://hw.ac.uk/_Z8mtzw_c4d23572-580e-4b85-8ee4-cbbe0639e00e/stat…/js/composer.5bfc4000244ccdc74f06.mjs

js hw.ac.uk collected 2026-10-01 08:34:28 UTC 59,633 bytes, 814 lines download raw bytes

1"use strict";(()=>{(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[905,4755,7487,9297],{58250(ve,P,s){const t={article:"News",blog:"Blog",event:"Event",programme:"Programme",scholarship:"Scholarship"};s.d(P,["t",0,t])},1348(ve,P,s){var t=s(63589),p=s(67780),M=s(67205),O=s(13303);const x={info:"blueBrightShade",success:"greenShade",warning:"brownShade",error:"pinkShade"},ie=b=>x[b]||"blueBrightShade",X=({variant:b,text:V})=>{if(!V)return null;const G=ie(b),U=O.Q[G];return(0,t.jsx)(g,{$background:U.background,$border:U.border,$text:U.text,$link:U.link,text:V})},g=(0,p.styled)(M.default)`
2  padding: ${b=>b.theme.spacing.xs} ${b=>b.theme.spacing.s};
3  background-color: ${b=>b.$background};
4  color: ${b=>b.$text.color};
5  border-left: ${b=>b.theme.spacing.xxs} solid ${b=>b.$border};
6
7  & a,
8  & a:visited {
9    color: ${b=>b.$link.color};
10    font-weight: 700;
11    &:hover {
12      /* text-decoration: none !important; */
13      color: ${b=>b.$link.hover};
14    }
15  }
16
17  & a:focus {
18    outline-color: ${b=>b.$link.focus??void 0};
19  }
20`,D=X;s.d(P,["A",0,D])},51984(ve,P,s){s.r(P),s.d(P,{default:()=>B});var t=s(63589),p=s(15306),M=s(47729),O=s(67780),x=s(43348),ie=s(73184),X=s(99971),g=s(11516),D=s(98919);const b=({title:u,copy:L,image:k,icon:i,darkBackground:$=!1,brandEbsProp:A})=>{const F=(0,X.A)(),K=A??F,le=Ce(K,$),q=j(le),_=i?re(i):void 0;return(0,t.jsxs)(V,{"data-is-ebs":K?"":void 0,children:[_&&!k?.src?(0,t.jsx)(G,{"data-has-dark-bg":$?"":void 0,"data-is-ebs":K?"":void 0,children:(0,t.jsx)(U,{$color:q,children:(0,t.jsx)(g.A,{name:_,family:"sharp-duotone",weight:"solid"})})}):null,(0,t.jsxs)(M.Ay,{image:k?.src?k:void 0,children:[(0,t.jsx)(x.Ay,{as:"h3",$size:"4",$color:"black",children:u}),L&&(0,t.jsx)(ie.Ay,{as:"p",children:L})]})]})},V=O.styled.div`
21  display: flex;
22  flex-direction: column;
23  flex-grow: 1;
24
25  ${M.MH} {
26    max-height: 18rem;
27  }
28
29  ${M.Wu} {
30    border-bottom: ${({theme:u})=>u.spacing.xs} solid
31      ${({theme:u})=>u.colors.stone.shade};
32  }
33
34  &[data-is-ebs] {
35    ${M.Wu} {
36      border-bottom: ${({theme:u})=>u.spacing.xs} solid
37        ${({theme:u})=>u.colors.green.shade};
38    }
39  }
40`,G=O.styled.div`
41  display: flex;
42  padding: ${u=>u.theme.spacing.l} 0;
43  justify-content: center;
44
45  &[data-has-dark-bg] {
46    padding: ${u=>u.theme.spacing.xl};
47    background-color: ${u=>u.theme.colors.stone.shade};
48
49    &[data-is-ebs] {
50      background-color: ${u=>u.theme.colors.green.shade};
51    }
52  }
53`,U=O.styled.div`
54  width: ${u=>u.theme.spacing.xxl};
55  align-self: center;
56  color: ${u=>u.$color};
57  aspect-ratio: 1;
58
59  svg {
60    width: 100%;
61    height: 100%;
62  }
63`,S=b,re=u=>u.replace(/^[^-]+-/,""),Ce=(u,L)=>u?L?"greenMid":"greenShade":L?"stonePrimary":"stoneShade",j=u=>({stoneShade:D.T.stone.shade,stonePrimary:D.T.stone.primary,greenShade:D.T.green.shade,greenMid:D.T.green.mid})[u]??D.T.stone.shade;var ue=s(47401);const B=({title:u,intro:L,cards:k,darkBackground:i=!1})=>k?.length?(0,t.jsx)(p.Ay,{id:"cardInfoRow",heading:u,lead:L,width:!1,background:"white",padding:!1,variant:"feature",children:(0,t.jsx)(ue.C,{children:k.map(($,A)=>(0,t.jsx)(S,{...$,darkBackground:i},A))})}):null},57676(ve,P,s){s.r(P),s.d(P,{default:()=>ia});var t=s(63589),p=s(29633),M=s(87431),O=s(80203);const x=new Uint8Array(16);function ie(){return crypto.getRandomValues(x)}var X;const g=[];for(let e=0;e<256;++e)g.push((e+256).toString(16).slice(1));function D(e,n=0){return(g[e[n+0]]+g[e[n+1]]+g[e[n+2]]+g[e[n+3]]+"-"+g[e[n+4]]+g[e[n+5]]+"-"+g[e[n+6]]+g[e[n+7]]+"-"+g[e[n+8]]+g[e[n+9]]+"-"+g[e[n+10]]+g[e[n+11]]+g[e[n+12]]+g[e[n+13]]+g[e[n+14]]+g[e[n+15]]).toLowerCase()}function b(e,n=0){const a=D(e,n);if(!X(a))throw TypeError("Stringified UUID is invalid");return a}const V=null;function G(e,n,a){return!n&&!e&&crypto.randomUUID?crypto.randomUUID():U(e,n,a)}function U(e,n,a){e=e||{};const r=e.random??e.rng?.()??ie();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,n){if(a=a||0,a<0||a+16>n.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let l=0;l<16;++l)n[a+l]=r[l];return n}return D(r)}const S=G;var re=s(79032),Ce=s(15845),j=s(15306);const Z=({anchorId:e="promo",heading:n,lead:a,cta:r})=>(0,t.jsx)(j.Ay,{id:e,heading:n,lead:a,seeMoreText:r?.label,seeMoreLink:r?.path,condensed:!0,width:!1,background:"white",padding:!1,variant:"feature"});var B=s(50250),u=s(62649),L=s(37702),k=s(3880),i=s(67780),$=s(43348),A=s(73184),F=s(8057);
63const K=({title:e,subtitle:n,content:a,source:r})=>(0,t.jsx)(le,{children:(0,t.jsxs)(q,{children:[(0,t.jsxs)(_,{children:[(0,t.jsx)(Ae,{as:"h2",$size:"2",$color:"white",children:e}),n&&(0,t.jsx)(ce,{as:"h3",$size:"3",$color:"white",children:n}),a&&(0,t.jsx)(pe,{as:"p",$styleFont:"italic",children:a})]}),r&&(0,t.jsxs)(A.Ay,{as:"p",$size:"small",$color:"white",children:["(",r,")"]})]})}),le=i.styled.div`
64  background-color: ${e=>e.theme.colors.blue.dark};
65  padding: ${e=>e.theme.spacing.xxl} 0;
66`,q=i.styled.div`
67  ${F.mI}
68  gap: ${e=>e.theme.spacing.l};
69  color: ${e=>e.theme.colors.neutral.white};
70  text-align: center;
71  align-items: center;
72  max-width: 60rem;
73  margin: 0 auto;
74`,_=i.styled.div`
75  ${F.mI}
76  gap: ${e=>e.theme.spacing.xs};
77  align-items: center;
78`,Ae=(0,i.styled)($.Ay)`
79  padding-bottom: ${e=>e.theme.spacing.xs};
80  border-bottom: calc(${e=>e.theme.radius.m} + ${e=>e.theme.radius.xs})
81    solid ${e=>e.theme.colors.stone.primary};
82`,ce=(0,i.styled)($.Ay)`
83  max-width: calc(${e=>e.theme.grid.default.width} * (2 / 3));
84`,pe=(0,i.styled)(A.Ay)`
85  font-family: ${e=>e.theme.typography.fontFamily.serif};
86`,be=K;var ge=s(77345),W=s(56090),d=s(72263),J=s(46517),Oe=s(18343),xe=s(58250),de=s(99971),ee=s(47401);const N=e=>Object.entries(e).filter(([n])=>n!=null).map(([n,a])=>({field:n,contains:a})),Pe=({title:e,intro:n,manualBlogPostSelection:a,keywordsEBS:r,keywordsLocation:l,keywordsTheme:h,seeMore:m})=>{const y=(0,O.d4)(M.rE.selectors.selectVersionStatus),[o,c]=(0,p.useState)(null),E=(0,de.A)(),v=(0,p.useMemo)(()=>({keywordsLocation:l,keywordsTheme:h,keywordsEBS:r}),[l,h,r]),I=(0,p.useMemo)(()=>N(v),[v]);(0,p.useEffect)(()=>{let z=!0;return(async()=>{if(a&&a.length>0){c(a);return}let T=[];T=[d.Op.equalTo("sys.versionStatus",y),d.Op.equalTo("sys.contentTypeId","blog"),d.Op.and(...I.flatMap(he=>he.contains?Array.isArray(he.contains)?he.contains.map(je=>d.Op.contains(he.field,je)):[d.Op.contains(he.field,he.contains)]:[]))];const H=new d.Query(...T);H.orderBy=d.OrderBy.desc("datePublished");const Re=await(0,J.m)(W.cachedSearch.search(H,1));if(Re.response&&z){const je=Re.response.items.slice(0,3).map(Oe._).filter(Boolean);if(!a||a.length===0)c(je);
86else{const ke=a,We=[];ke.forEach(R=>{We.push(R.id)});const w=[d.Op.equalTo("sys.versionStatus",y),d.Op.equalTo("sys.contentTypeId","blog"),d.Op.or(...We.flatMap(R=>[d.Op.equalTo("sys.id",R)]))],$e=new d.Query(...w);$e.orderBy=d.OrderBy.desc("datePublished");const Ue=await(0,J.m)(W.cachedSearch.search($e,1));let Ne=[];Ue.response&&z&&(Ne=Ue.response.items);const Ve=[...Ne.map(R=>(0,W.mapJson)(R,Oe._)),...je],Me=[...new Map(Ve.map(R=>[R.id,R])).values()],Se=[];ke?.map(R=>{const C=R.id;C&&Se.push(C)});const pt=[...Me].sort((R,C)=>{const Y=Se.indexOf(R.id??""),ne=Se.indexOf(C.id??"");return Y!==-1&&ne!==-1?Y-ne:Y!==-1?-1:ne!==-1?1:0});c(pt.slice(0,a.length))}}})(),()=>{z=!1}},[a,I,y]);const Q="greyShade";return o?.length?(0,t.jsx)(j.Ay,{id:"blog",heading:e,lead:n,background:"white",width:!1,padding:!1,variant:"feature",seeMoreLink:m,children:(0,t.jsx)(ee.C,{"data-related-content":!0,children:o.map((z,fe)=>(0,t.jsx)(ge.A,{variant:Q==="greyShade"?E?"blueDarkWithGreenAccent":"blueDark":"white",taxonomy:xe.t.blog,color:E?"green":"pink",...z},fe))})}):null};var me=s(70741),De=s(17240),se=s(65809),te=s(28194),ae=s(18791),Ie=s(10794),ye=s(11516);const Ge=({trigger:e,title:n="Video",variant:a="video",children:r})=>(0,t.jsxs)(ae.bL,{children:[(0,t.jsx)(ae.l9,{asChild:!0,children:e}),(0,t.jsxs)(ae.ZL,{children:[(0,t.jsx)(vt,{}),(0,t.jsxs)(bt,{"aria-describedby":void 0,$variant:a,children:[(0,t.jsx)(ae.L3,{className:"visually-hidden",children:a&&a==="video"?"Video":n}),(0,t.jsx)(jt,{$variant:a,children:(0,t.jsx)(ae.bm,{asChild:!0,children:(0,t.jsx)(Ct,{"aria-label":"Close",children:a&&a==="video"?(0,t.jsx)(ye.A,{name:"xmark",weight:"solid",size:"2xl"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A.Ay,{as:"span",$color:"blue",children:Ie.n.close}),(0,t.jsx)(ye.A,{name:"xmark",weight:"solid",size:"2xl"})]})})})}),r]})]})]}),ft=(0,i.css)`
87  width: 100%;
88  max-width: 90rem;
89  background-color: ${e=>e.theme.colors.neutral.black};
90  gap: ${e=>e.theme.spacing.xs};
91  padding: ${e=>e.theme.spacing.xs} 0 ${e=>e.theme.spacing.xl};
92
93  @media ${e=>e.theme.mq.min.laptop} {
94    max-width: 100rem;
95    padding: ${e=>e.theme.spacing.s} ${e=>e.theme.spacing.l}
96      ${e=>e.theme.spacing.xxl};
97  }
98`,Xe=(0,i.css)`
99  width: 90vw;
100  max-width: calc(
101    50rem + ${e=>e.theme.spacing.m} + ${e=>e.theme.spacing.m}
102  );
103  max-height: 85vh;
104  background-color: ${e=>e.theme.colors.neutral.white};
105  gap: ${e=>e.theme.spacing.s};
106  padding: ${e=>e.theme.spacing.s};
107  overflow-y: auto;
108
109  @media ${e=>e.theme.mq.min.laptop} {
110    padding: ${e=>e.theme.spacing.m};
111  }
112`,$t=(0,i.css)`
113  width: 100vw;
114  max-width: 120rem;
115  max-height: 95vh;
116  background-color: ${e=>e.theme.colors.neutral.white};
117  gap: ${e=>e.theme.spacing.s};
118  padding: ${e=>e.theme.spacing.s};
119  overflow-y: auto;
120  @media ${e=>e.theme.mq.min.laptop} {
121    padding: ${e=>e.theme.spacing.m};
122  }
123`,vt=(0,i.styled)(ae.hJ)`
124  background-color: ${e=>e.theme.colors.ui.overlay};
125  position: fixed;
126  inset: 0;
127  animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
128`,bt=(0,i.styled)(ae.UC)`
129  /* default */
130  box-shadow:
131    hsl(206 22% 7% / 35%) 0px 10px 38px -10px,
132    hsl(206 22% 7% / 20%) 0px 10px 20px -15px;
133  position: fixed;
134  top: 50%;
135  left: 50%;
136  transform: translate(-50%, -50%);
137  animation: contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
138
139  /* HW design */
140  display: flex;
141  flex-direction: column;
142  align-items: flex-end;
143  margin: 0 auto;
144
145  ${e=>e.$variant==="video"?ft:Xe}
146  ${e=>e.$variant==="imageLarge"?$t:Xe}
147`,jt=i.styled.div`
148  padding-right: ${e=>e.$variant==="video"?e.theme.spacing.xs:"0"};
149  @media ${e=>e.theme.mq.min.laptop} {
150    padding-right: 0;
151  }
152`,Ct=i.styled.button`
153  display: flex;
154  gap: ${e=>e.theme.spacing.xxs};
155  align-items: center;
156
157  &:hover,
158  &:active {
159    text-decoration: underline;
160  }
161`,Ze=Ge;var At=s(2910);const Et=({image:e,header:n,name:a,jobTitle:r,description:l,additionalBio:h,link:m,staffType:y="academic"})=>{const o=h?h.split(`
162`):null,c=n&&y==="academic";return(0,t.jsxs)(Mt,{"data-layout":c?"leader":void 0,"data-component":"cardProfileModal",children:[e&&(0,t.jsx)(St,{...e,alt:a??"","data-layout":c?"leader":void 0}),(0,t.jsxs)(Ot,{"data-layout":c?"leader":void 0,children:[n&&(0,t.jsx)($.Ay,{as:"div",$size:"3",$color:"stoneDark",children:n}),(0,t.jsxs)(It,{children:[(0,t.jsx)($.Ay,{as:"h3",$size:"4 serif",$color:"stoneDark",children:a}),r&&(0,t.jsx)(A.Ay,{$color:"black",as:"p",children:r})]}),l&&(0,t.jsx)(A.Ay,{as:"p",children:l}),m?(0,t.jsx)(De.A,{link:m,label:a}):o?(0,t.jsx)(Ze,{trigger:(0,t.jsxs)(te.Ay,{as:"button",$variant:"textSmallBluePrimary",children:[Ie.n.readMore,(0,t.jsx)(ye.A,{name:"arrow-up-right-and-arrow-down-left-from-center"})]}),variant:"text",children:(0,t.jsxs)(Pt,{children:[(0,t.jsxs)($.Ay,{as:"span",$size:"4 serif",children:[At.A.biography,": ",a]}),(0,t.jsx)(A.Ay,{as:"p",children:l}),o.map((E,v)=>E.length===0?null:(0,t.jsx)(A.Ay,{as:"p",children:E},v))]})}):null]})]})},Mt=i.styled.div`
163  display: flex;
164  flex-direction: column;
165
166  @media ${e=>e.theme.mq.min.tablet} {
167    &[data-layout='leader'] {
168      display: grid;
169      grid-template-columns: repeat(2, 1fr);
170      grid-column-start: 1;
171      grid-column-end: 3;
172    }
173  }
174  @media ${e=>e.theme.mq.min.desktop} {
175    &[data-layout='leader'] {
176      grid-column-end: 4;
177    }
178  }
179`,St=(0,i.styled)(se.A)`
180  height: 25rem;
181  width: 100%;
182  object-fit: cover;
183  object-position: top center;
184
185  &[data-layout='leader'] {
186    height: 20rem;
187  }
188
189  @media ${e=>e.theme.mq.min.tablet} {
190    &[data-layout='leader'] {
191      height: 0;
192      width: 0;
193      min-height: 100%;
194      min-width: 100%;
195    }
196  }
197`,Ot=i.styled.div`
198  display: flex;
199  flex-direction: column;
200  align-items: center;
201  gap: ${e=>e.theme.spacing.s};
202  text-align: center;
203  padding: ${e=>e.theme.spacing.l} ${e=>e.theme.spacing.xs};
204  background-color: ${e=>e.theme.colors.grey.shade};
205
206  @media ${e=>e.theme.mq.min.tablet} {
207    flex-grow: 1;
208    align-items: flex-start;
209    text-align: left;
210    padding: ${e=>e.theme.spacing.l} ${e=>e.theme.spacing.s};
211  }
212
213  @media ${e=>e.theme.mq.min.desktop} {
214    &[data-layout='leader'] {
215      padding: ${e=>e.theme.spacing.xxl};
216    }
217  }
218`,It=i.styled.div`
219  display: flex;
220  flex-direction: column;
221  gap: ${e=>e.theme.spacing.xxs};
222`,Pt=i.styled.div`
223  display: flex;
224  flex-direction: column;
225  gap: ${e=>e.theme.spacing.s};
226`,Dt=Et,Tt=({title:e,intro:n,cta:a,cards:r})=>!r||!Array.isArray(r)?null:(0,t.jsx)(j.Ay,{id:"CardGridPeopleNonAcademic_"+e?.replace(" ",""),heading:e,lead:n,seeMoreText:a?.label,seeMoreLink:a?.path,width:!1,background:"white",padding:!1,variant:"feature",children:(0,t.jsx)(wt,{children:r.map((l,h)=>(0,t.jsx)(Dt,{...l,staffType:"non-academic"},h))})}),wt=i.styled.div`
227  display: flex;
228  flex-direction: column;
229  gap: ${e=>e.theme.spacing.xs};
230
231  @media ${e=>e.theme.mq.min.tablet} {
232    display: grid;
233    grid-template-columns: repeat(2, 1fr);
234  }
235`;var Lt=s(35236),Bt=s(45814),Ke=s(89676),Rt=s(99037),kt=s(94475);const Wt=({slides:e})=>{const[n,a]=(0,Bt.A)(),{nextBtnDisabled:r,onNextButtonClick:l,prevBtnDisabled:h,onPrevButtonClick:m}=(0,Ke.U)(a),y=(0,Rt.Q)(a),o="carousel-items";return e?.length?(0,t.jsxs)(Ut,{"aria-label":"Featured links","aria-roledescription":"gallery",children:[(0,t.jsxs)(zt,{children:[(0,t.jsx)(Jt,{disabled:r,onClick:l,"aria-label":"Next slide","aria-controls":o,children:(0,t.jsx)(ye.A,{name:"arrow-right",weight:"solid",size:"xl"})}),(0,t.jsx)(Vt,{disabled:h,onClick:m,"aria-label":"Previous slide","aria-controls":o,children:(0,t.jsx)(ye.A,{name:"arrow-right",weight:"solid",size:"xl",flip:"horizontal"})})]}),(0,t.jsx)("div",{ref:n,children:(0,t.jsx)(Nt,{id:o,"aria-live":"polite",children:e.map((c,E)=>{const v=E+1+" / "+e.length,I=y===E;return(0,t.jsx)(Gt,{visible:I,ariaLabel:v,children:c.slide},c?.id)})})})]}):null},Ut=i.styled.section`
236  overflow: hidden;
237  position: relative;
238`,Nt=i.styled.div`
239  display: flex;
240`,Gt=({children:e,visible:n,ariaLabel:a})=>{const r=(0,p.useRef)(null);return(0,kt.A)(r,!n),(0,t.jsx)(Ft,{ref:r,"aria-label":a,role:"group","aria-roledescription":"slide",children:e})},Ft=i.styled.div`
241  flex: 0 0 96%; // show small amount of next slide to encourage swipe
242  min-width: 0;
243  @media ${e=>e.theme.mq.min.laptop} {
244    flex-basis: 100%; // ...restore to 100% as now have buttons
245  }
246  &::after {
247    content: attr(aria-label);
248    margin-left: ${e=>e.theme.spacing.m};
249    font-style: italic;
250  }
251`,zt=i.styled.div`
252  @media ${e=>e.theme.mq.min.laptop} {
253    position: absolute;
254    z-index: 1;
255    top: calc(50% - 4rem);
256    width: 100%;
257
258    display: flex;
259    flex-direction: row;
260    justify-content: space-between;
261    align-items: center;
262    gap: ${e=>e.theme.spacing.xs};
263  }
264`,Ht=(0,i.css)`
265  border: 0 !important;
266  clip: rect(0, 0, 0, 0) !important;
267  height: 1px !important;
268  margin: -1px !important;
269  overflow: hidden !important;
270  padding: 0 !important;
271  white-space: nowrap !important;
272  width: 1px !important;
273`,qe=(0,i.styled)(Ke.A)`
274  position: absolute;
275  display: flex;
276  justify-content: center;
277  align-items: center;
278  @media ${e=>e.theme.mq.max.laptop} {
279    ${Ht}
280  }
281`,Vt=(0,i.styled)(qe)`
282  left: 1.5rem;
283`,Jt=(0,i.styled)(qe)`
284  right: 1.5rem;
285`,Qt=Wt;var Te=s(4701);const Yt=({image:e,title:n,text:a})=>(0,t.jsxs)(Xt,{children:[e?(0,t.jsx)(Zt,{children:(0,t.jsx)(Kt,{...e,sizes:Te.Wc})}):null,(0,t.jsx)(qt,{children:(0,t.jsxs)(_t,{children:[(0,t.jsx)(en,{$color:"stoneDark",$size:"4 serif",as:"p",children:n}),a?(0,t.jsx)(A.Ay,{$color:"black",as:"p",children:a}):null]})})]}),Xt=i.styled.div`
286  position: relative;
287  display: flex;
288  flex-direction: column;
289`,Zt=i.styled.div`
290  height: 20rem;
291  max-height: 75vh;
292  overflow: hidden;
293  @media ${e=>e.theme.mq.min.laptop} {
294    /* position: absolute; */
295    width: 100%;
296    height: 100%;
297  }
298`,Kt=(0,i.styled)(se.A)`
299  height: 100%;
300  width: 100%;
301  object-fit: cover;
302`,qt=i.styled.div`
303  position: relative;
304  display: flex;
305  flex-direction: column;
306  justify-content: space-between;
307  gap: ${e=>e.theme.spacing.xs};
308  padding: ${e=>e.theme.spacing.m};
309  padding-bottom: ${e=>e.theme.spacing.xs}; // smaller padding-bottom for aria-label footer
310  /* background: ${e=>e.theme.colors.grey.light}; */
311  @media ${e=>e.theme.mq.min.laptop} {
312    padding-top: ${e=>e.theme.spacing.l};
313  }
314`,_t=i.styled.div`
315  display: flex;
316  flex-direction: column;
317  gap: ${e=>e.theme.spacing.xs};
318`,en=(0,i.styled)($.Ay)`
319  font-weight: 400;
320`,tn=Yt;var nn=s(50103),we=s(30419);const sn=({image:e,title:n,copy:a,content:r,cta:l})=>{const h=(0,O.d4)(M.DT.selectors.selectRouteEntryContentTypeId);if(!e||!n)return null;const m=c=>c&&c==="secondary"?"darkOutline":"blue",y=h==="contentPage"||h==="subLandingPage",o=!!a&&!(0,we.A)(r);
320return(0,t.jsxs)(rn,{$panelSlim:y,"data-richtext":o?"true":"false","data-component":"contentImagePanel",children:[e.src?(0,t.jsx)(ln,{className:"contentImage",$imageSrc:e.src}):null,(0,t.jsxs)(cn,{children:[(0,t.jsx)($.Ay,{as:"h2",$size:"2",children:n}),r&&(0,we.A)(r)?(0,t.jsx)(me.Rj,{children:(0,t.jsx)(me.Ay,{data:r})}):a?(0,t.jsx)("div",{children:(0,t.jsx)(u.VK,{text:a})}):null,l?.link?(0,t.jsx)(dn,{$variant:m(l.variant??""),path:l.link,children:(0,t.jsx)(A.Ay,{as:"span",children:l.label})}):null]})]})},an=(0,i.css)`
321  padding: ${e=>e.theme.spacing.xxl} ${e=>e.theme.spacing.xxxl};
322`,on=(0,i.css)`
323  padding: ${e=>e.theme.spacing.xxl} ${e=>e.theme.spacing.xs};
324`,rn=i.styled.div`
325  display: flex;
326  flex-direction: column;
327  gap: ${e=>e.theme.spacing.m};
328  padding: ${e=>e.theme.spacing.s} ${e=>e.theme.spacing.xs};
329  max-width: 120em; // limit the size to 1920px
330  margin: 0 auto;
331
332  @media ${e=>e.theme.mq.min.tablet} {
333    display: grid;
334    grid-template-columns: repeat(2, 1fr);
335    gap: ${e=>e.theme.spacing.l};
336
337    &:nth-of-type(2n) {
338      & .contentImage {
339        order: 1;
340      }
341    }
342  }
343  @media ${e=>e.theme.mq.min.desktop} {
344    gap: ${e=>e.theme.spacing.xxl};
345    ${e=>e.$panelSlim?on:an}
346  }
347`,ln=i.styled.div`
348  width: 100%;
349  background-size: cover;
350  background-position: center center;
351  background-image: url(${e=>e.$imageSrc});
352  height: 100vw; // square...
353  max-height: 60vh; // ...but watch in case full screen height
354
355  @media ${e=>e.theme.mq.min.tablet} {
356    padding-bottom: 100%; // force square proportions
357    height: 100%;
358    width: 100%;
359    max-height: inherit;
360  }
361`,cn=i.styled.div`
362  display: flex;
363  flex-direction: column;
364  gap: ${e=>e.theme.spacing.m};
365  justify-content: center;
366
367  @media ${e=>e.theme.mq.min.tablet} {
368    padding: ${e=>e.theme.spacing.m} 0;
369  }
370
371  @media ${e=>e.theme.mq.min.laptop} {
372    padding: ${e=>e.theme.spacing.l} 0;
373  }
374
375  @media ${e=>e.theme.mq.min.desktop} {
376    padding: ${e=>e.theme.spacing.xl} 0;
377  }
378
379  @media ${e=>e.theme.mq.min.largeDesktop} {
380    padding: ${e=>e.theme.spacing.xxl} 0;
381  }
382`,dn=(0,i.styled)(te.Ay)`
383  @media ${e=>e.theme.mq.min.mobile} {
384    width: fit-content;
385  }
386`,mn=sn;var _e=s(13303),et=s(48052),tt=s(49702),nt=s(52630),st=s(27157);const hn=e=>{if(!e)return"white";const n=e.toLowerCase(),a={bluebright:"blueBrightLight",green:"greenMid",orchil:"purpleDark",orchilshade:"purpleShade",rose:"pinkDark",sand:"orangeMid",stone:"brownShade",white:"white"};return a[n]?a[n]:(0,st.m)(e)?e:"white"},un=({heading:e,content:n,copy:a,cta:r,layout:l="right",theme:h="white",image:m,video:y,veppleTour:o})=>{const c=hn(h),E=_e.Q[c],v=(0,nt.i)(r?.link),I=(Q,z="maxresdefault")=>`https://img.youtube.com/vi_webp/${Q}/${z}.webp`;return(0,t.jsxs)(pn,{"data-richtext":!!a,"data-component":"contentPanel",children:[(0,t.jsxs)(gn,{"data-layout":l,style:{backgroundColor:E.background},children:[e&&(0,t.jsx)($.Ay,{as:"h2",$size:"2",$color:E.heading.variant,children:e}),n&&(0,t.jsx)(me.Rj,{$theme:c,children:(0,t.jsx)(me.Ay,{data:n})}),r?.link&&(0,t.jsx)(xn,{$variant:E.cta,path:r.link,openInNewWindow:v,children:r.label})]}),m?(0,t.jsx)(Fe,{"data-layout":l,children:(0,t.jsx)(fn,{...m})}):y?.videoID?(0,t.jsx)(Fe,{"data-layout":l,children:(0,t.jsx)(tt.default,{videoID:y.videoID,imageBackground:!0,image:y.image??{src:I(y.videoID),alt:"Video thumbnail",width:720,height:720}})}):o?.tourID?(0,t.jsx)(Fe,{"data-layout":l,children:(0,t.jsx)(et.A,{tourID:o.tourID,$isCanvas:!0})}):void 0]})},pn=i.styled.div`
387  display: flex;
388  flex-direction: column;
389
390  @media ${e=>e.theme.mq.min.tablet} {
391    display: grid;
392    grid-template-columns: 50% 50%;
393    min-height: 30rem;
394    align-items: stretch;
395    & > div {
396      grid-row: 1;
397    }
398  }
399`,gn=i.styled.div`
400  order: 2;
401  display: flex;
402  flex-direction: column;
403  gap: ${e=>e.theme.spacing.l};
404  justify-content: center;
405  padding: ${e=>`${e.theme.spacing.m} ${e.theme.spacing.xs} ${e.theme.spacing.s}`};
406
407  @media ${e=>e.theme.mq.min.tablet} {
408    grid-column: 1;
409
410    &[data-layout='left'] {
411      grid-column: 2;
412    }
413
414    gap: ${e=>e.theme.spacing.m};
415    padding: ${e=>e.theme.spacing.xxl};
416  }
417  @media ${e=>e.theme.mq.min.desktop} {
418    min-height: 30rem;
419  }
420`,xn=(0,i.styled)(te.Ay)`
421  @media ${e=>e.theme.mq.min.mobile} {
422    width: fit-content;
423  }
424`,yn=(0,i.css)`
425  @media ${e=>e.theme.mq.min.tablet} {
426    display: flex;
427    flex-direction: column;
428    justify-content: center;
429  }
430`,fn=(0,i.styled)(se.A)`
431  width: 100%;
432  height: 100%;
433  object-fit: cover;
434  object-position: 50% 50%;
435  display: block;
436  @media ${e=>e.theme.mq.min.tablet} {
437    position: absolute;
438    inset: 0;
439  }
440`,Fe=i.styled.div`
441  ${yn}
442  position: relative;
443  overflow: hidden;
444
445  @media ${e=>e.theme.mq.min.tablet} {
446    grid-column: 2;
447
448    &[data-layout='left'] {
449      grid-column: 1;
450    }
451  }
452  & div {
453    height: 100%;
454  }
455  & ${tt.YoutubeCookieContainer} {
456    height: auto;
457  }
458`,$n=un;var vn=s(17862);const bn=e=>{if(!e)return"white";const n=e.trim().toLowerCase(),a={blue:"bluePrimary",blueBright:"blueBrightMid",blueDark:"blueDark",blueDarkWithAccent:"blueDarkWithGreenAccent",blueDarkWithGreenAccent:"blueDarkWithGreenAccent",green:"greenMid",stone:"brownPrimary",orchil:"purpleDark"};return a[n]?a[n]:(0,st.m)(e)?e:"white"},jn=({hideItems:e,title:n,copy:a,subtitle:r,image:l,cta:h,ctaAsset:m,theme:y="blueDark",layout:o="right"})=>{const E=(0,O.d4)(vn.zj)==="ebs"?"blueDarkWithGreenAccent":y,v=bn(E),I=_e.Q[v],Q=e?.includes("title"),z=e?.includes("subtitle"),fe=e?.includes("copy"),T=e?.includes("image"),H=(0,nt.i)(h?.link);return(0,t.jsxs)(Cn,{"data-has-image":l&&!T?"":void 0,"data-component":"ctaBanner",style:{backgroundColor:I.background},children:[l?.src&&!T?(0,t.jsx)(En,{$bImage:l,role:"img","aria-label":l.alt}):null,(0,t.jsxs)(An,{"data-layout":o,children:[n&&!Q?(0,t.jsx)($.Ay,{as:"h2",$size:"2",$color:I.heading.variant,children:n}):null,r&&!z?(0,t.jsx)($.Ay,{as:"p",$size:"4",$color:I.text.variant,children:r}):null,a&&!fe?(0,t.jsx)(A.Ay,{as:"p",$color:I.text.variant,children:a}):null,h?.link?(0,t.jsx)(te.Ay,{path:h.link,$variant:I.cta,openInNewWindow:H,children:h.label}):m?.asset?(0,t.jsx)(te.Ay,{path:m.asset,$variant:I.cta,children:m.label}):null]})]})},Cn=i.styled.div`
459  @media ${e=>e.theme.mq.min.laptop} {
460    &[data-has-image] {
461      display: grid;
462      grid-template-columns: repeat(2, 1fr);
463    }
464  }
465`,An=i.styled.div`
466  display: flex;
467  flex-direction: column;
468  gap: ${e=>e.theme.spacing.s};
469  padding: ${e=>e.theme.spacing.l} ${e=>e.theme.spacing.xs};
470  align-items: center;
471  text-align: center;
472
473  @media ${e=>e.theme.mq.min.laptop} {
474    gap: ${e=>e.theme.spacing.l};
475    padding: ${e=>e.theme.spacing.xxl};
476
477    &[data-layout='left'] {
478      order: -1;
479    }
480  }
481
482  @media ${e=>e.theme.mq.min.desktop} {
483    padding: ${e=>e.theme.spacing.xxxl};
484  }
485`,En=i.styled.div`
486  background-image: url('${e=>e.$bImage?.src}');
487  background-repeat: no-repeat;
488  background-size: cover;
489  background-position: center;
490  min-height: ${e=>e.theme.spacing.superxl};
491
492  @media ${e=>e.theme.mq.min.mobile} {
493    background-image: url('${e=>e.$bImage?.srcLarge}');
494    min-height: calc(
495      ${e=>e.theme.spacing.superxl} + ${e=>e.theme.spacing.xxxl}
496    );
497  }
498`,Mn=jn;var Sn=s(18671),Le=s(66567),On=s(95723);const In=({image:e})=>{let a=(0,On.B)({assetHeight:e.height,assetWidth:e.width,width:421});const r=a>640?640:a<320?a=320:a;return(0,t.jsxs)(Dn,{children:[(0,t.jsx)(Ln,{title:"image",variant:"image",trigger:(0,t.jsx)(Pn,{children:(0,t.jsx)(wn,{...e,width:421,height:r})}),children:(0,t.jsx)(Tn,{...e,width:800})}),(0,t.jsx)(Bn,{...e,width:421,height:r})]})},Pn=i.styled.button`
499  display: none;
500  @media ${e=>e.theme.mq.min.tablet} {
501    display: inline;
502    width: 100%;
503    height: 100%;
504    transition: ease-in opacity 0.2s;
505    &:hover {
506      cursor: pointer;
507      opacity: 0.75;
508    }
509  }
510`,Dn=i.styled.div`
511  @media ${e=>e.theme.mq.min.tablet} {
512    margin-bottom: ${e=>e.theme.spacing.s};
513  }
514`,Tn=(0,i.styled)(se.A)`
515  object-fit: contain;
516`,wn=(0,i.styled)(se.A)`
517  display: none;
518  @media ${e=>e.theme.mq.min.tablet} {
519    display: block;
520    max-height: 40rem; // 640px;
521    width: 100%;
522    object-fit: cover;
523  }
524`,Ln=(0,i.styled)(Ze)`
525  display: none;
526  @media ${e=>e.theme.mq.min.tablet} {
527    display: block;
528  }
529`,Bn=(0,i.styled)(se.A)`
530  object-fit: cover;
531  @media ${e=>e.theme.mq.min.tablet} {
532    display: none;
533  }
534`,Rn=In,kn=({title:e,intro:n,images:a})=>(0,t.jsx)(j.Ay,{id:"imageGrid",heading:e,lead:n,width:!1,children:(0,t.jsx)(Wn,{"data-component":"imageGrid",children:a.map((r,l)=>(0,t.jsx)(Rn,{image:r},l))})}),Wn=i.styled.div`
535  display: flex;
536  flex-direction: column;
537  gap: ${e=>e.theme.spacing.s};
538
539  @media ${e=>e.theme.mq.min.tablet} {
540    display: block;
541    column-count: 2;
542    column-gap: ${e=>e.theme.spacing.s};
543  }
544  @media ${e=>e.theme.mq.min.laptop} {
545    column-count: 3;
546  }
547`,Un=kn;var Nn=s(42372),Gn=s(93283),Fn=s(82258);
547const at={title:"EBS Online Enquiries",url:"https://ebs.online.hw.ac.uk/enquiries",height:960};var ot=s(2074);const zn=({title:e="Enquiry form"})=>{const n=at.url,a=at.height??600;return n?(0,t.jsxs)(Hn,{children:[e&&(0,t.jsx)($.Ay,{as:"h2",$size:"2",children:e}),(0,t.jsx)(ot.A,{src:n,title:e,height:a})]}):null},Hn=i.styled.div`
548  ${F.Vx}
549`,Vn=zn;var Jn=s(14830),Qn=s(97170),Yn=s(76182),Xn=s(1348),Zn=s(48256);const Kn=({id:e,text:n="Loading...",status:a})=>(0,t.jsxs)(qn,{id:e,$status:a??"not loading",children:[(0,t.jsx)(ye.A,{name:"spinner",className:"fa-spin-pulse"}),(0,t.jsx)(A.Ay,{as:"p",children:n})]}),qn=i.styled.div`
550  display: ${e=>e.$status==="loading"?"flex":"none"};
551  flex-direction: row;
552  gap: ${e=>e.theme.spacing.xs};
553  align-items: center;
554  padding: ${e=>e.theme.spacing.s};
555  background: ${e=>e.theme.colors.grey.light};
556  width: fit-content;
557`,it=Kn;var _n=s(94736);const es="api_month_cid9127_iid854",ts="https://hw.ac.libcal.com/api_events.php?m=month&cid=9127&audience=&c=&d=&tar=0&context=object&format=js",ns="https://hw.ac.libcal.com/calendar/studentevents?cid=9127&t=g&d=0000-00-00&cal=9127&inc=0",rt="libcalEmbedScript",ss=({heading:e})=>{const[n,a]=(0,p.useState)(!0),[r,l]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{if(document.getElementById(rt)){a(!1);return}
557const m=document.createElement("script");return m.id=rt,m.src=ts,m.async=!0,m.onload=()=>{a(!1)},m.onerror=()=>{l(!0),a(!1)},document.body.appendChild(m),()=>{m.onload=null,m.onerror=null}},[]),(0,t.jsxs)(j.Ay,{variant:"feature",id:"libcal",condensed:!0,padding:!1,children:[(0,t.jsx)($.Ay,{as:"h2",$size:"2",children:e}),n&&(0,t.jsx)(it,{}),r&&(0,t.jsx)(Xn.A,{variant:"error",text:"Sorry, unable to load events at this time."}),(0,t.jsx)(os,{id:es,className:"libcal-widget"}),(0,t.jsx)(is,{$variant:"darkOutline",openInNewWindow:!0,path:ns,children:Yn.ew.libcalCtaText})]})},as=(0,i.css)`
558  // hide h3
559  .s-lc-ea-h3 {
560    position: absolute;
561    width: 1px;
562    height: 1px;
563    overflow: hidden;
564    clip: rect(0, 0, 0, 0);
565  }
566
567  // cell layout
568  td {
569    display: block;
570  }
571  @media ${e=>e.theme.mq.min.tablet} {
572    td {
573      display: table-cell;
574    }
575  }
576
577  // title row
578  .s-lc-ea-ttit {
579    a {
580      ${$.l_}
581      color: ${e=>e.theme.colors.link.default};
582      &[target='_blank']::after {
583        ${Zn.mU}
584      }
585    }
586    @media ${e=>e.theme.mq.min.mobile} {
587      td {
588        background-color: transparent;
589      }
590      td:first-child {
591        background-color: ${e=>e.theme.colors.bluebright.shade};
592        visibility: visible;
593      }
594    }
595  }
596
597  // date row
598  .s-lc-ea-tdat {
599    td:last-child {
600      font-weight: 700;
601    }
602  }
603
604  // description row
605  .s-lc-ea-tdes {
606    p {
607      span {
608        font-family: inherit !important;
609        font-size: inherit !important;
610      }
611      + p {
612        margin-top: ${e=>e.theme.spacing.xs};
613      }
614    }
615    a {
616      color: ${e=>e.theme.colors.link.default} !important;
617    }
618  }
619
620  // table
621  table {
622    .s-lc-ea-l {
623      width: unset !important;
624    }
625    margin-bottom: ${e=>e.theme.spacing.xl};
626    border-bottom: 0 !important;
627    border-top: 1px solid ${e=>e.theme.colors.bluebright.shade};
628
629    td:first-child {
630      background-color: ${e=>e.theme.colors.bluebright.shade};
631    }
632    ${_n.t}
633  }
634`,os=i.styled.div`
635  ${as}
636
637  max-width: ${e=>e.theme.grid.default.width};
638  margin-inline: auto;
639`,is=(0,i.styled)(te.Ay)`
640  @media ${e=>e.theme.mq.min.mobile} {
641    width: fit-content;
642  }
643`,rs=ss;var f=s(65497),lt=s(56685);const ls=({title:e,formHeading:n,submitLabel:a="Submit"})=>(0,t.jsx)("div",{"data-component":"mailChimp",children:(0,t.jsx)("div",{id:"mc_embed_shell",children:(0,t.jsx)("div",{id:"mc_embed_signup",children:(0,t.jsx)("form",{action:"https://www.us9.list-manage.com/subscribe/post?u=333571debcba3d2c57286b64f&id=be3b1c4af9&v_id=4761&f_id=00c8dbe3f0",method:"post",id:"mc-embedded-subscribe-form",name:"mc-embedded-subscribe-form",className:"validate",target:"_self",children:(0,t.jsxs)(f.Zm,{id:"mc_embed_signup_scroll",children:[n&&(0,t.jsx)($.Ay,{as:e?"h3":"h2",$size:e?"3":"2",children:n}),(0,t.jsxs)("div",{className:"indicates-required",children:[(0,t.jsx)("span",{className:"asterisk",children:"*"})," indicates required"]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-EMAIL",children:"Work Email"}),(0,t.jsx)(f.gI,{type:"email",name:"EMAIL",className:"required email",id:"mce-EMAIL",autoComplete:"section-work email",required:!0,"aria-required":!0})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-FNAME",children:"First Name"}),(0,t.jsx)(f.gI,{type:"tel",name:"FNAME",className:"text",id:"mce-FNAME",autoComplete:"section-work given-name"})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-LNAME",children:"Last Name"}),(0,t.jsx)(f.gI,{type:"text",name:"LNAME",className:"text",id:"mce-LNAME",autoComplete:"section-work family-name"})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-PHONE",children:"Phone"}),(0,t.jsx)(f.gI,{type:"tel",name:"PHONE",className:"REQ_CSS",id:"mce-PHONE",autoComplete:"section-work tel"})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-ACCOUNT",children:"Company Name"}),(0,t.jsx)(f.gI,{type:"text",name:"ACCOUNT",className:"text",id:"mce-ACCOUNT",autoComplete:"section-work organization",required:!0,"aria-required":!0})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-JOBTITLE",children:"Job Title"}),(0,t.jsx)(f.gI,{type:"text",name:"JOBTITLE",className:"text",id:"mce-JOBTITLE",autoComplete:"section-work organization-title",required:!0,"aria-required":!0})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-INTEREST",children:"Interested In"}),(0,t.jsxs)(f.UD,{name:"INTEREST",id:"mce-INTEREST",required:!0,"aria-required":!0,children:[(0,t.jsx)("option",{value:"",children:"- Please select -"}),(0,t.jsx)("option",{value:"Hiring an apprentice for my organisation",children:"Hiring an apprentice for my organisation"}),(0,t.jsx)("option",{value:"Becoming an apprentice within my organisation",children:"Becoming an apprentice within my organisation"}),(0,t.jsx)("option",{value:"Offering an apprenticeship to a current employee",children:"Offering an apprenticeship to a current employee"})]})]}),(0,t.jsxs)(f.CB,{children:[(0,t.jsx)(f.mm,{htmlFor:"mce-AREA",children:"Area of Interest"}),(0,t.jsxs)(f.UD,{name:"AREA",id:"mce-AREA",required:!0,"aria-required":!0,children:[(0,t.jsx)("option",{value:"",children:"- Please select -"}),(0,t.jsx)("option",{value:"Business Management",children:"Business Management"}),(0,t.jsx)("option",{value:"Engineering Design and Manufacture (Electronic or Mechanical)",children:"Engineering Design and Manufacture (Electronic or Mechanical)"}),(0,t.jsx)("option",{value:"Civil Engineering",children:"Civil Engineering"}),(0,t.jsx)("option",{value:"Construction and the Built Environment",children:"Construction and the Built Environment"})]})]}),(0,t.jsxs)(f.CB,{id:"mergeRow-gdpr",className:"mergeRow gdpr-mergeRow content__gdprBlock mc-field-group",children:[(0,t.jsxs)(f.CB,{className:"content__gdpr",children:[(0,t.jsx)(A.Ay,{as:"p",children:"Please select all the ways you would like to hear from:"}),(0,t.jsxs)(f.W_,{className:"mc_fieldset gdprRequired mc-field-group",name:"interestgroup_field",children:[(0,t.jsx)(f.FK,{as:e?"h4":"h3",children:"Marketing Permissions"}),(0,t.jsxs)(f.GJ,{className:"checkbox subfield",htmlFor:"gdpr_39649",style:{width:"fit-content"},children:[(0,t.jsx)(f.Wx,{type:"checkbox",id:"gdpr_39649",name:"gdpr[39649]",className:"gdpr",required:!0,"aria-required":!0}),(0,t.jsx)(A.Ay,{as:"span",children:"Email"})]})]}),(0,t.jsx)(A.Ay,{as:"p",$size:"small",children:"You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website."})]}),(0,t.jsx)(f.CB,{className:"content__gdprLegal",children:(0,t.jsxs)(A.Ay,{as:"p",$size:"small",children:["We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about"," ",(0,t.jsx)(lt.A,{path:"https://mailchimp.com/legal/terms",openInNewWindow:!0,children:"Mailchimp's privacy practices."})]})})]}),(0,t.jsx)("div",{style:{position:"absolute",left:"-5000px"},"aria-hidden":"true",children:(0,t.jsx)(f.gI,{type:"text",name:"b_333571debcba3d2c57286b64f_be3b1c4af9",tabIndex:-1,autoComplete:"off"})}),(0,t.jsx)("div",{className:"clear",children:(0,t.jsx)(f.E0,{type:"submit",name:"subscribe",id:"mc-embedded-subscribe",className:"button",value:a})})]})})})})});var cs=s(57366),ds=s(97239);const ms=({map:e})=>e?(0,t.jsx)(j.Ay,{id:"Maps",padding:!1,variant:"feature",background:"white",width:!1,children:(0,t.jsx)(hs,{children:e.map((n,a)=>{const r=a%2===0?"right":"left";return(0,t.jsx)(ds.A,{layout:r,...n},a)})})}):null,hs=i.styled.div`
644  display: flex;
645  flex-direction: column;
646
647  gap: ${e=>e.theme.spacing.l};
648  @media ${e=>e.theme.mq.min.laptop} {
649    gap: ${e=>e.theme.spacing.xl};
650  }
651  @media ${e=>e.theme.mq.min.largeDesktop} {
652    gap: ${e=>e.theme.spacing.xxl};
653  }
654`;var us=s(14943);
654const ps={viewMore:{generic:"View more",profiles:"View more profiles"}};var gs=s(80361);function xs(e){const[n,a]=(0,p.useState)([]),[r,l]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{if(!e)return;const h=new AbortController;let m=!0;const y=e.replace(".html",".json")+"&num_ranks=16";return l(!0),fetch(y,{signal:h.signal}).then(o=>o.json()).then(o=>{if(!m||h.signal.aborted)return;const E=(o?.response?.resultPacket?.results||[]).map(v=>({id:v.liveUrl,link:v.liveUrl,name:v.listMetadata.t?.[0]??v.title,image:v.listMetadata.image?{src:v.listMetadata.image[0].replace("fit=crop","fit=crop-top"),alt:v.title,width:Te.jJ.width,height:Te.jJ.height}:Te.jJ,role:v.listMetadata.jobTitle?.[0],primaryArea:v.listMetadata.school?.[0]??v.listMetadata.service?.[0],secondaryArea:v.listMetadata.department?.[0],seeMoreLink:v.liveUrl}));a(E)}).catch(o=>{o.name!=="AbortError"&&console.error(o)}).finally(()=>{m&&!h.signal.aborted&&l(!1)}),()=>{m=!1,h.abort()}},[e]),{results:n,isLoading:r}}const ys=({title:e,intro:n,url:a,seeMore:r})=>{const{results:l,isLoading:h}=xs(a??""),m=`profiles-${(0,p.useId)()}`;if(h)return(0,t.jsx)(it,{id:"funnelbackLoading",status:"loading"});if(!l||l.length===0)return null;const y=l.length>15&&r?r:void 0;return(0,t.jsxs)(j.Ay,{id:m,heading:e,lead:n,width:!1,padding:!1,variant:"feature",seeMoreLink:y,children:[(0,t.jsx)(ee.C,{"data-component":"funnelbackProfiles",children:l.map(o=>(0,t.jsx)(gs.A,{...o},o.id))}),y&&(0,t.jsx)(fs,{path:y,children:ps.viewMore.profiles})]})},fs=(0,i.styled)(te.Ay)`
655  @media ${e=>e.theme.mq.min.mobile} {
656    width: fit-content;
657    align-self: center;
658  }
659`,$s=ys;var ct=s(9927),Be=s(58380),vs=s(43560);const bs=e=>Object.entries(e).filter(([,n])=>n!=null).map(([n,a])=>({field:n,contains:a})),js={"1DU":"Dubai","1ED":"Edinburgh","1SB":"Scottish Borders","1MP":"Malaysia","1OL":"Online"},Cs=({title:e,intro:n,showImages:a,manualProgrammeSelection:r,keywordsLevel:l,keywordsLocation:h,subject:m,nonstandard:y,seeMore:o,searchUrl:c})=>{const v=(0,O.d4)(M.rE.selectors.selectVersionStatus),[I,Q]=(0,p.useState)(null),[z,fe]=(0,p.useState)(0),T=(0,p.useMemo)(()=>({nonstandard:y}),[y]),H=(0,p.useMemo)(()=>bs(T),[T]),Re=w=>w.search!=null&&w.search!==void 0,he=(0,O.d4)(Re);if((0,p.useEffect)(()=>{let w=!0;return(async()=>{if(r&&r.length>0){Q(r);return}const Ue=l&&l.length>0?[d.Op.or(...l.map(C=>{switch(C){case"Undergraduate":return d.Op.contains("sys.uri","/undergraduate/");case"Postgraduate":return d.Op.contains("sys.uri","/postgraduate/");case"Foundation":return d.Op.contains("sys.uri","/foundation/");case"Research":return d.Op.contains("sys.uri","/research/");default:return null}}).filter(C=>C!==null))]:[],Ne=m&&m.length>0?[d.Op.or(...m.map(C=>d.Op.equalTo("subjectArea.entryTitle",C)))]:[],ut=h?.length?[d.Op.or(...h.flatMap(C=>{const Y=[];Y.push(d.Op.contains("gcmCodeFull",C));const ne=js[C];return ne&&Y.push(d.Op.and(d.Op.equalTo("sys.contentTypeId","programmeResearch"),d.Op.contains("location.entryTitle",ne))),C==="1OL"&&Y.push(d.Op.equalTo("sys.contentTypeId","programmeOnline")),Y}))]:[],Ve=[d.Op.equalTo("sys.versionStatus",v),d.Op.or(d.Op.equalTo("sys.contentTypeId","programme"),d.Op.equalTo("sys.contentTypeId","programmeOnline"),d.Op.equalTo("sys.contentTypeId","programmeResearch")),d.Op.and(...H.flatMap(C=>Array.isArray(C.contains)?C.contains.map(Y=>d.Op.contains(C.field,Y)):[d.Op.contains(C.field,C.contains)])),...Ue,...ut,...Ne],Me=new d.Query(...Ve);Me.orderBy=d.OrderBy.asc("entryTitle"),Me.pageSize=100,Me.fields=["title","entryTitle","gcmCodeFull","image","sys","subjectArea.entryTitle","location","location.entryTitle"];const Se=await(0,J.m)(W.cachedSearch.search(Me,1));if(!Se.response||!w)return;const R=Se.response.items.map(C=>(0,W.mapJson)(C,ct.S));if(r?.length){const C=r.map(oe=>oe.id).filter(Boolean),Y=[d.Op.equalTo("sys.versionStatus",v),d.Op.or(d.Op.equalTo("sys.contentTypeId","programme"),d.Op.equalTo("sys.contentTypeId","programmeOnline"),d.Op.equalTo("sys.contentTypeId","programmeResearch")),d.Op.or(...C.map(oe=>d.Op.equalTo("sys.id",oe)))],ne=new d.Query(...Y);ne.orderBy=d.OrderBy.desc("datePublished"),ne.pageSize=C.length,ne.fields=["title","entryTitle","gcmCodeFull","image","sys","location"];const gt=await(0,J.m)(W.cachedSearch.search(ne,0));let xt=[];gt.response&&w&&(xt=gt.response.items);const ra=[...xt.map(oe=>
659(0,W.mapJson)(oe,ct.S)).filter(Boolean),...R],la=[...new Map(ra.map(oe=>[oe.id,oe])).values()],yt=C,ca=la.sort((oe,da)=>{const Je=yt.indexOf(oe.id??""),Qe=yt.indexOf(da.id??"");return Je!==-1&&Qe!==-1?Je-Qe:Je!==-1?-1:Qe!==-1?1:0});Q(ca.slice(0,r.length))}else{const C=R.length;fe(C),Q(R.slice(0,8));return}})(),()=>{w=!1}},[he,r,H,l,h,m,v]),!I?.length)return null;const je={"Graduate Apprenticeship":"greenmid",[Be.ls.undergraduate]:"greenmid",[Be.ls.postgraduate]:"bluebrightmid",[Be.ls.foundation]:"orchillight",[Be.ls.research]:"sand"},ke=w=>w??"",We=w=>{const $e=w??"";return $e in je?je[$e]:"pink"};return(0,t.jsxs)(j.Ay,{id:`programmes-${Math.random().toString(36).slice(2,7)}`,heading:e,lead:n,background:"white",width:!1,padding:!1,variant:"feature",seeMoreLink:o,children:[(0,t.jsx)(ee.C,{children:I.map((w,$e)=>(0,t.jsx)(ge.A,{title:w.name,taxonomy:ke(w.level),color:We(w.level),...w,image:a?w.image:void 0,level:void 0,variant:"whiteWithShadow"},w.link??$e))}),z>8&&(0,t.jsx)(As,{path:c,children:vs.t.more})]})},As=(0,i.styled)(te.Ay)`
660  align-self: center;
661  width: 100%;
662  @media ${e=>e.theme.mq.min.tablet} {
663    width: fit-content;
664  }
665`,Es=Cs;var Ms=s(61860),Ss=s(8836),Os=s(7036),Is=s(67205);const Ps=({anchorId:e="text",heading:n,content:a,text:r})=>{const l=!!a&&!(0,we.A)(r);return(0,t.jsx)(j.Ay,{id:e,heading:n,width:!0,background:"white",padding:!1,variant:"feature","data-richtext":l?"true":"false","data-component":"textBlock",children:r&&(0,we.A)(r)?(0,t.jsx)(me.Rj,{children:(0,t.jsx)(me.Ay,{data:r??[]})}):(0,t.jsx)(Is.default,{text:a})})},dt="https://cdn.unibuddy.co/unibuddy-buddyframe.js",Ds="https://unibuddy.co/heriot-watt-university/colour/0A3E65/external/buddies/mentorId/",Ts=({name:e,chatID:n,heading:a,intro:r})=>{if((0,p.useEffect)(()=>{const h=dt;if(window.__unibuddyScriptLoaded||(window.__unibuddyScriptLoaded=!0,document.querySelector(`script[src="${h}"]`)))return;const m=document.createElement("script");m.src=dt,m.type="text/javascript",m.async=!0,document.body.appendChild(m)},[]),!n)return null;const l=new URL(encodeURIComponent(n),Ds).toString();return(0,t.jsx)(j.Ay,{id:"unibuddy-card",variant:"feature",heading:a,lead:r,condensed:!0,padding:!1,children:(0,t.jsx)(ee.C,{"data-component":"unibuddyCard",children:(0,t.jsx)(ot.A,{id:"unibuddy-buddyframe",src:l,title:`Chat with ${e}`,"data-ub-cookie-consent":"necessary","data-ub-lang":"en-GB",height:425})})})};var ws=s(81918),Ls=s(9064),Bs=s(89517),Ee=s(47729),Rs=s(40399);const ks=({image:e,title:n,link:a,variant:r="default"})=>{const l=r==="social"?"blueDark":"black",y=(0,Rs.b)({variant:r,brand:"global",isCanvas:!1});return a?(0,t.jsx)(Ws,{path:a.url??a.sys.uri,"data-variant":r,"data-component":"cardHome",$background:y.background,children:(0,t.jsx)(Ee.Ay,{image:e,background:y.background,children:(0,t.jsx)(mt,{as:"h3",$size:"4",$color:l,children:n})})}):null},mt=(0,i.styled)($.Ay)`
666  ${Ee.k2}
667`,Ws=(0,i.styled)(lt.A)`
668  ${Ee.ok}
669  color: ${e=>e.theme.colors.neutral.black};
670
671  &[data-variant='social'] {
672    color: ${e=>e.theme.colors.blue.dark};
673  }
674
675  &:hover,
676  &:hover ${mt} {
677    color: ${e=>e.theme.colors.stone.primary};
678  }
679
680  &:focus-visible {
681    ${Ee.Wu} {
682      background-color: var(--focus-bg);
683    }
684  }
685
686  ${Ee.MH} {
687    aspect-ratio: 4/3;
688  }
689
690  ${Ee.Wu} {
691    background-color: ${e=>e.$background}80;
692  }
693`,Us=({title:e,cards:n,intro:a,variant:r="default"})=>!n||!e?null:(0,t.jsx)(j.Ay,{...Le.Vk,id:"cardHomeRow",heading:e,lead:a,children:(0,t.jsx)(ee.C,{"data-column-gap":"m",children:n.map((l,h)=>(0,t.jsx)(ks,{...l,variant:r},h))})});var Ns=s(51984),Gs=s(48348);const ze={blue:"blue",green:"green",orange:"sand",pink:"pink",purple:"orchil",white:"blue"},He={blue:"blue",green:"greenDark",orange:"sandDark",pink:"orchilDark",purple:"orchilDark",white:"blueDark"},Fs={blue:"blueLight",green:"greenLight",orange:"sandLight",pink:"orchilLight",purple:"orchilLight",white:"blueLight"},zs={blue:"blue",green:"green",orange:"sand",pink:"pink",purple:"orchil",white:"blue"},fa=5*60*1e3,Hs=e=>{const n=new Date(e).getTime(),a=Number.isFinite(n),[r,l]=(0,p.useState)(()=>a?Math.max(0,n-Date.now()):0);(0,p.useEffect)(()=>
693{if(!a)return;const m=()=>{l(Math.max(0,n-Date.now()))};m();const y=setInterval(m,1e3);return()=>clearInterval(y)},[n,a]);const h=Math.floor(r/1e3);return{isValidDate:a,eventStarted:r===0,showSeconds:r<=3e5,days:Math.floor(h/(60*60*24)),hours:Math.floor(h/(60*60)%24),minutes:Math.floor(h/60%60),seconds:h%60}},Vs=({heading:e,lead:n,endDate:a,cta:r,variant:l="white",image:h})=>{const{isValidDate:m,eventStarted:y,days:o,hours:c,minutes:E,seconds:v}=Hs(a);if(!m)return(0,t.jsx)($.Ay,{as:"p",$size:"2",children:"Invalid event date"});const I={label:"",value:":"},Q=[{label:"Days",value:o},I,{label:"Hours",value:c},I,{label:"Minutes",value:E},I,{label:"Seconds",value:v}],z=[`${o} ${o===1?"day":"days"}`,`${c} ${c===1?"hour":"hours"}`,`${E} ${E===1?"minute":"minutes"}`,`${v} ${v===1?"second":"seconds"}`].join(", "),fe=T=>T.toString().padStart(2,"0");return(0,t.jsxs)(Xs,{$variant:l,$image:h?.src,children:[(0,t.jsxs)(Zs,{children:[e&&(0,t.jsx)($.Ay,{as:"h2",$size:"2",$color:He[l],children:e}),n&&(0,t.jsx)($.Ay,{as:"h2",$size:"4 italic",$color:He[l],children:n})]}),(0,t.jsxs)(Ks,{children:[(0,t.jsxs)(qs,{"aria-hidden":"true","data-expired":y?"":void 0,children:[(0,t.jsx)(_s,{"data-expired":y?"":void 0,children:Q.map((T,H)=>T.label===""?(0,t.jsx)(na,{$size:"2",$color:Fs[l],"data-separator":"",children:":"},H):(0,t.jsx)(ea,{as:"span",$size:"1",$color:He[l],"data-value":T.value,children:T.label==="Days"?T.value:fe(T.value)},H))}),(0,t.jsx)(ta,{children:Q.map((T,H)=>T.label===""?(0,t.jsx)(aa,{},H):(0,t.jsx)(sa,{as:"span",children:T.label},H))})]}),(0,t.jsxs)(Js,{children:["Countdown: ",z]}),r?.url&&(0,t.jsx)(oa,{path:r.url,$variant:zs[l],children:r.label})]})]})},ht=(0,i.css)`
694  font-family: ${e=>e.theme.typography.fontFamily.monospace};
695`,Js=i.styled.span`
696  position: absolute;
697  width: 1px;
698  height: 1px;
699  padding: 0;
700  margin: -1px;
701  overflow: hidden;
702  clip: rect(0, 0, 0, 0);
703  white-space: nowrap;
704  border: 0;
705`,Qs=(0,i.css)`
706  // 90 -> 85% radial gradient
707  background-image:
708    radial-gradient(
709      ellipse at center,
710      ${e=>e.$variant==="white"?e.theme.colors.neutral.white:e.theme.colors[ze[e.$variant]].shade}E6,
711      ${e=>e.$variant==="white"?e.theme.colors.neutral.white:e.theme.colors[ze[e.$variant]].shade}D9
712    ),
713    url(${e=>e.$image?e.$image:"none"});
714  background-size: cover;
715  background-position: center;
716  background-repeat: no-repeat;
717`,Ys=(0,i.css)`
718  background-color: ${e=>e.$variant==="white"?e.theme.colors.neutral.white:e.theme.colors[ze[e.$variant]].shade};
719`,Xs=i.styled.div`
720  ${F.mI}
721  gap: ${e=>e.theme.spacing.s};
722  align-items: center;
723  padding: ${e=>e.theme.spacing.m} ${e=>e.theme.spacing.s};
724
725  @media ${e=>e.theme.mq.min.laptop} {
726    gap: ${e=>e.theme.spacing.l};
727    padding: ${e=>e.theme.spacing.xl};
728  }
729
730  ${e=>e.$image?Qs:Ys};
731`,Zs=i.styled.div`
732  display: flex;
733  flex-direction: column;
734  gap: ${e=>e.theme.spacing.s};
735  text-align: center;
736  ${j.x4};
737`,Ks=i.styled.div`
738  ${j.x4};
739  width: 100%;
740  display: flex;
741  flex-direction: column;
742  gap: ${e=>e.theme.spacing.l};
743  align-items: center;
744
745  @media ${e=>e.theme.mq.min.desktop} {
746    gap: ${e=>e.theme.spacing.xl};
747  }
748`,qs=i.styled.div`
749  display: grid;
750  grid-template-columns: repeat(7, auto);
751  grid-template-rows: auto auto;
752  align-items: center;
753  justify-content: center;
754  column-gap: ${e=>e.theme.spacing.xxxs};
755  margin: ${e=>e.theme.spacing.s} 0;
756  transition: opacity 0.4s;
757
758  @media ${e=>e.theme.mq.min.tablet} {
759    column-gap: ${e=>e.theme.spacing.xs};
760  }
761
762  &[data-expired] {
763    opacity: 0.5;
764  }
765`,_s=i.styled.div`
766  display: contents;
767
768  @media ${e=>e.theme.mq.max.tablet} {
769    &:not([data-expired]) {
770      & > [data-value='0']:not(:last-child),
771      & > [data-value='0'] + [data-separator] {
772        display: none;
773      }
774    }
775  }
776`,ea=(0,i.styled)($.Ay)`
777  grid-row: 1;
778  text-align: center;
779  ${ht};
780
781  font-size: clamp(3rem, 7.5vw, 6rem);
782`,ta=i.styled.div`
783  display: none;
784  @media ${e=>e.theme.mq.min.tablet} {
785    display: contents;
786  }
787`,na=(0,i.styled)($.Ay).attrs({as:"span","aria-hidden":"true"})`
788  grid-row: 1;
789  align-self: center;
790  line-height: 1;
791  transform: translateY(-0.1em);
792  ${ht};
793`,sa=(0,i.styled)(A.Ay)`
794  grid-row: 2;
795  text-align: center;
796`,aa=i.styled.span.attrs({"aria-hidden":"true"})`
797  grid-row: 2;
798  align-self: center;
799  line-height: 1;
800`,oa=(0,i.styled)(te.Ay)`
801  width: 100%;
802
803  @media ${e=>e.theme.mq.min.mobile} {
804    width: fit-content;
805  }
806`,ia=({items:e,pageKey:n,currentEntryContentType:a})=>{const r=(0,O.d4)(M.DT.selectors.selectRouteEntryContentTypeId)??"",l=a??r,h=()=>l==="researchInstituteOverview"||l==="researchProjectThemeOverview"||l==="campaignPage"||l==="subLandingPage"||l==="contentPage"||l==="schoolLandingPage"||l==="homePage"||l==="contentHrRecruitmentGeneral"||l.includes("shapingFutures")?"white":"greyShade",m=()=>l==="campaignPage";if(!e||!Array.isArray(e))return null;const y=l==="contentHrRecruitmentCampaign"?Le._C:Le.sw;return(0,t.jsx)(t.Fragment,{children:e.map((o,c)=>{if(!o?._type)return null;switch(o._type){case"accordionGroup":return o?.accordionItem?(0,t.jsx)(j.Ay,{id:S(),background:"white",lead:o.lead,width:!0,padding:!1,heading:o.heading,variant:"feature","data-component":"accordionGroup",children:(0,t.jsx)(L.A,{accordionItem:o.accordionItem,...o},`${n??"composer"}-${c}`)},`${n??"composer"}-${c}`):null;case"banners":case"griBanners":case"gridFocusBanners":return(0,t.jsx)(u.JP,{...o},`${n??"composer"}-${c}`);case"blackbaudForm":return(0,t.jsx)(Ls.A,{...o},`${n??"composer"}-${c}`);case"blogMinilist":return(0,t.jsx)(Pe,{...o},`${n??"composer"}-${c}`);case"canvas":return o.children?(0,p.createElement)(j.Ay,{...y,key:`${n??"composer"}-${c}`,id:S(),heading:o.heading},(0,t.jsx)(me.Rj,{children:(0,t.jsx)(me.Ay,{data:o.children})})):null;case"cardRowNoLinks":return(0,t.jsx)(Ns.default,{...o},`${n??"composer"}-${c}`);case"cardRowPeopleNonacademic":return(0,t.jsx)(Tt,{...o},`${n??"composer"}-${c}`);case"cardStatisticRow":return(0,t.jsx)(Lt.A,{...o},`${n??"composer"}-${c}`);case"childPages":return(0,t.jsx)(nn.A,{...o},`${n??"composer"}-${c}`);case"contentPanel":return(0,t.jsx)($n,{...o},`${n??"composer"}-${c}`);case"contentImagePanel":return(0,t.jsx)(mn,{...o},`${n??"composer"}-${c}`);case"countdown":return(0,t.jsx)(Vs,{...o},`${n??"composer"}-${c}`);case"ctaBanner":return(0,t.jsx)(Mn,{...o},`${n??"composer"}-${c}`);case"donorboxDonationForm":return(0,t.jsx)(Fn.default,{...o},`${n??"composer"}-${c}`);case"embeddedContent":return(0,t.jsx)(Gs.A,{...o},`${n??"composer"}-${c}`);case"ebsOnlineEnquiries":return(0,t.jsx)(Vn,{...o},`${n??"composer"}-${c}`);case"essenceBlock":return(0,t.jsx)(j.Ay,{id:S(),background:"darkBlue",variant:"feature",width:!1,padding:!1,children:(0,t.jsx)(u.ge,{...o})},`${n??"composer"}-${c}`);case"eventsMinilist":return(0,t.jsx)(Sn.default,{...o},`${n??"composer"}-${c}`);case"formGecko":return(0,t.jsx)(Jn.A,{...o},`${n??"composer"}-${c}`);case"formGravity":return(0,t.jsx)(Qn.A,{...o},`${n??"composer"}-${c}`);case"cardGeneralRow":case"generalCardRow":return(0,t.jsx)(Bs.A,{...o},`${n??"composer"}-${c}`);case"genericBanner":return(0,t.jsx)(k.A,{...o},`${n??"composer"}-${c}`);case"genericSectionText":case"genericSectionTextCanvas":return null;case"homepageCardRow":return(0,t.jsx)(Us,{...o},`${n??"composer"}-${c}`);case"imageGrid":return(0,t.jsx)(Un,{...o},`${n??"composer"}-${c}`);case"imageLinksGrid":return(0,t.jsx)(j.Ay,{id:S(),background:"white",variant:"feature",width:!0,padding:!1,heading:o.title,lead:o.lead,"data-component":"imagesLinkGrid",children:(0,t.jsx)(Nn.A,{$noContainer:!0,...o},`${n??"composer"}-${c}`)},`${n??"composer"}-${c}`);case"imagesCarousel":case"imageGallery":return(0,t.jsx)(j.Ay,{id:S(),background:"white",width:!1,padding:!0,variant:"feature","data-component":"imagesCarouselGallery",children:(0,t.jsx)(Qt,{slides:o.slides?.map(E=>
806({id:E.id,slide:(0,t.jsx)(tn,{...E})}))},`${n??"composer"}-${c}`)},`${n??"composer"}-${c}`);case"libCal":return(0,t.jsx)(rs,{...o},`${n??"composer"}-${c}`);case"mailChimpSignupForm":return(0,t.jsx)(j.Ay,{id:S(),width:!1,padding:!1,condensed:!0,heading:o.title,lead:o.intro,"data-component":"mailChimpSignupForm",children:(0,t.jsx)(ls,{...o})},`${n??"composer"}-${c}`);case"maps":return(0,t.jsx)(ms,{...o},`${n??"composer"}-${c}`);case"newsMinilist":return(0,t.jsx)(u.FS,{...o},`${n??"composer"}-${c}`);case"peopleMinilist":return(0,t.jsx)(us.default,{...o},`${n??"composer"}-${c}`);case"podcast":return(0,t.jsx)(j.Ay,{id:S(),background:"white",variant:"feature",width:!1,padding:!0,"data-component":"podcast",children:(0,t.jsx)(Gn.A,{...o})},`${n??"composer"}-${c}`);case"profilesMinilistFunnelback":return(0,t.jsx)($s,{...o},`${n??"composer"}-${c}`);case"programmeMinilist":return(0,t.jsx)(Es,{...o},`${n??"composer"}-${c}`);case"promoTextBlock":return(0,t.jsx)(Z,{...o},`${n??"composer"}-${c}`);case"quote":return(0,t.jsx)(u.Pk,{...o},`${n??"composer"}-${c}`);case"searchBar":return(0,t.jsx)(Ms.A,{...o},`${n??"composer"}-${c}`);case"spotlightCarousel":return(0,t.jsx)(re.A,{slides:o.slides?.map(E=>({id:E.id,slide:(0,t.jsx)(Ce.A,{...E})}))},`${n??"composer"}-${c}`);case"tabsGroup":return(0,t.jsx)(j.Ay,{heading:o.heading,lead:o.lead,seeMoreLink:o.seeMoreLink,...Le.tC,id:S(),"data-component":"tabsGroup",children:(0,t.jsx)(Ss.A,{...o},`${n??"composer"}-${c}`)},`${n??"composer"}-${c}`);case"testimonial":return(0,t.jsx)(j.Ay,{id:S(),background:o.variant?ws.o[o.variant]:l==="campaignPage"?"darkBlue":"white",variant:"feature",width:!1,padding:!1,"data-component":"testimonial",children:(0,t.jsx)(Os.A,{...o,variant:o.variant?o.variant:l==="campaignPage"?"blueDark":"white"})},`${n??"composer"}-${c}`);case"textBannerNoLink":return(0,t.jsx)(be,{...o},`${n??"composer"}-${c}`);case"textBlock":return(0,t.jsx)(Ps,{...o},`${n??"composer"}-${c}`);case"unibuddyCard":return console.log("unibuddy *"),(0,t.jsx)(Ts,{...o},`${n??"composer"}-${c}`);case"unibuddyChat":return(0,t.jsx)(cs.A,{...o},`${n??"composer"}-${c}`);case"veppleTour":return(0,t.jsx)(et.A,{...o},`${n??"composer"}-${c}`);case"video":return(0,t.jsx)(j.Ay,{id:S(),background:h(),width:!1,padding:m(),variant:"feature","data-component":"video",children:o?.videos?(0,t.jsx)(B.A,{...o}):(0,t.jsx)(u.Ce,{...o,background:"transparent"})},`${n??"composer"}-${c}`);default:console.error("Composer Component ",o._type," not found");break}})})}},18671(ve,P,s){s.r(P);var t=s(63589),p=s(29633),M=s(15306),O=s(56090),x=s(72263),ie=s.n(x),X=s(46517),g=s(80203),D=s(87431),b=s(48011),V=s(58250),G=s(99971),U=s(47401),S=s(77345);const re=ue=>Object.entries(ue).filter(([,Z])=>Z!=null).map(([Z,B])=>({field:Z,contains:B})),j=({title:ue,intro:Z,manualEventsSelection:B,attendanceType:u,keywordsLocation:L,keywordsSchools:k,keywordsType:i,seeMore:$})=>{const A=(0,g.d4)(D.rE.selectors.selectVersionStatus),[F,K]=(0,p.useState)(null),le=(0,G.A)(),q=(0,p.useMemo)(()=>({attendanceType:u,keywordsLocation:L,keywordsSchools:k,keywordsType:i}),[u,L,k,i]),_=(0,p.useMemo)(()=>re(q),[q]);(0,p.useEffect)(()=>{let ce=!0;return(async()=>{if(B?.length){K(B);return}let be=[];be=[x.Op.equalTo("sys.versionStatus",A),x.Op.equalTo("sys.contentTypeId","event"),x.Op.or(..._.flatMap(d=>d.contains?Array.isArray(d.contains)?d.contains.map(J=>x.Op.contains(d.field,J)):[x.Op.contains(d.field,d.contains)]:[]))];const ge=new x.Query(...be);ge.orderBy=x.OrderBy.asc("date.from");const W=await(0,X.m)(O.cachedSearch.search(ge,1));if(W.response&&ce){const Oe=W.response.items.map(xe=>(0,O.mapJson)(xe,b.R)).filter(xe=>{const de=new Date;de.setHours(0,0,0,0);const ee=new Date(xe.timestampTo||xe.timestamp||"");return ee.setHours(0,0,0,0),ee>=de});K(Oe.slice(0,3))}if(W.error){console.error(W.error);return}})(),()=>{ce=!1}},[B,_,A]);const Ae="greyShade";return F?.length?(0,t.jsx)(M.Ay,{id:"events",heading:ue,lead:Z,background:Ae,width:!1,padding:!1,variant:"feature",seeMoreLink:$,children:(0,t.jsx)(U.C,{children:F.map((ce,pe)=>(0,t.jsx)(S.A,{variant:le?"blueDarkWithGreenAccent":"blueDark",taxonomy:V.t.event,color:le?"green":"pink",...ce},pe))})}):null};s.d(P,["default",0,j])},14943(ve,P,s){s.r(P);var t=s(63589),p=s(29633),M=s(15306),O=s(56090),x=s(72263),ie=s.n(x),X=s(46517),g=s(80203),D=s(87431),b=s(83933),V=s(47401),G=s(80361),U=s(28194),S=s(80385),re=s(67780);const Ce=B=>
806B?{"Edinburgh Business School":"/ebs","Global College":"/global-college","School of Energy, Geoscience, Infrastructure and Society":"/egis","School of Engineering and Physical Sciences":"/eps","School of Mathematical and Computer Sciences":"/macs","School of Social Sciences":"/soss","The Design School":"/tds"}[B]??"":"",j=({title:B,intro:u,manualSelection:L,school:k,department:i,researchInstitute:$,directorate:A,service:F,team:K,management:le,campus:q,subjectAreas:_,entryType:Ae,alphabeticalOrder:ce,seeMore:pe})=>{const be=(0,g.d4)(D.rE.selectors.selectVersionStatus),[ge,W]=(0,p.useState)(null);(0,p.useEffect)(()=>{let de=!0;return(async()=>{if(L?.length){W(L);return}let N=[];N=[x.Op.equalTo("sys.versionStatus",be),x.Op.equalTo("sys.contentTypeId",Ae),x.Op.exists("sys.uri",!0)],le&&N.push(x.Op.equalTo("management",!0)),k&&N.push(x.Op.contains("sys.uri",Ce(k))),q&&(q==="uk"?N.push(x.Op.or(x.Op.contains("campus.entryTitle","edinburgh"),x.Op.contains("campus.entryTitle","scottish borders"),x.Op.contains("campus.entryTitle","orkney"))):N.push(x.Op.contains("campus.entryTitle",q))),_?.[0]&&N.push(x.Op.contains("subjectAreas.entryTitle",_[0])),i&&N.push(x.Op.contains("department.entryTitle",i)),$&&N.push(x.Op.contains("researchInstitute.entryTitle",$)),A&&N.push(x.Op.contains("directorate.entryTitle",A)),F&&N.push(x.Op.contains("service.entryTitle",F)),K&&N.push(x.Op.contains("team.entryTitle",K));const Ye=new x.Query(...N),Pe=await(0,X.m)(O.cachedSearch.search(Ye,1));if(Pe.response&&de){const De=Pe.response.items.map(se=>(0,O.mapJson)(se,b.b));ce&&De.sort((se,te)=>{const ae=se.name?.split(" ")||[],Ie=te.name?.split(" ")||[],ye=`${ae.at(-1)} ${ae.slice(0,-1).join(" ")}`,Ge=`${Ie.at(-1)} ${Ie.slice(0,-1).join(" ")}`;return ye.localeCompare(Ge)}),W(De.slice(0,16))}})(),()=>{de=!1}},[ce,L,be,le,k,q,_,i,$,Ae,A,F]);const d=(0,p.useMemo)(()=>`people-${Math.random().toString(36).slice(2,10)}`,[]),J=(0,g.d4)(D.DT.selectors.selectRouteEntryContentTypeId),xe=J==="researchInstituteOverview"||J==="researchProjectThemeOverview"||J==="contentPage"||J==="subLandingPage"?"white":"greyShade";return ge?.length?(0,t.jsxs)(M.Ay,{id:d,heading:B,lead:u,background:xe,width:!1,padding:!1,variant:"feature",seeMoreLink:pe,children:[(0,t.jsx)(V.C,{"data-component":"peopleMinilist",children:ge.map((de,ee)=>(0,t.jsx)(G.A,{...de},ee))}),pe&&(0,t.jsx)(ue,{path:pe,children:S.q.viewProfiles})]}):null},ue=(0,re.styled)(U.Ay)`
807  @media ${B=>B.theme.mq.min.tablet} {
808    align-self: center;
809    width: fit-content;
810  }
811`,Z=j;s.d(P,["default",0,Z])},50250(ve,P,s){var t=s(63589),p=s(67780),M=s(62649),O=s(47401);const x=({videos:g,background:D})=>{if(!g?.length)return null;if(g.length===2)return(0,t.jsx)(O.C,{$minCardWidth:"25rem",children:g.map(S=>(0,t.jsx)(M.Ce,{...S,background:D||"transparent",variant:"thumbnail"},S.videoID))});const V=g[0],G=g.filter((S,re)=>re>0),U=G.length>0;return(0,t.jsxs)(ie,{children:[(0,t.jsx)(M.Ce,{...V,background:D||"transparent",variant:U?"primary":"single"},V.videoID),G?.length?(0,t.jsx)(O.C,{$minCardWidth:"25rem",children:G.map(S=>(0,t.jsx)(M.Ce,{...S,background:D||"transparent",variant:"thumbnail"},S.videoID))}):null]})},ie=p.styled.div`
812  display: grid;
813  gap: ${g=>g.theme.spacing.l} ${g=>g.theme.spacing.xs};
814`,X=x;s.d(P,["A",0,X])},46517(ve,P,s){const t=p=>p.then(M=>({error:null,response:M})).catch(M=>({error:M,response:null}));s.d(P,["m",0,t])}}]);})();

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.