{"version":3,"sources":["webpack:///./node_modules/popmotion/dist/es/utils/mix.js","webpack:///./node_modules/style-value-types/dist/es/numbers/index.js","webpack:///./node_modules/style-value-types/dist/es/color/rgba.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/compare-by-depth.js","webpack:///./node_modules/framer-motion/dist/es/context/LazyContext.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/defaults.js","webpack:///./node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/build-transform.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/build-styles.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/path.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js","webpack:///./node_modules/framer-motion/dist/es/utils/subscription-manager.js","webpack:///./node_modules/framer-motion/dist/es/utils/array.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/projection/scale-correction.js","webpack:///./node_modules/framer-motion/dist/es/components/AnimateSharedLayout/types.js","webpack:///./node_modules/popmotion/dist/es/animations/utils/find-spring.js","webpack:///./node_modules/popmotion/dist/es/animations/generators/spring.js","webpack:///./node_modules/popmotion/dist/es/utils/mix-color.js","webpack:///./node_modules/popmotion/dist/es/utils/mix-complex.js","webpack:///./node_modules/popmotion/dist/es/utils/interpolate.js","webpack:///./node_modules/popmotion/dist/es/easing/utils.js","webpack:///./node_modules/popmotion/dist/es/easing/index.js","webpack:///./node_modules/popmotion/dist/es/animations/generators/keyframes.js","webpack:///./node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js","webpack:///./node_modules/popmotion/dist/es/animations/generators/decay.js","webpack:///./node_modules/popmotion/dist/es/animations/utils/elapsed.js","webpack:///./node_modules/popmotion/dist/es/animations/index.js","webpack:///./node_modules/framer-motion/dist/es/utils/time-conversion.js","webpack:///./node_modules/popmotion/dist/es/easing/cubic-bezier.js","webpack:///./node_modules/framer-motion/dist/es/animation/utils/easing.js","webpack:///./node_modules/framer-motion/dist/es/animation/utils/is-animatable.js","webpack:///./node_modules/framer-motion/dist/es/animation/utils/default-transitions.js","webpack:///./node_modules/framer-motion/dist/es/animation/utils/transitions.js","webpack:///./node_modules/popmotion/dist/es/animations/inertia.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/animation.js","webpack:///./node_modules/popmotion/dist/es/utils/clamp.js","webpack:///./node_modules/popmotion/dist/es/utils/inc.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.js","webpack:///./node_modules/style-value-types/dist/es/color/hsla.js","webpack:///./node_modules/style-value-types/dist/es/utils.js","webpack:///./node_modules/framer-motion/dist/es/utils/use-unmount-effect.js","webpack:///./node_modules/popmotion/dist/es/utils/pipe.js","webpack:///./node_modules/framer-motion/dist/es/utils/resolve-value.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/test.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js","webpack:///./node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/render.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/render.js","webpack:///./node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/type-int.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/number.js","webpack:///./node_modules/hey-listen/dist/hey-listen.es.js","webpack:///./node_modules/popmotion/dist/es/utils/progress.js","webpack:///./node_modules/popmotion/dist/es/utils/velocity-per-second.js","webpack:///./node_modules/style-value-types/dist/es/complex/index.js","webpack:///./node_modules/style-value-types/dist/es/color/hex.js","webpack:///./node_modules/style-value-types/dist/es/numbers/units.js","webpack:///./node_modules/style-value-types/dist/es/complex/filter.js","webpack:///./node_modules/framesync/dist/es/on-next-frame.js","webpack:///./node_modules/framesync/dist/es/index.js","webpack:///./node_modules/framesync/dist/es/create-render-step.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/variants.js","webpack:///./node_modules/framer-motion/dist/es/components/LazyMotion/index.js","webpack:///./node_modules/framer-motion/dist/es/utils/shallow-compare.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/types.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/animation-state.js","webpack:///./node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.js","webpack:///./node_modules/framer-motion/dist/es/motion/features/animations.js","webpack:///./node_modules/framer-motion/dist/es/events/use-dom-event.js","webpack:///./node_modules/framer-motion/dist/es/gestures/utils/event-type.js","webpack:///./node_modules/framer-motion/dist/es/events/event-info.js","webpack:///./node_modules/framer-motion/dist/es/events/use-pointer-event.js","webpack:///./node_modules/framer-motion/dist/es/events/utils.js","webpack:///./node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js","webpack:///./node_modules/framer-motion/dist/es/gestures/use-hover-gesture.js","webpack:///./node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js","webpack:///./node_modules/framer-motion/dist/es/motion/features/gestures.js","webpack:///./node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js","webpack:///./node_modules/framer-motion/dist/es/gestures/use-focus-gesture.js","webpack:///./node_modules/framer-motion/dist/es/utils/each-axis.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/is-draggable.js","webpack:///./node_modules/framer-motion/dist/es/utils/geometry/delta-apply.js","webpack:///./node_modules/popmotion/dist/es/utils/is-point.js","webpack:///./node_modules/popmotion/dist/es/utils/is-point-3d.js","webpack:///./node_modules/popmotion/dist/es/utils/distance.js","webpack:///./node_modules/framer-motion/dist/es/utils/geometry/delta-calc.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/state.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/build-projection-transform.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/lifecycles.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/projection.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/flat-tree.js","webpack:///./node_modules/framer-motion/dist/es/motion/features/layout/utils.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/projection/relative-set.js","webpack:///./node_modules/framer-motion/dist/es/render/index.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/motion-values.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.js","webpack:///./node_modules/framer-motion/dist/es/render/html/visual-element.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/projection/measure.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/visual-element.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/features-animation.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/create-visual-element.js","webpack:///./node_modules/framer-motion/dist/es/motion/features/use-features.js","webpack:///./node_modules/framer-motion/dist/es/context/MotionConfigContext.js","webpack:///./node_modules/framer-motion/dist/es/context/MotionContext/index.js","webpack:///./node_modules/framer-motion/dist/es/context/LayoutGroupContext.js","webpack:///./node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js","webpack:///./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js","webpack:///./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js","webpack:///./node_modules/framer-motion/dist/es/utils/is-ref-object.js","webpack:///./node_modules/framer-motion/dist/es/context/MotionContext/create.js","webpack:///./node_modules/framer-motion/dist/es/context/MotionContext/utils.js","webpack:///./node_modules/framer-motion/dist/es/motion/index.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js","webpack:///./node_modules/framer-motion/dist/es/render/html/use-props.js","webpack:///./node_modules/framer-motion/dist/es/motion/utils/valid-prop.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/use-props.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/use-render.js","webpack:///./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js","webpack:///./node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js","webpack:///./node_modules/framer-motion/dist/es/render/svg/config-motion.js","webpack:///./node_modules/framer-motion/dist/es/render/html/config-motion.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/motion-minimal.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/motion-proxy.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/create-config.js","webpack:///./node_modules/framer-motion/dist/es/value/utils/is-motion-value.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/framer-motion/dist/es/render/html/utils/transform.js","webpack:///./node_modules/framer-motion/dist/es/utils/noop.js","webpack:///./node_modules/framer-motion/dist/es/utils/geometry/index.js","webpack:///./node_modules/style-value-types/dist/es/color/index.js","webpack:///./node_modules/framer-motion/dist/es/value/index.js","webpack:///./node_modules/framer-motion/dist/es/context/PresenceContext.js","webpack:///./node_modules/framer-motion/dist/es/utils/use-constant.js","webpack:///./node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js","webpack:///./node_modules/framer-motion/dist/es/motion/features/definitions.js","webpack:///./node_modules/style-value-types/dist/es/color/utils.js","webpack:///./node_modules/framer-motion/dist/es/utils/is-browser.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/value-types/find.js","webpack:///./node_modules/framer-motion/dist/es/render/utils/setters.js","webpack:///./node_modules/framer-motion/dist/es/utils/is-numerical-string.js"],"names":["mix","from","to","progress","number","test","v","parse","parseFloat","transform","alpha","scale","default","clampRgbUnit","rgbUnit","Math","round","rgba","_a","red","green","blue","_b","alpha$1","dimensionValueTypes","findDimensionValueType","find","compareByDepth","a","b","depth","LazyContext","strict","defaultValueTypes","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","filter","WebkitFilter","getDefaultValueType","key","isAnimationControls","start","scrapeMotionValuesFromProps","props","style","newValues","translateAlias","x","y","z","transformPerspective","getValueAsType","value","type","buildHTMLStyles","state","latestValues","projection","layoutState","options","transformTemplate","buildProjectionTransform","buildProjectionTransformOrigin","vars","transformKeys","transformOrigin","length","hasTransform","hasTransformOrigin","transformIsNone","valueType","valueAsType","push","isHydrated","correctedValue","process","applyTo","num","i","deltaFinal","treeScale","undefined","transformIsDefault","_c","enableHardwareAcceleration","_d","allowTransformNone","transformString","sort","transformHasZ","numTransformKeys","trim","buildTransform","originX","originY","originZ","buildTransformOrigin","calcOrigin","origin","offset","size","progressToPixels","dashKeys","array","camelKeys","buildSVGAttrs","attrX","attrY","pathLength","pathSpacing","pathOffset","latest","attrs","dimensions","totalPathLength","width","height","calcSVGTransformOrigin","totalLength","spacing","useDashCase","keys","buildSVGPath","lowercaseSVGElements","isSVGComponent","Component","includes","indexOf","SubscriptionManager","this","subscriptions","prototype","add","handler","_this","notify","c","numSubscriptions","getSize","clear","addUniqueItem","arr","item","removeItem","index","splice","valueScaleCorrection","Presence","VisibilityAction","findSpring","envelope","derivative","duration","bounce","velocity","_e","mass","maxDuration","dampingRatio","clamp","undampedFreq","exponentialDecay","delta","calcAngularFreq","exp","d","e","pow","f","g","initialGuess","result","approximateRoot","isNaN","stiffness","damping","sqrt","durationKeys","physicsKeys","isSpringType","some","spring","restSpeed","restDelta","done","springOptions","isResolvedFromDuration","derived","getSpringOptions","resolveSpring","zero","resolveVelocity","createSpring","initialVelocity","initialDelta","undampedAngularFreq","abs","angularFreq_1","t","sin","cos","dampedAngularFreq_1","freqForT","min","sinh","cosh","next","current","currentVelocity","isBelowVelocityThreshold","isBelowDisplacementThreshold","flipTarget","needsInterpolation","_t","mixLinearColor","fromExpo","toExpo","max","colorTypes","hex","hsla","getColorType","notAnimatable","mixColor","fromColorType","toColorType","fromColor","toColor","blended","mixFunc","getMixer","target","mixComplex","mixArray","output","numValues","blendValue","map","fromThis","mixObject","analyse","parsed","complex","numNumbers","numRGB","numHSL","hue","template","createTransformer","originStats","targetStats","pipe","mixNumber","p","createMixers","ease","customMixer","mixers","mixerFactory","Array","isArray","numMixers","mixer","easingFunction","interpolate","input","isClamp","inputLength","concat","reverse","interpolator","fastInterpolate","lastInputIndex","mixerIndex","foundMixerIndex","progressInRange","slowInterpolate","power","reverseEasing","easing","mirrorEasing","createBackIn","linear","easeIn","easeOut","easeInOut","circIn","acos","circOut","circInOut","backIn","backOut","backInOut","anticipate","backEasing","createAnticipate","bounceOut","p2","bounceIn","defaultEasing","values","keyframes","times","o","convertOffsetToTimes","_value","defaultOffset","createInterpolator","types","decay","timeConstant","_f","modifyTarget","amplitude","ideal","loopElapsed","elapsed","delay","framesync","update","passTimestamp","stop","animate","driverControls","interpolateFromNumber","autoplay","driver","_g","repeat","repeatMax","_h","repeatType","_j","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate","repeatCount","computedDuration","isComplete","isForwardPlayback","animator","config","Set","Object","has","detectAnimationFromOptions","call","animation","reverseElapsed","hasRepeatDelayElapsed","secondsToMilliseconds","seconds","a1","a2","calcBezier","getSlope","cubicBezier","mX1","mY1","mX2","mY2","sampleValues","Float32Array","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","easingLookup","bounceInOut","easingDefinitionToFunction","definition","isAnimatable","startsWith","underDampedSpring","criticallyDampedSpring","linearTween","defaultTransitions","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","opacity","legacyRepeatWarning","convertTransitionToAnimationOptions","yoyo","flip","loop","transition","isEasingArray","getPopmotionAnimationOptions","valueKey","transitionFactory","hydrateKeyframes","when","delayChildren","staggerChildren","staggerDirection","isTransitionDefined","valueTransition","getValueTransition","get","isTargetAnimatable","isZero","getZeroUnit","isOriginAnimatable","getVelocity","set","currentAnimation","bounceStiffness","bounceDamping","isOutOfBounds","boundaryNearest","startAnimation","startSpring","prev_1","current_1","boundary_1","heading_1","inertia","potentialUnitType","delayTimer","controls","getDelayFromTransition","setTimeout","clearTimeout","animateVisualElement","visualElement","notifyAnimationStart","animations","variant","animateVariant","Promise","all","resolvedDefinition","custom","animateTarget","then","notifyAnimationComplete","resolved","getDefaultTransition","transitionOverride","getAnimation","resolve","getChildAnimations","variantChildren","forwardDelay","maxStaggerDuration","generateStaggerDuration","sortByTreeOrder","forEach","child","animateChildren","first","last","makeTargetAnimatable","transitionEnd","animationTypeState","animationState","getState","getValue","valueTarget","shouldBlockAnimation","stopAnimation","forEachValue","sortNodePosition","protectedKeys","needsAnimating","shouldBlock","hasOwnProperty","isNum","getAnimatableNone","defaultValueType","saturation","lightness","sanitize","Number","toFixed","floatRegex","colorRegex","singleColorRegex","isString","useUnmountEffect","callback","combineFunctions","transformers","_i","arguments","reduce","isCustomValue","Boolean","toValue","resolveFinalValueInKeyframes","testValueType","isCSSVariable","isForcedMotionValue","layout","layoutId","renderHTML","element","assign","setProperty","camelCaseAttributes","CAMEL_CASE_PATTERN","camelToDash","str","replace","toLowerCase","toUpperCase","renderSVG","renderState","setAttribute","usePresence","context","isPresent","onExitComplete","register","id","useUniqueId","counter","incrementId","numberValueTypes","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","zIndex","fillOpacity","strokeOpacity","numOctaves","warning","invariant","toFromDifference","velocityPerSecond","frameDuration","numColors","colors","match","apply","numbers","tokenised","convertNumbersToZero","transformer","r","substr","parseInt","createUnitType","unit","endsWith","split","degrees","percent","px","vh","vw","progressPercentage","maxDefaults","applyDefaultFilter","slice","name","defaultValue","functionRegex","functions","join","getCurrentTime","performance","now","Date","onNextFrame","window","requestAnimationFrame","useDefaultElapsed","runNextFrame","isProcessing","timestamp","stepsOrder","steps","acc","toRun","toRunNextFrame","numToRun","toKeepAlive","WeakSet","step","schedule","keepAlive","immediate","addToCurrentFrame","buffer","cancel","delete","frameData","createRenderStep","sync","startLoop","cancelSync","flushSync","processStep","stepId","processFrame","getFrameData","isVariantLabels","isVariantLabel","resolveVariantFromProps","currentValues","variants","resolveVariant","getProps","getCurrent","checkIfControllingVariants","initial","whileHover","whileDrag","whileTap","whileFocus","exit","checkIfVariantNode","LazyMotion","children","features","setIsLoaded","isLazyBundle","loadedRenderer","renderer","loadedFeatures","Provider","shallowCompare","prev","prevLength","AnimationType","variantPriorityOrder","Animate","Hover","Tap","Drag","Focus","Exit","reversePriorityOrder","numAnimationTypes","createAnimationState","animateList","createTypeState","allAnimatedKeys","isInitialRender","buildResolvedTypeValues","animateChanges","changedActiveType","getVariantContext","removedKeys","encounteredKeys","removedVariantIndex","Infinity","_loop_1","typeState","prop","propIsVariant","activeDelta","isActive","isInherited","manuallyAnimateOnMount","prevProp","shouldAnimateType","variantsHaveChanged","definitionList","resolvedValues","prevResolvedValues","allKeys","markToAnimate","blockInitialAnimation","fallbackAnimation_1","fallbackTarget","getBaseTarget","shouldAnimate","isAnimated","setActive","setAnimateFunction","makeAnimator","makeRenderlessComponent","hook","subscribe","presenceContext","PresenceContext","addDomEvent","eventName","addEventListener","removeEventListener","useDomEvent","ref","isTouchEvent","event","touches","defaultPagePoint","pageX","pageY","pointFromTouch","pointType","point","changedTouches","pointFromMouse","extractEventInfo","wrapHandler","shouldFilterPrimaryPointer","eventHandler","listener","isMouseEvent","MouseEvent","button","mouseEventNames","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","touchEventNames","getPointerEventName","onpointerdown","ontouchstart","onmousedown","addPointerEvent","usePointerEvent","createLock","lock","globalHorizontalLock","globalVerticalLock","isDragActive","openGestureLock","drag","openHorizontal_1","openVertical_1","getGlobalLock","createHoverEvent","info","PointerEvent","pointerType","isNodeOrChild","parent","parentElement","gestureAnimations","tap","onTap","onTapStart","onTapCancel","hasPressListeners","isPressing","cancelPointerEndListeners","removePointerEndListener","checkPointerEnd","onPointerUp","getInstance","onPointerCancel","focus","hover","onHoverStart","onHoverEnd","eachAxis","isDraggable","_dragX","resetAxis","axis","originAxis","scalePoint","originPoint","applyPointDelta","translate","boxScale","applyAxisDelta","applyBoxDelta","box","applyAxisTransforms","final","transforms","scaleKey","originKey","axisOrigin","xKeys","yKeys","applyBoxTransforms","finalBox","removePointDelta","removeAxisTransforms","removeAxisDelta","isPoint","isPoint3D","distance1D","isNear","maxDistance","xDelta","yDelta","zDelta","calcLength","updateAxisDelta","source","updateBoxDelta","defaultOrigin","calcRelativeAxis","relative","createLayoutState","layoutCorrected","deltaTransform","zeroLayout","buildLayoutProjectionTransform","latestTransform","identityProjection","buildLayoutProjectionTransformOrigin","names","updateLayoutDeltas","treePath","originBox","treeLength","node","getLayoutState","getLatestValues","applyTreeDeltas","FlatTree","isDirty","remove","calcRelativeOffsetAxis","setCurrentViewportBox","projectionParent","getProjectionParent","relativeOffset","setProjectionTargetAxis","rebaseProjectionTarget","treeType","build","measureViewportBox","renderInstance","render","readValueFromInstance","resetTransform","restoreTransform","removeValueFromRenderState","presenceId","visualState","instance","unsubscribeFromLeadVisualElement","crossfader","projectionTargetProgress","removeFromVariantTree","lifecycles","managers","propSubscriptions","clearAllListeners","manager","updatePropListeners","on","propListener","args","createLifecycles","isEnabled","isTargetLocked","targetFinal","leadProjection","leadLatestValues","hasViewportBoxUpdated","Map","valueSubscriptions","prevMotionValues","baseTarget","isProjectionReady","triggerBuild","valuesToRender","crossfadedValues","getCrossfadeState","notifyUpdate","updateTreeLayoutProjection","layoutTree","fireUpdateLayoutProjection","initialMotionValues","isControllingVariants","isVariantNode","path","isVisible","isMounted","mount","newInstance","pointTo","addVariantChild","unmount","preRender","updateLayoutProjection","stopLayoutAnimation","closestVariantNode","getClosestVariantNode","other","scheduleUpdateLayoutProjection","getLayoutId","getStaticValue","setStaticValue","setVisibility","visibility","scheduleRender","canMutate","addValue","hasValue","removeValue","removeOnChange","onChange","latestValue","removeOnRenderRequest","onRenderRequest","bindToMotionValue","readValue","setBaseTarget","syncRender","setProps","newProps","nextValue","prevValue","existingValue","hasAnimated","updateMotionValuesFromProps","getVariant","startAtParent","context_1","numVariantProps","name_1","variantProps","enableLayoutProjection","lockProjectionTarget","unlockProjectionTarget","setCrossfader","newCrossfader","startLayoutAnimation","isRelative","getProjectionAnimationProgress","relativeTarget","clearListeners","animateMotionValue","withTransform","viewportBox","notifySetAxisTarget","force","shouldRebase","isAnimating","notifyLayoutReady","notifyLayoutUpdate","prevViewportBox","prevTreeScaleX","prevTreeScaleY","prevDeltaTransform","notifyViewportBoxUpdate","fireResolveRelativeTargetBox","foundParent","ancestor","resolveRelativeTargetBox","relativeParent","parentProjection","calcRelativeBox","shouldResetTransform","_layoutResetTransform","newLead","onSetAxisTarget","onLayoutAnimationComplete","presence","Present","layoutSafeToRemove","Entering","cssVariableRegex","getVariableValue","exec","parseCSSVariable","token","fallback","getComputedStyle","getPropertyValue","BoundingBoxDimension","positionalKeys","isPositionalKey","setAndResetVelocity","isNumOrPxType","getPosFromMatrix","matrix","pos","getTranslateFromMatrix","pos2","pos3","_bbox","matrix3d","nonTranslationalTransformKeys","positionalValues","checkAndConvertChangedValueTypes","targetPositionalKeys","removedTransformValues","hasAttemptedToRemoveTransformValues","changedValueTypeKeys","toType","fromType","numKeyframes","removedTransforms","removeNonTranslationalTransform","convertedTarget","changedKeys","originBbox","elementComputedStyle","display","originComputedStyle","targetBbox","convertChangedValueTypes","unitConversion","hasPositionalKey","parseDomVariant","HTMLElement","resolveCSSVariables","htmlConfig","domElement","defaultType","computedStyle","compareDocumentPosition","transformPagePoint","getBoundingClientRect","getBoundingBox","mutableState","transformValues","isProjectionTranform","htmlVisualElement","svgVisualElement","getAttribute","_element","domAnimation","featureNames","numFeatures","MotionConfigContext","isStatic","MotionContext","LayoutGroupContext","useIsomorphicLayoutEffect","useVisualElement","createVisualElement","lazyContext","layoutGroupId","useLayoutId","visualElementRef","isPresenceRoot","notifyUnmount","useMotionRef","externalRef","useCreateMotionContext","inherit","getCurrentTreeVariants","variantLabelsAsDependency","createMotionComponent","preloadedFeatures","useRender","useVisualState","useFeatures","createHtmlRenderState","copyRawValuesOnly","useStyle","useInitialMotionValues","useHTMLProps","htmlProps","draggable","userSelect","WebkitUserSelect","WebkitTouchCallout","touchAction","validMotionProps","isValidMotionProp","shouldForward","emotionIsPropValid_1","createSvgRenderState","useSVGProps","visualProps","rawStyles","createUseRender","forwardMotionProps","filteredProps","isDom","filterProps","elementProps","makeState","createRenderState","onMount","makeLatestValues","makeUseVisualState","scrapeMotionValues","unwrappedValue","motionValues","variantToSet","svgMotionConfig","getBBox","tagName","getTotalLength","htmlMotionConfig","m","createConfig","customMotionComponentConfig","componentCache","Proxy","_target","createMotionProxy","baseConfig","isMotionValue","__assign","s","n","__rest","getOwnPropertySymbols","propertyIsEnumerable","create","__read","Symbol","iterator","ar","error","__spreadArray","pack","l","transformAxes","transformProps","sortTransformProps","operationKey","axesKey","transformPropSet","isTransformProp","transformOriginProps","isTransformOriginProp","noop","any","convertBoundingBoxToAxisBox","transformBoundingBox","transformPoint","topLeft","bottomRight","axisBox","copyAxisBox","zeroDelta","MotionValue","init","timeDelta","lastUpdated","updateSubscribers","velocityUpdateSubscribers","renderSubscribers","canTrackVelocity","updateAndNotify","postRender","scheduleVelocityCheck","velocityCheck","subscription","attach","passiveEffect","getPrevious","clearAnimation","destroy","motionValue","useConstant","isKeyframesTarget","createDefinition","propNames","featureDefinitions","measureLayout","pan","layoutAnimation","loadFeatures","isColorString","testProp","splitColor","aName","bName","cName","isBrowser","valueTypes","findValueType","setMotionValue","setTarget","setVariants","variantLabels","setValues","checkTargetForNewValues","newValueKeys","numNewValues","targetValue","getOriginFromTransition","getOrigin"],"mappings":"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","file":"2-142b112c50e89940f181.js","sourcesContent":["var mix = function (from, to, progress) {\n return -progress * from + progress * to + from;\n};\n\nexport { mix };\n","import { __assign } from 'tslib';\nimport { clamp } from '../utils.js';\n\nvar number = {\n test: function (v) { return typeof v === 'number'; },\n parse: parseFloat,\n transform: function (v) { return v; },\n};\nvar alpha = __assign(__assign({}, number), { transform: clamp(0, 1) });\nvar scale = __assign(__assign({}, number), { default: 1 });\n\nexport { alpha, number, scale };\n","import { __assign } from 'tslib';\nimport { number, alpha } from '../numbers/index.js';\nimport { sanitize, clamp } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar clampRgbUnit = clamp(0, 255);\nvar rgbUnit = __assign(__assign({}, number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } });\nvar rgba = {\n test: isColorString('rgb', 'red'),\n parse: splitColor('red', 'green', 'blue'),\n transform: function (_a) {\n var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return 'rgba(' +\n rgbUnit.transform(red) +\n ', ' +\n rgbUnit.transform(green) +\n ', ' +\n rgbUnit.transform(blue) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')';\n },\n};\n\nexport { rgbUnit, rgba };\n","import { number, px, percent, degrees, vw, vh } from 'style-value-types';\nimport { testValueType } from './test.js';\nimport { auto } from './type-auto.js';\n\n/**\n * A list of value types commonly used for dimensions\n */\nvar dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nvar findDimensionValueType = function (v) {\n return dimensionValueTypes.find(testValueType(v));\n};\n\nexport { dimensionValueTypes, findDimensionValueType };\n","/**\n * ValueType for \"auto\"\n */\nvar auto = {\n test: function (v) { return v === \"auto\"; },\n parse: function (v) { return v; },\n};\n\nexport { auto };\n","var compareByDepth = function (a, b) {\n return a.depth - b.depth;\n};\n\nexport { compareByDepth };\n","import { createContext } from 'react';\n\nvar LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","import { __assign } from 'tslib';\nimport { color, filter } from 'style-value-types';\nimport { numberValueTypes } from './number.js';\n\n/**\n * A map of default value types for common values\n */\nvar defaultValueTypes = __assign(__assign({}, numberValueTypes), { \n // Color props\n color: color, backgroundColor: color, outlineColor: color, fill: color, stroke: color, \n // Border props\n borderColor: color, borderTopColor: color, borderRightColor: color, borderBottomColor: color, borderLeftColor: color, filter: filter, WebkitFilter: filter });\n/**\n * Gets the default ValueType for the provided value key\n */\nvar getDefaultValueType = function (key) { return defaultValueTypes[key]; };\n\nexport { defaultValueTypes, getDefaultValueType };\n","function isAnimationControls(v) {\n return typeof v === \"object\" && typeof v.start === \"function\";\n}\n\nexport { isAnimationControls };\n","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.js';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.js';\n\nfunction scrapeMotionValuesFromProps(props) {\n var style = props.style;\n var newValues = {};\n for (var key in style) {\n if (isMotionValue(style[key]) || isForcedMotionValue(key, props)) {\n newValues[key] = style[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { sortTransformProps } from './transform.js';\n\nvar translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(_a, _b, transformIsDefault, transformTemplate) {\n var transform = _a.transform, transformKeys = _a.transformKeys;\n var _c = _b.enableHardwareAcceleration, enableHardwareAcceleration = _c === void 0 ? true : _c, _d = _b.allowTransformNone, allowTransformNone = _d === void 0 ? true : _d;\n // The transform string we're going to build into.\n var transformString = \"\";\n // Transform keys into their default order - this will determine the output order.\n transformKeys.sort(sortTransformProps);\n // Track whether the defined transform has a defined z so we don't add a\n // second to enable hardware acceleration\n var transformHasZ = false;\n // Loop over each transform and build them into transformString\n var numTransformKeys = transformKeys.length;\n for (var i = 0; i < numTransformKeys; i++) {\n var key = transformKeys[i];\n transformString += (translateAlias[key] || key) + \"(\" + transform[key] + \") \";\n if (key === \"z\")\n transformHasZ = true;\n }\n if (!transformHasZ && enableHardwareAcceleration) {\n transformString += \"translateZ(0)\";\n }\n else {\n transformString = transformString.trim();\n }\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n }\n else if (allowTransformNone && transformIsDefault) {\n transformString = \"none\";\n }\n return transformString;\n}\n/**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\nfunction buildTransformOrigin(_a) {\n var _b = _a.originX, originX = _b === void 0 ? \"50%\" : _b, _c = _a.originY, originY = _c === void 0 ? \"50%\" : _c, _d = _a.originZ, originZ = _d === void 0 ? 0 : _d;\n return originX + \" \" + originY + \" \" + originZ;\n}\n\nexport { buildTransform, buildTransformOrigin };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nvar getValueAsType = function (value, type) {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","import { valueScaleCorrection } from '../../dom/projection/scale-correction.js';\nimport { buildTransform, buildTransformOrigin } from './build-transform.js';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.js';\nimport { isTransformProp, isTransformOriginProp } from './transform.js';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.js';\nimport { numberValueTypes } from '../../dom/value-types/number.js';\n\nfunction buildHTMLStyles(state, latestValues, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n var _a;\n var style = state.style, vars = state.vars, transform = state.transform, transformKeys = state.transformKeys, transformOrigin = state.transformOrigin;\n // Empty the transformKeys array. As we're throwing out refs to its items\n // this might not be as cheap as suspected. Maybe using the array as a buffer\n // with a manual incrementation would be better.\n transformKeys.length = 0;\n // Track whether we encounter any transform or transformOrigin values.\n var hasTransform = false;\n var hasTransformOrigin = false;\n // Does the calculated transform essentially equal \"none\"?\n var transformIsNone = true;\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept seperately for further processing.\n */\n for (var key in latestValues) {\n var value = latestValues[key];\n /**\n * If this is a CSS variable we don't do any further processing.\n */\n if (isCSSVariable(key)) {\n vars[key] = value;\n continue;\n }\n // Convert the value to its default value type, ie 0 -> \"0px\"\n var valueType = numberValueTypes[key];\n var valueAsType = getValueAsType(value, valueType);\n if (isTransformProp(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true;\n transform[key] = valueAsType;\n transformKeys.push(key);\n // If we already know we have a non-default transform, early return\n if (!transformIsNone)\n continue;\n // Otherwise check to see if this is a default transform\n if (value !== ((_a = valueType.default) !== null && _a !== void 0 ? _a : 0))\n transformIsNone = false;\n }\n else if (isTransformOriginProp(key)) {\n transformOrigin[key] = valueAsType;\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n }\n else {\n /**\n * If layout projection is on, and we need to perform scale correction for this\n * value type, perform it.\n */\n if ((projection === null || projection === void 0 ? void 0 : projection.isHydrated) &&\n (layoutState === null || layoutState === void 0 ? void 0 : layoutState.isHydrated) &&\n valueScaleCorrection[key]) {\n var correctedValue = valueScaleCorrection[key].process(value, layoutState, projection);\n /**\n * Scale-correctable values can define a number of other values to break\n * down into. For instance borderRadius needs applying to borderBottomLeftRadius etc\n */\n var applyTo = valueScaleCorrection[key].applyTo;\n if (applyTo) {\n var num = applyTo.length;\n for (var i = 0; i < num; i++) {\n style[applyTo[i]] = correctedValue;\n }\n }\n else {\n style[key] = correctedValue;\n }\n }\n else {\n style[key] = valueAsType;\n }\n }\n }\n if (layoutState &&\n projection &&\n buildProjectionTransform &&\n buildProjectionTransformOrigin) {\n style.transform = buildProjectionTransform(layoutState.deltaFinal, layoutState.treeScale, hasTransform ? transform : undefined);\n if (transformTemplate) {\n style.transform = transformTemplate(transform, style.transform);\n }\n style.transformOrigin = buildProjectionTransformOrigin(layoutState);\n }\n else {\n if (hasTransform) {\n style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n }\n if (hasTransformOrigin) {\n style.transformOrigin = buildTransformOrigin(transformOrigin);\n }\n }\n}\n\nexport { buildHTMLStyles };\n","import { px } from 'style-value-types';\n\nfunction calcOrigin(origin, offset, size) {\n return typeof origin === \"string\"\n ? origin\n : px.transform(offset + size * origin);\n}\n/**\n * The SVG transform origin defaults are different to CSS and is less intuitive,\n * so we use the measured dimensions of the SVG to reconcile these.\n */\nfunction calcSVGTransformOrigin(dimensions, originX, originY) {\n var pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n var pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n return pxOriginX + \" \" + pxOriginY;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from 'style-value-types';\n\n// Convert a progress 0-1 to a pixels value based on the provided length\nvar progressToPixels = function (progress, length) {\n return px.transform(progress * length);\n};\nvar dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nvar camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nfunction buildSVGPath(attrs, totalLength, length, spacing, offset, useDashCase) {\n if (spacing === void 0) { spacing = 1; }\n if (offset === void 0) { offset = 0; }\n if (useDashCase === void 0) { useDashCase = true; }\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n var keys = useDashCase ? dashKeys : camelKeys;\n // Build the dash offset\n attrs[keys.offset] = progressToPixels(-offset, totalLength);\n // Build the dash array\n var pathLength = progressToPixels(length, totalLength);\n var pathSpacing = progressToPixels(spacing, totalLength);\n attrs[keys.array] = pathLength + \" \" + pathSpacing;\n}\n\nexport { buildSVGPath };\n","import { __rest } from 'tslib';\nimport { buildHTMLStyles } from '../../html/utils/build-styles.js';\nimport { calcSVGTransformOrigin } from './transform-origin.js';\nimport { buildSVGPath } from './path.js';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, _a, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n var attrX = _a.attrX, attrY = _a.attrY, originX = _a.originX, originY = _a.originY, pathLength = _a.pathLength, _b = _a.pathSpacing, pathSpacing = _b === void 0 ? 1 : _b, _c = _a.pathOffset, pathOffset = _c === void 0 ? 0 : _c, \n // This is object creation, which we try to avoid per-frame.\n latest = __rest(_a, [\"attrX\", \"attrY\", \"originX\", \"originY\", \"pathLength\", \"pathSpacing\", \"pathOffset\"]);\n buildHTMLStyles(state, latest, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin);\n state.attrs = state.style;\n state.style = {};\n var attrs = state.attrs, style = state.style, dimensions = state.dimensions, totalPathLength = state.totalPathLength;\n /**\n * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs\n * and copy it into style.\n */\n if (attrs.transform) {\n if (dimensions)\n style.transform = attrs.transform;\n delete attrs.transform;\n }\n // Parse transformOrigin\n if (dimensions &&\n (originX !== undefined || originY !== undefined || style.transform)) {\n style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5);\n }\n // Treat x/y not as shortcuts but as actual attributes\n if (attrX !== undefined)\n attrs.x = attrX;\n if (attrY !== undefined)\n attrs.y = attrY;\n // Build SVG path if one has been measured\n if (totalPathLength !== undefined && pathLength !== undefined) {\n buildSVGPath(attrs, totalPathLength, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\n","/**\n * We keep these listed seperately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nvar lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n];\n\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.js';\n\nfunction isSVGComponent(Component) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")) {\n return false;\n }\n else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/.test(Component)) {\n return true;\n }\n return false;\n}\n\nexport { isSVGComponent };\n","import { addUniqueItem, removeItem } from './array.js';\n\nvar SubscriptionManager = /** @class */ (function () {\n function SubscriptionManager() {\n this.subscriptions = [];\n }\n SubscriptionManager.prototype.add = function (handler) {\n var _this = this;\n addUniqueItem(this.subscriptions, handler);\n return function () { return removeItem(_this.subscriptions, handler); };\n };\n SubscriptionManager.prototype.notify = function (a, b, c) {\n var numSubscriptions = this.subscriptions.length;\n if (!numSubscriptions)\n return;\n if (numSubscriptions === 1) {\n /**\n * If there's only a single handler we can just call it without invoking a loop.\n */\n this.subscriptions[0](a, b, c);\n }\n else {\n for (var i = 0; i < numSubscriptions; i++) {\n /**\n * Check whether the handler exists before firing as it's possible\n * the subscriptions were modified during this loop running.\n */\n var handler = this.subscriptions[i];\n handler && handler(a, b, c);\n }\n }\n };\n SubscriptionManager.prototype.getSize = function () {\n return this.subscriptions.length;\n };\n SubscriptionManager.prototype.clear = function () {\n this.subscriptions.length = 0;\n };\n return SubscriptionManager;\n}());\n\nexport { SubscriptionManager };\n","function addUniqueItem(arr, item) {\n arr.indexOf(item) === -1 && arr.push(item);\n}\nfunction removeItem(arr, item) {\n var index = arr.indexOf(item);\n index > -1 && arr.splice(index, 1);\n}\n\nexport { addUniqueItem, removeItem };\n","var valueScaleCorrection = {};\n/**\n * @internal\n */\nfunction addScaleCorrection(correctors) {\n for (var key in correctors) {\n valueScaleCorrection[key] = correctors[key];\n }\n}\n\nexport { addScaleCorrection, valueScaleCorrection };\n","/**\n * @public\n */\nvar Presence;\n(function (Presence) {\n Presence[Presence[\"Entering\"] = 0] = \"Entering\";\n Presence[Presence[\"Present\"] = 1] = \"Present\";\n Presence[Presence[\"Exiting\"] = 2] = \"Exiting\";\n})(Presence || (Presence = {}));\n/**\n * @public\n */\nvar VisibilityAction;\n(function (VisibilityAction) {\n VisibilityAction[VisibilityAction[\"Hide\"] = 0] = \"Hide\";\n VisibilityAction[VisibilityAction[\"Show\"] = 1] = \"Show\";\n})(VisibilityAction || (VisibilityAction = {}));\n\nexport { Presence, VisibilityAction };\n","import { warning } from 'hey-listen';\nimport { clamp } from '../../utils/clamp.js';\n\nvar safeMin = 0.001;\nvar minDuration = 0.01;\nvar maxDuration = 10.0;\nvar minDamping = 0.05;\nvar maxDamping = 1;\nfunction findSpring(_a) {\n var _b = _a.duration, duration = _b === void 0 ? 800 : _b, _c = _a.bounce, bounce = _c === void 0 ? 0.25 : _c, _d = _a.velocity, velocity = _d === void 0 ? 0 : _d, _e = _a.mass, mass = _e === void 0 ? 1 : _e;\n var envelope;\n var derivative;\n warning(duration <= maxDuration * 1000, \"Spring duration must be 10 seconds or less\");\n var dampingRatio = 1 - bounce;\n dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n duration = clamp(minDuration, maxDuration, duration / 1000);\n if (dampingRatio < 1) {\n envelope = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var a = exponentialDecay - velocity;\n var b = calcAngularFreq(undampedFreq, dampingRatio);\n var c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var d = delta * velocity + velocity;\n var e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n var f = Math.exp(-delta);\n var g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n var factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n envelope = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n var initialGuess = 5 / duration;\n var undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n duration = duration * 1000;\n if (isNaN(undampedFreq)) {\n return {\n stiffness: 100,\n damping: 10,\n duration: duration,\n };\n }\n else {\n var stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness: stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n duration: duration,\n };\n }\n}\nvar rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n var result = initialGuess;\n for (var i = 1; i < rootIterations; i++) {\n result = result - envelope(result) / derivative(result);\n }\n return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration };\n","import { __rest, __assign } from 'tslib';\nimport { findSpring, calcAngularFreq } from '../utils/find-spring.js';\n\nvar durationKeys = [\"duration\", \"bounce\"];\nvar physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some(function (key) { return options[key] !== undefined; });\n}\nfunction getSpringOptions(options) {\n var springOptions = __assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options);\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n var derived = findSpring(options);\n springOptions = __assign(__assign(__assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 });\n springOptions.isResolvedFromDuration = true;\n }\n return springOptions;\n}\nfunction spring(_a) {\n var _b = _a.from, from = _b === void 0 ? 0.0 : _b, _c = _a.to, to = _c === void 0 ? 1.0 : _c, _d = _a.restSpeed, restSpeed = _d === void 0 ? 2 : _d, restDelta = _a.restDelta, options = __rest(_a, [\"from\", \"to\", \"restSpeed\", \"restDelta\"]);\n var state = { done: false, value: from };\n var _e = getSpringOptions(options), stiffness = _e.stiffness, damping = _e.damping, mass = _e.mass, velocity = _e.velocity, duration = _e.duration, isResolvedFromDuration = _e.isResolvedFromDuration;\n var resolveSpring = zero;\n var resolveVelocity = zero;\n function createSpring() {\n var initialVelocity = velocity ? -(velocity / 1000) : 0.0;\n var initialDelta = to - from;\n var dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n var undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;\n restDelta !== null && restDelta !== void 0 ? restDelta : (restDelta = Math.abs(to - from) <= 1 ? 0.01 : 0.4);\n if (dampingRatio < 1) {\n var angularFreq_1 = calcAngularFreq(undampedAngularFreq, dampingRatio);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (to -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq_1) *\n Math.sin(angularFreq_1 * t) +\n initialDelta * Math.cos(angularFreq_1 * t)));\n };\n resolveVelocity = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (dampingRatio *\n undampedAngularFreq *\n envelope *\n ((Math.sin(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta)) /\n angularFreq_1 +\n initialDelta * Math.cos(angularFreq_1 * t)) -\n envelope *\n (Math.cos(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta) -\n angularFreq_1 *\n initialDelta *\n Math.sin(angularFreq_1 * t)));\n };\n }\n else if (dampingRatio === 1) {\n resolveSpring = function (t) {\n return to -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) *\n t);\n };\n }\n else {\n var dampedAngularFreq_1 = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n var freqForT = Math.min(dampedAngularFreq_1 * t, 300);\n return (to -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq_1 *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq_1);\n };\n }\n }\n createSpring();\n return {\n next: function (t) {\n var current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n var currentVelocity = resolveVelocity(t) * 1000;\n var isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n var isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= duration;\n }\n state.value = state.done ? to : current;\n return state;\n },\n flipTarget: function () {\n var _a;\n velocity = -velocity;\n _a = [to, from], from = _a[0], to = _a[1];\n createSpring();\n },\n };\n}\nspring.needsInterpolation = function (a, b) {\n return typeof a === \"string\" || typeof b === \"string\";\n};\nvar zero = function (_t) { return 0; };\n\nexport { spring };\n","import { __assign } from 'tslib';\nimport { mix } from './mix.js';\nimport { hex, rgba, hsla } from 'style-value-types';\nimport { invariant } from 'hey-listen';\n\nvar mixLinearColor = function (from, to, v) {\n var fromExpo = from * from;\n var toExpo = to * to;\n return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\n};\nvar colorTypes = [hex, rgba, hsla];\nvar getColorType = function (v) {\n return colorTypes.find(function (type) { return type.test(v); });\n};\nvar notAnimatable = function (color) {\n return \"'\" + color + \"' is not an animatable color. Use the equivalent color code instead.\";\n};\nvar mixColor = function (from, to) {\n var fromColorType = getColorType(from);\n var toColorType = getColorType(to);\n invariant(!!fromColorType, notAnimatable(from));\n invariant(!!toColorType, notAnimatable(to));\n invariant(fromColorType.transform === toColorType.transform, \"Both colors must be hex/RGBA, OR both must be HSLA.\");\n var fromColor = fromColorType.parse(from);\n var toColor = toColorType.parse(to);\n var blended = __assign({}, fromColor);\n var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\n return function (v) {\n for (var key in blended) {\n if (key !== \"alpha\") {\n blended[key] = mixFunc(fromColor[key], toColor[key], v);\n }\n }\n blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\n return fromColorType.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","import { __spreadArray, __assign } from 'tslib';\nimport { complex, color } from 'style-value-types';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { isNum } from './inc.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nfunction getMixer(origin, target) {\n if (isNum(origin)) {\n return function (v) { return mix(origin, target, v); };\n }\n else if (color.test(origin)) {\n return mixColor(origin, target);\n }\n else {\n return mixComplex(origin, target);\n }\n}\nvar mixArray = function (from, to) {\n var output = __spreadArray([], from);\n var numValues = output.length;\n var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); });\n return function (v) {\n for (var i = 0; i < numValues; i++) {\n output[i] = blendValue[i](v);\n }\n return output;\n };\n};\nvar mixObject = function (origin, target) {\n var output = __assign(__assign({}, origin), target);\n var blendValue = {};\n for (var key in output) {\n if (origin[key] !== undefined && target[key] !== undefined) {\n blendValue[key] = getMixer(origin[key], target[key]);\n }\n }\n return function (v) {\n for (var key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n};\nfunction analyse(value) {\n var parsed = complex.parse(value);\n var numValues = parsed.length;\n var numNumbers = 0;\n var numRGB = 0;\n var numHSL = 0;\n for (var i = 0; i < numValues; i++) {\n if (numNumbers || typeof parsed[i] === \"number\") {\n numNumbers++;\n }\n else {\n if (parsed[i].hue !== undefined) {\n numHSL++;\n }\n else {\n numRGB++;\n }\n }\n }\n return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL };\n}\nvar mixComplex = function (origin, target) {\n var template = complex.createTransformer(target);\n var originStats = analyse(origin);\n var targetStats = analyse(target);\n invariant(originStats.numHSL === targetStats.numHSL &&\n originStats.numRGB === targetStats.numRGB &&\n originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\n return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\n};\n\nexport { mixArray, mixComplex, mixObject };\n","import { progress } from './progress.js';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { mixComplex, mixArray, mixObject } from './mix-complex.js';\nimport { color } from 'style-value-types';\nimport { clamp } from './clamp.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nvar mixNumber = function (from, to) { return function (p) { return mix(from, to, p); }; };\nfunction detectMixerFactory(v) {\n if (typeof v === 'number') {\n return mixNumber;\n }\n else if (typeof v === 'string') {\n if (color.test(v)) {\n return mixColor;\n }\n else {\n return mixComplex;\n }\n }\n else if (Array.isArray(v)) {\n return mixArray;\n }\n else if (typeof v === 'object') {\n return mixObject;\n }\n}\nfunction createMixers(output, ease, customMixer) {\n var mixers = [];\n var mixerFactory = customMixer || detectMixerFactory(output[0]);\n var numMixers = output.length - 1;\n for (var i = 0; i < numMixers; i++) {\n var mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n var easingFunction = Array.isArray(ease) ? ease[i] : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\nfunction fastInterpolate(_a, _b) {\n var from = _a[0], to = _a[1];\n var mixer = _b[0];\n return function (v) { return mixer(progress(from, to, v)); };\n}\nfunction slowInterpolate(input, mixers) {\n var inputLength = input.length;\n var lastInputIndex = inputLength - 1;\n return function (v) {\n var mixerIndex = 0;\n var foundMixerIndex = false;\n if (v <= input[0]) {\n foundMixerIndex = true;\n }\n else if (v >= input[lastInputIndex]) {\n mixerIndex = lastInputIndex - 1;\n foundMixerIndex = true;\n }\n if (!foundMixerIndex) {\n var i = 1;\n for (; i < inputLength; i++) {\n if (input[i] > v || i === lastInputIndex) {\n break;\n }\n }\n mixerIndex = i - 1;\n }\n var progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);\n return mixers[mixerIndex](progressInRange);\n };\n}\nfunction interpolate(input, output, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.clamp, isClamp = _c === void 0 ? true : _c, ease = _b.ease, mixer = _b.mixer;\n var inputLength = input.length;\n invariant(inputLength === output.length, 'Both input and output ranges must be the same length');\n invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.');\n if (input[0] > input[inputLength - 1]) {\n input = [].concat(input);\n output = [].concat(output);\n input.reverse();\n output.reverse();\n }\n var mixers = createMixers(output, ease, mixer);\n var interpolator = inputLength === 2\n ? fastInterpolate(input, mixers)\n : slowInterpolate(input, mixers);\n return isClamp\n ? function (v) { return interpolator(clamp(input[0], input[inputLength - 1], v)); }\n : interpolator;\n}\n\nexport { interpolate };\n","var reverseEasing = function (easing) { return function (p) { return 1 - easing(1 - p); }; };\nvar mirrorEasing = function (easing) { return function (p) {\n return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n}; };\nvar createExpoIn = function (power) { return function (p) { return Math.pow(p, power); }; };\nvar createBackIn = function (power) { return function (p) {\n return p * p * ((power + 1) * p - power);\n}; };\nvar createAnticipate = function (power) {\n var backEasing = createBackIn(power);\n return function (p) {\n return (p *= 2) < 1\n ? 0.5 * backEasing(p)\n : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n };\n};\n\nexport { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing };\n","import { createExpoIn, reverseEasing, mirrorEasing, createBackIn, createAnticipate } from './utils.js';\n\nvar DEFAULT_OVERSHOOT_STRENGTH = 1.525;\nvar BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;\nvar BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;\nvar BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;\nvar linear = function (p) { return p; };\nvar easeIn = createExpoIn(2);\nvar easeOut = reverseEasing(easeIn);\nvar easeInOut = mirrorEasing(easeIn);\nvar circIn = function (p) { return 1 - Math.sin(Math.acos(p)); };\nvar circOut = reverseEasing(circIn);\nvar circInOut = mirrorEasing(circOut);\nvar backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH);\nvar backOut = reverseEasing(backIn);\nvar backInOut = mirrorEasing(backIn);\nvar anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH);\nvar ca = 4356.0 / 361.0;\nvar cb = 35442.0 / 1805.0;\nvar cc = 16061.0 / 1805.0;\nvar bounceOut = function (p) {\n if (p === 1 || p === 0)\n return p;\n var p2 = p * p;\n return p < BOUNCE_FIRST_THRESHOLD\n ? 7.5625 * p2\n : p < BOUNCE_SECOND_THRESHOLD\n ? 9.075 * p2 - 9.9 * p + 3.4\n : p < BOUNCE_THIRD_THRESHOLD\n ? ca * p2 - cb * p + cc\n : 10.8 * p * p - 20.52 * p + 10.72;\n};\nvar bounceIn = reverseEasing(bounceOut);\nvar bounceInOut = function (p) {\n return p < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0))\n : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5;\n};\n\nexport { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear };\n","import { interpolate } from '../../utils/interpolate.js';\nimport { easeInOut } from '../../easing/index.js';\n\nfunction defaultEasing(values, easing) {\n return values.map(function () { return easing || easeInOut; }).splice(0, values.length - 1);\n}\nfunction defaultOffset(values) {\n var numValues = values.length;\n return values.map(function (_value, i) {\n return i !== 0 ? i / (numValues - 1) : 0;\n });\n}\nfunction convertOffsetToTimes(offset, duration) {\n return offset.map(function (o) { return o * duration; });\n}\nfunction keyframes(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.to, to = _c === void 0 ? 1 : _c, ease = _a.ease, offset = _a.offset, _d = _a.duration, duration = _d === void 0 ? 300 : _d;\n var state = { done: false, value: from };\n var values = Array.isArray(to) ? to : [from, to];\n var times = convertOffsetToTimes(offset && offset.length === values.length\n ? offset\n : defaultOffset(values), duration);\n function createInterpolator() {\n return interpolate(times, values, {\n ease: Array.isArray(ease) ? ease : defaultEasing(values, ease),\n });\n }\n var interpolator = createInterpolator();\n return {\n next: function (t) {\n state.value = interpolator(t);\n state.done = t >= duration;\n return state;\n },\n flipTarget: function () {\n values.reverse();\n interpolator = createInterpolator();\n },\n };\n}\n\nexport { convertOffsetToTimes, defaultEasing, defaultOffset, keyframes };\n","import { spring } from '../generators/spring.js';\nimport { keyframes } from '../generators/keyframes.js';\nimport { decay } from '../generators/decay.js';\n\nvar types = { keyframes: keyframes, spring: spring, decay: decay };\nfunction detectAnimationFromOptions(config) {\n if (Array.isArray(config.to)) {\n return keyframes;\n }\n else if (types[config.type]) {\n return types[config.type];\n }\n var keys = new Set(Object.keys(config));\n if (keys.has(\"ease\") ||\n (keys.has(\"duration\") && !keys.has(\"dampingRatio\"))) {\n return keyframes;\n }\n else if (keys.has(\"dampingRatio\") ||\n keys.has(\"stiffness\") ||\n keys.has(\"mass\") ||\n keys.has(\"damping\") ||\n keys.has(\"restSpeed\") ||\n keys.has(\"restDelta\")) {\n return spring;\n }\n return keyframes;\n}\n\nexport { detectAnimationFromOptions };\n","function decay(_a) {\n var _b = _a.velocity, velocity = _b === void 0 ? 0 : _b, _c = _a.from, from = _c === void 0 ? 0 : _c, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 350 : _e, _f = _a.restDelta, restDelta = _f === void 0 ? 0.5 : _f, modifyTarget = _a.modifyTarget;\n var state = { done: false, value: from };\n var amplitude = power * velocity;\n var ideal = from + amplitude;\n var target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n if (target !== ideal)\n amplitude = target - from;\n return {\n next: function (t) {\n var delta = -amplitude * Math.exp(-t / timeConstant);\n state.done = !(delta > restDelta || delta < -restDelta);\n state.value = state.done ? target : target + delta;\n return state;\n },\n flipTarget: function () { },\n };\n}\n\nexport { decay };\n","function loopElapsed(elapsed, duration, delay) {\n if (delay === void 0) { delay = 0; }\n return elapsed - duration - delay;\n}\nfunction reverseElapsed(elapsed, duration, delay, isForwardPlayback) {\n if (delay === void 0) { delay = 0; }\n if (isForwardPlayback === void 0) { isForwardPlayback = true; }\n return isForwardPlayback\n ? loopElapsed(duration + -elapsed, duration, delay)\n : duration - (elapsed - duration) + delay;\n}\nfunction hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) {\n return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay;\n}\n\nexport { hasRepeatDelayElapsed, loopElapsed, reverseElapsed };\n","import { __rest, __assign } from 'tslib';\nimport { detectAnimationFromOptions } from './utils/detect-animation-from-options.js';\nimport sync, { cancelSync } from 'framesync';\nimport { interpolate } from '../utils/interpolate.js';\nimport { hasRepeatDelayElapsed, reverseElapsed, loopElapsed } from './utils/elapsed.js';\n\nvar framesync = function (update) {\n var passTimestamp = function (_a) {\n var delta = _a.delta;\n return update(delta);\n };\n return {\n start: function () { return sync.update(passTimestamp, true); },\n stop: function () { return cancelSync.update(passTimestamp); },\n };\n};\nfunction animate(_a) {\n var _b, _c;\n var from = _a.from, _d = _a.autoplay, autoplay = _d === void 0 ? true : _d, _e = _a.driver, driver = _e === void 0 ? framesync : _e, _f = _a.elapsed, elapsed = _f === void 0 ? 0 : _f, _g = _a.repeat, repeatMax = _g === void 0 ? 0 : _g, _h = _a.repeatType, repeatType = _h === void 0 ? \"loop\" : _h, _j = _a.repeatDelay, repeatDelay = _j === void 0 ? 0 : _j, onPlay = _a.onPlay, onStop = _a.onStop, onComplete = _a.onComplete, onRepeat = _a.onRepeat, onUpdate = _a.onUpdate, options = __rest(_a, [\"from\", \"autoplay\", \"driver\", \"elapsed\", \"repeat\", \"repeatType\", \"repeatDelay\", \"onPlay\", \"onStop\", \"onComplete\", \"onRepeat\", \"onUpdate\"]);\n var to = options.to;\n var driverControls;\n var repeatCount = 0;\n var computedDuration = options.duration;\n var latest;\n var isComplete = false;\n var isForwardPlayback = true;\n var interpolateFromNumber;\n var animator = detectAnimationFromOptions(options);\n if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) {\n interpolateFromNumber = interpolate([0, 100], [from, to], {\n clamp: false,\n });\n from = 0;\n to = 100;\n }\n var animation = animator(__assign(__assign({}, options), { from: from, to: to }));\n function repeat() {\n repeatCount++;\n if (repeatType === \"reverse\") {\n isForwardPlayback = repeatCount % 2 === 0;\n elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback);\n }\n else {\n elapsed = loopElapsed(elapsed, computedDuration, repeatDelay);\n if (repeatType === \"mirror\")\n animation.flipTarget();\n }\n isComplete = false;\n onRepeat && onRepeat();\n }\n function complete() {\n driverControls.stop();\n onComplete && onComplete();\n }\n function update(delta) {\n if (!isForwardPlayback)\n delta = -delta;\n elapsed += delta;\n if (!isComplete) {\n var state = animation.next(Math.max(0, elapsed));\n latest = state.value;\n if (interpolateFromNumber)\n latest = interpolateFromNumber(latest);\n isComplete = isForwardPlayback ? state.done : elapsed <= 0;\n }\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest);\n if (isComplete) {\n if (repeatCount === 0)\n computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed);\n if (repeatCount < repeatMax) {\n hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat();\n }\n else {\n complete();\n }\n }\n }\n function play() {\n onPlay === null || onPlay === void 0 ? void 0 : onPlay();\n driverControls = driver(update);\n driverControls.start();\n }\n autoplay && play();\n return {\n stop: function () {\n onStop === null || onStop === void 0 ? void 0 : onStop();\n driverControls.stop();\n },\n };\n}\n\nexport { animate };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nvar secondsToMilliseconds = function (seconds) { return seconds * 1000; };\n\nexport { secondsToMilliseconds };\n","import { linear } from './index.js';\n\nvar a = function (a1, a2) { return 1.0 - 3.0 * a2 + 3.0 * a1; };\nvar b = function (a1, a2) { return 3.0 * a2 - 6.0 * a1; };\nvar c = function (a1) { return 3.0 * a1; };\nvar calcBezier = function (t, a1, a2) {\n return ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n};\nvar getSlope = function (t, a1, a2) {\n return 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);\n};\nvar subdivisionPrecision = 0.0000001;\nvar subdivisionMaxIterations = 10;\nfunction binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX;\n var currentT;\n var i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n }\n else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nvar newtonIterations = 8;\nvar newtonMinSlope = 0.001;\nfunction newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < newtonIterations; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n if (mX1 === mY1 && mX2 === mY2)\n return linear;\n var sampleValues = new Float32Array(kSplineTableSize);\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n var dist = (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= newtonMinSlope) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n else if (initialSlope === 0.0) {\n return guessForT;\n }\n else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function (t) {\n return t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n };\n}\n\nexport { cubicBezier };\n","import { __read } from 'tslib';\nimport { invariant } from 'hey-listen';\nimport { cubicBezier, linear, easeIn, easeInOut, easeOut, circIn, circInOut, circOut, backIn, backInOut, backOut, anticipate, bounceIn, bounceInOut, bounceOut } from 'popmotion';\n\nvar easingLookup = {\n linear: linear,\n easeIn: easeIn,\n easeInOut: easeInOut,\n easeOut: easeOut,\n circIn: circIn,\n circInOut: circInOut,\n circOut: circOut,\n backIn: backIn,\n backInOut: backInOut,\n backOut: backOut,\n anticipate: anticipate,\n bounceIn: bounceIn,\n bounceInOut: bounceInOut,\n bounceOut: bounceOut,\n};\nvar easingDefinitionToFunction = function (definition) {\n if (Array.isArray(definition)) {\n // If cubic bezier definition, create bezier curve\n invariant(definition.length === 4, \"Cubic bezier arrays must contain four numerical values.\");\n var _a = __read(definition, 4), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];\n return cubicBezier(x1, y1, x2, y2);\n }\n else if (typeof definition === \"string\") {\n // Else lookup from table\n invariant(easingLookup[definition] !== undefined, \"Invalid easing type '\" + definition + \"'\");\n return easingLookup[definition];\n }\n return definition;\n};\nvar isEasingArray = function (ease) {\n return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { easingDefinitionToFunction, isEasingArray };\n","import { complex } from 'style-value-types';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nvar isAnimatable = function (key, value) {\n // If the list of keys tat might be non-animatable grows, replace with Set\n if (key === \"zIndex\")\n return false;\n // If it's a number or a keyframes array, we can animate it. We might at some point\n // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n // but for now lets leave it like this for performance reasons\n if (typeof value === \"number\" || Array.isArray(value))\n return true;\n if (typeof value === \"string\" && // It's animatable if we have a string\n complex.test(value) && // And it contains numbers and/or colors\n !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n ) {\n return true;\n }\n return false;\n};\n\nexport { isAnimatable };\n","import { __assign } from 'tslib';\nimport { isKeyframesTarget } from './is-keyframes-target.js';\n\nvar underDampedSpring = function () { return ({\n type: \"spring\",\n stiffness: 500,\n damping: 25,\n restDelta: 0.5,\n restSpeed: 10,\n}); };\nvar criticallyDampedSpring = function (to) { return ({\n type: \"spring\",\n stiffness: 550,\n damping: to === 0 ? 2 * Math.sqrt(550) : 30,\n restDelta: 0.01,\n restSpeed: 10,\n}); };\nvar linearTween = function () { return ({\n type: \"keyframes\",\n ease: \"linear\",\n duration: 0.3,\n}); };\nvar keyframes = function (values) { return ({\n type: \"keyframes\",\n duration: 0.8,\n values: values,\n}); };\nvar defaultTransitions = {\n x: underDampedSpring,\n y: underDampedSpring,\n z: underDampedSpring,\n rotate: underDampedSpring,\n rotateX: underDampedSpring,\n rotateY: underDampedSpring,\n rotateZ: underDampedSpring,\n scaleX: criticallyDampedSpring,\n scaleY: criticallyDampedSpring,\n scale: criticallyDampedSpring,\n opacity: linearTween,\n backgroundColor: linearTween,\n color: linearTween,\n default: criticallyDampedSpring,\n};\nvar getDefaultTransition = function (valueKey, to) {\n var transitionFactory;\n if (isKeyframesTarget(to)) {\n transitionFactory = keyframes;\n }\n else {\n transitionFactory =\n defaultTransitions[valueKey] || defaultTransitions.default;\n }\n return __assign({ to: to }, transitionFactory(to));\n};\n\nexport { criticallyDampedSpring, getDefaultTransition, linearTween, underDampedSpring };\n","import { __assign, __rest, __spreadArray, __read } from 'tslib';\nimport { inertia, animate } from 'popmotion';\nimport { secondsToMilliseconds } from '../../utils/time-conversion.js';\nimport { isEasingArray, easingDefinitionToFunction } from './easing.js';\nimport { isAnimatable } from './is-animatable.js';\nimport { getDefaultTransition } from './default-transitions.js';\nimport { warning } from 'hey-listen';\nimport { getAnimatableNone } from '../../render/dom/value-types/animatable-none.js';\n\n/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined(_a) {\n _a.when; _a.delay; _a.delayChildren; _a.staggerChildren; _a.staggerDirection; _a.repeat; _a.repeatType; _a.repeatDelay; _a.from; var transition = __rest(_a, [\"when\", \"delay\", \"delayChildren\", \"staggerChildren\", \"staggerDirection\", \"repeat\", \"repeatType\", \"repeatDelay\", \"from\"]);\n return !!Object.keys(transition).length;\n}\nvar legacyRepeatWarning = false;\n/**\n * Convert Framer Motion's Transition type into Popmotion-compatible options.\n */\nfunction convertTransitionToAnimationOptions(_a) {\n var ease = _a.ease, times = _a.times, yoyo = _a.yoyo, flip = _a.flip, loop = _a.loop, transition = __rest(_a, [\"ease\", \"times\", \"yoyo\", \"flip\", \"loop\"]);\n var options = __assign({}, transition);\n if (times)\n options[\"offset\"] = times;\n /**\n * Convert any existing durations from seconds to milliseconds\n */\n if (transition.duration)\n options[\"duration\"] = secondsToMilliseconds(transition.duration);\n if (transition.repeatDelay)\n options.repeatDelay = secondsToMilliseconds(transition.repeatDelay);\n /**\n * Map easing names to Popmotion's easing functions\n */\n if (ease) {\n options[\"ease\"] = isEasingArray(ease)\n ? ease.map(easingDefinitionToFunction)\n : easingDefinitionToFunction(ease);\n }\n /**\n * Support legacy transition API\n */\n if (transition.type === \"tween\")\n options.type = \"keyframes\";\n /**\n * TODO: These options are officially removed from the API.\n */\n if (yoyo || loop || flip) {\n warning(!legacyRepeatWarning, \"yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options.\");\n legacyRepeatWarning = true;\n if (yoyo) {\n options.repeatType = \"reverse\";\n }\n else if (loop) {\n options.repeatType = \"loop\";\n }\n else if (flip) {\n options.repeatType = \"mirror\";\n }\n options.repeat = loop || yoyo || flip || transition.repeat;\n }\n /**\n * TODO: Popmotion 9 has the ability to automatically detect whether to use\n * a keyframes or spring animation, but does so by detecting velocity and other spring options.\n * It'd be good to introduce a similar thing here.\n */\n if (transition.type !== \"spring\")\n options.type = \"keyframes\";\n return options;\n}\n/**\n * Get the delay for a value by checking Transition with decreasing specificity.\n */\nfunction getDelayFromTransition(transition, key) {\n var _a;\n var valueTransition = getValueTransition(transition, key) || {};\n return (_a = valueTransition.delay) !== null && _a !== void 0 ? _a : 0;\n}\nfunction hydrateKeyframes(options) {\n if (Array.isArray(options.to) && options.to[0] === null) {\n options.to = __spreadArray([], __read(options.to));\n options.to[0] = options.from;\n }\n return options;\n}\nfunction getPopmotionAnimationOptions(transition, options, key) {\n var _a;\n if (Array.isArray(options.to)) {\n (_a = transition.duration) !== null && _a !== void 0 ? _a : (transition.duration = 0.8);\n }\n hydrateKeyframes(options);\n /**\n * Get a default transition if none is determined to be defined.\n */\n if (!isTransitionDefined(transition)) {\n transition = __assign(__assign({}, transition), getDefaultTransition(key, options.to));\n }\n return __assign(__assign({}, options), convertTransitionToAnimationOptions(transition));\n}\n/**\n *\n */\nfunction getAnimation(key, value, target, transition, onComplete) {\n var _a;\n var valueTransition = getValueTransition(transition, key);\n var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get();\n var isTargetAnimatable = isAnimatable(key, target);\n if (origin === \"none\" && isTargetAnimatable && typeof target === \"string\") {\n /**\n * If we're trying to animate from \"none\", try and get an animatable version\n * of the target. This could be improved to work both ways.\n */\n origin = getAnimatableNone(key, target);\n }\n else if (isZero(origin) && typeof target === \"string\") {\n origin = getZeroUnit(target);\n }\n else if (!Array.isArray(target) &&\n isZero(target) &&\n typeof origin === \"string\") {\n target = getZeroUnit(origin);\n }\n var isOriginAnimatable = isAnimatable(key, origin);\n warning(isOriginAnimatable === isTargetAnimatable, \"You are trying to animate \" + key + \" from \\\"\" + origin + \"\\\" to \\\"\" + target + \"\\\". \" + origin + \" is not an animatable value - to enable this animation set \" + origin + \" to a value animatable to \" + target + \" via the `style` property.\");\n function start() {\n var options = {\n from: origin,\n to: target,\n velocity: value.getVelocity(),\n onComplete: onComplete,\n onUpdate: function (v) { return value.set(v); },\n };\n return valueTransition.type === \"inertia\" ||\n valueTransition.type === \"decay\"\n ? inertia(__assign(__assign({}, options), valueTransition))\n : animate(__assign(__assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), { onUpdate: function (v) {\n var _a;\n options.onUpdate(v);\n (_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v);\n }, onComplete: function () {\n var _a;\n options.onComplete();\n (_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n } }));\n }\n function set() {\n var _a;\n value.set(target);\n onComplete();\n (_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n return { stop: function () { } };\n }\n return !isOriginAnimatable ||\n !isTargetAnimatable ||\n valueTransition.type === false\n ? set\n : start;\n}\nfunction isZero(value) {\n return (value === 0 ||\n (typeof value === \"string\" &&\n parseFloat(value) === 0 &&\n value.indexOf(\" \") === -1));\n}\nfunction getZeroUnit(potentialUnitType) {\n return typeof potentialUnitType === \"number\"\n ? 0\n : getAnimatableNone(\"\", potentialUnitType);\n}\nfunction getValueTransition(transition, key) {\n return transition[key] || transition[\"default\"] || transition;\n}\n/**\n * Start animation on a MotionValue. This function is an interface between\n * Framer Motion and Popmotion\n *\n * @internal\n */\nfunction startAnimation(key, value, target, transition) {\n if (transition === void 0) { transition = {}; }\n return value.start(function (onComplete) {\n var delayTimer;\n var controls;\n var animation = getAnimation(key, value, target, transition, onComplete);\n var delay = getDelayFromTransition(transition, key);\n var start = function () { return (controls = animation()); };\n if (delay) {\n delayTimer = setTimeout(start, secondsToMilliseconds(delay));\n }\n else {\n start();\n }\n return function () {\n clearTimeout(delayTimer);\n controls === null || controls === void 0 ? void 0 : controls.stop();\n };\n });\n}\n\nexport { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation };\n","import { __assign } from 'tslib';\nimport { animate } from './index.js';\nimport { velocityPerSecond } from '../utils/velocity-per-second.js';\nimport { getFrameData } from 'framesync';\n\nfunction inertia(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.velocity, velocity = _c === void 0 ? 0 : _c, min = _a.min, max = _a.max, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 750 : _e, _f = _a.bounceStiffness, bounceStiffness = _f === void 0 ? 500 : _f, _g = _a.bounceDamping, bounceDamping = _g === void 0 ? 10 : _g, _h = _a.restDelta, restDelta = _h === void 0 ? 1 : _h, modifyTarget = _a.modifyTarget, driver = _a.driver, onUpdate = _a.onUpdate, onComplete = _a.onComplete;\n var currentAnimation;\n function isOutOfBounds(v) {\n return (min !== undefined && v < min) || (max !== undefined && v > max);\n }\n function boundaryNearest(v) {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n }\n function startAnimation(options) {\n currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n currentAnimation = animate(__assign(__assign({}, options), { driver: driver, onUpdate: function (v) {\n var _a;\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v);\n (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v);\n }, onComplete: onComplete }));\n }\n function startSpring(options) {\n startAnimation(__assign({ type: \"spring\", stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta }, options));\n }\n if (isOutOfBounds(from)) {\n startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) });\n }\n else {\n var target = power * velocity + from;\n if (typeof modifyTarget !== \"undefined\")\n target = modifyTarget(target);\n var boundary_1 = boundaryNearest(target);\n var heading_1 = boundary_1 === min ? -1 : 1;\n var prev_1;\n var current_1;\n var checkBoundary = function (v) {\n prev_1 = current_1;\n current_1 = v;\n velocity = velocityPerSecond(v - prev_1, getFrameData().delta);\n if ((heading_1 === 1 && v > boundary_1) ||\n (heading_1 === -1 && v < boundary_1)) {\n startSpring({ from: v, to: boundary_1, velocity: velocity });\n }\n };\n startAnimation({\n type: \"decay\",\n from: from,\n velocity: velocity,\n timeConstant: timeConstant,\n power: power,\n restDelta: restDelta,\n modifyTarget: modifyTarget,\n onUpdate: isOutOfBounds(target) ? checkBoundary : undefined,\n });\n }\n return {\n stop: function () { return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); },\n };\n}\n\nexport { inertia };\n","import { __read, __rest, __assign } from 'tslib';\nimport { startAnimation } from '../../animation/utils/transitions.js';\nimport { setTarget } from './setters.js';\nimport { resolveVariant } from './variants.js';\n\n/**\n * @internal\n */\nfunction animateVisualElement(visualElement, definition, options) {\n if (options === void 0) { options = {}; }\n visualElement.notifyAnimationStart();\n var animation;\n if (Array.isArray(definition)) {\n var animations = definition.map(function (variant) {\n return animateVariant(visualElement, variant, options);\n });\n animation = Promise.all(animations);\n }\n else if (typeof definition === \"string\") {\n animation = animateVariant(visualElement, definition, options);\n }\n else {\n var resolvedDefinition = typeof definition === \"function\"\n ? resolveVariant(visualElement, definition, options.custom)\n : definition;\n animation = animateTarget(visualElement, resolvedDefinition, options);\n }\n return animation.then(function () {\n return visualElement.notifyAnimationComplete(definition);\n });\n}\nfunction animateVariant(visualElement, variant, options) {\n var _a;\n if (options === void 0) { options = {}; }\n var resolved = resolveVariant(visualElement, variant, options.custom);\n var _b = (resolved || {}).transition, transition = _b === void 0 ? visualElement.getDefaultTransition() || {} : _b;\n if (options.transitionOverride) {\n transition = options.transitionOverride;\n }\n /**\n * If we have a variant, create a callback that runs it as an animation.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n var getAnimation = resolved\n ? function () { return animateTarget(visualElement, resolved, options); }\n : function () { return Promise.resolve(); };\n /**\n * If we have children, create a callback that runs all their animations.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n var getChildAnimations = ((_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.size)\n ? function (forwardDelay) {\n if (forwardDelay === void 0) { forwardDelay = 0; }\n var _a = transition.delayChildren, delayChildren = _a === void 0 ? 0 : _a, staggerChildren = transition.staggerChildren, staggerDirection = transition.staggerDirection;\n return animateChildren(visualElement, variant, delayChildren + forwardDelay, staggerChildren, staggerDirection, options);\n }\n : function () { return Promise.resolve(); };\n /**\n * If the transition explicitly defines a \"when\" option, we need to resolve either\n * this animation or all children animations before playing the other.\n */\n var when = transition.when;\n if (when) {\n var _c = __read(when === \"beforeChildren\"\n ? [getAnimation, getChildAnimations]\n : [getChildAnimations, getAnimation], 2), first = _c[0], last = _c[1];\n return first().then(last);\n }\n else {\n return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n }\n}\n/**\n * @internal\n */\nfunction animateTarget(visualElement, definition, _a) {\n var _b;\n var _c = _a === void 0 ? {} : _a, _d = _c.delay, delay = _d === void 0 ? 0 : _d, transitionOverride = _c.transitionOverride, type = _c.type;\n var _e = visualElement.makeTargetAnimatable(definition), _f = _e.transition, transition = _f === void 0 ? visualElement.getDefaultTransition() : _f, transitionEnd = _e.transitionEnd, target = __rest(_e, [\"transition\", \"transitionEnd\"]);\n if (transitionOverride)\n transition = transitionOverride;\n var animations = [];\n var animationTypeState = type && ((_b = visualElement.animationState) === null || _b === void 0 ? void 0 : _b.getState()[type]);\n for (var key in target) {\n var value = visualElement.getValue(key);\n var valueTarget = target[key];\n if (!value ||\n valueTarget === undefined ||\n (animationTypeState &&\n shouldBlockAnimation(animationTypeState, key))) {\n continue;\n }\n var animation = startAnimation(key, value, valueTarget, __assign({ delay: delay }, transition));\n animations.push(animation);\n }\n return Promise.all(animations).then(function () {\n transitionEnd && setTarget(visualElement, transitionEnd);\n });\n}\nfunction animateChildren(visualElement, variant, delayChildren, staggerChildren, staggerDirection, options) {\n if (delayChildren === void 0) { delayChildren = 0; }\n if (staggerChildren === void 0) { staggerChildren = 0; }\n if (staggerDirection === void 0) { staggerDirection = 1; }\n var animations = [];\n var maxStaggerDuration = (visualElement.variantChildren.size - 1) * staggerChildren;\n var generateStaggerDuration = staggerDirection === 1\n ? function (i) {\n if (i === void 0) { i = 0; }\n return i * staggerChildren;\n }\n : function (i) {\n if (i === void 0) { i = 0; }\n return maxStaggerDuration - i * staggerChildren;\n };\n Array.from(visualElement.variantChildren)\n .sort(sortByTreeOrder)\n .forEach(function (child, i) {\n animations.push(animateVariant(child, variant, __assign(__assign({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function () { return child.notifyAnimationComplete(variant); }));\n });\n return Promise.all(animations);\n}\nfunction stopAnimation(visualElement) {\n visualElement.forEachValue(function (value) { return value.stop(); });\n}\nfunction sortByTreeOrder(a, b) {\n return a.sortNodePosition(b);\n}\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation(_a, key) {\n var protectedKeys = _a.protectedKeys, needsAnimating = _a.needsAnimating;\n var shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n needsAnimating[key] = false;\n return shouldBlock;\n}\n\nexport { animateVisualElement, sortByTreeOrder, stopAnimation };\n","var clamp = function (min, max, v) {\n return Math.min(Math.max(v, min), max);\n};\n\nexport { clamp };\n","var zeroPoint = {\n x: 0,\n y: 0,\n z: 0\n};\nvar isNum = function (v) { return typeof v === 'number'; };\n\nexport { isNum, zeroPoint };\n","import { filter, complex } from 'style-value-types';\nimport { getDefaultValueType } from './defaults.js';\n\nfunction getAnimatableNone(key, value) {\n var _a;\n var defaultValueType = getDefaultValueType(key);\n if (defaultValueType !== filter)\n defaultValueType = complex;\n // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n return (_a = defaultValueType.getAnimatableNone) === null || _a === void 0 ? void 0 : _a.call(defaultValueType, value);\n}\n\nexport { getAnimatableNone };\n","import { alpha } from '../numbers/index.js';\nimport { percent } from '../numbers/units.js';\nimport { sanitize } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar hsla = {\n test: isColorString('hsl', 'hue'),\n parse: splitColor('hue', 'saturation', 'lightness'),\n transform: function (_a) {\n var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return ('hsla(' +\n Math.round(hue) +\n ', ' +\n percent.transform(sanitize(saturation)) +\n ', ' +\n percent.transform(sanitize(lightness)) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')');\n },\n};\n\nexport { hsla };\n","var clamp = function (min, max) { return function (v) {\n return Math.max(Math.min(v, max), min);\n}; };\nvar sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); };\nvar floatRegex = /(-)?([\\d]*\\.?[\\d])+/g;\nvar colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))/gi;\nvar singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i;\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nexport { clamp, colorRegex, floatRegex, isString, sanitize, singleColorRegex };\n","import { useEffect } from 'react';\n\nfunction useUnmountEffect(callback) {\n return useEffect(function () { return function () { return callback(); }; }, []);\n}\n\nexport { useUnmountEffect };\n","var combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; };\nvar pipe = function () {\n var transformers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n transformers[_i] = arguments[_i];\n }\n return transformers.reduce(combineFunctions);\n};\n\nexport { pipe };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.js';\n\nvar isCustomValue = function (v) {\n return Boolean(v && typeof v === \"object\" && v.mix && v.toValue);\n};\nvar resolveFinalValueInKeyframes = function (v) {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n};\n\nexport { isCustomValue, resolveFinalValueInKeyframes };\n","/**\n * Tests a provided value against a ValueType\n */\nvar testValueType = function (v) { return function (type) { return type.test(v); }; };\n\nexport { testValueType };\n","/**\n * Returns true if the provided key is a CSS variable\n */\nfunction isCSSVariable(key) {\n return key.startsWith(\"--\");\n}\n\nexport { isCSSVariable };\n","import { valueScaleCorrection } from '../../render/dom/projection/scale-correction.js';\nimport { isTransformProp, isTransformOriginProp } from '../../render/html/utils/transform.js';\n\nfunction isForcedMotionValue(key, _a) {\n var layout = _a.layout, layoutId = _a.layoutId;\n return (isTransformProp(key) ||\n isTransformOriginProp(key) ||\n ((layout || layoutId !== undefined) &&\n (!!valueScaleCorrection[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","function renderHTML(element, _a) {\n var style = _a.style, vars = _a.vars;\n // Directly assign style into the Element's style prop. In tests Object.assign is the\n // fastest way to assign styles.\n Object.assign(element.style, style);\n // Loop over any CSS variables and assign those.\n for (var key in vars) {\n element.style.setProperty(key, vars[key]);\n }\n}\n\nexport { renderHTML };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nvar camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n]);\n\nexport { camelCaseAttributes };\n","var CAMEL_CASE_PATTERN = /([a-z])([A-Z])/g;\nvar REPLACE_TEMPLATE = \"$1-$2\";\n/**\n * Convert camelCase to dash-case properties.\n */\nvar camelToDash = function (str) {\n return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase();\n};\n\nexport { camelToDash };\n","import { isMotionValue } from '../../../value/utils/is-motion-value.js';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.js';\n\nfunction scrapeMotionValuesFromProps(props) {\n var newValues = scrapeMotionValuesFromProps$1(props);\n for (var key in props) {\n if (isMotionValue(props[key])) {\n var targetKey = key === \"x\" || key === \"y\" ? \"attr\" + key.toUpperCase() : key;\n newValues[targetKey] = props[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.js';\nimport { renderHTML } from '../../html/utils/render.js';\nimport { camelCaseAttributes } from './camel-case-attrs.js';\n\nfunction renderSVG(element, renderState) {\n renderHTML(element, renderState);\n for (var key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\n","import { useContext, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return
\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence() {\n var context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n var isPresent = context.isPresent, onExitComplete = context.onExitComplete, register = context.register;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n // Replace with useOpaqueId when released in React\n var id = useUniqueId();\n useEffect(function () { return register(id); }, []);\n var safeToRemove = function () { return onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete(id); };\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return \n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\nvar counter = 0;\nvar incrementId = function () { return counter++; };\nvar useUniqueId = function () { return useConstant(incrementId); };\n\nexport { isPresent, useIsPresent, usePresence };\n","import { __assign } from 'tslib';\nimport { number } from 'style-value-types';\n\nvar int = __assign(__assign({}, number), { transform: Math.round });\n\nexport { int };\n","import { px, degrees, scale, alpha, progressPercentage } from 'style-value-types';\nimport { int } from './type-int.js';\n\nvar numberValueTypes = {\n // Border props\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n // Positioning props\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n size: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n // Spacing props\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n // Transform props\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale: scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n transformPerspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n // Misc\n zIndex: int,\n // SVG\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int,\n};\n\nexport { numberValueTypes };\n","var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n","var progress = function (from, to, value) {\n var toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","function velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","import { color } from '../color/index.js';\nimport { number } from '../numbers/index.js';\nimport { isString, floatRegex, colorRegex, sanitize } from '../utils.js';\n\nvar colorToken = '${c}';\nvar numberToken = '${n}';\nfunction test(v) {\n var _a, _b, _c, _d;\n return (isNaN(v) &&\n isString(v) &&\n ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0);\n}\nfunction analyse(v) {\n var values = [];\n var numColors = 0;\n var colors = v.match(colorRegex);\n if (colors) {\n numColors = colors.length;\n v = v.replace(colorRegex, colorToken);\n values.push.apply(values, colors.map(color.parse));\n }\n var numbers = v.match(floatRegex);\n if (numbers) {\n v = v.replace(floatRegex, numberToken);\n values.push.apply(values, numbers.map(number.parse));\n }\n return { values: values, numColors: numColors, tokenised: v };\n}\nfunction parse(v) {\n return analyse(v).values;\n}\nfunction createTransformer(v) {\n var _a = analyse(v), values = _a.values, numColors = _a.numColors, tokenised = _a.tokenised;\n var numValues = values.length;\n return function (v) {\n var output = tokenised;\n for (var i = 0; i < numValues; i++) {\n output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i]));\n }\n return output;\n };\n}\nvar convertNumbersToZero = function (v) {\n return typeof v === 'number' ? 0 : v;\n};\nfunction getAnimatableNone(v) {\n var parsed = parse(v);\n var transformer = createTransformer(v);\n return transformer(parsed.map(convertNumbersToZero));\n}\nvar complex = { test: test, parse: parse, createTransformer: createTransformer, getAnimatableNone: getAnimatableNone };\n\nexport { complex };\n","import { rgba } from './rgba.js';\nimport { isColorString } from './utils.js';\n\nfunction parseHex(v) {\n var r = '';\n var g = '';\n var b = '';\n var a = '';\n if (v.length > 5) {\n r = v.substr(1, 2);\n g = v.substr(3, 2);\n b = v.substr(5, 2);\n a = v.substr(7, 2);\n }\n else {\n r = v.substr(1, 1);\n g = v.substr(2, 1);\n b = v.substr(3, 1);\n a = v.substr(4, 1);\n r += r;\n g += g;\n b += b;\n a += a;\n }\n return {\n red: parseInt(r, 16),\n green: parseInt(g, 16),\n blue: parseInt(b, 16),\n alpha: a ? parseInt(a, 16) / 255 : 1,\n };\n}\nvar hex = {\n test: isColorString('#'),\n parse: parseHex,\n transform: rgba.transform,\n};\n\nexport { hex };\n","import { __assign } from 'tslib';\nimport { isString } from '../utils.js';\n\nvar createUnitType = function (unit) { return ({\n test: function (v) {\n return isString(v) && v.endsWith(unit) && v.split(' ').length === 1;\n },\n parse: parseFloat,\n transform: function (v) { return \"\" + v + unit; },\n}); };\nvar degrees = createUnitType('deg');\nvar percent = createUnitType('%');\nvar px = createUnitType('px');\nvar vh = createUnitType('vh');\nvar vw = createUnitType('vw');\nvar progressPercentage = __assign(__assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } });\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { __assign } from 'tslib';\nimport { complex } from './index.js';\nimport { floatRegex } from '../utils.js';\n\nvar maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']);\nfunction applyDefaultFilter(v) {\n var _a = v.slice(0, -1).split('('), name = _a[0], value = _a[1];\n if (name === 'drop-shadow')\n return v;\n var number = (value.match(floatRegex) || [])[0];\n if (!number)\n return v;\n var unit = value.replace(number, '');\n var defaultValue = maxDefaults.has(name) ? 1 : 0;\n if (number !== value)\n defaultValue *= 100;\n return name + '(' + defaultValue + unit + ')';\n}\nvar functionRegex = /([a-z-]*)\\(.*?\\)/g;\nvar filter = __assign(__assign({}, complex), { getAnimatableNone: function (v) {\n var functions = v.match(functionRegex);\n return functions ? functions.map(applyDefaultFilter).join(' ') : v;\n } });\n\nexport { filter };\n","var defaultTimestep = (1 / 60) * 1000;\nvar getCurrentTime = typeof performance !== \"undefined\"\n ? function () { return performance.now(); }\n : function () { return Date.now(); };\nvar onNextFrame = typeof window !== \"undefined\"\n ? function (callback) {\n return window.requestAnimationFrame(callback);\n }\n : function (callback) {\n return setTimeout(function () { return callback(getCurrentTime()); }, defaultTimestep);\n };\n\nexport { defaultTimestep, onNextFrame };\n","import { onNextFrame, defaultTimestep } from './on-next-frame.js';\nimport { createRenderStep } from './create-render-step.js';\n\nvar maxElapsed = 40;\nvar useDefaultElapsed = true;\nvar runNextFrame = false;\nvar isProcessing = false;\nvar frame = {\n delta: 0,\n timestamp: 0\n};\nvar stepsOrder = [\"read\", \"update\", \"preRender\", \"render\", \"postRender\"];\nvar steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = createRenderStep(function () {\n return runNextFrame = true;\n });\n return acc;\n}, {});\nvar sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n var step = steps[key];\n acc[key] = function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n if (!runNextFrame) startLoop();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n}, {});\nvar cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nvar flushSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = function () {\n return steps[key].process(frame);\n };\n return acc;\n}, {});\nvar processStep = function (stepId) {\n return steps[stepId].process(frame);\n};\nvar processFrame = function (timestamp) {\n runNextFrame = false;\n frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (runNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nvar startLoop = function () {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing) onNextFrame(processFrame);\n};\nvar getFrameData = function () {\n return frame;\n};\n\nexport default sync;\nexport { cancelSync, flushSync, getFrameData };\n","function createRenderStep(runNextFrame) {\n var toRun = [];\n var toRunNextFrame = [];\n var numToRun = 0;\n var isProcessing = false;\n var toKeepAlive = new WeakSet();\n var step = {\n schedule: function (callback, keepAlive, immediate) {\n if (keepAlive === void 0) { keepAlive = false; }\n if (immediate === void 0) { immediate = false; }\n var addToCurrentFrame = immediate && isProcessing;\n var buffer = addToCurrentFrame ? toRun : toRunNextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (buffer.indexOf(callback) === -1) {\n buffer.push(callback);\n if (addToCurrentFrame && isProcessing)\n numToRun = toRun.length;\n }\n return callback;\n },\n cancel: function (callback) {\n var index = toRunNextFrame.indexOf(callback);\n if (index !== -1)\n toRunNextFrame.splice(index, 1);\n toKeepAlive.delete(callback);\n },\n process: function (frameData) {\n var _a;\n isProcessing = true;\n _a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1];\n toRunNextFrame.length = 0;\n numToRun = toRun.length;\n if (numToRun) {\n for (var i = 0; i < numToRun; i++) {\n var callback = toRun[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","/**\n * Decides if the supplied variable is an array of variant labels\n */\nfunction isVariantLabels(v) {\n return Array.isArray(v);\n}\n/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || isVariantLabels(v);\n}\n/**\n * Creates an object containing the latest state of every MotionValue on a VisualElement\n */\nfunction getCurrent(visualElement) {\n var current = {};\n visualElement.forEachValue(function (value, key) { return (current[key] = value.get()); });\n return current;\n}\n/**\n * Creates an object containing the latest velocity of every MotionValue on a VisualElement\n */\nfunction getVelocity(visualElement) {\n var velocity = {};\n visualElement.forEachValue(function (value, key) { return (velocity[key] = value.getVelocity()); });\n return velocity;\n}\nfunction resolveVariantFromProps(props, definition, custom, currentValues, currentVelocity) {\n var _a;\n if (currentValues === void 0) { currentValues = {}; }\n if (currentVelocity === void 0) { currentVelocity = {}; }\n if (typeof definition === \"string\") {\n definition = (_a = props.variants) === null || _a === void 0 ? void 0 : _a[definition];\n }\n return typeof definition === \"function\"\n ? definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity)\n : definition;\n}\nfunction resolveVariant(visualElement, definition, custom) {\n var props = visualElement.getProps();\n return resolveVariantFromProps(props, definition, custom !== null && custom !== void 0 ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement));\n}\nfunction checkIfControllingVariants(props) {\n var _a;\n return (typeof ((_a = props.animate) === null || _a === void 0 ? void 0 : _a.start) === \"function\" ||\n isVariantLabel(props.initial) ||\n isVariantLabel(props.animate) ||\n isVariantLabel(props.whileHover) ||\n isVariantLabel(props.whileDrag) ||\n isVariantLabel(props.whileTap) ||\n isVariantLabel(props.whileFocus) ||\n isVariantLabel(props.exit));\n}\nfunction checkIfVariantNode(props) {\n return Boolean(checkIfControllingVariants(props) || props.variants);\n}\n\nexport { checkIfControllingVariants, checkIfVariantNode, isVariantLabel, isVariantLabels, resolveVariant, resolveVariantFromProps };\n","import { __read, __rest } from 'tslib';\nimport * as React from 'react';\nimport { useState, useRef, useEffect } from 'react';\nimport { LazyContext } from '../../context/LazyContext.js';\nimport { loadFeatures } from '../../motion/features/definitions.js';\n\n/**\n * Used in conjunction with the `m` component to reduce bundle size.\n *\n * `m` is a version of the `motion` component that only loads functionality\n * critical for the initial render.\n *\n * `LazyMotion` can then be used to either synchronously or asynchronously\n * load animation and gesture support.\n *\n * ```jsx\n * // Synchronous loading\n * import { LazyMotion, m, domAnimations } from \"framer-motion\"\n *\n * function App() {\n * return (\n *