{"version":3,"file":"7920-7172c157bec30c2b9140.js","mappings":"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","sources":["webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-motion-value.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-scroll.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-spring.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/utils/transform.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-combine-values.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-transform.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-computed.mjs"],"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 { 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 { 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 { 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","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 getTargetSize(target) {\n return \"getBBox\" in target && target.tagName !== \"svg\"\n ? target.getBBox()\n : { width: target.clientWidth, height: target.clientHeight };\n}\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 : getTargetSize(target);\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","function calcInset(element, container) {\n const 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.tagName === \"svg\") {\n /**\n * This isn't an ideal approach to measuring the offset of tags.\n * It would be preferable, given they behave like HTMLElements in most ways\n * to use offsetLeft/Top. But these don't exist on . Likewise we\n * can't use .getBBox() like most SVG elements as these provide the offset\n * relative to the SVG itself, which for is usually 0x0.\n */\n const svgBoundingBox = current.getBoundingClientRect();\n current = current.parentElement;\n const parentBoundingBox = current.getBoundingClientRect();\n inset.x += svgBoundingBox.left - parentBoundingBox.left;\n inset.y += svgBoundingBox.top - parentBoundingBox.top;\n }\n else if (current instanceof SVGGraphicsElement) {\n const { x, y } = current.getBBox();\n inset.x += x;\n inset.y += y;\n let svg = null;\n let parent = current.parentNode;\n while (!svg) {\n if (parent.tagName === \"svg\") {\n svg = parent;\n }\n parent = current.parentNode;\n }\n current = svg;\n }\n else {\n break;\n }\n }\n return inset;\n}\n\nexport { calcInset };\n","import { warnOnce } from '../../../utils/warn-once.mjs';\nimport { 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 /**\n * In development mode ensure scroll containers aren't position: static as this makes\n * it difficult to measure their relative positions.\n */\n if (process.env.NODE_ENV !== \"production\") {\n if (container && target && target !== container) {\n warnOnce(getComputedStyle(container).position !== \"static\", \"Please ensure that the container has a non-static position, like 'relative', 'fixed', or 'absolute' to ensure scroll offset is calculated correctly.\");\n }\n }\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 { resize } from '../resize/index.mjs';\nimport { createScrollInfo } from './info.mjs';\nimport { createOnScrollHandler } from './on-scroll-handler.mjs';\nimport { frame, cancelFrame, frameData } from '../../../frameloop/frame.mjs';\n\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\nconst getEventTarget = (element) => element === document.documentElement ? window : element;\nfunction scrollInfo(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.read(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 { scrollInfo };\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 { motionValue } from './index.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useEffect } from 'react';\nimport { warning } from '../utils/errors.mjs';\nimport { scrollInfo } from '../render/dom/scroll/track.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 scrollInfo(({ 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 }, [container, target, JSON.stringify(options.offset)]);\n return values;\n}\n\nexport { useScroll };\n","import { useContext, useRef, useInsertionEffect } from 'react';\nimport { isMotionValue } from './utils/is-motion-value.mjs';\nimport { useMotionValue } from './use-motion-value.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { animateValue } from '../animation/animators/js/index.mjs';\nimport { millisecondsToSeconds } from '../utils/time-conversion.mjs';\nimport { frameData } from '../frameloop/frame.mjs';\n\n/**\n * Creates a `MotionValue` that, when `set`, will use a spring animation to animate to its new state.\n *\n * It can either work as a stand-alone `MotionValue` by initialising it with a value, or as a subscriber\n * to another `MotionValue`.\n *\n * @remarks\n *\n * ```jsx\n * const x = useSpring(0, { stiffness: 300 })\n * const y = useSpring(x, { damping: 10 })\n * ```\n *\n * @param inputValue - `MotionValue` or number. If provided a `MotionValue`, when the input `MotionValue` changes, the created `MotionValue` will spring towards that value.\n * @param springConfig - Configuration options for the spring.\n * @returns `MotionValue`\n *\n * @public\n */\nfunction useSpring(source, config = {}) {\n const { isStatic } = useContext(MotionConfigContext);\n const activeSpringAnimation = useRef(null);\n const value = useMotionValue(isMotionValue(source) ? source.get() : source);\n const stopAnimation = () => {\n if (activeSpringAnimation.current) {\n activeSpringAnimation.current.stop();\n }\n };\n useInsertionEffect(() => {\n return value.attach((v, set) => {\n /**\n * A more hollistic approach to this might be to use isStatic to fix VisualElement animations\n * at that level, but this will work for now\n */\n if (isStatic)\n return set(v);\n stopAnimation();\n activeSpringAnimation.current = animateValue({\n keyframes: [value.get(), v],\n velocity: value.getVelocity(),\n type: \"spring\",\n restDelta: 0.001,\n restSpeed: 0.01,\n ...config,\n onUpdate: set,\n });\n /**\n * If we're between frames, resync the animation to the frameloop.\n */\n if (!frameData.isProcessing) {\n const delta = performance.now() - frameData.timestamp;\n if (delta < 30) {\n activeSpringAnimation.current.time =\n millisecondsToSeconds(delta);\n }\n }\n return value.get();\n }, stopAnimation);\n }, [JSON.stringify(config)]);\n useIsomorphicLayoutEffect(() => {\n if (isMotionValue(source)) {\n return source.on(\"change\", (v) => value.set(parseFloat(v)));\n }\n }, [value]);\n return value;\n}\n\nexport { useSpring };\n","import { interpolate } from './interpolate.mjs';\n\nconst isCustomValueType = (v) => {\n return v && 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 { useMotionValue } from './use-motion-value.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { cancelFrame, frame } from '../frameloop/frame.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';\nimport { useComputed } from './use-computed.mjs';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRange, options) {\n if (typeof input === \"function\") {\n return useComputed(input);\n }\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","import { collectMotionValues } from './index.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\n\nfunction useComputed(compute) {\n /**\n * Open session of collectMotionValues. Any MotionValue that calls get()\n * will be saved into this array.\n */\n collectMotionValues.current = [];\n compute();\n const value = useCombineMotionValues(collectMotionValues.current, compute);\n /**\n * Synchronously close session of collectMotionValues.\n */\n collectMotionValues.current = undefined;\n return value;\n}\n\nexport { useComputed };\n"],"names":["resolveElements","elements","scope","selectorCache","_a","root","document","Boolean","current","querySelectorAll","Element","Array","from","useMotionValue","initial","value","isStatic","useContext","setLatest","useState","useEffect","on","resizeHandlers","WeakMap","observer","notifyTarget","target","contentRect","borderBoxSize","get","forEach","handler","contentSize","size","inlineSize","blockSize","width","height","SVGElement","getBBox","offsetWidth","offsetHeight","getElementSize","notifyAll","entries","resizeElement","ResizeObserver","element","elementHandlers","Set","set","add","observe","delete","unobserve","windowCallbacks","windowResizeHandler","resizeWindow","callback","window","innerWidth","innerHeight","info","addEventListener","undefined","maxElapsed","createScrollInfo","time","x","offset","progress","scrollLength","targetOffset","targetLength","containerLength","velocity","y","keys","length","position","updateAxisInfo","axisName","axis","prev","prevTime","elapsed","ScrollOffset","Enter","Exit","Any","All","namedEdges","start","center","end","resolveEdge","edge","inset","delta","asNumber","parseFloat","endsWith","documentElement","clientWidth","clientHeight","defaultOffset","resolveOffset","targetInset","offsetDefinition","isArray","targetPoint","containerPoint","trim","includes","split","point","resolveOffsets","container","options","lengthLabel","HTMLElement","offsetLeft","offsetTop","offsetParent","tagName","svgBoundingBox","getBoundingClientRect","parentElement","parentBoundingBox","left","top","SVGGraphicsElement","svg","parent","parentNode","calcInset","targetSize","scrollWidth","scrollHeight","getTargetSize","containerSize","hasChanged","interpolate","numOffsets","i","interpolatorOffsets","createOnScrollHandler","onScroll","measure","node","update","updateScrollInfo","notify","scrollListeners","resizeListeners","onScrollHandlers","getEventTarget","scrollInfo","containerHandlers","containerHandler","has","measureAll","updateAll","timestamp","listener","read","passive","b","a","currentHandlers","scrollListener","removeEventListener","refWarning","name","ref","createScrollMotionValues","scrollX","scrollY","scrollXProgress","scrollYProgress","useScroll","layoutEffect","values","JSON","stringify","useSpring","source","config","activeSpringAnimation","useRef","stopAnimation","stop","useInsertionEffect","attach","v","keyframes","getVelocity","type","restDelta","restSpeed","onUpdate","isProcessing","performance","now","getMixer","mix","isCustomValueType","useCombineMotionValues","combineValues","updateValue","scheduleUpdate","subscriptions","map","unsubscribe","useTransform","input","inputRangeOrTransformer","outputRange","compute","useComputed","transformer","args","useImmediate","argOffset","inputValue","inputRange","interpolator","mixer","transform","useListTransform","latest","numValues"],"sourceRoot":""}