{
  "version": 3,
  "sources": ["/cdn/shop/t/92/assets/laley-pdp-reviews-loader.js?lly=laley-custom-20260921-epostsjekk-v860"],
  "sourcesContent": ["(() => {\n  if (window.__laleyPdpReviewsLoader) return;\n  window.__laleyPdpReviewsLoader = true;\n\n  const owner = document.currentScript;\n  const reviewSrc = owner?.dataset.reviewSrc || '';\n  const sectionSelector = '[data-pdp-section]';\n  const intentSelector = '[data-pdp-jump-reviews], [data-pdp-reviews-fallback], [data-pdp-reviews-write], a[href*=\"#klaviyo-reviews-all\"], a[href*=\"#anmeldelser\"]';\n  /* The size guide renders the aggregate fit scale, which this runtime builds.\n     Opening it warms the runtime but is never intercepted \u2014 the drawer must\n     open on the shopper's click, not after a network round trip. */\n  const primeSelector = `${intentSelector}, [data-pdp-sizeguide-open]`;\n  const reviewMethods = [\n    'bindReviewsJump',\n    'bindReviewLabelLocale',\n    'bindReviewWidgetPolish',\n    'bindAllReviewsHeader',\n    'bindKundeneSier',\n  ];\n  const replaying = new WeakSet();\n  const observed = new WeakSet();\n  let loadPromise = null;\n  let intersectionObserver = null;\n\n  /* The scroll owner lives in this synchronous, lightweight loader so the\n     viewport reacts on the same click even when the full review runtime is\n     still downloading. The runtime reuses the same owner after hydration. */\n  const reviewScroller = window.__laleyReviewScroller || (() => {\n    let token = 0;\n    let restoreScrollBehavior = null;\n    const getScrollTop = () => {\n      const scroller = document.scrollingElement || document.documentElement;\n      return Number(scroller?.scrollTop || window.scrollY || 0);\n    };\n    const releaseScrollBehavior = () => {\n      if (!restoreScrollBehavior) return;\n      restoreScrollBehavior();\n      restoreScrollBehavior = null;\n    };\n    const ownScrollBehavior = (scroller) => {\n      releaseScrollBehavior();\n      const previous = scroller.style.scrollBehavior;\n      scroller.style.scrollBehavior = 'auto';\n      restoreScrollBehavior = () => {\n        if (previous) scroller.style.scrollBehavior = previous;\n        else scroller.style.removeProperty('scroll-behavior');\n      };\n    };\n    const interrupt = () => {\n      token += 1;\n      releaseScrollBehavior();\n    };\n    const toTarget = (target, options = {}) => {\n      if (!target) return Promise.resolve(false);\n      const scroller = document.scrollingElement || document.documentElement;\n      if (!scroller) return Promise.resolve(false);\n      const behavior = options.behavior || 'smooth';\n      const headerOffset = typeof options.headerOffset === 'function' ? options.headerOffset : () => 0;\n      const cancelled = typeof options.cancelled === 'function' ? options.cancelled : () => false;\n      const targetTop = () => Math.max(0, target.getBoundingClientRect().top + getScrollTop() - headerOffset());\n      const start = getScrollTop();\n      const destination = targetTop();\n      const prefersReducedMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)')?.matches;\n\n      if (behavior !== 'smooth' || prefersReducedMotion || Math.abs(destination - start) < 2) {\n        interrupt();\n        ownScrollBehavior(scroller);\n        scroller.scrollTop = destination;\n        window.requestAnimationFrame(releaseScrollBehavior);\n        return Promise.resolve(true);\n      }\n\n      interrupt();\n      const runToken = ++token;\n      ownScrollBehavior(scroller);\n      const distance = Math.abs(destination - start);\n      const duration = Math.min(560, Math.max(360, 300 + distance * 0.035));\n      const startedAt = window.performance?.now?.() || Date.now();\n      return new Promise((resolve) => {\n        const step = (now) => {\n          if (runToken !== token || cancelled()) {\n            releaseScrollBehavior();\n            resolve(false);\n            return;\n          }\n          const progress = Math.min(1, Math.max(0, now - startedAt) / duration);\n          const eased = 1 - Math.pow(1 - progress, 3);\n          const liveDestination = targetTop();\n          scroller.scrollTop = start + ((liveDestination - start) * eased);\n          if (progress < 1) {\n            window.requestAnimationFrame(step);\n            return;\n          }\n          scroller.scrollTop = liveDestination;\n          releaseScrollBehavior();\n          resolve(true);\n        };\n        window.requestAnimationFrame(step);\n      });\n    };\n\n    window.addEventListener('wheel', interrupt, { passive: true, capture: true });\n    window.addEventListener('touchmove', interrupt, { passive: true, capture: true });\n    document.addEventListener('keydown', (event) => {\n      if (['ArrowUp', 'ArrowDown', 'PageUp', 'PageDown', 'Home', 'End', ' '].includes(event.key)) interrupt();\n    }, true);\n    return { interrupt, toTarget };\n  })();\n  window.__laleyReviewScroller = reviewScroller;\n\n  const getHeaderOffset = () => {\n    const headerVar = parseInt(window.getComputedStyle(document.documentElement).getPropertyValue('--HEADER-HEIGHT'), 10);\n    const header = Number.isFinite(headerVar) ? headerVar : (document.querySelector('header')?.offsetHeight || 0);\n    return Math.max(0, header + 12);\n  };\n\n  const activateStyles = () => {\n    const style = document.querySelector('link[data-laley-deferred-style][href*=\"laley-pdp-reviews\"]');\n    if (!style || style.media === 'all') return;\n    style.media = 'all';\n  };\n\n  const activate = (section) => {\n    if (section?.dataset.pdpReviewsDisabled === 'true') return false;\n    if (!section || section.dataset.pdpReviewsRuntimeBound === 'true') return false;\n    const PDP = window.LaleyPDPCleanV4;\n    const instance = PDP?.instances?.get?.(section);\n    if (!PDP || !instance || instance.destroyed || !PDP.modules?.includes?.('reviews')) return false;\n\n    section.dataset.pdpReviewsRuntimeBound = 'true';\n    PDP.hooks?.primeReviewFallback?.(section);\n    reviewMethods.forEach((method) => {\n      if (typeof instance[method] === 'function') instance[method]();\n    });\n    if (typeof instance.nudgeKlaviyoHydration === 'function') instance.nudgeKlaviyoHydration();\n    document.dispatchEvent(new CustomEvent('laley:pdp:reviews-runtime-ready', {\n      bubbles: true,\n      detail: { productId: section.dataset.productId || '' },\n    }));\n    return true;\n  };\n\n  // Boot runs after this lightweight loader. Expose the activation owner so a\n  // fresh PDP section can bind an already-loaded reviews runtime immediately,\n  // independent of Shopify's global section-listener registration order.\n  if (window.LaleyPDPCleanV4?.hooks) {\n    window.LaleyPDPCleanV4.hooks.activateReviews = activate;\n  }\n\n  const activateAll = () => document.querySelectorAll(sectionSelector).forEach(activate);\n\n  const continueIntent = (trigger, behavior = 'smooth') => {\n    if (trigger?.matches?.('[data-pdp-reviews-write]')) {\n      replaying.add(trigger);\n      trigger.click();\n      window.setTimeout(() => replaying.delete(trigger), 0);\n      return;\n    }\n    const section = trigger?.closest?.(sectionSelector);\n    const instance = window.LaleyPDPCleanV4?.instances?.get?.(section);\n    if (typeof instance?.jumpToReviews === 'function') {\n      instance.jumpToReviews({ behavior });\n      return;\n    }\n    replaying.add(trigger);\n    trigger.click();\n    window.setTimeout(() => replaying.delete(trigger), 0);\n  };\n\n  const load = () => {\n    /* Some embedded WebViews do not reliably fire `load` on media=print\n       stylesheets. The runtime and the full review surface become one atomic\n       activation point, while the critical summary is already synchronous. */\n    activateStyles();\n    if (window.LaleyPDPCleanV4?.modules?.includes?.('reviews')) {\n      activateAll();\n      return Promise.resolve('ready');\n    }\n    if (loadPromise) return loadPromise;\n    if (!reviewSrc) return Promise.reject(new Error('Missing PDP reviews source'));\n\n    loadPromise = new Promise((resolve, reject) => {\n      const existing = document.querySelector('script[data-laley-pdp-reviews-runtime]');\n      const script = existing || document.createElement('script');\n      const succeed = () => {\n        script.dataset.laleyUiState = 'ready';\n        activateAll();\n        resolve('ready');\n      };\n      const fail = () => {\n        loadPromise = null;\n        script.dataset.laleyUiState = 'error';\n        if (!existing) script.remove();\n        reject(new Error('Unable to load PDP reviews runtime'));\n      };\n\n      if (window.LaleyPDPCleanV4?.modules?.includes?.('reviews')) {\n        succeed();\n        return;\n      }\n      script.src = reviewSrc;\n      script.async = true;\n      script.dataset.laleyPdpReviewsRuntime = '';\n      script.dataset.laleyUiState = 'loading';\n      script.addEventListener('load', succeed, { once: true });\n      script.addEventListener('error', fail, { once: true });\n      if (!existing) document.head.appendChild(script);\n    });\n    return loadPromise;\n  };\n\n  const observeSection = (section) => {\n    if (!section || observed.has(section)) return;\n    observed.add(section);\n    /* Two targets, first hit wins. The sentinel is the precise activation\n       point; the review section itself is the resilient one \u2014 it is a plain\n       full-width block, so it stays observable even if section geometry ever\n       clips the marker out of the viewport again. */\n    const targets = [\n      section.querySelector('[data-pdp-reviews-runtime-sentinel]'),\n      document.querySelector('[data-pdp-reviews-section]'),\n    ].filter(Boolean);\n    if (!targets.length) return;\n\n    if (!('IntersectionObserver' in window)) {\n      const onFirstScroll = () => {\n        window.removeEventListener('scroll', onFirstScroll);\n        load().catch(() => {});\n      };\n      window.addEventListener('scroll', onFirstScroll, { passive: true, once: true });\n      return;\n    }\n\n    if (!intersectionObserver) {\n      intersectionObserver = new IntersectionObserver((entries) => {\n        if (!entries.some((entry) => entry.isIntersecting)) return;\n        intersectionObserver.disconnect();\n        load().catch(() => {});\n      }, { rootMargin: '1000px 0px' });\n    }\n    targets.forEach((target) => intersectionObserver.observe(target));\n  };\n\n  document.querySelectorAll(sectionSelector).forEach(observeSection);\n\n  const closestIntent = (event) => {\n    const target = event.target?.nodeType === 1 ? event.target : event.target?.parentElement;\n    return target?.closest?.(intentSelector) || null;\n  };\n  const primeIntent = (event) => {\n    const target = event.target?.nodeType === 1 ? event.target : event.target?.parentElement;\n    if (target?.closest?.(primeSelector)) load().catch(() => {});\n  };\n  document.addEventListener('pointerdown', primeIntent, { capture: true, passive: true });\n  document.addEventListener('focusin', primeIntent, true);\n  document.addEventListener('click', (event) => {\n    const trigger = closestIntent(event);\n    if (!trigger || replaying.has(trigger) || window.LaleyPDPCleanV4?.modules?.includes?.('reviews')) return;\n    event.preventDefault();\n    event.stopPropagation();\n    event.stopImmediatePropagation();\n    const eagerTarget = trigger.matches?.('[data-pdp-reviews-write]')\n      ? null\n      : document.querySelector('[data-pdp-reviews-section]');\n    const eagerScroll = eagerTarget\n      ? reviewScroller.toTarget(eagerTarget, { behavior: 'smooth', headerOffset: getHeaderOffset })\n      : Promise.resolve(false);\n    load().then(async () => {\n      const moved = await eagerScroll;\n      continueIntent(trigger, moved ? 'auto' : 'smooth');\n    }).catch(() => {});\n  }, true);\n\n  document.addEventListener('shopify:section:load', (event) => {\n    const section = event.target.matches?.(sectionSelector)\n      ? event.target\n      : event.target.querySelector?.(sectionSelector);\n    observeSection(section);\n    if (window.LaleyPDPCleanV4?.modules?.includes?.('reviews')) activate(section);\n  });\n})();\n"],
  "mappings": "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",
  "names": []
}
