{"version":3,"file":"react/js/vendor.framer-motion@current-a0a7bb72.832d7622a4790089dab6.js","mappings":"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","sources":["webpack:///./node_modules/framer-motion/dist/es/motion/features/Feature.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/animations.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/gestures.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/layout.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/index.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack:///./node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs"],"sourcesContent":["class Feature {\n constructor(node) {\n this.isMounted = false;\n this.node = node;\n }\n update() { }\n}\n\nexport { Feature };\n","import { isAnimationControls } from '../../../animation/utils/is-animation-controls.mjs';\nimport { createAnimationState } from '../../../render/utils/animation-state.mjs';\nimport { Feature } from '../Feature.mjs';\n\nclass AnimationFeature extends Feature {\n /**\n * We dynamically generate the AnimationState manager as it contains a reference\n * to the underlying animation library. We only want to load that if we load this,\n * so people can optionally code split it out using the `m` component.\n */\n constructor(node) {\n super(node);\n node.animationState || (node.animationState = createAnimationState(node));\n }\n updateAnimationControlsSubscription() {\n const { animate } = this.node.getProps();\n this.unmount();\n if (isAnimationControls(animate)) {\n this.unmount = animate.subscribe(this.node);\n }\n }\n /**\n * Subscribe any provided AnimationControls to the component's VisualElement\n */\n mount() {\n this.updateAnimationControlsSubscription();\n }\n update() {\n const { animate } = this.node.getProps();\n const { animate: prevAnimate } = this.node.prevProps || {};\n if (animate !== prevAnimate) {\n this.updateAnimationControlsSubscription();\n }\n }\n unmount() { }\n}\n\nexport { AnimationFeature };\n","import { Feature } from '../Feature.mjs';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n constructor() {\n super(...arguments);\n this.id = id++;\n }\n update() {\n if (!this.node.presenceContext)\n return;\n const { isPresent, onExitComplete } = this.node.presenceContext;\n const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n if (!this.node.animationState || isPresent === prevIsPresent) {\n return;\n }\n const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent);\n if (onExitComplete && !isPresent) {\n exitAnimation.then(() => onExitComplete(this.id));\n }\n }\n mount() {\n const { register } = this.node.presenceContext || {};\n if (register) {\n this.unmount = register(this.id);\n }\n }\n unmount() { }\n}\n\nexport { ExitAnimationFeature };\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n animation: {\n Feature: AnimationFeature,\n },\n exit: {\n Feature: ExitAnimationFeature,\n },\n};\n\nexport { animations };\n","const featureProps = {\n animation: [\n \"animate\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"exit\",\n \"whileInView\",\n \"whileFocus\",\n \"whileDrag\",\n ],\n exit: [\"exit\"],\n drag: [\"drag\", \"dragControls\"],\n focus: [\"whileFocus\"],\n hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n layout: [\"layout\", \"layoutId\"],\n};\nconst featureDefinitions = {};\nfor (const key in featureProps) {\n featureDefinitions[key] = {\n isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n };\n}\n\nexport { featureDefinitions };\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\n\nconst drag = {\n pan: {\n Feature: PanGesture,\n },\n drag: {\n Feature: DragGesture,\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { drag };\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n const callback = observerCallbacks.get(entry.target);\n callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n const lookupRoot = root || document;\n /**\n * If we don't have an observer lookup map for this root, create one.\n */\n if (!observers.has(lookupRoot)) {\n observers.set(lookupRoot, {});\n }\n const rootObservers = observers.get(lookupRoot);\n const key = JSON.stringify(options);\n /**\n * If we don't have an observer for this combination of root and settings,\n * create one.\n */\n if (!rootObservers[key]) {\n rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n }\n return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n const rootInteresectionObserver = initIntersectionObserver(options);\n observerCallbacks.set(element, callback);\n rootInteresectionObserver.observe(element);\n return () => {\n observerCallbacks.delete(element);\n rootInteresectionObserver.unobserve(element);\n };\n}\n\nexport { observeIntersection };\n","import { Feature } from '../Feature.mjs';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n some: 0,\n all: 1,\n};\nclass InViewFeature extends Feature {\n constructor() {\n super(...arguments);\n this.hasEnteredView = false;\n this.isInView = false;\n }\n startObserver() {\n this.unmount();\n const { viewport = {} } = this.node.getProps();\n const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n const options = {\n root: root ? root.current : undefined,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n };\n const onIntersectionUpdate = (entry) => {\n const { isIntersecting } = entry;\n /**\n * If there's been no change in the viewport state, early return.\n */\n if (this.isInView === isIntersecting)\n return;\n this.isInView = isIntersecting;\n /**\n * Handle hasEnteredView. If this is only meant to run once, and\n * element isn't visible, early return. Otherwise set hasEnteredView to true.\n */\n if (once && !isIntersecting && this.hasEnteredView) {\n return;\n }\n else if (isIntersecting) {\n this.hasEnteredView = true;\n }\n if (this.node.animationState) {\n this.node.animationState.setActive(\"whileInView\", isIntersecting);\n }\n /**\n * Use the latest committed props rather than the ones in scope\n * when this observer is created\n */\n const { onViewportEnter, onViewportLeave } = this.node.getProps();\n const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n callback && callback(entry);\n };\n return observeIntersection(this.node.current, options, onIntersectionUpdate);\n }\n mount() {\n this.startObserver();\n }\n update() {\n if (typeof IntersectionObserver === \"undefined\")\n return;\n const { props, prevProps } = this.node;\n const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n if (hasOptionsChanged) {\n this.startObserver();\n }\n }\n unmount() { }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n inView: {\n Feature: InViewFeature,\n },\n tap: {\n Feature: PressGesture,\n },\n focus: {\n Feature: FocusGesture,\n },\n hover: {\n Feature: HoverGesture,\n },\n};\n\nexport { gestureAnimations };\n","import { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n layout: {\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { layout };\n","import { jsx } from 'react/jsx-runtime';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\nimport { globalProjectionState } from '../../../projection/node/state.mjs';\nimport { correctBorderRadius } from '../../../projection/styles/scale-border-radius.mjs';\nimport { correctBoxShadow } from '../../../projection/styles/scale-box-shadow.mjs';\nimport { addScaleCorrector } from '../../../projection/styles/scale-correction.mjs';\nimport { microtask } from '../../../frameloop/microtask.mjs';\nimport { frame } from '../../../frameloop/frame.mjs';\n\nclass MeasureLayoutWithContext extends Component {\n /**\n * This only mounts projection nodes for components that\n * need measuring, we might want to do it for all components\n * in order to incorporate transforms\n */\n componentDidMount() {\n const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n const { projection } = visualElement;\n addScaleCorrector(defaultScaleCorrectors);\n if (projection) {\n if (layoutGroup.group)\n layoutGroup.group.add(projection);\n if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n switchLayoutGroup.register(projection);\n }\n projection.root.didUpdate();\n projection.addEventListener(\"animationComplete\", () => {\n this.safeToRemove();\n });\n projection.setOptions({\n ...projection.options,\n onExitComplete: () => this.safeToRemove(),\n });\n }\n globalProjectionState.hasEverUpdated = true;\n }\n getSnapshotBeforeUpdate(prevProps) {\n const { layoutDependency, visualElement, drag, isPresent } = this.props;\n const projection = visualElement.projection;\n if (!projection)\n return null;\n /**\n * TODO: We use this data in relegate to determine whether to\n * promote a previous element. There's no guarantee its presence data\n * will have updated by this point - if a bug like this arises it will\n * have to be that we markForRelegation and then find a new lead some other way,\n * perhaps in didUpdate\n */\n projection.isPresent = isPresent;\n if (drag ||\n prevProps.layoutDependency !== layoutDependency ||\n layoutDependency === undefined) {\n projection.willUpdate();\n }\n else {\n this.safeToRemove();\n }\n if (prevProps.isPresent !== isPresent) {\n if (isPresent) {\n projection.promote();\n }\n else if (!projection.relegate()) {\n /**\n * If there's another stack member taking over from this one,\n * it's in charge of the exit animation and therefore should\n * be in charge of the safe to remove. Otherwise we call it here.\n */\n frame.postRender(() => {\n const stack = projection.getStack();\n if (!stack || !stack.members.length) {\n this.safeToRemove();\n }\n });\n }\n }\n return null;\n }\n componentDidUpdate() {\n const { projection } = this.props.visualElement;\n if (projection) {\n projection.root.didUpdate();\n microtask.postRender(() => {\n if (!projection.currentAnimation && projection.isLead()) {\n this.safeToRemove();\n }\n });\n }\n }\n componentWillUnmount() {\n const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n const { projection } = visualElement;\n if (projection) {\n projection.scheduleCheckAfterUnmount();\n if (layoutGroup && layoutGroup.group)\n layoutGroup.group.remove(projection);\n if (promoteContext && promoteContext.deregister)\n promoteContext.deregister(projection);\n }\n }\n safeToRemove() {\n const { safeToRemove } = this.props;\n safeToRemove && safeToRemove();\n }\n render() {\n return null;\n }\n}\nfunction MeasureLayout(props) {\n const [isPresent, safeToRemove] = usePresence();\n const layoutGroup = useContext(LayoutGroupContext);\n return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\nconst defaultScaleCorrectors = {\n borderRadius: {\n ...correctBorderRadius,\n applyTo: [\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n ],\n },\n borderTopLeftRadius: correctBorderRadius,\n borderTopRightRadius: correctBorderRadius,\n borderBottomLeftRadius: correctBorderRadius,\n borderBottomRightRadius: correctBorderRadius,\n boxShadow: correctBoxShadow,\n};\n\nexport { MeasureLayout };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback((instance) => {\n instance && visualState.mount && visualState.mount(instance);\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useContext } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { SwitchLayoutGroupContext } from '../context/SwitchLayoutGroupContext.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component, }) {\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\n /**\n * If we need to measure the element we load this functionality in a\n * separate class component in order to gain access to getSnapshotBeforeUpdate.\n */\n let MeasureLayout;\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n };\n const { isStatic } = configAndProps;\n const context = useCreateMotionContext(props);\n const visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n const isStrict = useContext(LazyContext).strict;\n if (context.visualElement) {\n MeasureLayout = context.visualElement.loadFeatures(\n // Note: Pass the full new combined props to correctly re-render dynamic feature components.\n configAndProps, isStrict, preloadedFeatures, initialLayoutGroupConfig);\n }\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout && context.visualElement ? (jsx(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, context.visualElement)] }));\n }\n const ForwardRefComponent = forwardRef(MotionComponent);\n ForwardRefComponent[motionComponentSymbol] = Component;\n return ForwardRefComponent;\n}\nfunction useLayoutId({ layoutId }) {\n const layoutGroupId = useContext(LayoutGroupContext).id;\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\n\nexport { createMotionComponent };\n","import { featureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n for (const key in features) {\n featureDefinitions[key] = {\n ...featureDefinitions[key],\n ...features[key],\n };\n }\n}\n\nexport { loadFeatures };\n","import { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { optimizedAppearDataAttribute } from '../../animation/optimized-appear/data-id.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n const { visualElement: parent } = useContext(MotionContext);\n const lazyContext = useContext(LazyContext);\n const presenceContext = useContext(PresenceContext);\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion;\n const visualElementRef = useRef();\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement = createVisualElement || lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState,\n parent,\n props,\n presenceContext,\n blockInitialAnimation: presenceContext\n ? presenceContext.initial === false\n : false,\n reducedMotionConfig,\n });\n }\n const visualElement = visualElementRef.current;\n useInsertionEffect(() => {\n visualElement && visualElement.update(props, presenceContext);\n });\n /**\n * Cache this value as we want to know whether HandoffAppearAnimations\n * was present on initial render - it will be deleted after this.\n */\n const wantsHandoff = useRef(Boolean(props[optimizedAppearDataAttribute] &&\n !window.HandoffComplete));\n useIsomorphicLayoutEffect(() => {\n if (!visualElement)\n return;\n microtask.render(visualElement.render);\n /**\n * Ideally this function would always run in a useEffect.\n *\n * However, if we have optimised appear animations to handoff from,\n * it needs to happen synchronously to ensure there's no flash of\n * incorrect styles in the event of a hydration error.\n *\n * So if we detect a situtation where optimised appear animations\n * are running, we use useLayoutEffect to trigger animations.\n */\n if (wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n });\n useEffect(() => {\n if (!visualElement)\n return;\n visualElement.updateFeatures();\n if (!wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n if (wantsHandoff.current) {\n wantsHandoff.current = false;\n // This ensures all future calls to animateChanges() will run in useEffect\n window.HandoffComplete = true;\n }\n });\n return visualElement;\n}\n\nexport { useVisualElement };\n","import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nimport { transformProps } from '../../render/html/utils/transform.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n return (transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","import { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { resolveVariantFromProps } from '../../render/utils/resolve-variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { isControllingVariants, isVariantNode } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, onMount, }, props, context, presenceContext) {\n const state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = (instance) => onMount(props, instance, state);\n }\n return state;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n const context = useContext(MotionContext);\n const presenceContext = useContext(PresenceContext);\n const make = () => makeState(config, props, context, presenceContext);\n return isStatic ? make() : useConstant(make);\n};\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n const values = {};\n const motionValues = scrapeMotionValues(props, {});\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n let { initial, animate } = props;\n const isControllingVariants$1 = isControllingVariants(props);\n const isVariantNode$1 = isVariantNode(props);\n if (context &&\n isVariantNode$1 &&\n !isControllingVariants$1 &&\n props.inherit !== false) {\n if (initial === undefined)\n initial = context.initial;\n if (animate === undefined)\n animate = context.animate;\n }\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false;\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n const variantToSet = isInitialAnimationBlocked ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach((definition) => {\n const resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n const { transitionEnd, transition, ...target } = resolved;\n for (const key in target) {\n let valueTarget = target[key];\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n const index = isInitialAnimationBlocked\n ? valueTarget.length - 1\n : 0;\n valueTarget = valueTarget[index];\n }\n if (valueTarget !== null) {\n values[key] = valueTarget;\n }\n }\n for (const key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n \"animate\",\n \"exit\",\n \"variants\",\n \"initial\",\n \"style\",\n \"values\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"custom\",\n \"inherit\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"_dragX\",\n \"_dragY\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"globalTapTarget\",\n \"ignoreStrict\",\n \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n return (key.startsWith(\"while\") ||\n (key.startsWith(\"drag\") && key !== \"draggable\") ||\n key.startsWith(\"layout\") ||\n key.startsWith(\"onTap\") ||\n key.startsWith(\"onPan\") ||\n key.startsWith(\"onLayout\") ||\n validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n"],"names":["Feature","constructor","node","this","isMounted","update","AnimationFeature","super","animationState","updateAnimationControlsSubscription","animate","getProps","unmount","subscribe","mount","prevAnimate","prevProps","id","ExitAnimationFeature","arguments","presenceContext","isPresent","onExitComplete","prevIsPresent","prevPresenceContext","exitAnimation","setActive","then","register","animations","animation","exit","featureProps","drag","focus","hover","tap","pan","inView","layout","featureDefinitions","key","isEnabled","props","some","name","ProjectionNode","MeasureLayout","observerCallbacks","WeakMap","observers","fireObserverCallback","entry","callback","get","target","fireAllObserverCallbacks","entries","forEach","observeIntersection","element","options","rootInteresectionObserver","root","lookupRoot","document","has","set","rootObservers","JSON","stringify","IntersectionObserver","initIntersectionObserver","observe","delete","unobserve","thresholdNames","all","InViewFeature","hasEnteredView","isInView","startObserver","viewport","margin","rootMargin","amount","once","current","undefined","threshold","isIntersecting","onViewportEnter","onViewportLeave","prevViewport","hasViewportOptionChanged","gestureAnimations","MeasureLayoutWithContext","Component","componentDidMount","visualElement","layoutGroup","switchLayoutGroup","layoutId","projection","defaultScaleCorrectors","group","add","didUpdate","addEventListener","safeToRemove","setOptions","hasEverUpdated","getSnapshotBeforeUpdate","layoutDependency","willUpdate","promote","relegate","postRender","stack","getStack","members","length","componentDidUpdate","currentAnimation","isLead","componentWillUnmount","promoteContext","scheduleCheckAfterUnmount","remove","deregister","render","useContext","L","jsx","borderRadius","applyTo","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","boxShadow","useMotionRef","visualState","externalRef","useCallback","instance","motionComponentSymbol","Symbol","for","createMotionComponent","preloadedFeatures","createVisualElement","useRender","useVisualState","features","loadFeatures","ForwardRefComponent","forwardRef","configAndProps","MotionConfigContext","useLayoutId","isStatic","context","parent","MotionContext","lazyContext","LazyContext","PresenceContext","reducedMotionConfig","reducedMotion","visualElementRef","useRef","renderer","blockInitialAnimation","initial","useInsertionEffect","wantsHandoff","Boolean","window","HandoffComplete","microtask","animateChanges","useEffect","updateFeatures","useVisualElement","initialLayoutGroupConfig","SwitchLayoutGroupContext","isStrict","strict","jsxs","Provider","value","children","layoutGroupId","LayoutGroupContext","isForcedMotionValue","startsWith","makeUseVisualState","config","make","scrapeMotionValuesFromProps","createRenderState","onMount","state","latestValues","makeLatestValues","renderState","makeState","scrapeMotionValues","values","motionValues","isControllingVariants$1","isVariantNode$1","inherit","isInitialAnimationBlocked","variantToSet","Array","isArray","definition","resolved","transitionEnd","transition","valueTarget","validMotionProps","Set","isValidMotionProp"],"sourceRoot":""}