{"version":3,"file":"theme.min.js","mappings":"MAmEA,GAlEAA,SAASC,iBAAiB,KAAKC,SAAQ,SAACC,EAAmBC,GACvDD,EAASE,aAAa,SAAWF,EAASG,aAAa,QAAQC,SAAS,SAC1EJ,EAASK,aAAa,SAAU,SAElC,IAGAC,YAAW,WACQT,SAASC,iBAAiB,gCAEhCC,SAAQ,SAACQ,EAAmBN,GACvC,IAAMO,EAAQD,EAAKJ,aAAa,cAAgB,IAAMI,EAAKJ,aAAa,cAAgB,IAAMI,EAAKJ,aAAa,cAC1GM,EAAWF,EAAKJ,aAAa,iBAAmBI,EAAKJ,aAAa,iBAAmBK,EAErFE,EAAIb,SAASc,cAAc,KACjCD,EAAEL,aAAa,OAAQ,iBAAUG,IACjCE,EAAEE,UAAYH,EAEVF,EAAKM,eAAeN,EAAKM,cAAcC,YAAYJ,GACvDH,EAAKQ,UAAUC,IAAI,aACnBT,EAAKU,MAAMC,QAAU,MACtB,GACD,GAAG,KAGArB,SAASsB,cAAc,qBACzBtB,SAASsB,cAAc,oBAAoBC,iBAAiB,SAAS,SAACC,GACrEA,EAAEC,iBAEFC,OAAOC,SAAS,CACfC,IAAK,EACLC,KAAM,EACNC,SAAU,UAEZ,IAIiB9B,SAASsB,cAAc,6BACbS,aAC5BL,OAAOH,iBAAiB,UAAU,SAAUS,GAY3C,IAAMC,EAAQjC,SAASsB,cAAc,oBACzB,MAATW,IAEEP,OAAOQ,QAAU,IACpBD,EAAMf,UAAUC,IAAI,wBAEpBc,EAAMf,UAAUiB,OAAO,wBAI1B,IAAG,GAGQnC,SAASsB,cAAc,6BAC5B,CACL,IAAMc,EAAUpC,SAASsB,cAAc,+CACpCc,GAASA,EAAQlB,UAAUC,IAAI,QAElC,IAAMkB,EAAarC,SAASsB,cAAc,6CACvCe,GAAYA,EAAWnB,UAAUC,IAAI,QAExC,IAAMmB,EAAkBtC,SAASsB,cAAc,mFAC5CgB,GAAiBA,EAAgBpB,UAAUC,IAAI,eAGlD,IAAMoB,EAAYvC,SAASC,iBAAiB,kCAC5C,GAAGsC,EAAW,CACb,IAAIC,EAAUC,MAAMC,KAAKH,GACRC,EAAQA,EAAQG,OAAS,GAG5BnC,aAAa,eAAgB,O,EAM7C,IAAMoC,EAAe,CACpB,4BACA,YACA,+DACA,mDACA,gEACA,iDACA,wEACA,wFAIGC,EAAcD,EAAcE,KAAKC,MAAMD,KAAKE,SAAYJ,EAAmB,SAGnE5C,SAASsB,cAAc,uBAG7Bd,aAAa,MAAO,wEAAiEqC,G","sources":["webpack://2sic-standard-skin-template/./src/ts/theme.ts"],"sourcesContent":["/* Open all PDF links in a new window */\r\ndocument.querySelectorAll('a').forEach((linkElem: Element, index) => {\r\n\tif(linkElem.hasAttribute('href') && linkElem.getAttribute('href').endsWith('.pdf')) {\r\n\t\tlinkElem.setAttribute('target', '_blank');\r\n\t}\r\n});\r\n\r\n/* mailencrypting */\r\nsetTimeout(function () {\r\n\tlet mailElement = document.querySelectorAll('[data-madr1]:not(.madr-done)');\r\n\r\n\tmailElement.forEach((mail: HTMLElement, index) => {\r\n\t\tconst maddr = mail.getAttribute('data-madr1') + '@' + mail.getAttribute('data-madr2') + '.' + mail.getAttribute('data-madr3');\r\n\t\tconst linktext = mail.getAttribute('data-linktext') ? mail.getAttribute('data-linktext') : maddr;\r\n\r\n\t\tconst a = document.createElement('a')\r\n\t\ta.setAttribute('href', `mailto:${maddr}`)\r\n\t\ta.innerHTML = linktext;\r\n\r\n\t\tif (mail.parentElement) mail.parentElement.appendChild(a);\r\n\t\tmail.classList.add('madr-done');\r\n\t\tmail.style.display = 'none';\r\n\t});\r\n}, 500);\r\n\r\n/* Go to top button */\r\nif(document.querySelector('#to-shine-to-top')) {\r\n\tdocument.querySelector('#to-shine-to-top').addEventListener('click', (e) => {\r\n\t\te.preventDefault();\r\n\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: 'smooth'\r\n\t\t});\r\n\t})\r\n}\r\n\r\n/* scrolling behavior (to top button / breadcrumb) */\r\nconst navheader = document.querySelector('#to-shine-page-navigation') as HTMLElement;\r\nconst navheight = navheader.offsetHeight;\r\nwindow.addEventListener('scroll', function (event) {\r\n\t// const bc = document.querySelector('.to-shine-page-breadcrumb');\r\n\t// if(bc != null) {\r\n\t// \t(bc as HTMLElement).style.top = `${navheader.offsetHeight - 1}px` ;\r\n\r\n\t// \tif (window.scrollY > navheight) {\r\n\t// \t\tbc.classList.add('bg-light' , 'shadow');\r\n\t// \t} else {\r\n\t// \t\tbc.classList.remove('bg-light' , 'shadow');\r\n\t// \t}\r\n\t// }\r\n\r\n\tconst toTop = document.querySelector(\"#to-shine-to-top\");\r\n\tif(toTop != null) {\r\n\t\t/* show / hide scroll to top button */\r\n\t\tif (window.scrollY > 200) {\r\n\t\t\ttoTop.classList.add('to-shine-top-visible');\r\n\t\t} else {\r\n\t\t\ttoTop.classList.remove('to-shine-top-visible');\r\n\t\t}\r\n\t}\r\n\r\n}, false);\r\n\r\n/* === Breadcrumb === */\r\nconst bc = document.querySelector('.to-shine-page-breadcrumb');\r\nif(bc){\r\n\tconst bcALast = document.querySelector('.to-shine-page-breadcrumb span a:last-child');\r\n\tif(bcALast) bcALast.classList.add('last');\r\n\r\n\tconst bcSpanLast = document.querySelector('.to-shine-page-breadcrumb span:last-child')\r\n\tif(bcSpanLast) bcSpanLast.classList.add('last');\r\n\r\n\tconst bcSpanLinkChild = document.querySelector('.to-shine-page-breadcrumb span .to-shine-page-breadcrumb-link:nth-last-child(3)');\r\n\tif(bcSpanLinkChild) bcSpanLinkChild.classList.add('second-last');\r\n\r\n\t// Manually add aria-current attribute to last breadcrumb\r\n\tconst bcCurrent = document.querySelectorAll('.to-shine-page-breadcrumb-link');\r\n\tif(bcCurrent) {\r\n\t\tlet bcLinks = Array.from(bcCurrent);\r\n\t\tlet bcLastLink = bcLinks[bcLinks.length - 1];\r\n\t\tlet bcCurrentPage = bcLastLink;\r\n\r\n\t\tbcCurrentPage.setAttribute(\"aria-current\", \"page\");\r\n\t}\r\n}\r\n\r\n/* === Header Images === */\r\n// Manually build array of generic background images.\r\nconst headerImages = [\r\n\t\"Graham_Hills_2000x600.jpg\",\r\n\t\"TIC-1.jpg\",\r\n\t\"xFaculty-of-Science---Day-3.jpg.pagespeed.ic.Cu8Dj8wB3p.webp\",\r\n\t\"xSIPBS-2000x600.jpg.pagespeed.ic.8KZA4nHX6X.webp\",\r\n\t\"xstrathclyde-business-school.jpg.pagespeed.ic.Okj5oxHuqP.webp\",\r\n\t\"xtic-building.jpg.pagespeed.ic.-oRuXJOxFy.webp\",\r\n\t\"xWhy_Choose_Strathclyde_1600x600-min.jpg.pagespeed.ic.kuvPPREreZ.webp\",\r\n\t\"xYoung_man_works_on_laptop_and_takes_notes_1600x600.jpg.pagespeed.ic.mY5BI61DCd.webp\",\r\n]\r\n\r\n// Pick random image.\r\nlet headerImage = headerImages[(Math.floor(Math.random() * (headerImages.length)))];\r\n\r\n// Find header image element.\r\nlet image = document.querySelector('.page-banner__image');\r\n\r\n// Update image src attribute with path to image folder, plus the random image.\r\nimage.setAttribute(\"src\", `/Portals/_default/skins/strathclyde-external-dnn-theme/images/${headerImage}`);\r\n\r\n\r\n"],"names":["document","querySelectorAll","forEach","linkElem","index","hasAttribute","getAttribute","endsWith","setAttribute","setTimeout","mail","maddr","linktext","a","createElement","innerHTML","parentElement","appendChild","classList","add","style","display","querySelector","addEventListener","e","preventDefault","window","scrollTo","top","left","behavior","offsetHeight","event","toTop","scrollY","remove","bcALast","bcSpanLast","bcSpanLinkChild","bcCurrent","bcLinks","Array","from","length","headerImages","headerImage","Math","floor","random"],"sourceRoot":""}