{"version":3,"file":"static/chunks/9661.348e52fda9b2e3ef.js","mappings":"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","sources":["webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/resize/index.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/value/use-scroll.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/transform.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/value/use-motion-value.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/value/use-combine-values.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/value/use-transform.mjs","webpack://_N_E/"],"sourcesContent":["import { invariant } from '../../../utils/errors.mjs';\n\nfunction resolveElements(elements, scope, selectorCache) {\n var _a;\n if (typeof elements === \"string\") {\n let root = document;\n if (scope) {\n invariant(Boolean(scope.current), \"Scope provided, but no element detected.\");\n root = scope.current;\n }\n if (selectorCache) {\n (_a = selectorCache[elements]) !== null && _a !== void 0 ? _a : (selectorCache[elements] = root.querySelectorAll(elements));\n elements = selectorCache[elements];\n }\n else {\n elements = root.querySelectorAll(elements);\n }\n }\n else if (elements instanceof Element) {\n elements = [elements];\n }\n /**\n * Return an empty array\n */\n return Array.from(elements || []);\n}\n\nexport { resolveElements };\n","import { resolveElements } from '../utils/resolve-element.mjs';\n\nconst resizeHandlers = new WeakMap();\nlet observer;\nfunction getElementSize(target, borderBoxSize) {\n if (borderBoxSize) {\n const { inlineSize, blockSize } = borderBoxSize[0];\n return { width: inlineSize, height: blockSize };\n }\n else if (target instanceof SVGElement && \"getBBox\" in target) {\n return target.getBBox();\n }\n else {\n return {\n width: target.offsetWidth,\n height: target.offsetHeight,\n };\n }\n}\nfunction notifyTarget({ target, contentRect, borderBoxSize, }) {\n var _a;\n (_a = resizeHandlers.get(target)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => {\n handler({\n target,\n contentSize: contentRect,\n get size() {\n return getElementSize(target, borderBoxSize);\n },\n });\n });\n}\nfunction notifyAll(entries) {\n entries.forEach(notifyTarget);\n}\nfunction createResizeObserver() {\n if (typeof ResizeObserver === \"undefined\")\n return;\n observer = new ResizeObserver(notifyAll);\n}\nfunction resizeElement(target, handler) {\n if (!observer)\n createResizeObserver();\n const elements = resolveElements(target);\n elements.forEach((element) => {\n let elementHandlers = resizeHandlers.get(element);\n if (!elementHandlers) {\n elementHandlers = new Set();\n resizeHandlers.set(element, elementHandlers);\n }\n elementHandlers.add(handler);\n observer === null || observer === void 0 ? void 0 : observer.observe(element);\n });\n return () => {\n elements.forEach((element) => {\n const elementHandlers = resizeHandlers.get(element);\n elementHandlers === null || elementHandlers === void 0 ? void 0 : elementHandlers.delete(handler);\n if (!(elementHandlers === null || elementHandlers === void 0 ? void 0 : elementHandlers.size)) {\n observer === null || observer === void 0 ? void 0 : observer.unobserve(element);\n }\n });\n };\n}\n\nexport { resizeElement };\n","const windowCallbacks = new Set();\nlet windowResizeHandler;\nfunction createWindowResizeHandler() {\n windowResizeHandler = () => {\n const size = {\n width: window.innerWidth,\n height: window.innerHeight,\n };\n const info = {\n target: window,\n size,\n contentSize: size,\n };\n windowCallbacks.forEach((callback) => callback(info));\n };\n window.addEventListener(\"resize\", windowResizeHandler);\n}\nfunction resizeWindow(callback) {\n windowCallbacks.add(callback);\n if (!windowResizeHandler)\n createWindowResizeHandler();\n return () => {\n windowCallbacks.delete(callback);\n if (!windowCallbacks.size && windowResizeHandler) {\n windowResizeHandler = undefined;\n }\n };\n}\n\nexport { resizeWindow };\n","import { resizeElement } from './handle-element.mjs';\nimport { resizeWindow } from './handle-window.mjs';\n\nfunction resize(a, b) {\n return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b);\n}\n\nexport { resize };\n","import { progress } from '../../../utils/progress.mjs';\nimport { velocityPerSecond } from '../../../utils/velocity-per-second.mjs';\n\n/**\n * A time in milliseconds, beyond which we consider the scroll velocity to be 0.\n */\nconst maxElapsed = 50;\nconst createAxisInfo = () => ({\n current: 0,\n offset: [],\n progress: 0,\n scrollLength: 0,\n targetOffset: 0,\n targetLength: 0,\n containerLength: 0,\n velocity: 0,\n});\nconst createScrollInfo = () => ({\n time: 0,\n x: createAxisInfo(),\n y: createAxisInfo(),\n});\nconst keys = {\n x: {\n length: \"Width\",\n position: \"Left\",\n },\n y: {\n length: \"Height\",\n position: \"Top\",\n },\n};\nfunction updateAxisInfo(element, axisName, info, time) {\n const axis = info[axisName];\n const { length, position } = keys[axisName];\n const prev = axis.current;\n const prevTime = info.time;\n axis.current = element[\"scroll\" + position];\n axis.scrollLength = element[\"scroll\" + length] - element[\"client\" + length];\n axis.offset.length = 0;\n axis.offset[0] = 0;\n axis.offset[1] = axis.scrollLength;\n axis.progress = progress(0, axis.scrollLength, axis.current);\n const elapsed = time - prevTime;\n axis.velocity =\n elapsed > maxElapsed\n ? 0\n : velocityPerSecond(axis.current - prev, elapsed);\n}\nfunction updateScrollInfo(element, info, time) {\n updateAxisInfo(element, \"x\", info, time);\n updateAxisInfo(element, \"y\", info, time);\n info.time = time;\n}\n\nexport { createScrollInfo, updateScrollInfo };\n","function calcInset(element, container) {\n let inset = { x: 0, y: 0 };\n let current = element;\n while (current && current !== container) {\n if (current instanceof HTMLElement) {\n inset.x += current.offsetLeft;\n inset.y += current.offsetTop;\n current = current.offsetParent;\n }\n else if (current instanceof SVGGraphicsElement && \"getBBox\" in current) {\n const { top, left } = current.getBBox();\n inset.x += left;\n inset.y += top;\n /**\n * Assign the next parent element as the tag.\n */\n while (current && current.tagName !== \"svg\") {\n current = current.parentNode;\n }\n }\n }\n return inset;\n}\n\nexport { calcInset };\n","const ScrollOffset = {\n Enter: [\n [0, 1],\n [1, 1],\n ],\n Exit: [\n [0, 0],\n [1, 0],\n ],\n Any: [\n [1, 0],\n [0, 1],\n ],\n All: [\n [0, 0],\n [1, 1],\n ],\n};\n\nexport { ScrollOffset };\n","const namedEdges = {\n start: 0,\n center: 0.5,\n end: 1,\n};\nfunction resolveEdge(edge, length, inset = 0) {\n let delta = 0;\n /**\n * If we have this edge defined as a preset, replace the definition\n * with the numerical value.\n */\n if (namedEdges[edge] !== undefined) {\n edge = namedEdges[edge];\n }\n /**\n * Handle unit values\n */\n if (typeof edge === \"string\") {\n const asNumber = parseFloat(edge);\n if (edge.endsWith(\"px\")) {\n delta = asNumber;\n }\n else if (edge.endsWith(\"%\")) {\n edge = asNumber / 100;\n }\n else if (edge.endsWith(\"vw\")) {\n delta = (asNumber / 100) * document.documentElement.clientWidth;\n }\n else if (edge.endsWith(\"vh\")) {\n delta = (asNumber / 100) * document.documentElement.clientHeight;\n }\n else {\n edge = asNumber;\n }\n }\n /**\n * If the edge is defined as a number, handle as a progress value.\n */\n if (typeof edge === \"number\") {\n delta = length * edge;\n }\n return inset + delta;\n}\n\nexport { namedEdges, resolveEdge };\n","import { namedEdges, resolveEdge } from './edge.mjs';\n\nconst defaultOffset = [0, 0];\nfunction resolveOffset(offset, containerLength, targetLength, targetInset) {\n let offsetDefinition = Array.isArray(offset) ? offset : defaultOffset;\n let targetPoint = 0;\n let containerPoint = 0;\n if (typeof offset === \"number\") {\n /**\n * If we're provided offset: [0, 0.5, 1] then each number x should become\n * [x, x], so we default to the behaviour of mapping 0 => 0 of both target\n * and container etc.\n */\n offsetDefinition = [offset, offset];\n }\n else if (typeof offset === \"string\") {\n offset = offset.trim();\n if (offset.includes(\" \")) {\n offsetDefinition = offset.split(\" \");\n }\n else {\n /**\n * If we're provided a definition like \"100px\" then we want to apply\n * that only to the top of the target point, leaving the container at 0.\n * Whereas a named offset like \"end\" should be applied to both.\n */\n offsetDefinition = [offset, namedEdges[offset] ? offset : `0`];\n }\n }\n targetPoint = resolveEdge(offsetDefinition[0], targetLength, targetInset);\n containerPoint = resolveEdge(offsetDefinition[1], containerLength);\n return targetPoint - containerPoint;\n}\n\nexport { resolveOffset };\n","import { calcInset } from './inset.mjs';\nimport { ScrollOffset } from './presets.mjs';\nimport { resolveOffset } from './offset.mjs';\nimport { interpolate } from '../../../../utils/interpolate.mjs';\nimport { defaultOffset } from '../../../../utils/offsets/default.mjs';\n\nconst point = { x: 0, y: 0 };\nfunction resolveOffsets(container, info, options) {\n let { offset: offsetDefinition = ScrollOffset.All } = options;\n const { target = container, axis = \"y\" } = options;\n const lengthLabel = axis === \"y\" ? \"height\" : \"width\";\n const inset = target !== container ? calcInset(target, container) : point;\n /**\n * Measure the target and container. If they're the same thing then we\n * use the container's scrollWidth/Height as the target, from there\n * all other calculations can remain the same.\n */\n const targetSize = target === container\n ? { width: container.scrollWidth, height: container.scrollHeight }\n : { width: target.clientWidth, height: target.clientHeight };\n const containerSize = {\n width: container.clientWidth,\n height: container.clientHeight,\n };\n /**\n * Reset the length of the resolved offset array rather than creating a new one.\n * TODO: More reusable data structures for targetSize/containerSize would also be good.\n */\n info[axis].offset.length = 0;\n /**\n * Populate the offset array by resolving the user's offset definition into\n * a list of pixel scroll offets.\n */\n let hasChanged = !info[axis].interpolate;\n const numOffsets = offsetDefinition.length;\n for (let i = 0; i < numOffsets; i++) {\n const offset = resolveOffset(offsetDefinition[i], containerSize[lengthLabel], targetSize[lengthLabel], inset[axis]);\n if (!hasChanged && offset !== info[axis].interpolatorOffsets[i]) {\n hasChanged = true;\n }\n info[axis].offset[i] = offset;\n }\n /**\n * If the pixel scroll offsets have changed, create a new interpolator function\n * to map scroll value into a progress.\n */\n if (hasChanged) {\n info[axis].interpolate = interpolate(info[axis].offset, defaultOffset(offsetDefinition));\n info[axis].interpolatorOffsets = [...info[axis].offset];\n }\n info[axis].progress = info[axis].interpolate(info[axis].current);\n}\n\nexport { resolveOffsets };\n","import { updateScrollInfo } from './info.mjs';\nimport { resolveOffsets } from './offsets/index.mjs';\n\nfunction measure(container, target = container, info) {\n /**\n * Find inset of target within scrollable container\n */\n info.x.targetOffset = 0;\n info.y.targetOffset = 0;\n if (target !== container) {\n let node = target;\n while (node && node !== container) {\n info.x.targetOffset += node.offsetLeft;\n info.y.targetOffset += node.offsetTop;\n node = node.offsetParent;\n }\n }\n info.x.targetLength =\n target === container ? target.scrollWidth : target.clientWidth;\n info.y.targetLength =\n target === container ? target.scrollHeight : target.clientHeight;\n info.x.containerLength = container.clientWidth;\n info.y.containerLength = container.clientHeight;\n}\nfunction createOnScrollHandler(element, onScroll, info, options = {}) {\n return {\n measure: () => measure(element, options.target, info),\n update: (time) => {\n updateScrollInfo(element, info, time);\n if (options.offset || options.target) {\n resolveOffsets(element, info, options);\n }\n },\n notify: () => onScroll(info),\n };\n}\n\nexport { createOnScrollHandler };\n","import { frame, cancelFrame } from '../../../frameloop/index.mjs';\nimport { frameData } from '../../../frameloop/data.mjs';\nimport { resize } from '../resize/index.mjs';\nimport { createScrollInfo } from './info.mjs';\nimport { createOnScrollHandler } from './on-scroll-handler.mjs';\n\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\nconst getEventTarget = (element) => element === document.documentElement ? window : element;\nfunction scroll(onScroll, { container = document.documentElement, ...options } = {}) {\n let containerHandlers = onScrollHandlers.get(container);\n /**\n * Get the onScroll handlers for this container.\n * If one isn't found, create a new one.\n */\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(container, containerHandlers);\n }\n /**\n * Create a new onScroll handler for the provided callback.\n */\n const info = createScrollInfo();\n const containerHandler = createOnScrollHandler(container, onScroll, info, options);\n containerHandlers.add(containerHandler);\n /**\n * Check if there's a scroll event listener for this container.\n * If not, create one.\n */\n if (!scrollListeners.has(container)) {\n const measureAll = () => {\n for (const handler of containerHandlers)\n handler.measure();\n };\n const updateAll = () => {\n for (const handler of containerHandlers) {\n handler.update(frameData.timestamp);\n }\n };\n const notifyAll = () => {\n for (const handler of containerHandlers)\n handler.notify();\n };\n const listener = () => {\n frame.read(measureAll, false, true);\n frame.update(updateAll, false, true);\n frame.update(notifyAll, false, true);\n };\n scrollListeners.set(container, listener);\n const target = getEventTarget(container);\n window.addEventListener(\"resize\", listener, { passive: true });\n if (container !== document.documentElement) {\n resizeListeners.set(container, resize(container, listener));\n }\n target.addEventListener(\"scroll\", listener, { passive: true });\n }\n const listener = scrollListeners.get(container);\n frame.read(listener, false, true);\n return () => {\n var _a;\n cancelFrame(listener);\n /**\n * Check if we even have any handlers for this container.\n */\n const currentHandlers = onScrollHandlers.get(container);\n if (!currentHandlers)\n return;\n currentHandlers.delete(containerHandler);\n if (currentHandlers.size)\n return;\n /**\n * If no more handlers, remove the scroll listener too.\n */\n const scrollListener = scrollListeners.get(container);\n scrollListeners.delete(container);\n if (scrollListener) {\n getEventTarget(container).removeEventListener(\"scroll\", scrollListener);\n (_a = resizeListeners.get(container)) === null || _a === void 0 ? void 0 : _a();\n window.removeEventListener(\"resize\", scrollListener);\n }\n };\n}\n\nexport { scroll };\n","import { motionValue } from './index.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useEffect } from 'react';\nimport { warning } from '../utils/errors.mjs';\nimport { scroll } from '../render/dom/scroll/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\n\nfunction refWarning(name, ref) {\n warning(Boolean(!ref || ref.current), `You have defined a ${name} options but the provided ref is not yet hydrated, probably because it's defined higher up the tree. Try calling useScroll() in the same component as the ref, or setting its \\`layoutEffect: false\\` option.`);\n}\nconst createScrollMotionValues = () => ({\n scrollX: motionValue(0),\n scrollY: motionValue(0),\n scrollXProgress: motionValue(0),\n scrollYProgress: motionValue(0),\n});\nfunction useScroll({ container, target, layoutEffect = true, ...options } = {}) {\n const values = useConstant(createScrollMotionValues);\n const useLifecycleEffect = layoutEffect\n ? useIsomorphicLayoutEffect\n : useEffect;\n useLifecycleEffect(() => {\n refWarning(\"target\", target);\n refWarning(\"container\", container);\n return scroll(({ x, y }) => {\n values.scrollX.set(x.current);\n values.scrollXProgress.set(x.progress);\n values.scrollY.set(y.current);\n values.scrollYProgress.set(y.progress);\n }, {\n ...options,\n container: (container === null || container === void 0 ? void 0 : container.current) || undefined,\n target: (target === null || target === void 0 ? void 0 : target.current) || undefined,\n });\n }, []);\n return values;\n}\n\nexport { useScroll };\n","import { interpolate } from './interpolate.mjs';\n\nconst isCustomValueType = (v) => {\n return typeof v === \"object\" && v.mix;\n};\nconst getMixer = (v) => (isCustomValueType(v) ? v.mix : undefined);\nfunction transform(...args) {\n const useImmediate = !Array.isArray(args[0]);\n const argOffset = useImmediate ? 0 : -1;\n const inputValue = args[0 + argOffset];\n const inputRange = args[1 + argOffset];\n const outputRange = args[2 + argOffset];\n const options = args[3 + argOffset];\n const interpolator = interpolate(inputRange, outputRange, {\n mixer: getMixer(outputRange[0]),\n ...options,\n });\n return useImmediate ? interpolator(inputValue) : interpolator;\n}\n\nexport { transform };\n","import { useContext, useState, useEffect } from 'react';\nimport { motionValue } from './index.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\n\n/**\n * Creates a `MotionValue` to track the state and velocity of a value.\n *\n * Usually, these are created automatically. For advanced use-cases, like use with `useTransform`, you can create `MotionValue`s externally and pass them into the animated component via the `style` prop.\n *\n * ```jsx\n * export const MyComponent = () => {\n * const scale = useMotionValue(1)\n *\n * return \n * }\n * ```\n *\n * @param initial - The initial state.\n *\n * @public\n */\nfunction useMotionValue(initial) {\n const value = useConstant(() => motionValue(initial));\n /**\n * If this motion value is being used in static mode, like on\n * the Framer canvas, force components to rerender when the motion\n * value is updated.\n */\n const { isStatic } = useContext(MotionConfigContext);\n if (isStatic) {\n const [, setLatest] = useState(initial);\n useEffect(() => value.on(\"change\", setLatest), []);\n }\n return value;\n}\n\nexport { useMotionValue };\n","import { useMotionValue } from './use-motion-value.mjs';\nimport { cancelFrame, frame } from '../frameloop/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\n\nfunction useCombineMotionValues(values, combineValues) {\n /**\n * Initialise the returned motion value. This remains the same between renders.\n */\n const value = useMotionValue(combineValues());\n /**\n * Create a function that will update the template motion value with the latest values.\n * This is pre-bound so whenever a motion value updates it can schedule its\n * execution in Framesync. If it's already been scheduled it won't be fired twice\n * in a single frame.\n */\n const updateValue = () => value.set(combineValues());\n /**\n * Synchronously update the motion value with the latest values during the render.\n * This ensures that within a React render, the styles applied to the DOM are up-to-date.\n */\n updateValue();\n /**\n * Subscribe to all motion values found within the template. Whenever any of them change,\n * schedule an update.\n */\n useIsomorphicLayoutEffect(() => {\n const scheduleUpdate = () => frame.update(updateValue, false, true);\n const subscriptions = values.map((v) => v.on(\"change\", scheduleUpdate));\n return () => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n cancelFrame(updateValue);\n };\n });\n return value;\n}\n\nexport { useCombineMotionValues };\n","import { transform } from '../utils/transform.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRange, options) {\n const transformer = typeof inputRangeOrTransformer === \"function\"\n ? inputRangeOrTransformer\n : transform(inputRangeOrTransformer, outputRange, options);\n return Array.isArray(input)\n ? useListTransform(input, transformer)\n : useListTransform([input], ([latest]) => transformer(latest));\n}\nfunction useListTransform(values, transformer) {\n const latest = useConstant(() => []);\n return useCombineMotionValues(values, () => {\n latest.length = 0;\n const numValues = values.length;\n for (let i = 0; i < numValues; i++) {\n latest[i] = values[i].get();\n }\n return transformer(latest);\n });\n}\n\nexport { useTransform };\n"],"names":["resolveElements","elements","scope","selectorCache","_a","root","document","_utils_errors_mjs__WEBPACK_IMPORTED_MODULE_0__","k","Boolean","current","querySelectorAll","Element","Array","from","observer","windowResizeHandler","resizeHandlers","WeakMap","notifyTarget","target","contentRect","borderBoxSize","get","forEach","handler","contentSize","size","getElementSize","inlineSize","blockSize","width","height","SVGElement","getBBox","offsetWidth","offsetHeight","notifyAll","entries","windowCallbacks","Set","createAxisInfo","offset","progress","scrollLength","targetOffset","targetLength","containerLength","velocity","createScrollInfo","time","x","y","keys","length","position","updateAxisInfo","element","axisName","info","axis","prev","prevTime","Y","elapsed","velocity_per_second","R","ScrollOffset","Enter","Exit","Any","All","namedEdges","start","center","end","resolveEdge","edge","inset","delta","undefined","asNumber","parseFloat","endsWith","documentElement","clientWidth","clientHeight","defaultOffset","point","scrollListeners","resizeListeners","onScrollHandlers","getEventTarget","window","refWarning","name","ref","errors","K","createScrollMotionValues","scrollX","value","B","scrollY","scrollXProgress","scrollYProgress","useScroll","container","layoutEffect","options","values","use_constant","h","useLifecycleEffect","use_isomorphic_effect","L","react","useEffect","scroll_scroll","onScroll","containerHandlers","set","containerHandler","createOnScrollHandler","measure","node","offsetLeft","offsetTop","offsetParent","scrollWidth","scrollHeight","update","resolveOffsets","offsetDefinition","lengthLabel","calcInset","HTMLElement","SVGGraphicsElement","top","left","tagName","parentNode","targetSize","containerSize","hasChanged","interpolate","numOffsets","i","resolveOffset","targetInset","isArray","targetPoint","trim","includes","split","interpolatorOffsets","s","offsets_default","notify","add","has","measureAll","updateAll","data","w","timestamp","listener","frameloop","Wi","read","addEventListener","passive","innerWidth","innerHeight","callback","delete","resizeElement","ResizeObserver","resolve_element","I","elementHandlers","observe","unobserve","Pn","currentHandlers","scrollListener","removeEventListener","isCustomValueType","v","mix","getMixer","useTransform","input","inputRangeOrTransformer","outputRange","transformer","transform","args","useImmediate","argOffset","inputValue","inputRange","interpolator","mixer","useListTransform","latest","useCombineMotionValues","combineValues","useMotionValue","initial","es_value","isStatic","useContext","MotionConfigContext","_","setLatest","useState","on","updateValue","scheduleUpdate","subscriptions","map","unsubscribe","numValues"],"sourceRoot":""}