{"version":3,"file":"main-555593ff27d8bfe34ef8.esm.js","mappings":"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","sources":["webpack://dh-stilbar-artikkel/./node_modules/@nrk/core-toggle/core-toggle.cjs.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/dh-server-libs/get-element-tag.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/dh-server-libs/html.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/dh-server-libs/src/get-element-tag.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/dh-server-libs/src/html-tagged-template-literal.js","webpack://dh-stilbar-artikkel/webpack/bootstrap","webpack://dh-stilbar-artikkel/webpack/runtime/compat get default export","webpack://dh-stilbar-artikkel/webpack/runtime/define property getters","webpack://dh-stilbar-artikkel/webpack/runtime/global","webpack://dh-stilbar-artikkel/webpack/runtime/hasOwnProperty shorthand","webpack://dh-stilbar-artikkel/./src/components/ordforklaring/ordforklaring-tooltip.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/core-icons/core-icons.mjs","webpack://dh-stilbar-artikkel/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://dh-stilbar-artikkel/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://dh-stilbar-artikkel/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://dh-stilbar-artikkel/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/dh-basis-common/dist/index.esm.js","webpack://dh-stilbar-artikkel/./node_modules/@nrk/dh-basis-levende-stillbilde/dist/index.esm.js","webpack://dh-stilbar-artikkel/./src/lib/levende-stillbilde.ts","webpack://dh-stilbar-artikkel/./src/client.js"],"sourcesContent":["/*! @nrk/core-toggle v4.0.3 - Copyright (c) 2017-2022 NRK */\n'use strict';\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\nvar IS_BROWSER = typeof window !== 'undefined';\nvar HAS_NAVIGATOR = IS_BROWSER && typeof window.navigator !== 'undefined';\nvar IS_ANDROID = HAS_NAVIGATOR && /(android)/i.test(navigator.userAgent); // Bad, but needed\n\nvar IS_IOS = HAS_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* 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 * toggleAttribute (Ponyfill for IE and Edge, fixes #299)\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Element/toggleAttribute\n * @param {Element} el Single DOM Element\n * @param {String} name The name of the attribute to be toggled\n * @param {Boolean} force Force attribute to be added or removed regardless of previous state\n */\n\nfunction toggleAttribute(el, name) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !this.hasAttribute(name);\n if (!force === el.hasAttribute(name)) el[force ? 'setAttribute' : 'removeAttribute'](name, '');\n return force;\n}\n\nvar SCROLLER = IS_BROWSER && document.createElement('div');\n\nvar CoreToggle = /*#__PURE__*/function (_HTMLElement) {\n _inherits(CoreToggle, _HTMLElement);\n\n var _super = _createSuper(CoreToggle);\n\n function CoreToggle() {\n _classCallCheck(this, CoreToggle);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CoreToggle, [{\n key: \"connectedCallback\",\n value: function connectedCallback() {\n if (IS_IOS) document.documentElement.style.cursor = 'pointer'; // Fix iOS events for closing popups (https://stackoverflow.com/a/16006333/8819615)\n\n if (!IS_ANDROID) this.setAttribute('aria-labelledby', this.button.id = this.button.id || getUUID()); // Andriod reads only label instead of content\n\n this.value = this.button.textContent; // Set up aria-label\n\n this.setAttribute('role', 'group'); // Help Edge\n\n this.button.setAttribute('aria-expanded', this._open = !this.hidden);\n this.button.setAttribute('aria-controls', this.id = this.id || getUUID());\n document.addEventListener('keydown', this, true); // Use capture to enable checking defaultPrevented (from ESC key) in parents\n\n document.addEventListener('click', this);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n this._button = null;\n document.removeEventListener('keydown', this, true);\n document.removeEventListener('click', this);\n handleAutoposition(this, true);\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback() {\n if (this._open === this.hidden) {\n // this._open comparison ensures actual change\n this.button.setAttribute('aria-expanded', this._open = !this.hidden);\n\n try {\n this.querySelector('[autofocus]').focus();\n } catch (err) {}\n\n handleAutoposition(this, this.hidden);\n dispatchEvent(this, 'toggle');\n }\n }\n }, {\n key: \"handleEvent\",\n value: function handleEvent(event) {\n if (event.defaultPrevented) return;\n if (event.type === 'resize' || event.type === 'scroll') return this.updatePosition();\n\n if (event.type === 'keydown' && event.keyCode === 27) {\n var isButton = event.target.getAttribute && event.target.getAttribute('aria-expanded') === 'true';\n var isHiding = isButton ? event.target === this.button : closest(event.target, this.nodeName) === this;\n\n if (isHiding) {\n this.hidden = true;\n this.button.focus(); // Move focus back to button\n\n return event.preventDefault(); // Prevent closing maximized Safari and other coreToggles\n }\n }\n\n if (event.type === 'click') {\n var btn = closest(event.target, 'a,button');\n if (btn && !btn.hasAttribute('aria-expanded') && closest(event.target, this.nodeName) === this) dispatchEvent(this, 'toggle.select', btn);else if (btn && btn.getAttribute('aria-controls') === this.id) this.hidden = !this.hidden;else if (this.popup && !this.contains(event.target)) this.hidden = true; // Click in content or outside\n }\n }\n /**\n * updatePosition Exposed for _very_ niche situations, use sparingly\n * @param {HTMLElement} contentEl Reference to the core-toggle element\n */\n\n }, {\n key: \"updatePosition\",\n value: function updatePosition() {\n var _this = this;\n\n if (this._skipPosition || !this.button) return; // Avoid infinite loops for mutationObserver\n\n this._skipPosition = true;\n this.style.position = 'fixed'; // Set viewModel before reading dimensions\n\n var triggerRect = this.button.getBoundingClientRect();\n var contentRect = this.getBoundingClientRect();\n var hasSpaceRight = triggerRect.left + contentRect.width < window.innerWidth;\n var hasSpaceLeft = triggerRect.right - contentRect.width >= 0;\n var hasSpaceUnder = triggerRect.bottom + contentRect.height < window.innerHeight;\n var hasSpaceOver = triggerRect.top - contentRect.height > 0;\n var leftVal = Math.round((window.innerWidth - contentRect.width) / 2); // Center on screen\n\n if (contentRect.width > window.innerWidth) {\n leftVal = 0; // Content wider than screen. Anchor to left screen edge to show as much as possible\n } else if (hasSpaceRight) {\n leftVal = triggerRect.left; // Anchor to left side\n } else if (hasSpaceLeft) {\n leftVal = triggerRect.right - contentRect.width; // Anchor to right side\n } // Always place under when no hasSpaceOver, as no OS can scroll further up than window.scrollY = 0\n\n\n var placeUnder = hasSpaceUnder || !hasSpaceOver;\n var scroll = placeUnder ? window.pageYOffset + triggerRect.bottom + contentRect.height + 30 : 0;\n this.style.left = \"\".concat(leftVal, \"px\");\n this.style.top = \"\".concat(Math.round(placeUnder ? triggerRect.bottom : triggerRect.top - contentRect.height), \"px\");\n SCROLLER.style.cssText = \"position:absolute;padding:1px;top:\".concat(Math.round(scroll), \"px\");\n setTimeout(function () {\n return _this._skipPosition = null;\n }); // Timeout to flush event queue before we can resume acting on mutations\n }\n }, {\n key: \"button\",\n get: function get() {\n if (this._button && (this._button.getAttribute('data-for') || this._button.getAttribute('for')) === this.id) return this._button; // Speed up\n\n return (this._button = this.id && document.querySelector(\"[for=\\\"\".concat(this.id, \"\\\"],[data-for=\\\"\").concat(this.id, \"\\\"]\"))) || this.previousElementSibling;\n } // aria-haspopup triggers forms mode in JAWS, therefore store as custom attr\n\n }, {\n key: \"popup\",\n get: function get() {\n return this.getAttribute('data-popup') === 'true' || this.getAttribute('data-popup') || this.hasAttribute('data-popup');\n },\n set: function set(val) {\n this[val === false ? 'removeAttribute' : 'setAttribute']('data-popup', val);\n }\n }, {\n key: \"autoposition\",\n get: function get() {\n return this.hasAttribute('autoposition');\n },\n set: function set(val) {\n toggleAttribute(this, 'autoposition', val);\n } // Must set attribute for IE11\n\n }, {\n key: \"hidden\",\n get: function get() {\n return this.hasAttribute('hidden');\n },\n set: function set(val) {\n toggleAttribute(this, 'hidden', val);\n } // Set this.button aria-label, so that visible button text can be augmentet with intention of button\n // Example: Button text: \"01.02.2019\", aria-label: \"01.02.2019, Choose date\"\n // Does not update aria-label if not already set to something else than this.popup\n\n }, {\n key: \"value\",\n get: function get() {\n return this.button.value || this.button.textContent;\n },\n set: function set() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!this.button || !this.popup.length) return;\n var button = this.button;\n var popup = (button.getAttribute('aria-label') || \",\".concat(this.popup)).split(',')[1];\n var label = data.textContent || data || ''; // data can be Element, Object or String\n\n if (popup === this.popup) {\n var target = button.querySelector('span') || button; // Use span to preserve embedded HTML and SVG\n\n button.value = data.value || label;\n target[data.innerHTML ? 'innerHTML' : 'textContent'] = data.innerHTML || label;\n button.setAttribute('aria-label', \"\".concat(button.textContent, \",\").concat(this.popup));\n }\n }\n }], [{\n key: \"observedAttributes\",\n get: function get() {\n return ['hidden', 'autoposition'];\n }\n }]);\n\n return CoreToggle;\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\n\nfunction handleAutoposition(self, teardown) {\n if (teardown) {\n if (self._positionObserver) self._positionObserver.disconnect();\n if (SCROLLER.parentNode) SCROLLER.parentNode.removeChild(SCROLLER);\n self.style.position = self._positionObserver = null;\n window.removeEventListener('scroll', self, true); // Use capture to also listen for elements with overflow\n\n window.removeEventListener('resize', self);\n } else if (self.autoposition) {\n // Attach MutationObserver if supported\n if (!self._positionObserver) self._positionObserver = window.MutationObserver && new window.MutationObserver(self.updatePosition.bind(self));\n if (self._positionObserver) self._positionObserver.observe(self, {\n childList: true,\n subtree: true,\n attributes: true\n });\n document.body.appendChild(SCROLLER);\n window.addEventListener('scroll', self, true); // Use capture to also listen for elements with overflow\n\n window.addEventListener('resize', self);\n self.updatePosition(); // Initial trigger\n }\n}\n\nmodule.exports = CoreToggle;\n","module.exports = require('./src/get-element-tag')\n","module.exports = require('./src/html-tagged-template-literal.js')\n","/**\n * Creates a valid custom element name that is versioned (major)\n */\nfunction getElementTag(name, version) {\n const formattedVersion = version ? `-v${version.split('.')[0]}` : ''\n return name + formattedVersion\n}\n\nmodule.exports.getElementTag = getElementTag\n","/**\n * Concats a template literal and interpolates values correctly, as well as removes formatting whitespace and HTML comments\n */\nfunction html(strings, ...interpolations) {\n let str = strings[0]\n for (let i = 0; i < interpolations.length; i++) {\n str += interpolations[i]\n str += strings[i + 1]\n }\n\n return str.replace(/>\\s+<')\n}\n\nmodule.exports.html = html\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","// 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__.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))","import { html } from '@nrk/dh-server-libs/html'\nimport { nrkClose } from '@nrk/core-icons'\nimport CoreToggle from '@nrk/core-toggle'\n\nexport class OrdforklaringTooltip extends HTMLElement {\n connectedCallback() {\n const childNodes = [...this.childNodes]\n const begrep = this.getAttribute('begrep') || this.innerText\n const forklaring = this.getAttribute('forklaring')\n if (!forklaring) {\n return\n }\n /* core toggle does not support shadow dom */\n const elm = document.createElement('div')\n elm.innerHTML = html`\n `\n const button = elm.querySelector('button')\n button.append(...childNodes)\n this.replaceChildren(...elm.childNodes)\n\n this.closeButton.addEventListener('click', this.handleClose)\n }\n\n handleClose = () => {\n this.toggleElement.setAttribute('hidden', '')\n }\n\n get toggleElement() {\n return this.querySelector('core-toggle')\n }\n\n get closeButton() {\n return this.querySelector('core-toggle button')\n }\n}\n\n/**\n * Patched CoreToggle\n *\n * Makes sure element is not placed outside the viewport on the left side.\n */\nexport class OrdforklaringToggle extends CoreToggle {\n updatePosition() {\n if (this._skipPosition || !this.button) return\n\n this.style.position = 'fixed'\n\n /* Fetch bounding client rects before calling super to avoid layout thrashing */\n const triggerRect = this.button.getBoundingClientRect()\n const contentRect = this.getBoundingClientRect()\n\n super.updatePosition()\n\n /* Center element under trigger button */\n const centeredLeft = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2\n\n this.style.left = `0`\n this.style.left = `clamp(var(--_mobile-padding, 0px), ${centeredLeft}px, calc(${window.innerWidth}px - 300px - var(--_mobile-padding, 0px)))`\n this.style.right = `var(--_mobile-padding, 0px)`\n }\n}\n","export const nrk360 = ''\nexport const nrk404 = ''\nexport const nrkAlarmClock = ''\nexport const nrkArrangeList = ''\nexport const nrkArrowDown = ''\nexport const nrkArrowDropdown = ''\nexport const nrkArrowLeftLong = ''\nexport const nrkArrowLeft = ''\nexport const nrkArrowNested = ''\nexport const nrkArrowRightLong = ''\nexport const nrkArrowRight = ''\nexport const nrkArrowUp = ''\nexport const nrkArticle = ''\nexport const nrkBack = ''\nexport const nrkBellActive = ''\nexport const nrkBell = ''\nexport const nrkBookmarkActive = ''\nexport const nrkBookmark = ''\nexport const nrkBroadcast = ''\nexport const nrkBulletSquare = ''\nexport const nrkBulletedList = ''\nexport const nrkCalendar = ''\nexport const nrkCategoryActive = ''\nexport const nrkCategory = ''\nexport const nrkCheckActive = ''\nexport const nrkCheckRadioUnchecked = ''\nexport const nrkCheck = ''\nexport const nrkCheckboxActive = ''\nexport const nrkCheckbox = ''\nexport const nrkChevronDown = ''\nexport const nrkChevronLeft = ''\nexport const nrkChevronRight = ''\nexport const nrkChevronUp = ''\nexport const nrkClock = ''\nexport const nrkCloseActive = ''\nexport const nrkClose = ''\nexport const nrkComment = ''\nexport const nrkDialogue = ''\nexport const nrkDice1Active = ''\nexport const nrkDice1 = ''\nexport const nrkDice2Active = ''\nexport const nrkDice2 = ''\nexport const nrkDice3Active = ''\nexport const nrkDice3 = ''\nexport const nrkDice4Active = ''\nexport const nrkDice4 = ''\nexport const nrkDice5Active = ''\nexport const nrkDice5 = ''\nexport const nrkDice6Active = ''\nexport const nrkDice6 = ''\nexport const nrkDownload = ''\nexport const nrkDownloaded = ''\nexport const nrkDuration = ''\nexport const nrkEdit = ''\nexport const nrkEllipsisActive = ''\nexport const nrkEllipsis = ''\nexport const nrkFullscreenActive = ''\nexport const nrkFullscreen = ''\nexport const nrkGallery = ''\nexport const nrkGeoActive = ''\nexport const nrkGeo = ''\nexport const nrkGeopointActive = ''\nexport const nrkGeopoint = ''\nexport const nrkGlobe = ''\nexport const nrkHardwareCamera = ''\nexport const nrkHardwareComputer = ''\nexport const nrkHardwareGame = ''\nexport const nrkHardwareHeadphones = ''\nexport const nrkHardwareLaptop = ''\nexport const nrkHardwareMicrophone = ''\nexport const nrkHardwareMobile = ''\nexport const nrkHardwarePrinter = ''\nexport const nrkHardwareRadio = ''\nexport const nrkHardwareSmartSpeaker = ''\nexport const nrkHardwareSmartWatch = ''\nexport const nrkHardwareSpeaker = ''\nexport const nrkHardwareTablet = ''\nexport const nrkHardwareTv = ''\nexport const nrkHardwareWatch = ''\nexport const nrkHeartActive = ''\nexport const nrkHeart = ''\nexport const nrkHelp = ''\nexport const nrkHomeActive = ''\nexport const nrkHome = ''\nexport const nrkInfo = ''\nexport const nrkLatestNewsActive = ''\nexport const nrkLatestNews = ''\nexport const nrkLink = ''\nexport const nrkListActive = ''\nexport const nrkList = ''\nexport const nrkLockActive = ''\nexport const nrkLock = ''\nexport const nrkLogout = ''\nexport const nrkLongreadActive = ''\nexport const nrkLongread = ''\nexport const nrkLyn = ''\nexport const nrkMat = ''\nexport const nrkMedia404Notfound = ''\nexport const nrkMediaAgelimit12 = ''\nexport const nrkMediaAgelimit15 = ''\nexport const nrkMediaAgelimit18 = ''\nexport const nrkMediaAgelimit6 = ''\nexport const nrkMediaAgelimit9 = ''\nexport const nrkMediaAgelimitA = ''\nexport const nrkMediaAirplayActive = ''\nexport const nrkMediaAirplay = ''\nexport const nrkMediaBeamNote = ''\nexport const nrkMediaChromecast1 = ''\nexport const nrkMediaChromecast2 = ''\nexport const nrkMediaChromecast3 = ''\nexport const nrkMediaChromecastActive = ''\nexport const nrkMediaChromecast = ''\nexport const nrkMediaCompleted = ''\nexport const nrkMediaDirekteActive = ''\nexport const nrkMediaDirekteAnimatedActive = ''\nexport const nrkMediaDirekteGolive = ''\nexport const nrkMediaDirekteNotlive = ''\nexport const nrkMediaDirekte = ''\nexport const nrkMediaDirektetvActive = ''\nexport const nrkMediaDirektetv = ''\nexport const nrkMediaFfw15sec = ''\nexport const nrkMediaFfw30sec = ''\nexport const nrkMediaFfw5sec = ''\nexport const nrkMediaFfw = ''\nexport const nrkMediaIndexQuaverTiny = ''\nexport const nrkMediaJumpto = ''\nexport const nrkMediaMediaComplete = ''\nexport const nrkMediaMediaIncomplete = ''\nexport const nrkMediaNext = ''\nexport const nrkMediaNy = ''\nexport const nrkMediaPause = ''\nexport const nrkMediaPictureInPictureActive = ''\nexport const nrkMediaPictureInPicture = ''\nexport const nrkMediaPlayFail = ''\nexport const nrkMediaPlay = ''\nexport const nrkMediaPlaylistAddLater = ''\nexport const nrkMediaPlaylistAddNext = ''\nexport const nrkMediaPlaylistAdd = ''\nexport const nrkMediaPlaylistAdded = ''\nexport const nrkMediaPlaylistRemove = ''\nexport const nrkMediaPlaylist = ''\nexport const nrkMediaPrevious = ''\nexport const nrkMediaProgramguideActive = ''\nexport const nrkMediaProgramguide = ''\nexport const nrkMediaQuaverActive = ''\nexport const nrkMediaQuaverOff = ''\nexport const nrkMediaQuaver = ''\nexport const nrkMediaRwd15sec = ''\nexport const nrkMediaRwd30sec = ''\nexport const nrkMediaRwd5sec = ''\nexport const nrkMediaRwd = ''\nexport const nrkMediaSoundwave = ''\nexport const nrkMediaSpeed0_8x = ''\nexport const nrkMediaSpeed1_25x = ''\nexport const nrkMediaSpeed1_5x = ''\nexport const nrkMediaSpeed1x = ''\nexport const nrkMediaSpeed2x = ''\nexport const nrkMediaStop = ''\nexport const nrkMediaSubtitlesActive = ''\nexport const nrkMediaSubtitlesUnavailable = ''\nexport const nrkMediaSubtitles = ''\nexport const nrkMediaTheaterActive = ''\nexport const nrkMediaTheater = ''\nexport const nrkMediaTilgjengelighetGeoblocked = ''\nexport const nrkMediaTilgjengelighetIkkelengertilgjengelig = ''\nexport const nrkMediaTilgjengelighetKommer = ''\nexport const nrkMediaTilgjengelighetSnartutilgjengelig = ''\nexport const nrkMediaVolume1 = ''\nexport const nrkMediaVolume2 = ''\nexport const nrkMediaVolume3 = ''\nexport const nrkMediaVolumeMuted = ''\nexport const nrkMening = ''\nexport const nrkMinus = ''\nexport const nrkMoreActive = ''\nexport const nrkMore = ''\nexport const nrkNewChat = ''\nexport const nrkNote1Off = ''\nexport const nrkNote1 = ''\nexport const nrkNote2 = ''\nexport const nrkOffline = ''\nexport const nrkOpenInNew = ''\nexport const nrkPerson = ''\nexport const nrkPlus = ''\nexport const nrkPoll = ''\nexport const nrkProgress = ''\nexport const nrkQuiz = ''\nexport const nrkRefresh = ''\nexport const nrkReload = ''\nexport const nrkReorder = ''\nexport const nrkRotate = ''\nexport const nrkSearchActive = ''\nexport const nrkSearch = ''\nexport const nrkSettingsActive = ''\nexport const nrkSettings = ''\nexport const nrkSleep = ''\nexport const nrkSomeEmail = ''\nexport const nrkSomeEmbed = ''\nexport const nrkSomeFacebook = ''\nexport const nrkSomeGoogle = ''\nexport const nrkSomeInstagram = ''\nexport const nrkSomePinterest = ''\nexport const nrkSomeShareIos = ''\nexport const nrkSomeShare = ''\nexport const nrkSomeSnapchat = ''\nexport const nrkSomeTommelnedActive = ''\nexport const nrkSomeTommelned = ''\nexport const nrkSomeTommeloppActive = ''\nexport const nrkSomeTommelopp = ''\nexport const nrkSomeTwitter = ''\nexport const nrkSomeYoutube = ''\nexport const nrkSpinner = ''\nexport const nrkStarActive = ''\nexport const nrkStar = ''\nexport const nrkSuperEmojiPoopAngry = ''\nexport const nrkTilgjengelighetHorbarhet = ''\nexport const nrkTilgjengelighetLydtekst = ''\nexport const nrkTilgjengelighetSynstolking = ''\nexport const nrkTilgjengelighetTegnspraak = ''\nexport const nrkTilgjengelighet = ''\nexport const nrkTrashActive = ''\nexport const nrkTrash = ''\nexport const nrkUnlockActive = ''\nexport const nrkUnlock = ''\nexport const nrkUpload = ''\nexport const nrkUserLoggedinActive = ''\nexport const nrkUserLoggedin = ''\nexport const nrkUserNotloggedinActive = ''\nexport const nrkUserNotloggedin = ''\nexport const nrkWarning = ''","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import _defineProperty from '@babel/runtime/helpers/defineProperty';\n\n/* eslint-disable compat/compat */\nfunction getDefaultRoot() {\n /*\n Use document if supported\n IntersectionObserver will otherwise default to top level document,\n and IntersectionObserver will not work as expected in an iframe.\n https://github.com/w3c/IntersectionObserver/issues/372\n */\n\n /*\n Safari does not throw error on root: document, but does not trigger events as expected\n returning null for now until better feature detection is possible\n */\n return null;\n\n /*\n try {\n // eslint-disable-next-line no-new\n new IntersectionObserver(() => {}, { root: document })\n return document\n } catch (e) {\n return null\n }\n */\n}\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nvar defaultConfig = {\n rootMargin: '0px 0px 0px 0px',\n threshold: [0, 0.5, 1],\n root: getDefaultRoot()\n};\nclass ElementIntersectionObserver {\n constructor(elements, onChange, config) {\n _defineProperty(this, \"intersections\", void 0);\n _defineProperty(this, \"elements\", void 0);\n this.elements = elements.slice(0);\n this.intersections = elements.map(target => ({\n target,\n isIntersecting: false,\n ratio: null\n }));\n this.intersectionObserver = new IntersectionObserver(entries => {\n var intersections = this.intersections.slice(0);\n entries.forEach(entry => {\n var idx = elements.indexOf(entry.target);\n intersections.splice(idx, 1, {\n target: entry.target,\n isIntersecting: entry.isIntersecting,\n ratio: entry.intersectionRatio\n });\n });\n this.intersections = intersections;\n onChange(this.intersections);\n }, _objectSpread(_objectSpread({}, defaultConfig), config));\n elements.forEach(elm => this.intersectionObserver.observe(elm));\n }\n disconnect() {\n // Unregister trigger elements\n this.elements.forEach(elm => this.intersectionObserver.unobserve(elm));\n\n // Disconnect intersection observer\n this.intersectionObserver.disconnect();\n }\n}\n\nfunction toggleAttribute(el, name, boolValue) {\n if (!el) {\n return;\n }\n var nextValue;\n if (typeof boolValue !== 'undefined') {\n nextValue = !!boolValue;\n } else {\n nextValue = el.hasAttribute(name);\n }\n if (nextValue) {\n el.setAttribute(name, '');\n } else {\n el.removeAttribute(name);\n }\n}\nfunction setAttribute(el, name, nextValue) {\n if (!el) {\n return;\n }\n if (nextValue) {\n el.setAttribute(name, nextValue);\n } else {\n el.removeAttribute(name);\n }\n}\nvar closest = (() => {\n var proto = typeof window === 'undefined' ? {} : window.Element.prototype;\n var match = proto.matches || proto.msMatchesSelector || proto.webkitMatchesSelector;\n if (proto.closest) {\n return (el, css) => el.closest(css);\n } else {\n return (el, css) => {\n for (; el; el = el.parentElement) if (match.call(el, css)) return el;\n return null;\n };\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}\nfunction toArray(nodeList) {\n return [].slice.call(nodeList);\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;\n // 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\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, true, true, detail);\n }\n // IE reports incorrect event.defaultPrevented\n // but correct return value on element.dispatchEvent\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\nfunction easeOutQuint(t) {\n return 1 + --t * t * t * t * t;\n}\nclass VerticalScroll {\n constructor(container) {\n _defineProperty(this, \"container\", void 0);\n this.container = container;\n }\n cancel() {\n this._cancelled = true;\n }\n to(top) {\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var from = this.container.scrollTop;\n var distance = top - from;\n var startTime = null;\n var loop = currentTime => {\n if (this._cancelled) {\n return;\n }\n if (!startTime) {\n startTime = currentTime - 1;\n }\n var timeElapsed = currentTime - startTime;\n if (timeElapsed < duration) {\n this.container.scrollTop = from + distance * easeOutQuint(timeElapsed / duration);\n window.requestAnimationFrame(loop);\n } else {\n this.container.scrollTop = top;\n callback && callback();\n }\n };\n\n // eslint-disable-next-line compat/compat\n window.requestAnimationFrame(loop);\n }\n}\nclass HorizontalScroll {\n constructor(container) {\n _defineProperty(this, \"container\", void 0);\n this.container = container;\n }\n cancel() {\n this._cancelled = true;\n }\n to(left) {\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var from = this.container.scrollLeft;\n var distance = left - from;\n var startTime = null;\n var loop = currentTime => {\n if (this._cancelled) {\n return;\n }\n if (!startTime) {\n startTime = currentTime - 1;\n }\n var timeElapsed = currentTime - startTime;\n if (timeElapsed < duration) {\n this.container.scrollLeft = from + distance * easeOutQuint(timeElapsed / duration);\n window.requestAnimationFrame(loop);\n } else {\n this.container.scrollLeft = left;\n callback && callback();\n }\n };\n\n // eslint-disable-next-line compat/compat\n window.requestAnimationFrame(loop);\n }\n}\n\nfunction testReducedMotion() {\n if (typeof window !== 'undefined') {\n return !!window.matchMedia && window.matchMedia('(prefers-reduced-motion)').matches;\n }\n return false;\n}\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\nfunction withinRange(current) {\n var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var stop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MAX_SAFE_INTEGER;\n return current >= start && current <= stop;\n}\nfunction withinStops(currentTime, stops, targetStop) {\n var nrOfStops = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n var uniqueStops = stops.filter(unique);\n var targetTime = stops[targetStop];\n var prevTime = uniqueStops[uniqueStops.indexOf(targetTime) - nrOfStops];\n var nextTime = uniqueStops[uniqueStops.indexOf(targetTime) + nrOfStops];\n return withinRange(currentTime, prevTime, nextTime);\n}\nfunction unique(value, index, self) {\n return self.indexOf(value) === index;\n}\n\n/*\n * 'loading=\"lazy\"' is defined in terms of IntersectionObserver and the initial root.\n * As a result images with 'loading=\"lazy\"' inside a scroll container will not load\n * until they at least have one pixel visible in the viewport.\n *\n * This will hopefully fixed in a future version of the spec:\n * https://github.com/w3c/IntersectionObserver/issues/431\n *\n * scroll-container-lazy-load observes images and a scroll container.\n * Once images are close to intersecting it will change 'loading=\"lazy\"' to 'loading=\"eager\"'.\n * */\nfunction loadImage(image) {\n if (image.loading === 'lazy') {\n image.loading = 'eager';\n }\n}\nfunction connectScrollContainerLazyLoad(container, images) {\n var containerIntersecting = false;\n var deferredImages = [];\n\n // eslint-disable-next-line compat/compat\n var containerObserver = new IntersectionObserver(entries => {\n containerIntersecting = entries === null || entries === void 0 ? void 0 : entries[0].isIntersecting;\n if (containerIntersecting) {\n deferredImages.forEach(image => loadImage(image));\n deferredImages = [];\n }\n }, {\n root: getDefaultRoot(),\n threshold: [0.0]\n });\n containerObserver.observe(container);\n\n // eslint-disable-next-line compat/compat\n var imageObserver = new IntersectionObserver(entries => {\n for (var entry of entries) {\n if (entry.isIntersecting) {\n var image = entry.target;\n imageObserver.unobserve(image);\n if (containerIntersecting) {\n loadImage(image);\n } else {\n /* Defer loading of if the container is not intersecting the viewport */\n deferredImages.push(image);\n }\n }\n }\n }, {\n root: container,\n rootMargin: '300px',\n threshold: 0.0\n });\n for (var image of images) {\n imageObserver.observe(image);\n }\n return () => {\n containerObserver.disconnect();\n imageObserver.disconnect();\n };\n}\n\nfunction debounce(fn, delay) {\n var timeout;\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 clearTimeout(timeout);\n timeout = setTimeout(() => fn(...args), delay);\n };\n}\n\nexport { ElementIntersectionObserver, HorizontalScroll, VerticalScroll, addStyle, closest, connectScrollContainerLazyLoad, debounce, dispatchEvent, setAttribute, testReducedMotion, toArray, toggleAttribute, withinRange, withinStops };\n//# sourceMappingURL=index.esm.js.map\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { dispatchEvent, testReducedMotion, toArray, toggleAttribute } from '@nrk/dh-basis-common';\n\nvar STATE_ATTR = 'data-state';\nvar VIEWPORT_POSITION_ATTR = 'data-viewport-position';\nvar DISABLE_FORCED_ATTRIBUTES_ATTR = 'disable-forced-attributes';\nvar IS_PAUSED = 'is-paused';\nvar AUTOPLAY_BLOCKED = 'autoplay-blocked';\nvar READY_STATE = {\n HAVE_NOTHING: 0,\n HAVE_METADATA: 1,\n HAVE_CURRENT_DATA: 2,\n HAVE_FUTURE_DATA: 3,\n HAVE_ENOUGH_DATA: 4 // Can play through\n};\nvar isVisible = child => !!child.offsetParent;\nclass LevendeStillbilde extends HTMLElement {\n constructor() {\n super(...arguments);\n _defineProperty(this, \"_disconnecting\", false);\n _defineProperty(this, \"_visibleVideoElement\", void 0);\n _defineProperty(this, \"_handlePlayChange\", e => {\n if (e.type === 'play') {\n dispatchEvent(this, 'dh-basis-autoplay-succeeded');\n }\n if (e.target === this._visibleVideoElement) {\n this.isPaused = this._visibleVideoElement.paused;\n }\n });\n _defineProperty(this, \"_updatePlayState\", () => {\n if (!this._visibleVideoElement) {\n return;\n }\n if (this._shouldPlay()) {\n this._playVideo();\n } else {\n this._pauseVideo();\n }\n });\n _defineProperty(this, \"_handleResize\", () => {\n this._updateVisibleVideoElement();\n });\n }\n static get observedAttributes() {\n return [STATE_ATTR, DISABLE_FORCED_ATTRIBUTES_ATTR, VIEWPORT_POSITION_ATTR];\n }\n connectedCallback() {\n this._setVideoAttributes();\n this._setEventListeners();\n this._updateVisibleVideoElement();\n }\n disconnectedCallback() {\n this._disconnecting = true;\n this._removeEventListeners();\n }\n attributeChangedCallback(name, prevValue, newValue) {\n var valueChanged = prevValue !== newValue;\n if (name === STATE_ATTR || name === VIEWPORT_POSITION_ATTR) {\n if (valueChanged) {\n this._updateVisibleVideoElement();\n this._updatePlayState();\n if (name === VIEWPORT_POSITION_ATTR && newValue === 'IN-VIEWPORT') {\n this._preload();\n }\n }\n }\n }\n _setEventListeners() {\n window.addEventListener('resize', this._handleResize);\n this.videoElements.forEach(el => {\n el.addEventListener('pause', this._handlePlayChange);\n el.addEventListener('play', this._handlePlayChange);\n el.addEventListener('canplaythrough', this._updatePlayState);\n });\n }\n _removeEventListeners() {\n window.removeEventListener('resize', this._handleResize);\n this.videoElements.forEach(el => {\n el.removeEventListener('pause', this._handlePlayChange);\n el.removeEventListener('play', this._handlePlayChange);\n el.removeEventListener('canplaythrough', this._updatePlayState);\n });\n }\n _updateVisibleVideoElement() {\n // eslint-disable-next-line compat/compat\n requestAnimationFrame(() => {\n var nextVisibleVideo = this.videoElements.find(isVisible);\n if (nextVisibleVideo !== this._visibleVideoElement) {\n // Pause previous video\n this._pauseVideo();\n this._visibleVideoElement = nextVisibleVideo;\n if (this._shouldPreload()) {\n this._preload();\n }\n this._updatePlayState();\n }\n });\n }\n _setVideoAttributes() {\n if (!this.disableForcedAttributes) {\n this.videoElements.forEach(el => {\n el.setAttribute('playsInline', '');\n el.setAttribute('loop', '');\n el.setAttribute('disableRemotePlayback', '');\n el.setAttribute('x-webkit-airplay', 'deny');\n });\n }\n }\n _shouldPlay() {\n var _this$_visibleVideoEl;\n /*\n * Safari 14-15.5 hides poster on play, leaving a transparent element until enough data is available to play through.\n * We have to wait for the canplaythrough event and readystate = READY_STATE.HAVE_ENOUGH_DATA before calling `.play()`\n * */\n return ((_this$_visibleVideoEl = this._visibleVideoElement) === null || _this$_visibleVideoEl === void 0 ? void 0 : _this$_visibleVideoEl.readyState) >= READY_STATE.HAVE_ENOUGH_DATA && this.state === 'ACTIVE' && this.viewportPosition === 'IN-VIEWPORT';\n }\n _shouldPreload() {\n return this.viewportPosition === 'IN-VIEWPORT';\n }\n _preload() {\n var _this$_visibleVideoEl2;\n if (((_this$_visibleVideoEl2 = this._visibleVideoElement) === null || _this$_visibleVideoEl2 === void 0 ? void 0 : _this$_visibleVideoEl2.readyState) < READY_STATE.HAVE_ENOUGH_DATA) {\n var _this$_visibleVideoEl3;\n (_this$_visibleVideoEl3 = this._visibleVideoElement) === null || _this$_visibleVideoEl3 === void 0 || _this$_visibleVideoEl3.load();\n }\n }\n _playVideo() {\n dispatchEvent(this, 'dh-basis-autoplay-attempted');\n var reducedMotion = testReducedMotion();\n var videoElement = this._visibleVideoElement;\n if (videoElement.paused && !reducedMotion && !this.autoplayBlocked) {\n var playPromise = videoElement.play() || Promise.resolve();\n playPromise.catch(e => {\n console.error(e);\n this.autoplayBlocked = true;\n });\n }\n }\n _pauseVideo() {\n var videoElement = this._visibleVideoElement;\n if (videoElement && !videoElement.paused) {\n videoElement.pause();\n }\n }\n get videoElements() {\n return toArray(this.querySelectorAll('video'));\n }\n get disableForcedAttributes() {\n return this.hasAttribute(DISABLE_FORCED_ATTRIBUTES_ATTR);\n }\n get state() {\n return this.getAttribute(STATE_ATTR);\n }\n set state(val) {\n this.setAttribute(STATE_ATTR, val);\n }\n get isPaused() {\n return this.getAttribute(IS_PAUSED);\n }\n set isPaused(val) {\n if (val) {\n this.setAttribute(IS_PAUSED, '');\n } else {\n this.removeAttribute(IS_PAUSED);\n }\n }\n get autoplayBlocked() {\n return this.hasAttribute(AUTOPLAY_BLOCKED) || false;\n }\n set autoplayBlocked(val) {\n toggleAttribute(this, AUTOPLAY_BLOCKED, val);\n }\n get viewportPosition() {\n return this.getAttribute(VIEWPORT_POSITION_ATTR);\n }\n set viewportPosition(val) {\n this.setAttribute(VIEWPORT_POSITION_ATTR, val);\n }\n}\n\nexport { LevendeStillbilde as default };\n//# sourceMappingURL=index.esm.js.map\n","import LevendeStillbilde from '@nrk/dh-basis-levende-stillbilde'\nconst VIEWPORT_POSITION_ATTR = 'data-viewport-position'\n\ndeclare global {\n interface HTMLElement {\n connectedCallback(): void\n disconnectedCallback(): void\n }\n}\n\nexport class SALevendeStillbilde extends LevendeStillbilde {\n #observer\n connectedCallback() {\n super.connectedCallback()\n this.#observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n const player: HTMLElement = this as any\n const elementViewportPosition = player.getAttribute(VIEWPORT_POSITION_ATTR)\n if (entry.isIntersecting && elementViewportPosition === 'OUT-OF-VIEWPORT') {\n player.setAttribute(VIEWPORT_POSITION_ATTR, 'IN-VIEWPORT')\n }\n if (!entry.isIntersecting && elementViewportPosition === 'IN-VIEWPORT') {\n player.setAttribute(VIEWPORT_POSITION_ATTR, 'OUT-OF-VIEWPORT')\n }\n }\n },\n {\n threshold: 0.5,\n },\n )\n this.#observer.observe(this)\n }\n\n disconnectedCallback() {\n this.#observer.disconnect()\n super.disconnectedCallback()\n }\n}\n","import { getElementTag } from '@nrk/dh-server-libs/get-element-tag'\nimport {\n OrdforklaringToggle,\n OrdforklaringTooltip,\n} from './components/ordforklaring/ordforklaring-tooltip.js'\nimport './components/stilbar-artikkel.module.css'\nimport './components/grid.module.css'\nimport './components/logo/logo.module.css'\nimport './components/tittel/tittelmodul.module.css'\nimport './components/ordforklaring/ordforklaring-tooltip.module.css'\nimport './components/polopoly/overrides/article.module.css'\nimport './components/polopoly/overrides/section.module.css'\nimport './components/polopoly/overrides/email.module.css'\nimport './components/polopoly/overrides/fact.css'\nimport './components/polopoly/overrides/heiboksen.css'\nimport './components/sanity/overrides/chatlog.module.css'\nimport './components/sanity/overrides/lydlogg.module.css'\nimport './components/footer/footer.module.css'\nimport './components/pakker/bilde-og-tekstpakke.module.css'\nimport './components/pakker/tekstboks.module.css'\nimport { SALevendeStillbilde } from './lib/levende-stillbilde.ts'\n\n// import hydrate from './components/hydrate'\n\nconst tag = getElementTag(__APP_NAME__, __APP_VERSION__)\n\nfunction safeDefine(elementName, constructor) {\n if (typeof customElements.get(elementName) === 'undefined') {\n customElements.define(elementName, constructor)\n }\n}\n\nclass AppElement extends HTMLElement {\n name = tag\n\n connectedCallback() {\n safeDefine('ordforklaring-tooltip', OrdforklaringTooltip)\n safeDefine('core-toggle', OrdforklaringToggle)\n safeDefine('dhsa-levende-stillbilde', SALevendeStillbilde)\n\n const backgroundColor = getComputedStyle(document.body).backgroundColor\n let themeMeta = document.querySelector(\"meta[name='theme-color']\")\n if (!themeMeta) {\n themeMeta = document.createElement('meta')\n themeMeta.setAttribute('name', 'theme-color')\n document.querySelector('head').appendChild(themeMeta)\n }\n themeMeta.setAttribute('content', backgroundColor)\n }\n\n get features() {\n return JSON.parse(this.getAttribute('features') ?? '{}')\n }\n}\n\nif (!customElements.get(tag)) {\n customElements.define(tag, AppElement)\n}\n"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_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","constructor","create","value","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","IS_BROWSER","window","HAS_NAVIGATOR","navigator","IS_ANDROID","test","userAgent","IS_IOS","String","platform","g","HTMLElement","_class","proto","match","closest","Element","matches","msMatchesSelector","webkitMatchesSelector","el","css","correspondingUseElement","parentElement","dispatchEvent","element","name","event","detail","ignore","concat","CustomEvent","bubbles","cancelable","document","createEvent","initCustomEvent","result","getUUID","Date","now","Math","random","slice","toggleAttribute","force","hasAttribute","SCROLLER","createElement","CoreToggle","_HTMLElement","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","documentElement","style","cursor","setAttribute","button","id","textContent","_open","hidden","addEventListener","_button","removeEventListener","handleAutoposition","querySelector","focus","err","defaultPrevented","type","updatePosition","keyCode","getAttribute","nodeName","preventDefault","btn","popup","contains","_this","_skipPosition","position","triggerRect","getBoundingClientRect","contentRect","hasSpaceRight","left","width","innerWidth","hasSpaceLeft","right","hasSpaceUnder","bottom","height","innerHeight","hasSpaceOver","top","leftVal","round","placeUnder","scroll","pageYOffset","cssText","setTimeout","previousElementSibling","val","data","split","label","innerHTML","teardown","_positionObserver","disconnect","parentNode","removeChild","autoposition","MutationObserver","observe","childList","subtree","attributes","body","appendChild","module","exports","getElementTag","version","html","strings","interpolations","str","replace","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","globalThis","obj","prop","hasOwnProperty","OrdforklaringTooltip","handleClose","toggleElement","connectedCallback","childNodes","begrep","innerText","forklaring","elm","_t","_","append","replaceChildren","closeButton","OrdforklaringToggle","super","centeredLeft","_typeof","Symbol","iterator","toPropertyKey","t","r","toPrimitive","Number","STATE_ATTR","VIEWPORT_POSITION_ATTR","DISABLE_FORCED_ATTRIBUTES_ATTR","IS_PAUSED","AUTOPLAY_BLOCKED","READY_STATE","isVisible","child","offsetParent","LevendeStillbilde","_visibleVideoElement","isPaused","paused","_shouldPlay","_playVideo","_pauseVideo","_updateVisibleVideoElement","observedAttributes","_setVideoAttributes","_setEventListeners","disconnectedCallback","_disconnecting","_removeEventListeners","attributeChangedCallback","prevValue","newValue","_updatePlayState","_preload","_handleResize","videoElements","forEach","_handlePlayChange","requestAnimationFrame","nextVisibleVideo","find","_shouldPreload","disableForcedAttributes","_this$_visibleVideoEl","readyState","state","viewportPosition","_this$_visibleVideoEl2","_this$_visibleVideoEl3","load","reducedMotion","matchMedia","videoElement","autoplayBlocked","play","Promise","resolve","catch","console","error","pause","nodeList","querySelectorAll","removeAttribute","boolValue","_observer","_classPrivateFieldLooseKey","SALevendeStillbilde","_classPrivateFieldLooseBase","IntersectionObserver","entries","entry","player","elementViewportPosition","isIntersecting","threshold","tag","__APP_NAME__","__APP_VERSION__","safeDefine","elementName","customElements","define","AppElement","backgroundColor","getComputedStyle","themeMeta","features","_this$getAttribute","JSON","parse"],"sourceRoot":""}