{"version":3,"file":"main-d0f865fc27a40b658c2c.esm.js","mappings":"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","sources":["webpack://dh-sportsbanner/webpack/runtime/create fake namespace object","webpack://dh-sportsbanner/webpack/runtime/import chunk loading","webpack://dh-sportsbanner/./node_modules/@nrk/core-scroll/core-scroll.cjs.js","webpack://dh-sportsbanner/./node_modules/@nrk/dh-server-libs/base-element.js","webpack://dh-sportsbanner/./node_modules/@nrk/dh-server-libs/src/base-element.js","webpack://dh-sportsbanner/./node_modules/@nrk/dh-server-libs/src/get-context-id.js","webpack://dh-sportsbanner/webpack/bootstrap","webpack://dh-sportsbanner/webpack/runtime/compat get default export","webpack://dh-sportsbanner/webpack/runtime/define property getters","webpack://dh-sportsbanner/webpack/runtime/ensure chunk","webpack://dh-sportsbanner/webpack/runtime/get javascript chunk filename","webpack://dh-sportsbanner/webpack/runtime/get mini-css chunk filename","webpack://dh-sportsbanner/webpack/runtime/global","webpack://dh-sportsbanner/webpack/runtime/hasOwnProperty shorthand","webpack://dh-sportsbanner/webpack/runtime/make namespace object","webpack://dh-sportsbanner/webpack/runtime/publicPath","webpack://dh-sportsbanner/./src/client.tsx"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\nvar installChunk = (data) => {\n\tvar {ids, modules, runtime} = data;\n\t// add \"modules\" to the modules object,\n\t// then flag all \"ids\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in modules) {\n\t\tif(__webpack_require__.o(modules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = modules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\tfor(;i < ids.length; i++) {\n\t\tchunkId = ids[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[ids[i]] = 0;\n\t}\n\n}\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// import() chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[1]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = import(\"./\" + __webpack_require__.u(chunkId)).then(installChunk, (e) => {\n\t\t\t\t\t\tif(installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t\t\tvar promise = Promise.race([promise, new Promise((resolve) => (installedChunkData = installedChunks[chunkId] = [resolve]))])\n\t\t\t\t\tpromises.push(installedChunkData[1] = promise);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no external install chunk\n\n// no on chunks loaded","/*! @nrk/core-scroll v4.4.0 - Copyright (c) 2017-2022 NRK */\n'use strict';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nvar IS_BROWSER = typeof window !== 'undefined';\nvar HAS_NAVIGATOR = IS_BROWSER && typeof window.navigator !== 'undefined';\nHAS_NAVIGATOR && /(android)/i.test(navigator.userAgent); // Bad, but needed\n\nHAS_NAVIGATOR && /iPad|iPhone|iPod/.test(String(navigator.platform));\n// Mock HTMLElement for Node\n\nif (!IS_BROWSER && !global.HTMLElement) {\n global.HTMLElement = /*#__PURE__*/function () {\n function _class() {\n _classCallCheck(this, _class);\n }\n\n return _createClass(_class);\n }();\n}\n/**\n* addStyle\n* @param {String} nodeName An unique ID of the event to bind - ensurnes single instance\n* @param {String} css The css to inject\n*/\n\nfunction addStyle(nodeName, css) {\n var key = \"style-\".concat(nodeName.toLowerCase());\n var min = css.replace(/\\/\\*[^!][^*]*\\*\\//g, '').replace(/\\s*(^|[:;,{}]|$)\\s*/g, '$1');\n document.getElementById(key) || document.head.insertAdjacentHTML('afterbegin', \"\"));\n}\n/**\n* closest\n* @param {Element} element Element to traverse up from\n* @param {String} selector A selector to search for matching parents or element itself\n* @return {Element|null} Element which is the closest ancestor matching selector\n*/\n\nvar closest = function () {\n var proto = typeof window === 'undefined' ? {} : window.Element.prototype;\n var match = proto.matches || proto.msMatchesSelector || proto.webkitMatchesSelector;\n return proto.closest ? function (el, css) {\n return el.closest(css);\n } : function (el, css) {\n // IE jumps to shadow SVG DOM on clicking an SVG defined by .\n // If so, jump back to element and traverse real DOM\n if (el.correspondingUseElement) el = el.correspondingUseElement;\n\n for (; el; el = el.parentElement) {\n if (match.call(el, css)) return el;\n }\n\n return null;\n };\n}();\n/**\n* dispatchEvent - with infinite loop prevention\n* @param {Element} element The target object\n* @param {String} name The event name\n* @param {Object} detail Detail object (bubbles and cancelable is set to true)\n* @return {Boolean} Whether the event was canceled. Returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n*/\n\nfunction dispatchEvent(element, name) {\n var detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var ignore = \"prevent_recursive_dispatch_maximum_callstack\".concat(name);\n var event;\n if (element[ignore]) return true; // We are already processing this event, so skip sending a new one\n else element[ignore] = true; // Add name to dispatching ignore\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: detail\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, true, true, detail);\n } // IE reports incorrect event.defaultPrevented\n // but correct return value on element.dispatchEvent\n\n\n var result = element.dispatchEvent(event);\n element[ignore] = null; // Remove name from dispatching ignore\n\n return result; // Follow W3C standard for return value\n}\n/**\n* getUUID\n* @return {String} A generated unique ID\n*/\n\nfunction getUUID() {\n return Date.now().toString(36) + Math.random().toString(36).slice(2, 5);\n}\n/**\n * throttle\n * @param {Function} callback The new throttled function\n * @param {Number} ms The threshold of milliseconds between each callback\n */\n\nfunction throttle(callback, ms) {\n var timer;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!timer) {\n timer = setTimeout(function () {\n callback.apply(this, args);\n timer = null;\n }, ms);\n }\n };\n}\n/**\n* queryAll\n* @param {String|NodeList|Array|Element} elements A CSS selector string, nodeList, element array, or single element\n* @param {Element} context Node to look for elements within\n* @return {Element[]} Array of elements\n*/\n\nfunction queryAll(elements) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n if (elements) {\n if (elements.nodeType) return [elements];\n if (typeof elements === 'string') return [].slice.call(context.querySelectorAll(elements));\n if (elements.length) return [].slice.call(elements);\n }\n\n return [];\n}\n\n/**\n * @typedef {{ x: number, y: number }} scrollCoords\n */\n\n/**\n * @typedef {object} scrollPoint\n * @property {Number} x\n * @property {Number} y\n * @property {'top' | 'bottom'} prop\n */\n\n/**\n * @typedef {'up'| 'down' | 'left' | 'right'} scrollDirection\n */\n\n/**\n * @typedef {Object} scrollStatus\n * @property {Number} up distance above to bounding element\n * @property {Number} right distance right to bounding element\n * @property {Number} down distance below to bounding element\n * @property {Number} left distance left to bounding element\n */\n\n/**\n * @typedef {scrollDirection | scrollPoint | Element} scrollTarget\n */\n\n/**\n * @typedef {Object} dragType\n * @property {String} animate Id of element to animate\n * @property {Number} diffSumX\n * @property {Number} diffSumY\n * @property {Number} diffX\n * @property {Number} diffY\n * @property {Number} pageX\n * @property {Number} pageY\n * @property {Number} scrollX\n * @property {Number} scrollY\n * @property {HTMLElement} target\n */\n\n/**\n * @type {dragType}\n */\n\nvar DRAG = {};\nvar MOVE = {\n up: {\n y: -1,\n prop: 'top'\n },\n down: {\n y: 1,\n prop: 'bottom'\n },\n left: {\n x: -1\n },\n right: {\n x: 1\n }\n};\nvar MOVE_SIGNIFICANT = 10;\nvar NEEDS_MOUSEDOWN = '[contenteditable=\"true\"],input,select,textarea';\n\nvar EVENT_PASSIVE = function () {\n var has = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n window.addEventListener('test', null, {\n get passive() {\n has = {\n passive: true\n };\n }\n\n });\n } catch (e) {}\n\n return has;\n}(); // https://css-tricks.com/introduction-reduced-motion-media-query/\n\n\nvar requestJumps = IS_BROWSER && window.matchMedia && window.matchMedia('(prefers-reduced-motion)').matches;\nvar requestFrame = IS_BROWSER && (window.requestAnimationFrame || window.setTimeout);\n\nvar CoreScroll = /*#__PURE__*/function (_HTMLElement) {\n _inherits(CoreScroll, _HTMLElement);\n\n var _super = _createSuper(CoreScroll);\n\n function CoreScroll() {\n _classCallCheck(this, CoreScroll);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CoreScroll, [{\n key: \"connectedCallback\",\n value: function connectedCallback() {\n var _this = this;\n\n // Hide scrollbar in WebKit and default to display block\n addStyle(this.nodeName, \"\\n \".concat(this.nodeName, \"{display:block}\\n \").concat(this.nodeName, \"::-webkit-scrollbar{display:none}\\n \"));\n this.style.overflow = 'scroll'; // Ensure visible scrollbars\n\n this.style.webkitOverflowScrolling = 'touch'; // Momentum scroll on iOS\n // Calculate sizes for hiding, must be after setting overflow:scroll\n\n var barWidth = this.offsetWidth - this.clientWidth;\n var barHeight = this.offsetHeight - this.clientHeight; // Also ensure height does not grow higher than parent element\n\n this.style.marginRight = \"-\".concat(barWidth, \"px\");\n this.style.marginBottom = \"-\".concat(barHeight, \"px\");\n this.style.maxHeight = \"calc(100% + \".concat(barHeight, \"px)\");\n this._throttledEvent = throttle(this.handleEvent.bind(this), 500);\n this.addEventListener('mousedown', this);\n this.addEventListener('wheel', this, EVENT_PASSIVE);\n this.addEventListener('scroll', this._throttledEvent, EVENT_PASSIVE);\n window.addEventListener('resize', this._throttledEvent, EVENT_PASSIVE);\n window.addEventListener('load', this); // Update state when we are sure all CSS is loaded\n\n document.addEventListener('click', this); // Observe children for changes and run this.handleEvent()\n // - jsx in particular relies on onScrollChange triggering to update button states\n\n if (!this._childListObserver && window.MutationObserver) this._childListObserver = new window.MutationObserver(onDOMchange.bind(this));\n if (this._childListObserver) this._childListObserver.observe(this, {\n childList: true,\n subtree: true\n });\n setTimeout(function () {\n return _this.handleEvent();\n }); // Initialize buttons after children is parsed\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n if (this._childListObserver) this._childListObserver.disconnect();\n this._childListObserver = this._throttledEvent = null; // Garbage collection\n\n this.removeEventListener('mousedown', this);\n this.removeEventListener('wheel', this, EVENT_PASSIVE);\n this.removeEventListener('scroll', this._throttledEvent, EVENT_PASSIVE);\n window.removeEventListener('resize', this._throttledEvent, EVENT_PASSIVE);\n window.removeEventListener('load', this);\n document.removeEventListener('click', this);\n }\n /**\n *\n * @param {Event} event\n */\n\n }, {\n key: \"handleEvent\",\n value: function handleEvent() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.parentNode || event.defaultPrevented) return; // Abort if removed from DOM or event is prevented\n\n if (event.type === 'wheel') DRAG.animate = false; // Stop momentum animation onWheel\n else if (event.type === 'mousedown') onMousedown.call(this, event);else if (event.type === 'click') {\n var btn = this.id && closest(event.target, \"[for=\\\"\".concat(this.id, \"\\\"],[data-for=\\\"\").concat(this.id, \"\\\"]\"));\n if (btn && dispatchEvent(this, 'scroll.click', {\n move: btn.value\n })) this.scroll(btn.value);\n } else {\n var scrollStatus = getScrollStatus(this);\n updateButtons(this, scrollStatus);\n dispatchEvent(this, 'scroll.change');\n var cursor = scrollStatus.left || scrollStatus.right || scrollStatus.up || scrollStatus.down ? 'grab' : '';\n\n if (!event.type) {\n // Do not change cursor while dragging\n this.style.cursor = \"-webkit-\".concat(cursor);\n this.style.cursor = cursor;\n }\n }\n }\n /**\n * Scroll to Element, point or cardinal direction within core-scroll\n * @param {scrollTarget} point Element, {x, y} pixel distance from top/left or cardinal direction ['up', 'down', 'left', 'right']\n * @returns {Promise} scrollPoint\n */\n\n }, {\n key: \"scroll\",\n value: function scroll(point) {\n var _this2 = this;\n\n var endPoint = parsePoint(this, point);\n var x = endPoint.x,\n y = endPoint.y;\n var uuid = DRAG.animate = getUUID(); // Giving the animation an ID to workaround IE timeout issues\n\n var friction = this.friction;\n var moveX = requestJumps ? 1 : x - this.scrollLeft;\n var moveY = requestJumps ? 1 : y - this.scrollTop;\n return new Promise(function (resolve) {\n var move = function move() {\n if (DRAG.animate === uuid && (Math.round(moveX) || Math.round(moveY))) {\n _this2.scrollLeft = x - Math.round(moveX *= friction);\n _this2.scrollTop = y - Math.round(moveY *= friction);\n requestFrame(move);\n } else {\n resolve(endPoint);\n }\n };\n\n move();\n });\n }\n }, {\n key: \"items\",\n get: function get() {\n return queryAll(this.getAttribute('items') || this.children, this);\n } // Ensure falsy values becomes ''\n ,\n set: function set(val) {\n this.setAttribute('items', val || '');\n } // ScrollLeft can return decimals when browser is zoomed, leading to unwanted negative values\n\n }, {\n key: \"scrollRight\",\n get: function get() {\n return Math.max(0, this.scrollWidth - this.clientWidth - this.scrollLeft);\n } // Safeguard for negative due to decimals for scrollTop similar to scrollLeft above\n\n }, {\n key: \"scrollBottom\",\n get: function get() {\n return Math.max(0, this.scrollHeight - this.clientHeight - this.scrollTop);\n } // Avoid friction 1 (infinite)\n\n }, {\n key: \"friction\",\n get: function get() {\n return Math.min(0.99, this.getAttribute('friction')) || 0.8;\n },\n set: function set(val) {\n this.setAttribute('friction', val);\n }\n }]);\n\n return CoreScroll;\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\n\nfunction onMousedown(event) {\n if (closest(event.target, NEEDS_MOUSEDOWN)) return;\n if (event.button !== 0) return; // Only react to left clicking\n\n event.preventDefault(); // Prevent text selection and enable nesting\n\n DRAG.pageX = event.pageX;\n DRAG.pageY = event.pageY;\n DRAG.diffSumX = 0;\n DRAG.diffSumY = 0;\n DRAG.animate = DRAG.diffX = DRAG.diffY = 0; // Reset\n\n DRAG.scrollX = this.scrollLeft;\n DRAG.scrollY = this.scrollTop;\n DRAG.target = this;\n document.body.style.cursor = this.style.cursor = '-webkit-grabbing';\n document.body.style.cursor = this.style.cursor = 'grabbing';\n document.addEventListener('mousemove', onMousemove);\n document.addEventListener('mouseup', onMouseup);\n}\n\nfunction onMousemove(event) {\n DRAG.diffX = DRAG.pageX - (DRAG.pageX = event.pageX);\n DRAG.diffY = DRAG.pageY - (DRAG.pageY = event.pageY);\n DRAG.diffSumX += DRAG.diffX;\n DRAG.diffSumY += DRAG.diffY;\n DRAG.target.scrollLeft = DRAG.scrollX += DRAG.diffX;\n DRAG.target.scrollTop = DRAG.scrollY += DRAG.diffY; // Prevent links when we know there has been significant movement\n\n if (Math.max(Math.abs(DRAG.diffSumX), Math.abs(DRAG.diffSumY)) > MOVE_SIGNIFICANT) {\n DRAG.target.style.pointerEvents = 'none';\n }\n}\n\nfunction onMouseup(event) {\n var momentum = Math.abs(DRAG.diffX || DRAG.diffY) > MOVE_SIGNIFICANT ? 20 : 0;\n document.removeEventListener('mousemove', onMousemove);\n document.removeEventListener('mouseup', onMouseup);\n document.body.style.cursor = '';\n\n if (momentum) {\n DRAG.target.scroll({\n x: DRAG.scrollX + DRAG.diffX * momentum,\n y: DRAG.scrollY + DRAG.diffY * momentum\n });\n }\n\n DRAG.target.style.pointerEvents = ''; // Allow events again\n\n DRAG.target.style.cursor = '-webkit-grab';\n DRAG.target.style.cursor = 'grab';\n DRAG.target = null; // Prevent memory leak\n}\n/**\n * Takes an element, coordinates or cardinal direction and returns x/y -coordinates\n * @param {CoreScroll} self CoreScroll HTMLElement\n * @param {scrollTarget} move\n * @returns {scrollPoint}\n */\n\n\nfunction parsePoint(self, move) {\n var scrollItems = self.items; // Move is an element within CoreScroll\n\n var toItem = move && move.nodeType && scrollItems.filter(function (item) {\n return item.contains(move);\n })[0];\n\n if (toItem) {\n // Target offset subtracting CoreScroll offset and half of offsetHeight/width to center\n return {\n x: Math.max(0, toItem.offsetLeft - self.offsetLeft - (self.offsetWidth / 2 - toItem.offsetWidth / 2)),\n y: Math.max(0, toItem.offsetTop - self.offsetTop - (self.offsetHeight / 2 - toItem.offsetHeight / 2))\n };\n } else if (move && move.nodeType && !toItem) {\n console.warn(self, \"cannot find child element \".concat(move, \" as a valid target for scrolling\"));\n }\n\n var point = _typeof(move) === 'object' ? move : {\n move: move\n };\n if (typeof point.x !== 'number') point.x = self.scrollLeft;\n if (typeof point.y !== 'number') point.y = self.scrollTop;\n\n if (point.move = MOVE[point.move]) {\n var axis = point.move.x ? 'x' : 'y';\n var start = point.move.x ? 'left' : 'top';\n var bounds = self.getBoundingClientRect();\n var scroll = bounds[start] - self[point.move.x ? 'scrollLeft' : 'scrollTop'];\n var edge = bounds[start] + bounds[point.move.x ? 'width' : 'height'] * point.move[axis];\n scrollItems.every(function (el) {\n // Use .every as this loop stops on return false\n var rect = el.getBoundingClientRect();\n var marg = el.ownerDocument.defaultView.getComputedStyle(el)[\"margin-\".concat(start)];\n point[axis] = rect[start] - parseInt(marg, 10) - scroll; // Update point to child axis coordinate\n\n return rect[point.move.prop || move] < edge;\n });\n }\n\n return {\n x: Math.max(0, Math.min(point.x, self.scrollWidth - self.clientWidth)),\n y: Math.max(0, Math.min(point.y, self.scrollHeight - self.clientHeight))\n };\n}\n/**\n * scroll.DOMChange\n *\n * fired when MutationObserver in CoreScroll detects a change in child nodes\n *\n * @event scroll.DOMChange\n * @type {object}\n * @param {NodeList} addedNodes\n * @param {NodeList} removedNodes\n */\n\n/**\n * Handle DOM changes in childlist observed with MutationObserver in CoreScroll\n *\n * @this {CoreScroll} CoreScroll HTMLElement\n * @param {MutationRecord[]} mutationList\n * @fires scroll.DOMChange when a MutationRecord has type childList\n */\n\n\nfunction onDOMchange(mutationList) {\n if (!this.parentNode) return; // Abort if removed from DOM\n\n var _iterator = _createForOfIteratorHelper(mutationList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var mutation = _step.value;\n\n /* One or more children have been added to and/or removed from the tree. */\n if (mutation.type === 'childList') {\n var scrollStatus = getScrollStatus(this);\n updateButtons(this, scrollStatus);\n dispatchEvent(this, 'scroll.change');\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n/**\n * getScrollStatus\n * We floor all values to handle potential decimal leftovers if browser is zoomed in or out\n * @param {CoreScroll} self CoreScroll HTMLElement\n * @returns {scrollStatus} Object with values for distance to bounding element in cardinal directions\n */\n\n\nfunction getScrollStatus(self) {\n return {\n up: Math.floor(self.scrollTop),\n right: Math.floor(self.scrollRight),\n down: Math.floor(self.scrollBottom),\n left: Math.floor(self.scrollLeft)\n };\n}\n/**\n * Updates disabled attribute on all connected buttons with value set as a scrollDirection\n * @param {CoreScroll} self CoreScroll HTMLElement\n * @param {scrollStatus} scrollStatus\n */\n\n\nfunction updateButtons(self, scrollStatus) {\n queryAll(self.id && \"[for=\\\"\".concat(self.id, \"\\\"],[data-for=\\\"\").concat(self.id, \"\\\"]\")).forEach(function (el) {\n return el.disabled = !scrollStatus[el.value];\n });\n}\n\nmodule.exports = CoreScroll;\n","module.exports = require('./src/base-element.js')\n","const { getContextId } = require('./get-context-id')\n\nlet _coreAnalyticsPromise = undefined\nfunction getCoreAnalytics() {\n if (!_coreAnalyticsPromise) {\n if ('coreAnalytics' in window) {\n _coreAnalyticsPromise = Promise.resolve(window['coreAnalytics'])\n } else {\n _coreAnalyticsPromise = import('@nrk/core-analytics' /* webpackChunkName: \"ca\" */).then(\n (m) => m.default\n )\n }\n }\n return _coreAnalyticsPromise\n}\n\nclass BaseElement extends HTMLElement {\n constructor() {\n super()\n this.sendError = this.sendError.bind(this)\n this.sendGaEvent = this.sendGaEvent.bind(this)\n }\n connectedCallback() {\n if (!this.name) throw Error('Name not provided')\n this.setupTracker()\n if (typeof this.render === 'function') this.render()\n }\n\n setupTracker() {\n this.coreAnalyticsTracker = new Promise((resolve) => {\n getCoreAnalytics().then((coreAnalytics) => {\n const tracker = coreAnalytics.create()\n\n tracker('initialize', {\n container: this,\n parentId: this.metadata.parentId || getContextId(window.location.href),\n ga: this.dataset.gaPropertyId,\n })\n\n tracker('context', {\n title: this.metadata.title,\n contentId: this.metadata.selfId,\n publishDate: this.metadata.published,\n })\n\n resolve(tracker)\n })\n })\n }\n\n async sendError(message) {\n // error reporter has been removed\n }\n\n async sendGaEvent(event) {\n const tracker = await this.coreAnalyticsTracker\n tracker('event', {\n ga: {\n eventCategory: `dh-modul-${this.name}`,\n ...event,\n },\n })\n }\n\n get metadata() {\n return this.dataset.metadata ? JSON.parse(this.dataset.metadata) : {}\n }\n\n get preloadedState() {\n return this.dataset.preloadedState ? JSON.parse(this.dataset.preloadedState) : null\n }\n\n get errorTracking() {\n return {\n url: '',\n enabled: false,\n }\n }\n}\n\nmodule.exports.BaseElement = BaseElement\n","const POLOPOLY_ID_REGEX = /[1-9]{1,2}\\.\\d+/g\n\nfunction extractPolopolyIdFromString(str) {\n const matches = str.match(POLOPOLY_ID_REGEX)\n if (matches && matches.length) {\n return matches[0]\n }\n return null\n}\n\nfunction getContextId(url) {\n return extractPolopolyIdFromString(url)\n}\n\nmodule.exports.getContextId = getContextId\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + \"ca\" + \"-chunk-\" + \"376838a732d73e3f6b47\" + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"https://static.nrk.no/dh/module/sportsbanner/static/\";","import { h } from 'preact'\nimport CoreScroll from '@nrk/core-scroll'\nimport { BaseElement } from '@nrk/dh-server-libs/base-element'\n\n// INFO: Since preact isn't loaded in client,\n// we have to import images here, so webpack will find them\nimport './app.module.css'\nimport './static/eiffel-big.png'\nimport './static/logo-text.png'\nimport './static/ol-ringer.png'\nimport './static/ol-ringer-small.png'\nimport './static/ol2024-logo.png'\nimport './static/no-flag.png'\nimport './static/medal.png'\n\nfunction safeDefine(elementName, constructor) {\n if (typeof customElements.get(elementName) === 'undefined') {\n customElements.define(elementName, constructor)\n }\n}\n\nclass AppElement extends BaseElement {\n name = 'dh-sportsbanner-v2'\n\n render() {\n this.initCoreScroll()\n }\n\n findClosestProgramEntry(container: HTMLElement): HTMLElement {\n // no scroll container\n if (container == null) {\n return\n }\n\n const today = container.querySelector('[data-today]')\n // events haven't started or last event was yesterday\n if (today == null) {\n return\n }\n\n const events = today.querySelectorAll('[data-timestamp]')\n if (events.length === 0) {\n return today\n }\n\n const now = new Date()\n const closestEvent = Array.from(events)\n .reverse()\n .find((el) => now > new Date(el.dataset.timestamp))\n\n return closestEvent ?? today\n }\n\n async initCoreScroll() {\n const scrollElement: HTMLElement = this.querySelector('.dh-sportsbanner-scroll')\n const scrollTarget: HTMLElement = this.findClosestProgramEntry(scrollElement)\n\n if (scrollTarget) {\n if (document.fonts?.ready) {\n await document.fonts.ready\n }\n\n // core-scroll overrides Element.scroll(), so we bypass that\n Element.prototype.scroll.call(scrollElement, {\n left: scrollTarget.offsetLeft,\n behavior: 'auto',\n } as ScrollToOptions)\n }\n }\n}\n\nsafeDefine('dh-sportsbanner-core-scroll', CoreScroll)\nsafeDefine('dh-sportsbanner-v2', AppElement)\n"],"names":["leafPrototypes","getProto","installedChunks","installChunk","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_construct","Parent","args","Class","a","push","apply","Function","arguments","_wrapNativeSuper","_cache","Map","undefined","fn","toString","indexOf","has","get","set","Wrapper","this","create","value","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelper","allowArrayLike","it","isArray","minLen","n","slice","name","from","test","_unsupportedIterableToArray","F","s","done","f","err","normalCompletion","didErr","step","next","return","IS_BROWSER","window","HAS_NAVIGATOR","navigator","userAgent","String","platform","g","HTMLElement","_class","proto","match","closest","Element","matches","msMatchesSelector","webkitMatchesSelector","el","css","correspondingUseElement","parentElement","dispatchEvent","element","event","detail","ignore","concat","CustomEvent","bubbles","cancelable","document","createEvent","initCustomEvent","result","queryAll","elements","context","nodeType","querySelectorAll","DRAG","MOVE","up","y","prop","down","left","x","right","EVENT_PASSIVE","addEventListener","passive","requestJumps","matchMedia","requestFrame","requestAnimationFrame","setTimeout","CoreScroll","_HTMLElement","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","nodeName","min","_this","toLowerCase","replace","getElementById","head","insertAdjacentHTML","style","overflow","webkitOverflowScrolling","callback","ms","timer","barWidth","offsetWidth","clientWidth","barHeight","offsetHeight","clientHeight","marginRight","marginBottom","maxHeight","_throttledEvent","handleEvent","_len","_key","_childListObserver","MutationObserver","onDOMchange","observe","childList","subtree","disconnect","removeEventListener","parentNode","defaultPrevented","type","animate","onMousedown","btn","id","move","scroll","scrollStatus","getScrollStatus","updateButtons","cursor","point","_this2","endPoint","scrollItems","items","toItem","filter","item","contains","Math","max","offsetLeft","offsetTop","console","warn","scrollLeft","scrollTop","axis","start","bounds","getBoundingClientRect","edge","every","rect","marg","ownerDocument","defaultView","getComputedStyle","parseInt","scrollWidth","scrollHeight","parsePoint","uuid","Date","now","random","friction","moveX","moveY","Promise","resolve","round","getAttribute","children","val","setAttribute","button","preventDefault","pageX","pageY","diffSumX","diffSumY","diffX","diffY","scrollX","scrollY","body","onMousemove","onMouseup","abs","pointerEvents","momentum","mutationList","_step","_iterator","floor","scrollRight","scrollBottom","forEach","disabled","module","exports","getContextId","_coreAnalyticsPromise","BaseElement","super","sendError","sendGaEvent","connectedCallback","Error","setupTracker","render","coreAnalyticsTracker","then","m","default","coreAnalytics","tracker","container","parentId","metadata","location","href","ga","dataset","gaPropertyId","title","contentId","selfId","publishDate","published","async","message","eventCategory","JSON","parse","preloadedState","errorTracking","url","enabled","POLOPOLY_ID_REGEX","str","extractPolopolyIdFromString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","d","t","mode","ns","r","def","current","getOwnPropertyNames","definition","chunkId","all","keys","reduce","promises","u","miniCssF","globalThis","hasOwnProperty","toStringTag","data","ids","modules","runtime","j","installedChunkData","promise","import","race","safeDefine","elementName","customElements","define","AppElement","initCoreScroll","findClosestProgramEntry","today","querySelector","events","closestEvent","reverse","find","timestamp","scrollElement","scrollTarget","fonts","ready","behavior"],"sourceRoot":""}