{"version":3,"file":"AaN8oZOpy-5.BYLqLNqt.mjs","names":["t","l","i","o","a","d","c"],"sources":["https:/framerusercontent.com/modules/HussPqVq7ynx7aTpSH84/6YHqSyCbstMJhS5byszw/AaN8oZOpy-5.js"],"sourcesContent":["import{jsx as e,jsxs as n}from\"react/jsx-runtime\";import{ComponentPresetsConsumer as t,Link as i}from\"framer\";import{motion as o}from\"framer-motion\";import*as r from\"react\";import a from\"https://framerusercontent.com/modules/05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js\";import d from\"https://framerusercontent.com/modules/dM6nHlY4QirI4lNv9Lf0/IbzdnF7pTKmfGkrZwB1f/CodeSandbox.js\";import l from\"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js\";import c from\"https://framerusercontent.com/modules/zHKSLOAckjaYbPt3V0fn/tqIazSjPy27macrnFm0i/SpringVisualiser.js\";export const richText=/*#__PURE__*/n(r.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Motion's industry-leading layout animations makes it easy to animate between any two layouts, even between different elements.\"}),/*#__PURE__*/n(\"p\",{children:[\"It's as simple as a \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" prop.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div layout />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/n(\"em\",{children:[\"One of the coolest things about layout animations is that they effectively make \",/*#__PURE__*/e(\"strong\",{children:\"any\"}),\"\\xa0CSS property transitionable. You can’t apply a CSS transition to \"]}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"flex-direction\"})}),/*#__PURE__*/e(\"em\",{children:\" or \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"grid-template-columns\"})}),/*#__PURE__*/n(\"em\",{children:[\", but with layout animations, you can. Plus, the animation uses super-efficient transforms, so the motion will be smooth!\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{})]}),\"~ Josh W. Comeau, \",/*#__PURE__*/e(i,{href:\"https://www.joyofreact.com/?referredBy=motion\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"The Joy of React\"})})]})}),/*#__PURE__*/n(\"p\",{children:[\"This little prop can animate previously unanimatable CSS values, like switching \",/*#__PURE__*/e(\"code\",{children:\"justify-content\"}),\" between \",/*#__PURE__*/e(\"code\",{children:\"flex-start\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"flex-end\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  layout\\n  style={{ justifyContent: isOn ? \"flex-start\" : \"flex-end\" }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"layout-animation\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Or by using the \",/*#__PURE__*/e(\"code\",{children:\"layoutId\"}),\" prop, it's possible to match two elements and animate between them for some truly advanced animations.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.li layoutId=\"item\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"shared-layout-animation\",platform:\"react\"})})}),/*#__PURE__*/e(\"p\",{children:\"It can handle anything from microinteractions to full page transitions.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"app-store\",platform:\"react\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"p\",{children:\"Any layout change that happens as a result of a React re-render can be animated. \"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div layout style={{ width: isOpen ? \"80vw\" : 0 }} />',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Note that CSS changes should happen immediately via \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\", not \",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\", as \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" will take care of the animation.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Layout changes can be anything, changing \",/*#__PURE__*/e(\"code\",{children:\"width\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"height\"}),\", number of grid columns, reordering a list, or adding/removing new items:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"reorder-items\",platform:\"react\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"notifications-list\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Shared layout animations\"}),/*#__PURE__*/n(\"p\",{children:[\"When a new component is added that has a \",/*#__PURE__*/e(\"code\",{children:\"layoutId\"}),\" prop that matches an existing component, it will automatically animate out from the old component.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'isSelected && <motion.div layoutId=\"underline\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"shared-layout-animation\",platform:\"react\"})})}),/*#__PURE__*/e(\"p\",{children:\"If the old component is still mounted when the new component enters, they will automatically crossfade from the old to the new.\"}),/*#__PURE__*/n(\"p\",{children:[\"When removing an element to animate back to its origin layout, \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-animate-presence\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"b7kGL54Fc\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"AnimatePresence\"})})}),\" can be used to keep it in the DOM until its exit animation has finished.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<AnimatePresence>\\n  {isOpen && <motion.div layoutId=\"modal\" />}\\n</AnimatePresence>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Setting a transition\"}),/*#__PURE__*/n(\"p\",{children:[\"Layout animations can be customised using \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-transitions\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"e8RPaSVBD\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-transitions\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"e8RPaSVBD\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"transition\"})})}),/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-transitions\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"e8RPaSVBD\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" prop\"})}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div layout transition={{ duration: 0.3 }} />\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"If you want to set a transition specifically for \",/*#__PURE__*/e(\"strong\",{children:\"only\"}),\" the layout animation, you can specify a specific \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" transition.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  layout\\n  animate={{ opacity: 0.5 }}\\n  transition={{\\n    default: { ease: \"linear\" },\\n    layout: { duration: 0.3 }\\n  }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"When performing a shared layout animation, the transition defined for element we're animating \",/*#__PURE__*/e(\"strong\",{children:\"to\"}),\" will be used.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<>\\n  <motion.button\\n    layoutId=\"modal\"\\n    onClick={() => setIsOpen(true)}\\n    // This transition will be used when the modal closes\\n    transition={{ type: \"spring\" }}\\n  >\\n    Open\\n  </motion.button>\\n  <AnimatePresence>\\n    {isOn && (\\n      <motion.dialog\\n        layoutId=\"modal\"\\n        // This transition will be used when the modal opens\\n        transition={{ duration: 0.3 }}\\n      />\\n    )}\\n  </AnimatePresence>\\n</>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Animating within scrollable element\"}),/*#__PURE__*/n(\"p\",{children:[\"To correctly animate layout within scrollable elements, we need to provide them the \",/*#__PURE__*/e(\"code\",{children:\"layoutScroll\"}),\" prop.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div layoutScroll style={{ overflow: \"scroll\" }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This lets Motion account for the element's scroll offset when measuring children.\"}),/*#__PURE__*/e(\"h3\",{children:\"Animating within fixed containers\"}),/*#__PURE__*/n(\"p\",{children:[\"To correctly animate layout within fixed elements, we need to provide them the \",/*#__PURE__*/e(\"code\",{children:\"layoutRoot\"}),\" prop.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div layoutRoot style={{ position: \"fixed\" }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This lets Motion account for the page's scroll offset when measuring children.\"}),/*#__PURE__*/e(\"h3\",{children:\"Group layout animations\"}),/*#__PURE__*/e(\"p\",{children:\"Layout animations are triggered when a component re-renders and its layout has changed.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'function Accordion() {\\n  const [isOpen, setOpen] = useState(false)\\n  \\n  return (\\n    <motion.div\\n      layout\\n      style={{ height: isOpen ? \"100px\" : \"500px\" }}\\n      onClick={() => setOpen(!isOpen)}\\n    />\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"But what happens when we have two or more components that don't re-render at the same time, but \",/*#__PURE__*/e(\"strong\",{children:\"do\"}),\" affect each other's layout?\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"function List() {\\n  return (\\n    <>\\n      <Accordion />\\n      <Accordion />\\n    </>  \\n  )\\n}\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"When one re-renders, for performance reasons the other won't be able to detect changes to its layout.\"}),/*#__PURE__*/n(\"p\",{children:[\"We can synchronise layout changes across multiple components by wrapping them in the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-layout-group\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"LayoutGroup component\"})})}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'import { LayoutGroup } from \"motion/react\"\\n\\nfunction List() {\\n  return (\\n    <LayoutGroup>\\n      <Accordion />\\n      <Accordion />\\n    </LayoutGroup>  \\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"When layout changes are detected in any grouped \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component, layout animations will trigger across all of them.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Scale correction\"}),/*#__PURE__*/n(\"p\",{children:[\"All layout animations are performed using the \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" style, resulting in smooth framerates.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Animating layout using transforms can sometimes visually distort children. To correct this distortion, the first child elements of the element can also be given \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" property.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Open this sandbox and try removing \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" from the pink dot to see the difference this will make:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:dM6nHlY4QirI4lNv9Lf0/IbzdnF7pTKmfGkrZwB1f/CodeSandbox.js:default\",children:n=>/*#__PURE__*/e(d,{...n,id:\"z4tgr\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Transforms can also distort \",/*#__PURE__*/e(\"code\",{children:\"boxShadow\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"borderRadius\"}),\". The \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component will automatically correct this distortion on both props, as long as they're set as motion values.\"]}),/*#__PURE__*/n(\"p\",{children:[\"If you're not animating these values, the easiest way to do this is to set them via \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div layout style={{ borderRadius: 20 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Troubleshooting\"}),/*#__PURE__*/e(\"h3\",{children:\"The component isn't animating\"}),/*#__PURE__*/n(\"p\",{children:[\"Ensure the component is \",/*#__PURE__*/e(\"strong\",{children:\"not\"}),\" set to \",/*#__PURE__*/e(\"code\",{children:\"display: inline\"}),\", as browsers don't apply \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" to these elements.\"]}),/*#__PURE__*/e(\"p\",{children:\"Ensure the component is re-rendering when you expect the layout animation to start.\"}),/*#__PURE__*/e(\"h3\",{children:\"SVG layout animations are broken\"}),/*#__PURE__*/n(\"p\",{children:[\"SVG components aren't currently supported with layout animations. SVGs don't have layout systems so it's recommended to directly animate their attributes like \",/*#__PURE__*/e(\"code\",{children:\"cx\"}),\" etc.\"]}),/*#__PURE__*/e(\"h3\",{children:\"The content stretches undesirably\"}),/*#__PURE__*/n(\"p\",{children:[\"This is a natural side-effect of animating \",/*#__PURE__*/e(\"code\",{children:\"width\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"height\"}),\" with \",/*#__PURE__*/e(\"code\",{children:\"scale\"}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"Often, this can be fixed by providing these elements a \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" animation and they'll be scale-corrected.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.section layout>\\n  <motion.img layout />\\n</motion.section>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Some elements, like images or text that are changing between different aspect ratios, might be better animated with \",/*#__PURE__*/e(\"code\",{children:'layout=\"position\"'}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"Border radius or box shadows are behaving strangely\"}),/*#__PURE__*/n(\"p\",{children:[\"Animating \",/*#__PURE__*/e(\"code\",{children:\"scale\"}),\" is performant but can distort some styles like \",/*#__PURE__*/e(\"code\",{children:\"border-radius\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"box-shadow\"}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"Motion automatically corrects for scale distortion on these properties, but they must be set on the element via \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div layout style={{ borderRadius: 20 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Border looks stretched during animation\"}),/*#__PURE__*/n(\"p\",{children:[\"Elements with a \",/*#__PURE__*/e(\"code\",{children:\"border\"}),\" may look stretched during the animation. This is for two reasons:\"]}),/*#__PURE__*/n(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[\"Because changing \",/*#__PURE__*/e(\"code\",{children:\"border\"}),\" triggers layout recalculations, it defeats the performance benefits of animating via \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\". You might as well animate \",/*#__PURE__*/e(\"code\",{children:\"width\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"height\"}),\" classically.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"border\"}),\" can't render smaller than \",/*#__PURE__*/e(\"code\",{children:\"1px\"}),\", which limits the degree of scale correction that Motion can perform on this style.\"]})})]}),/*#__PURE__*/n(\"p\",{children:[\"A work around is to replace \",/*#__PURE__*/e(\"code\",{children:\"border\"}),\" with a parent element with padding that acts as a \",/*#__PURE__*/e(\"code\",{children:\"border\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div layout style={{ borderRadius: 10, padding: 5 }}>\\n  <motion.div layout style={{ borderRadius: 5 }} />\\n</motion.div>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Technical reading\"}),/*#__PURE__*/n(\"p\",{children:[\"Interested in the technical details behind layout animations? Nanda does an incredible job of \",/*#__PURE__*/e(i,{href:\"https://www.nan.fyi/magic-motion\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"explaining the challenges\"})}),\" of animating layout with transforms using interactive examples. Matt, creator of Motion, did a \",/*#__PURE__*/e(i,{href:\"https://www.youtube.com/watch?v=5-JIu0u42Jc&ab_channel=Vercel\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"talk at Vercel conference\"})}),\" about the implementation details that is largely up to date. \"]}),/*#__PURE__*/e(\"h2\",{children:\"Differences with the View Transitions API\"}),/*#__PURE__*/n(\"p\",{children:[\"More browsers are starting to support the \",/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"View Transitions API\"})}),\", which is similar to Motion's layout animations.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Benefits of View Transitions API\"}),/*#__PURE__*/n(\"p\",{children:[\"The main two benefits of View Transitions is that \",/*#__PURE__*/e(\"strong\",{children:\"it's included in browsers\"}),\" and \",/*#__PURE__*/e(\"strong\",{children:\"features a unique rendering system\"}),\".\"]}),/*#__PURE__*/e(\"h4\",{children:\"Filesize\"}),/*#__PURE__*/e(\"p\",{children:\"Because the View Transitions API is already included in browsers, it's cheap to implement very simple crossfade animations.\"}),/*#__PURE__*/e(\"p\",{children:\"However, the CSS complexity can scale quite quickly. Motion's layout animations are around 12kb but from there it's very cheap to change transitions, add springs, mark matching \"}),/*#__PURE__*/e(\"h4\",{children:\"Rendering\"}),/*#__PURE__*/e(\"p\",{children:\"Whereas Motion animates the elements as they exist on the page, View Transitions API does something quite unique in that it takes an image snapshot of the previous page state, and crossfades it with a live view of the new page state.\"}),/*#__PURE__*/e(\"p\",{children:\"For shared elements, it does the same thing, taking little image snapshots and then crossfading those with a live view of the element's new state.\"}),/*#__PURE__*/n(\"p\",{children:[\"This can be leveraged to create interesting effects like full-screen wipes that aren't really in the scope of layout animations. \",/*#__PURE__*/e(i,{href:\"https://www.framer.com/academy/lessons/page-effects\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Framer's Page Effects\"})}),\" were built with the View Transitions API and it also extensively uses layout animations. The right tool for the right job.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Drawbacks to View Transitions API\"}),/*#__PURE__*/e(\"p\",{children:\"There are quite a few drawbacks to the API vs layout animations:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Not interruptible\"}),\": Interrupting an animation mid-way will snap the animation to the end before starting the next one. This feels very janky.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Blocks interaction\"}),': The animating elements overlay the \"real\" page underneath and block pointer events. Makes things feel quite sticky.']})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Difficult to manage IDs\"}),\": Layout animations allow more than one element with a \",/*#__PURE__*/e(\"code\",{children:\"layoutId\"}),\" whereas View Transitions will break if the previous element isn't removed.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Less performant:\"}),\" View Transitions take an actual screenshot and animate via \",/*#__PURE__*/e(\"code\",{children:\"width\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"height\"}),\" vs layout animation's \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\". This is measurably less performant when animating many elements.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Doesn't account for scroll\"}),\": If the page scroll changes during a view transition, elements will incorrectly animate this delta.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"No relative animations: \"}),\"If a nested element has a \",/*#__PURE__*/e(\"code\",{children:\"delay\"}),' it will get \"left behind\" when its parent animates away, whereas Motion handles this kind of relative animation.']})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"One animation at a time\"}),\": View Transitions animate the whole screen, which means combining it with other animations is difficult and other view animations impossible.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"All-in-all, each system offers something different and each might be a better fit for your needs. In the future it might be that Motion also offers an API based on View Transitions API.\"})]});export const richText1=/*#__PURE__*/n(r.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"There are two types of scroll animations:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Scroll-triggered:\"}),\" A normal animation is triggered when an element enters the viewport.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Scroll-linked:\"}),\" Values are linked directly to scroll progress.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Motion is capable of both types of animation.\"}),/*#__PURE__*/e(\"h2\",{children:\"Scroll-triggered animations\"}),/*#__PURE__*/e(\"p\",{children:\"Scroll-triggered animations are just normal animations that fire when an element enters or leaves the viewport.\"}),/*#__PURE__*/n(\"p\",{children:[\"Motion offers\",/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#whileinview\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#whileinview\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"whileInView\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#whileinview\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" prop\"})}),\" to set an animation target or variant when the element enters the view.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  initial={{ opacity: 0 }}\\n  whileInView={{ opacity: 1 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"scroll-triggered\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"One-time animations\"}),/*#__PURE__*/n(\"p\",{children:[\"With \",/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#viewport-1\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#viewport-1\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"viewport\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#viewport-1\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" options\"})}),\", it's possible to set \",/*#__PURE__*/e(\"code\",{children:\"once: true\"}),\" so once an element has entered the viewport, it won't animate back out.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  initial=\"hidden\"\\n  whileInView=\"visible\"\\n  viewport={{ once: true }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Changing scroll container\"}),/*#__PURE__*/n(\"p\",{children:[\"By default, the element will be considered within the viewport when it enters/leaves the \",/*#__PURE__*/e(\"strong\",{children:\"window\"}),\". This can be changed by providing the \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" of another scrollable element.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'function Component() {\\n  const scrollRef = useRef(null)\\n  \\n  return (\\n    <div ref={scrollRef} style={{ overflow: \"scroll\" }}>\\n      <motion.div\\n        initial={{ opacity: 0 }}\\n        whileInView={{ opacity: 1 }}\\n        viewport={{ root: scrollRef }}\\n      />\\n    </div>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"For more configuration options, checkout \",/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#viewport-1\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#viewport-1\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"motion\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-motion-component#viewport-1\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" component\"})}),\" API reference.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Setting state\"}),/*#__PURE__*/n(\"p\",{children:[\"It's also possible to set state when any element (not just a \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component) enters and leaves the viewport with the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-use-in-view\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"useInView\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-use-in-view\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" hook\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"Scroll-linked animations\"}),/*#__PURE__*/n(\"p\",{children:[\"Scroll-linked animations are created using \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-motion-value\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"awBVFEUqH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"motion values\"})}),\" and the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-use-scroll\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"I3ywNtJRV\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"useScroll\"})})}),/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-use-scroll\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"I3ywNtJRV\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" hook\"})}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\" returns four motion values, two that store scroll offset in pixels (\",/*#__PURE__*/e(\"code\",{children:\"scrollX\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"scrollY\"}),\") and two that store scroll progress as a value between \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"These motion values can be passed directly to specific styles. For instance, passing \",/*#__PURE__*/e(\"code\",{children:\"scrollYProgress\"}),\" to \",/*#__PURE__*/e(\"code\",{children:\"scaleX\"}),\" works great as a progress bar.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const { scrollYProgress } = useScroll();\\n\\nreturn (\\n  <motion.div style={{ scaleX: scrollYProgress }} />  \\n)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"scroll-linked\",platform:\"react\"})})}),/*#__PURE__*/n(\"blockquote\",{children:[/*#__PURE__*/n(\"p\",{children:[\"Since \",/*#__PURE__*/e(\"code\",{children:\"scrollY\"}),\" is a \",/*#__PURE__*/e(\"code\",{children:\"MotionValue\"}),\", there's a neat trick you can use to tell when the user's scroll direction changes:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const { scrollY } = useScroll()\\nconst [scrollDirection, setScrollDirection] = useState(\"down\")\\n\\nuseMotionValueEvent(scrollY, \"change\", (current) => {\\n  const diff = current - scrollY.getPrevious()\\n  setScrollDirection(diff > 0 ? \"down\" : \"up\")\\n})',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Perfect for triggering a sticky header animation!\",/*#__PURE__*/e(\"br\",{}),\"~ Sam Selikoff, \",/*#__PURE__*/e(i,{href:\"https://buildui.com/courses/framer-motion-recipes\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Motion for React Recipes\"})})]})]}),/*#__PURE__*/e(\"h3\",{children:\"Value smoothing\"}),/*#__PURE__*/n(\"p\",{children:[\"This value can be smoothed by passing it through \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-use-spring\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"noggf7GfA\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"useSpring\"})})}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const { scrollYProgress } = useScroll();\\nconst scaleX = useSpring(scrollYProgress, {\\n  stiffness: 100,\\n  damping: 30,\\n  restDelta: 0.001\\n})\\n\\nreturn <motion.div style={{ scaleX }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"scroll-linked\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Transform other values\"}),/*#__PURE__*/n(\"p\",{children:[\"With \",/*#__PURE__*/e(i,{href:\"/docs/react-use-transform\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-use-transform\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"useTransform\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-use-transform\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" hook\"})}),\", it's easy to use the progress motion values to mix between any value, like colors:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const backgroundColor = useTransform(\\n  scrollYProgress,\\n  [0, 0.5, 1],\\n  [\"#f00\", \"#0f0\", \"#00f\"]\\n)\\n\\nreturn <motion.div style={{ backgroundColor }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Examples\"}),/*#__PURE__*/e(\"h4\",{children:\"Track element scroll offset\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"scroll-container\",platform:\"react\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Track element within viewport\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"scroll-track-element-in-viewport\",platform:\"react\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Parallax\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"parallax\",platform:\"react\"})})}),/*#__PURE__*/e(\"h4\",{children:\"3D\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:dM6nHlY4QirI4lNv9Lf0/IbzdnF7pTKmfGkrZwB1f/CodeSandbox.js:default\",children:n=>/*#__PURE__*/e(d,{...n,id:\"xibe0t\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Scroll velocity and direction\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:dM6nHlY4QirI4lNv9Lf0/IbzdnF7pTKmfGkrZwB1f/CodeSandbox.js:default\",children:n=>/*#__PURE__*/e(d,{...n,id:\"r1dy4u\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Read the \",/*#__PURE__*/e(i,{href:\"/docs/react-use-scroll\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"full \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-use-scroll\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"useScroll\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-use-scroll\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" docs\"})}),\" to discover more about creating the above effects.\"]})]});export const richText2=/*#__PURE__*/n(r.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[\"A \",/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" defines the type of animation used when animating between two values.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const transition = {\\n  duration: 0.8,\\n  delay: 0.5,\\n  ease: [0, 0.71, 0.2, 1.01],\\n}\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// Motion component\\n<motion.div\\n  animate={{ x: 100 }}\\n  transition={transition}\\n/>\\n\\n// animate() function\\nanimate(\".box\", { x: 100 }, transition)',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"transition\",platform:\"react\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Setting a transition\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" can be set on any animation prop, and that transition will be used when the animation fires.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  whileHover={{\\n    scale: 1.1,\\n    transition: { duration: 0.2 }\\n  }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Value-specific transitions\"}),/*#__PURE__*/n(\"p\",{children:[\"When animating multiple values, each value can be animated with a different transition, with \",/*#__PURE__*/e(\"code\",{children:\"default\"}),\" handling all other values:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// Motion component\\n<motion.li\\n  animate={{\\n    x: 0,\\n    opacity: 1,\\n    transition: {\\n      default: { type: \"spring\" },\\n      opacity: { ease: \"linear\" }\\n    }\\n  }}\\n/>\\n\\n// animate() function\\nanimate(\"li\", { x: 0, opacity: 1 }, {\\n  default: { type: \"spring\" },\\n  opacity: { ease: \"linear\" }\\n})',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Default transitions\"}),/*#__PURE__*/n(\"p\",{children:[\"It's possible to set default transitions via the \",/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" prop. Either for specific \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  animate={{ x: 100 }}\\n  transition={{ type: \"spring\", stiffness: 100 }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Or for a group of \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components \",/*#__PURE__*/e(i,{href:\"/docs/react-motion-config#transition\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"via \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-motion-config#transition\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"MotionConfig\"})})}),\":\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<MotionConfig transition={{ duration: 0.4, ease: \"easeInOut\" }}>\\n  <App />\\n</MotionConfig>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Transition settings\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"type\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),\"Dynamic\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"type\"}),\" decides the type of animation to use. It can be \",/*#__PURE__*/e(\"code\",{children:'\"tween\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"spring\"'}),\" or \",/*#__PURE__*/e(\"code\",{children:'\"inertia\"'}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Tween\"}),\" animations are set with a duration and an easing curve.\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Spring\"}),\" animations are either physics-based or duration-based.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Physics-based spring animations are set via \",/*#__PURE__*/e(\"code\",{children:\"stiffness\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"damping\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"mass\"}),\", and these incorporate the velocity of any existing gestures or animations for natural feedback.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"app-store\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Duration-based spring animations are set via a \",/*#__PURE__*/e(\"code\",{children:\"duration\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"bounce\"}),\". These don't incorporate velocity but are easier to understand.\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Inertia\"}),\" animations decelerate a value based on its initial velocity, usually used to implement inertial scrolling.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.path\\n  animate={{ pathLength: 1 }}\\n  transition={{ duration: 2, type: \"tween\" }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Spring visualiser\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:zHKSLOAckjaYbPt3V0fn/tqIazSjPy27macrnFm0i/SpringVisualiser.js:default\",children:n=>/*#__PURE__*/e(c,{...n,bounce:.3,damping:100,duration:.5,durationColor:\"rgb(43, 50, 61)\",isVisualDuration:!0,lineColor:\"rgb(79, 240, 183)\",margin:0,mass:1,stiffness:1e3})})}),/*#__PURE__*/e(\"h3\",{children:\"Tween\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"duration\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0.3\"}),\" (or \",/*#__PURE__*/e(\"code\",{children:\"0.8\"}),\" if multiple keyframes are defined)\"]}),/*#__PURE__*/n(\"p\",{children:[\"The duration of the animation. Can also be used for \",/*#__PURE__*/e(\"code\",{children:'\"spring\"'}),\" animations when \",/*#__PURE__*/e(\"code\",{children:\"bounce\"}),\" is also set.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'animate(\"ul > li\", { opacity: 1 }, { duration: 1 })',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"ease\"})}),/*#__PURE__*/e(\"p\",{children:\"The easing function to use with tween animations. Accepts:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[\"Easing function name. E.g \",/*#__PURE__*/e(\"code\",{children:'\"linear\"'})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[\"An array of four numbers to define a cubic bezier curve. E.g \",/*#__PURE__*/e(\"code\",{children:\"[.17,.67,.83,.67]\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[\"A \",/*#__PURE__*/e(i,{href:\"/docs/easing-functions\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"JavaScript easing function\"})}),\", that accepts and returns a value \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\"-\",/*#__PURE__*/e(\"code\",{children:\"1\"}),\".\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"These are the available easing function names:\"}),/*#__PURE__*/n(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-letter-spacing\":\"-0.064px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-stroke-width\":\"0px\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'\"linear\"'})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"easeIn\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"easeOut\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"easeInOut\"'})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"circIn\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"circOut\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"circInOut\"'})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"backIn\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"backOut\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"backInOut\"'})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'\"anticipate\"'})})})]}),/*#__PURE__*/n(\"p\",{children:[\"When animating keyframes, \",/*#__PURE__*/e(\"code\",{children:\"ease\"}),\" can optionally be set as an array of easing functions to set different easings between each value:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  animate={{\\n    x: [0, 100, 0],\\n    transition: { ease: [\"easeIn\", \"easeOut\"] }\\n  }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"I usually use the \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:'\"easeOut\"'})}),/*#__PURE__*/e(\"em\",{children:\" curve for enter and exit transitions. The acceleration at the beginning gives the user a feeling of responsiveness. I use a duration no longer than \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"0.3\"})}),/*#__PURE__*/e(\"em\",{children:\"/\"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"0.4\"})}),/*#__PURE__*/n(\"em\",{children:[\" seconds to keep the animation fast.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{})]}),\"~ Emil Kowalski, \",/*#__PURE__*/e(i,{href:\"https://animations.dev/\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Animations on the Web\"})})]})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"times\"})}),/*#__PURE__*/n(\"p\",{children:[\"When animating multiple keyframes, \",/*#__PURE__*/e(\"code\",{children:\"times\"}),\" can be used to adjust the position of each keyframe throughout the animation.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Each value in \",/*#__PURE__*/e(\"code\",{children:\"times\"}),\" is a value between \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\", representing the start and end of the animation.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  animate={{\\n    x: [0, 100, 0],\\n    transition: { times: [0, 0.3, 1] }\\n  }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"There must be the same number of \",/*#__PURE__*/e(\"code\",{children:\"times\"}),\" as there are keyframes. Defaults to an array of evenly-spread durations.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Spring\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"bounce\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"0.25\"})]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"bounce\"}),' determines the \"bounciness\" of a spring animation.']}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"0\"}),\" is no bounce, and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" is extremely bouncy.\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"bounce\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"duration\"}),\" will be overridden if \",/*#__PURE__*/e(\"code\",{children:\"stiffness\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"damping\"}),\" or \",/*#__PURE__*/e(\"code\",{children:\"mass\"}),\" are set.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  animate={{ rotateX: 90 }}\\n  transition={{ type: \"spring\", bounce: 0.25 }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"visualDuration\"})}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"visualDuration\"}),\" is set, this will override \",/*#__PURE__*/e(\"code\",{children:\"duration\"}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"The visual duration is a time, \",/*#__PURE__*/e(\"strong\",{children:\"set in seconds\"}),\", that the animation will take to visually appear to reach its target.\"]}),/*#__PURE__*/e(\"p\",{children:'In other words, the bulk of the transition will occur before this time, and the \"bouncy bit\" will mostly happen after.'}),/*#__PURE__*/e(\"p\",{children:\"This makes it easier to edit a spring, as well as visually coordinate it with other time-based animations.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  animate={{ rotateX: 90 }}\\n  transition={{\\n    type: \"spring\",\\n    visualDuration: 0.5,\\n    bounce: 0.25\\n  }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"damping\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"10\"})]}),/*#__PURE__*/e(\"p\",{children:\"Strength of opposing force. If set to 0, spring will oscillate indefinitely. \"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.a\\n  animate={{ rotate: 180 }}\\n  transition={{ type: 'spring', damping: 300 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"mass\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"1\"})]}),/*#__PURE__*/e(\"p\",{children:\"Mass of the moving object. Higher values will result in more lethargic movement. \"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.feTurbulence\\n  animate={{ baseFrequency: 0.5 }}\\n  transition={{ type: \"spring\", mass: 0.5 }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"stiffness\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"1\"})]}),/*#__PURE__*/e(\"p\",{children:\"Stiffness of the spring. Higher values will create more sudden movement.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.section\\n  animate={{ rotate: 180 }}\\n  transition={{ type: 'spring', stiffness: 50 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"I never really understood how \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"damping\"})}),/*#__PURE__*/e(\"em\",{children:\", \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"mass\"})}),/*#__PURE__*/e(\"em\",{children:\" and \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"em\",{children:\"stiffness\"})}),/*#__PURE__*/e(\"em\",{children:\" influence a spring animation, so I made a \"}),/*#__PURE__*/e(i,{href:\"https://emilkowal.ski/ui/great-animations#great-animations-feel-natural\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:/*#__PURE__*/e(\"em\",{children:\"tool for myself\"})})}),/*#__PURE__*/n(\"em\",{children:[\" to visualise it.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{})]}),\"~ Emil Kowalski, \",/*#__PURE__*/e(i,{href:\"https://animations.dev/\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Animations on the Web\"})})]})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"velocity\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" Current value velocity\"]}),/*#__PURE__*/e(\"p\",{children:\"The initial velocity of the spring.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  animate={{ rotate: 180 }}\\n  transition={{ type: 'spring', velocity: 2 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"restSpeed\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"0.1\"})]}),/*#__PURE__*/n(\"p\",{children:[\"End animation if absolute speed (in units per second) drops below this value and delta is smaller than \",/*#__PURE__*/e(\"code\",{children:\"restDelta\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  animate={{ rotate: 180 }}\\n  transition={{ type: 'spring', restSpeed: 0.5 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"restDelta\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"0.01\"})]}),/*#__PURE__*/n(\"p\",{children:[\"End animation if distance is below this value and speed is below \",/*#__PURE__*/e(\"code\",{children:\"restSpeed\"}),\". When animation ends, the spring will end.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  animate={{ rotate: 180 }}\\n  transition={{ type: 'spring', restDelta: 0.5 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Inertia\"}),/*#__PURE__*/n(\"p\",{children:[\"An animation that decelerates a value based on its initial velocity. Optionally, \",/*#__PURE__*/e(\"code\",{children:\"min\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"max\"}),\" boundaries can be defined, and inertia will snap to these with a spring animation.\"]}),/*#__PURE__*/n(\"p\",{children:[\"This animation will automatically precalculate a target value, which can be modified with the \",/*#__PURE__*/e(\"code\",{children:\"modifyTarget\"}),\" property.\"]}),/*#__PURE__*/e(\"p\",{children:\"This allows you to add snap-to-grid or similar functionality.\"}),/*#__PURE__*/n(\"p\",{children:[\"Inertia is also the animation used for \",/*#__PURE__*/e(\"code\",{children:\"dragTransition\"}),\", and can be configured via that prop.\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"power\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0.8\"})]}),/*#__PURE__*/e(\"p\",{children:\"A higher power value equals a further calculated target.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{ power: 0.2 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"timeConstant\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"700\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Adjusting the time constant will change the duration of the deceleration, thereby affecting its feel.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{ timeConstant: 200 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"modifyTarget\"})}),/*#__PURE__*/e(\"p\",{children:\"A function that receives the automatically-calculated target and returns a new one. Useful for snapping the target to a grid.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  // dragTransition always type: inertia\\n  dragTransition={{\\n    power: 0,\\n    // Snap calculated target to nearest 50 pixels\\n    modifyTarget: target => Math.round(target / 50) * 50\\n  }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"min\"})}),/*#__PURE__*/e(\"p\",{children:'Minimum constraint. If set, the value will \"bump\" against this value (or immediately spring to it if the animation starts as less than this value).'}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{ min: 0, max: 100 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"max\"})}),/*#__PURE__*/e(\"p\",{children:'Maximum constraint. If set, the value will \"bump\" against this value (or immediately snap to it, if the initial animation value exceeds this value).'}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{ min: 0, max: 100 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"bounceStiffness\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"500\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"min\"}),\" or \",/*#__PURE__*/e(\"code\",{children:\"max\"}),\" is set, this affects the stiffness of the bounce spring. Higher values will create more sudden movement.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{\\n    min: 0,\\n    max: 100,\\n    bounceStiffness: 100\\n  }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"bounceDamping\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"10\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"min\"}),\" or \",/*#__PURE__*/e(\"code\",{children:\"max\"}),\" is set, this affects the damping of the bounce spring. If set to \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\", spring will oscillate indefinitely. \"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{\\n    min: 0,\\n    max: 100,\\n    bounceStiffness: 100\\n  }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Orchestration\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"delay\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0\"})]}),/*#__PURE__*/e(\"p\",{children:\"Delay the animation by this duration (in seconds).\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'animate(element, { filter: \"blur(10px)\" }, { delay: 0.3 })',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"By setting \",/*#__PURE__*/e(\"code\",{children:\"delay\"}),\" to a negative value, the animation will start that long into the animation. For instance to start 1 second in, \",/*#__PURE__*/e(\"code\",{children:\"delay\"}),\" can be set to -\",/*#__PURE__*/e(\"code\",{children:\"1\"}),\".\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"repeat\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0\"})]}),/*#__PURE__*/n(\"p\",{children:[\"The number of times to repeat the transition. Set to \",/*#__PURE__*/e(\"code\",{children:\"Infinity\"}),\" for perpetual animation.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  animate={{ rotate: 180 }}\\n  transition={{ repeat: Infinity, duration: 2 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"repeatType\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:'\"loop\"'})]}),/*#__PURE__*/e(\"p\",{children:\"How to repeat the animation. This can be either:\"}),/*#__PURE__*/n(\"ul\",{style:{\"--framer-font-size\":\"20px\",\"--framer-letter-spacing\":\"-0.08px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-stroke-width\":\"0px\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"loop\"}),\": Repeats the animation from the start.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"reverse\"}),\": Alternates between forward and backwards playback.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"mirror\"}),\": Switches animation origin and target on each iteration.\"]})})]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  animate={{ rotate: 180 }}\\n  transition={{\\n    repeat: 1,\\n    repeatType: \"reverse\",\\n    duration: 2\\n  }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"repeatDelay\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0\"})]}),/*#__PURE__*/n(\"p\",{children:[\"When repeating an animation, \",/*#__PURE__*/e(\"code\",{children:\"repeatDelay\"}),\" will set the duration of the time to wait, in seconds, between each repetition.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  animate={{ rotate: 180 }}\\n  transition={{ repeat: Infinity, repeatDelay: 1 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"when\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/e(\"p\",{children:\"With variants, describes when an animation should trigger, relative to that of its children.\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"beforeChildren\"'}),\": Children animations will play after the parent animation finishes.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"afterChildren\"'}),\": Parent animations will play after the children animations finish.\"]})})]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const list = {\\n  hidden: {\\n    opacity: 0,\\n    transition: { when: \"afterChildren\" }\\n  }\\n}\\n\\nconst item = {\\n  hidden: {\\n    opacity: 0,\\n    transition: { duration: 2 }\\n  }\\n}\\n\\nreturn (\\n  <motion.ul variants={list} animate=\"hidden\">\\n    <motion.li variants={item} />\\n    <motion.li variants={item} />\\n  </motion.ul>\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"delayChildren\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0\"})]}),/*#__PURE__*/n(\"p\",{children:[\"With variants, setting \",/*#__PURE__*/e(\"code\",{children:\"delayChildren\"}),\" on a parent will delay child animations by this duration (in seconds).\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const container = {\\n  hidden: { opacity: 0 },\\n  show: {\\n    opacity: 1,\\n    transition: {\\n      delayChildren: 0.5\\n    }\\n  }\\n}\\n\\nconst item = {\\n  hidden: { opacity: 0 },\\n  show: { opacity: 1 }\\n}\\n\\nreturn (\\n  <motion.ul\\n    variants={container}\\n    initial=\"hidden\"\\n    animate=\"show\"\\n  >\\n    <motion.li variants={item} />\\n    <motion.li variants={item} />\\n  </motion.ul>\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"staggerChildren\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0\"})]}),/*#__PURE__*/n(\"p\",{children:[\"With variants, setting \",/*#__PURE__*/e(\"code\",{children:\"staggerChildren\"}),\" on a parent will stagger children by this duration.\"]}),/*#__PURE__*/n(\"p\",{children:[\"For example, if \",/*#__PURE__*/e(\"code\",{children:\"staggerChildren\"}),\" is set to \",/*#__PURE__*/e(\"code\",{children:\"0.1\"}),\", the first child will delayed by \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" seconds, the second by \",/*#__PURE__*/e(\"code\",{children:\"0.1\"}),\", the third by \",/*#__PURE__*/e(\"code\",{children:\"0.2\"}),\" etc.\"]}),/*#__PURE__*/n(\"p\",{children:[\"The calculated delay will be additional to \",/*#__PURE__*/e(\"code\",{children:\"delayChildren\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const container = {\\n  hidden: { opacity: 0 },\\n  show: {\\n    opacity: 1,\\n    transition: {\\n      staggerChildren: 0.5\\n    }\\n  }\\n}\\n\\nconst item = {\\n  hidden: { opacity: 0 },\\n  show: { opacity: 1 }\\n}\\n\\nreturn (\\n  <motion.ol\\n    variants={container}\\n    initial=\"hidden\"\\n    animate=\"show\"\\n  >\\n    <motion.li variants={item} />\\n    <motion.li variants={item} />\\n  </motion.ol>\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"staggerDirection\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"1\"})]}),/*#__PURE__*/n(\"p\",{children:[\"The direction in which to stagger children. \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" will stagger from the first to last child, while \",/*#__PURE__*/e(\"code\",{children:\"-1\"}),\" staggers from last to first.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const container = {\\n  hidden: { opacity: 0 },\\n  show: {\\n    opacity: 1,\\n    transition: {\\n      delayChildren: 0.5,\\n      staggerDirection: -1\\n    }\\n  }\\n}\\n\\nconst item = {\\n  hidden: { opacity: 0 },\\n  show: { opacity: 1 }\\n}\\n\\nreturn (\\n  <motion.ul\\n    variants={container}\\n    initial=\"hidden\"\\n    animate=\"show\"\\n  >\\n    <motion.li variants={item} size={50} />\\n    <motion.li variants={item} size={50} />\\n  </motion.ul>\\n)',language:\"JSX\"})})})]});export const richText3=/*#__PURE__*/n(r.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component drives most animations in Motion for React.\"]}),/*#__PURE__*/n(\"p\",{children:[\"There's a \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component for every HTML and SVG element, for instance \",/*#__PURE__*/e(\"code\",{children:\"motion.div\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"motion.circle\"}),\" etc. Think of it as a normal React component, supercharged for 120fps animation and gestures.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Import \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" from Motion:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// React\\nimport { motion } from \"motion/react\"\\n\\n// React Server Components\\nimport * as motion from \"motion/react-client\"',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Now you can use it exactly as you would any normal HTML/SVG component:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div className=\"box\" />',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"But you also gain access to powerful animation APIs like the \",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"whileInView\"}),\" props and much more.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  className=\"box\"\\n  // Animate when this value changes:\\n  animate={{ scale: 2 }}\\n  // Fade in when the element enters the viewport:\\n  whileInView={{ opacity: 1 }}\\n  // Animate the component when its layout changes:\\n  layout\\n  // Style now supports indepedent transforms:\\n  style={{ x: 100 }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Checkout the \",/*#__PURE__*/e(i,{href:\"/docs/react-animation\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Animation guide\"})}),\" for a full overview on animations in Motion for React.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Performance\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components animate values outside the React render cycle for improved performance.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Using \",/*#__PURE__*/e(i,{href:\"/docs/react-motion-value\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"motion values\"})}),\" instead of React state to update \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\" will also avoid re-renders.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const x = useMotionValue(0)\\n\\nuseEffect(() => {\\n  // Won't trigger a re-render!\\n  const timeout = setTimeout(() => x.set(100), 1000)\\n\\n  return () => clearTimeout(timeout)\\n}, [])\\n\\nreturn <motion.div style={{ x }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Server-side rendering\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components are fully compatible with server-side rendering, meaning the initial state of the component will be reflected in the server-generated output.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// Server will output `translateX(100px)`\\n<motion.div initial={false} animate={{ x: 100 }} />\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"This is with the exception of some SVG attributes like \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" which require DOM measurements to calculate.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Custom components\"}),/*#__PURE__*/n(\"p\",{children:[\"Any React component can be supercharged into a \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component by passing it to \",/*#__PURE__*/e(\"code\",{children:\"motion.create()\"}),\" as a function.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const MotionComponent = motion.create(Component)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"React 18\"}),\" users must use \",/*#__PURE__*/e(\"code\",{children:\"forwardRef\"}),\" to wrap their components and pass \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" to the element they want to animate:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const Component = React.forwardRef((props, ref) => {\\n  return <div ref={ref} />\\n})\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"React 19\"}),\" users can pass a normal component, and \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" will be passed in via \",/*#__PURE__*/e(\"code\",{children:\"props\"}),\":\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const Component = (props) => {\\n  return <div ref={props.ref} />\\n})\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Important: \"}),\"Make sure \",/*#__PURE__*/e(\"strong\",{children:\"not\"}),\" to call \",/*#__PURE__*/e(\"code\",{children:\"motion.create()\"}),\" within another React render function! This will make a new component every render, breaking your animations.\"]}),/*#__PURE__*/n(\"p\",{children:[\"It's also possible to pass strings to \",/*#__PURE__*/e(\"code\",{children:\"motion.create\"}),\", which will create custom DOM elements.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// Will render <custom-element /> into HTML\\nconst MotionComponent = motion.create('custom-element')\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"By default, all \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" props (like \",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\" etc) are filtered out of the \",/*#__PURE__*/e(\"code\",{children:\"props\"}),\" forwarded to the provided component. By providing a \",/*#__PURE__*/e(\"code\",{children:\"forwardMotionProps\"}),\" config, the provided component will receive these props.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"motion.create(Component, { forwardMotionProps: true })\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Props\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components accept the following props.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Animation\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"initial\"})}),/*#__PURE__*/n(\"p\",{children:[\"The initial visual state of the \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component.\"]}),/*#__PURE__*/e(\"p\",{children:\"This can be set as an animation target:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.section initial={{ opacity: 0, x: 0 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Variants:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.li initial=\"visible\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div initial={[\"visible\", \"active\"]} />',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Or set as \",/*#__PURE__*/e(\"code\",{children:\"false\"}),\" to disable the enter animation and initially render as the values found in \",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div initial={false} animate={{ opacity: 0 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"animate\"})}),/*#__PURE__*/e(\"p\",{children:\"A target to animate to on enter, and on update.\"}),/*#__PURE__*/e(\"p\",{children:\"Can be set as an animation target:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  initial={{ boxShadow: \"0px 0px #000\" }}\\n  animate={{ boxShadow: \"10px 10px #000\" }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Or variants:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.li animate=\"visible\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div initial=\"hidden\" animate={[\"visible\", \"active\"]} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"exit\"})}),/*#__PURE__*/e(\"p\",{children:\"A target to animate to when a component is removed from the tree. Can be set either as an animation target, or variant.\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note:\"}),\" Owing to React limitations, the component being removed \",/*#__PURE__*/e(\"strong\",{children:\"must\"}),\" be a \",/*#__PURE__*/e(\"strong\",{children:\"direct child\"}),\" of \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-animate-presence\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"AnimatePresence\"})})}),\" to enable this animation.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<AnimatePresence>\\n  {isVisible && (\\n    <ul key=\"list\">\\n      <motion.li exit={{ opacity: 0 }} />\\n    </ul>\\n  )}\\n</AnimatePresence>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"transition\"})}),/*#__PURE__*/n(\"p\",{children:[\"The default transition for this component to use when an animation prop (\",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"whileHover\"}),\" etc) has no \",/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" defined.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div transition={{ type: \"spring\" }} animate={{ scale: 1.2 }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"variants\"})}),/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(i,{href:\"/docs/react-animation#variants\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"variants\"})}),\" for this component.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const variants = {\\n  active: {\\n      backgroundColor: \"#f00\"\\n  },\\n  inactive: {\\n    backgroundColor: \"#fff\",\\n    transition: { duration: 2 }\\n  }\\n}\\n\\nreturn (\\n  <motion.div\\n    variants={variants}\\n    animate={isActive ? \"active\" : \"inactive\"}\\n  />\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"style\"})}),/*#__PURE__*/n(\"p\",{children:[\"The normal React DOM \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\" prop, with added support for \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-motion-value\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"awBVFEUqH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"motion values\"})}),\" and independent transforms. \"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const x = useMotionValue(30)\\n\\nreturn <motion.div style={{ x, rotate: 90, originX: 0.5 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onUpdate\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback triggered every frame any value on the \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component updates. It's provided a single argument with the latest values.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.article\\n  animate={{ opacity: 1 }}\\n  onUpdate={latest => console.log(latest.opacity)}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onAnimationStart\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback triggered when any animation (except layout animations, see \",/*#__PURE__*/e(\"code\",{children:\"onLayoutAnimationStart\"}),\") starts.\"]}),/*#__PURE__*/e(\"p\",{children:\"It's provided a single argument, with the target or variant name of the started animation.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.circle\\n  animate={{ r: 10 }}\\n  onAnimationStart={latest => console.log(latest.r)}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onAnimationComplete\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback triggered when any animation (except layout animations, see \",/*#__PURE__*/e(\"code\",{children:\"onLayoutAnimationComplete\"}),\") completes.\"]}),/*#__PURE__*/e(\"p\",{children:\"It's provided a single argument, with the target or variant name of the completed animation.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.circle\\n  animate={{ r: 10 }}\\n  onAnimationComplete={latest => console.log(latest.r)}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Hover\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"whileHover\"})}),/*#__PURE__*/e(\"p\",{children:\"Target or variants to label to while the hover gesture is active.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// As target\\n<motion.button whileHover={{ scale: 1.2 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// As variants\\n<motion.div whileHover=\"hovered\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onHoverStart\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pointer starts hovering over the component. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onHoverStart={(event) => console.log(event)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onHoverEnd\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pointer stops hovering over the component. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onHoverEnd={(event) => console.log(event)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Tap\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"whileTap\"})}),/*#__PURE__*/e(\"p\",{children:\"Target or variants to label to while the tap gesture is active.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// As target\\n<motion.button whileTap={{ scale: 0.9 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// As variants\\n<motion.div whileTap=\"tapped\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onTapStart\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pointer starts pressing the component. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onTapStart={(event) => console.log(event)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onTap\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pointer stops pressing the component and the pointer was released \",/*#__PURE__*/e(\"strong\",{children:\"inside\"}),\" the component. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onTap={(event) => console.log(event)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onTapCancel\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pointer stops pressing the component and the pointer was released \",/*#__PURE__*/e(\"strong\",{children:\"outside\"}),\" the component. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onTapCancel={(event) => console.log(event)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Focus\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"whileFocus\"})}),/*#__PURE__*/e(\"p\",{children:\"Target or variants to label to while the focus gesture is active.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// As target\\n<motion.button whileFocus={{ outline: \"dashed #000\" }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// As variants\\n<motion.div whileFocus=\"focused\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Pan\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onPan\"})}),/*#__PURE__*/e(\"p\",{children:\"Callback function that fires when the pan gesture is recognised on this element.\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note:\"}),\" For pan gestures to work correctly with touch input, the element needs touch scrolling to be disabled on either x/y or both axis with the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"touch-action\"})})}),\" CSS rule.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"function onPan(event, info) {\\n  console.log(info.point.x, info.point.y)\\n}\\n\\n<motion.div onPan={onPan} />\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Pan and drag events are provided the origin \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\" as well as an object \",/*#__PURE__*/e(\"code\",{children:\"info\"}),\" that contains \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" point values for the following:\"]}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"point\"}),\": Relative to the device or page.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"delta\"}),\": Distance since the last event.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"offset\"}),\": Distance from the original event.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"velocity\"}),\": Current velocity of the pointer.\"]})})]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onPanStart\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pan gesture starts. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"info\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onPanStart={(event, info) => console.log(info.delta.x)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onPanEnd\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a pan gesture ends. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"info\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onPanEnd={(event, info) => console.log(info.delta.x)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Drag\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"drag\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"Enable dragging for this element. Set \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\" to drag in both directions. Set \",/*#__PURE__*/e(\"code\",{children:'\"x\"'}),\" or \",/*#__PURE__*/e(\"code\",{children:'\"y\"'}),\" to only drag in a specific direction.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div drag />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"whileDrag\"})}),/*#__PURE__*/e(\"p\",{children:\"Target or variants to label to while the drag gesture is active.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// As target\\n<motion.div drag whileDrag={{ scale: 0.9 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// As variants\\n<motion.div drag whileDrag=\"dragging\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragConstraints\"})}),/*#__PURE__*/e(\"p\",{children:\"Applies constraints on the draggable area.\"}),/*#__PURE__*/n(\"p\",{children:[\"Set as an object of optional \",/*#__PURE__*/e(\"code\",{children:\"top\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"left\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"right\"}),\", and \",/*#__PURE__*/e(\"code\",{children:\"bottom\"}),\" values, measured in pixels:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div\\n  drag=\"x\"\\n  dragConstraints={{ left: 0, right: 300 }}\\n/>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Or as a \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" to another element to use its bounding box as the draggable constraints:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"const MyComponent = () => {\\n  const constraintsRef = useRef(null)\\n\\n  return (\\n     <motion.div ref={constraintsRef}>\\n         <motion.div drag dragConstraints={constraintsRef} />\\n     </motion.div>\\n  )\\n}\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragSnapToOrigin\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", the draggable element will animate back to its center/origin when released.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div drag dragSnapToOrigin />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragElastic\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"0.5\"})]}),/*#__PURE__*/n(\"p\",{children:[\"The degree of movement allowed outside constraints. \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" = no movement, \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" = full movement.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Set to \",/*#__PURE__*/e(\"code\",{children:\"0.5\"}),\" by default. Can also be set as \",/*#__PURE__*/e(\"code\",{children:\"false\"}),\" to disable movement.\"]}),/*#__PURE__*/n(\"p\",{children:[\"By passing an object of \",/*#__PURE__*/e(\"code\",{children:\"top\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"right\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"bottom\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"left\"}),\", individual values can be set per constraint. Any missing values will be set to \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragConstraints={{ left: 0, right: 300 }}\\n  dragElastic={0.2}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragMomentum\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"true\"})]}),/*#__PURE__*/n(\"p\",{children:[\"Apply momentum from the pan gesture to the component when dragging finishes. Set to \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\" by default.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragConstraints={{ left: 0, right: 300 }}\\n  dragMomentum={false}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragTransition\"})}),/*#__PURE__*/n(\"p\",{children:[\"Allows you to change dragging momentum transition. When releasing a draggable element, an animation with type \",/*#__PURE__*/e(\"code\",{children:'\"inertia\"'}),\" starts. The animation is based on your dragging velocity. This property allows you to customize it.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragTransition={{ bounceStiffness: 600, bounceDamping: 10 }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragDirectionLock\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"Locks drag direction into the soonest detected direction. For example, if the component is moved more on the \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" axis than \",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" axis before the drag gesture kicks in, it will \",/*#__PURE__*/e(\"strong\",{children:\"only\"}),\" drag on the \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" axis for the remainder of the gesture.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div drag dragDirectionLock />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragPropagation\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/e(\"p\",{children:\"Allows drag gesture propagation to child components.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div drag=\"x\" dragPropagation />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragControls\"})}),/*#__PURE__*/e(\"p\",{children:\"Usually, dragging is initiated by pressing down on a component and moving it. For some use-cases, for instance clicking at an arbitrary point on a video scrubber, we might want to initiate dragging from a different component than the draggable one.\"}),/*#__PURE__*/n(\"p\",{children:[\"By creating a \",/*#__PURE__*/e(\"code\",{children:\"dragControls\"}),\" using the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"/docs/react-use-drag-controls\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"useDragControls\"})})}),/*#__PURE__*/e(i,{href:\"/docs/react-use-drag-controls\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" hook\"})}),\", we can pass this into the draggable component's \",/*#__PURE__*/e(\"code\",{children:\"dragControls\"}),\" prop. It exposes a \",/*#__PURE__*/e(\"code\",{children:\"start\"}),\" method that can start dragging from pointer events on other components.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const dragControls = useDragControls()\\n\\nfunction startDrag(event) {\\n  dragControls.start(event, { snapToCursor: true })\\n}\\n\\nreturn (\\n  <>\\n    <div onPointerDown={startDrag} />\\n    <motion.div drag=\"x\" dragControls={dragControls} />\\n  </>\\n)',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note: \"}),\"Given that by setting \",/*#__PURE__*/e(\"code\",{children:\"dragControls\"}),\" you are taking control of initiating the drag gesture, it is possible to disable the draggable element as the initiator by setting \",/*#__PURE__*/e(\"code\",{children:\"dragListener={false}\"}),\".\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"dragListener\"})}),/*#__PURE__*/n(\"p\",{children:[\"Determines whether to trigger the drag gesture from event listeners. If passing \",/*#__PURE__*/e(\"code\",{children:\"dragControls\"}),\", setting this to \",/*#__PURE__*/e(\"code\",{children:\"false\"}),\" will ensure dragging can only be initiated by the controls, rather than a \",/*#__PURE__*/e(\"code\",{children:\"pointerdown\"}),\" event on the draggable element.\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onDrag\"})}),/*#__PURE__*/e(\"p\",{children:\"Callback function that fires when the drag gesture is recognised on this element.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"function onDrag(event, info) {\\n  console.log(info.point.x, info.point.y)\\n}\\n\\n<motion.div drag onDrag={onDrag} />\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Pan and drag events are provided the origin \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\" as well as an object \",/*#__PURE__*/e(\"code\",{children:\"info\"}),\" that contains \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" point values for the following:\"]}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"point\"}),\": Relative to the device or page.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"delta\"}),\": Distance since the last event.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"offset\"}),\": Distance from the original event.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"velocity\"}),\": Current velocity of the pointer.\"]})})]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onDragStart\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a drag gesture starts. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"info\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div drag onDragStart={(event, info) => console.log(info.delta.x)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onDragEnd\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when a drag gesture ends. Provided the triggering \",/*#__PURE__*/e(\"code\",{children:\"PointerEvent\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"info\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div drag onDragEnd={(event, info) => console.log(info.delta.x)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onDirectionLock\"})}),/*#__PURE__*/e(\"p\",{children:\"Callback function that fires a drag direction is determined.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div\\n  drag\\n  dragDirectionLock\\n  onDirectionLock={axis => console.log(axis)}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Viewport\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"whileInView\"})}),/*#__PURE__*/e(\"p\",{children:\"Target or variants to label to while the element is in view.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// As target\\n<motion.div whileInView={{ opacity: 1 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// As variants\\n<motion.div whileInView=\"visible\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"viewport\"})}),/*#__PURE__*/e(\"p\",{children:\"Options to define how the element is tracked within the viewport.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.section\\n  whileInView={{ opacity: 1 }}\\n  viewport={{ once: true }}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Available options:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"once\"}),\": If \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", once element enters the viewport it won't detect subsequent leave/enter events.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"root\"}),\": The \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" of an ancestor scrollable element to detect intersections with (instead of \",/*#__PURE__*/e(\"code\",{children:\"window\"}),\").\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"margin\"}),\": A margin to add to the viewport to change the detection area. Defaults to \",/*#__PURE__*/e(\"code\",{children:'\"0px\"'}),\". Use multiple values to adjust top/right/bottom/left, e.g. \",/*#__PURE__*/e(\"code\",{children:'\"0px -20px 0px 100px\"'}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"amount\"}),': The amount of an element that should enter the viewport to be considered \"entered\". Either ',/*#__PURE__*/e(\"code\",{children:'\"some\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"all\"'}),\" or a number between \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\". Defaults to \",/*#__PURE__*/e(\"code\",{children:'\"some\"'}),\".\"]})})]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onViewportEnter\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when an element enters the viewport. Provided the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"IntersectionObserverEntry\"})})}),\" with details of the intersection event.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onViewportEnter={(entry) => console.log(entry.isIntersecting)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onViewportLeave\"})}),/*#__PURE__*/n(\"p\",{children:[\"Callback function that fires when an element enters the viewport. Provided the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"IntersectionObserverEntry\"})})}),\" with details of the intersection event.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div onViewportLeave={(entry) => console.log(entry.intersectionRect)} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Layout\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"layout\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", this component will \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-layout-animations\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"mvoYsRMpO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"animate changes to its layout\"})}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.div layout />\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"If set to \",/*#__PURE__*/e(\"code\",{children:'\"position\"'}),\" or \",/*#__PURE__*/e(\"code\",{children:'\"size\"'}),\", only its position or size will animate, respectively.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.img layout=\"position\" />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"layoutId\"})}),/*#__PURE__*/n(\"p\",{children:[\"If set, this component will animate changes to its layout. Additionally, when a new element enters the DOM and an element already exists with a matching \",/*#__PURE__*/e(\"code\",{children:\"layoutId\"}),\", it will animate out from the previous element's size/position.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'{items.map(item => (\\n   <motion.li layout>\\n      {item.name}\\n      {item.isSelected && <motion.div layoutId=\"underline\" />}\\n   </motion.li>\\n))}',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"If the previous component remains in the tree, the two elements will crossfade.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"layoutDependency\"})}),/*#__PURE__*/n(\"p\",{children:[\"By default, layout changes are detected every render. To reduce measurements and thus improve performance, you can pass a \",/*#__PURE__*/e(\"code\",{children:\"layoutDependency\"}),\" prop. Measurements will only occur when this value changes.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<motion.nav layout layoutDependency={isOpen} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"layoutScroll\"})}),/*#__PURE__*/n(\"p\",{children:[\"For layout animations to work correctly within scrollable elements, their scroll offset needs measuring. For performance reasons, Framer Motion doesn't measure the scroll offset of every ancestor. Add the \",/*#__PURE__*/e(\"code\",{children:\"layoutScroll\"}),\" prop to elements that should be measured.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div layoutScroll style={{ overflow: \"scroll\" }}>\\n  <motion.div layout />\\n</motion.div>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"layoutRoot\"})}),/*#__PURE__*/n(\"p\",{children:[\"For layout animations to work correctly within \",/*#__PURE__*/e(\"code\",{children:\"position: fixed\"}),\" elements, we need to account for page scroll. Add \",/*#__PURE__*/e(\"code\",{children:\"layoutRoot\"}),\" to mark an element as \",/*#__PURE__*/e(\"code\",{children:\"position: fixed\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<motion.div layoutRoot style={{ position: \"fixed\" }}>\\n  <motion.div layout />\\n</motion.div>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onLayoutAnimationStart\"})}),/*#__PURE__*/e(\"p\",{children:\"A callback to run when a layout animation starts.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onLayoutAnimationComplete\"})}),/*#__PURE__*/e(\"p\",{children:\"A callback to run when a layout animation completes.\"}),/*#__PURE__*/e(\"h3\",{children:\"Advanced\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"inherit\"})}),/*#__PURE__*/n(\"p\",{children:[\"Set to \",/*#__PURE__*/e(\"code\",{children:\"false\"}),\" to prevent a component inheriting or propagating changes in a parent variant.\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"custom\"})}),/*#__PURE__*/e(\"p\",{children:\"Custom data to pass through to dynamic variants.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'const variants = {\\n  visible: (custom) => ({\\n    opacity: 1,\\n    transition: { delay: custom * 0.2 }\\n  })\\n}\\n\\nreturn (\\n  <motion.ul animate=\"visible\">\\n    <motion.li custom={0} variants={variants} />\\n    <motion.li custom={1} variants={variants} />\\n    <motion.li custom={2} variants={variants} />\\n  </motion.ul>\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"transformTemplate\"})}),/*#__PURE__*/n(\"p\",{children:[\"By default, transforms are applied in order of \",/*#__PURE__*/e(\"code\",{children:\"translate\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"scale\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"rotate\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"skew\"}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"To change this, \",/*#__PURE__*/e(\"code\",{children:\"transformTemplate\"}),\" can be set as a function that accepts the latest transforms and the generated transform string and returns a new transform string.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// Use the latest transform values\\n<motion.div\\n  style={{ x: 0, rotate: 180 }}\\n  transformTemplate={\\n    ({ x, rotate }) => `rotate(${rotate}deg) translateX(${x}px)`\\n  }\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"// Or the generated transform string\\n<motion.div\\n  style={{ x: 0, rotate: 180 }}\\n  transformTemplate={\\n    (latest, generated) => `translate(-50%, -50%) ${generated}`\\n  }\\n/>\",language:\"JSX\"})})})]});export const richText4=/*#__PURE__*/n(r.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" creates beautiful number animations with Motion.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<AnimateNumber>{count}</AnimateNumber>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"number-counter\",platform:\"react\"})})}),/*#__PURE__*/e(\"p\",{children:\"You can create a number of popular animation effects, like countdowns, engagement bars, or labelling user inputs.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"number-radix-slider\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"It's a continuation of the original version of Max Barvian's \",/*#__PURE__*/e(i,{href:\"https://number-flow.barvian.me/\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"NumberFlow\"})}),\" component, which was built on Motion.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Because \",/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" leverages Motion's existing layout animations, it's only 2.5kb on top of Motion for React. It also means you can use Motion's existing \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-transitions\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"e8RPaSVBD\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"transition settings\"})}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"However, being based on an older version of NumberFlow means it currently lacks a couple of its newer props like \",/*#__PURE__*/e(\"code\",{children:\"trend\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"plugins\"}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"number-engagement-stats\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"In this guide, we'll learn how to install \",/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" into our projects, and how to use it for a variety of number animation effects.\"]})]});export const richText5=/*#__PURE__*/n(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Install\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" is available via the \",/*#__PURE__*/e(\"code\",{children:'\"motion-plus\"'}),\"package on npm:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"npm install motion-plus\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Import \",/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" from \",/*#__PURE__*/e(\"code\",{children:'\"motion-plus/react\"'}),\":\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'import { AnimateNumber } from \"motion-plus/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" accepts a single child, a number.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"<AnimateNumber>300</AnimateNumber>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"When this number changes, it'll animate to its latest value.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:\"function Counter() {\\n  const [count, setCount] = useState(0)\\n\\n  return (\\n    <>\\n      <button onClick={() => setCount(count + 1)}>Increment</button>\\n      <AnimateNumber>{count}</AnimateNumber>\\n    </>\\n  )\\n}\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Customise animation\"}),/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" prop accepts Motion for React's \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-transitions\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"e8RPaSVBD\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"transition options\"})}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<AnimateNumber transition={{ type: \"spring\" }}>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" accepts value-specific transition settings, so it's possible to set specific transitions for \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"opacity\"}),\":\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<AnimateNumber transition={{\\n  layout: { duration: 0.3 },\\n  opacity: { ease: \"linear\" },\\n  y: { type: \"spring\", visualDuration: 0.4, bounce: 0.2 }\\n}}>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Customise numbers\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"AnimateNumber\"}),\" uses the browser's built-in \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Intl.NumberFormat\"})})}),\" to format numbers and, as such, exposes some of its formatting options.\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<AnimateNumber format={{ notation: \"compact\" }}>',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"number-formatting\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Prefix/suffix\"}),/*#__PURE__*/n(\"p\",{children:[\"It's also possible to \",/*#__PURE__*/e(\"code\",{children:\"prefix\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"suffix\"}),\" the number with custom text content:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'<AnimateNumber\\n  format={{ style: \"currency\", currency: \"USD\" }}\\n  locales=\"en-US\"\\n  suffix=\"/mo\"\\n>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Styling\"}),/*#__PURE__*/e(\"p\",{children:\"Each section of the number has a unique class that can be used to target it with CSS.\"}),/*#__PURE__*/e(\"p\",{children:\"The available classes are:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"number-section-pre\"}),\": \",/*#__PURE__*/e(\"code\",{children:\"prefix\"}),\" and other text before the number \"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"number-section-integer\"}),\": Before the decimal\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"number-section-fraction\"}),\": After the decimal\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"number-section-post\"}),\": \",/*#__PURE__*/e(\"code\",{children:\"suffix\"}),\" and other text after the number\"]})})]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js:default\",children:n=>/*#__PURE__*/e(a,{...n,id:\"number-price-switcher\",platform:\"react\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Options\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"transition\"})}),/*#__PURE__*/n(\"p\",{children:[\"Accepts Motion for React's \",/*#__PURE__*/e(i,{href:{pathVariables:{sg3kghrCF:\"react-transitions\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"e8RPaSVBD\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"transition options\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"prefix\"})}),/*#__PURE__*/e(\"p\",{children:\"Custom text content to render before the number.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"suffix\"})}),/*#__PURE__*/e(\"p\",{children:\"Custom text content to render after the number.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"format\"})}),/*#__PURE__*/n(\"p\",{children:[\"Accepts \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Intl.NumberFormat\"})})}),/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" options\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"locales\"})}),/*#__PURE__*/n(\"p\",{children:[\"Accepts \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#locales\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"Intl.NumberFormat\"})})}),/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#locales\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#locales\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\"locales\"})})}),/*#__PURE__*/e(i,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#locales\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(o.a,{children:\" argument\"})}),\".\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// Will render as US$300 outside US\\n<AnimateNumber format={{ currency: \"USD\", style: \"currency\" }}>\\n  300\\n</AnimateNumber>',language:\"JSX\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(t,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js:default\",children:n=>/*#__PURE__*/e(l,{...n,code:'// Will always render as $300\\n<AnimateNumber locales=\"en-US\" format={{ currency: \"USD\", style: \"currency\" }}>\\n  300\\n</AnimateNumber>',language:\"JSX\"})})})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}