{"version":3,"file":"shared-lib.DD0uI2aI.mjs","names":["debounce","useRef","_Fragment","Children","v","p","y","m","I","k","L","N","R","r","C","W","z","K","V","H","X","Q","Z","n","s","a","u","h","c","d","w","b","B","E","M","P","T","x","A","j","U","S","g","c","f","s","d","h","x","l","n","t","r","o","m","y","u","l","i","t","o","a","__esmMin","window","j$2","init_npm_react_18_3_1","x$3","z$2","init_ssg_sandbox_shims","de","H$2","p$2","K$2","c$3","init_jsx_runtime","ce","motion","init_framer_CcflMUCW","addPropertyControls","yieldToMain","Link","ControlType","ComponentPresetsConsumer","AutoBreakpointVariant","QueryEngine","clamp","min","input","max","lerp","t","x","y","damp","lambda","deltaTime","modulo","n","d","debounce$1","timer","args","callback","delay","getDeltaMultiplier","deltaMode","LINE_HEIGHT","size","version","Animate","Dimensions","Emitter","listenerOptions","VirtualScroll","defaultEasing","Lenis","init_lenis","completed","linearProgress","easedProgress","lerp2","from","to","duration","easing","onStart","onUpdate","debounceValue","wrapper","content","autoResize","callbacks","event","i","length","cb","element","options","clientX","clientY","deltaX","deltaY","multiplierX","multiplierY","orientation","__experimental__naiveDimensions","syncTouch","eventsTarget","property","scroll","linkElementsUrls","node","currentUrl","anchorElementUrl","targetUrl","target","data","isTouch","isWheel","isClickOrTap","isUnknownGesture","composedPath","prevent","gestureOrientation","delta","isSyncTouch","hasTouchInertia","lastScroll","time","programmatic","force","_target","adjustedOffset","offset","wrapperRect","rect","distance","onComplete","userData","immediate","lock","value","cache","hasOverflowX","hasOverflowY","isScrollableX","isScrollableY","hasOverscrollBehaviorX","hasOverscrollBehaviorY","scrollWidth","scrollHeight","clientWidth","clientHeight","computedStyle","maxScroll","hasOverflow","isScrollable","hasOverscrollBehavior","className","debounce","removeParentSticky","addParentSticky","offsetTop","top","accumulator","offsetLeft","left","scrollTop","scrollLeft","uid","SnapElement","index","Snap","init_lenis_snap","align","width","height","entry","debounceDelay","lenis","id","map","elements","remove","snaps","align2","isHorizontal","a","b","index2","currentSnap","distanceThreshold","axis","snapIndex","prevSnapIndex","nextSnapIndex","prevSnap","distanceToPrevSnap","nextSnap","snap","Component","wrapperRef","contentRef","lenisRef","children","smooth","infinite","lenisSnap","item","intensity","l$1","child","init_Lenis","props","e","r","v$1","p$1","y$2","m$2","I$1","k$1","L$1","N$1","O","_","q","D","R$1","r$1","C$1","J","s","o","W$1","$","z$1","K$1","G","V$1","H$1","X$1","Q$1","Y","Z$1","tt","te","tr","ti","tn","ts","ta","tu","tl","th","tc","tf","u","l","h","c","td","tg","tv","ty","tp","tm","tw","tb","tI","tS","tU","tk","tT","tE","tx","tA","tP","tF","tN","t_","tq","n$1","s$2","a$1","u$2","h$2","c$2","d$2","w$1","b$1","B$1","E$1","M$1","P$1","T$1","x$2","F","A$1","j$1","tL","tB","tM","tO","tj","tD","init_T9gdzTukW_0","c$1","f$1","s$1","d$1","h$1","x$1","f","u$1","m$1","y$1","init_T9gdzTukW_1","m","g","p","N","S","w","I","v","H","R","C","T","E","L","V","X","z","A","k","W","P","Q","B","j","K","M","enumToDisplayNameFunctions","utils","__FramerMetadata__","init_T9gdzTukW","\"exports\"","\"utils\"","\"type\"","\"annotations\"","\"framerContractVersion\"","\"enumToDisplayNameFunctions\"","\"default\"","\"name\"","\"framerSlug\"","\"framerData\"","\"framerAutoSizeImages\"","\"framerColorSyntax\"","\"framerEnumToDisplayNameUtils\"","\"framerCollectionUtils\"","\"framerCollectionId\"","\"framerRecordIdKey\"","\"__FramerMetadata__\"","metadata","init_siteMetadata"],"sources":["https:/unpkg.com/lenis@1.3.19/dist/lenis.mjs","https:/unpkg.com/lenis@1.3.19/dist/lenis-snap.mjs","https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/qosszBZXoEqfEMp4XhZk/Lenis.js","https:/framerusercontent.com/modules/aW3QrE8nsYNlpyv19yp9/uvoHK7JdoOMfcZ5TC2Nj/T9gdzTukW-0.js","https:/framerusercontent.com/modules/aW3QrE8nsYNlpyv19yp9/uvoHK7JdoOMfcZ5TC2Nj/T9gdzTukW-1.js","https:/framerusercontent.com/modules/aW3QrE8nsYNlpyv19yp9/uvoHK7JdoOMfcZ5TC2Nj/T9gdzTukW.js","https:/framerusercontent.com/modules/98M6rbEgGbfcWu1IPH8W/zDawWBhi49mOI9lhgcPB/siteMetadata.js"],"sourcesContent":["// package.json\nvar version = \"1.3.19\";\n\n// packages/core/src/maths.ts\nfunction clamp(min, input, max) {\n  return Math.max(min, Math.min(input, max));\n}\nfunction lerp(x, y, t) {\n  return (1 - t) * x + t * y;\n}\nfunction damp(x, y, lambda, deltaTime) {\n  return lerp(x, y, 1 - Math.exp(-lambda * deltaTime));\n}\nfunction modulo(n, d) {\n  return (n % d + d) % d;\n}\n\n// packages/core/src/animate.ts\nvar Animate = class {\n  isRunning = false;\n  value = 0;\n  from = 0;\n  to = 0;\n  currentTime = 0;\n  // These are instanciated in the fromTo method\n  lerp;\n  duration;\n  easing;\n  onUpdate;\n  /**\n   * Advance the animation by the given delta time\n   *\n   * @param deltaTime - The time in seconds to advance the animation\n   */\n  advance(deltaTime) {\n    if (!this.isRunning) return;\n    let completed = false;\n    if (this.duration && this.easing) {\n      this.currentTime += deltaTime;\n      const linearProgress = clamp(0, this.currentTime / this.duration, 1);\n      completed = linearProgress >= 1;\n      const easedProgress = completed ? 1 : this.easing(linearProgress);\n      this.value = this.from + (this.to - this.from) * easedProgress;\n    } else if (this.lerp) {\n      this.value = damp(this.value, this.to, this.lerp * 60, deltaTime);\n      if (Math.round(this.value) === this.to) {\n        this.value = this.to;\n        completed = true;\n      }\n    } else {\n      this.value = this.to;\n      completed = true;\n    }\n    if (completed) {\n      this.stop();\n    }\n    this.onUpdate?.(this.value, completed);\n  }\n  /** Stop the animation */\n  stop() {\n    this.isRunning = false;\n  }\n  /**\n   * Set up the animation from a starting value to an ending value\n   * with optional parameters for lerping, duration, easing, and onUpdate callback\n   *\n   * @param from - The starting value\n   * @param to - The ending value\n   * @param options - Options for the animation\n   */\n  fromTo(from, to, { lerp: lerp2, duration, easing, onStart, onUpdate }) {\n    this.from = this.value = from;\n    this.to = to;\n    this.lerp = lerp2;\n    this.duration = duration;\n    this.easing = easing;\n    this.currentTime = 0;\n    this.isRunning = true;\n    onStart?.();\n    this.onUpdate = onUpdate;\n  }\n};\n\n// packages/core/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(this, args);\n    }, delay);\n  };\n}\n\n// packages/core/src/dimensions.ts\nvar Dimensions = class {\n  constructor(wrapper, content, { autoResize = true, debounce: debounceValue = 250 } = {}) {\n    this.wrapper = wrapper;\n    this.content = content;\n    if (autoResize) {\n      this.debouncedResize = debounce(this.resize, debounceValue);\n      if (this.wrapper instanceof Window) {\n        window.addEventListener(\"resize\", this.debouncedResize);\n      } else {\n        this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize);\n        this.wrapperResizeObserver.observe(this.wrapper);\n      }\n      this.contentResizeObserver = new ResizeObserver(this.debouncedResize);\n      this.contentResizeObserver.observe(this.content);\n    }\n    this.resize();\n  }\n  width = 0;\n  height = 0;\n  scrollHeight = 0;\n  scrollWidth = 0;\n  // These are instanciated in the constructor as they need information from the options\n  debouncedResize;\n  wrapperResizeObserver;\n  contentResizeObserver;\n  destroy() {\n    this.wrapperResizeObserver?.disconnect();\n    this.contentResizeObserver?.disconnect();\n    if (this.wrapper === window && this.debouncedResize) {\n      window.removeEventListener(\"resize\", this.debouncedResize);\n    }\n  }\n  resize = () => {\n    this.onWrapperResize();\n    this.onContentResize();\n  };\n  onWrapperResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.width = window.innerWidth;\n      this.height = window.innerHeight;\n    } else {\n      this.width = this.wrapper.clientWidth;\n      this.height = this.wrapper.clientHeight;\n    }\n  };\n  onContentResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.scrollHeight = this.content.scrollHeight;\n      this.scrollWidth = this.content.scrollWidth;\n    } else {\n      this.scrollHeight = this.wrapper.scrollHeight;\n      this.scrollWidth = this.wrapper.scrollWidth;\n    }\n  };\n  get limit() {\n    return {\n      x: this.scrollWidth - this.width,\n      y: this.scrollHeight - this.height\n    };\n  }\n};\n\n// packages/core/src/emitter.ts\nvar Emitter = class {\n  events = {};\n  /**\n   * Emit an event with the given data\n   * @param event Event name\n   * @param args Data to pass to the event handlers\n   */\n  emit(event, ...args) {\n    const callbacks = this.events[event] || [];\n    for (let i = 0, length = callbacks.length; i < length; i++) {\n      callbacks[i]?.(...args);\n    }\n  }\n  /**\n   * Add a callback to the event\n   * @param event Event name\n   * @param cb Callback function\n   * @returns Unsubscribe function\n   */\n  on(event, cb) {\n    if (this.events[event]) {\n      this.events[event].push(cb);\n    } else {\n      this.events[event] = [cb];\n    }\n    return () => {\n      this.events[event] = this.events[event]?.filter((i) => cb !== i);\n    };\n  }\n  /**\n   * Remove a callback from the event\n   * @param event Event name\n   * @param callback Callback function\n   */\n  off(event, callback) {\n    this.events[event] = this.events[event]?.filter((i) => callback !== i);\n  }\n  /**\n   * Remove all event listeners and clean up\n   */\n  destroy() {\n    this.events = {};\n  }\n};\n\n// packages/core/src/virtual-scroll.ts\nvar LINE_HEIGHT = 100 / 6;\nvar listenerOptions = { passive: false };\nfunction getDeltaMultiplier(deltaMode, size) {\n  if (deltaMode === 1) return LINE_HEIGHT;\n  if (deltaMode === 2) return size;\n  return 1;\n}\nvar VirtualScroll = class {\n  constructor(element, options = { wheelMultiplier: 1, touchMultiplier: 1 }) {\n    this.element = element;\n    this.options = options;\n    window.addEventListener(\"resize\", this.onWindowResize);\n    this.onWindowResize();\n    this.element.addEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.addEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.addEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.addEventListener(\"touchend\", this.onTouchEnd, listenerOptions);\n  }\n  touchStart = {\n    x: 0,\n    y: 0\n  };\n  lastDelta = {\n    x: 0,\n    y: 0\n  };\n  window = {\n    width: 0,\n    height: 0\n  };\n  emitter = new Emitter();\n  /**\n   * Add an event listener for the given event and callback\n   *\n   * @param event Event name\n   * @param callback Callback function\n   */\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  /** Remove all event listeners and clean up */\n  destroy() {\n    this.emitter.destroy();\n    window.removeEventListener(\"resize\", this.onWindowResize);\n    this.element.removeEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.removeEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchend\",\n      this.onTouchEnd,\n      listenerOptions\n    );\n  }\n  /**\n   * Event handler for 'touchstart' event\n   *\n   * @param event Touch event\n   */\n  onTouchStart = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: 0,\n      y: 0\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX: 0,\n      deltaY: 0,\n      event\n    });\n  };\n  /** Event handler for 'touchmove' event */\n  onTouchMove = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    const deltaX = -(clientX - this.touchStart.x) * this.options.touchMultiplier;\n    const deltaY = -(clientY - this.touchStart.y) * this.options.touchMultiplier;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: deltaX,\n      y: deltaY\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX,\n      deltaY,\n      event\n    });\n  };\n  onTouchEnd = (event) => {\n    this.emitter.emit(\"scroll\", {\n      deltaX: this.lastDelta.x,\n      deltaY: this.lastDelta.y,\n      event\n    });\n  };\n  /** Event handler for 'wheel' event */\n  onWheel = (event) => {\n    let { deltaX, deltaY, deltaMode } = event;\n    const multiplierX = getDeltaMultiplier(deltaMode, this.window.width);\n    const multiplierY = getDeltaMultiplier(deltaMode, this.window.height);\n    deltaX *= multiplierX;\n    deltaY *= multiplierY;\n    deltaX *= this.options.wheelMultiplier;\n    deltaY *= this.options.wheelMultiplier;\n    this.emitter.emit(\"scroll\", { deltaX, deltaY, event });\n  };\n  onWindowResize = () => {\n    this.window = {\n      width: window.innerWidth,\n      height: window.innerHeight\n    };\n  };\n};\n\n// packages/core/src/lenis.ts\nvar defaultEasing = (t) => Math.min(1, 1.001 - 2 ** (-10 * t));\nvar Lenis = class {\n  _isScrolling = false;\n  // true when scroll is animating\n  _isStopped = false;\n  // true if user should not be able to scroll - enable/disable programmatically\n  _isLocked = false;\n  // same as isStopped but enabled/disabled when scroll reaches target\n  _preventNextNativeScrollEvent = false;\n  _resetVelocityTimeout = null;\n  _rafId = null;\n  /**\n   * Whether or not the user is touching the screen\n   */\n  isTouching;\n  /**\n   * The time in ms since the lenis instance was created\n   */\n  time = 0;\n  /**\n   * User data that will be forwarded through the scroll event\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   userData: {\n   *     foo: 'bar'\n   *   }\n   * })\n   */\n  userData = {};\n  /**\n   * The last velocity of the scroll\n   */\n  lastVelocity = 0;\n  /**\n   * The current velocity of the scroll\n   */\n  velocity = 0;\n  /**\n   * The direction of the scroll\n   */\n  direction = 0;\n  /**\n   * The options passed to the lenis instance\n   */\n  options;\n  /**\n   * The target scroll value\n   */\n  targetScroll;\n  /**\n   * The animated scroll value\n   */\n  animatedScroll;\n  // These are instanciated here as they don't need information from the options\n  animate = new Animate();\n  emitter = new Emitter();\n  // These are instanciated in the constructor as they need information from the options\n  dimensions;\n  // This is not private because it's used in the Snap class\n  virtualScroll;\n  constructor({\n    wrapper = window,\n    content = document.documentElement,\n    eventsTarget = wrapper,\n    smoothWheel = true,\n    syncTouch = false,\n    syncTouchLerp = 0.075,\n    touchInertiaExponent = 1.7,\n    duration,\n    // in seconds\n    easing,\n    lerp: lerp2 = 0.1,\n    infinite = false,\n    orientation = \"vertical\",\n    // vertical, horizontal\n    gestureOrientation = orientation === \"horizontal\" ? \"both\" : \"vertical\",\n    // vertical, horizontal, both\n    touchMultiplier = 1,\n    wheelMultiplier = 1,\n    autoResize = true,\n    prevent,\n    virtualScroll,\n    overscroll = true,\n    autoRaf = false,\n    anchors = false,\n    autoToggle = false,\n    // https://caniuse.com/?search=transition-behavior\n    allowNestedScroll = false,\n    __experimental__naiveDimensions = false,\n    naiveDimensions = __experimental__naiveDimensions,\n    stopInertiaOnNavigate = false\n  } = {}) {\n    window.lenisVersion = version;\n    if (!window.lenis) {\n      window.lenis = {};\n    }\n    window.lenis.version = version;\n    if (orientation === \"horizontal\") {\n      window.lenis.horizontal = true;\n    }\n    if (syncTouch === true) {\n      window.lenis.touch = true;\n    }\n    if (!wrapper || wrapper === document.documentElement) {\n      wrapper = window;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.options = {\n      wrapper,\n      content,\n      eventsTarget,\n      smoothWheel,\n      syncTouch,\n      syncTouchLerp,\n      touchInertiaExponent,\n      duration,\n      easing,\n      lerp: lerp2,\n      infinite,\n      gestureOrientation,\n      orientation,\n      touchMultiplier,\n      wheelMultiplier,\n      autoResize,\n      prevent,\n      virtualScroll,\n      overscroll,\n      autoRaf,\n      anchors,\n      autoToggle,\n      allowNestedScroll,\n      naiveDimensions,\n      stopInertiaOnNavigate\n    };\n    this.dimensions = new Dimensions(wrapper, content, { autoResize });\n    this.updateClassName();\n    this.targetScroll = this.animatedScroll = this.actualScroll;\n    this.options.wrapper.addEventListener(\"scroll\", this.onNativeScroll);\n    this.options.wrapper.addEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    if (this.options.anchors || this.options.stopInertiaOnNavigate) {\n      this.options.wrapper.addEventListener(\n        \"click\",\n        this.onClick\n      );\n    }\n    this.options.wrapper.addEventListener(\n      \"pointerdown\",\n      this.onPointerDown\n    );\n    this.virtualScroll = new VirtualScroll(eventsTarget, {\n      touchMultiplier,\n      wheelMultiplier\n    });\n    this.virtualScroll.on(\"scroll\", this.onVirtualScroll);\n    if (this.options.autoToggle) {\n      this.checkOverflow();\n      this.rootElement.addEventListener(\"transitionend\", this.onTransitionEnd);\n    }\n    if (this.options.autoRaf) {\n      this._rafId = requestAnimationFrame(this.raf);\n    }\n  }\n  /**\n   * Destroy the lenis instance, remove all event listeners and clean up the class name\n   */\n  destroy() {\n    this.emitter.destroy();\n    this.options.wrapper.removeEventListener(\"scroll\", this.onNativeScroll);\n    this.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    this.options.wrapper.removeEventListener(\n      \"pointerdown\",\n      this.onPointerDown\n    );\n    if (this.options.anchors || this.options.stopInertiaOnNavigate) {\n      this.options.wrapper.removeEventListener(\n        \"click\",\n        this.onClick\n      );\n    }\n    this.virtualScroll.destroy();\n    this.dimensions.destroy();\n    this.cleanUpClassName();\n    if (this._rafId) {\n      cancelAnimationFrame(this._rafId);\n    }\n  }\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  off(event, callback) {\n    return this.emitter.off(event, callback);\n  }\n  onScrollEnd = (e) => {\n    if (!(e instanceof CustomEvent)) {\n      if (this.isScrolling === \"smooth\" || this.isScrolling === false) {\n        e.stopPropagation();\n      }\n    }\n  };\n  dispatchScrollendEvent = () => {\n    this.options.wrapper.dispatchEvent(\n      new CustomEvent(\"scrollend\", {\n        bubbles: this.options.wrapper === window,\n        // cancelable: false,\n        detail: {\n          lenisScrollEnd: true\n        }\n      })\n    );\n  };\n  get overflow() {\n    const property = this.isHorizontal ? \"overflow-x\" : \"overflow-y\";\n    return getComputedStyle(this.rootElement)[property];\n  }\n  checkOverflow() {\n    if ([\"hidden\", \"clip\"].includes(this.overflow)) {\n      this.internalStop();\n    } else {\n      this.internalStart();\n    }\n  }\n  onTransitionEnd = (event) => {\n    if (event.propertyName.includes(\"overflow\")) {\n      this.checkOverflow();\n    }\n  };\n  setScroll(scroll) {\n    if (this.isHorizontal) {\n      this.options.wrapper.scrollTo({ left: scroll, behavior: \"instant\" });\n    } else {\n      this.options.wrapper.scrollTo({ top: scroll, behavior: \"instant\" });\n    }\n  }\n  onClick = (event) => {\n    const path = event.composedPath();\n    const linkElements = path.filter(\n      (node) => node instanceof HTMLAnchorElement && node.href\n    );\n    const linkElementsUrls = linkElements.map(\n      (element) => new URL(element.href)\n    );\n    const currentUrl = new URL(window.location.href);\n    if (this.options.anchors) {\n      const anchorElementUrl = linkElementsUrls.find(\n        (targetUrl) => currentUrl.host === targetUrl.host && currentUrl.pathname === targetUrl.pathname && targetUrl.hash\n      );\n      if (anchorElementUrl) {\n        const options = typeof this.options.anchors === \"object\" && this.options.anchors ? this.options.anchors : void 0;\n        const target = `#${anchorElementUrl.hash.split(\"#\")[1]}`;\n        this.scrollTo(target, options);\n        return;\n      }\n    }\n    if (this.options.stopInertiaOnNavigate) {\n      const hasPageLinkElementUrl = linkElementsUrls.some(\n        (targetUrl) => currentUrl.host === targetUrl.host && currentUrl.pathname !== targetUrl.pathname\n      );\n      if (hasPageLinkElementUrl) {\n        this.reset();\n        return;\n      }\n    }\n  };\n  onPointerDown = (event) => {\n    if (event.button === 1) {\n      this.reset();\n    }\n  };\n  onVirtualScroll = (data) => {\n    if (typeof this.options.virtualScroll === \"function\" && this.options.virtualScroll(data) === false)\n      return;\n    const { deltaX, deltaY, event } = data;\n    this.emitter.emit(\"virtual-scroll\", { deltaX, deltaY, event });\n    if (event.ctrlKey) return;\n    if (event.lenisStopPropagation) return;\n    const isTouch = event.type.includes(\"touch\");\n    const isWheel = event.type.includes(\"wheel\");\n    this.isTouching = event.type === \"touchstart\" || event.type === \"touchmove\";\n    const isClickOrTap = deltaX === 0 && deltaY === 0;\n    const isTapToStop = this.options.syncTouch && isTouch && event.type === \"touchstart\" && isClickOrTap && !this.isStopped && !this.isLocked;\n    if (isTapToStop) {\n      this.reset();\n      return;\n    }\n    const isUnknownGesture = this.options.gestureOrientation === \"vertical\" && deltaY === 0 || this.options.gestureOrientation === \"horizontal\" && deltaX === 0;\n    if (isClickOrTap || isUnknownGesture) {\n      return;\n    }\n    let composedPath = event.composedPath();\n    composedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement));\n    const prevent = this.options.prevent;\n    const gestureOrientation = Math.abs(deltaX) >= Math.abs(deltaY) ? \"horizontal\" : \"vertical\";\n    if (composedPath.find(\n      (node) => node instanceof HTMLElement && (typeof prevent === \"function\" && prevent?.(node) || node.hasAttribute?.(\"data-lenis-prevent\") || gestureOrientation === \"vertical\" && node.hasAttribute?.(\"data-lenis-prevent-vertical\") || gestureOrientation === \"horizontal\" && node.hasAttribute?.(\"data-lenis-prevent-horizontal\") || isTouch && node.hasAttribute?.(\"data-lenis-prevent-touch\") || isWheel && node.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.hasNestedScroll(node, {\n        deltaX,\n        deltaY\n      }))\n    ))\n      return;\n    if (this.isStopped || this.isLocked) {\n      if (event.cancelable) {\n        event.preventDefault();\n      }\n      return;\n    }\n    const isSmooth = this.options.syncTouch && isTouch || this.options.smoothWheel && isWheel;\n    if (!isSmooth) {\n      this.isScrolling = \"native\";\n      this.animate.stop();\n      event.lenisStopPropagation = true;\n      return;\n    }\n    let delta = deltaY;\n    if (this.options.gestureOrientation === \"both\") {\n      delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX;\n    } else if (this.options.gestureOrientation === \"horizontal\") {\n      delta = deltaX;\n    }\n    if (!this.options.overscroll || this.options.infinite || this.options.wrapper !== window && this.limit > 0 && (this.animatedScroll > 0 && this.animatedScroll < this.limit || this.animatedScroll === 0 && deltaY > 0 || this.animatedScroll === this.limit && deltaY < 0)) {\n      event.lenisStopPropagation = true;\n    }\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    const isSyncTouch = isTouch && this.options.syncTouch;\n    const isTouchEnd = isTouch && event.type === \"touchend\";\n    const hasTouchInertia = isTouchEnd;\n    if (hasTouchInertia) {\n      delta = Math.sign(this.velocity) * Math.abs(this.velocity) ** this.options.touchInertiaExponent;\n    }\n    this.scrollTo(this.targetScroll + delta, {\n      programmatic: false,\n      ...isSyncTouch ? {\n        lerp: hasTouchInertia ? this.options.syncTouchLerp : 1\n      } : {\n        lerp: this.options.lerp,\n        duration: this.options.duration,\n        easing: this.options.easing\n      }\n    });\n  };\n  /**\n   * Force lenis to recalculate the dimensions\n   */\n  resize() {\n    this.dimensions.resize();\n    this.animatedScroll = this.targetScroll = this.actualScroll;\n    this.emit();\n  }\n  emit() {\n    this.emitter.emit(\"scroll\", this);\n  }\n  onNativeScroll = () => {\n    if (this._resetVelocityTimeout !== null) {\n      clearTimeout(this._resetVelocityTimeout);\n      this._resetVelocityTimeout = null;\n    }\n    if (this._preventNextNativeScrollEvent) {\n      this._preventNextNativeScrollEvent = false;\n      return;\n    }\n    if (this.isScrolling === false || this.isScrolling === \"native\") {\n      const lastScroll = this.animatedScroll;\n      this.animatedScroll = this.targetScroll = this.actualScroll;\n      this.lastVelocity = this.velocity;\n      this.velocity = this.animatedScroll - lastScroll;\n      this.direction = Math.sign(\n        this.animatedScroll - lastScroll\n      );\n      if (!this.isStopped) {\n        this.isScrolling = \"native\";\n      }\n      this.emit();\n      if (this.velocity !== 0) {\n        this._resetVelocityTimeout = setTimeout(() => {\n          this.lastVelocity = this.velocity;\n          this.velocity = 0;\n          this.isScrolling = false;\n          this.emit();\n        }, 400);\n      }\n    }\n  };\n  reset() {\n    this.isLocked = false;\n    this.isScrolling = false;\n    this.animatedScroll = this.targetScroll = this.actualScroll;\n    this.lastVelocity = this.velocity = 0;\n    this.animate.stop();\n  }\n  /**\n   * Start lenis scroll after it has been stopped\n   */\n  start() {\n    if (!this.isStopped) return;\n    if (this.options.autoToggle) {\n      this.rootElement.style.removeProperty(\"overflow\");\n      return;\n    }\n    this.internalStart();\n  }\n  internalStart() {\n    if (!this.isStopped) return;\n    this.reset();\n    this.isStopped = false;\n    this.emit();\n  }\n  /**\n   * Stop lenis scroll\n   */\n  stop() {\n    if (this.isStopped) return;\n    if (this.options.autoToggle) {\n      this.rootElement.style.setProperty(\"overflow\", \"clip\");\n      return;\n    }\n    this.internalStop();\n  }\n  internalStop() {\n    if (this.isStopped) return;\n    this.reset();\n    this.isStopped = true;\n    this.emit();\n  }\n  /**\n   * RequestAnimationFrame for lenis\n   *\n   * @param time The time in ms from an external clock like `requestAnimationFrame` or Tempus\n   */\n  raf = (time) => {\n    const deltaTime = time - (this.time || time);\n    this.time = time;\n    this.animate.advance(deltaTime * 1e-3);\n    if (this.options.autoRaf) {\n      this._rafId = requestAnimationFrame(this.raf);\n    }\n  };\n  /**\n   * Scroll to a target value\n   *\n   * @param target The target value to scroll to\n   * @param options The options for the scroll\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   offset: 100,\n   *   duration: 1,\n   *   easing: (t) => 1 - Math.cos((t * Math.PI) / 2),\n   *   lerp: 0.1,\n   *   onStart: () => {\n   *     console.log('onStart')\n   *   },\n   *   onComplete: () => {\n   *     console.log('onComplete')\n   *   },\n   * })\n   */\n  scrollTo(_target, {\n    offset = 0,\n    immediate = false,\n    lock = false,\n    programmatic = true,\n    // called from outside of the class\n    lerp: lerp2 = programmatic ? this.options.lerp : void 0,\n    duration = programmatic ? this.options.duration : void 0,\n    easing = programmatic ? this.options.easing : void 0,\n    onStart,\n    onComplete,\n    force = false,\n    // scroll even if stopped\n    userData\n  } = {}) {\n    if ((this.isStopped || this.isLocked) && !force) return;\n    let target = _target;\n    let adjustedOffset = offset;\n    if (typeof target === \"string\" && [\"top\", \"left\", \"start\", \"#\"].includes(target)) {\n      target = 0;\n    } else if (typeof target === \"string\" && [\"bottom\", \"right\", \"end\"].includes(target)) {\n      target = this.limit;\n    } else {\n      let node = null;\n      if (typeof target === \"string\") {\n        node = document.querySelector(target);\n        if (!node) {\n          if (target === \"#top\") {\n            target = 0;\n          } else {\n            console.warn(\"Lenis: Target not found\", target);\n          }\n        }\n      } else if (target instanceof HTMLElement && target?.nodeType) {\n        node = target;\n      }\n      if (node) {\n        if (this.options.wrapper !== window) {\n          const wrapperRect = this.rootElement.getBoundingClientRect();\n          adjustedOffset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top;\n        }\n        const rect = node.getBoundingClientRect();\n        target = (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll;\n      }\n    }\n    if (typeof target !== \"number\") return;\n    target += adjustedOffset;\n    target = Math.round(target);\n    if (this.options.infinite) {\n      if (programmatic) {\n        this.targetScroll = this.animatedScroll = this.scroll;\n        const distance = target - this.animatedScroll;\n        if (distance > this.limit / 2) {\n          target -= this.limit;\n        } else if (distance < -this.limit / 2) {\n          target += this.limit;\n        }\n      }\n    } else {\n      target = clamp(0, target, this.limit);\n    }\n    if (target === this.targetScroll) {\n      onStart?.(this);\n      onComplete?.(this);\n      return;\n    }\n    this.userData = userData ?? {};\n    if (immediate) {\n      this.animatedScroll = this.targetScroll = target;\n      this.setScroll(this.scroll);\n      this.reset();\n      this.preventNextNativeScrollEvent();\n      this.emit();\n      onComplete?.(this);\n      this.userData = {};\n      requestAnimationFrame(() => {\n        this.dispatchScrollendEvent();\n      });\n      return;\n    }\n    if (!programmatic) {\n      this.targetScroll = target;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.animate.fromTo(this.animatedScroll, target, {\n      duration,\n      easing,\n      lerp: lerp2,\n      onStart: () => {\n        if (lock) this.isLocked = true;\n        this.isScrolling = \"smooth\";\n        onStart?.(this);\n      },\n      onUpdate: (value, completed) => {\n        this.isScrolling = \"smooth\";\n        this.lastVelocity = this.velocity;\n        this.velocity = value - this.animatedScroll;\n        this.direction = Math.sign(this.velocity);\n        this.animatedScroll = value;\n        this.setScroll(this.scroll);\n        if (programmatic) {\n          this.targetScroll = value;\n        }\n        if (!completed) this.emit();\n        if (completed) {\n          this.reset();\n          this.emit();\n          onComplete?.(this);\n          this.userData = {};\n          requestAnimationFrame(() => {\n            this.dispatchScrollendEvent();\n          });\n          this.preventNextNativeScrollEvent();\n        }\n      }\n    });\n  }\n  preventNextNativeScrollEvent() {\n    this._preventNextNativeScrollEvent = true;\n    requestAnimationFrame(() => {\n      this._preventNextNativeScrollEvent = false;\n    });\n  }\n  hasNestedScroll(node, { deltaX, deltaY }) {\n    const time = Date.now();\n    if (!node._lenis) node._lenis = {};\n    const cache = node._lenis;\n    let hasOverflowX;\n    let hasOverflowY;\n    let isScrollableX;\n    let isScrollableY;\n    let hasOverscrollBehaviorX;\n    let hasOverscrollBehaviorY;\n    let scrollWidth;\n    let scrollHeight;\n    let clientWidth;\n    let clientHeight;\n    if (time - (cache.time ?? 0) > 2e3) {\n      cache.time = Date.now();\n      const computedStyle = window.getComputedStyle(node);\n      cache.computedStyle = computedStyle;\n      hasOverflowX = [\"auto\", \"overlay\", \"scroll\"].includes(\n        computedStyle.overflowX\n      );\n      hasOverflowY = [\"auto\", \"overlay\", \"scroll\"].includes(\n        computedStyle.overflowY\n      );\n      hasOverscrollBehaviorX = [\"auto\"].includes(\n        computedStyle.overscrollBehaviorX\n      );\n      hasOverscrollBehaviorY = [\"auto\"].includes(\n        computedStyle.overscrollBehaviorY\n      );\n      cache.hasOverflowX = hasOverflowX;\n      cache.hasOverflowY = hasOverflowY;\n      if (!(hasOverflowX || hasOverflowY)) return false;\n      scrollWidth = node.scrollWidth;\n      scrollHeight = node.scrollHeight;\n      clientWidth = node.clientWidth;\n      clientHeight = node.clientHeight;\n      isScrollableX = scrollWidth > clientWidth;\n      isScrollableY = scrollHeight > clientHeight;\n      cache.isScrollableX = isScrollableX;\n      cache.isScrollableY = isScrollableY;\n      cache.scrollWidth = scrollWidth;\n      cache.scrollHeight = scrollHeight;\n      cache.clientWidth = clientWidth;\n      cache.clientHeight = clientHeight;\n      cache.hasOverscrollBehaviorX = hasOverscrollBehaviorX;\n      cache.hasOverscrollBehaviorY = hasOverscrollBehaviorY;\n    } else {\n      isScrollableX = cache.isScrollableX;\n      isScrollableY = cache.isScrollableY;\n      hasOverflowX = cache.hasOverflowX;\n      hasOverflowY = cache.hasOverflowY;\n      scrollWidth = cache.scrollWidth;\n      scrollHeight = cache.scrollHeight;\n      clientWidth = cache.clientWidth;\n      clientHeight = cache.clientHeight;\n      hasOverscrollBehaviorX = cache.hasOverscrollBehaviorX;\n      hasOverscrollBehaviorY = cache.hasOverscrollBehaviorY;\n    }\n    if (!(hasOverflowX && isScrollableX || hasOverflowY && isScrollableY)) {\n      return false;\n    }\n    const orientation = Math.abs(deltaX) >= Math.abs(deltaY) ? \"horizontal\" : \"vertical\";\n    let scroll;\n    let maxScroll;\n    let delta;\n    let hasOverflow;\n    let isScrollable;\n    let hasOverscrollBehavior;\n    if (orientation === \"horizontal\") {\n      scroll = Math.round(node.scrollLeft);\n      maxScroll = scrollWidth - clientWidth;\n      delta = deltaX;\n      hasOverflow = hasOverflowX;\n      isScrollable = isScrollableX;\n      hasOverscrollBehavior = hasOverscrollBehaviorX;\n    } else if (orientation === \"vertical\") {\n      scroll = Math.round(node.scrollTop);\n      maxScroll = scrollHeight - clientHeight;\n      delta = deltaY;\n      hasOverflow = hasOverflowY;\n      isScrollable = isScrollableY;\n      hasOverscrollBehavior = hasOverscrollBehaviorY;\n    } else {\n      return false;\n    }\n    if (!hasOverscrollBehavior && (scroll >= maxScroll || scroll <= 0)) {\n      return true;\n    }\n    const willScroll = delta > 0 ? scroll < maxScroll : scroll > 0;\n    return willScroll && hasOverflow && isScrollable;\n  }\n  /**\n   * The root element on which lenis is instanced\n   */\n  get rootElement() {\n    return this.options.wrapper === window ? document.documentElement : this.options.wrapper;\n  }\n  /**\n   * The limit which is the maximum scroll value\n   */\n  get limit() {\n    if (this.options.naiveDimensions) {\n      if (this.isHorizontal) {\n        return this.rootElement.scrollWidth - this.rootElement.clientWidth;\n      }\n      return this.rootElement.scrollHeight - this.rootElement.clientHeight;\n    }\n    return this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\n  }\n  /**\n   * Whether or not the scroll is horizontal\n   */\n  get isHorizontal() {\n    return this.options.orientation === \"horizontal\";\n  }\n  /**\n   * The actual scroll value\n   */\n  get actualScroll() {\n    const wrapper = this.options.wrapper;\n    return this.isHorizontal ? wrapper.scrollX ?? wrapper.scrollLeft : wrapper.scrollY ?? wrapper.scrollTop;\n  }\n  /**\n   * The current scroll value\n   */\n  get scroll() {\n    return this.options.infinite ? modulo(this.animatedScroll, this.limit) : this.animatedScroll;\n  }\n  /**\n   * The progress of the scroll relative to the limit\n   */\n  get progress() {\n    return this.limit === 0 ? 1 : this.scroll / this.limit;\n  }\n  /**\n   * Current scroll state\n   */\n  get isScrolling() {\n    return this._isScrolling;\n  }\n  set isScrolling(value) {\n    if (this._isScrolling !== value) {\n      this._isScrolling = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is stopped\n   */\n  get isStopped() {\n    return this._isStopped;\n  }\n  set isStopped(value) {\n    if (this._isStopped !== value) {\n      this._isStopped = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is locked\n   */\n  get isLocked() {\n    return this._isLocked;\n  }\n  set isLocked(value) {\n    if (this._isLocked !== value) {\n      this._isLocked = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is smooth scrolling\n   */\n  get isSmooth() {\n    return this.isScrolling === \"smooth\";\n  }\n  /**\n   * The class name applied to the wrapper element\n   */\n  get className() {\n    let className = \"lenis\";\n    if (this.options.autoToggle) className += \" lenis-autoToggle\";\n    if (this.isStopped) className += \" lenis-stopped\";\n    if (this.isLocked) className += \" lenis-locked\";\n    if (this.isScrolling) className += \" lenis-scrolling\";\n    if (this.isScrolling === \"smooth\") className += \" lenis-smooth\";\n    return className;\n  }\n  updateClassName() {\n    this.cleanUpClassName();\n    this.rootElement.className = `${this.rootElement.className} ${this.className}`.trim();\n  }\n  cleanUpClassName() {\n    this.rootElement.className = this.rootElement.className.replace(/lenis(-\\w+)?/g, \"\").trim();\n  }\n};\nexport {\n  Lenis as default\n};\n//# sourceMappingURL=lenis.mjs.map","// packages/snap/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(this, args);\n    }, delay);\n  };\n}\n\n// packages/snap/src/element.ts\nfunction removeParentSticky(element) {\n  const position = getComputedStyle(element).position;\n  const isSticky = position === \"sticky\";\n  if (isSticky) {\n    element.style.setProperty(\"position\", \"static\");\n    element.dataset.sticky = \"true\";\n  }\n  if (element.offsetParent) {\n    removeParentSticky(element.offsetParent);\n  }\n}\nfunction addParentSticky(element) {\n  if (element?.dataset?.sticky === \"true\") {\n    element.style.removeProperty(\"position\");\n    delete element.dataset.sticky;\n  }\n  if (element.offsetParent) {\n    addParentSticky(element.offsetParent);\n  }\n}\nfunction offsetTop(element, accumulator = 0) {\n  const top = accumulator + element.offsetTop;\n  if (element.offsetParent) {\n    return offsetTop(element.offsetParent, top);\n  }\n  return top;\n}\nfunction offsetLeft(element, accumulator = 0) {\n  const left = accumulator + element.offsetLeft;\n  if (element.offsetParent) {\n    return offsetLeft(element.offsetParent, left);\n  }\n  return left;\n}\nfunction scrollTop(element, accumulator = 0) {\n  const top = accumulator + element.scrollTop;\n  if (element.offsetParent) {\n    return scrollTop(element.offsetParent, top);\n  }\n  return top + window.scrollY;\n}\nfunction scrollLeft(element, accumulator = 0) {\n  const left = accumulator + element.scrollLeft;\n  if (element.offsetParent) {\n    return scrollLeft(element.offsetParent, left);\n  }\n  return left + window.scrollX;\n}\nvar SnapElement = class {\n  element;\n  options;\n  align;\n  // @ts-expect-error\n  rect = {};\n  wrapperResizeObserver;\n  resizeObserver;\n  debouncedWrapperResize;\n  constructor(element, {\n    align = [\"start\"],\n    ignoreSticky = true,\n    ignoreTransform = false\n  } = {}) {\n    this.element = element;\n    this.options = { align, ignoreSticky, ignoreTransform };\n    this.align = [align].flat();\n    this.debouncedWrapperResize = debounce(this.onWrapperResize, 500);\n    this.wrapperResizeObserver = new ResizeObserver(this.debouncedWrapperResize);\n    this.wrapperResizeObserver.observe(document.body);\n    this.onWrapperResize();\n    this.resizeObserver = new ResizeObserver(this.onResize);\n    this.resizeObserver.observe(this.element);\n    this.setRect({\n      width: this.element.offsetWidth,\n      height: this.element.offsetHeight\n    });\n  }\n  destroy() {\n    this.wrapperResizeObserver.disconnect();\n    this.resizeObserver.disconnect();\n  }\n  setRect({\n    top,\n    left,\n    width,\n    height,\n    element\n  } = {}) {\n    top = top ?? this.rect.top;\n    left = left ?? this.rect.left;\n    width = width ?? this.rect.width;\n    height = height ?? this.rect.height;\n    element = element ?? this.rect.element;\n    if (top === this.rect.top && left === this.rect.left && width === this.rect.width && height === this.rect.height && element === this.rect.element)\n      return;\n    this.rect.top = top;\n    this.rect.y = top;\n    this.rect.width = width;\n    this.rect.height = height;\n    this.rect.left = left;\n    this.rect.x = left;\n    this.rect.bottom = top + height;\n    this.rect.right = left + width;\n  }\n  onWrapperResize = () => {\n    let top;\n    let left;\n    if (this.options.ignoreSticky) removeParentSticky(this.element);\n    if (this.options.ignoreTransform) {\n      top = offsetTop(this.element);\n      left = offsetLeft(this.element);\n    } else {\n      const rect = this.element.getBoundingClientRect();\n      top = rect.top + scrollTop(this.element);\n      left = rect.left + scrollLeft(this.element);\n    }\n    if (this.options.ignoreSticky) addParentSticky(this.element);\n    this.setRect({ top, left });\n  };\n  onResize = ([entry]) => {\n    if (!entry?.borderBoxSize[0]) return;\n    const width = entry.borderBoxSize[0].inlineSize;\n    const height = entry.borderBoxSize[0].blockSize;\n    this.setRect({ width, height });\n  };\n};\n\n// packages/snap/src/uid.ts\nvar index = 0;\nfunction uid() {\n  return index++;\n}\n\n// packages/snap/src/snap.ts\nvar Snap = class {\n  constructor(lenis, {\n    type = \"proximity\",\n    lerp,\n    easing,\n    duration,\n    distanceThreshold = \"50%\",\n    // useless when type is \"mandatory\"\n    debounce: debounceDelay = 500,\n    onSnapStart,\n    onSnapComplete\n  } = {}) {\n    this.lenis = lenis;\n    if (!window.lenis) {\n      window.lenis = {};\n    }\n    window.lenis.snap = true;\n    this.options = {\n      type,\n      lerp,\n      easing,\n      duration,\n      distanceThreshold,\n      debounce: debounceDelay,\n      onSnapStart,\n      onSnapComplete\n    };\n    this.onWindowResize();\n    window.addEventListener(\"resize\", this.onWindowResize);\n    this.onSnapDebounced = debounce(\n      this.onSnap,\n      this.options.debounce\n    );\n    this.lenis.on(\"virtual-scroll\", this.onSnapDebounced);\n  }\n  options;\n  elements = /* @__PURE__ */ new Map();\n  snaps = /* @__PURE__ */ new Map();\n  viewport = {\n    width: window.innerWidth,\n    height: window.innerHeight\n  };\n  isStopped = false;\n  onSnapDebounced;\n  currentSnapIndex;\n  /**\n   * Destroy the snap instance\n   */\n  destroy() {\n    this.lenis.off(\"virtual-scroll\", this.onSnapDebounced);\n    window.removeEventListener(\"resize\", this.onWindowResize);\n    this.elements.forEach((element) => {\n      element.destroy();\n    });\n  }\n  /**\n   * Start the snap after it has been stopped\n   */\n  start() {\n    this.isStopped = false;\n  }\n  /**\n   * Stop the snap\n   */\n  stop() {\n    this.isStopped = true;\n  }\n  /**\n   * Add a snap to the snap instance\n   *\n   * @param value The value to snap to\n   * @param userData User data that will be forwarded through the snap event\n   * @returns Unsubscribe function\n   */\n  add(value) {\n    const id = uid();\n    this.snaps.set(id, { value });\n    return () => this.snaps.delete(id);\n  }\n  /**\n   * Add an element to the snap instance\n   *\n   * @param element The element to add\n   * @param options The options for the element\n   * @returns Unsubscribe function\n   */\n  addElement(element, options = {}) {\n    const id = uid();\n    this.elements.set(id, new SnapElement(element, options));\n    return () => this.elements.delete(id);\n  }\n  addElements(elements, options = {}) {\n    const map = [...elements].map(\n      (element) => this.addElement(element, options)\n    );\n    return () => {\n      map.forEach((remove) => {\n        remove();\n      });\n    };\n  }\n  onWindowResize = () => {\n    this.viewport.width = window.innerWidth;\n    this.viewport.height = window.innerHeight;\n  };\n  computeSnaps = () => {\n    const { isHorizontal } = this.lenis;\n    let snaps = [...this.snaps.values()];\n    this.elements.forEach(({ rect, align }) => {\n      let value;\n      align.forEach((align2) => {\n        if (align2 === \"start\") {\n          value = rect.top;\n        } else if (align2 === \"center\") {\n          value = isHorizontal ? rect.left + rect.width / 2 - this.viewport.width / 2 : rect.top + rect.height / 2 - this.viewport.height / 2;\n        } else if (align2 === \"end\") {\n          value = isHorizontal ? rect.left + rect.width - this.viewport.width : rect.top + rect.height - this.viewport.height;\n        }\n        if (typeof value === \"number\") {\n          snaps.push({ value: Math.ceil(value) });\n        }\n      });\n    });\n    snaps = snaps.sort((a, b) => Math.abs(a.value) - Math.abs(b.value));\n    return snaps;\n  };\n  previous() {\n    this.goTo((this.currentSnapIndex ?? 0) - 1);\n  }\n  next() {\n    this.goTo((this.currentSnapIndex ?? 0) + 1);\n  }\n  goTo(index2) {\n    const snaps = this.computeSnaps();\n    if (snaps.length === 0) return;\n    this.currentSnapIndex = Math.max(0, Math.min(index2, snaps.length - 1));\n    const currentSnap = snaps[this.currentSnapIndex];\n    if (currentSnap === void 0) return;\n    this.lenis.scrollTo(currentSnap.value, {\n      duration: this.options.duration,\n      easing: this.options.easing,\n      lerp: this.options.lerp,\n      lock: this.options.type === \"lock\",\n      userData: { initiator: \"snap\" },\n      onStart: () => {\n        this.options.onSnapStart?.({\n          index: this.currentSnapIndex,\n          ...currentSnap\n        });\n      },\n      onComplete: () => {\n        this.options.onSnapComplete?.({\n          index: this.currentSnapIndex,\n          ...currentSnap\n        });\n      }\n    });\n  }\n  get distanceThreshold() {\n    let distanceThreshold = Number.POSITIVE_INFINITY;\n    if (this.options.type === \"mandatory\") return Number.POSITIVE_INFINITY;\n    const { isHorizontal } = this.lenis;\n    const axis = isHorizontal ? \"width\" : \"height\";\n    if (typeof this.options.distanceThreshold === \"string\" && this.options.distanceThreshold.endsWith(\"%\")) {\n      distanceThreshold = Number(this.options.distanceThreshold.replace(\"%\", \"\")) / 100 * this.viewport[axis];\n    } else if (typeof this.options.distanceThreshold === \"number\") {\n      distanceThreshold = this.options.distanceThreshold;\n    } else {\n      distanceThreshold = this.viewport[axis];\n    }\n    return distanceThreshold;\n  }\n  onSnap = (e) => {\n    if (this.isStopped) return;\n    if (e.event.type === \"touchmove\") return;\n    if (this.options.type === \"lock\" && this.lenis.userData?.initiator === \"snap\")\n      return;\n    let { scroll, isHorizontal } = this.lenis;\n    const delta = isHorizontal ? e.deltaX : e.deltaY;\n    scroll = Math.ceil(this.lenis.scroll + delta);\n    const snaps = this.computeSnaps();\n    if (snaps.length === 0) return;\n    let snapIndex;\n    const prevSnapIndex = snaps.findLastIndex(({ value }) => value < scroll);\n    const nextSnapIndex = snaps.findIndex(({ value }) => value > scroll);\n    if (this.options.type === \"lock\") {\n      if (delta > 0) {\n        snapIndex = nextSnapIndex;\n      } else if (delta < 0) {\n        snapIndex = prevSnapIndex;\n      }\n    } else {\n      const prevSnap = snaps[prevSnapIndex];\n      const distanceToPrevSnap = prevSnap ? Math.abs(scroll - prevSnap.value) : Number.POSITIVE_INFINITY;\n      const nextSnap = snaps[nextSnapIndex];\n      const distanceToNextSnap = nextSnap ? Math.abs(scroll - nextSnap.value) : Number.POSITIVE_INFINITY;\n      snapIndex = distanceToPrevSnap < distanceToNextSnap ? prevSnapIndex : nextSnapIndex;\n    }\n    if (snapIndex === void 0) return;\n    if (snapIndex === -1) return;\n    snapIndex = Math.max(0, Math.min(snapIndex, snaps.length - 1));\n    const snap = snaps[snapIndex];\n    const distance = Math.abs(scroll - snap.value);\n    if (distance <= this.distanceThreshold) {\n      this.goTo(snapIndex);\n    }\n  };\n  resize() {\n    this.elements.forEach((element) => {\n      element.onWrapperResize();\n    });\n  }\n};\nexport {\n  Snap as default\n};\n//# sourceMappingURL=lenis-snap.mjs.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"https://unpkg.com/lenis@1.3.19/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.19/dist/lenis-snap.mjs\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,infinite,orientation,intensity,children,snap}){const wrapperRef=useRef();const contentRef=useRef();const lenisRef=useRef();useEffect(()=>{if(children&&(!wrapperRef.current||!contentRef.current))return;if(wrapperRef.current&&contentRef.current){if(orientation===\"horizontal\"){wrapperRef.current.style.setProperty(\"overflowX\",\"auto\");}else{wrapperRef.current.style.setProperty(\"overflowY\",\"auto\");}}const lenis=new Lenis({smoothWheel:smooth,// duration: intensity / 10,\ninfinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\",stopInertiaOnNavigate:true});lenisRef.current=lenis;let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=document.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{if(lenis)lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[smooth,infinite,orientation,intensity,children,snap]);// useEffect(() => {\n//     function onClick(event: PointerEvent | MouseEvent) {\n//         const path = event.composedPath()\n//         const pageLink = path.find(\n//             (node) =>\n//                 node instanceof HTMLAnchorElement &&\n//                 (node.getAttribute(\"href\")?.startsWith(\"./\") ||\n//                     node.getAttribute(\"href\")?.startsWith(\"../\"))\n//         ) as HTMLAnchorElement | undefined\n//         if (pageLink) {\n//             if (lenisRef.current) {\n//                 lenisRef.current.reset()\n//             }\n//         }\n//     }\n//     window.addEventListener(\"click\", onClick)\n//     return () => {\n//         window.removeEventListener(\"click\", onClick)\n//     }\n// }, [])\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.19/dist/lenis.css\",rel:\"stylesheet\"}),children&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:orientation===\"horizontal\"?{overflowX:\"auto\",width:\"100%\"}:{overflowY:\"auto\",height:\"100%\"},children:/*#__PURE__*/_jsx(\"div\",{ref:contentRef,style:{width:\"100%\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}}):child)})})})]});}Component.displayName=\"Lenis\";addPropertyControls(Component,{smooth:{type:ControlType.Boolean,title:\"Smooth\",defaultValue:true},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:12,step:1,min:1,max:100,hidden(props){return props.smooth===false;},description:\"This will be ignored on mobile.\"},infinite:{type:ControlType.Boolean,title:\"Infinite\",defaultValue:false,hidden(props){return props.smooth===false;}},orientation:{type:ControlType.Enum,defaultValue:\"Vertical\",displaySegmentedControl:true,options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],hidden(props){return props.smooth===false;}},children:{type:ControlType.ComponentInstance,title:\"Content\"},snap:{type:ControlType.Object,optional:true,description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\",controls:{type:{type:ControlType.Enum,defaultValue:\"proximity\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"proximity\",\"mandatory\",\"lock\"],optionTitles:[\"Proximity\",\"Mandatory\",\"Lock\"]},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,unit:\"%\",hidden:props=>{return props.snap.type===\"mandatory\";}},snaps:{type:ControlType.Array,control:{type:ControlType.Object,controls:{target:{title:\"Target\",type:ControlType.ScrollSectionRef},align:{type:ControlType.Enum,defaultValue:\"center\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"start\",\"center\",\"end\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"]}}}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Component\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t;}var e,r,i=Object.create,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,l=(t,e)=>function(){try{return e||(0,t[o(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},h=(t,e,r,i)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let a of o(e))u.call(t,a)||a===r||n(t,a,{get:()=>e[a],enumerable:!(i=s(e,a))||i.enumerable});return t;},c=(t,e,r)=>(r=null!=t?i(a(t)):{},h(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !e&&t&&t.__esModule?r:n(r,\"default\",{value:t,enumerable:!0}),t)),f=l({\"../../../node_modules/dataloader/index.js\"(t,e){var r,i=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return n;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){o(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!a(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));o(e);for(var r=0;r<e.callbacks.length;r++){var i=t[r];i instanceof Error?e.callbacks[r].reject(i):e.callbacks[r].resolve(i);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,i=this._cacheKeyFn(t);if(r){var n=r.get(i);if(n){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(n);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(i,l),l;},e.loadMany=function(t){if(!a(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var i,n=this._cacheKeyFn(t);void 0===r.get(n)&&(e instanceof Error?(i=Promise.reject(e)).catch(function(){}):i=Promise.resolve(e),r.set(n,i));}return this;},t;}(),n=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){o(e);for(var i=0;i<e.keys.length;i++)t.clear(e.keys[i]),e.callbacks[i].reject(r);}function o(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function a(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=i;}}),d=c(f(),1);import{yieldToMain as g}from\"framer\";// ../../shared/src/yield.ts\nfunction v(t){return\"function\"==typeof t?t():t;}var y={background:0,\"user-visible\":1,\"user-blocking\":2};function p(t,e){return y[t]>y[e];}// ../../library/src/utils/schedulerPriority.ts\nfunction m(t){let e;for(let r of t){let t=v(r);if((void 0===e||p(t,e))&&(e=t),\"user-blocking\"===e)break;}return e;}// src/code-generation/components/cms/bundled/BufferReader.ts\nvar w={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},b=(e=class e{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=w.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=w.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=w.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=w.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=w.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=w.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=w.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=w.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=w.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=w.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,i=this.bytes.subarray(e,r);return this.offset=r,i;}readString(){let t=this.readUint32(),r=this.readBytes(t);return e.textDecoder.decode(r);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(e){t(this,\"bytes\",void 0),t(this,\"offset\",0),t(this,\"view\",void 0),this.bytes=e,this.view=I(this.bytes);}},// TextDecoder has no per-decode state unless streaming is enabled. Reusing one class-owned decoder\n// avoids constructing one for every CMS item, where each item gets its own BufferReader.\nt(e,\"textDecoder\",new TextDecoder),e);function I(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as S,yieldToMain as U}from\"framer\";// src/code-generation/components/cms/bundled/assert.ts\nfunction k(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function L(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar B=1024,E=1.5,M=t=>2**t-1,P=t=>-(2**(t-1)),T=t=>2**(t-1)-1,x={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:P(8),Int16:P(16),Int32:P(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},F={Uint8:M(8),Uint16:M(16),Uint32:M(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:T(8),Int16:T(16),Int32:T(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function N(t,e,r,i){k(t>=e,t,\"outside lower bound for\",i),k(t<=r,t,\"outside upper bound for\",i);}var A=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*E)+t);r.set(this.bytes),this.bytes=r,this.view=I(r);}writeUint8(t){N(t,x.Uint8,F.Uint8,\"Uint8\");let e=w.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){N(t,x.Uint16,F.Uint16,\"Uint16\");let e=w.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){N(t,x.Uint32,F.Uint32,\"Uint32\");let e=w.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){N(t,x.Uint64,F.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){N(t,x.BigUint64,F.BigUint64,\"BigUint64\");let e=w.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){N(t,x.Int8,F.Int8,\"Int8\");let e=w.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){N(t,x.Int16,F.Int16,\"Int16\");let e=w.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){N(t,x.Int32,F.Int32,\"Int32\");let e=w.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){N(t,x.Int64,F.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){N(t,x.BigInt64,F.BigInt64,\"BigInt64\");let e=w.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=w.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=w.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){t(this,\"offset\",0),t(this,\"bytes\",new Uint8Array(B)),t(this,\"view\",I(this.bytes)),t(this,\"encoder\",new TextEncoder),t(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction O(t){return\"string\"==typeof t;}function _(t){return Number.isFinite(t);}function q(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar j=class e{static fromString(t){let[r,i,n]=t.split(\"/\").map(Number);return k(_(r),\"Invalid chunkId\"),k(_(i),\"Invalid offset\"),k(_(n),\"Invalid length\"),new e(r,i,n);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(t){let r=t.readUint16(),i=t.readUint32(),n=t.readUint32();return new e(r,i,n);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(k(this.length===t.length),0);}constructor(e,r,i){t(this,\"chunkId\",void 0),t(this,\"offset\",void 0),t(this,\"length\",void 0),this.chunkId=e,this.offset=r,this.length=i;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nfunction D(t){if(q(t))return 0/* Null */;switch(t.type){case\"array\"/* Array */:return 1/* Array */;case\"boolean\"/* Boolean */:return 2/* Boolean */;case\"color\"/* Color */:return 3/* Color */;case\"date\"/* Date */:return 4/* Date */;case\"enum\"/* Enum */:return 5/* Enum */;case\"file\"/* File */:return 6/* File */;case\"responsiveimage\"/* ResponsiveImage */:return 10/* ResponsiveImage */;case\"link\"/* Link */:return 7/* Link */;case\"number\"/* Number */:return 8/* Number */;case\"object\"/* Object */:return 9/* Object */;case\"richtext\"/* RichText */:return 11/* RichText */;case\"string\"/* String */:return 12/* String */;case\"vectorsetitem\"/* VectorSetItem */:return 13/* VectorSetItem */;default:L(t);}}function R(t){let e=t.readUint16(),i=[];for(let n=0;n<e;n++){let e=r.read(t);i.push(e);}return{type:\"array\"/* Array */,value:i};}function C(t,e){for(let i of(t.writeUint16(e.value.length),e.value))r.write(t,i);}function J(t,e,i){let n=t.value.length,s=e.value.length;if(n<s)return -1;if(n>s)return 1;for(let s=0;s<n;s++){let n=t.value[s],o=e.value[s],a=r.compare(n,o,i);if(0!==a)return a;}return 0;}function W(t){return{type:\"boolean\"/* Boolean */,value:0!==t.readUint8()};}function $(t,e){t.writeUint8(e.value?1:0);}function z(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function K(t){return{type:\"color\"/* Color */,value:t.readString()};}function G(t,e){t.writeString(e.value);}function V(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function H(t){let e=t.readInt64(),r=new Date(e);return{type:\"date\"/* Date */,value:r.toISOString()};}function X(t,e){let r=new Date(e.value),i=r.getTime();t.writeInt64(i);}function Q(t,e){let r=new Date(t.value),i=new Date(e.value);return r<i?-1:r>i?1:0;}function Y(t){return{type:\"enum\"/* Enum */,value:t.readString()};}function Z(t,e){t.writeString(e.value);}function tt(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function te(t){return{type:\"file\"/* File */,value:t.readString()};}function tr(t,e){t.writeString(e.value);}function ti(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function tn(t){return{type:\"link\"/* Link */,value:t.readJson()};}function ts(t,e){t.writeJson(e.value);}function to(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function ta(t){return{type:\"number\"/* Number */,value:t.readFloat64()};}function tu(t,e){t.writeFloat64(e.value);}function tl(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function th(t){let e=t.readUint16(),i={};for(let n=0;n<e;n++){let e=t.readString();i[e]=r.read(t);}return{type:\"object\"/* Object */,value:i};}function tc(t,e){let i=Object.entries(e.value);for(let[e,n]of(t.writeUint16(i.length),i))t.writeString(e),r.write(t,n);}function tf(t,e,i){let n=Object.keys(t.value).sort(),s=Object.keys(e.value).sort();if(n.length<s.length)return -1;if(n.length>s.length)return 1;for(let o=0;o<n.length;o++){let a=n[o],u=s[o];if(a<u)return -1;if(a>u)return 1;let l=t.value[a]??null,h=e.value[u]??null,c=r.compare(l,h,i);if(0!==c)return c;}return 0;}function td(t){return{type:\"responsiveimage\"/* ResponsiveImage */,value:t.readJson()};}function tg(t,e){t.writeJson(e.value);}function tv(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function ty(t){let e=t.readInt8();if(0===e)return{type:\"richtext\"/* RichText */,value:t.readUint32()};if(1===e)return{type:\"richtext\"/* RichText */,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tp(t,e){if(_(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(O(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tm(t,e){let r=t.value,i=e.value;if(_(r)&&_(i)||O(r)&&O(i))return r<i?-1:r>i?1:0;throw Error(\"Invalid rich text pointer\");}function tw(t){return{type:\"string\"/* String */,value:t.readString()};}function tb(t,e){t.writeString(e.value);}function tI(t,e,r){let i=t.value,n=e.value;return(0/* CaseInsensitive */===r.type&&(i=t.value.toLowerCase(),n=e.value.toLowerCase()),i<n)?-1:i>n?1:0;}function tS(t){return{type:\"vectorsetitem\"/* VectorSetItem */,value:t.readUint32()};}function tU(t,e){t.writeUint32(e.value);}function tk(t,e){let r=t.value,i=e.value;return r<i?-1:r>i?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return R(t);case 2/* Boolean */:return W(t);case 3/* Color */:return K(t);case 4/* Date */:return H(t);case 5/* Enum */:return Y(t);case 6/* File */:return te(t);case 7/* Link */:return tn(t);case 8/* Number */:return ta(t);case 9/* Object */:return th(t);case 10/* ResponsiveImage */:return td(t);case 11/* RichText */:return ty(t);case 12/* String */:return tw(t);case 13/* VectorSetItem */:return tS(t);default:L(e);}},t.write=function(t,e){let r=D(e);if(t.writeUint8(r),!q(e))switch(e.type){case\"array\"/* Array */:return C(t,e);case\"boolean\"/* Boolean */:return $(t,e);case\"color\"/* Color */:return G(t,e);case\"date\"/* Date */:return X(t,e);case\"enum\"/* Enum */:return Z(t,e);case\"file\"/* File */:return tr(t,e);case\"link\"/* Link */:return ts(t,e);case\"number\"/* Number */:return tu(t,e);case\"object\"/* Object */:return tc(t,e);case\"responsiveimage\"/* ResponsiveImage */:return tg(t,e);case\"richtext\"/* RichText */:return tp(t,e);case\"vectorsetitem\"/* VectorSetItem */:return tU(t,e);case\"string\"/* String */:return tb(t,e);default:L(e);}},t.compare=function(t,e,r){let i=D(t),n=D(e);if(i<n)return -1;if(i>n)return 1;if(q(t)||q(e))return 0;switch(t.type){case\"array\"/* Array */:return k(\"array\"/* Array */===e.type),J(t,e,r);case\"boolean\"/* Boolean */:return k(\"boolean\"/* Boolean */===e.type),z(t,e);case\"color\"/* Color */:return k(\"color\"/* Color */===e.type),V(t,e);case\"date\"/* Date */:return k(\"date\"/* Date */===e.type),Q(t,e);case\"enum\"/* Enum */:return k(\"enum\"/* Enum */===e.type),tt(t,e);case\"file\"/* File */:return k(\"file\"/* File */===e.type),ti(t,e);case\"link\"/* Link */:return k(\"link\"/* Link */===e.type),to(t,e);case\"number\"/* Number */:return k(\"number\"/* Number */===e.type),tl(t,e);case\"object\"/* Object */:return k(\"object\"/* Object */===e.type),tf(t,e,r);case\"responsiveimage\"/* ResponsiveImage */:return k(\"responsiveimage\"/* ResponsiveImage */===e.type),tv(t,e);case\"richtext\"/* RichText */:return k(\"richtext\"/* RichText */===e.type),tm(t,e);case\"vectorsetitem\"/* VectorSetItem */:return k(\"vectorsetitem\"/* VectorSetItem */===e.type),tk(t,e);case\"string\"/* String */:return k(\"string\"/* String */===e.type),tI(t,e,r);default:L(t);}};})(r||(r={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tL=class e{sortEntries(){this.entries.sort((t,e)=>{for(let i=0;i<this.fieldNames.length;i++){let n=t.values[i],s=e.values[i],o=r.compare(n,s,this.options.collation);if(0!==o)return o;}return t.pointer.compare(e.pointer);});}static async deserialize(t,i){let n=new b(t),s=n.readJson(),o=n.readUint8(),a=[];for(let t=0;t<o;t++){let t=n.readString();a.push(t);}let u=new e(a,{collation:s}),l=n.readUint32(),h=()=>{let t=[];for(let e=0;e<o;e++){let e=r.read(n);t.push(e);}let e=j.read(n);u.entries.push({values:t,pointer:e});};for(let t=0;t<l;t++){let t=i?.();t&&await t,h();}return u;}serialize(){let t=new A;for(let e of(t.writeJson(this.options.collation),t.writeUint8(this.fieldNames.length),this.fieldNames))t.writeString(e);for(let e of(this.sortEntries(),t.writeUint32(this.entries.length),this.entries)){let{values:i,pointer:n}=e;for(let e of i)r.write(t,e);n.write(t);}return t.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(e,r){t(this,\"fieldNames\",void 0),t(this,\"options\",void 0),t(this,\"entries\",[]),this.fieldNames=e,this.options=r;}},tB=3,tE=250,tM=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tP=async(t,e)=>{let r=0;for(;;){try{let i=await fetch(t,e);if(!tM.includes(i.status)||++r>tB)return i;}catch(t){if(e?.signal?.aborted||++r>tB)throw t;}await tT(r);}};async function tT(t){let e=Math.floor(tE*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tx(t,e){let r=tA(e),i=[],n=0;for(let t of r)i.push(`${t.from}-${t.to-1}`),n+=t.to-t.from;let s=new URL(t),o=i.join(\",\");s.searchParams.set(\"range\",o);let a=await tP(s);if(200!==a.status)throw Error(`Request failed: ${a.status} ${a.statusText}`);let u=await a.arrayBuffer(),l=new Uint8Array(u);if(l.length!==n)throw Error(\"Request failed: Unexpected response length\");let h=new tF,c=0;for(let t of r){let e=t.to-t.from,r=c+e,i=l.subarray(c,r);h.write(t.from,i),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tF=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let i=t-r.start,n=i+e;return r.data.slice(i,n);}throw Error(\"Missing data\");}write(t,e){let r=t,i=r+e.length,n=0,s=this.chunks.length;for(;n<s;n++){let t=this.chunks[n];if(k(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let i=r-t.start,n=t.data.subarray(0,i);e=tN(n,e),r=t.start;}break;}}for(;s>n;s--){let t=this.chunks[s-1];if(k(t,\"Missing chunk\"),!(i<t.start)){if(i<t.end){let r=i-t.start,n=t.data.subarray(r);e=tN(e,n),i=t.end;}break;}}let o={start:r,end:i,data:e},a=s-n;this.chunks.splice(n,a,o);}constructor(){t(this,\"chunks\",[]);}};function tN(t,e){let r=t.length+e.length,i=new Uint8Array(r);return i.set(t,0),i.set(e,t.length),i;}function tA(t){k(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,i=r[e];i&&t.from<=i.to?r[e]={from:i.from,to:Math.max(i.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar tO=class{async loadModel(){let[t]=await tx(this.options.url,[this.options.range]);return k(t,\"Failed to load model\"),tL.deserialize(t,()=>{let t=m(this.modelPrioritySources);return t?U({batch:!0,priority:t}):void 0;});}async getModel(t){return this.model||(t&&this.modelPrioritySources.add(t),this.modelPromise??=this.loadModel().finally(()=>{this.modelPrioritySources.clear();}),this.model??=await this.modelPromise),this.model;}async lookupItems(t,e){k(t.length===this.fields.length,\"Invalid query length\");let r=await this.getModel(e),i=[r.entries];for(let[r,n]of t.entries()){let t=[];for(let s of i){let i;let o=e?U({batch:!0,priority:v(e)}):void 0;switch(o&&await o,n.type){case\"All\"/* All */:i=[s];break;case\"Equals\"/* Equals */:i=this.queryEquals(s,n,r);break;case\"NotEquals\"/* NotEquals */:i=this.queryNotEquals(s,n,r);break;case\"LessThan\"/* LessThan */:i=this.queryLessThan(s,n,r);break;case\"GreaterThan\"/* GreaterThan */:i=this.queryGreaterThan(s,n,r);break;case\"Contains\"/* Contains */:i=await this.queryContains(s,n,r,e);break;case\"StartsWith\"/* StartsWith */:i=await this.queryStartsWith(s,n,r,e);break;case\"EndsWith\"/* EndsWith */:i=await this.queryEndsWith(s,n,r,e);break;default:L(n);}t.push(...i);}i=t;}let n=[];for(let t of i)for(let r of t){let t=e?U({batch:!0,priority:v(e)}):void 0;t&&await t;let i={};for(let t=0;t<this.options.fieldNames.length;t++){let e=this.options.fieldNames[t],n=r.values[t];i[e]=n;}n.push({pointer:r.pointer.toString(),data:i});}return n;}queryEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=t.slice(i,n+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=[],o=t.slice(0,i);o.length>0&&s.push(o);let a=t.slice(n+1);return a.length>0&&s.push(a),s;}queryLessThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getRightMost(t,r,e.value),n=t.slice(0,i+1);return n.length>0?[n]:[];}let n=this.getLeftMost(t,r,e.value),s=t.slice(0,n);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getLeftMost(t,r,e.value),n=t.slice(i);return n.length>0?[n]:[];}let n=this.getRightMost(t,r,e.value),s=t.slice(n+1);return s.length>0?[s]:[];}queryContains(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.includes(i);});}queryStartsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.startsWith(i);});}queryEndsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.endsWith(i);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];0>r.compare(u,i,this.collation)?n=o+1:s=o;}return n;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];r.compare(u,i,this.collation)>0?s=o:n=o+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */async findItems(t,e,r,i){let n=[],s=0;for(let o=0;o<t.length;o++){let a=r?U({batch:!0,priority:v(r)}):void 0;a&&await a;let u=t[o],l=u.values[e],h=i(l);if(!h){if(s<o){let e=t.slice(s,o);n.push(e);}s=o+1;}}if(s<t.length){let e=t.slice(s);n.push(e);}return n;}constructor(e){t(this,\"options\",void 0),t(this,\"schema\",void 0),t(this,\"fields\",void 0),t(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),t(this,\"modelPromise\",void 0),t(this,\"model\",void 0),t(this,\"modelPrioritySources\",/* @__PURE__ */new Set),t(this,\"collation\",void 0),this.options=e;let r={},i=[];for(let t of this.options.fieldNames){let e=this.options.collectionSchema[t];k(e,\"Missing definition for field\",t),r[t]=e,i.push({type:\"Identifier\",name:t});}this.schema=r,this.fields=i,this.collation=this.options.collation;}};// src/code-generation/components/cms/bundled/models/DatabaseItemModel.ts\nfunction t_(t){let e={},i=t.readUint16();for(let n=0;n<i;n++){let i=t.readString();e[i]=r.read(t);}return e;}// src/code-generation/components/cms/bundled/DatabaseCollection.ts?bundle\nfunction*tq(t){for(let e of t)yield*e.prioritySources;}var tj=class{scanItems(t){return this.itemsPromise?this.isScanning&&t&&this.scanPrioritySources.add(t):(this.isScanning=!0,t&&this.scanPrioritySources.add(t),this.itemsPromise=tP(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),i=new b(r),n=[],s=i.readUint32();for(let t=0;t<s;t++){let t=m(this.scanPrioritySources),e=t?g({batch:!0,priority:t}):void 0;e&&await e;let r=i.getOffset(),s=t_(i),o=i.getOffset()-r,a=new j(this.id,r,o),u=a.toString(),l={pointer:u,data:s};this.itemLoader.prime({pointer:u,prioritySources:/* @__PURE__ */new Set},l),n.push(l);}return n;}).finally(()=>{this.isScanning=!1,this.scanPrioritySources.clear();})),this.itemsPromise;}resolveItem(t,e){let r=this.itemPrioritySources.get(t);r||(r=/* @__PURE__ */new Set,this.itemPrioritySources.set(t,r)),e&&r.add(e);let i=this.itemLoader.load({pointer:t,prioritySources:r}),n=()=>this.itemPrioritySources.delete(t);return i.then(n,n),i;}constructor(e,r){t(this,\"id\",void 0),t(this,\"url\",void 0),t(this,\"itemsPromise\",void 0),t(this,\"isScanning\",!1),t(this,\"scanPrioritySources\",/* @__PURE__ */new Set),t(this,\"itemPrioritySources\",/* @__PURE__ */new Map),t(this,\"itemLoader\",new d.default(async t=>{let e=t.map(({pointer:t})=>{let e=j.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tx(this.url,e),i=[];for(let e=0;e<r.length;e++){let n=m(tq(t)),s=n?g({batch:!0,priority:n}):void 0;s&&await s;let o=r[e];k(o,\"Missing range bytes\");let a=new b(o),u=t_(a),l=t[e]?.pointer;k(l,\"Missing pointer\"),i.push({pointer:l,data:u});}return i;},{// capping to 250 avoids overly long URLs that can cause requests to fail with 414\nmaxBatchSize:250,// Different route workflows can request the same item. Keep DataLoader's cache keyed by the\n// pointer while still carrying the strongest scheduling priority into the shared batch\ncacheKeyFn:t=>t.pointer})),this.id=e,this.url=r;}},tD=class{async scanItems(t){let e=await Promise.all(this.chunks.map(async e=>e.scanItems(t)));return e.flat();}resolveItems(t,e){return Promise.all(t.map(t=>{let r=j.fromString(t),i=this.chunks[r.chunkId];return k(i,\"Missing chunk\"),i.resolveItem(t,e);}));}compareItems(t,e){let r=j.fromString(t.pointer),i=j.fromString(e.pointer);return r.compare(i);}compareValues(t,e,i){return r.compare(t,e,i);}constructor(e){t(this,\"options\",void 0),t(this,\"id\",void 0),t(this,\"schema\",void 0),t(this,\"indexes\",void 0),t(this,\"resolveRichText\",void 0),t(this,\"resolveVectorSetItem\",void 0),t(this,\"chunks\",void 0),this.options=e,this.chunks=this.options.chunks.map((t,e)=>new tj(e,t)),this.schema=e.schema,this.indexes=e.indexes,this.resolveRichText=e.resolveRichText,this.resolveVectorSetItem=e.resolveVectorSetItem,this.id=e.id;}};export{tD as DatabaseCollection,tO as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as r,ComponentPresetsConsumer as t,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";var a,u,f=\"preload\";function c(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&f in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as l,createElement as p}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction s(e,...r){if(!e)throw Error(\"Assertion Error\"+(r.length>0?\": \"+r.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar m=((a=m||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a),y=((u=y||{})[u.RichText=1]=\"RichText\",u[u.VectorSetItem=2]=\"VectorSetItem\",u);function d(e,r,t){for(let[n,o]of Object.entries(r)){let r=e[n];if(\"number\"==typeof o){e[n]=t(o,r);continue;}h(r,o,t);}}function h(e,r,t){if(\"number\"!=typeof r){if(Array.isArray(r)){if(!Array.isArray(e))return;let[n]=r;for(let r=0;r<e.length;r++){let o=e[r];\"number\"==typeof n?e[r]=t(n,o):h(o,n,t);}return;}null===e||\"object\"!=typeof e||Array.isArray(e)||d(e,r,t);}}function x(i){let a=/* @__PURE__ */new Map;return u=>{let f=a.get(u);if(f)return f;let m=JSON.parse(u),y=function a(u){switch(u[0]){case 1/* Fragment */:{let[,...e]=u,r=e.map(a);return /*#__PURE__*/p(l,void 0,...r);}case 2/* Link */:{let[,e,...r]=u,t=r.map(a);return /*#__PURE__*/p(n,e,...t);}case 3/* Module */:{let[,n,o,f]=u;d(o,f,(e,r)=>{if(1/* RichText */===e)return r?a(r):r;if(\"string\"!=typeof r)return r;let t=i[r];return t?(c(t)&&t.preload(),t):r;});let l=i[n];return s(l,\"Module not found\"),c(l)&&l.preload(),/*#__PURE__*/e(t,{componentIdentifier:n,children:t=>/*#__PURE__*/e(r,{component:l,props:{...t,...o}})});}case 4/* Tag */:{let[,e,r,...t]=u,n=t.map(a);if(\"a\"===e)return /*#__PURE__*/p(o.a,r,...n);return /*#__PURE__*/p(e,r,...n);}case 5/* Text */:{let[,e]=u;return e;}}}(m);return a.set(u,y),y;};}export{y as RichTextJsonPropKind,m as RichTextJsonType,x as getRichTextJsonResolver,d as mapRichTextJsonProps};\nexport const __FramerMetadata__ = {\"exports\":{\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonPropKind\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mapRichTextJsonProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6396d1e)\nimport{addPropertyControls as e,ControlType as l,QueryEngine as t}from\"framer\";import{DatabaseCollection as o,DatabaseDictionaryIndex as a}from\"./T9gdzTukW-0.js\";import{getRichTextJsonResolver as i}from\"./T9gdzTukW-1.js\";let n={AljuCQ0zt:{isNullable:!0,type:l.String},CgoXtIKja:{isNullable:!0,type:l.String},Cl1SiX2vI:{isNullable:!0,type:l.String},createdAt:{isNullable:!0,type:l.Date},CVLPZQZko:{isNullable:!0,type:l.String},d6LMtvBbW:{isNullable:!0,type:l.ResponsiveImage},DHYCE4HN1:{isNullable:!0,type:l.String},fPlaGc_ua:{isNullable:!0,type:l.ResponsiveImage},HAuISOO08:{isNullable:!0,type:l.String},HrX06D5z7:{isNullable:!0,type:l.Link},id:{isNullable:!1,type:l.String},LfzgYRZF0:{definition:{definitions:{C6w75Ewao:{isNullable:!0,type:l.ResponsiveImage},id:{isNullable:!1,type:l.String}},isNullable:!0,type:l.Object},isNullable:!0,type:l.Array},nextItemId:{isNullable:!0,type:l.String},o1i6QHBC3:{definition:{isNullable:!0,type:l.String},isNullable:!0,type:l.Array},oYx4NddcW:{isNullable:!0,type:l.String},pHA37_fvh:{isNullable:!0,type:l.ResponsiveImage},pqfP09Smc:{isNullable:!0,type:l.ResponsiveImage},previousItemId:{isNullable:!0,type:l.String},PY4p1EU9a:{isNullable:!0,type:l.String},QLMqgvV2H:{isNullable:!0,type:l.ResponsiveImage},SKNNMsKgv:{isNullable:!0,type:l.ResponsiveImage},sNMVExjiR:{isNullable:!0,type:l.ResponsiveImage},taH84Q8EW:{isNullable:!0,type:l.ResponsiveImage},TTZpcGXPs:{isNullable:!0,type:l.String},updatedAt:{isNullable:!0,type:l.Date},VQnEXLrEB:{isNullable:!0,type:l.Boolean},wEXmHv4ec:{isNullable:!0,type:l.String},XswSi4Pho:{isNullable:!0,type:l.String}},c=new URL(\"./T9gdzTukW-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\"),r=[\"id\"],m={type:1},u=[\"previousItemId\"],f=[\"nextItemId\"],s=[\"id\",\"wEXmHv4ec\"],d=[\"wEXmHv4ec\",\"id\"],g={type:0},p=[\"PY4p1EU9a\"],N=[\"DHYCE4HN1\"],S=[\"wEXmHv4ec\"],y=[\"VQnEXLrEB\"],w=[\"CgoXtIKja\"],h=[\"QLMqgvV2H\"],I=[\"TTZpcGXPs\"],v=[\"AljuCQ0zt\"],b=[\"oYx4NddcW\"],H=[\"HrX06D5z7\"],R=[\"o1i6QHBC3\"],C=[\"sNMVExjiR\"],T=[\"taH84Q8EW\"],E=[\"pqfP09Smc\"],L=[\"pHA37_fvh\"],V=[\"fPlaGc_ua\"],X=[\"d6LMtvBbW\"],z=[\"LfzgYRZF0\"],A=[\"CVLPZQZko\"],k=[\"HAuISOO08\"],x=[\"Cl1SiX2vI\"],W=[\"SKNNMsKgv\"],P=[\"XswSi4Pho\"],Q=[],B=e=>{let l=Q[e];if(l)return l().then(e=>e.default);},Z=new URL(\"./T9gdzTukW-indexes-AOiKgsZzG-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\"),D={},j=i(D),K=new t,M={collectionByLocaleId:{AOiKgsZzG:new o({chunks:[new URL(\"./T9gdzTukW-chunk-AOiKgsZzG-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"9d75229a-c832-4fa7-b8c7-963bcf84246cAOiKgsZzG\",indexes:[new a({collation:m,collectionSchema:n,fieldNames:r,range:{from:0,to:169},url:Z}),new a({collation:m,collectionSchema:n,fieldNames:u,range:{from:169,to:337},url:Z}),new a({collation:m,collectionSchema:n,fieldNames:f,range:{from:337,to:501},url:Z}),new a({collation:m,collectionSchema:n,fieldNames:s,range:{from:501,to:752},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:d,range:{from:752,to:1003},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:p,range:{from:1003,to:1196},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:N,range:{from:1196,to:3151},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:S,range:{from:3151,to:3312},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:y,range:{from:3312,to:3416},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:w,range:{from:3416,to:3592},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:h,range:{from:3592,to:6549},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:I,range:{from:6549,to:6761},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:v,range:{from:6761,to:6907},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:b,range:{from:6907,to:7080},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:H,range:{from:7080,to:7376},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:R,range:{from:7376,to:7836},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:C,range:{from:7836,to:10861},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:T,range:{from:10861,to:13878},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:E,range:{from:13878,to:16890},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:L,range:{from:16890,to:19874},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:V,range:{from:19874,to:22866},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:X,range:{from:22866,to:25830},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:z,range:{from:25830,to:25940},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:A,range:{from:25940,to:28078},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:k,range:{from:28078,to:28279},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:x,range:{from:28279,to:28482},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:W,range:{from:28482,to:29425},url:Z}),new a({collation:g,collectionSchema:n,fieldNames:P,range:{from:29425,to:29547},url:Z})],resolveRichText:j,resolveVectorSetItem:B,schema:n}),default:new o({chunks:[new URL(\"./T9gdzTukW-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"9d75229a-c832-4fa7-b8c7-963bcf84246cdefault\",indexes:[new a({collation:m,collectionSchema:n,fieldNames:r,range:{from:0,to:169},url:c}),new a({collation:m,collectionSchema:n,fieldNames:u,range:{from:169,to:337},url:c}),new a({collation:m,collectionSchema:n,fieldNames:f,range:{from:337,to:501},url:c}),new a({collation:m,collectionSchema:n,fieldNames:s,range:{from:501,to:752},url:c}),new a({collation:g,collectionSchema:n,fieldNames:d,range:{from:752,to:1003},url:c}),new a({collation:g,collectionSchema:n,fieldNames:p,range:{from:1003,to:1196},url:c}),new a({collation:g,collectionSchema:n,fieldNames:N,range:{from:1196,to:3151},url:c}),new a({collation:g,collectionSchema:n,fieldNames:S,range:{from:3151,to:3312},url:c}),new a({collation:g,collectionSchema:n,fieldNames:y,range:{from:3312,to:3416},url:c}),new a({collation:g,collectionSchema:n,fieldNames:w,range:{from:3416,to:3592},url:c}),new a({collation:g,collectionSchema:n,fieldNames:h,range:{from:3592,to:6549},url:c}),new a({collation:g,collectionSchema:n,fieldNames:I,range:{from:6549,to:6761},url:c}),new a({collation:g,collectionSchema:n,fieldNames:v,range:{from:6761,to:6907},url:c}),new a({collation:g,collectionSchema:n,fieldNames:b,range:{from:6907,to:7080},url:c}),new a({collation:g,collectionSchema:n,fieldNames:H,range:{from:7080,to:7376},url:c}),new a({collation:g,collectionSchema:n,fieldNames:R,range:{from:7376,to:7836},url:c}),new a({collation:g,collectionSchema:n,fieldNames:C,range:{from:7836,to:10861},url:c}),new a({collation:g,collectionSchema:n,fieldNames:T,range:{from:10861,to:13878},url:c}),new a({collation:g,collectionSchema:n,fieldNames:E,range:{from:13878,to:16890},url:c}),new a({collation:g,collectionSchema:n,fieldNames:L,range:{from:16890,to:19874},url:c}),new a({collation:g,collectionSchema:n,fieldNames:V,range:{from:19874,to:22866},url:c}),new a({collation:g,collectionSchema:n,fieldNames:X,range:{from:22866,to:25830},url:c}),new a({collation:g,collectionSchema:n,fieldNames:z,range:{from:25830,to:25940},url:c}),new a({collation:g,collectionSchema:n,fieldNames:A,range:{from:25940,to:28078},url:c}),new a({collation:g,collectionSchema:n,fieldNames:k,range:{from:28078,to:28279},url:c}),new a({collation:g,collectionSchema:n,fieldNames:x,range:{from:28279,to:28482},url:c}),new a({collation:g,collectionSchema:n,fieldNames:W,range:{from:28482,to:29425},url:c}),new a({collation:g,collectionSchema:n,fieldNames:P,range:{from:29425,to:29547},url:c})],resolveRichText:j,resolveVectorSetItem:B,schema:n})},displayName:\"Works\",id:\"9d75229a-c832-4fa7-b8c7-963bcf84246c\"};export default M;e(M,{PY4p1EU9a:{defaultValue:\"\",title:\"Title\",type:l.String},DHYCE4HN1:{defaultValue:\"\",displayTextArea:!0,title:\"Description\",type:l.String},wEXmHv4ec:{preventLocalization:!0,title:\"Slug\",type:l.String},VQnEXLrEB:{defaultValue:!1,title:\"Home Featured\",type:l.Boolean},CgoXtIKja:{dataIdentifier:\"local-module:collection/T9gdzTukW:default\",title:\"Next Work\",type:l.CollectionReference},QLMqgvV2H:{title:\"Thumbnail\",type:l.ResponsiveImage},TTZpcGXPs:{defaultValue:\"\",title:\"Client\",type:l.String},AljuCQ0zt:{defaultValue:\"\",title:\"Year\",type:l.String},oYx4NddcW:{defaultValue:\"\",title:\"Industry\",type:l.String},HrX06D5z7:{title:\"Live project link\",type:l.Link},o1i6QHBC3:{dataIdentifier:\"local-module:collection/x8B_pZ9AD:default\",title:\"Deliverables\",type:l.MultiCollectionReference},sNMVExjiR:{title:\"Image 2\",type:l.ResponsiveImage},taH84Q8EW:{title:\"Image 3\",type:l.ResponsiveImage},pqfP09Smc:{title:\"Image 4\",type:l.ResponsiveImage},pHA37_fvh:{title:\"Image 5\",type:l.ResponsiveImage},fPlaGc_ua:{title:\"Image 6\",type:l.ResponsiveImage},d6LMtvBbW:{title:\"Image 7\",type:l.ResponsiveImage},LfzgYRZF0:{__vekterDefault:[],control:{controls:{C6w75Ewao:{title:\"Image\",type:\"responsiveimage\"}},type:\"object\"},title:\"Gallery\",type:l.Array},CVLPZQZko:{defaultValue:\"\",displayTextArea:!0,title:\"Testimonial\",type:l.String},HAuISOO08:{defaultValue:\"\",title:\"Client name\",type:l.String},Cl1SiX2vI:{defaultValue:\"\",title:\"Client role\",type:l.String},SKNNMsKgv:{title:\"Client photo\",type:l.ResponsiveImage},XswSi4Pho:{defaultValue:\"\",title:\"Name\",type:l.String},createdAt:{title:\"Created\",type:l.Date},updatedAt:{title:\"Updated\",type:l.Date},previousItemId:{dataIdentifier:\"local-module:collection/T9gdzTukW:default\",title:\"Previous\",type:l.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/T9gdzTukW:default\",title:\"Next\",type:l.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,l){let[t]=await K.query({from:{data:M,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"wEXmHv4ec\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},l);return t?.wEXmHv4ec;},async getRecordIdBySlug(e,l){let[t]=await K.query({from:{data:M,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"wEXmHv4ec\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},l);return t?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerSlug\":\"wEXmHv4ec\",\"framerData\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"false\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerCollectionUtils\":\"1\",\"framerCollectionId\":\"T9gdzTukW\",\"framerRecordIdKey\":\"id\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (0ea0c8c)\nconst valuesByLocaleId={};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{description:\"A clean, modern portfolio template crafted for designers to showcase their work professionally.\",favicon:\"https://framerusercontent.com/assets/BA4tt751TdyY5lwJDvzlnO3sMw.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/6UyNgGkIkD7IxzEIb2rDR4AeCF0.png\",title:\"Cross Portfolio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}