{"version":3,"file":"util.min.js","sources":["util.js"],"sourcesContent":["'use strict';\r\n\r\nconst af = {\r\n\r\n offsetTop: 20,\r\n\r\n scrollContainer: document.body.classList.contains('scroll-scene') ? document.querySelector('.scroll-container') : document.querySelector('html'),\r\n\r\n scrollToElement: function (element, hash, offset = af.offsetTop) {\r\n let topp = element.offsetTop - offset;\r\n if (topp < 0) { topp = 0; }\r\n af.removeHeightInPercentForMobile();\r\n af.scrollContainer.scrollTo({ top: topp, behavior: 'smooth' });\r\n if (hash) {\r\n setTimeout(function () {\r\n location.hash = hash;\r\n }, 500);\r\n }\r\n },\r\n\r\n getScreenWidth: function () {\r\n return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\r\n },\r\n\r\n getSreenHeight: function () {\r\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n },\r\n\r\n isTouchDevice: function () {\r\n return window.matchMedia('(hover: none)').matches;\r\n },\r\n\r\n isLocalBookmark: function (link) {\r\n if (link.hash !== '') {\r\n const href = link.getAttribute('href') || null;\r\n return (href != null && href.indexOf('#') === 0);\r\n }\r\n return false;\r\n },\r\n\r\n enableScrollSnapMandatory: function () {\r\n af.scrollContainer.classList.add('snap-mandatory');\r\n },\r\n\r\n enableScrollSnapMandatoryIfAllChildHasWindowHeight: function () {\r\n const children = document.querySelectorAll('.scroll-child');\r\n const screenHeight = af.getSreenHeight();\r\n let isMandatory = true;\r\n\r\n children.forEach(child => {\r\n if (child.scrollHeight > screenHeight) {\r\n isMandatory = false;\r\n }\r\n });\r\n\r\n if (isMandatory) {\r\n af.enableScrollSnapMandatory();\r\n }\r\n },\r\n\r\n removeScrollPosition: function (pathname) {\r\n const key = 'scrollposition' + pathname;\r\n sessionStorage.removeItem(key);\r\n },\r\n\r\n setMobileViewPortHeight: function () {\r\n let vh = window.innerHeight * 0.01;\r\n document.documentElement.style.setProperty('--vh', `${vh}px`);\r\n },\r\n\r\n setScrollBarWidth: function () {\r\n const element = document.querySelector('.scroll-container'); \r\n\r\n element.style.overflow = 'scroll';\r\n let srollbarwidth = window.innerWidth - document.documentElement.clientWidth;\r\n element.style.setProperty('overflow', '');\r\n document.documentElement.style.setProperty('--srollbarwidth', `${srollbarwidth}px`);\r\n },\r\n\r\n setHeightInPercentForMobile: function () {\r\n if (af.getScreenWidth() < 768) {\r\n af.scrollContainer.classList.add('percent-100');\r\n } else {\r\n af.scrollContainer.classList.remove('percent-100');\r\n }\r\n },\r\n\r\n removeHeightInPercentForMobile: function () {\r\n af.scrollContainer.classList.remove('percent-100');\r\n },\r\n\r\n removeAllChildNodes: function (parent) {\r\n while (parent.firstChild) {\r\n parent.removeChild(parent.firstChild);\r\n }\r\n },\r\n\r\n displayElement: function (elementId, elementIdGroupPrefix) {\r\n const elements = document.querySelectorAll('[id^=\"' + elementIdGroupPrefix + '\"]');\r\n elements.forEach(item => {\r\n item.classList.add('d-none');\r\n });\r\n document.getElementById(elementId).classList.remove('d-none');\r\n },\r\n\r\n initSlideshow: function (slideShows, withArrows = true) {\r\n\r\n if (withArrows == true) {\r\n\r\n $(slideShows).on('init',\r\n function (event, slick) {\r\n if (slick.$slides) {\r\n var nextSlideDom = $(slick.$slides[0]);\r\n af.handleInvertOnSlideChange($(this), nextSlideDom);\r\n }\r\n });\r\n\r\n $(slideShows).on('beforeChange',\r\n function (event, slick, currentSlide, nextSlide) {\r\n var nextSlideDom = $(slick.$slides.get(nextSlide));\r\n af.handleInvertOnSlideChange($(this), nextSlideDom);\r\n });\r\n\r\n $(slideShows).slick({\r\n arrows: true,\r\n dots: false,\r\n infinite: true,\r\n speed: 800,\r\n fade: true,\r\n prevArrow: '',\r\n nextArrow: '',\r\n autoplay: false,\r\n autoplaySpeed: 2000,\r\n pauseOnHover: true,\r\n mobileFirst: true,\r\n swipe: true\r\n });\r\n } else {\r\n $(slideShows).slick({\r\n arrows: false,\r\n dots: false,\r\n infinite: true,\r\n speed: 2000,\r\n fade: true,\r\n autoplay: true,\r\n autoplaySpeed: 5000,\r\n pauseOnHover: false\r\n });\r\n }\r\n\r\n window.addEventListener('resize', $(slideShows).slick('resize'));\r\n\r\n $(slideShows).on('breakpoint', function (event, slick, breakpoint) {\r\n if (slick) {\r\n if ('IntersectionObserver' in window) {\r\n let lazyloadBgImages = this.querySelectorAll('[data-bg-image-url]');\r\n\r\n lazyloadBgImages.forEach(image => {\r\n imageBgObserver.observe(image);\r\n });\r\n }\r\n\r\n }\r\n });\r\n\r\n },\r\n initSlideshowGrupp: function (slideShows) {\r\n\r\n $(slideShows).on('beforeChange',\r\n function (event, slick, currentSlide, nextSlide) {\r\n if (event.target.classList.contains('popup-card-slideshow')) {\r\n const popupSlideShows = this.querySelectorAll(\r\n '.slick-slide[data-slick-index = \"' +\r\n nextSlide +\r\n '\"] .js-slideshow-popup:not(.slick-initialized)');\r\n\r\n af.initSlideshow(popupSlideShows);\r\n\r\n if (popupSlideShows.length > 0) {\r\n af.loadImages(popupSlideShows[0].querySelectorAll('[data-bg-image-url]'));\r\n const videosInfo = popupSlideShows[0].querySelectorAll('video');\r\n media.spelaVideoVidKlick(videosInfo);\r\n }\r\n const currentIndex = this.nextSibling.querySelector('.popup-grupp .current-index');\r\n currentIndex.innerHTML = nextSlide + 1;\r\n }\r\n });\r\n\r\n $(slideShows).slick({\r\n arrows: true,\r\n dots: false,\r\n infinite: true,\r\n speed: 800,\r\n fade: true,\r\n autoplay: false,\r\n prevArrow: '',\r\n nextArrow: '',\r\n autoplaySpeed: 2000,\r\n pauseOnHover: false,\r\n mobileFirst: true,\r\n swipe: false\r\n });\r\n\r\n\r\n window.addEventListener('resize', $(slideShows).slick('resize'));\r\n\r\n $(slideShows).on('breakpoint', function (event, slick, breakpoint) {\r\n if (slick) {\r\n if ('IntersectionObserver' in window) {\r\n let lazyloadBgImages = this.querySelectorAll('[data-bg-image-url]');\r\n\r\n lazyloadBgImages.forEach(image => {\r\n imageBgObserver.observe(image);\r\n });\r\n }\r\n\r\n }\r\n });\r\n\r\n },\r\n\r\n handleInvertOnSlideChange: function (slideshow, slide) {\r\n let menyLivlina = document.getElementById('navbar-livlina-meny');\r\n let temaDark = 'navbar-dark';\r\n let temaLight = 'navbar-light';\r\n if ($(slideshow).hasClass('js-uppdatera-nav-on-slide')) {\r\n if ($(slide).hasClass('nav-invert')) {\r\n menyLivlina.classList.remove(temaLight);\r\n menyLivlina.classList.add(temaDark);\r\n $(slide).addClass('text-af-vit');\r\n $(slideshow).addClass('text-af-vit');\r\n\r\n if ($('.sidhuvud-overliggande')) {\r\n $('.sidhuvud-container').addClass('text-af-vit');\r\n }\r\n\r\n } else {\r\n menyLivlina.classList.remove(temaDark);\r\n menyLivlina.classList.add(temaLight);\r\n $(slide).removeClass('text-af-vit');\r\n $(slideshow).removeClass('text-af-vit');\r\n if ($('.sidhuvud-overliggande')) {\r\n $('.sidhuvud-container').removeClass('text-af-vit');\r\n }\r\n }\r\n $('.js-grupprubrik').removeClass(function (index, css) {\r\n return (css.match(/(^|\\s)text-af-\\S+/g) || []).join(' ');\r\n });\r\n $('.js-grupprubrik').addClass($(slide).attr('data-rubrikgrupp-farg'));\r\n $('.navbar-parent').removeClass(function (index, css) {\r\n return (css.match(/(^|\\s)text-af-\\S+/g) || []).join(' ');\r\n });\r\n $('.navbar-parent').addClass($(slide).attr('data-navbar-parent-farg'));\r\n } else {\r\n if ($(slide).hasClass('text-af-vit')) {\r\n $(slideshow).addClass('text-af-vit');\r\n\r\n } else {\r\n $(slideshow).removeClass('text-af-vit');\r\n }\r\n }\r\n },\r\n loadImages: function (elements) {\r\n elements.forEach(function (element) {\r\n if (element.dataset.bgImageUrl) {\r\n const url = element.dataset.bgImageUrl;\r\n element.style.backgroundImage = 'url(\"' + url + '\")';\r\n delete element.dataset.bgImageUrl;\r\n }\r\n });\r\n },\r\n\r\n setCookie: function (name, value, days, secure) {\r\n var date = new Date;\r\n date.setTime(date.getTime() + 24 * 60 * 60 * 1000 * days);\r\n document.cookie = name + '=' + value + ';path=/;expires=' + date.toGMTString() + (secure ? ';secure;' : '');\r\n },\r\n\r\n getCookie: function (name) {\r\n var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\r\n return v ? v[2] : null;\r\n },\r\n\r\n deleteCookie: function (name) { af.setCookie(name, '', -1); }\r\n};\r\n\r\n"],"names":["af","offsetTop","scrollContainer","document","body","classList","contains","querySelector","scrollToElement","element","hash","offset","let","topp","removeHeightInPercentForMobile","scrollTo","top","behavior","setTimeout","location","getScreenWidth","window","innerWidth","documentElement","clientWidth","getSreenHeight","innerHeight","clientHeight","isTouchDevice","matchMedia","matches","isLocalBookmark","link","href","getAttribute","indexOf","enableScrollSnapMandatory","add","enableScrollSnapMandatoryIfAllChildHasWindowHeight","children","querySelectorAll","screenHeight","isMandatory","forEach","child","scrollHeight","removeScrollPosition","pathname","sessionStorage","removeItem","setMobileViewPortHeight","vh","style","setProperty","setScrollBarWidth","srollbarwidth","overflow","setHeightInPercentForMobile","remove","removeAllChildNodes","parent","firstChild","removeChild","displayElement","elementId","elementIdGroupPrefix","item","getElementById","initSlideshow","slideShows","withArrows","$","on","event","slick","$slides","nextSlideDom","handleInvertOnSlideChange","this","currentSlide","nextSlide","get","arrows","dots","infinite","speed","fade","prevArrow","nextArrow","autoplay","autoplaySpeed","pauseOnHover","mobileFirst","swipe","addEventListener","breakpoint","image","imageBgObserver","observe","initSlideshowGrupp","target","popupSlideShows","length","loadImages","videosInfo","media","spelaVideoVidKlick","nextSibling","innerHTML","slideshow","slide","menyLivlina","temaDark","temaLight","hasClass","addClass","removeClass","index","css","match","join","attr","elements","url","dataset","bgImageUrl","backgroundImage","setCookie","name","value","days","secure","date","Date","setTime","getTime","cookie","toGMTString","getCookie","v","deleteCookie"],"mappings":"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"}