{"version":3,"file":"arbetsliv.bundle.js","sources":["../frontend/legacy-frontend/js/arbetsliv/components/pager.js","../frontend/legacy-frontend/js/components/multiplesubscriptionsblock.js","../frontend/legacy-frontend/js/arbetsliv/components/site-menu.js","../frontend/legacy-frontend/js/arbetsliv/components/adverts.js","../frontend/legacy-frontend/js/arbetsliv/components/newsletter-popup.js","../frontend/legacy-frontend/js/arbetsliv-main.js"],"sourcesContent":["(function () {\r\n const $listwrapper = document.getElementById('list--wrapper');\r\n const $btn = document.getElementById('showmore');\r\n\r\n const pushState = (url) => {\r\n window.history.pushState({}, '', url);\r\n };\r\n const fetchItems = ($showMore) => {\r\n let currentUrl = $showMore.dataset.url;\r\n pushState(currentUrl);\r\n\r\n fetch(currentUrl, {\r\n headers: { 'X-Requested-With': 'XMLHttpRequest' },\r\n method: 'get',\r\n cache: 'no-store'\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n $listwrapper.innerHTML = result;\r\n $btn.disabled = false;\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n });\r\n };\r\n\r\n const addEventListners = () => {\r\n if ($listwrapper != null) {\r\n $listwrapper.addEventListener('click', function (e) {\r\n if (e.target.matches('#showmore')) {\r\n $btn.disabled = true;\r\n e.preventDefault();\r\n //console.log('more clicked');\r\n fetchItems(e.target);\r\n }\r\n });\r\n }\r\n };\r\n addEventListners();\r\n})();\r\n","$(function () {\r\n var subscriptionFormContainer = document.querySelector('#ms-form--container');\r\n var toggleSubscriptionButtons = document.querySelectorAll('button[ms-toggle-id]');\r\n var allSubscriptionElements = document.querySelectorAll('div[ms-id]');\r\n var allSubscriptionSelectElements = document.querySelectorAll('select.ms-select-subscription');\r\n\r\n if (allSubscriptionElements == null || allSubscriptionElements.length === 0) return;\r\n\r\n var currentSubscriptionElement = allSubscriptionElements[0];\r\n\r\n function showSubscriptionElement(subscriptionElement) {\r\n if (currentSubscriptionElement) {\r\n currentSubscriptionElement.classList.add('d-none');\r\n\r\n var currentSubscriptionSelectElement = currentSubscriptionElement.querySelector(\r\n 'select.ms-select-subscription'\r\n );\r\n if (currentSubscriptionSelectElement) {\r\n currentSubscriptionSelectElement.value =\r\n currentSubscriptionElement.getAttribute('ms-id');\r\n }\r\n }\r\n\r\n subscriptionElement.classList.remove('d-none');\r\n currentSubscriptionElement = subscriptionElement;\r\n }\r\n\r\n toggleSubscriptionButtons.forEach(function (button) {\r\n button.addEventListener('click', function () {\r\n var targetId = parseInt(button.getAttribute('ms-toggle-id'));\r\n showSubscriptionElement(allSubscriptionElements[targetId]);\r\n\r\n if (subscriptionFormContainer) {\r\n const y =\r\n subscriptionFormContainer.getBoundingClientRect().top + window.scrollY + -100; // -100 for offsetting the menu\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n }\r\n });\r\n });\r\n\r\n allSubscriptionSelectElements.forEach(function (select) {\r\n select.addEventListener('change', function () {\r\n var targetId = parseInt(select.value);\r\n\r\n if (\r\n targetId === -1 ||\r\n targetId === parseInt(currentSubscriptionElement.getAttribute('ms-id'))\r\n )\r\n return;\r\n\r\n showSubscriptionElement(allSubscriptionElements[targetId]);\r\n });\r\n });\r\n});\r\n","$(() => {\r\n const $buttonOpenMenu = $('#btn-open-menu');\r\n const $buttonCloseMenu = $('#btn-close-menu');\r\n const $buttonOpenSearch = $('#btn-open-search');\r\n const $offcanvasMenu = $('#offcanvas-menu');\r\n const $searchInput = $('#search-input');\r\n const $window = $(window);\r\n\r\n const openMenu = () => {\r\n $offcanvasMenu.addClass('d-block');\r\n setTimeout(() => {\r\n /**\r\n * Fix for triggering transition effect after displaying menu as a block\r\n */\r\n $offcanvasMenu.addClass('show');\r\n }, 1);\r\n\r\n $offcanvasMenu.attr('aria-expanded', 'true');\r\n\r\n if ($window.width() >= 768) {\r\n $('html').on('click', overlayClickEvent);\r\n }\r\n };\r\n const closeMenu = () => {\r\n $('html').off('click', overlayClickEvent);\r\n $offcanvasMenu.attr('aria-expanded', 'false');\r\n $offcanvasMenu.removeClass('show');\r\n setTimeout(() => {\r\n $offcanvasMenu.removeClass('d-block');\r\n }, 300);\r\n };\r\n\r\n const overlayClickEvent = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n closeMenu();\r\n };\r\n\r\n const scrollTopMenu = (e) => {\r\n const scrollTop = $window.scrollTop();\r\n\r\n if (scrollTop > 125 && !$('body').hasClass('sticky-top')) {\r\n $('body').addClass('sticky-top');\r\n } else if (scrollTop <= 125 && $('body').hasClass('sticky-top')) {\r\n $('body').removeClass('sticky-top');\r\n }\r\n };\r\n\r\n $buttonOpenMenu.on('click', (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if ($offcanvasMenu.hasClass('show')) {\r\n closeMenu();\r\n $buttonOpenMenu.find('svg.open-menu').removeClass('d-none');\r\n $buttonOpenMenu.find('svg.close-menu').addClass('d-none');\r\n } else {\r\n openMenu();\r\n if ($window.width() < 768) {\r\n $buttonOpenMenu.find('svg.open-menu').addClass('d-none');\r\n $buttonOpenMenu.find('svg.close-menu').removeClass('d-none');\r\n }\r\n }\r\n });\r\n\r\n $offcanvasMenu.on('click', (e) => {\r\n e.stopPropagation();\r\n });\r\n $offcanvasMenu\r\n .find('li')\r\n .last()\r\n .find('a')\r\n .on('keydown', (e) => {\r\n if (e.keyCode === 9 && e.shiftKey === false) {\r\n e.preventDefault();\r\n $buttonCloseMenu.focus();\r\n }\r\n });\r\n\r\n $buttonCloseMenu.on('click', closeMenu);\r\n $buttonCloseMenu.on('keydown', (e) => {\r\n if (e.keyCode === 9 && e.shiftKey === true) {\r\n e.preventDefault();\r\n $offcanvasMenu.find('li').last().find('a').focus();\r\n }\r\n });\r\n\r\n $buttonOpenSearch.on('click', (e) => {\r\n e.stopPropagation();\r\n\r\n if (!$offcanvasMenu.hasClass('show')) {\r\n openMenu();\r\n }\r\n\r\n $searchInput.focus();\r\n });\r\n\r\n scrollTopMenu();\r\n\r\n $(window).on('scroll', scrollTopMenu);\r\n});\r\n","const $articleAdvert2ToMove = document.querySelector('.js-moveAdvert2-Article');\r\nconst $editorTextContainer = document.querySelector('.editor-text');\r\nif ($articleAdvert2ToMove && $editorTextContainer) {\r\n const $paragraphsInEditor = $editorTextContainer.querySelectorAll(':scope > p');\r\n\r\n if ($paragraphsInEditor.length === 0) {\r\n $editorTextContainer.insertAdjacentElement('beforeEnd', $articleAdvert2ToMove);\r\n } else {\r\n $paragraphsInEditor[Math.ceil($paragraphsInEditor.length / 2) - 1].insertAdjacentElement(\r\n 'afterEnd',\r\n $articleAdvert2ToMove\r\n );\r\n }\r\n}\r\n\r\nfunction moveAdvertToIndex(element, parent, newIndex) {\r\n if (element != null && parent != null) {\r\n const $parentChildren = parent.querySelectorAll(':scope > *');\r\n if ($parentChildren.length > 0) {\r\n if ($parentChildren.length <= newIndex) {\r\n parent.appendChild(element);\r\n // $parentChildren[$parentChildren.length - 1].insertAdjacentElement(\"afterEnd\", $startpageAdvertToMove);\r\n } else {\r\n parent.insertBefore(element, parent.children[newIndex]);\r\n // $parentChildren[newIndex].insertAdjacentElement(beforeBegin ? \"beforeBegin\" : \"afterEnd\", $startpageAdvertToMove);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction moveStartPageAdvertAfterListItem(element, parent, index) {\r\n if (element != null && parent != null) {\r\n const $parentChildren = parent.querySelectorAll(':scope .ArticleTeaser');\r\n if ($parentChildren.length > 0) {\r\n var newListItem = document.createElement('li');\r\n newListItem.classList.add('col-12', 'mb-4');\r\n newListItem.appendChild(element);\r\n $parentChildren[\r\n $parentChildren.length >= index ? index - 1 : $parentChildren.length - 1\r\n ]\r\n .closest('li')\r\n .insertAdjacentElement('afterEnd', newListItem);\r\n }\r\n }\r\n}\r\n\r\nconst $startpageAdvertToMove = document.querySelector('.js-moveAdvert-Startpage');\r\nconst $alivMainContainer = document.querySelector('main#main');\r\n\r\nif (window.isMobileAdViewport) {\r\n moveStartPageAdvertAfterListItem($startpageAdvertToMove, $alivMainContainer, 4);\r\n} else {\r\n moveAdvertToIndex($startpageAdvertToMove, $alivMainContainer, 3);\r\n}\r\n\r\nconst $alivAsideContainer = document.querySelector('aside.aliv-aside');\r\nconst $startPageAsideAdvert1ToMove = document.querySelector('.js-moveOutsiderAdvert-1-StartPage');\r\nconst $startPageAsideAdvert2ToMove = document.querySelector('.js-moveOutsiderAdvert-2-StartPage');\r\n\r\nif (window.isMobileAdViewport) {\r\n moveStartPageAdvertAfterListItem($startPageAsideAdvert1ToMove, $alivMainContainer, 6);\r\n\r\n moveStartPageAdvertAfterListItem($startPageAsideAdvert2ToMove, $alivMainContainer, 10);\r\n}\r\n\r\nconst $articleAsideAdvert2ToMove = document.querySelector('.js-moveOutsiderAdvert-2-Article');\r\nif (window.isMobileAdViewport && $articleAsideAdvert2ToMove) {\r\n moveAdvertToIndex($articleAsideAdvert2ToMove, $alivAsideContainer, 6);\r\n}\r\n\r\nconst $mainElement = document.querySelector('#main');\r\n\r\nif ($mainElement != null) {\r\n const calcAdvertScale = function () {\r\n document\r\n .querySelector(':root')\r\n .style.setProperty('--mainAdvertScaleCalc', $mainElement.offsetWidth / 980);\r\n document\r\n .querySelector(':root')\r\n .style.setProperty('--advertScaleCalc-320', $mainElement.offsetWidth / 320);\r\n document\r\n .querySelector(':root')\r\n .style.setProperty('--advertScaleCalc-300', $mainElement.offsetWidth / 300);\r\n };\r\n window.addEventListener('resize', calcAdvertScale);\r\n\r\n calcAdvertScale();\r\n}\r\n","(() => {\r\n var newsletterPopupDialogElement = document.querySelector('#newsletterPopup');\r\n const NEWSLETTERPOPUP_COOKIE_NAME = 'newsletterPopupDismissed';\r\n\r\n /**\r\n * Sets the newsletterPopupShown cookie to true\r\n */\r\n function setNewsletterPopupCookie() {\r\n var date = new Date();\r\n date.setTime(date.getTime() + 30 * 24 * 60 * 60 * 1000); // 30 days\r\n document.cookie = `${NEWSLETTERPOPUP_COOKIE_NAME}=true; expires=${date.toUTCString()}; path=/`;\r\n }\r\n\r\n /**\r\n * @returns {boolean} true if the newsletterPopupShown cookie is set to true\r\n */\r\n function hasNewsletterPopupCookie() {\r\n return (\r\n document.cookie\r\n .split('; ')\r\n .find((row) => row.startsWith(`${NEWSLETTERPOPUP_COOKIE_NAME}=`))\r\n ?.split('=')[1] === 'true' ?? false\r\n );\r\n }\r\n\r\n // If the newsletterPopup dialog is not found or the cookie is set, return\r\n if (!newsletterPopupDialogElement || hasNewsletterPopupCookie()) return;\r\n\r\n function showNewsletterPopupDialog() {\r\n newsletterPopupDialogElement.classList.remove('d-none');\r\n }\r\n\r\n function closeNewsletterPopupDialog() {\r\n newsletterPopupDialogElement.classList.add('closing-newsletterPopup');\r\n\r\n setTimeout(() => {\r\n newsletterPopupDialogElement.classList.add('d-none');\r\n setNewsletterPopupCookie();\r\n }, 300);\r\n }\r\n\r\n newsletterPopupDialogElement\r\n .querySelector('#newsletterPopup--close-btn')\r\n .addEventListener('click', closeNewsletterPopupDialog);\r\n\r\n newsletterPopupDialogElement\r\n .querySelector('#newsletterPopup--link')\r\n .addEventListener('click', setNewsletterPopupCookie);\r\n\r\n // Set up the newsletterPopup dialog\r\n\r\n function getScrollPercentage() {\r\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // Current scroll position\r\n const scrollHeight =\r\n document.documentElement.scrollHeight - document.documentElement.clientHeight; // Total scrollable height\r\n return (scrollTop / scrollHeight) * 100;\r\n }\r\n\r\n function newsletterPopupScrollEvent() {\r\n const scrolledPercentage = getScrollPercentage();\r\n\r\n if (scrolledPercentage >= 20) {\r\n window.removeEventListener('scroll', newsletterPopupScrollEvent);\r\n showNewsletterPopupDialog();\r\n }\r\n }\r\n\r\n function setupNewsletterPopupDialog() {\r\n window.__cmp('removeEventListener', ['consent', setupNewsletterPopupDialog, false], null);\r\n\r\n if (\r\n document.documentElement.scrollHeight > document.documentElement.clientHeight &&\r\n getScrollPercentage() < 20\r\n ) {\r\n // If the page has a scrollbar, don't show the newsletter popup until user has scrolled at least 20% of the page\r\n window.addEventListener('scroll', newsletterPopupScrollEvent);\r\n } else {\r\n showNewsletterPopupDialog();\r\n }\r\n }\r\n\r\n if (window.__cmp) {\r\n window.__cmp('addEventListener', ['consent', setupNewsletterPopupDialog, false], null);\r\n }\r\n})();\r\n","import { prefixRelativeUrl } from './util';\r\nimport './arbetsliv/components/pager';\r\nimport './components/bootstrapform';\r\nimport './components/apsis-subscribe';\r\nimport './components/multiplesubscriptionsblock';\r\nimport './arbetsliv/components/site-menu';\r\nimport './arbetsliv/components/adverts';\r\nimport './components/rotating-word-block';\r\nimport './arbetsliv/components/newsletter-popup';\r\n\r\n$(document).ready(function () {\r\n var externalLinks = $(\r\n 'main a[href^=\"http\"], aside a[href^=\"http\"], footer a[href^=\"http\"], #context-menu a[href^=\"http\"]'\r\n ).not('.cta, .search-hit, .exclude-external');\r\n\r\n externalLinks.attr('target', '_blank');\r\n\r\n externalLinks.append(\r\n ``\r\n );\r\n\r\n $('.editor-text.show-numbered-images figure img').each(function (index) {\r\n $(this).after(`${index + 1}`);\r\n });\r\n\r\n $('.editor-text .ImageBlock').each(function (index) {\r\n var imageBlock = $(this);\r\n\r\n if (imageBlock.next('.RowBlock').length > 0) {\r\n imageBlock.find('.image-container').addClass('order-2');\r\n imageBlock\r\n .find('.image-photographer')\r\n .addClass('order-1')\r\n .removeClass('mt-2')\r\n .addClass('mb-2');\r\n }\r\n });\r\n});\r\n"],"names":["$listwrapper","$btn","pushState","url","fetchItems","$showMore","currentUrl","response","result","error","e","subscriptionFormContainer","toggleSubscriptionButtons","allSubscriptionElements","allSubscriptionSelectElements","currentSubscriptionElement","showSubscriptionElement","subscriptionElement","currentSubscriptionSelectElement","button","targetId","y","select","$buttonOpenMenu","$buttonCloseMenu","$buttonOpenSearch","$offcanvasMenu","$searchInput","$window","openMenu","overlayClickEvent","closeMenu","scrollTopMenu","scrollTop","$articleAdvert2ToMove","$editorTextContainer","$paragraphsInEditor","moveAdvertToIndex","element","parent","newIndex","$parentChildren","moveStartPageAdvertAfterListItem","index","newListItem","$startpageAdvertToMove","$alivMainContainer","$alivAsideContainer","$startPageAsideAdvert1ToMove","$startPageAsideAdvert2ToMove","$articleAsideAdvert2ToMove","$mainElement","calcAdvertScale","newsletterPopupDialogElement","NEWSLETTERPOPUP_COOKIE_NAME","setNewsletterPopupCookie","date","hasNewsletterPopupCookie","_a","row","showNewsletterPopupDialog","closeNewsletterPopupDialog","getScrollPercentage","scrollHeight","newsletterPopupScrollEvent","setupNewsletterPopupDialog","externalLinks","prefixRelativeUrl","imageBlock"],"mappings":"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"}