{
  "version": 3,
  "sources": ["../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/maths.js", "../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/animate.js", "../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/dimensions.js", "../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/debounce.js", "../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/emitter.js", "../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/virtual-scroll.js", "../../../Vettvangur.Frontend/node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/src/index.ts", "../../../Vettvangur.Frontend/src/scripts/utility/smooth-scroll.ts"],
  "sourcesContent": ["// Clamp a value between a minimum and maximum value\r\nexport function clamp(min, input, max) {\r\n  return Math.max(min, Math.min(input, max))\r\n}\r\n\r\n// Truncate a floating-point number to a specified number of decimal places\r\nexport function truncate(value, decimals = 0) {\r\n  return parseFloat(value.toFixed(decimals))\r\n}\r\n\r\n// Linearly interpolate between two values using an amount (0 <= t <= 1)\r\nexport function lerp(x, y, t) {\r\n  return (1 - t) * x + t * y\r\n}\r\n\r\n// http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/\r\nexport function damp(x, y, lambda, dt) {\r\n  return lerp(x, y, 1 - Math.exp(-lambda * dt))\r\n}\r\n\r\n// Calculate the modulo of the dividend and divisor while keeping the result within the same sign as the divisor\r\n// https://anguscroll.com/just/just-modulo\r\nexport function modulo(n, d) {\r\n  return ((n % d) + d) % d\r\n}\r\n", "import { clamp, damp } from './maths'\r\n\r\n// Animate class to handle value animations with lerping or easing\r\nexport class Animate {\r\n  // Advance the animation by the given delta time\r\n  advance(deltaTime) {\r\n    if (!this.isRunning) return\r\n\r\n    let completed = false\r\n\r\n    if (this.lerp) {\r\n      this.value = damp(this.value, this.to, this.lerp * 60, deltaTime)\r\n      if (Math.round(this.value) === this.to) {\r\n        this.value = this.to\r\n        completed = true\r\n      }\r\n    } else {\r\n      this.currentTime += deltaTime\r\n      const linearProgress = clamp(0, this.currentTime / this.duration, 1)\r\n\r\n      completed = linearProgress >= 1\r\n      const easedProgress = completed ? 1 : this.easing(linearProgress)\r\n      this.value = this.from + (this.to - this.from) * easedProgress\r\n    }\r\n\r\n    // Call the onUpdate callback with the current value and completed status\r\n    this.onUpdate?.(this.value, completed)\r\n\r\n    if (completed) {\r\n      this.stop()\r\n    }\r\n  }\r\n\r\n  // Stop the animation\r\n  stop() {\r\n    this.isRunning = false\r\n  }\r\n\r\n  // Set up the animation from a starting value to an ending value\r\n  // with optional parameters for lerping, duration, easing, and onUpdate callback\r\n  fromTo(\r\n    from,\r\n    to,\r\n    { lerp = 0.1, duration = 1, easing = (t) => t, onStart, onUpdate }\r\n  ) {\r\n    this.from = this.value = from\r\n    this.to = to\r\n    this.lerp = lerp\r\n    this.duration = duration\r\n    this.easing = easing\r\n    this.currentTime = 0\r\n    this.isRunning = true\r\n\r\n    onStart?.()\r\n    this.onUpdate = onUpdate\r\n  }\r\n}\r\n", "import { debounce } from './debounce'\r\n\r\nexport class Dimensions {\r\n  constructor({\r\n    wrapper,\r\n    content,\r\n    autoResize = true,\r\n    debounce: debounceValue = 250,\r\n  } = {}) {\r\n    this.wrapper = wrapper\r\n    this.content = content\r\n\r\n    if (autoResize) {\r\n      this.debouncedResize = debounce(this.resize, debounceValue)\r\n\r\n      if (this.wrapper === window) {\r\n        window.addEventListener('resize', this.debouncedResize, false)\r\n      } else {\r\n        this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize)\r\n        this.wrapperResizeObserver.observe(this.wrapper)\r\n      }\r\n\r\n      this.contentResizeObserver = new ResizeObserver(this.debouncedResize)\r\n      this.contentResizeObserver.observe(this.content)\r\n    }\r\n\r\n    this.resize()\r\n  }\r\n\r\n  destroy() {\r\n    this.wrapperResizeObserver?.disconnect()\r\n    this.contentResizeObserver?.disconnect()\r\n    window.removeEventListener('resize', this.debouncedResize, false)\r\n  }\r\n\r\n  resize = () => {\r\n    this.onWrapperResize()\r\n    this.onContentResize()\r\n  }\r\n\r\n  onWrapperResize = () => {\r\n    if (this.wrapper === window) {\r\n      this.width = window.innerWidth\r\n      this.height = window.innerHeight\r\n    } else {\r\n      this.width = this.wrapper.clientWidth\r\n      this.height = this.wrapper.clientHeight\r\n    }\r\n  }\r\n\r\n  onContentResize = () => {\r\n    if (this.wrapper === window) {\r\n      this.scrollHeight = this.content.scrollHeight\r\n      this.scrollWidth = this.content.scrollWidth\r\n    } else {\r\n      this.scrollHeight = this.wrapper.scrollHeight\r\n      this.scrollWidth = this.wrapper.scrollWidth\r\n    }\r\n  }\r\n\r\n  get limit() {\r\n    return {\r\n      x: this.scrollWidth - this.width,\r\n      y: this.scrollHeight - this.height,\r\n    }\r\n  }\r\n}\r\n", "export function debounce(callback, delay) {\r\n  let timer\r\n  return function () {\r\n    let args = arguments\r\n    let context = this\r\n    clearTimeout(timer)\r\n    timer = setTimeout(function () {\r\n      callback.apply(context, args)\r\n    }, delay)\r\n  }\r\n}\r\n", "export class Emitter {\r\n  constructor() {\r\n    this.events = {}\r\n  }\r\n\r\n  emit(event, ...args) {\r\n    let callbacks = this.events[event] || []\r\n    for (let i = 0, length = callbacks.length; i < length; i++) {\r\n      callbacks[i](...args)\r\n    }\r\n  }\r\n\r\n  on(event, cb) {\r\n    // Add the callback to the event's callback list, or create a new list with the callback\r\n    this.events[event]?.push(cb) || (this.events[event] = [cb])\r\n\r\n    // Return an unsubscribe function\r\n    return () => {\r\n      this.events[event] = this.events[event]?.filter((i) => cb !== i)\r\n    }\r\n  }\r\n\r\n  off(event, callback) {\r\n    this.events[event] = this.events[event]?.filter((i) => callback !== i)\r\n  }\r\n\r\n  destroy() {\r\n    this.events = {}\r\n  }\r\n}\r\n", "import { Emitter } from './emitter'\r\n\r\nconst LINE_HEIGHT = 100 / 6\r\n\r\nexport class VirtualScroll {\r\n  constructor(element, { wheelMultiplier = 1, touchMultiplier = 1 }) {\r\n    this.element = element\r\n    this.wheelMultiplier = wheelMultiplier\r\n    this.touchMultiplier = touchMultiplier\r\n\r\n    this.touchStart = {\r\n      x: null,\r\n      y: null,\r\n    }\r\n\r\n    this.emitter = new Emitter()\r\n    window.addEventListener('resize', this.onWindowResize, false)\r\n    this.onWindowResize()\r\n\r\n    this.element.addEventListener('wheel', this.onWheel, { passive: false })\r\n    this.element.addEventListener('touchstart', this.onTouchStart, {\r\n      passive: false,\r\n    })\r\n    this.element.addEventListener('touchmove', this.onTouchMove, {\r\n      passive: false,\r\n    })\r\n    this.element.addEventListener('touchend', this.onTouchEnd, {\r\n      passive: false,\r\n    })\r\n  }\r\n\r\n  // Add an event listener for the given event and callback\r\n  on(event, callback) {\r\n    return this.emitter.on(event, callback)\r\n  }\r\n\r\n  // Remove all event listeners and clean up\r\n  destroy() {\r\n    this.emitter.destroy()\r\n\r\n    window.removeEventListener('resize', this.onWindowResize, false)\r\n\r\n    this.element.removeEventListener('wheel', this.onWheel, {\r\n      passive: false,\r\n    })\r\n    this.element.removeEventListener('touchstart', this.onTouchStart, {\r\n      passive: false,\r\n    })\r\n    this.element.removeEventListener('touchmove', this.onTouchMove, {\r\n      passive: false,\r\n    })\r\n    this.element.removeEventListener('touchend', this.onTouchEnd, {\r\n      passive: false,\r\n    })\r\n  }\r\n\r\n  // Event handler for 'touchstart' event\r\n  onTouchStart = (event) => {\r\n    const { clientX, clientY } = event.targetTouches\r\n      ? event.targetTouches[0]\r\n      : event\r\n\r\n    this.touchStart.x = clientX\r\n    this.touchStart.y = clientY\r\n\r\n    this.lastDelta = {\r\n      x: 0,\r\n      y: 0,\r\n    }\r\n\r\n    this.emitter.emit('scroll', {\r\n      deltaX: 0,\r\n      deltaY: 0,\r\n      event,\r\n    })\r\n  }\r\n\r\n  // Event handler for 'touchmove' event\r\n  onTouchMove = (event) => {\r\n    const { clientX, clientY } = event.targetTouches\r\n      ? event.targetTouches[0]\r\n      : event\r\n\r\n    const deltaX = -(clientX - this.touchStart.x) * this.touchMultiplier\r\n    const deltaY = -(clientY - this.touchStart.y) * this.touchMultiplier\r\n\r\n    this.touchStart.x = clientX\r\n    this.touchStart.y = clientY\r\n\r\n    this.lastDelta = {\r\n      x: deltaX,\r\n      y: deltaY,\r\n    }\r\n\r\n    this.emitter.emit('scroll', {\r\n      deltaX,\r\n      deltaY,\r\n      event,\r\n    })\r\n  }\r\n\r\n  onTouchEnd = (event) => {\r\n    this.emitter.emit('scroll', {\r\n      deltaX: this.lastDelta.x,\r\n      deltaY: this.lastDelta.y,\r\n      event,\r\n    })\r\n  }\r\n\r\n  // Event handler for 'wheel' event\r\n  onWheel = (event) => {\r\n    let { deltaX, deltaY, deltaMode } = event\r\n\r\n    const multiplierX =\r\n      deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.windowWidth : 1\r\n    const multiplierY =\r\n      deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.windowHeight : 1\r\n\r\n    deltaX *= multiplierX\r\n    deltaY *= multiplierY\r\n\r\n    deltaX *= this.wheelMultiplier\r\n    deltaY *= this.wheelMultiplier\r\n\r\n    this.emitter.emit('scroll', { deltaX, deltaY, event })\r\n  }\r\n\r\n  onWindowResize = () => {\r\n    this.windowWidth = window.innerWidth\r\n    this.windowHeight = window.innerHeight\r\n  }\r\n}\r\n", "import { version } from '../package.json'\r\nimport { Animate } from './animate'\r\nimport { Dimensions } from './dimensions'\r\nimport { Emitter } from './emitter'\r\nimport { clamp, modulo } from './maths'\r\nimport { VirtualScroll } from './virtual-scroll'\r\n\r\n// Technical explanation\r\n// - listen to 'wheel' events\r\n// - prevent 'wheel' event to prevent scroll\r\n// - normalize wheel delta\r\n// - add delta to targetScroll\r\n// - animate scroll to targetScroll (smooth context)\r\n// - if animation is not running, listen to 'scroll' events (native context)\r\n\r\ntype EasingFunction = (t: number) => number\r\ntype Orientation = 'vertical' | 'horizontal'\r\ntype GestureOrientation = 'vertical' | 'horizontal' | 'both'\r\n\r\nexport type LenisOptions = {\r\n  wrapper?: Window | HTMLElement\r\n  content?: HTMLElement\r\n  wheelEventsTarget?: Window | HTMLElement\r\n  eventsTarget?: Window | HTMLElement\r\n  smoothWheel?: boolean\r\n  syncTouch?: boolean\r\n  syncTouchLerp?: number\r\n  touchInertiaMultiplier?: number\r\n  duration?: number\r\n  easing?: EasingFunction\r\n  lerp?: number\r\n  infinite?: boolean\r\n  orientation?: Orientation\r\n  gestureOrientation?: GestureOrientation\r\n  touchMultiplier?: number\r\n  wheelMultiplier?: number\r\n  autoResize?: boolean\r\n  __experimental__naiveDimensions?: boolean\r\n}\r\n\r\nexport default class Lenis {\r\n  __isSmooth: boolean = false // true if scroll should be animated\r\n  __isScrolling: boolean = false // true when scroll is animating\r\n  __isStopped: boolean = false // true if user should not be able to scroll - enable/disable programmatically\r\n  __isLocked: boolean = false // same as isStopped but enabled/disabled when scroll reaches target\r\n\r\n  constructor({\r\n    wrapper = window,\r\n    content = document.documentElement,\r\n    wheelEventsTarget = wrapper, // deprecated\r\n    eventsTarget = wheelEventsTarget,\r\n    smoothWheel = true,\r\n    syncTouch = false,\r\n    syncTouchLerp = 0.075,\r\n    touchInertiaMultiplier = 35,\r\n    duration, // in seconds\r\n    easing = (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\r\n    lerp = !duration && 0.1,\r\n    infinite = false,\r\n    orientation = 'vertical', // vertical, horizontal\r\n    gestureOrientation = 'vertical', // vertical, horizontal, both\r\n    touchMultiplier = 1,\r\n    wheelMultiplier = 1,\r\n    autoResize = true,\r\n    __experimental__naiveDimensions = false,\r\n  }: LenisOptions = {}) {\r\n    window.lenisVersion = version\r\n\r\n    // if wrapper is html or body, fallback to window\r\n    if (wrapper === document.documentElement || wrapper === document.body) {\r\n      wrapper = window\r\n    }\r\n\r\n    this.options = {\r\n      wrapper,\r\n      content,\r\n      wheelEventsTarget,\r\n      eventsTarget,\r\n      smoothWheel,\r\n      syncTouch,\r\n      syncTouchLerp,\r\n      touchInertiaMultiplier,\r\n      duration,\r\n      easing,\r\n      lerp,\r\n      infinite,\r\n      gestureOrientation,\r\n      orientation,\r\n      touchMultiplier,\r\n      wheelMultiplier,\r\n      autoResize,\r\n      __experimental__naiveDimensions,\r\n    }\r\n\r\n    this.animate = new Animate()\r\n    this.emitter = new Emitter()\r\n    this.dimensions = new Dimensions({ wrapper, content, autoResize })\r\n    this.toggleClassName('lenis', true)\r\n\r\n    this.velocity = 0\r\n    this.isLocked = false\r\n    this.isStopped = false\r\n    this.isSmooth = syncTouch || smoothWheel\r\n    this.isScrolling = false\r\n    this.targetScroll = this.animatedScroll = this.actualScroll\r\n\r\n    this.options.wrapper.addEventListener('scroll', this.onNativeScroll, false)\r\n\r\n    this.virtualScroll = new VirtualScroll(eventsTarget, {\r\n      touchMultiplier,\r\n      wheelMultiplier,\r\n    })\r\n    this.virtualScroll.on('scroll', this.onVirtualScroll)\r\n  }\r\n\r\n  destroy() {\r\n    this.emitter.destroy()\r\n\r\n    this.options.wrapper.removeEventListener(\r\n      'scroll',\r\n      this.onNativeScroll,\r\n      false\r\n    )\r\n\r\n    this.virtualScroll.destroy()\r\n    this.dimensions.destroy()\r\n\r\n    this.toggleClassName('lenis', false)\r\n    this.toggleClassName('lenis-smooth', false)\r\n    this.toggleClassName('lenis-scrolling', false)\r\n    this.toggleClassName('lenis-stopped', false)\r\n    this.toggleClassName('lenis-locked', false)\r\n  }\r\n\r\n  on(event: string, callback: Function) {\r\n    return this.emitter.on(event, callback)\r\n  }\r\n\r\n  off(event: string, callback: Function) {\r\n    return this.emitter.off(event, callback)\r\n  }\r\n\r\n  private setScroll(scroll) {\r\n    // apply scroll value immediately\r\n    if (this.isHorizontal) {\r\n      this.rootElement.scrollLeft = scroll\r\n    } else {\r\n      this.rootElement.scrollTop = scroll\r\n    }\r\n  }\r\n\r\n  private onVirtualScroll = ({ deltaX, deltaY, event }) => {\r\n    // keep zoom feature\r\n    if (event.ctrlKey) return\r\n\r\n    const isTouch = event.type.includes('touch')\r\n    const isWheel = event.type.includes('wheel')\r\n\r\n    const isTapToStop =\r\n      this.options.syncTouch &&\r\n      isTouch &&\r\n      event.type === 'touchstart' &&\r\n      !this.isStopped &&\r\n      !this.isLocked\r\n\r\n    if (isTapToStop) {\r\n      this.reset()\r\n      return\r\n    }\r\n\r\n    const isClick = deltaX === 0 && deltaY === 0 // click event\r\n\r\n    // const isPullToRefresh =\r\n    //   this.options.gestureOrientation === 'vertical' &&\r\n    //   this.scroll === 0 &&\r\n    //   !this.options.infinite &&\r\n    //   deltaY <= 5 // touch pull to refresh, not reliable yet\r\n\r\n    const isUnknownGesture =\r\n      (this.options.gestureOrientation === 'vertical' && deltaY === 0) ||\r\n      (this.options.gestureOrientation === 'horizontal' && deltaX === 0)\r\n\r\n    if (isClick || isUnknownGesture) {\r\n      // console.log('prevent')\r\n      return\r\n    }\r\n\r\n    // catch if scrolling on nested scroll elements\r\n    let composedPath = event.composedPath()\r\n    composedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement)) // remove parents elements\r\n\r\n    if (\r\n      !!composedPath.find(\r\n        (node) =>\r\n          node.hasAttribute?.('data-lenis-prevent') ||\r\n          (isTouch && node.hasAttribute?.('data-lenis-prevent-touch')) ||\r\n          (isWheel && node.hasAttribute?.('data-lenis-prevent-wheel')) ||\r\n          (node.classList?.contains('lenis') &&\r\n            !node.classList?.contains('lenis-stopped')) // nested lenis instance\r\n      )\r\n    )\r\n      return\r\n\r\n    if (this.isStopped || this.isLocked) {\r\n      event.preventDefault() // this will stop forwarding the event to the parent, this is problematic\r\n      return\r\n    }\r\n\r\n    this.isSmooth =\r\n      (this.options.syncTouch && isTouch) ||\r\n      (this.options.smoothWheel && isWheel)\r\n\r\n    if (!this.isSmooth) {\r\n      this.isScrolling = false\r\n      this.animate.stop()\r\n      return\r\n    }\r\n\r\n    event.preventDefault()\r\n\r\n    let delta = deltaY\r\n    if (this.options.gestureOrientation === 'both') {\r\n      delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX\r\n    } else if (this.options.gestureOrientation === 'horizontal') {\r\n      delta = deltaX\r\n    }\r\n\r\n    const syncTouch = isTouch && this.options.syncTouch\r\n    const isTouchEnd = isTouch && event.type === 'touchend'\r\n\r\n    const hasTouchInertia = isTouchEnd && Math.abs(delta) > 5\r\n\r\n    if (hasTouchInertia) {\r\n      delta = this.velocity * this.options.touchInertiaMultiplier\r\n    }\r\n\r\n    this.scrollTo(this.targetScroll + delta, {\r\n      programmatic: false,\r\n      ...(syncTouch\r\n        ? {\r\n            lerp: hasTouchInertia ? this.options.syncTouchLerp : 1,\r\n          }\r\n        : {\r\n            lerp: this.options.lerp,\r\n            duration: this.options.duration,\r\n            easing: this.options.easing,\r\n          }),\r\n    })\r\n  }\r\n\r\n  resize() {\r\n    this.dimensions.resize()\r\n  }\r\n\r\n  private emit() {\r\n    this.emitter.emit('scroll', this)\r\n  }\r\n\r\n  private onNativeScroll = () => {\r\n    if (this.__preventNextScrollEvent) return\r\n\r\n    if (!this.isScrolling) {\r\n      const lastScroll = this.animatedScroll\r\n      this.animatedScroll = this.targetScroll = this.actualScroll\r\n      this.velocity = 0\r\n      this.direction = Math.sign(this.animatedScroll - lastScroll)\r\n      this.emit()\r\n    }\r\n  }\r\n\r\n  private reset() {\r\n    this.isLocked = false\r\n    this.isScrolling = false\r\n    this.animatedScroll = this.targetScroll = this.actualScroll\r\n    this.velocity = 0\r\n    this.animate.stop()\r\n  }\r\n\r\n  start() {\r\n    if (!this.isStopped) return\r\n    this.isStopped = false\r\n\r\n    this.reset()\r\n  }\r\n\r\n  stop() {\r\n    if (this.isStopped) return\r\n    this.isStopped = true\r\n    this.animate.stop()\r\n\r\n    this.reset()\r\n  }\r\n\r\n  raf(time: number) {\r\n    const deltaTime = time - (this.time || time)\r\n    this.time = time\r\n\r\n    this.animate.advance(deltaTime * 0.001)\r\n  }\r\n\r\n  scrollTo(\r\n    target: number | string | HTMLElement,\r\n    {\r\n      offset = 0,\r\n      immediate = false,\r\n      lock = false,\r\n      duration = this.options.duration,\r\n      easing = this.options.easing,\r\n      lerp = !duration && this.options.lerp,\r\n      onComplete,\r\n      force = false, // scroll even if stopped\r\n      programmatic = true, // called from outside of the class\r\n    }: {\r\n      offset?: number\r\n      immediate?: boolean\r\n      lock?: boolean\r\n      duration?: number\r\n      easing?: EasingFunction\r\n      lerp?: number\r\n      onComplete?: (lenis: Lenis) => void\r\n      force?: boolean\r\n      programmatic?: boolean\r\n    } = {}\r\n  ) {\r\n    if ((this.isStopped || this.isLocked) && !force) return\r\n\r\n    // keywords\r\n    if (['top', 'left', 'start'].includes(target)) {\r\n      target = 0\r\n    } else if (['bottom', 'right', 'end'].includes(target)) {\r\n      target = this.limit\r\n    } else {\r\n      let node\r\n\r\n      if (typeof target === 'string') {\r\n        // CSS selector\r\n        node = document.querySelector(target)\r\n      } else if (target?.nodeType) {\r\n        // Node element\r\n        node = target\r\n      }\r\n\r\n      if (node) {\r\n        if (this.options.wrapper !== window) {\r\n          // nested scroll offset correction\r\n          const wrapperRect = this.options.wrapper.getBoundingClientRect()\r\n          offset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top\r\n        }\r\n\r\n        const rect = node.getBoundingClientRect()\r\n\r\n        target =\r\n          (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll\r\n      }\r\n    }\r\n\r\n    if (typeof target !== 'number') return\r\n\r\n    target += offset\r\n    target = Math.round(target)\r\n\r\n    if (this.options.infinite) {\r\n      if (programmatic) {\r\n        this.targetScroll = this.animatedScroll = this.scroll\r\n      }\r\n    } else {\r\n      target = clamp(0, target, this.limit)\r\n    }\r\n\r\n    if (immediate) {\r\n      this.animatedScroll = this.targetScroll = target\r\n      this.setScroll(this.scroll)\r\n      this.reset()\r\n      onComplete?.(this)\r\n      return\r\n    }\r\n\r\n    if (!programmatic) {\r\n      if (target === this.targetScroll) return\r\n\r\n      this.targetScroll = target\r\n    }\r\n\r\n    this.animate.fromTo(this.animatedScroll, target, {\r\n      duration,\r\n      easing,\r\n      lerp,\r\n      onStart: () => {\r\n        // started\r\n        if (lock) this.isLocked = true\r\n        this.isScrolling = true\r\n      },\r\n      onUpdate: (value: number, completed: boolean) => {\r\n        this.isScrolling = true\r\n\r\n        // updated\r\n        this.velocity = value - this.animatedScroll\r\n        this.direction = Math.sign(this.velocity)\r\n\r\n        this.animatedScroll = value\r\n        this.setScroll(this.scroll)\r\n\r\n        if (programmatic) {\r\n          // wheel during programmatic should stop it\r\n          this.targetScroll = value\r\n        }\r\n\r\n        if (!completed) this.emit()\r\n\r\n        if (completed) {\r\n          this.reset()\r\n          this.emit()\r\n          onComplete?.(this)\r\n\r\n          // avoid emitting event twice\r\n          this.__preventNextScrollEvent = true\r\n          requestAnimationFrame(() => {\r\n            delete this.__preventNextScrollEvent\r\n          })\r\n        }\r\n      },\r\n    })\r\n  }\r\n\r\n  get rootElement() {\r\n    return this.options.wrapper === window\r\n      ? document.documentElement\r\n      : this.options.wrapper\r\n  }\r\n\r\n  get limit() {\r\n    if (this.options.__experimental__naiveDimensions) {\r\n      if (this.isHorizontal) {\r\n        return this.rootElement.scrollWidth - this.rootElement.clientWidth\r\n      } else {\r\n        return this.rootElement.scrollHeight - this.rootElement.clientHeight\r\n      }\r\n    } else {\r\n      return this.dimensions.limit[this.isHorizontal ? 'x' : 'y']\r\n    }\r\n  }\r\n\r\n  get isHorizontal() {\r\n    return this.options.orientation === 'horizontal'\r\n  }\r\n\r\n  get actualScroll() {\r\n    // value browser takes into account\r\n    return this.isHorizontal\r\n      ? this.rootElement.scrollLeft\r\n      : this.rootElement.scrollTop\r\n  }\r\n\r\n  get scroll() {\r\n    return this.options.infinite\r\n      ? modulo(this.animatedScroll, this.limit)\r\n      : this.animatedScroll\r\n  }\r\n\r\n  get progress() {\r\n    // avoid progress to be NaN\r\n    return this.limit === 0 ? 1 : this.scroll / this.limit\r\n  }\r\n\r\n  get isSmooth() {\r\n    return this.__isSmooth\r\n  }\r\n\r\n  private set isSmooth(value: boolean) {\r\n    if (this.__isSmooth !== value) {\r\n      this.__isSmooth = value\r\n      this.toggleClassName('lenis-smooth', value)\r\n    }\r\n  }\r\n\r\n  get isScrolling() {\r\n    return this.__isScrolling\r\n  }\r\n\r\n  private set isScrolling(value: boolean) {\r\n    if (this.__isScrolling !== value) {\r\n      this.__isScrolling = value\r\n      this.toggleClassName('lenis-scrolling', value)\r\n    }\r\n  }\r\n\r\n  get isStopped() {\r\n    return this.__isStopped\r\n  }\r\n\r\n  private set isStopped(value: boolean) {\r\n    if (this.__isStopped !== value) {\r\n      this.__isStopped = value\r\n      this.toggleClassName('lenis-stopped', value)\r\n    }\r\n  }\r\n\r\n  get isLocked() {\r\n    return this.__isLocked\r\n  }\r\n\r\n  private set isLocked(value: boolean) {\r\n    if (this.__isLocked !== value) {\r\n      this.__isLocked = value\r\n      this.toggleClassName('lenis-locked', value)\r\n    }\r\n  }\r\n\r\n  get className() {\r\n    let className = 'lenis'\r\n    if (this.isStopped) className += ' lenis-stopped'\r\n    if (this.isLocked) className += ' lenis-locked'\r\n    if (this.isScrolling) className += ' lenis-scrolling'\r\n    if (this.isSmooth) className += ' lenis-smooth'\r\n    return className\r\n  }\r\n\r\n  private toggleClassName(name: string, value: boolean) {\r\n    this.rootElement.classList.toggle(name, value)\r\n    this.emitter.emit('className change', this)\r\n  }\r\n}\r\n", "import Lenis from '@studio-freight/lenis'\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger'\n\nexport let lenisScroll = null\n\nconst smoothScroll = {\n  init(): void {\n    lenisScroll = new Lenis({\n      lerp: 0.1,\n    })\n\n    function raf(time) {\n      lenisScroll.raf(time)\n      requestAnimationFrame(raf)\n    }\n\n    requestAnimationFrame(raf)\n\n    // this.integrateScrollTrigger()\n  },\n\n  integrateScrollTrigger(): void {\n    // Optional, not needed. If used it breaks down smooth scroll on first page load, but doesn't really affect scroll performance.\n\n    gsap.registerPlugin(ScrollTrigger)\n\n    lenisScroll.on('scroll', ScrollTrigger.update)\n\n    gsap.ticker.add((time) => {\n      lenisScroll.raf(time * 1000)\n    })\n\n    gsap.ticker.lagSmoothing(0)\n  },\n}\n\nexport default smoothScroll\n"],
  "mappings": "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",
  "names": ["clamp", "min", "input", "max", "Math", "Animate", "deltaTime", "_a", "this", "isRunning", "completed", "lerp", "value", "x", "y", "to", "lambda", "dt", "t", "exp", "round", "currentTime", "linearProgress", "duration", "easedProgress", "easing", "from", "onUpdate", "stop", "onStart", "Dimensions", "constructor", "wrapper", "content", "autoResize", "debounce", "debounceValue", "resize", "onWrapperResize", "onContentResize", "window", "width", "innerWidth", "height", "innerHeight", "clientWidth", "clientHeight", "scrollHeight", "scrollWidth", "debouncedResize", "callback", "delay", "timer", "args", "arguments", "context", "clearTimeout", "setTimeout", "apply", "addEventListener", "wrapperResizeObserver", "ResizeObserver", "observe", "contentResizeObserver", "destroy", "_b", "disconnect", "removeEventListener", "limit", "Emitter", "events", "event", "callbacks", "i", "length", "cb", "push", "filter", "LINE_HEIGHT", "VirtualScroll", "element", "wheelMultiplier", "touchMultiplier", "onTouchStart", "clientX", "clientY", "targetTouches", "touchStart", "lastDelta", "emitter", "emit", "deltaX", "deltaY", "onTouchMove", "onTouchEnd", "onWheel", "deltaMode", "windowWidth", "windowHeight", "onWindowResize", "passive", "on", "Lenis", "document", "documentElement", "wheelEventsTarget", "eventsTarget", "smoothWheel", "syncTouch", "syncTouchLerp", "touchInertiaMultiplier", "pow", "infinite", "orientation", "gestureOrientation", "__experimental__naiveDimensions", "__isSmooth", "__isScrolling", "__isStopped", "__isLocked", "onVirtualScroll", "ctrlKey", "isTouch", "type", "includes", "isWheel", "options", "isStopped", "isLocked", "reset", "isClick", "isUnknownGesture", "composedPath", "slice", "indexOf", "rootElement", "find", "node", "hasAttribute", "call", "_c", "r", "classList", "_d", "contains", "_e", "preventDefault", "isSmooth", "isScrolling", "animate", "delta", "abs", "hasTouchInertia", "velocity", "scrollTo", "targetScroll", "Object", "assign", "programmatic", "onNativeScroll", "__preventNextScrollEvent", "lastScroll", "animatedScroll", "actualScroll", "direction", "sign", "lenisVersion", "body", "dimensions", "toggleClassName", "virtualScroll", "off", "scroll", "isHorizontal", "scrollLeft", "scrollTop", "start", "time", "advance", "target", "offset", "immediate", "lock", "onComplete", "force", "querySelector", "nodeType", "wrapperRect", "getBoundingClientRect", "left", "top", "rect", "setScroll", "fromTo", "requestAnimationFrame", "n", "d", "progress", "className", "name", "toggle", "lenisScroll", "smoothScroll", "Lenis", "raf", "time", "gsapWithCSS", "ScrollTrigger", "smooth_scroll_default"]
}