{"version":3,"sources":["GameIframe.js","DigitalPortalLoader.js","Accordion.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","match","setGameVerticalHashMatcher","init","$element","getElementById","listeners","i","window","SGDPortal","q","l","load","n","c","push","addEventListener","script","createElement","onload","basePath","pathname","split","__OpenbetAppConfig__","__SGD__","webapp","route","async","src","dataset","digitalPortalLoaderUrl","head","appendChild","$enablePools","enablePools","operatorSpecificConfig","_objectSpread","operatorVariation","accordionItems","querySelectorAll","forEach","item","toggle","content","wrapper","closest","acordionItemToggle","key","ariaExpanded","ariaHidden"],"mappings":"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","file":"region-oddset.js","sourcesContent":["defineDs('DanskeSpil/Domain/Oddset/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-oddset-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 // Custom help-overlay for Oddset region\r\n HashChange.match('oddset/help', function () {\r\n /* Forward to #p/oddset/help - used by Openbet */\r\n location.hash = '#p/oddset/help';\r\n });\r\n\r\n // Setup hashchange matcher\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});\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","defineDs('DanskeSpil/Domain/Feature.Components/Scripts/Accordion.js', [], function () {\r\n\r\n if (!document.querySelector('.js-accordion-item')) {\r\n return;\r\n }\r\n\r\n const accordionItems = document.querySelectorAll('.js-accordion-item');\r\n\r\n accordionItems?.forEach((item) => {\r\n const toggle = item.querySelector('.js-accordion-title');\r\n const content = item.querySelector('.js-accordion-content');\r\n const wrapper = toggle.closest('.js-accordion-wrapper');\r\n toggle?.addEventListener('click', () => {\r\n acordionItemToggle(wrapper, toggle, content);\r\n });\r\n\r\n item?.addEventListener('keydown', (e) => {\r\n if (e.key === 'Enter') {\r\n acordionItemToggle(wrapper, toggle, content);\r\n }\r\n });\r\n });\r\n\r\n\r\n const acordionItemToggle = (wrapper, toggle, content) => {\r\n if (toggle.ariaExpanded === 'false') {\r\n wrapper.querySelectorAll('[aria-hidden=\"false\"]').forEach((e) => e.setAttribute('aria-hidden', 'true'));\r\n wrapper.querySelectorAll('[aria-expanded=\"true\"]').forEach((e) => e.setAttribute('aria-expanded', 'false'));\r\n }\r\n toggle.setAttribute('aria-expanded', toggle.ariaExpanded === 'true' ? 'false' : 'true');\r\n content.setAttribute('aria-hidden', content.ariaHidden === 'true' ? 'false' : 'true');\r\n };\r\n});\r\n"]}