{
  "version": 3,
  "sources": ["/cdn/shop/t/83/assets/laley-loading-system.js?lly=laley-custom-20260908-illustrations-v848"],
  "sourcesContent": ["(() => {\n  'use strict';\n\n  if (window.__laleyLoadingSystem) return;\n  window.__laleyLoadingSystem = true;\n\n  const root = document.documentElement;\n  const navigationFeedbackDelay = 280;\n  const navigationRecoveryDelay = 8000;\n  const imageRecoveryDelay = 12000;\n  const maxPrefetches = 16;\n  const routeScrollStateKey = '__laleyRouteScroll';\n  let pendingNavigation = false;\n  let navigationFeedbackTimer = 0;\n  let navigationRecoveryTimer = 0;\n  let scanFrame = 0;\n  const queuedScanRoots = new Set();\n  const prefetchedDestinations = new Set(\n    Array.from(document.querySelectorAll('link[data-laley-route-prefetch]'), (link) => link.href)\n  );\n  const revealSelector = [\n    '.product-item__media img[loading=\"lazy\"]',\n    '.laley-cat-push__media img[loading=\"lazy\"]',\n    '.laley-panel__result-media img[loading=\"lazy\"]',\n    '.laley-ctl__media img[loading=\"lazy\"]',\n    '.laley-nav-feature-card__media img[loading=\"lazy\"]'\n  ].join(',');\n  /* Galleries and campaign video posters own their transitions. A second\n     opacity animation here can cover a playing video or blank a swipe. */\n\n  const ensureRouteLoader = () => {\n    let loader = document.querySelector('[data-laley-route-loader]');\n    if (!document.body) return loader;\n\n    if (!loader) {\n      loader = document.createElement('div');\n      loader.className = 'laley-route-loader';\n      loader.setAttribute('data-laley-route-loader', '');\n      loader.setAttribute('role', 'status');\n      loader.setAttribute('aria-live', 'polite');\n      loader.setAttribute('aria-label', 'Laster neste side');\n      loader.setAttribute('aria-hidden', 'true');\n      loader.innerHTML = '<span class=\"laley-route-loader__ring\" aria-hidden=\"true\"></span>';\n    }\n\n    const contextualHost = document.querySelector('[data-co-refine]');\n    const target = contextualHost || document.body;\n    if (loader.parentElement !== target) target.appendChild(loader);\n    loader.classList.toggle('laley-route-loader--contextual', Boolean(contextualHost));\n    return loader;\n  };\n\n  const cancelNavigationFeedback = () => {\n    window.clearTimeout(navigationFeedbackTimer);\n    navigationFeedbackTimer = 0;\n  };\n\n  const cancelNavigationRecovery = () => {\n    window.clearTimeout(navigationRecoveryTimer);\n    navigationRecoveryTimer = 0;\n  };\n\n  const showNavigationFeedback = () => {\n    navigationFeedbackTimer = 0;\n    if (!root.hasAttribute('data-laley-navigating')) return;\n    const loader = ensureRouteLoader();\n    if (loader) loader.removeAttribute('aria-hidden');\n    root.setAttribute('data-laley-navigation-slow', '');\n  };\n\n  const scheduleNavigationFeedback = () => {\n    cancelNavigationFeedback();\n    navigationFeedbackTimer = window.setTimeout(showNavigationFeedback, navigationFeedbackDelay);\n  };\n\n  const closeNavigationSurfaces = (anchor) => {\n    /* A route click should acknowledge itself before the response arrives.\n       Publish one shared lifecycle event so the desktop mega menu can close\n       through its own state controller, then close the legacy mobile drawer\n       through the theme's public event. Native navigation remains untouched. */\n    document.dispatchEvent(new CustomEvent('laley:route:start', {\n      detail: { anchor }\n    }));\n\n    const mobileDrawer = anchor?.closest('[data-drawer=\"hamburger\"]');\n    if (mobileDrawer && mobileDrawer.classList.contains('is-open')) {\n      mobileDrawer.dispatchEvent(new CustomEvent('theme:drawer:close', { bubbles: true }));\n    }\n  };\n\n  const startNavigation = () => {\n    if (root.hasAttribute('data-laley-navigating')) return;\n    const loader = ensureRouteLoader();\n    if (loader) loader.setAttribute('aria-hidden', 'true');\n    root.removeAttribute('data-laley-navigation-slow');\n    root.setAttribute('data-laley-navigating', '');\n    scheduleNavigationFeedback();\n    cancelNavigationRecovery();\n    /* A browser extension, app or late click listener may cancel navigation\n       after this shared listener has acknowledged it. Never leave the page in\n       a permanently busy state if the document therefore stays in place. */\n    navigationRecoveryTimer = window.setTimeout(finishNavigation, navigationRecoveryDelay);\n  };\n\n  function finishNavigation() {\n    pendingNavigation = false;\n    cancelNavigationFeedback();\n    cancelNavigationRecovery();\n    const loader = document.querySelector('[data-laley-route-loader]');\n    if (loader) loader.setAttribute('aria-hidden', 'true');\n    root.removeAttribute('data-laley-navigating');\n    root.removeAttribute('data-laley-navigation-slow');\n  }\n\n  ensureRouteLoader();\n\n  const destinationForAnchor = (anchor) => {\n    if (!anchor) return null;\n    if (anchor.hasAttribute('download') || (anchor.target && anchor.target !== '_self')) return false;\n    if (anchor.matches('[data-laley-ui-trigger], [data-laley-panel-search-trigger], [data-laley-card-color], [data-laley-no-route-transition]')) return null;\n    if (anchor.closest('[data-quick-add-holder]')) return null;\n    const overlay = anchor.closest('[data-laley-ui-overlay]');\n    if (overlay && !anchor.closest('[data-drawer=\"hamburger\"], [data-laley-mega-menu]')) return null;\n\n    const rawHref = anchor.getAttribute('href') || '';\n    if (!rawHref || rawHref.startsWith('#') || rawHref.startsWith('javascript:')) return null;\n\n    let destination;\n    try {\n      destination = new URL(anchor.href, window.location.href);\n    } catch (error) {\n      return null;\n    }\n\n    if (destination.origin !== window.location.origin) return null;\n    if (destination.href === window.location.href) return null;\n    if (destination.pathname === window.location.pathname\n      && destination.search === window.location.search\n      && destination.hash) return null;\n    return destination;\n  };\n\n  const navigationDestination = (event, anchor) => {\n    if (!anchor || event.defaultPrevented || event.button !== 0) return null;\n    if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return false;\n    return destinationForAnchor(anchor);\n  };\n\n  const rememberRouteScroll = () => {\n    if (!window.history?.replaceState || window.scrollY <= 0) return;\n    try {\n      const existingState = window.history.state;\n      const nextState = existingState && typeof existingState === 'object' && !Array.isArray(existingState)\n        ? { ...existingState }\n        : {};\n      nextState[routeScrollStateKey] = {\n        href: window.location.href,\n        y: Math.round(window.scrollY)\n      };\n      window.history.replaceState(nextState, document.title, window.location.href);\n    } catch (error) {\n      /* Some embedded browsers restrict History state writes. Navigation\n         remains fully functional with native scroll restoration. */\n    }\n  };\n\n  const restoreRememberedRouteScroll = (event) => {\n    const saved = window.history?.state?.[routeScrollStateKey];\n    if (!saved || saved.href !== window.location.href || !Number.isFinite(saved.y)) return;\n    const navigationEntry = window.performance?.getEntriesByType?.('navigation')?.[0];\n    if (!event.persisted && navigationEntry?.type !== 'back_forward') return;\n\n    window.requestAnimationFrame(() => {\n      window.requestAnimationFrame(() => {\n        const previousScrollBehavior = root.style.getPropertyValue('scroll-behavior');\n        const previousScrollBehaviorPriority = root.style.getPropertyPriority('scroll-behavior');\n        root.style.setProperty('scroll-behavior', 'auto', 'important');\n        window.scrollTo(0, Math.max(0, saved.y));\n        if (previousScrollBehavior) {\n          root.style.setProperty('scroll-behavior', previousScrollBehavior, previousScrollBehaviorPriority);\n        } else {\n          root.style.removeProperty('scroll-behavior');\n        }\n      });\n    });\n  };\n\n  const prefetchDestination = (href) => {\n    if (!href || prefetchedDestinations.has(href) || prefetchedDestinations.size >= maxPrefetches) return;\n    const connection = navigator.connection;\n    if (connection?.saveData || /(^|-)2g$/.test(connection?.effectiveType || '')) return;\n    const prefetch = document.createElement('link');\n    prefetch.rel = 'prefetch';\n    prefetch.as = 'document';\n    prefetch.href = href;\n    prefetch.setAttribute('data-laley-route-prefetch', '');\n    document.head.appendChild(prefetch);\n    prefetchedDestinations.add(href);\n  };\n\n  const primeNavigation = (event) => {\n    if (event.pointerType === 'touch' && event.type === 'pointerover') return;\n    const anchor = event.target instanceof Element ? event.target.closest('a[href]') : null;\n    const destination = destinationForAnchor(anchor);\n    if (destination) prefetchDestination(destination.href);\n  };\n\n  document.addEventListener('pointerover', primeNavigation, { passive: true });\n  document.addEventListener('pointerdown', primeNavigation, { passive: true });\n  document.addEventListener('focusin', primeNavigation, { passive: true });\n\n  window.addEventListener('click', (event) => {\n    const anchor = event.target instanceof Element ? event.target.closest('a[href]') : null;\n    const destination = navigationDestination(event, anchor);\n    if (!destination) return;\n\n    if (pendingNavigation) {\n      event.preventDefault();\n      return;\n    }\n\n    pendingNavigation = true;\n    rememberRouteScroll();\n    closeNavigationSurfaces(anchor);\n    startNavigation();\n    prefetchDestination(destination.href);\n\n    /* Keep the current page visually still while the prefetched destination\n       commits. The browser then presents the new document at its natural top,\n       which reads as one continuous route change instead of an outgoing-page\n       rush upward. Native history restoration keeps Back/Forward positions. */\n  });\n\n  window.addEventListener('pagehide', () => {\n    /* The next document is ready to replace this one. Cancel delayed feedback\n       so a final frame cannot flash a spinner during the browser swap. */\n    cancelNavigationFeedback();\n    cancelNavigationRecovery();\n  }, { passive: true });\n  window.addEventListener('pageshow', (event) => {\n    if (event.persisted || root.hasAttribute('data-laley-navigating')) finishNavigation();\n    restoreRememberedRouteScroll(event);\n  }, { passive: true });\n\n  const revealImage = (image) => {\n    if (!(image instanceof HTMLImageElement) || image.dataset.laleyLoadState) return;\n\n    /* Cart fragments are replaced in place after quantity changes. Fading\n       those already-understood thumbnails on every rebuild reads as flicker. */\n    if (image.closest('cart-drawer, [data-cart-drawer], [data-api-line-items]')) {\n      image.dataset.laleyLoadState = 'ready';\n      return;\n    }\n\n    let recoveryTimer = 0;\n    const finish = (state) => {\n      window.clearTimeout(recoveryTimer);\n      image.dataset.laleyLoadState = state;\n    };\n\n    if (image.complete) {\n      finish(image.naturalWidth > 0 ? 'ready' : 'error');\n      return;\n    }\n\n    image.dataset.laleyLoadState = 'pending';\n    image.addEventListener('load', () => finish('loaded'), { once: true });\n    image.addEventListener('error', () => finish('error'), { once: true });\n    /* Broken CDN responses and interrupted lazy requests do not consistently\n       emit an error event in every WebKit build. Reveal the reserved surface\n       after a bounded wait instead of leaving an invisible image forever. */\n    recoveryTimer = window.setTimeout(() => {\n      finish(image.complete && image.naturalWidth > 0 ? 'ready' : 'error');\n    }, imageRecoveryDelay);\n  };\n\n  const scan = (scope) => {\n    if (scope instanceof HTMLImageElement && scope.matches(revealSelector)) revealImage(scope);\n    if (!(scope instanceof Element || scope instanceof Document)) return;\n    scope.querySelectorAll(revealSelector).forEach(revealImage);\n  };\n\n  const queueScan = (scope) => {\n    if (!(scope instanceof Element || scope instanceof Document)) return;\n    queuedScanRoots.add(scope);\n    if (scanFrame) return;\n    scanFrame = window.requestAnimationFrame(() => {\n      scanFrame = 0;\n      queuedScanRoots.forEach(scan);\n      queuedScanRoots.clear();\n    });\n  };\n\n  scan(document);\n  new MutationObserver((records) => {\n    records.forEach((record) => record.addedNodes.forEach(queueScan));\n  }).observe(document.documentElement, { childList: true, subtree: true });\n})();\n"],
  "mappings": "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",
  "names": []
}
