{"version":3,"file":"1666-44b52876a66a4cdb8088.js","mappings":"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","sources":["webpack://eploy/./node_modules/hey-listen/dist/hey-listen.es.js","webpack://eploy/./node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/projection/node/state.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/features/use-features.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/projection/node/id.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/utils/VisualElementHandler.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/index.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/features/use-projection.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/config-motion.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/motion-minimal.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/utils/render.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/render/utils/variants.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/is-browser.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/process.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/resolve-value.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/use-constant.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/utils/use-reduced-motion.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs","webpack://eploy/./node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","webpack://eploy/./node_modules/style-value-types/dist/es/numbers/index.mjs","webpack://eploy/./node_modules/style-value-types/dist/es/numbers/units.mjs","webpack://eploy/./node_modules/style-value-types/dist/es/utils.mjs","webpack://eploy/./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["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","function isAnimationControls(v) {\n return typeof v === \"object\" && typeof v.start === \"function\";\n}\n\nexport { isAnimationControls };\n","var isKeyframesTarget = function (v) {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { createContext } from 'react';\n\nvar LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n","import { createContext } from 'react';\n\nvar LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar MotionConfigContext = createContext({\n transformPagePoint: function (p) { return p; },\n isStatic: false,\n reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nvar SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n","var createDefinition = function (propNames) { return ({\n isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },\n}); };\nvar featureDefinitions = {\n measureLayout: createDefinition([\"layout\", \"layoutId\", \"drag\"]),\n animation: createDefinition([\n \"animate\",\n \"exit\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"whileFocus\",\n \"whileDrag\",\n \"whileInView\",\n ]),\n exit: createDefinition([\"exit\"]),\n drag: createDefinition([\"drag\", \"dragControls\"]),\n focus: createDefinition([\"whileFocus\"]),\n hover: createDefinition([\"whileHover\", \"onHoverStart\", \"onHoverEnd\"]),\n tap: createDefinition([\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"]),\n pan: createDefinition([\n \"onPan\",\n \"onPanStart\",\n \"onPanSessionStart\",\n \"onPanEnd\",\n ]),\n inView: createDefinition([\n \"whileInView\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n ]),\n};\nfunction loadFeatures(features) {\n for (var key in features) {\n if (features[key] === null)\n continue;\n if (key === \"projectionNodeConstructor\") {\n featureDefinitions.projectionNodeConstructor = features[key];\n }\n else {\n featureDefinitions[key].Component = features[key];\n }\n }\n}\n\nexport { featureDefinitions, loadFeatures };\n","import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nimport { isTransformProp, isTransformOriginProp } from '../../render/html/utils/transform.mjs';\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 (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nvar globalProjectionState = {\n /**\n * Global flag as to whether the tree has animated since the last time\n * we resized the window\n */\n hasAnimatedSinceResize: true,\n /**\n * We set this to true once, on the first update. Any nodes added to the tree beyond that\n * update will be given a `data-projection-id` attribute.\n */\n hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n","var scaleCorrectors = {};\nfunction addScaleCorrector(correctors) {\n Object.assign(scaleCorrectors, correctors);\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n","import { __assign } from 'tslib';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { env } from '../../utils/process.mjs';\nimport { featureDefinitions } from './definitions.mjs';\nimport { invariant } from 'hey-listen';\nimport { LazyContext } from '../../context/LazyContext.mjs';\n\nvar featureNames = Object.keys(featureDefinitions);\nvar numFeatures = featureNames.length;\n/**\n * Load features via renderless components based on the provided MotionProps.\n */\nfunction useFeatures(props, visualElement, preloadedFeatures) {\n var features = [];\n var lazyContext = useContext(LazyContext);\n if (!visualElement)\n return null;\n /**\n * If we're in development mode, check to make sure we're not rendering a motion component\n * as a child of LazyMotion, as this will break the file-size benefits of using it.\n */\n if (env !== \"production\" && preloadedFeatures && lazyContext.strict) {\n invariant(false, \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\");\n }\n for (var i = 0; i < numFeatures; i++) {\n var name_1 = featureNames[i];\n var _a = featureDefinitions[name_1], isEnabled = _a.isEnabled, Component = _a.Component;\n /**\n * It might be possible in the future to use this moment to\n * dynamically request functionality. In initial tests this\n * was producing a lot of duplication amongst bundles.\n */\n if (isEnabled(props) && Component) {\n features.push(React.createElement(Component, __assign({ key: name_1 }, props, { visualElement: visualElement })));\n }\n }\n return features;\n}\n\nexport { useFeatures };\n","import { createContext, useContext } from 'react';\n\nvar MotionContext = createContext({});\nfunction useVisualElementContext() {\n return useContext(MotionContext).visualElement;\n}\n\nexport { MotionContext, useVisualElementContext };\n","import { useMemo, useContext } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n var _a = getCurrentTreeVariants(props, useContext(MotionContext)), initial = _a.initial, animate = _a.animate;\n return useMemo(function () { return ({ initial: initial, animate: animate }); }, [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { useConstant } from '../../utils/use-constant.mjs';\nimport { globalProjectionState } from './state.mjs';\n\nvar id = 1;\nfunction useProjectionId() {\n return useConstant(function () {\n if (globalProjectionState.hasEverUpdated) {\n return id++;\n }\n });\n}\n\nexport { useProjectionId };\n","import { __extends } from 'tslib';\nimport React__default from 'react';\n\nvar VisualElementHandler = /** @class */ (function (_super) {\n __extends(VisualElementHandler, _super);\n function VisualElementHandler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Update visual element props as soon as we know this update is going to be commited.\n */\n VisualElementHandler.prototype.getSnapshotBeforeUpdate = function () {\n this.updateProps();\n return null;\n };\n VisualElementHandler.prototype.componentDidUpdate = function () { };\n VisualElementHandler.prototype.updateProps = function () {\n var _a = this.props, visualElement = _a.visualElement, props = _a.props;\n if (visualElement)\n visualElement.setProps(props);\n };\n VisualElementHandler.prototype.render = function () {\n return this.props.children;\n };\n return VisualElementHandler;\n}(React__default.Component));\n\nexport { VisualElementHandler };\n","import { __assign } from 'tslib';\nimport * as React from 'react';\nimport { forwardRef, useContext } from 'react';\nimport { useFeatures } from './features/use-features.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { loadFeatures, featureDefinitions } from './features/definitions.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { useProjectionId } from '../projection/node/id.mjs';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { useProjection } from './features/use-projection.mjs';\nimport { VisualElementHandler } from './utils/VisualElementHandler.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent(_a) {\n var preloadedFeatures = _a.preloadedFeatures, createVisualElement = _a.createVisualElement, projectionNodeConstructor = _a.projectionNodeConstructor, useRender = _a.useRender, useVisualState = _a.useVisualState, Component = _a.Component;\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\n var layoutId = useLayoutId(props);\n props = __assign(__assign({}, props), { layoutId: layoutId });\n /**\n * If we're rendering in a static environment, we only visually update the component\n * as a result of a React-rerender rather than interactions or animations. This\n * means we don't need to load additional memory structures like VisualElement,\n * or any gesture/animation features.\n */\n var config = useContext(MotionConfigContext);\n var features = null;\n var context = useCreateMotionContext(props);\n /**\n * Create a unique projection ID for this component. If a new component is added\n * during a layout animation we'll use this to query the DOM and hydrate its ref early, allowing\n * us to measure it as soon as any layout effect flushes pending layout animations.\n *\n * Performance note: It'd be better not to have to search the DOM for these elements.\n * For newly-entering components it could be enough to only correct treeScale, in which\n * case we could mount in a scale-correction mode. This wouldn't be enough for\n * shared element transitions however. Perhaps for those we could revert to a root node\n * that gets forceRendered and layout animations are triggered on its layout effect.\n */\n var projectionId = config.isStatic ? undefined : useProjectionId();\n /**\n *\n */\n var visualState = useVisualState(props, config.isStatic);\n if (!config.isStatic && isBrowser) {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, __assign(__assign({}, config), props), createVisualElement);\n useProjection(projectionId, props, context.visualElement, projectionNodeConstructor ||\n featureDefinitions.projectionNodeConstructor);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n features = useFeatures(props, context.visualElement, preloadedFeatures);\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (React.createElement(VisualElementHandler, { visualElement: context.visualElement, props: __assign(__assign({}, config), props) },\n features,\n React.createElement(MotionContext.Provider, { value: context }, useRender(Component, props, projectionId, useMotionRef(visualState, context.visualElement, externalRef), visualState, config.isStatic, context.visualElement))));\n }\n return forwardRef(MotionComponent);\n}\nfunction useLayoutId(_a) {\n var _b;\n var layoutId = _a.layoutId;\n var layoutGroupId = (_b = useContext(LayoutGroupContext)) === null || _b === void 0 ? void 0 : _b.id;\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\n\nexport { createMotionComponent };\n","import { checkIfControllingVariants, isVariantLabel } from '../../render/utils/variants.mjs';\n\nfunction getCurrentTreeVariants(props, context) {\n if (checkIfControllingVariants(props)) {\n var initial = props.initial, animate = props.animate;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","import { useContext, useRef, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useVisualElementContext } from '../../context/MotionContext/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { useReducedMotionConfig } from '../../utils/use-reduced-motion.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n var lazyContext = useContext(LazyContext);\n var parent = useVisualElementContext();\n var presenceContext = useContext(PresenceContext);\n var shouldReduceMotion = useReducedMotionConfig();\n var visualElementRef = useRef(undefined);\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n if (!createVisualElement)\n createVisualElement = lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState: visualState,\n parent: parent,\n props: props,\n presenceId: presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id,\n blockInitialAnimation: (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false,\n shouldReduceMotion: shouldReduceMotion,\n });\n }\n var visualElement = visualElementRef.current;\n useIsomorphicLayoutEffect(function () {\n visualElement === null || visualElement === void 0 ? void 0 : visualElement.syncRender();\n });\n useEffect(function () {\n var _a;\n (_a = visualElement === null || visualElement === void 0 ? void 0 : visualElement.animationState) === null || _a === void 0 ? void 0 : _a.animateChanges();\n });\n useIsomorphicLayoutEffect(function () { return function () { return visualElement === null || visualElement === void 0 ? void 0 : visualElement.notifyUnmount(); }; }, []);\n return visualElement;\n}\n\nexport { useVisualElement };\n","import { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { useContext } from 'react';\nimport { SwitchLayoutGroupContext } from '../../context/SwitchLayoutGroupContext.mjs';\n\nfunction useProjection(projectionId, _a, visualElement, ProjectionNodeConstructor) {\n var _b;\n var layoutId = _a.layoutId, layout = _a.layout, drag = _a.drag, dragConstraints = _a.dragConstraints, layoutScroll = _a.layoutScroll;\n var initialPromotionConfig = useContext(SwitchLayoutGroupContext);\n if (!ProjectionNodeConstructor ||\n !visualElement ||\n (visualElement === null || visualElement === void 0 ? void 0 : visualElement.projection)) {\n return;\n }\n visualElement.projection = new ProjectionNodeConstructor(projectionId, visualElement.getLatestValues(), (_b = visualElement.parent) === null || _b === void 0 ? void 0 : _b.projection);\n visualElement.projection.setOptions({\n layoutId: layoutId,\n layout: layout,\n alwaysMeasureLayout: Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n visualElement: visualElement,\n scheduleRender: function () { return visualElement.scheduleRender(); },\n /**\n * TODO: Update options in an effect. This could be tricky as it'll be too late\n * to update by the time layout animations run.\n * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n * ensuring it gets called if there's no potential layout animations.\n *\n */\n animationType: typeof layout === \"string\" ? layout : \"both\",\n initialPromotionConfig: initialPromotionConfig,\n layoutScroll: layoutScroll,\n });\n}\n\nexport { useProjection };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback(function (instance) {\n var _a;\n instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance));\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","var createHtmlRenderState = function () { return ({\n style: {},\n transform: {},\n transformKeys: [],\n transformOrigin: {},\n vars: {},\n}); };\n\nexport { createHtmlRenderState };\n","import { __assign } from 'tslib';\nimport { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n for (var key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues(_a, visualState, isStatic) {\n var transformTemplate = _a.transformTemplate;\n return useMemo(function () {\n var state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n var vars = state.vars, style = state.style;\n return __assign(__assign({}, vars), style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n var styleProp = props.style || {};\n var style = {};\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp, props);\n Object.assign(style, useInitialMotionValues(props, visualState, isStatic));\n if (props.transformValues) {\n style = props.transformValues(style);\n }\n return style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n // The `any` isn't ideal but it is the type of createElement props argument\n var htmlProps = {};\n var style = useStyle(props, visualState, isStatic);\n if (Boolean(props.drag) && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false;\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\";\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : \"pan-\".concat(props.drag === \"x\" ? \"y\" : \"x\");\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps, useStyle };\n","import { __assign } from 'tslib';\nimport { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nvar createSvgRenderState = function () { return (__assign(__assign({}, createHtmlRenderState()), { attrs: {} })); };\n\nexport { createSvgRenderState };\n","import { __assign } from 'tslib';\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nfunction useSVGProps(props, visualState) {\n var visualProps = useMemo(function () {\n var state = createSvgRenderState();\n buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);\n return __assign(__assign({}, state.attrs), { style: __assign({}, state.style) });\n }, [visualState]);\n if (props.style) {\n var rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = __assign(__assign({}, rawStyles), visualProps.style);\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","import { __assign } from 'tslib';\nimport { createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\n\nfunction createUseRender(forwardMotionProps) {\n if (forwardMotionProps === void 0) { forwardMotionProps = false; }\n var useRender = function (Component, props, projectionId, ref, _a, isStatic) {\n var latestValues = _a.latestValues;\n var useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n var visualProps = useVisualProps(props, latestValues, isStatic);\n var filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n var elementProps = __assign(__assign(__assign({}, filteredProps), visualProps), { ref: ref });\n if (projectionId) {\n elementProps[\"data-projection-id\"] = projectionId;\n }\n return createElement(Component, elementProps);\n };\n return useRender;\n}\n\nexport { createUseRender };\n","import { __rest } from 'tslib';\nimport { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { checkIfControllingVariants, checkIfVariantNode, resolveVariantFromProps } from '../../render/utils/variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\n\nfunction makeState(_a, props, context, presenceContext) {\n var scrapeMotionValuesFromProps = _a.scrapeMotionValuesFromProps, createRenderState = _a.createRenderState, onMount = _a.onMount;\n var state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = function (instance) { return onMount(props, instance, state); };\n }\n return state;\n}\nvar makeUseVisualState = function (config) {\n return function (props, isStatic) {\n var context = useContext(MotionContext);\n var presenceContext = useContext(PresenceContext);\n return isStatic\n ? makeState(config, props, context, presenceContext)\n : useConstant(function () {\n return makeState(config, props, context, presenceContext);\n });\n };\n};\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n var values = {};\n var blockInitialAnimation = (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false;\n var motionValues = scrapeMotionValues(props);\n for (var key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n var initial = props.initial, animate = props.animate;\n var isControllingVariants = checkIfControllingVariants(props);\n var isVariantNode = checkIfVariantNode(props);\n if (context &&\n isVariantNode &&\n !isControllingVariants &&\n props.inherit !== false) {\n initial !== null && initial !== void 0 ? initial : (initial = context.initial);\n animate !== null && animate !== void 0 ? animate : (animate = context.animate);\n }\n var initialAnimationIsBlocked = blockInitialAnimation || initial === false;\n var variantToSet = initialAnimationIsBlocked ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n var list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach(function (definition) {\n var resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n var transitionEnd = resolved.transitionEnd; resolved.transition; var target = __rest(resolved, [\"transitionEnd\", \"transition\"]);\n for (var key in target) {\n var valueTarget = target[key];\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n var index = initialAnimationIsBlocked\n ? valueTarget.length - 1\n : 0;\n valueTarget = valueTarget[index];\n }\n if (valueTarget !== null) {\n values[key] = valueTarget;\n }\n }\n for (var key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","import { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\n\nvar svgMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n onMount: function (props, instance, _a) {\n var renderState = _a.renderState, latestValues = _a.latestValues;\n try {\n renderState.dimensions =\n typeof instance.getBBox ===\n \"function\"\n ? instance.getBBox()\n : instance.getBoundingClientRect();\n }\n catch (e) {\n // Most likely trying to measure an unrendered element under Firefox\n renderState.dimensions = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n buildSVGAttrs(renderState, latestValues, { enableHardwareAcceleration: false }, props.transformTemplate);\n renderSVG(instance, renderState);\n },\n }),\n};\n\nexport { svgMotionConfig };\n","import { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nvar htmlMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n }),\n};\n\nexport { htmlMotionConfig };\n","import { createMotionProxy } from './motion-proxy.mjs';\nimport { createDomMotionConfig } from './utils/create-config.mjs';\n\n/**\n * @public\n */\nvar m = createMotionProxy(createDomMotionConfig);\n\nexport { m };\n","import { createMotionComponent } from '../../motion/index.mjs';\n\n/**\n * Convert any React component into a `motion` component. The provided component\n * **must** use `React.forwardRef` to the underlying DOM component you want to animate.\n *\n * ```jsx\n * const Component = React.forwardRef((props, ref) => {\n * return
\n * })\n *\n * const MotionComponent = motion(Component)\n * ```\n *\n * @public\n */\nfunction createMotionProxy(createConfig) {\n function custom(Component, customMotionComponentConfig) {\n if (customMotionComponentConfig === void 0) { customMotionComponentConfig = {}; }\n return createMotionComponent(createConfig(Component, customMotionComponentConfig));\n }\n if (typeof Proxy === \"undefined\") {\n return custom;\n }\n /**\n * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n * Rather than generating them anew every render.\n */\n var componentCache = new Map();\n return new Proxy(custom, {\n /**\n * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n * The prop name is passed through as `key` and we can use that to generate a `motion`\n * DOM component with that name.\n */\n get: function (_target, key) {\n /**\n * If this element doesn't exist in the component cache, create it and cache.\n */\n if (!componentCache.has(key)) {\n componentCache.set(key, custom(key));\n }\n return componentCache.get(key);\n },\n });\n}\n\nexport { createMotionProxy };\n","import { __assign } from 'tslib';\nimport { isSVGComponent } from './is-svg-component.mjs';\nimport { createUseRender } from '../use-render.mjs';\nimport { svgMotionConfig } from '../../svg/config-motion.mjs';\nimport { htmlMotionConfig } from '../../html/config-motion.mjs';\n\nfunction createDomMotionConfig(Component, _a, preloadedFeatures, createVisualElement, projectionNodeConstructor) {\n var _b = _a.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;\n var baseConfig = isSVGComponent(Component)\n ? svgMotionConfig\n : htmlMotionConfig;\n return __assign(__assign({}, baseConfig), { preloadedFeatures: preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement: createVisualElement, projectionNodeConstructor: projectionNodeConstructor, Component: Component });\n}\n\nexport { createDomMotionConfig };\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","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nvar validMotionProps = new Set([\n \"initial\",\n \"animate\",\n \"exit\",\n \"style\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"transformValues\",\n \"custom\",\n \"inherit\",\n \"layout\",\n \"layoutId\",\n \"layoutDependency\",\n \"onLayoutAnimationStart\",\n \"onLayoutAnimationComplete\",\n \"onLayoutMeasure\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"drag\",\n \"dragControls\",\n \"dragListener\",\n \"dragConstraints\",\n \"dragDirectionLock\",\n \"dragSnapToOrigin\",\n \"_dragX\",\n \"_dragY\",\n \"dragElastic\",\n \"dragMomentum\",\n \"dragPropagation\",\n \"dragTransition\",\n \"whileDrag\",\n \"onPan\",\n \"onPanStart\",\n \"onPanEnd\",\n \"onPanSessionStart\",\n \"onTap\",\n \"onTapStart\",\n \"onTapCancel\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"whileFocus\",\n \"whileTap\",\n \"whileHover\",\n \"whileInView\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"viewport\",\n \"layoutScroll\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n return validMotionProps.has(key);\n}\n\nexport { isValidMotionProp };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nvar shouldForward = function (key) { return !isValidMotionProp(key); };\nfunction loadExternalIsValidProp(isValidProp) {\n if (!isValidProp)\n return;\n // Explicitly filter our events\n shouldForward = function (key) {\n return key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n };\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n /**\n * We attempt to import this package but require won't be defined in esm environments, in that case\n * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n * in favour of explicit injection.\n */\n loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default);\n}\ncatch (_a) {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n var filteredProps = {};\n for (var key in props) {\n if (shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key)) ||\n // If trying to use native HTML drag events, forward drag listeners\n (props[\"draggable\"] && key.startsWith(\"onDrag\"))) {\n filteredProps[key] = props[key];\n }\n }\n return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\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","/**\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.mjs';\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 { __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.mjs';\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","import { sortTransformProps } from './transform.mjs';\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 += \"\".concat(translateAlias[key] || key, \"(\").concat(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 \"\".concat(originX, \" \").concat(originY, \" \").concat(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 { buildTransform, buildTransformOrigin } from './build-transform.mjs';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.mjs';\nimport { isTransformProp, isTransformOriginProp } from './transform.mjs';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.mjs';\nimport { numberValueTypes } from '../../dom/value-types/number.mjs';\n\nfunction buildHTMLStyles(state, latestValues, options, transformTemplate) {\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 style[key] = valueAsType;\n }\n }\n if (hasTransform) {\n style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n }\n else if (transformTemplate) {\n style.transform = transformTemplate({}, \"\");\n }\n else if (!latestValues.transform && style.transform) {\n style.transform = \"none\";\n }\n if (hasTransformOrigin) {\n style.transformOrigin = buildTransformOrigin(transformOrigin);\n }\n}\n\nexport { buildHTMLStyles };\n","function renderHTML(element, _a, styleProp, projection) {\n var style = _a.style, vars = _a.vars;\n Object.assign(element.style, style, projection && projection.getProjectionStyles(styleProp));\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","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\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","/**\n * A list of all transformable axes. We'll use this list to generated a version\n * of each axes for each transform.\n */\nvar transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * An ordered array of each transformable value. By default, transform values\n * will be sorted to this order.\n */\nvar order = [\"translate\", \"scale\", \"rotate\", \"skew\"];\n/**\n * Generate a list of every possible transform key.\n */\nvar transformProps = [\"transformPerspective\", \"x\", \"y\", \"z\"];\norder.forEach(function (operationKey) {\n return transformAxes.forEach(function (axesKey) {\n return transformProps.push(operationKey + axesKey);\n });\n});\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nfunction sortTransformProps(a, b) {\n return transformProps.indexOf(a) - transformProps.indexOf(b);\n}\n/**\n * A quick lookup for transform props.\n */\nvar transformPropSet = new Set(transformProps);\nfunction isTransformProp(key) {\n return transformPropSet.has(key);\n}\n/**\n * A quick lookup for transform origin props\n */\nvar transformOriginProps = new Set([\"originX\", \"originY\", \"originZ\"]);\nfunction isTransformOriginProp(key) {\n return transformOriginProps.has(key);\n}\n\nexport { isTransformOriginProp, isTransformProp, sortTransformProps, transformAxes, transformProps };\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 \"\".concat(pxOriginX, \" \").concat(pxOriginY);\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from 'style-value-types';\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, 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 // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1;\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] = px.transform(-offset);\n // Build the dash array\n var pathLength = px.transform(length);\n var pathSpacing = px.transform(spacing);\n attrs[keys.array] = \"\".concat(pathLength, \" \").concat(pathSpacing);\n}\n\nexport { buildSVGPath };\n","import { __rest } from 'tslib';\nimport { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { calcSVGTransformOrigin } from './transform-origin.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, _a, options, transformTemplate) {\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, options, transformTemplate);\n state.attrs = state.style;\n state.style = {};\n var attrs = state.attrs, style = state.style, dimensions = state.dimensions;\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 defined\n if (pathLength !== undefined) {\n buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\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 \"pathLength\",\n]);\n\nexport { camelCaseAttributes };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n renderHTML(element, renderState, undefined, projection);\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 { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\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","/**\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 /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n definition = definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity);\n }\n /**\n * If the variant definition is a variant label, or\n * the function returned a variant label, resolve.\n */\n if (typeof definition === \"string\") {\n definition = (_a = props.variants) === null || _a === void 0 ? void 0 : _a[definition];\n }\n /**\n * At this point we've resolved both functions and variant labels,\n * but the resolved variant label might itself have been a function.\n * If so, resolve. This can only have returned a valid target object.\n */\n if (typeof definition === \"function\") {\n definition = definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity);\n }\n return 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","var isBrowser = typeof document !== \"undefined\";\n\nexport { isBrowser };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","/**\n * Browser-safe usage of process\n */\nvar defaultEnvironment = \"production\";\nvar env = typeof process === \"undefined\" || process.env === undefined\n ? defaultEnvironment\n : process.env.NODE_ENV || defaultEnvironment;\n\nexport { env };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.mjs';\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","import { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n var ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { __read } from 'tslib';\nimport { useState, useContext } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { isBrowser } from './is-browser.mjs';\n\n// Does this device prefer reduced motion? Returns `null` server-side.\nvar prefersReducedMotion = { current: null };\nvar hasDetected = false;\nfunction initPrefersReducedMotion() {\n hasDetected = true;\n if (!isBrowser)\n return;\n if (window.matchMedia) {\n var motionMediaQuery_1 = window.matchMedia(\"(prefers-reduced-motion)\");\n var setReducedMotionPreferences = function () {\n return (prefersReducedMotion.current = motionMediaQuery_1.matches);\n };\n motionMediaQuery_1.addListener(setReducedMotionPreferences);\n setReducedMotionPreferences();\n }\n else {\n prefersReducedMotion.current = false;\n }\n}\n/**\n * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.\n *\n * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing\n * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.\n *\n * It will actively respond to changes and re-render your components with the latest setting.\n *\n * ```jsx\n * export function Sidebar({ isOpen }) {\n * const shouldReduceMotion = useReducedMotion()\n * const closedX = shouldReduceMotion ? 0 : \"-100%\"\n *\n * return (\n *