{"version":3,"sources":["GameIframe.js","SystemGuide.js","DigitalPortalLoader.js"],"names":["defineDs","Event","HashChange","$iframe","matchesObHash","hash","test","document","body","classList","contains","querySelector","iframeUrl","getAttribute","location","setTimeout","setAttribute","subscribe","data","params","h","height","contentDocument","scrollHeight","e","console","trace","style","refreshHeight","setGameVerticalHashMatcher","init","_$container$querySele3","_$container$querySele4","_$container$querySele5","_$container$querySele6","$container","$tabs","querySelectorAll","$tabPages","forEach","$element","addEventListener","event","_$tabPages$index","remove","target","index","add","typeButtonClicked","_$container$querySele","_$container$querySele2","toggle","id","selectSystemChanged","systemName","value","link","href","getElementById","$enablePools","dataset","enablePools","listeners","i","window","SGDPortal","q","l","load","n","c","push","script","createElement","onload","basePath","pathname","split","__OpenbetAppConfig__","__SGD__","webapp","operatorSpecificConfig","_objectSpread","operatorVariation","route","async","src","digitalPortalLoaderUrl","head","appendChild"],"mappings":"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","file":"region-tips.js","sourcesContent":["defineDs('DanskeSpil/Domain/Tips/Scripts/GameIframe', [\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Project/Design/Js/Global/HashChange'\r\n], function (Event, HashChange) {\r\n\r\n // Variables:\r\n var $iframe = null;\r\n\r\n // Functions:\r\n var refreshHeight = function (params) {\r\n var h = 0;\r\n\r\n if (params && params.height) {\r\n h = params.height;\r\n } else {\r\n try {\r\n h = $iframe.contentDocument.body.scrollHeight;\r\n } catch (e) {\r\n console.trace('GameFrame.refreshHeight', e);\r\n }\r\n }\r\n\r\n if (h > 0) {\r\n $iframe.style.height = h + 'px';\r\n }\r\n };\r\n\r\n var matchesObHash = function (hash) {\r\n /* Returns true, if the current hash does match a Game Vertical hash */\r\n return /^#?\\/(kkr|tps|mlt|ob)\\//g.test(hash); // allowed OB hashes\r\n };\r\n\r\n var init = function () {\r\n $iframe = document.querySelector('.js-tips-game-iframe');\r\n\r\n if (!$iframe) {\r\n return;\r\n }\r\n\r\n var startUrl = $iframe.getAttribute('data-iframe-url');\r\n var hash = location.hash || '';\r\n var iframeUrl = startUrl + hash;\r\n\r\n // workaround to ensure async iframe loading in all browsers\r\n setTimeout(function () {\r\n $iframe.setAttribute('src', iframeUrl);\r\n }, 1);\r\n\r\n Event.subscribe('dsapi-update-game-frame-height', function (data) {\r\n refreshHeight(data);\r\n });\r\n\r\n HashChange.setGameVerticalHashMatcher(matchesObHash);\r\n };\r\n\r\n // Init:\r\n if (document.body.classList.contains('mode-normal')) {\r\n init();\r\n }\r\n});\r\n","defineDs('DanskeSpil/Domain/Tips/Scripts/SystemGuide', [\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n], function (Event) {\r\n Event.subscribe('overlay-opened', function (params) {\r\n\r\n /**\r\n * Tips systems tab navigation\r\n */\r\n const $container = params?.$container;\r\n const $tabs = $container?.querySelectorAll('.js-tips-tap .tab');\r\n const $tabPages = $container?.querySelectorAll('.js-tips-tap .tab-page');\r\n\r\n $tabs.forEach(($element) => {\r\n $element.addEventListener('click', (event) => {\r\n\r\n $tabs.forEach(($element) => {\r\n $element.classList.remove('active');\r\n });\r\n\r\n const $element = event.target;\r\n const index = $element.getAttribute('data-tabindex');\r\n $element.classList.add('active');\r\n\r\n $tabPages.forEach(($element) => {\r\n $element.classList.add('hidden');\r\n });\r\n\r\n $tabPages[index]?.classList.remove('hidden');\r\n });\r\n });\r\n\r\n /**\r\n * Tips systems toggle type buttuns between r- and u-system select\r\n */\r\n const typeButtonClicked = (event) => {\r\n const $element = event.target;\r\n\r\n if (!$element.classList.contains('selected')) {\r\n $container.querySelector('.js-type-button.selected').classList.remove('selected');\r\n $element.classList.add('selected');\r\n\r\n $container.querySelector('#r-select')?.classList.toggle('hidden', $element.id !== 'r-button');\r\n $container.querySelector('#u-select')?.classList.toggle('hidden', $element.id !== 'u-button');\r\n }\r\n };\r\n\r\n $container.querySelector('#r-button')?.addEventListener('click', typeButtonClicked);\r\n $container.querySelector('#u-button')?.addEventListener('click', typeButtonClicked);\r\n\r\n /**\r\n * Select on change link to chosen system\r\n */\r\n const selectSystemChanged = (event) => {\r\n const $element = event.target;\r\n const systemName = $element.value;\r\n if (systemName) {\r\n const $selected = $element.querySelector('[value=\\'' + systemName + '\\']');\r\n const link = $selected.getAttribute('data-url');\r\n if (link) {\r\n document.location.href = link;\r\n }\r\n }\r\n };\r\n\r\n $container.querySelector('#r-select')?.addEventListener('change', selectSystemChanged);\r\n $container.querySelector('#u-select')?.addEventListener('change', selectSystemChanged);\r\n\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/OpenBet/Scripts/DigitalPortalLoader', function () {\r\n\r\n // Variables:\r\n var $element = document.getElementById('digital-portal-wrapper');\r\n\r\n // Context:\r\n if ($element) {\r\n var $enablePools = $element.dataset.enablePools === 'True' || false;\r\n var listeners = [\r\n '@sgd/account-activity/READY',\r\n 'openbet-portal-core/content/CMS_CONTENT_READY',\r\n '@dan/headless-sportsbook/content/CMS_CONTENT_READY',\r\n '@sgd/headless-sportsbook/route/NOT_FOUND',\r\n 'portal.login.statusChanged'\r\n ];\r\n window.SGDPortal = {\r\n q: [],\r\n e: [],\r\n l: listeners,\r\n load: function (e, n, c) {\r\n window.SGDPortal.q.push([e, n, c]);\r\n },\r\n h: function (e) {\r\n window.SGDPortal.e.push(e);\r\n }\r\n };\r\n\r\n for (var i in listeners) {\r\n window.addEventListener(listeners[i], window.SGDPortal.h);\r\n }\r\n\r\n var script = document.createElement('script');\r\n\r\n script.onload = function () {\r\n var basePath = '/' + window.location.pathname.split('/')[1];\r\n\r\n // Old namespace:\r\n if (window.__OpenbetAppConfig__) {\r\n window.__OpenbetAppConfig__.basePath = basePath;\r\n }\r\n\r\n // New namespace:\r\n if (window.__SGD__ && window.__SGD__.webapp) {\r\n window.__SGD__.webapp.basePath = basePath;\r\n window.__SGD__.webapp.operatorSpecificConfig = { ...window.__SGD__.webapp.operatorSpecificConfig, ...{ operatorVariation: 'oddset' } };\r\n }\r\n\r\n if ($enablePools) {\r\n window.__SGD__.webapp.operatorSpecificConfig = { ...window.__SGD__.webapp.operatorSpecificConfig, ...{ operatorVariation: 'pools' } };\r\n }\r\n window.SGDPortal.load('#digital-portal-wrapper', 'sportsbook', { route: '/' });\r\n };\r\n\r\n script.async = true;\r\n script.src = $element.dataset.digitalPortalLoaderUrl;\r\n\r\n document.head.appendChild(script);\r\n }\r\n});\r\n"]}