{"version":3,"file":"commons-cc9fbe28a7eaa2913f7d.js","mappings":"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","sources":["webpack://parrot-analytics-gatsby/./src/components/global-style.js","webpack://parrot-analytics-gatsby/./src/utils/brand.js","webpack://parrot-analytics-gatsby/./src/images/icons/close.inline.svg","webpack://parrot-analytics-gatsby/./src/images/icons/demand360-login.inline.svg","webpack://parrot-analytics-gatsby/./src/images/logomark-dark.inline.svg","webpack://parrot-analytics-gatsby/./src/images/logotype-dark.inline.svg","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/animate.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/waapi/easing.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/waapi/create-accelerated-animation.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/waapi/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/create-instant-animation.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/waapi/supports.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/keyframes.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/legacy-popmotion/inertia.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/ease.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/back.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/easing.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/anticipate.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/legacy-popmotion/keyframes.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/legacy-popmotion/find-spring.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/legacy-popmotion/spring.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/legacy-popmotion/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/legacy-popmotion/decay.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/transitions.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/circ.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/node/state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/node/id.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/VisualElementHandler.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/utils/render.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/config-motion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/types.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/events/use-dom-event.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/utils/event-type.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/events/event-info.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/events/utils.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/events/use-pointer-event.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/use-hover-gesture.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/viewport/use-viewport.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/gestures.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/use-tap-gesture.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/use-focus-gesture.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/shallow-compare.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/animation-state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/animations.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/distance.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/PanSession.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/models.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/utils/measure.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/use-pan-gesture.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/gestures/drag/use-drag.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/VisualElement.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/motion-values.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/motion/features/layout/index.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/shared/stack.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/styles/transform.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/motion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/optimized-appear/store-id.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/optimized-appear/handoff.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/animation.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/render/utils/setters.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/delay.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/noop.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/process.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/resolve-value.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/time-conversion.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/utils/warn-once.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/value/types/complex/filter.mjs","webpack://parrot-analytics-gatsby/./node_modules/framer-motion/dist/es/value/use-will-change/is.mjs"],"sourcesContent":["import { createGlobalStyle } from \"styled-components\"\nimport tw from \"twin.macro\"\n\nconst GlobalStyle = createGlobalStyle`\n * {\n ${tw`antialiased`}\n }\n\n body {\n ${tw`font-body`}\n }\n\n .demand360-brand {\n font-family: \"Axiforma ExtraBold\", sans-serif;\n font-weight: bold;\n text-transform: uppercase;\n white-space: nowrap;\n }\n .demand360-brand-vertical {\n font-family: \"Axiforma ExtraBold\", sans-serif;\n font-weight: bold;\n text-transform: uppercase;\n text-align: left;\n }\n\n @keyframes typetura-h1 {\n 0%, 23.4375% {\n font-size: 2.5rem;\n line-height: 1.1;\n }\n 40% {\n font-size: 3.125rem;\n line-height: 1.1;\n }\n 75%, 100% {\n font-size: 3.75rem;\n line-height: 1.1;\n }\n }\n\n @keyframes typetura-h2 {\n 0%, 23.4375% {\n font-size: 1.875rem;\n line-height: 1.25;\n }\n 40% {\n font-size: 2.375rem;\n line-height: 1.25;\n }\n 75%, 100% {\n font-size: 2.75rem;\n line-height: 1.25;\n }\n }\n\n @keyframes typetura-h3 {\n 0%, 23.4375% {\n font-size: 1.5rem;\n line-height: 1.35;\n }\n 75%, 100% {\n font-size: 2rem;\n line-height: 1.25;\n }\n }\n\n @keyframes typetura-h4 {\n 0%, 23.4375% {\n font-size: 1.125rem;\n line-height: 1.35;\n }\n 75%, 100% {\n font-size: 1.625rem;\n line-height: 1.35;\n }\n }\n\n @keyframes typetura-h5 {\n 0%, 23.4375% {\n font-size: 1rem;\n line-height: 1.35;\n }\n 75%, 100% {\n font-size: 1.375rem;\n line-height: 1.35;\n }\n }\n\n @keyframes typetura-p {\n 0%, 23.4375% {\n font-size: 0.875rem;\n line-height: 1.75;\n }\n 26.75% {\n font-size: 0.9375rem;\n line-height: 1.75;\n }\n 50%, 100% {\n font-size: 1rem;\n line-height: 1.75;\n }\n }\n\n @keyframes typetura-p-small {\n 0%, 23.4375% {\n font-size: 0.8125rem;\n line-height: 1.75;\n }\n 26.75% {\n font-size: 0.8125rem;\n line-height: 1.75;\n }\n 50%, 100% {\n font-size: 0.8125rem;\n line-height: 1.75;\n }\n }\n\n @keyframes typetura-p-large {\n 0%, 23.4375% {\n font-size: 1.125rem;\n line-height: 1.5;\n }\n 50%, 100% {\n font-size: 1.25rem;\n line-height: 1.5;\n }\n }\n\n .typetura, .typetura-article {\n ${tw`font-body`}\n }\n\n .typetura h1 {\n --tt-key: typetura-h1;\n font-weight: bold;\n }\n\n .typetura h2, .typetura-article h1 {\n --tt-key: typetura-h2;\n font-weight: bold;\n }\n\n .typetura h3, .typetura-article h2 {\n --tt-key: typetura-h3;\n font-weight: bold;\n }\n\n .typetura h4, .typetura-article h3 {\n --tt-key: typetura-h4;\n font-weight: bold;\n }\n\n .typetura h5,\n .typetura-article h4,\n .typetura-article h5 {\n --tt-key: typetura-h5;\n font-weight: bold;\n }\n\n .typetura p,\n .typetura-article,\n .typetura-article p {\n --tt-key: typetura-p;\n }\n\n .typetura p.small {\n --tt-key: typetura-p-small;\n }\n\n .typetura p.large {\n --tt-key: typetura-p-large;\n }\n`\n\nexport default GlobalStyle\n","const monitor = new RegExp(/TV360\\s*monitor/, \"giu\")\nconst enterprise = new RegExp(/TV360\\s*enterprise/, \"giu\")\nconst tv360 = new RegExp(/TV\\s*360\\s/, \"giu\")\nconst demand360lite = new RegExp(/DEMAND360\\s*LITE/, \"giu\")\nconst demand360 = new RegExp(/^DEMAND360/, \"i\")\n\nexport const brandRules = (content, isHtml = true) => {\n if (!content) {\n return content\n }\n if (isHtml) {\n return content\n .replace(\n monitor,\n `DEMAND360LITE`\n )\n .replace(enterprise, `DEMAND360`)\n .replace(tv360, `DEMAND360 `)\n .replace(\n demand360lite,\n `DEMAND360LITE`\n )\n .replace(demand360, `DEMAND360 `)\n } else {\n return content\n .replace(monitor, `DEMAND360 LITE`)\n .replace(enterprise, `DEMAND360`)\n .replace(tv360, \"DEMAND360 \")\n }\n}\n\nexport const brandBlock = (block) => {\n if (block) {\n let newBlock = { ...block }\n if (block?.headerContent?.html) {\n newBlock.headerContent.html = brandRules(block.headerContent.html)\n }\n if (block?.mainContent?.html) {\n newBlock.mainContent.html = brandRules(block.mainContent.html)\n }\n if (block?.title) {\n newBlock.title = brandRules(block.title, false)\n }\n if (block?.body?.html) {\n newBlock.body.html = brandRules(block.body.html)\n }\n return newBlock\n } else {\n return block\n }\n}\n","var React = require('react');\n\nfunction CloseInline (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"clipRule\":\"evenodd\",\"d\":\"m23.7803.218693c-.2929-.2928929-.7677-.2928929-1.0606 0l-10.7197 10.719707-10.71967-10.719707-.08412-.072618c-.29361-.2178542-.710274-.1936482-.97654.072618-.2928933.292894-.2928933.767767 0 1.060657l10.71963 10.71965-10.71963 10.7197-.072618.0841c-.2178547.2936-.1936486.7103.072618.9766.292893.2928.767767.2928 1.06066 0l10.71967-10.7197 10.7197 10.7197.0841.0726c.2936.2178.7103.1936.9765-.0726.2929-.2929.2929-.7678 0-1.0607l-10.7196-10.7197 10.7196-10.71965.0726-.08411c.2179-.293616.1937-.71028-.0726-.976547z\",\"fill\":\"#b3b3b3\",\"fillRule\":\"evenodd\"}));\n}\n\nCloseInline.defaultProps = {\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = CloseInline;\n\nCloseInline.default = CloseInline;\n","var React = require('react');\n\nfunction Demand360LoginInline (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"m13.0001 0c-4.65389 0-8.69235 2.66286-10.67974 6.54492-.18015.31967-.17078.71232.02441 1.02303.1952.31071.54487.48958.91105.46603.36618-.02356.69006-.24575.84384-.5789 1.65661-3.23594 5.00823-5.45508 8.90044-5.45508 5.5345 0 10 4.46547 10 10 0 5.5345-4.4655 10-10 10-3.89221 0-7.24383-2.2191-8.90044-5.4551-.15378-.3331-.47766-.5553-.84384-.5789-.36618-.0235-.71585.1553-.91105.466-.19519.3108-.20456.7034-.02441 1.0231 1.98739 3.882 6.02585 6.5449 10.67974 6.5449 6.6154 0 12-5.3845 12-12 0-6.61547-5.3846-12-12-12z\",\"fill\":\"#00e07d\",\"key\":0}),React.createElement(\"path\",{\"d\":\"m11.9902 6.99023c-.4069.00011-.7732.24676-.9263.62377-.1532.37702-.0626.80922.229 1.09303l2.293 2.29297h-11.58594c-.36064-.0051-.69608.1844-.87789.4959-.181804.3115-.181804.6967 0 1.0082.18181.3115.51725.501.87789.4959h11.58594l-2.293 2.293c-.2612.2508-.3664.6232-.2751.9737.0914.3504.365.6241.7155.7155.3504.0913.7229-.0139.9737-.2752l3.9121-3.9121c.2483-.1894.3939-.484.3935-.7964-.0004-.3123-.1466-.6065-.3955-.7954l-3.9101-3.91013c-.1883-.19353-.4468-.30272-.7168-.30274z\",\"fill\":\"#fff\",\"key\":1})]);\n}\n\nDemand360LoginInline.defaultProps = {\"fill\":\"none\",\"height\":\"24\",\"viewBox\":\"0 0 25 24\",\"width\":\"25\"};\n\nmodule.exports = Demand360LoginInline;\n\nDemand360LoginInline.default = Demand360LoginInline;\n","var React = require('react');\n\nfunction LogomarkDarkInline (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"linearGradient\",{\"id\":\"a\",\"key\":0},[React.createElement(\"stop\",{\"offset\":\"0\",\"stopColor\":\"#fbb03b\",\"key\":0}),React.createElement(\"stop\",{\"offset\":\"1\",\"stopColor\":\"#fcde21\",\"key\":1})]),React.createElement(\"linearGradient\",{\"id\":\"b\",\"gradientTransform\":\"matrix(-31.339 -7.8241 7.8241 -31.339 26.7556 23.4133)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":1}),React.createElement(\"linearGradient\",{\"id\":\"c\",\"gradientTransform\":\"matrix(-31.2521 -18.9353 18.9353 -31.2521 32.5596 30.8648)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":2}),React.createElement(\"linearGradient\",{\"id\":\"d\",\"gradientTransform\":\"matrix(-30.2473 -21.5071 21.5071 -30.2473 35.6371 29.9665)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":3}),React.createElement(\"linearGradient\",{\"id\":\"e\",\"gradientTransform\":\"matrix(-29.7285 -22.5126 22.5126 -29.7285 38.2027 28.2533)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":4}),React.createElement(\"linearGradient\",{\"id\":\"f\",\"gradientTransform\":\"matrix(-29.4281 -23.0343 23.0343 -29.4281 40.6179 26.2861)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":5}),React.createElement(\"linearGradient\",{\"id\":\"g\",\"gradientTransform\":\"matrix(-29.2296 -23.3591 23.3591 -29.2296 42.9396 24.2472)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":6}),React.createElement(\"linearGradient\",{\"id\":\"h\",\"gradientTransform\":\"matrix(-29.0861 -23.5849 23.5849 -29.0861 45.2256 22.1602)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":7}),React.createElement(\"linearGradient\",{\"id\":\"i\",\"gradientTransform\":\"matrix(-28.9831 -23.7429 23.7429 -28.9831 47.5066 20.0206)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":8}),React.createElement(\"linearGradient\",{\"id\":\"j\",\"gradientTransform\":\"matrix(-28.902 -23.8646 23.8646 -28.902 49.7535 17.8838)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":9}),React.createElement(\"linearGradient\",{\"id\":\"k\",\"gradientTransform\":\"matrix(-28.8391 -23.9577 23.9577 -28.8391 52.0093 15.7137)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":10}),React.createElement(\"linearGradient\",{\"id\":\"l\",\"gradientTransform\":\"matrix(-28.7218 -24.1273 24.1273 -28.7218 54.2329 13.6433)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":11}),React.createElement(\"linearGradient\",{\"id\":\"m\",\"gradientTransform\":\"matrix(-28.1521 -24.8955 24.8955 -28.1521 56.5079 12.0581)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":12}),React.createElement(\"linearGradient\",{\"id\":\"n\",\"gradientTransform\":\"matrix(-26.7056 -26.5379 26.5379 -26.7056 56.4087 13.7091)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":13}),React.createElement(\"linearGradient\",{\"id\":\"o\",\"gradientTransform\":\"matrix(-26.7056 -26.538 26.538 -26.7056 56.4199 13.698)\",\"gradientUnits\":\"userSpaceOnUse\",\"x1\":\"0\",\"x2\":\"1\",\"xlinkHref\":\"#a\",\"y1\":\"0\",\"y2\":\"0\",\"key\":14}),React.createElement(\"g\",{\"fillRule\":\"nonzero\",\"key\":15},[React.createElement(\"path\",{\"d\":\"m19.391 48.937v.818l.409-.409z\",\"fill\":\"url(#b)\",\"key\":0}),React.createElement(\"path\",{\"d\":\"m22.078 47.063-2.687-2.693v1.513l1.934 1.936z\",\"fill\":\"url(#c)\",\"key\":1}),React.createElement(\"path\",{\"d\":\"m24.365 44.778-4.974-4.976v1.836l4.06 4.058z\",\"fill\":\"url(#d)\",\"key\":2}),React.createElement(\"path\",{\"d\":\"m26.655 42.495-7.264-7.26v2.158l6.187 6.181z\",\"fill\":\"url(#e)\",\"key\":3}),React.createElement(\"path\",{\"d\":\"m28.942 40.212-9.551-9.544v2.481l8.314 8.304z\",\"fill\":\"url(#f)\",\"key\":4}),React.createElement(\"path\",{\"d\":\"m31.23 37.928-11.839-11.828v2.805l10.44 10.425z\",\"fill\":\"url(#g)\",\"key\":5}),React.createElement(\"path\",{\"d\":\"m33.519 35.645-14.128-14.111v3.126l12.567 12.548z\",\"fill\":\"url(#h)\",\"key\":6}),React.createElement(\"path\",{\"d\":\"m35.806 33.36-16.415-16.393v3.449l14.694 14.669z\",\"fill\":\"url(#i)\",\"key\":7}),React.createElement(\"path\",{\"d\":\"m38.095 31.077-18.704-18.678v3.772l16.819 16.792z\",\"fill\":\"url(#j)\",\"key\":8}),React.createElement(\"path\",{\"d\":\"m40.383 28.793-20.992-20.961v4.094l18.946 18.915z\",\"fill\":\"url(#k)\",\"key\":9}),React.createElement(\"path\",{\"d\":\"m42.585 26.596-23.194-23.158v4.244l21.073 21.036z\",\"fill\":\"url(#l)\",\"key\":10}),React.createElement(\"path\",{\"d\":\"m44.265 24.921-24.874-24.835v3.179l23.287 23.245z\",\"fill\":\"url(#m)\",\"key\":11}),React.createElement(\"path\",{\"d\":\"m42.672 26.51-23.281-23.245v.173l23.199 23.158z\",\"fill\":\"url(#n)\",\"key\":12}),React.createElement(\"path\",{\"d\":\"m42.672 26.51-23.281-23.245v.173l23.199 23.158z\",\"fill\":\"url(#o)\",\"key\":13}),React.createElement(\"path\",{\"d\":\"m8.363 33.234-8.331-8.313 8.331-8.314z\",\"fill\":\"#adadad\",\"key\":14})])]);\n}\n\nLogomarkDarkInline.defaultProps = {\"clipRule\":\"evenodd\",\"fillRule\":\"evenodd\",\"strokeLinejoin\":\"round\",\"strokeMiterlimit\":\"2\",\"viewBox\":\"0 0 50 50\"};\n\nmodule.exports = LogomarkDarkInline;\n\nLogomarkDarkInline.default = LogomarkDarkInline;\n","var React = require('react');\n\nfunction LogotypeDarkInline (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"fill\":\"#adadad\",\"key\":0},[React.createElement(\"path\",{\"d\":\"m57.119 39.433h-1.42l-3.004 7.041h1.572l.641-1.568h2.962l.641 1.568h1.61zm-.729 1.847.931 2.267h-1.862z\",\"transform\":\"translate(-50)\",\"key\":0}),React.createElement(\"path\",{\"d\":\"m64.206 39.483h1.42l3.282 4.304v-4.304h1.522v6.991h-1.311l-3.393-4.444v4.444h-1.522v-6.991z\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":1}),React.createElement(\"path\",{\"d\":\"m78.937 39.433h-1.422l-3.003 7.041h1.572l.64-1.568h2.962l.641 1.568h1.612zm-.731 1.847.931 2.267h-1.862z\",\"transform\":\"translate(-50)\",\"key\":2}),React.createElement(\"path\",{\"d\":\"m86.022 39.483h1.541v5.593h3.493v1.398h-5.034z\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":3}),React.createElement(\"path\",{\"d\":\"m95.89 43.718-2.693-4.235h1.802l1.672 2.806 1.701-2.806h1.751l-2.693 4.204v2.787h-1.54z\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":4}),React.createElement(\"path\",{\"d\":\"m105.717 40.9h-2.132v-1.417h5.804v1.417h-2.132v5.574h-1.541v-5.574z\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":5}),React.createElement(\"path\",{\"d\":\"m63.643 39.483h1.541v6.992h-1.541z\",\"fillRule\":\"nonzero\",\"key\":6}),React.createElement(\"path\",{\"d\":\"m119.628 42.998v-.02c0-1.988 1.501-3.616 3.653-3.616 1.32 0 2.111.439 2.762 1.079l-.981 1.128c-.54-.49-1.09-.789-1.791-.789-1.181 0-2.032.979-2.032 2.178v.019c0 1.199.831 2.197 2.032 2.197.8 0 1.292-.32 1.841-.819l.981.988c-.722.768-1.522 1.249-2.873 1.249-2.061.001-3.592-1.587-3.592-3.594z\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":7}),React.createElement(\"path\",{\"d\":\"m129.845 45.455.911-1.088c.631.519 1.292.849 2.092.849.63 0 1.012-.25 1.012-.659v-.02c0-.389-.24-.589-1.411-.889-1.411-.36-2.323-.749-2.323-2.137v-.02c0-1.268 1.021-2.107 2.452-2.107 1.021 0 1.891.32 2.602.889l-.8 1.159c-.62-.429-1.231-.69-1.822-.69s-.9.27-.9.61v.019c0 .46.3.609 1.511.919 1.422.37 2.222.879 2.222 2.098v.019c0 1.389-1.061 2.168-2.572 2.168-1.063-.001-2.134-.371-2.974-1.12z\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":8})]),React.createElement(\"path\",{\"d\":\"m139.772 13.105 1.445 3.046h4.972v16.753h3.329v-16.753h6.382v-3.046z\",\"fill\":\"#ebebeb\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":1}),React.createElement(\"path\",{\"d\":\"m118.72 23.011c0-5.601 4.443-10.295 10.571-10.295 6.127 0 10.515 4.637 10.515 10.239v.056c0 5.603-4.443 10.295-10.571 10.295-6.127 0-10.515-4.635-10.515-10.238zm10.501 7.054c3.963 0 6.701-3.127 6.701-6.995v-.059c0-3.868-2.795-7.081-6.756-7.081-3.962 0-6.701 3.156-6.701 7.025v.056c0 3.869 2.796 7.054 6.756 7.054z\",\"fill\":\"#ebebeb\",\"transform\":\"translate(-50)\",\"key\":2}),React.createElement(\"path\",{\"d\":\"m116.084 19.401v-.057c0-1.735-.505-3.19-1.559-4.271-1.282-1.252-3.155-1.968-5.663-1.968h-4.983l1.408 3.046h3.291c2.592 0 4.038 1.257 4.038 3.391v.057c0 2.018-1.502 3.475-4.011 3.475h-.844v3.041l3.822 6.789h3.864l-3.999-7.517c2.763-.796 4.636-2.716 4.636-5.986z\",\"fill\":\"#ebebeb\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":3}),React.createElement(\"path\",{\"d\":\"m102.35 19.401v-.057c0-1.735-.563-3.19-1.617-4.271-1.282-1.252-3.213-1.968-5.721-1.968h-4.984l1.408 3.046h3.291c2.593 0 4.156 1.257 4.156 3.391v.057c0 2.018-1.619 3.475-4.127 3.475h-.867v3.041l3.843 6.789h3.865l-3.941-7.517c2.763-.796 4.694-2.716 4.694-5.986z\",\"fill\":\"#ebebeb\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":4}),React.createElement(\"path\",{\"d\":\"m92.125 32.904h-3.704l-3.562-6.923h-9.33l-3.562 6.923h-3.704l10.257-19.799h3.348zm-11.93-15.803-3.098 5.973h6.196z\",\"fill\":\"#ebebeb\",\"transform\":\"translate(-50)\",\"key\":5}),React.createElement(\"path\",{\"d\":\"m70.304 19.401v-.057c0-1.735-.579-3.19-1.633-4.271-1.282-1.252-3.611-1.968-6.119-1.968h-11.62l1.408 3.046h10.213c2.593 0 4.284 1.257 4.284 3.391v.057c0 1.153-.728 3.475-4.284 3.475h-3.334-3.618v9.83h3.469v-7.061h3.484c2.499 0 3.845-.683 4.084-.787 2.217-.955 3.666-2.798 3.666-5.655z\",\"fill\":\"#ebebeb\",\"fillRule\":\"nonzero\",\"transform\":\"translate(-50)\",\"key\":6})]);\n}\n\nLogotypeDarkInline.defaultProps = {\"clipRule\":\"evenodd\",\"fillRule\":\"evenodd\",\"strokeLinejoin\":\"round\",\"strokeMiterlimit\":\"2\",\"viewBox\":\"0 0 106 50\"};\n\nmodule.exports = LogotypeDarkInline;\n\nLogotypeDarkInline.default = LogotypeDarkInline;\n","import { createMotionValueAnimation } from './index.mjs';\nimport { motionValue } from '../value/index.mjs';\nimport { isMotionValue } from '../value/utils/is-motion-value.mjs';\n\n/**\n * Animate a single value or a `MotionValue`.\n *\n * The first argument is either a `MotionValue` to animate, or an initial animation value.\n *\n * The second is either a value to animate to, or an array of keyframes to animate through.\n *\n * The third argument can be either tween or spring options, and optional lifecycle methods: `onUpdate`, `onPlay`, `onComplete`, `onRepeat` and `onStop`.\n *\n * Returns `AnimationPlaybackControls`, currently just a `stop` method.\n *\n * ```javascript\n * const x = useMotionValue(0)\n *\n * useEffect(() => {\n * const controls = animate(x, 100, {\n * type: \"spring\",\n * stiffness: 2000,\n * onComplete: v => {}\n * })\n *\n * return controls.stop\n * })\n * ```\n *\n * @public\n */\nfunction animate(from, to, transition = {}) {\n const value = isMotionValue(from) ? from : motionValue(from);\n value.start(createMotionValueAnimation(\"\", value, to, transition));\n return {\n stop: () => value.stop(),\n isAnimating: () => value.isAnimating(),\n };\n}\n\nexport { animate };\n","const instantAnimationState = {\n current: false,\n};\n\nexport { instantAnimationState };\n","function isWaapiSupportedEasing(easing) {\n return (!easing || // Default easing\n Array.isArray(easing) || // Bezier curve\n (typeof easing === \"string\" && supportedWaapiEasing[easing]));\n}\nconst cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\nconst supportedWaapiEasing = {\n linear: \"linear\",\n ease: \"ease\",\n easeIn: \"ease-in\",\n easeOut: \"ease-out\",\n easeInOut: \"ease-in-out\",\n circIn: cubicBezierAsString([0, 0.65, 0.55, 1]),\n circOut: cubicBezierAsString([0.55, 0, 1, 0.45]),\n backIn: cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n backOut: cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\nfunction mapEasingToNativeEasing(easing) {\n if (!easing)\n return undefined;\n return Array.isArray(easing)\n ? cubicBezierAsString(easing)\n : supportedWaapiEasing[easing];\n}\n\nexport { cubicBezierAsString, isWaapiSupportedEasing, mapEasingToNativeEasing, supportedWaapiEasing };\n","import { sync } from '../../frameloop/index.mjs';\nimport { animate } from '../legacy-popmotion/index.mjs';\nimport { animateStyle } from './index.mjs';\nimport { isWaapiSupportedEasing } from './easing.mjs';\n\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\nfunction createAcceleratedAnimation(value, valueName, { onUpdate, onComplete, ...options }) {\n let { keyframes, duration = 0.3, elapsed = 0, ease } = options;\n /**\n * If this animation needs pre-generated keyframes then generate.\n */\n if (options.type === \"spring\" || !isWaapiSupportedEasing(options.ease)) {\n const sampleAnimation = animate(options);\n let state = { done: false, value: keyframes[0] };\n const pregeneratedKeyframes = [];\n let t = 0;\n while (!state.done) {\n state = sampleAnimation.sample(t);\n pregeneratedKeyframes.push(state.value);\n t += sampleDelta;\n }\n keyframes = pregeneratedKeyframes;\n duration = t - sampleDelta;\n ease = \"linear\";\n }\n const animation = animateStyle(value.owner.current, valueName, keyframes, {\n ...options,\n delay: -elapsed,\n duration,\n /**\n * This function is currently not called if ease is provided\n * as a function so the cast is safe.\n *\n * However it would be possible for a future refinement to port\n * in easing pregeneration from Motion One for browsers that\n * support the upcoming `linear()` easing function.\n */\n ease: ease,\n });\n /**\n * Prefer the `onfinish` prop as it's more widely supported than\n * the `finished` promise.\n *\n * Here, we synchronously set the provided MotionValue to the end\n * keyframe. If we didn't, when the WAAPI animation is finished it would\n * be removed from the element which would then revert to its old styles.\n */\n animation.onfinish = () => {\n value.set(keyframes[keyframes.length - 1]);\n onComplete && onComplete();\n };\n /**\n * Animation interrupt callback.\n */\n return () => {\n /**\n * WAAPI doesn't natively have any interruption capabilities.\n *\n * Rather than read commited styles back out of the DOM, we can\n * create a renderless JS animation and sample it twice to calculate\n * its current value, \"previous\" value, and therefore allow\n * Motion to calculate velocity for any subsequent animation.\n */\n const { currentTime } = animation;\n if (currentTime) {\n const sampleAnimation = animate(options);\n value.setWithVelocity(sampleAnimation.sample(currentTime - sampleDelta).value, sampleAnimation.sample(currentTime).value, sampleDelta);\n }\n sync.update(() => animation.cancel());\n };\n}\n\nexport { createAcceleratedAnimation };\n","import { mapEasingToNativeEasing } from './easing.mjs';\n\nfunction animateStyle(element, valueName, keyframes, { delay = 0, duration, repeat = 0, repeatType = \"loop\", ease, times, } = {}) {\n return element.animate({ [valueName]: keyframes, offset: times }, {\n delay,\n duration,\n easing: mapEasingToNativeEasing(ease),\n fill: \"both\",\n iterations: repeat + 1,\n direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n });\n}\n\nexport { animateStyle };\n","import { delay } from '../utils/delay.mjs';\n\nfunction createInstantAnimation({ keyframes, elapsed, onUpdate, onComplete, }) {\n const setValue = () => {\n onUpdate && onUpdate(keyframes[keyframes.length - 1]);\n onComplete && onComplete();\n return () => { };\n };\n return elapsed ? delay(setValue, -elapsed) : setValue();\n}\n\nexport { createInstantAnimation };\n","const underDampedSpring = () => ({\n type: \"spring\",\n stiffness: 500,\n damping: 25,\n restSpeed: 10,\n});\nconst criticallyDampedSpring = (target) => ({\n type: \"spring\",\n stiffness: 550,\n damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n restSpeed: 10,\n});\nconst linearTween = () => ({\n type: \"keyframes\",\n ease: \"linear\",\n duration: 0.3,\n});\nconst keyframesTransition = {\n type: \"keyframes\",\n duration: 0.8,\n};\nconst 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};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n if (keyframes.length > 2) {\n return keyframesTransition;\n }\n else {\n const factory = defaultTransitions[valueKey] || defaultTransitions.default;\n return factory(keyframes[1]);\n }\n};\n\nexport { criticallyDampedSpring, getDefaultTransition, linearTween, underDampedSpring };\n","import { complex } from '../../value/types/complex/index.mjs';\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 */\nconst isAnimatable = (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","const featureTests = {\n waapi: () => Object.hasOwnProperty.call(Element.prototype, \"animate\"),\n};\nconst results = {};\nconst supports = {};\n/**\n * Generate features tests that cache their results.\n */\nfor (const key in featureTests) {\n supports[key] = () => {\n if (results[key] === undefined)\n results[key] = featureTests[key]();\n return results[key];\n };\n}\n\nexport { supports };\n","import { warning } from 'hey-listen';\nimport { secondsToMilliseconds } from '../utils/time-conversion.mjs';\nimport { instantAnimationState } from '../utils/use-instant-transition-state.mjs';\nimport { createAcceleratedAnimation } from './waapi/create-accelerated-animation.mjs';\nimport { createInstantAnimation } from './create-instant-animation.mjs';\nimport { animate } from './legacy-popmotion/index.mjs';\nimport { inertia } from './legacy-popmotion/inertia.mjs';\nimport { getDefaultTransition } from './utils/default-transitions.mjs';\nimport { isAnimatable } from './utils/is-animatable.mjs';\nimport { getKeyframes } from './utils/keyframes.mjs';\nimport { getValueTransition, isTransitionDefined } from './utils/transitions.mjs';\nimport { supports } from './waapi/supports.mjs';\n\n/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\"opacity\"]);\nconst createMotionValueAnimation = (valueName, value, target, transition = {}) => {\n return (onComplete) => {\n const valueTransition = getValueTransition(transition, valueName) || {};\n /**\n * Most transition values are currently completely overwritten by value-specific\n * transitions. In the future it'd be nicer to blend these transitions. But for now\n * delay actually does inherit from the root transition if not value-specific.\n */\n const delay = valueTransition.delay || transition.delay || 0;\n /**\n * Elapsed isn't a public transition option but can be passed through from\n * optimized appear effects in milliseconds.\n */\n let { elapsed = 0 } = transition;\n elapsed = elapsed - secondsToMilliseconds(delay);\n const keyframes = getKeyframes(value, valueName, target, valueTransition);\n /**\n * Check if we're able to animate between the start and end keyframes,\n * and throw a warning if we're attempting to animate between one that's\n * animatable and another that isn't.\n */\n const originKeyframe = keyframes[0];\n const targetKeyframe = keyframes[keyframes.length - 1];\n const isOriginAnimatable = isAnimatable(valueName, originKeyframe);\n const isTargetAnimatable = isAnimatable(valueName, targetKeyframe);\n warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${valueName} from \"${originKeyframe}\" to \"${targetKeyframe}\". ${originKeyframe} is not an animatable value - to enable this animation set ${originKeyframe} to a value animatable to ${targetKeyframe} via the \\`style\\` property.`);\n let options = {\n keyframes,\n velocity: value.getVelocity(),\n ...valueTransition,\n elapsed,\n onUpdate: (v) => {\n value.set(v);\n valueTransition.onUpdate && valueTransition.onUpdate(v);\n },\n onComplete: () => {\n onComplete();\n valueTransition.onComplete && valueTransition.onComplete();\n },\n };\n if (!isOriginAnimatable ||\n !isTargetAnimatable ||\n instantAnimationState.current ||\n valueTransition.type === false) {\n /**\n * If we can't animate this value, or the global instant animation flag is set,\n * or this is simply defined as an instant transition, return an instant transition.\n */\n return createInstantAnimation(options);\n }\n else if (valueTransition.type === \"inertia\") {\n /**\n * If this is an inertia animation, we currently don't support pre-generating\n * keyframes for this as such it must always run on the main thread.\n */\n const animation = inertia(options);\n return () => animation.stop();\n }\n /**\n * If there's no transition defined for this value, we can generate\n * unqiue transition settings for this value.\n */\n if (!isTransitionDefined(valueTransition)) {\n options = {\n ...options,\n ...getDefaultTransition(valueName, options),\n };\n }\n /**\n * Both WAAPI and our internal animation functions use durations\n * as defined by milliseconds, while our external API defines them\n * as seconds.\n */\n if (options.duration) {\n options.duration = secondsToMilliseconds(options.duration);\n }\n if (options.repeatDelay) {\n options.repeatDelay = secondsToMilliseconds(options.repeatDelay);\n }\n const visualElement = value.owner;\n const element = visualElement && visualElement.current;\n const canAccelerateAnimation = supports.waapi() &&\n acceleratedValues.has(valueName) &&\n !options.repeatDelay &&\n options.repeatType !== \"mirror\" &&\n options.damping !== 0 &&\n visualElement &&\n element instanceof HTMLElement &&\n !visualElement.getProps().onUpdate;\n if (canAccelerateAnimation) {\n /**\n * If this animation is capable of being run via WAAPI, then do so.\n */\n return createAcceleratedAnimation(value, valueName, options);\n }\n else {\n /**\n * Otherwise, fall back to the main thread.\n */\n const animation = animate(options);\n return () => animation.stop();\n }\n };\n};\n\nexport { createMotionValueAnimation };\n","import { getAnimatableNone } from '../../render/dom/value-types/animatable-none.mjs';\nimport { isAnimatable } from './is-animatable.mjs';\nimport { isZero, getZeroUnit } from './transitions.mjs';\n\nfunction getKeyframes(value, valueName, target, transition) {\n const isTargetAnimatable = isAnimatable(valueName, target);\n let origin = transition.from !== undefined ? transition.from : value.get();\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(valueName, 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 /**\n * If the target has been defined as a series of keyframes\n */\n if (Array.isArray(target)) {\n /**\n * Ensure an initial wildcard keyframe is hydrated by the origin.\n * TODO: Support extra wildcard keyframes i.e [1, null, 0]\n */\n if (target[0] === null) {\n target[0] = origin;\n }\n return target;\n }\n else {\n return [origin, target];\n }\n}\n\nexport { getKeyframes };\n","import { animate } from './index.mjs';\nimport { velocityPerSecond } from '../../utils/velocity-per-second.mjs';\nimport { frameData } from '../../frameloop/data.mjs';\n\nfunction inertia({ keyframes, velocity = 0, min, max, power = 0.8, timeConstant = 750, bounceStiffness = 500, bounceDamping = 10, restDelta = 1, modifyTarget, driver, onUpdate, onComplete, onStop, }) {\n const origin = keyframes[0];\n let currentAnimation;\n function isOutOfBounds(v) {\n return (min !== undefined && v < min) || (max !== undefined && v > max);\n }\n function findNearestBoundary(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({\n keyframes: [0, 1],\n velocity: 0,\n ...options,\n driver,\n onUpdate: (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 },\n onComplete,\n onStop,\n });\n }\n function startSpring(options) {\n startAnimation({\n type: \"spring\",\n stiffness: bounceStiffness,\n damping: bounceDamping,\n restDelta,\n ...options,\n });\n }\n if (isOutOfBounds(origin)) {\n // Start the animation with spring if outside the defined boundaries\n startSpring({\n velocity,\n keyframes: [origin, findNearestBoundary(origin)],\n });\n }\n else {\n /**\n * Or if the value is out of bounds, simulate the inertia movement\n * with the decay animation.\n *\n * Pre-calculate the target so we can detect if it's out-of-bounds.\n * If it is, we want to check per frame when to switch to a spring\n * animation\n */\n let target = power * velocity + origin;\n if (typeof modifyTarget !== \"undefined\")\n target = modifyTarget(target);\n const boundary = findNearestBoundary(target);\n const heading = boundary === min ? -1 : 1;\n let prev;\n let current;\n const checkBoundary = (v) => {\n prev = current;\n current = v;\n velocity = velocityPerSecond(v - prev, frameData.delta);\n if ((heading === 1 && v > boundary) ||\n (heading === -1 && v < boundary)) {\n startSpring({ keyframes: [v, boundary], velocity });\n }\n };\n startAnimation({\n type: \"decay\",\n keyframes: [origin, 0],\n velocity,\n timeConstant,\n power,\n restDelta,\n modifyTarget,\n onUpdate: isOutOfBounds(target) ? checkBoundary : undefined,\n });\n }\n return {\n stop: () => currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(),\n };\n}\n\nexport { inertia };\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst easeIn = (p) => p * p;\nconst easeOut = reverseEasing(easeIn);\nconst easeInOut = mirrorEasing(easeIn);\n\nexport { easeIn, easeInOut, easeOut };\n","import { noop } from '../utils/noop.mjs';\n\n/*\n Bezier function generator\n This has been modified from Gaëtan Renaudeau's BezierEasing\n https://github.com/gre/bezier-easing/blob/master/src/index.js\n https://github.com/gre/bezier-easing/blob/master/LICENSE\n \n I've removed the newtonRaphsonIterate algo because in benchmarking it\n wasn't noticiably faster than binarySubdivision, indeed removing it\n usually improved times, depending on the curve.\n I also removed the lookup table, as for the added bundle size and loop we're\n only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n to 12 to compensate and this still tended to be faster for no perceivable\n loss in accuracy.\n Usage\n const easeOut = cubicBezier(.17,.67,.83,.67);\n const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - x;\n if (currentX > 0.0) {\n upperBound = currentT;\n }\n else {\n lowerBound = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n // If this is a linear gradient, return linear easing\n if (mX1 === mY1 && mX2 === mY2)\n return noop;\n const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n // If animation is at start/end, return t without easing\n return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = reverseEasing(backOut);\nconst backInOut = mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n","import { invariant } from 'hey-listen';\nimport { cubicBezier } from '../../easing/cubic-bezier.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { easeIn, easeInOut, easeOut } from '../../easing/ease.mjs';\nimport { circIn, circInOut, circOut } from '../../easing/circ.mjs';\nimport { backIn, backInOut, backOut } from '../../easing/back.mjs';\nimport { anticipate } from '../../easing/anticipate.mjs';\n\nconst easingLookup = {\n linear: noop,\n easeIn,\n easeInOut,\n easeOut,\n circIn,\n circInOut,\n circOut,\n backIn,\n backInOut,\n backOut,\n anticipate,\n};\nconst easingDefinitionToFunction = (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 const [x1, y1, x2, y2] = definition;\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};\nconst isEasingArray = (ease) => {\n return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { easingDefinitionToFunction, isEasingArray };\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n","import { easeInOut } from '../../easing/ease.mjs';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { isEasingArray, easingDefinitionToFunction } from '../utils/easing.mjs';\n\nfunction defaultEasing(values, easing) {\n return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction defaultOffset(values) {\n const numValues = values.length;\n return values.map((_value, i) => i !== 0 ? i / (numValues - 1) : 0);\n}\nfunction convertOffsetToTimes(offset, duration) {\n return offset.map((o) => o * duration);\n}\nfunction keyframes({ keyframes: keyframeValues, ease = easeInOut, times, duration = 300, }) {\n keyframeValues = [...keyframeValues];\n const origin = keyframes[0];\n /**\n * Easing functions can be externally defined as strings. Here we convert them\n * into actual functions.\n */\n const easingFunctions = isEasingArray(ease)\n ? ease.map(easingDefinitionToFunction)\n : easingDefinitionToFunction(ease);\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = { done: false, value: origin };\n /**\n * Create a times array based on the provided 0-1 offsets\n */\n const absoluteTimes = convertOffsetToTimes(\n // Only use the provided offsets if they're the correct length\n // TODO Maybe we should warn here if there's a length mismatch\n times && times.length === keyframes.length\n ? times\n : defaultOffset(keyframeValues), duration);\n function createInterpolator() {\n return interpolate(absoluteTimes, keyframeValues, {\n ease: Array.isArray(easingFunctions)\n ? easingFunctions\n : defaultEasing(keyframeValues, easingFunctions),\n });\n }\n let interpolator = createInterpolator();\n return {\n next: (t) => {\n state.value = interpolator(t);\n state.done = t >= duration;\n return state;\n },\n flipTarget: () => {\n keyframeValues.reverse();\n interpolator = createInterpolator();\n },\n };\n}\n\nexport { convertOffsetToTimes, defaultEasing, defaultOffset, keyframes };\n","import { warning } from 'hey-listen';\nimport { clamp } from '../../utils/clamp.mjs';\n\nconst safeMin = 0.001;\nconst minDuration = 0.01;\nconst maxDuration = 10.0;\nconst minDamping = 0.05;\nconst maxDamping = 1;\nfunction findSpring({ duration = 800, bounce = 0.25, velocity = 0, mass = 1, }) {\n let envelope;\n let derivative;\n warning(duration <= maxDuration * 1000, \"Spring duration must be 10 seconds or less\");\n let dampingRatio = 1 - bounce;\n /**\n * Restrict dampingRatio and duration to within acceptable ranges.\n */\n dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n duration = clamp(minDuration, maxDuration, duration / 1000);\n if (dampingRatio < 1) {\n /**\n * Underdamped spring\n */\n envelope = (undampedFreq) => {\n const exponentialDecay = undampedFreq * dampingRatio;\n const delta = exponentialDecay * duration;\n const a = exponentialDecay - velocity;\n const b = calcAngularFreq(undampedFreq, dampingRatio);\n const c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = (undampedFreq) => {\n const exponentialDecay = undampedFreq * dampingRatio;\n const delta = exponentialDecay * duration;\n const d = delta * velocity + velocity;\n const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n const f = Math.exp(-delta);\n const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n /**\n * Critically-damped spring\n */\n envelope = (undampedFreq) => {\n const a = Math.exp(-undampedFreq * duration);\n const b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = (undampedFreq) => {\n const a = Math.exp(-undampedFreq * duration);\n const b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n const initialGuess = 5 / duration;\n const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n duration = duration * 1000;\n if (isNaN(undampedFreq)) {\n return {\n stiffness: 100,\n damping: 10,\n duration,\n };\n }\n else {\n const stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n duration,\n };\n }\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n let result = initialGuess;\n for (let 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 { findSpring, calcAngularFreq } from './find-spring.mjs';\nimport { velocityPerSecond } from '../../utils/velocity-per-second.mjs';\n\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n let springOptions = {\n velocity: 0.0,\n stiffness: 100,\n damping: 10,\n mass: 1.0,\n isResolvedFromDuration: false,\n ...options,\n };\n // stiffness/damping/mass overrides duration/bounce\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n const derived = findSpring(options);\n springOptions = {\n ...springOptions,\n ...derived,\n velocity: 0.0,\n mass: 1.0,\n };\n springOptions.isResolvedFromDuration = true;\n }\n return springOptions;\n}\nconst velocitySampleDuration = 5;\n/**\n * This is based on the spring implementation of Wobble https://github.com/skevy/wobble\n */\nfunction spring({ keyframes, restSpeed = 2, restDelta = 0.01, ...options }) {\n let origin = keyframes[0];\n let target = keyframes[keyframes.length - 1];\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = { done: false, value: origin };\n const { stiffness, damping, mass, velocity, duration, isResolvedFromDuration, } = getSpringOptions(options);\n let resolveSpring = zero;\n let initialVelocity = velocity ? -(velocity / 1000) : 0.0;\n const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n function createSpring() {\n const initialDelta = target - origin;\n const undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;\n /**\n * If we're working within what looks like a 0-1 range, change the default restDelta\n * to 0.01\n */\n if (restDelta === undefined) {\n restDelta = Math.min(Math.abs(target - origin) / 100, 0.4);\n }\n if (dampingRatio < 1) {\n const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n // Underdamped spring\n resolveSpring = (t) => {\n const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (target -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq) *\n Math.sin(angularFreq * t) +\n initialDelta * Math.cos(angularFreq * t)));\n };\n }\n else if (dampingRatio === 1) {\n // Critically damped spring\n resolveSpring = (t) => target -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) *\n t);\n }\n else {\n // Overdamped spring\n const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = (t) => {\n const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n // When performing sinh or cosh values can hit Infinity so we cap them here\n const freqForT = Math.min(dampedAngularFreq * t, 300);\n return (target -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq);\n };\n }\n }\n createSpring();\n return {\n next: (t) => {\n const current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n let currentVelocity = initialVelocity;\n if (t !== 0) {\n /**\n * We only need to calculate velocity for under-damped springs\n * as over- and critically-damped springs can't overshoot, so\n * checking only for displacement is enough.\n */\n if (dampingRatio < 1) {\n const prevT = Math.max(0, t - velocitySampleDuration);\n currentVelocity = velocityPerSecond(current - resolveSpring(prevT), t - prevT);\n }\n else {\n currentVelocity = 0;\n }\n }\n const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= duration;\n }\n state.value = state.done ? target : current;\n return state;\n },\n flipTarget: () => {\n initialVelocity = -initialVelocity;\n [origin, target] = [target, origin];\n createSpring();\n },\n };\n}\nspring.needsInterpolation = (a, b) => typeof a === \"string\" || typeof b === \"string\";\nconst zero = (_t) => 0;\n\nexport { spring };\n","import { keyframes } from './keyframes.mjs';\nimport { spring } from './spring.mjs';\nimport { decay } from './decay.mjs';\nimport { sync, cancelSync } from '../../frameloop/index.mjs';\nimport { interpolate } from '../../utils/interpolate.mjs';\n\nconst types = {\n decay,\n keyframes: keyframes,\n tween: keyframes,\n spring,\n};\nfunction loopElapsed(elapsed, duration, delay = 0) {\n return elapsed - duration - delay;\n}\nfunction reverseElapsed(elapsed, duration = 0, delay = 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}\nconst framesync = (update) => {\n const passTimestamp = ({ delta }) => update(delta);\n return {\n start: () => sync.update(passTimestamp, true),\n stop: () => cancelSync.update(passTimestamp),\n };\n};\nfunction animate({ duration, driver = framesync, elapsed = 0, repeat: repeatMax = 0, repeatType = \"loop\", repeatDelay = 0, keyframes, autoplay = true, onPlay, onStop, onComplete, onRepeat, onUpdate, type = \"keyframes\", ...options }) {\n var _a, _b;\n let driverControls;\n let repeatCount = 0;\n let computedDuration = duration;\n let latest;\n let isComplete = false;\n let isForwardPlayback = true;\n let interpolateFromNumber;\n const animator = types[keyframes.length > 2 ? \"keyframes\" : type];\n const origin = keyframes[0];\n const target = keyframes[keyframes.length - 1];\n if ((_b = (_a = animator).needsInterpolation) === null || _b === void 0 ? void 0 : _b.call(_a, origin, target)) {\n interpolateFromNumber = interpolate([0, 100], [origin, target], {\n clamp: false,\n });\n keyframes = [0, 100];\n }\n const animation = animator({\n ...options,\n duration,\n keyframes,\n });\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 const 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 && onUpdate(latest);\n if (isComplete) {\n if (repeatCount === 0) {\n computedDuration =\n computedDuration !== undefined ? computedDuration : elapsed;\n }\n if (repeatCount < repeatMax) {\n hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat();\n }\n else {\n complete();\n }\n }\n }\n function play() {\n onPlay && onPlay();\n driverControls = driver(update);\n driverControls.start();\n }\n autoplay && play();\n return {\n stop: () => {\n onStop && onStop();\n driverControls.stop();\n },\n sample: (t) => {\n return animation.next(Math.max(0, t));\n },\n };\n}\n\nexport { animate, hasRepeatDelayElapsed, loopElapsed, reverseElapsed };\n","function decay({ \n/**\n * The decay animation dynamically calculates an end of the animation\n * based on the initial keyframe, so we only need to define a single keyframe\n * as default.\n */\nkeyframes = [0], velocity = 0, power = 0.8, timeConstant = 350, restDelta = 0.5, modifyTarget, }) {\n const origin = keyframes[0];\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = { done: false, value: origin };\n let amplitude = power * velocity;\n const ideal = origin + amplitude;\n const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n /**\n * If the target has changed we need to re-calculate the amplitude, otherwise\n * the animation will start from the wrong position.\n */\n if (target !== ideal)\n amplitude = target - origin;\n return {\n next: (t) => {\n const 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: () => { },\n };\n}\n\nexport { decay };\n","const isKeyframesTarget = (v) => {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { getAnimatableNone } from '../../render/dom/value-types/animatable-none.mjs';\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({ when, delay: _delay, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, ...transition }) {\n return !!Object.keys(transition).length;\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\nexport { getValueTransition, getZeroUnit, isTransitionDefined, isZero };\n","import { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circOut);\n\nexport { circIn, circInOut, circOut };\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n","import { createContext, useContext } from 'react';\n\nconst MotionContext = createContext({});\nfunction useVisualElementContext() {\n return useContext(MotionContext).visualElement;\n}\n\nexport { MotionContext, useVisualElementContext };\n","import { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","import { useContext, useRef } 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 { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n const parent = useVisualElementContext();\n const lazyContext = useContext(LazyContext);\n const presenceContext = useContext(PresenceContext);\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion;\n const visualElementRef = useRef();\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement = createVisualElement || lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState,\n parent,\n props,\n presenceId: presenceContext ? presenceContext.id : undefined,\n blockInitialAnimation: presenceContext\n ? presenceContext.initial === false\n : false,\n reducedMotionConfig,\n });\n }\n const visualElement = visualElementRef.current;\n useIsomorphicLayoutEffect(() => {\n visualElement && visualElement.render();\n });\n /**\n * If we have optimised appear animations to handoff from, trigger animateChanges\n * from a synchronous useLayoutEffect to ensure there's no flash of incorrectly\n * styled component in the event of a hydration error.\n */\n useIsomorphicLayoutEffect(() => {\n if (visualElement && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n });\n useIsomorphicLayoutEffect(() => () => visualElement && visualElement.notify(\"Unmount\"), []);\n return visualElement;\n}\n\nexport { useVisualElement };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n","function isAnimationControls(v) {\n return typeof v === \"object\" && typeof v.start === \"function\";\n}\n\nexport { isAnimationControls };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\n\nconst variantProps = [\n \"initial\",\n \"animate\",\n \"exit\",\n \"whileHover\",\n \"whileDrag\",\n \"whileTap\",\n \"whileFocus\",\n \"whileInView\",\n];\nfunction isControllingVariants(props) {\n return (isAnimationControls(props.animate) ||\n variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n","import { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { isVariantLabel } from '../../render/utils/is-variant-label.mjs';\nimport { isControllingVariants } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction getCurrentTreeVariants(props, context) {\n if (isControllingVariants(props)) {\n const { initial, animate } = props;\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","const createDefinition = (propNames) => ({\n isEnabled: (props) => propNames.some((name) => !!props[name]),\n});\nconst 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};\n\nexport { featureDefinitions };\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 */\nconst 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","import { useConstant } from '../../utils/use-constant.mjs';\nimport { globalProjectionState } from './state.mjs';\n\nlet id = 1;\nfunction useProjectionId() {\n return useConstant(() => {\n if (globalProjectionState.hasEverUpdated) {\n return id++;\n }\n });\n}\n\nexport { useProjectionId };\n","import React__default from 'react';\n\nclass VisualElementHandler extends React__default.Component {\n /**\n * Update visual element props as soon as we know this update is going to be commited.\n */\n getSnapshotBeforeUpdate() {\n const { visualElement, props } = this.props;\n if (visualElement)\n visualElement.setProps(props);\n return null;\n }\n componentDidUpdate() { }\n render() {\n return this.props.children;\n }\n}\n\nexport { VisualElementHandler };\n","import { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n","import * as React from 'react';\nimport { forwardRef, useContext } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { featureDefinitions } from './features/definitions.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { useProjectionId } from '../projection/node/id.mjs';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { VisualElementHandler } from './utils/VisualElementHandler.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { SwitchLayoutGroupContext } from '../context/SwitchLayoutGroupContext.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent({ preloadedFeatures, createVisualElement, projectionNodeConstructor, useRender, useVisualState, Component, }) {\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n };\n const { isStatic } = configAndProps;\n let features = null;\n const 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 const projectionId = isStatic ? undefined : useProjectionId();\n /**\n *\n */\n const visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n const lazyStrictMode = useContext(LazyContext).strict;\n const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n if (context.visualElement) {\n features = context.visualElement.loadFeatures(\n // Note: Pass the full new combined props to correctly re-render dynamic feature components.\n configAndProps, lazyStrictMode, preloadedFeatures, projectionId, projectionNodeConstructor ||\n featureDefinitions.projectionNodeConstructor, initialLayoutGroupConfig);\n }\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (React.createElement(VisualElementHandler, { visualElement: context.visualElement, props: configAndProps },\n features,\n React.createElement(MotionContext.Provider, { value: context }, useRender(Component, props, projectionId, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, context.visualElement))));\n }\n const ForwardRefComponent = forwardRef(MotionComponent);\n ForwardRefComponent[motionComponentSymbol] = Component;\n return ForwardRefComponent;\n}\nfunction useLayoutId({ layoutId }) {\n const layoutGroupId = useContext(LayoutGroupContext).id;\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\n\nexport { createMotionComponent };\n","import { featureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n for (const key in features) {\n if (key === \"projectionNodeConstructor\") {\n featureDefinitions.projectionNodeConstructor = features[key];\n }\n else {\n featureDefinitions[key].Component = features[key];\n }\n }\n}\n\nexport { loadFeatures };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback((instance) => {\n instance && visualState.mount && visualState.mount(instance);\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","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 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 const 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: (_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","/**\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 */\nconst 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 \"switch\",\n \"symbol\",\n \"svg\",\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","const scaleCorrectors = {};\nfunction addScaleCorrector(correctors) {\n Object.assign(scaleCorrectors, correctors);\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n","import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nimport { transformProps } from '../../render/html/utils/transform.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n return (transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","import { transformPropOrder } from './transform.mjs';\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nconst sortTransformProps = (a, b) => transformPropOrder.indexOf(a) - transformPropOrder.indexOf(b);\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({ transform, transformKeys, }, { enableHardwareAcceleration = true, allowTransformNone = true, }, transformIsDefault, transformTemplate) {\n // The transform string we're going to build into.\n let transformString = \"\";\n // Transform keys into their default order - this will determine the output order.\n transformKeys.sort(sortTransformProps);\n // Loop over each transform and build them into transformString\n for (const key of transformKeys) {\n transformString += `${translateAlias[key] || key}(${transform[key]}) `;\n }\n if (enableHardwareAcceleration && !transform.z) {\n transformString += \"translateZ(0)\";\n }\n transformString = transformString.trim();\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\nexport { buildTransform };\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 * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","import { buildTransform } from './build-transform.mjs';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.mjs';\nimport { transformProps } 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 const { style, vars, transform, transformKeys, transformOrigin } = state;\n transformKeys.length = 0;\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false;\n let hasTransformOrigin = false;\n // Does the calculated transform essentially equal \"none\"?\n let 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 (const key in latestValues) {\n const 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 const valueType = numberValueTypes[key];\n const valueAsType = getValueAsType(value, valueType);\n if (transformProps.has(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 !== (valueType.default || 0))\n transformIsNone = false;\n }\n else if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n transformOrigin[key] = valueAsType;\n }\n else {\n style[key] = valueAsType;\n }\n }\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n }\n else if (style.transform) {\n /**\n * If we have previously created a transform but currently don't have any,\n * reset transform style to none.\n */\n style.transform = \"none\";\n }\n }\n /**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n style.transformOrigin = `${originX} ${originY} ${originZ}`;\n }\n}\n\nexport { buildHTMLStyles };\n","const createHtmlRenderState = () => ({\n style: {},\n transform: {},\n transformKeys: [],\n transformOrigin: {},\n vars: {},\n});\n\nexport { createHtmlRenderState };\n","import { 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 (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState, isStatic) {\n return useMemo(() => {\n const state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n return Object.assign({}, state.vars, state.style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n const styleProp = props.style || {};\n const 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 return props.transformValues ? props.transformValues(style) : style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps = {};\n const style = useStyle(props, visualState, isStatic);\n if (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-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n","const animationProps = [\n \"animate\",\n \"exit\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"whileFocus\",\n \"whileDrag\",\n \"whileInView\",\n];\nconst tapProps = [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"];\nconst panProps = [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"];\nconst inViewProps = [\n \"whileInView\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"viewport\",\n];\n/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n \"initial\",\n \"style\",\n \"values\",\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 \"onHoverStart\",\n \"onHoverEnd\",\n \"layoutScroll\",\n ...inViewProps,\n ...tapProps,\n ...animationProps,\n ...panProps,\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\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n if (!isValidProp)\n return;\n // Explicitly filter our events\n shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\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 const filteredProps = {};\n for (const 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","import { px } from '../../../value/types/numbers/units.mjs';\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 const pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n const pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n return `${pxOriginX} ${pxOriginY}`;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nconst 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 = 1, offset = 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 const keys = useDashCase ? dashKeys : camelKeys;\n // Build the dash offset\n attrs[keys.offset] = px.transform(-offset);\n // Build the dash array\n const pathLength = px.transform(length);\n const pathSpacing = px.transform(spacing);\n attrs[keys.array] = `${pathLength} ${pathSpacing}`;\n}\n\nexport { buildSVGPath };\n","import { 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, { attrX, attrY, originX, originY, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, options, isSVGTag, transformTemplate) {\n buildHTMLStyles(state, latest, options, transformTemplate);\n /**\n * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n * as normal HTML tags.\n */\n if (isSVGTag) {\n if (state.style.viewBox) {\n state.attrs.viewBox = state.style.viewBox;\n }\n return;\n }\n state.attrs = state.style;\n state.style = {};\n const { attrs, style, dimensions } = state;\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","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n ...createHtmlRenderState(),\n attrs: {},\n});\n\nexport { createSvgRenderState };\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n","import { 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';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState();\n buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, isSVGTag(Component), props.transformTemplate);\n return {\n ...state.attrs,\n style: { ...state.style },\n };\n }, [visualState]);\n if (props.style) {\n const rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = { ...rawStyles, ...visualProps.style };\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","import { 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 = false) {\n const useRender = (Component, props, projectionId, ref, { latestValues }, isStatic) => {\n const useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n const elementProps = {\n ...filteredProps,\n ...visualProps,\n ref,\n };\n if (projectionId) {\n elementProps[\"data-projection-id\"] = projectionId;\n }\n return createElement(Component, elementProps);\n };\n return useRender;\n}\n\nexport { createUseRender };\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n Object.assign(element.style, style, projection && projection.getProjectionStyles(styleProp));\n // Loop over any CSS variables and assign those.\n for (const 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 */\nconst 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 \"startOffset\",\n \"textLength\",\n \"lengthAdjust\",\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 (const key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\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 const { style } = props;\n const newValues = {};\n for (const 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 { 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 const newValues = scrapeMotionValuesFromProps$1(props);\n for (const key in props) {\n if (isMotionValue(props[key])) {\n const 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 { isCustomValue } from '../../utils/resolve-value.mjs';\nimport { isMotionValue } from './is-motion-value.mjs';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n */\nfunction resolveMotionValue(value) {\n const unwrappedValue = isMotionValue(value) ? value.get() : value;\n return isCustomValue(unwrappedValue)\n ? unwrappedValue.toValue()\n : unwrappedValue;\n}\n\nexport { resolveMotionValue };\n","import { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { resolveVariantFromProps } from '../../render/utils/resolve-variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { isControllingVariants, isVariantNode } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, onMount, }, props, context, presenceContext) {\n const state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = (instance) => onMount(props, instance, state);\n }\n return state;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n const context = useContext(MotionContext);\n const presenceContext = useContext(PresenceContext);\n const make = () => makeState(config, props, context, presenceContext);\n return isStatic ? make() : useConstant(make);\n};\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n const values = {};\n const motionValues = scrapeMotionValues(props);\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n let { initial, animate } = props;\n const isControllingVariants$1 = isControllingVariants(props);\n const isVariantNode$1 = isVariantNode(props);\n if (context &&\n isVariantNode$1 &&\n !isControllingVariants$1 &&\n props.inherit !== false) {\n if (initial === undefined)\n initial = context.initial;\n if (animate === undefined)\n animate = context.animate;\n }\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false;\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n const variantToSet = isInitialAnimationBlocked ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach((definition) => {\n const resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n const { transitionEnd, transition, ...target } = resolved;\n for (const key in target) {\n let valueTarget = target[key];\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n const index = isInitialAnimationBlocked\n ? valueTarget.length - 1\n : 0;\n valueTarget = valueTarget[index];\n }\n if (valueTarget !== null) {\n values[key] = valueTarget;\n }\n }\n for (const key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","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';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nconst svgMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n onMount: (props, instance, { renderState, 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 }, isSVGTag(instance.tagName), 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\nconst htmlMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n }),\n};\n\nexport { htmlMotionConfig };\n","var AnimationType;\n(function (AnimationType) {\n AnimationType[\"Animate\"] = \"animate\";\n AnimationType[\"Hover\"] = \"whileHover\";\n AnimationType[\"Tap\"] = \"whileTap\";\n AnimationType[\"Drag\"] = \"whileDrag\";\n AnimationType[\"Focus\"] = \"whileFocus\";\n AnimationType[\"InView\"] = \"whileInView\";\n AnimationType[\"Exit\"] = \"exit\";\n})(AnimationType || (AnimationType = {}));\n\nexport { AnimationType };\n","import { useEffect } from 'react';\n\nfunction addDomEvent(target, eventName, handler, options = { passive: true }) {\n target.addEventListener(eventName, handler, options);\n return () => target.removeEventListener(eventName, handler);\n}\n/**\n * Attaches an event listener directly to the provided DOM element.\n *\n * Bypassing React's event system can be desirable, for instance when attaching non-passive\n * event handlers.\n *\n * ```jsx\n * const ref = useRef(null)\n *\n * useDomEvent(ref, 'wheel', onWheel, { passive: false })\n *\n * return \n * ```\n *\n * @param ref - React.RefObject that's been provided to the element you want to bind the listener to.\n * @param eventName - Name of the event you want listen for.\n * @param handler - Function to fire when receiving the event.\n * @param options - Options to pass to `Event.addEventListener`.\n *\n * @public\n */\nfunction useDomEvent(ref, eventName, handler, options) {\n useEffect(() => {\n const element = ref.current;\n if (handler && element) {\n return addDomEvent(element, eventName, handler, options);\n }\n }, [ref, eventName, handler, options]);\n}\n\nexport { addDomEvent, useDomEvent };\n","function isMouseEvent(event) {\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (typeof PointerEvent !== \"undefined\" && event instanceof PointerEvent) {\n return !!(event.pointerType === \"mouse\");\n }\n return event instanceof MouseEvent;\n}\nfunction isTouchEvent(event) {\n const hasTouches = !!event.touches;\n return hasTouches;\n}\n\nexport { isMouseEvent, isTouchEvent };\n","import { isTouchEvent } from '../gestures/utils/event-type.mjs';\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler) {\n return (event) => {\n const isMouseEvent = event instanceof MouseEvent;\n const isPrimaryPointer = !isMouseEvent ||\n (isMouseEvent && event.button === 0);\n if (isPrimaryPointer) {\n eventHandler(event);\n }\n };\n}\nconst defaultPagePoint = { pageX: 0, pageY: 0 };\nfunction pointFromTouch(e, pointType = \"page\") {\n const primaryTouch = e.touches[0] || e.changedTouches[0];\n const point = primaryTouch || defaultPagePoint;\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction pointFromMouse(point, pointType = \"page\") {\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction extractEventInfo(event, pointType = \"page\") {\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n };\n}\nconst wrapHandler = (handler, shouldFilterPrimaryPointer = false) => {\n const listener = (event) => handler(event, extractEventInfo(event));\n return shouldFilterPrimaryPointer\n ? filterPrimaryPointer(listener)\n : listener;\n};\n\nexport { extractEventInfo, wrapHandler };\n","import { isBrowser } from '../utils/is-browser.mjs';\n\n// We check for event support via functions in case they've been mocked by a testing suite.\nconst supportsPointerEvents = () => isBrowser && window.onpointerdown === null;\nconst supportsTouchEvents = () => isBrowser && window.ontouchstart === null;\nconst supportsMouseEvents = () => isBrowser && window.onmousedown === null;\n\nexport { supportsMouseEvents, supportsPointerEvents, supportsTouchEvents };\n","import { addDomEvent, useDomEvent } from './use-dom-event.mjs';\nimport { wrapHandler } from './event-info.mjs';\nimport { supportsPointerEvents, supportsTouchEvents, supportsMouseEvents } from './utils.mjs';\n\nconst mouseEventNames = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n};\nconst touchEventNames = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n};\nfunction getPointerEventName(name) {\n if (supportsPointerEvents()) {\n return name;\n }\n else if (supportsTouchEvents()) {\n return touchEventNames[name];\n }\n else if (supportsMouseEvents()) {\n return mouseEventNames[name];\n }\n return name;\n}\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, getPointerEventName(eventName), wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\nfunction usePointerEvent(ref, eventName, handler, options) {\n return useDomEvent(ref, getPointerEventName(eventName), handler && wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\n\nexport { addPointerEvent, usePointerEvent };\n","function createLock(name) {\n let lock = null;\n return () => {\n const openLock = () => {\n lock = null;\n };\n if (lock === null) {\n lock = name;\n return openLock;\n }\n return false;\n };\n}\nconst globalHorizontalLock = createLock(\"dragHorizontal\");\nconst globalVerticalLock = createLock(\"dragVertical\");\nfunction getGlobalLock(drag) {\n let lock = false;\n if (drag === \"y\") {\n lock = globalVerticalLock();\n }\n else if (drag === \"x\") {\n lock = globalHorizontalLock();\n }\n else {\n const openHorizontal = globalHorizontalLock();\n const openVertical = globalVerticalLock();\n if (openHorizontal && openVertical) {\n lock = () => {\n openHorizontal();\n openVertical();\n };\n }\n else {\n // Release the locks because we don't use them\n if (openHorizontal)\n openHorizontal();\n if (openVertical)\n openVertical();\n }\n }\n return lock;\n}\nfunction isDragActive() {\n // Check the gesture lock - if we get it, it means no drag gesture is active\n // and we can safely fire the tap gesture.\n const openGestureLock = getGlobalLock(true);\n if (!openGestureLock)\n return true;\n openGestureLock();\n return false;\n}\n\nexport { createLock, getGlobalLock, isDragActive };\n","import { isMouseEvent } from './utils/event-type.mjs';\nimport { AnimationType } from '../render/utils/types.mjs';\nimport { usePointerEvent } from '../events/use-pointer-event.mjs';\nimport { isDragActive } from './drag/utils/lock.mjs';\n\nfunction createHoverEvent(visualElement, isActive, callback) {\n return (event, info) => {\n if (!isMouseEvent(event) || isDragActive())\n return;\n /**\n * Ensure we trigger animations before firing event callback\n */\n if (visualElement.animationState) {\n visualElement.animationState.setActive(AnimationType.Hover, isActive);\n }\n callback && callback(event, info);\n };\n}\nfunction useHoverGesture({ onHoverStart, onHoverEnd, whileHover, visualElement, }) {\n usePointerEvent(visualElement, \"pointerenter\", onHoverStart || whileHover\n ? createHoverEvent(visualElement, true, onHoverStart)\n : undefined, { passive: !onHoverStart });\n usePointerEvent(visualElement, \"pointerleave\", onHoverEnd || whileHover\n ? createHoverEvent(visualElement, false, onHoverEnd)\n : undefined, { passive: !onHoverEnd });\n}\n\nexport { useHoverGesture };\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n if (!child) {\n return false;\n }\n else if (parent === child) {\n return true;\n }\n else {\n return isNodeOrChild(parent, child.parentElement);\n }\n};\n\nexport { isNodeOrChild };\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n const callback = observerCallbacks.get(entry.target);\n callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n const lookupRoot = root || document;\n /**\n * If we don't have an observer lookup map for this root, create one.\n */\n if (!observers.has(lookupRoot)) {\n observers.set(lookupRoot, {});\n }\n const rootObservers = observers.get(lookupRoot);\n const key = JSON.stringify(options);\n /**\n * If we don't have an observer for this combination of root and settings,\n * create one.\n */\n if (!rootObservers[key]) {\n rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n }\n return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n const rootInteresectionObserver = initIntersectionObserver(options);\n observerCallbacks.set(element, callback);\n rootInteresectionObserver.observe(element);\n return () => {\n observerCallbacks.delete(element);\n rootInteresectionObserver.unobserve(element);\n };\n}\n\nexport { observeIntersection };\n","import { env } from '../../../utils/process.mjs';\nimport { useRef, useEffect } from 'react';\nimport { AnimationType } from '../../../render/utils/types.mjs';\nimport { warnOnce } from '../../../utils/warn-once.mjs';\nimport { observeIntersection } from './observers.mjs';\n\nfunction useViewport({ visualElement, whileInView, onViewportEnter, onViewportLeave, viewport = {}, }) {\n const state = useRef({\n hasEnteredView: false,\n isInView: false,\n });\n let shouldObserve = Boolean(whileInView || onViewportEnter || onViewportLeave);\n if (viewport.once && state.current.hasEnteredView)\n shouldObserve = false;\n const useObserver = typeof IntersectionObserver === \"undefined\"\n ? useMissingIntersectionObserver\n : useIntersectionObserver;\n useObserver(shouldObserve, state.current, visualElement, viewport);\n}\nconst thresholdNames = {\n some: 0,\n all: 1,\n};\nfunction useIntersectionObserver(shouldObserve, state, visualElement, { root, margin: rootMargin, amount = \"some\", once }) {\n useEffect(() => {\n if (!shouldObserve || !visualElement.current)\n return;\n const options = {\n root: root === null || root === void 0 ? void 0 : root.current,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n };\n const intersectionCallback = (entry) => {\n const { isIntersecting } = entry;\n /**\n * If there's been no change in the viewport state, early return.\n */\n if (state.isInView === isIntersecting)\n return;\n state.isInView = isIntersecting;\n /**\n * Handle hasEnteredView. If this is only meant to run once, and\n * element isn't visible, early return. Otherwise set hasEnteredView to true.\n */\n if (once && !isIntersecting && state.hasEnteredView) {\n return;\n }\n else if (isIntersecting) {\n state.hasEnteredView = true;\n }\n if (visualElement.animationState) {\n visualElement.animationState.setActive(AnimationType.InView, isIntersecting);\n }\n /**\n * Use the latest committed props rather than the ones in scope\n * when this observer is created\n */\n const props = visualElement.getProps();\n const callback = isIntersecting\n ? props.onViewportEnter\n : props.onViewportLeave;\n callback && callback(entry);\n };\n return observeIntersection(visualElement.current, options, intersectionCallback);\n }, [shouldObserve, root, rootMargin, amount]);\n}\n/**\n * If IntersectionObserver is missing, we activate inView and fire onViewportEnter\n * on mount. This way, the page will be in the state the author expects users\n * to see it in for everyone.\n */\nfunction useMissingIntersectionObserver(shouldObserve, state, visualElement, { fallback = true }) {\n useEffect(() => {\n if (!shouldObserve || !fallback)\n return;\n if (env !== \"production\") {\n warnOnce(false, \"IntersectionObserver not available on this device. whileInView animations will trigger on mount.\");\n }\n /**\n * Fire this in an rAF because, at this point, the animation state\n * won't have flushed for the first time and there's certain logic in\n * there that behaves differently on the initial animation.\n *\n * This hook should be quite rarely called so setting this in an rAF\n * is preferred to changing the behaviour of the animation state.\n */\n requestAnimationFrame(() => {\n state.hasEnteredView = true;\n const { onViewportEnter } = visualElement.getProps();\n onViewportEnter && onViewportEnter(null);\n if (visualElement.animationState) {\n visualElement.animationState.setActive(AnimationType.InView, true);\n }\n });\n }, [shouldObserve]);\n}\n\nexport { useViewport };\n","const makeRenderlessComponent = (hook) => (props) => {\n hook(props);\n return null;\n};\n\nexport { makeRenderlessComponent };\n","import { useFocusGesture } from '../../gestures/use-focus-gesture.mjs';\nimport { useHoverGesture } from '../../gestures/use-hover-gesture.mjs';\nimport { useTapGesture } from '../../gestures/use-tap-gesture.mjs';\nimport { useViewport } from './viewport/use-viewport.mjs';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.mjs';\n\nconst gestureAnimations = {\n inView: makeRenderlessComponent(useViewport),\n tap: makeRenderlessComponent(useTapGesture),\n focus: makeRenderlessComponent(useFocusGesture),\n hover: makeRenderlessComponent(useHoverGesture),\n};\n\nexport { gestureAnimations };\n","import { useRef } from 'react';\nimport { isNodeOrChild } from './utils/is-node-or-child.mjs';\nimport { usePointerEvent, addPointerEvent } from '../events/use-pointer-event.mjs';\nimport { useUnmountEffect } from '../utils/use-unmount-effect.mjs';\nimport { AnimationType } from '../render/utils/types.mjs';\nimport { isDragActive } from './drag/utils/lock.mjs';\nimport { pipe } from '../utils/pipe.mjs';\n\n/**\n * @param handlers -\n * @internal\n */\nfunction useTapGesture({ onTap, onTapStart, onTapCancel, whileTap, visualElement, }) {\n const hasPressListeners = onTap || onTapStart || onTapCancel || whileTap;\n const isPressing = useRef(false);\n const cancelPointerEndListeners = useRef(null);\n /**\n * Only set listener to passive if there are no external listeners.\n */\n const eventOptions = {\n passive: !(onTapStart || onTap || onTapCancel || onPointerDown),\n };\n function removePointerEndListener() {\n cancelPointerEndListeners.current && cancelPointerEndListeners.current();\n cancelPointerEndListeners.current = null;\n }\n function checkPointerEnd() {\n removePointerEndListener();\n isPressing.current = false;\n visualElement.animationState &&\n visualElement.animationState.setActive(AnimationType.Tap, false);\n return !isDragActive();\n }\n function onPointerUp(event, info) {\n if (!checkPointerEnd())\n return;\n /**\n * We only count this as a tap gesture if the event.target is the same\n * as, or a child of, this component's element\n */\n !isNodeOrChild(visualElement.current, event.target)\n ? onTapCancel && onTapCancel(event, info)\n : onTap && onTap(event, info);\n }\n function onPointerCancel(event, info) {\n if (!checkPointerEnd())\n return;\n onTapCancel && onTapCancel(event, info);\n }\n function onPointerDown(event, info) {\n removePointerEndListener();\n if (isPressing.current)\n return;\n isPressing.current = true;\n cancelPointerEndListeners.current = pipe(addPointerEvent(window, \"pointerup\", onPointerUp, eventOptions), addPointerEvent(window, \"pointercancel\", onPointerCancel, eventOptions));\n /**\n * Ensure we trigger animations before firing event callback\n */\n visualElement.animationState &&\n visualElement.animationState.setActive(AnimationType.Tap, true);\n onTapStart && onTapStart(event, info);\n }\n usePointerEvent(visualElement, \"pointerdown\", hasPressListeners ? onPointerDown : undefined, eventOptions);\n useUnmountEffect(removePointerEndListener);\n}\n\nexport { useTapGesture };\n","import { AnimationType } from '../render/utils/types.mjs';\nimport { useDomEvent } from '../events/use-dom-event.mjs';\n\n/**\n *\n * @param props\n * @param ref\n * @internal\n */\nfunction useFocusGesture({ whileFocus, visualElement, }) {\n const { animationState } = visualElement;\n const onFocus = () => {\n animationState && animationState.setActive(AnimationType.Focus, true);\n };\n const onBlur = () => {\n animationState && animationState.setActive(AnimationType.Focus, false);\n };\n useDomEvent(visualElement, \"focus\", whileFocus ? onFocus : undefined);\n useDomEvent(visualElement, \"blur\", whileFocus ? onBlur : undefined);\n}\n\nexport { useFocusGesture };\n","import { useContext, useId, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\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 const context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n const { isPresent, onExitComplete, register } = context;\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 useId when released in React\n const id = useId();\n useEffect(() => register(id), []);\n const safeToRemove = () => onExitComplete && 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}\n\nexport { isPresent, useIsPresent, usePresence };\n","function shallowCompare(next, prev) {\n if (!Array.isArray(prev))\n return false;\n const prevLength = prev.length;\n if (prevLength !== next.length)\n return false;\n for (let i = 0; i < prevLength; i++) {\n if (prev[i] !== next[i])\n return false;\n }\n return true;\n}\n\nexport { shallowCompare };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.mjs';\nimport { shallowCompare } from '../../utils/shallow-compare.mjs';\nimport { animateVisualElement } from './animation.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { AnimationType } from './types.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\n\nconst variantPriorityOrder = [\n AnimationType.Animate,\n AnimationType.InView,\n AnimationType.Focus,\n AnimationType.Hover,\n AnimationType.Tap,\n AnimationType.Drag,\n AnimationType.Exit,\n];\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction animateList(visualElement) {\n return (animations) => Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n}\nfunction createAnimationState(visualElement) {\n let animate = animateList(visualElement);\n const state = createState();\n let isInitialRender = true;\n /**\n * This function will be used to reduce the animation definitions for\n * each active animation type into an object of resolved values for it.\n */\n const buildResolvedTypeValues = (acc, definition) => {\n const resolved = resolveVariant(visualElement, definition);\n if (resolved) {\n const { transition, transitionEnd, ...target } = resolved;\n acc = { ...acc, ...target, ...transitionEnd };\n }\n return acc;\n };\n /**\n * This just allows us to inject mocked animation functions\n * @internal\n */\n function setAnimateFunction(makeAnimator) {\n animate = makeAnimator(visualElement);\n }\n /**\n * When we receive new props, we need to:\n * 1. Create a list of protected keys for each type. This is a directory of\n * value keys that are currently being \"handled\" by types of a higher priority\n * so that whenever an animation is played of a given type, these values are\n * protected from being animated.\n * 2. Determine if an animation type needs animating.\n * 3. Determine if any values have been removed from a type and figure out\n * what to animate those to.\n */\n function animateChanges(options, changedActiveType) {\n const props = visualElement.getProps();\n const context = visualElement.getVariantContext(true) || {};\n /**\n * A list of animations that we'll build into as we iterate through the animation\n * types. This will get executed at the end of the function.\n */\n const animations = [];\n /**\n * Keep track of which values have been removed. Then, as we hit lower priority\n * animation types, we can check if they contain removed values and animate to that.\n */\n const removedKeys = new Set();\n /**\n * A dictionary of all encountered keys. This is an object to let us build into and\n * copy it without iteration. Each time we hit an animation type we set its protected\n * keys - the keys its not allowed to animate - to the latest version of this object.\n */\n let encounteredKeys = {};\n /**\n * If a variant has been removed at a given index, and this component is controlling\n * variant animations, we want to ensure lower-priority variants are forced to animate.\n */\n let removedVariantIndex = Infinity;\n /**\n * Iterate through all animation types in reverse priority order. For each, we want to\n * detect which values it's handling and whether or not they've changed (and therefore\n * need to be animated). If any values have been removed, we want to detect those in\n * lower priority props and flag for animation.\n */\n for (let i = 0; i < numAnimationTypes; i++) {\n const type = reversePriorityOrder[i];\n const typeState = state[type];\n const prop = props[type] !== undefined ? props[type] : context[type];\n const propIsVariant = isVariantLabel(prop);\n /**\n * If this type has *just* changed isActive status, set activeDelta\n * to that status. Otherwise set to null.\n */\n const activeDelta = type === changedActiveType ? typeState.isActive : null;\n if (activeDelta === false)\n removedVariantIndex = i;\n /**\n * If this prop is an inherited variant, rather than been set directly on the\n * component itself, we want to make sure we allow the parent to trigger animations.\n *\n * TODO: Can probably change this to a !isControllingVariants check\n */\n let isInherited = prop === context[type] && prop !== props[type] && propIsVariant;\n /**\n *\n */\n if (isInherited &&\n isInitialRender &&\n visualElement.manuallyAnimateOnMount) {\n isInherited = false;\n }\n /**\n * Set all encountered keys so far as the protected keys for this type. This will\n * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n */\n typeState.protectedKeys = { ...encounteredKeys };\n // Check if we can skip analysing this prop early\n if (\n // If it isn't active and hasn't *just* been set as inactive\n (!typeState.isActive && activeDelta === null) ||\n // If we didn't and don't have any defined prop for this animation type\n (!prop && !typeState.prevProp) ||\n // Or if the prop doesn't define an animation\n isAnimationControls(prop) ||\n typeof prop === \"boolean\") {\n continue;\n }\n /**\n * As we go look through the values defined on this type, if we detect\n * a changed value or a value that was removed in a higher priority, we set\n * this to true and add this prop to the animation list.\n */\n const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n let shouldAnimateType = variantDidChange ||\n // If we're making this variant active, we want to always make it active\n (type === changedActiveType &&\n typeState.isActive &&\n !isInherited &&\n propIsVariant) ||\n // If we removed a higher-priority variant (i is in reverse order)\n (i > removedVariantIndex && propIsVariant);\n /**\n * As animations can be set as variant lists, variants or target objects, we\n * coerce everything to an array if it isn't one already\n */\n const definitionList = Array.isArray(prop) ? prop : [prop];\n /**\n * Build an object of all the resolved values. We'll use this in the subsequent\n * animateChanges calls to determine whether a value has changed.\n */\n let resolvedValues = definitionList.reduce(buildResolvedTypeValues, {});\n if (activeDelta === false)\n resolvedValues = {};\n /**\n * Now we need to loop through all the keys in the prev prop and this prop,\n * and decide:\n * 1. If the value has changed, and needs animating\n * 2. If it has been removed, and needs adding to the removedKeys set\n * 3. If it has been removed in a higher priority type and needs animating\n * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n * needs adding to the type's protectedKeys list.\n */\n const { prevResolvedValues = {} } = typeState;\n const allKeys = {\n ...prevResolvedValues,\n ...resolvedValues,\n };\n const markToAnimate = (key) => {\n shouldAnimateType = true;\n removedKeys.delete(key);\n typeState.needsAnimating[key] = true;\n };\n for (const key in allKeys) {\n const next = resolvedValues[key];\n const prev = prevResolvedValues[key];\n // If we've already handled this we can just skip ahead\n if (encounteredKeys.hasOwnProperty(key))\n continue;\n /**\n * If the value has changed, we probably want to animate it.\n */\n if (next !== prev) {\n /**\n * If both values are keyframes, we need to shallow compare them to\n * detect whether any value has changed. If it has, we animate it.\n */\n if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n if (!shallowCompare(next, prev) || variantDidChange) {\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we want to ensure it doesn't animate by\n * adding it to the list of protected keys.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n else if (next !== undefined) {\n // If next is defined and doesn't equal prev, it needs animating\n markToAnimate(key);\n }\n else {\n // If it's undefined, it's been removed.\n removedKeys.add(key);\n }\n }\n else if (next !== undefined && removedKeys.has(key)) {\n /**\n * If next hasn't changed and it isn't undefined, we want to check if it's\n * been removed by a higher priority\n */\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we add it to the list of protected values\n * to ensure it doesn't get animated.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n /**\n * Update the typeState so next time animateChanges is called we can compare the\n * latest prop and resolvedValues to these.\n */\n typeState.prevProp = prop;\n typeState.prevResolvedValues = resolvedValues;\n /**\n *\n */\n if (typeState.isActive) {\n encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n }\n if (isInitialRender && visualElement.blockInitialAnimation) {\n shouldAnimateType = false;\n }\n /**\n * If this is an inherited prop we want to hard-block animations\n * TODO: Test as this should probably still handle animations triggered\n * by removed values?\n */\n if (shouldAnimateType && !isInherited) {\n animations.push(...definitionList.map((animation) => ({\n animation: animation,\n options: { type, ...options },\n })));\n }\n }\n /**\n * If there are some removed value that haven't been dealt with,\n * we need to create a new animation that falls back either to the value\n * defined in the style prop, or the last read value.\n */\n if (removedKeys.size) {\n const fallbackAnimation = {};\n removedKeys.forEach((key) => {\n const fallbackTarget = visualElement.getBaseTarget(key);\n if (fallbackTarget !== undefined) {\n fallbackAnimation[key] = fallbackTarget;\n }\n });\n animations.push({ animation: fallbackAnimation });\n }\n let shouldAnimate = Boolean(animations.length);\n if (isInitialRender &&\n props.initial === false &&\n !visualElement.manuallyAnimateOnMount) {\n shouldAnimate = false;\n }\n isInitialRender = false;\n return shouldAnimate ? animate(animations) : Promise.resolve();\n }\n /**\n * Change whether a certain animation type is active.\n */\n function setActive(type, isActive, options) {\n var _a;\n // If the active state hasn't changed, we can safely do nothing here\n if (state[type].isActive === isActive)\n return Promise.resolve();\n // Propagate active change to children\n (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach((child) => { var _a; return (_a = child.animationState) === null || _a === void 0 ? void 0 : _a.setActive(type, isActive); });\n state[type].isActive = isActive;\n const animations = animateChanges(options, type);\n for (const key in state) {\n state[key].protectedKeys = {};\n }\n return animations;\n }\n return {\n animateChanges,\n setActive,\n setAnimateFunction,\n getState: () => state,\n };\n}\nfunction checkVariantsDidChange(prev, next) {\n if (typeof next === \"string\") {\n return next !== prev;\n }\n else if (Array.isArray(next)) {\n return !shallowCompare(next, prev);\n }\n return false;\n}\nfunction createTypeState(isActive = false) {\n return {\n isActive,\n protectedKeys: {},\n needsAnimating: {},\n prevResolvedValues: {},\n };\n}\nfunction createState() {\n return {\n [AnimationType.Animate]: createTypeState(true),\n [AnimationType.InView]: createTypeState(),\n [AnimationType.Hover]: createTypeState(),\n [AnimationType.Tap]: createTypeState(),\n [AnimationType.Drag]: createTypeState(),\n [AnimationType.Focus]: createTypeState(),\n [AnimationType.Exit]: createTypeState(),\n };\n}\n\nexport { checkVariantsDidChange, createAnimationState, variantPriorityOrder };\n","import { useEffect, useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { usePresence } from '../../components/AnimatePresence/use-presence.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { createAnimationState } from '../../render/utils/animation-state.mjs';\nimport { AnimationType } from '../../render/utils/types.mjs';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.mjs';\n\nconst animations = {\n animation: makeRenderlessComponent(({ visualElement, animate }) => {\n /**\n * We dynamically generate the AnimationState manager as it contains a reference\n * to the underlying animation library. We only want to load that if we load this,\n * so people can optionally code split it out using the `m` component.\n */\n visualElement.animationState || (visualElement.animationState = createAnimationState(visualElement));\n /**\n * Subscribe any provided AnimationControls to the component's VisualElement\n */\n if (isAnimationControls(animate)) {\n useEffect(() => animate.subscribe(visualElement), [animate]);\n }\n }),\n exit: makeRenderlessComponent((props) => {\n const { custom, visualElement } = props;\n const [isPresent, safeToRemove] = usePresence();\n const presenceContext = useContext(PresenceContext);\n useEffect(() => {\n visualElement.isPresent = isPresent;\n const animation = visualElement.animationState &&\n visualElement.animationState.setActive(AnimationType.Exit, !isPresent, {\n custom: (presenceContext && presenceContext.custom) ||\n custom,\n });\n if (animation && !isPresent) {\n animation.then(safeToRemove);\n }\n }, [isPresent]);\n }),\n};\n\nexport { animations };\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n // Multi-dimensional\n const xDelta = distance(a.x, b.x);\n const yDelta = distance(a.y, b.y);\n return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n","import { isMouseEvent, isTouchEvent } from './utils/event-type.mjs';\nimport { extractEventInfo } from '../events/event-info.mjs';\nimport { sync, cancelSync } from '../frameloop/index.mjs';\nimport { secondsToMilliseconds } from '../utils/time-conversion.mjs';\nimport { addPointerEvent } from '../events/use-pointer-event.mjs';\nimport { pipe } from '../utils/pipe.mjs';\nimport { distance2D } from '../utils/distance.mjs';\nimport { frameData } from '../frameloop/data.mjs';\n\n/**\n * @internal\n */\nclass PanSession {\n constructor(event, handlers, { transformPagePoint } = {}) {\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n this.updatePoint = () => {\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const info = getPanInfo(this.lastMoveEventInfo, this.history);\n const isPanStarted = this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n const { point } = info;\n const { timestamp } = frameData;\n this.history.push({ ...point, timestamp });\n const { onStart, onMove } = this.handlers;\n if (!isPanStarted) {\n onStart && onStart(this.lastMoveEvent, info);\n this.startEvent = this.lastMoveEvent;\n }\n onMove && onMove(this.lastMoveEvent, info);\n };\n this.handlePointerMove = (event, info) => {\n this.lastMoveEvent = event;\n this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n // Because Safari doesn't trigger mouseup events when it's above a `