{ "version": 3, "sources": ["../src/js/theme/custom.js", "../../blocks/templates/image-text/assets/style.js", "../../blocks/blog-reel/assets/style.js", "../../blocks/publications-reel/assets/style.js", "../../blocks/events-reel/assets/style.js", "../../blocks/testimonial-feed/assets/style.js", "../../blocks/in-page-navigation/assets/style.js"], "sourcesContent": ["/* Main Menu */\nvar $ = jQuery.noConflict();\n\n$(function(){\n $(document).ready(function() {\n ///////////////////////////////////////////////////////////////\n // START - add class to show user is scrolling\n $(window).on('scroll load resize', function() {\n var siteBannerHeight = $('.site-banner').outerHeight();\n var mobileNavPosition = $('.site-banner').outerHeight() + $('.header').outerHeight();\n var mobileNavPositionLoggedIn = $('.site-banner').outerHeight() + $('.header').outerHeight() + $('#wpadminbar').outerHeight();\n\n if ( $(window).scrollTop() >= siteBannerHeight ) {\n $('html,body').addClass('is-scrolling');\n } else {\n $('html,body').removeClass('is-scrolling');\n }\n \n // adjust position of mobile nav reveal when on homepage for top site banner\n if ( $(window).width() < 992 && $('body').hasClass('home') ) {\n $('.wrapper-navbar').css('top', mobileNavPosition + \"px\");\n }\n\n // do same but when logged in and update for admin bar height\n if ( $(window).width() < 992 && $('body').is('.home.admin-bar') ) {\n $('.wrapper-navbar').css('top', mobileNavPositionLoggedIn + \"px\");\n }\n });\n // END - add class to show user is scrolling\n ///////////////////////////////////////////////////////////////\n\n ////////////////////////////////////////////////\n // START - slick slider example\n var slider = $('.slider-items');\n var slideStatus = $('.slider-page-info');\n\n if (slider.length > 0) {\n // set slides to same height\n slider.on('setPosition', function () {\n $(this).find('.slick-slide').height('auto');\n var slickTrack = $(this).find('.slick-track');\n var slickTrackHeight = $(slickTrack).height();\n $(this).find('.slick-slide').css('height', slickTrackHeight + 'px');\n });\n\n // add numbers for 1 of 5 or however many slider there are\n slider.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) {\n //currentSlide is undefined on init -- set it to 0 in this case (currentSlide is 0 based)\n var i = (currentSlide ? currentSlide : 0) + 1;\n slideStatus.text(i + '/' + slick.slideCount);\n });\n\n // initiate slider for home page\n slider.slick({\n autoplay: false,\n dots: true,\n infinite: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: $('#slider-prev'),\n nextArrow: $('#slider-next'),\n mobileFirst: true,\n responsive: [\n {\n breakpoint:992,\n settings: {\n slidesToShow: 1\n }\n },\n ]\n });\n }\n // END - slick slider example\n ///////////////////////////////////////////////\n\n ////////////////////////////////////////////////\n // START - slick slider with nav example\n var sliderWithNav = $('.slider-with-nav');\n var sliderNav = $('.slider-nav');\n\n if (sliderWithNav.length > 0) {\n sliderWithNav.slick({\n autoplay: false,\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: false,\n fade: true,\n asNavFor: '.slider-nav',\n responsive: [\n {\n breakpoint:767,\n settings: {\n fade: false,\n autoplay: false\n }\n },\n ]\n });\n sliderNav.slick({\n slidesToShow: 3,\n slidesToScroll: 1,\n asNavFor: '.slider-with-nav',\n dots: false,\n focusOnSelect: true,\n vertical: true,\n responsive: [\n {\n breakpoint:767,\n settings: {\n // slidesToShow: 3,\n // slidesToScroll: 1,\n vertical: false\n }\n },\n ]\n });\n }\n // END - slick slider with nav example\n ///////////////////////////////////////////////\n });\n});\n\n\"use strict\";\n\n////////////////////////////////////////////////\n// START - remove load class from body\n$(window).on('load', function() {\n // When the page has loaded\n $('body').removeClass('page-loading');\n});\n// END - only show focus ring on tab not click\n///////////////////////////////////////////////\n\n////////////////////////////////////////////////\n// START - only show focus ring on tab not click\nfunction handleFirstTab(e) {\n if (e.keyCode === 9) {\n document.body.classList.add('user-is-tabbing');\n window.removeEventListener('keydown', handleFirstTab);\n window.addEventListener('mousedown', handleMouseDownOnce);\n }\n}\n\nfunction handleMouseDownOnce() {\n document.body.classList.remove('user-is-tabbing');\n window.removeEventListener('mousedown', handleMouseDownOnce);\n window.addEventListener('keydown', handleFirstTab);\n}\n\nwindow.addEventListener('keydown', handleFirstTab);\n// END - only show focus ring on tab not click\n///////////////////////////////////////////////\n\n\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n // Function to update sectionHeight value\n function updateSectionHeight() {\n // Get the .publications-wrapper element\n var publicationsWrapper = document.querySelector(\".publications-wrapper\");\n\n if (publicationsWrapper) {\n // Get the first section element inside .publications-wrapper\n var firstSection = publicationsWrapper.querySelector(\"section:first-of-type\");\n var stickyWrapper = document.querySelector(\".sticky-wrapper\");\n\n if (firstSection) {\n // Calculate the height of the first section element\n var sectionHeight = firstSection.offsetHeight;\n\n // Get the element with class 'locked-content'\n var lockedContent = document.querySelector(\".locked-content\");\n\n if (lockedContent) {\n // Set the 'top' value of lockedContent to match the height of the section element\n stickyWrapper.style.marginTop = sectionHeight + \"px\";\n }\n }\n }\n }\n\n // Initial call to update sectionHeight value\n updateSectionHeight();\n\n // Event listener for the resize event on window\n window.addEventListener(\"resize\", function() {\n // Call the updateSectionHeight function when the viewport is resized\n updateSectionHeight();\n });\n});\n", "/*\n * This script dynamically adds a 'columns-block-row--reverse' class to specific '.columns-block-row' containers.\n * The class is added under the condition that a '.column-content' without a '.wp-block-image'\n * is followed by one that includes a '.wp-block-image'. This is designed to work with responsive designs,\n * applying the class 'columns-block-row--reverse'.\n */\n\nwindow.onload = function() {\n\t// Select all '.columns-block-row' elements within '.image-text' containers\n\tconst rows = document.querySelectorAll('.image-text .columns-block-row');\n \n\trows.forEach(row => {\n\t\tconst columnContents = row.querySelectorAll('.column-content');\n\t\tlet applyClass = false;\n\n\t\t// Check each pair of '.column-content' elements to see if they meet the condition\n\t\tfor (let i = 0; i < columnContents.length - 1; i++) {\n\t\t\tconst current = columnContents[i];\n\t\t\tconst next = columnContents[i + 1];\n\n\t\t\t// If the current element does not contain a '.wp-block-image' and the next one does, flag to apply the class\n\t\t\tif (!current.querySelector('.wp-block-image') && next.querySelector('.wp-block-image')) {\n\t\t\t\tapplyClass = true;\n\t\t\t\tbreak; // Exit the loop if condition is met\n\t\t\t}\n\t\t}\n \n\t\t// Add 'columns-block-row--reverse' class to the row if the condition is true\n\t\tif (applyClass) {\n\t\trow.classList.add('columns-block-row--reverse');\n\t\t}\n\t});\n};", "// /*--------------------------------------------------------------\n// # Custom scripts for Blog Reel block\n// --------------------------------------------------------------*/\n\nvar blogReelSlider = jQuery('.blog-reel-slider');\n// slick slider settings\nvar blogReelSliderSettings = {\n mobileFirst: true,\n dots: true,\n infinite: false,\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: '',\n nextArrow: '',\n responsive: [\n {\n breakpoint: 649,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1\n }\n },\n {\n breakpoint: 767,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 1\n }\n }\n ]\n}\n\nif (blogReelSlider.length > 0) {\n // set slides to same height\n blogReelSlider.on('setPosition', function () {\n jQuery(this).find('.blog-reel-slider__item').height('auto');\n var slickTrack = jQuery(this).find('.slick-track');\n var slickTrackHeight = jQuery(slickTrack).height();\n jQuery(this).find('.blog-reel-slider__item').css('height', slickTrackHeight + 'px');\n });\n\n // work out resize function to reinit or destroy slider on load and window resize\n jQuery(window).on('load resize', function() { \n // init slider if not already initialised\n blogReelSlider.not('.slick-initialized').slick(blogReelSliderSettings);\n });\n}\n", "// /*--------------------------------------------------------------\n// # Custom scripts for publications Reel block\n// --------------------------------------------------------------*/\n\nvar publicationsReelSlider = jQuery('.publications-reel-slider');\n// slick slider settings\nvar publicationsReelSliderSettings = {\n mobileFirst: true,\n dots: true,\n infinite: false,\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: '',\n nextArrow: '',\n responsive: [\n {\n breakpoint: 649,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1\n }\n },\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 1\n }\n },\n\t\t{\n breakpoint: 1400,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 1\n }\n }\n ]\n}\n\nif (publicationsReelSlider.length > 0) {\n // set slides to same height\n publicationsReelSlider.on('setPosition', function () {\n jQuery(this).find('.publications-reel-slider__item').height('auto');\n var slickTrack = jQuery(this).find('.slick-track');\n var slickTrackHeight = jQuery(slickTrack).height();\n jQuery(this).find('.publications-reel-slider__item').css('height', slickTrackHeight + 'px');\n });\n\n // work out resize function to reinit or destroy slider on load and window resize\n jQuery(window).on('load resize', function() { \n // init slider if not already initialised\n publicationsReelSlider.not('.slick-initialized').slick(publicationsReelSliderSettings);\n });\n}\n", "// /*--------------------------------------------------------------\n// # Custom scripts for events Reel block\n// --------------------------------------------------------------*/\n\nvar eventsReelSlider = jQuery('.events-reel-slider');\n// slick slider settings\nvar eventsReelSliderSettings = {\n mobileFirst: true,\n dots: true,\n infinite: false,\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: '',\n nextArrow: ''\n}\n\nif (eventsReelSlider.length > 0) {\n // set slides to same height\n eventsReelSlider.on('setPosition', function () {\n jQuery(this).find('.events-reel-slider__item').height('auto');\n var slickTrack = jQuery(this).find('.slick-track');\n var slickTrackHeight = jQuery(slickTrack).height();\n jQuery(this).find('.events-reel-slider__item').css('height', slickTrackHeight + 'px');\n });\n\n // work out resize function to reinit or destroy slider on load and window resize\n jQuery(window).on('load resize', function() { \n // init slider if not already initialised\n eventsReelSlider.not('.slick-initialized').slick(eventsReelSliderSettings);\n });\n}\n", "// Custom scripts for testimonial feed block\n\ndocument.addEventListener('DOMContentLoaded', function() {\n const cardSliderAuthor = document.querySelectorAll('.testimonial-feed .swiper-author');\n const cardSlider = document.querySelectorAll('.testimonial-feed .swiper');\n const cardSliderPagination = document.querySelectorAll('.testimonial-swiper-pagination');\n const cardSliderNext = document.querySelectorAll('.testimonial-arrow--next');\n const cardSliderPrev = document.querySelectorAll('.testimonial-arrow--prev');\n\n function setEqualHeight(slides) {\n let maxHeight = 0;\n slides.forEach((slide) => {\n const slideHeight = slide.offsetHeight;\n maxHeight = Math.max(maxHeight, slideHeight);\n });\n slides.forEach((slide) => {\n slide.style.height = maxHeight + 'px';\n });\n }\n\n cardSlider.forEach((slider, index) => {\n let swiper = new Swiper(slider, {\n slidesPerView: 1,\n spaceBetween: 24,\n pagination: {\n el: cardSliderPagination[index],\n clickable: true,\n },\n navigation: {\n nextEl: cardSliderNext[index],\n prevEl: cardSliderPrev[index],\n },\n thumbs: {\n swiper: cardSliderAuthor[index] ? new Swiper(cardSliderAuthor[index], {\n slidesPerView: 8,\n spaceBetween: 1,\n }) : null,\n },\n on: {\n init: function () {\n setEqualHeight(this.slides);\n },\n resize: function () {\n setEqualHeight(this.slides);\n }\n }\n });\n\n if (cardSliderAuthor[index]) {\n const swiperAuthor = swiper.thumbs.swiper; // Referencing swiperAuthor via swiper.thumbs.swiper\n const thumbs = cardSliderAuthor[index].querySelectorAll('.author-thum');\n thumbs.forEach((thumb, thumbIndex) => {\n thumb.setAttribute('tabindex', '0'); // Ensure thumbnails are focusable\n thumb.addEventListener('keydown', function(event) {\n if (event.keyCode === 13 || event.keyCode === 32) { // Enter or Space\n event.preventDefault();\n swiper.slideTo(thumbIndex); // Directly change slide in main swiper\n }\n });\n });\n }\n });\n});\n", "/*--------------------------------------------------------------\n# Custom scripts for In Page Navigation block\n--------------------------------------------------------------*/\n\n\nvar $ = jQuery.noConflict();\n\n$(function(){\n $(document).ready(function() {\n\n\t\t// START - turn tab row into slider\n\t\tvar tabSlider = $('.tab-row');\n\t\t// slick slider settings\n\t\tvar tabSliderSettings = {\n\t\t\tvariableWidth: true,\n\t\t\tdots: false,\n\t\t\tinfinite: false,\n\t\t\taccessibility: false,\n\t\t\ttouchThreshold: 100,\n\t\t\tprevArrow: '',\n\t\t\tnextArrow: ''\n\t\t}\n\n\t\t// check if tab row is on page\n\t\tif (tabSlider.length > 0) {\n\t\t\t// work out resize function to reinit or destroy slider on load and window resize\n\t\t\t$(window).on('load resize', function() {\n\t\t\t\t// loop through each tab row component\n\t\t\t\t$('.tab-row').each(function() {\n\t\t\t\t\t// store tab row width\n\t\t\t\t\tvar tabContainerWidth = $('.tab-row').width();\n\t\t\t\t\tvar totalTabWidth = 0;\n\t\t\t\t\t\n\t\t\t\t\t// loop through item just in its parent tab row\n\t\t\t\t\t$(this).find('.tab-row__item').each(function() {\n\t\t\t\t\t\t// get outer width of each tab and add them all together\n\t\t\t\t\t\ttotalTabWidth += $(this).outerWidth(true); // include margin\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\t// init or destroy tab row slider depending on if total tab width is greater or less than tab row\n\t\t\t\t\tif (totalTabWidth < tabContainerWidth && $(this).hasClass('slick-initialized')) {\n\t\t\t\t\t\t$(this).slick('unslick');\n\t\t\t\t\t\t$(this).find('.tab-row__item').removeAttr(\"tabindex\");\n\t\t\t\t\t} else if (totalTabWidth > tabContainerWidth) {\n\t\t\t\t\t\t$(this).not('.slick-initialized').slick(tabSliderSettings);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t// work out when last slide is in view avoid lots of white space on right\n\t\t\t\t\t$(this).on('afterChange', function (e, slick) {\n\t\t\t\t\t\tvar lElRect = slick.$slides[slick.slideCount - 1].getBoundingClientRect();\n\t\t\t\t\t\tvar rOffset = lElRect.x + lElRect.width;\n\t\t\t\t\t\tvar wraRect = $(this).find('.slick-list', tabSlider).get(0).getBoundingClientRect();\n\t\t\t\n\t\t\t\t\t\tif (rOffset < (wraRect.x + wraRect.width)) {\n\t\t\t\t\t\t\t$(this).find('.slick-next').addClass('slick-disabled');\n\t\t\t\t\t\t\t$(this).find('.slick-next').attr('aria-disabled', 'true');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(this).find('.slick-next').removeClass('slick-disabled');\n\t\t\t\t\t\t\t$(this).find('.slick-next').attr('aria-disabled', 'false');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\n\t});\n});\n\n\ndocument.addEventListener('DOMContentLoaded', function() {\n var selectElement = document.getElementById('anchor-links');\n\n\tif (selectElement) {\n selectElement.onchange = function() {\n updateSelectClass(this);\n };\n }\n\n function updateSelectClass(select) {\n // Change the page based on the selected value\n window.location.href = select.value;\n\n // Update the class based on whether the first option is selected or not\n if(select.selectedIndex === 0) {\n select.classList.add(\"no-selection\");\n select.classList.remove(\"selection-done\");\n } else {\n select.classList.remove(\"no-selection\");\n select.classList.add(\"selection-done\");\n }\n }\n\n\tfunction updateActiveLink() {\n\t\tconst links = document.querySelectorAll('.container--desktop .tab-row__item');\n\n\t\tlet foundActive = false;\n\n\t\tlinks.forEach(link => {\n\t\t\tlet targetId = link.getAttribute('href');\n\t\t\tif (targetId) {\n\t\t\t\t// Escap ID if start by a number\n\t\t\t\ttargetId = targetId.replace(/^#(\\d)/, '#\\\\\\\\3$1 ');\n\t\t\t\tconst targetElement = document.querySelector(targetId);\n\t\t\t\tif (targetElement) {\n\t\t\t\t\tconst distanceToTop = targetElement.getBoundingClientRect().top;\n\t\t\t\t\tif (distanceToTop <= 200 && distanceToTop >= -300 && !foundActive) {\n\t\t\t\t\t\tlink.classList.add('active-item');\n\t\t\t\t\t\tfoundActive = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlink.classList.remove('active-item');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (!foundActive) {\n\t\t\tlinks.forEach(link => link.classList.remove('active-item'));\n\t\t}\n\t}\n\n\twindow.addEventListener('scroll', updateActiveLink);\n\tupdateActiveLink();\n});\n\n"], "mappings": "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", "names": ["$", "siteBannerHeight", "mobileNavPosition", "mobileNavPositionLoggedIn", "slider", "slideStatus", "slickTrack", "slickTrackHeight", "event", "slick", "currentSlide", "nextSlide", "i", "sliderWithNav", "sliderNav", "handleFirstTab", "e", "handleMouseDownOnce", "updateSectionHeight", "publicationsWrapper", "firstSection", "stickyWrapper", "sectionHeight", "lockedContent", "row", "columnContents", "applyClass", "i", "current", "next", "blogReelSlider", "blogReelSliderSettings", "slickTrack", "slickTrackHeight", "publicationsReelSlider", "publicationsReelSliderSettings", "slickTrack", "slickTrackHeight", "eventsReelSlider", "eventsReelSliderSettings", "slickTrack", "slickTrackHeight", "cardSliderAuthor", "cardSlider", "cardSliderPagination", "cardSliderNext", "cardSliderPrev", "setEqualHeight", "slides", "maxHeight", "slide", "slideHeight", "slider", "index", "swiper", "swiperAuthor", "thumb", "thumbIndex", "event", "$", "tabSlider", "tabSliderSettings", "tabContainerWidth", "totalTabWidth", "e", "slick", "lElRect", "rOffset", "wraRect", "selectElement", "updateSelectClass", "select", "updateActiveLink", "links", "foundActive", "link", "targetId", "targetElement", "distanceToTop"] }