{"version":3,"file":"AaN8oZOpy-6.__MKHIHe.mjs","names":["o","r","t","d","l","a"],"sources":["https:/framerusercontent.com/modules/HussPqVq7ynx7aTpSH84/6YHqSyCbstMJhS5byszw/AaN8oZOpy-6.js"],"sourcesContent":["import{jsx as e,jsxs as n}from\"react/jsx-runtime\";import{ComponentPresetsConsumer as t,Link as o}from\"framer\";import{motion as r}from\"framer-motion\";import*as i from\"react\";import l from\"https://framerusercontent.com/modules/05B5K0pCl9oc4uJEto2N/9XPAV7EziBiyI1sWSULk/Example.js\";import a from\"https://framerusercontent.com/modules/dM6nHlY4QirI4lNv9Lf0/IbzdnF7pTKmfGkrZwB1f/CodeSandbox.js\";import d from\"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/F3DAaPbkrr19izpZS3jO/CodeBlock.js\";export const richText=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" makes exit animations easy. By wrapping one or more \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"motion\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" components\"})}),\" with \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\", we gain access to the \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" animation 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(d,{...n,code:'<AnimatePresence>\\n  {show && <motion.div key=\"modal\" exit={{ opacity: 0 }} />}\\n</AnimatePresence>',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(l,{...n,id:\"exit-animation\",platform:\"react\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"h3\",{children:\"Import\"}),/*#__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(d,{...n,code:'import { AnimatePresence } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Exit animations\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" works by detecting when its \",/*#__PURE__*/e(\"strong\",{children:\"direct children\"}),\" are removed from the React tree.\"]}),/*#__PURE__*/e(\"p\",{children:\"This can be due to a component mounting/remounting:\"}),/*#__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(d,{...n,code:'<AnimatePresence>\\n  {show && <Modal key=\"modal\" />}\\n</AnimatePresence>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Its \",/*#__PURE__*/e(\"code\",{children:\"key\"}),\" changing:\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  <Slide key={activeItem.id} />\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Or when children in a list are added/removed:\"}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {items.map(item => (\\n    <motion.li key={item.id} exit={{ opacity: 1 }} layout />\\n  ))}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Any \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components within the exiting component will fire animations defined on their \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" props before the component is removed from the DOM.\"]}),/*#__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(d,{...n,code:\"function Slide({ img, description }) {\\n  return (\\n    <motion.div exit={{ opacity: 0 }}>\\n      <img src={img.src} />\\n      <motion.p exit={{ y: 10 }}>{description}</motion.p>\\n    </motion.div>\\n  )\\n}\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note: \"}),\"Direct children must each have a unique \",/*#__PURE__*/e(\"code\",{children:\"key\"}),\" prop so \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" can track their presence in the tree.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Like \",/*#__PURE__*/e(\"code\",{children:\"initial\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" can be defined either as an object of values, or as a variant label.\"]}),/*#__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(d,{...n,code:'const modalVariants = {\\n  visible: { opacity: 1, transition: { when: \"beforeChildren\" } },\\n  hidden: { opacity: 0, transition: { when: \"afterChildren\" } }\\n}\\n\\nfunction Modal({ children }) {\\n  return (\\n    <motion.div initial=\"hidden\" animate=\"visible\" exit=\"hidden\">\\n      {children}\\n    </motion.div>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"h3\",{children:[\"Changing \",/*#__PURE__*/e(\"code\",{children:\"key\"})]}),/*#__PURE__*/n(\"p\",{children:[\"Changing a \",/*#__PURE__*/e(\"code\",{children:\"key\"}),\" prop makes React create an entirely new component. So by changing the \",/*#__PURE__*/e(\"code\",{children:\"key\"}),\" of a single child of \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\", we can easily make components like slideshows.\"]}),/*#__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(d,{...n,code:\"export const Slideshow = ({ image }) => (\\n  <AnimatePresence>\\n    <motion.img\\n      key={image.src}\\n      src={image.src}\\n      initial={{ x: 300, opacity: 0 }}\\n      animate={{ x: 0, opacity: 1 }}\\n      exit={{ x: -300, opacity: 0 }}\\n    />\\n  </AnimatePresence>\\n)\",language:\"JSX\"})})}),/*#__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(a,{...n,id:\"pqvx3\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Access presence state\"}),/*#__PURE__*/n(\"p\",{children:[\"Any child of \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" can access presence state with the \",/*#__PURE__*/e(\"code\",{children:\"useIsPresence\"}),\" hook.\"]}),/*#__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(d,{...n,code:'import { useIsPresent } from \"motion/react\"\\n\\nfunction Component() {\\n  const isPresent = useIsPresent()\\n\\n  return isPresent ? \"Here!\" : \"Exiting...\"\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This allows you to change content or styles when a component is no longer rendered.\"}),/*#__PURE__*/e(\"h3\",{children:\"Access presence data\"}),/*#__PURE__*/n(\"p\",{children:[\"When a component has been removed from the React tree, its props can no longer be updated. We can use \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\"'s \",/*#__PURE__*/e(\"code\",{children:\"custom\"}),\" prop to pass new data down through the tree, even into exiting 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(d,{...n,code:\"<AnimatePresence custom={swipeDirection}>\\n  <Slide key={activeSlideId}>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Then later we can extract that using \",/*#__PURE__*/e(\"code\",{children:\"usePresenceData\"}),\".\"]}),/*#__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(d,{...n,code:'import { AnimatePresence, usePresenceData } from \"motion/react\"\\n\\nfunction Slide() {\\n  const isPresent = useIsPresent()\\n  const direction = usePresenceData()\\n\\n  return (\\n    <motion.div exit={{ opacity: 0 }}>\\n      {isPresent ? \"Here!\" : \"Exiting \" + direction}\\n    </motion.div>\\n  )\\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(l,{...n,id:\"use-presence-data\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Manual usage\"}),/*#__PURE__*/n(\"p\",{children:[\"It's also possible to manually tell \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" when a component is safe to remove with the \",/*#__PURE__*/e(\"code\",{children:\"usePresence\"}),\" hook.\"]}),/*#__PURE__*/n(\"p\",{children:[\"This returns both \",/*#__PURE__*/e(\"code\",{children:\"isPresent\"}),\" state and a callback, \",/*#__PURE__*/e(\"code\",{children:\"safeToRemove\"}),\", that should be called when you're ready to remove the component from the DOM (for instance after a manual animation or other timeout).\"]}),/*#__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(d,{...n,code:'import { usePresence } from \"motion/react\"\\n\\nfunction Component() {\\n  const [isPresent, safeToRemove] = usePresence()\\n\\n  useEffect(() => {\\n    // Remove from DOM 1000ms after being removed from React\\n    !isPresent && setTimeout(safeToRemove, 1000)\\n  }, [isPresent])\\n\\n  return <div />\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Propagate exit animations\"}),/*#__PURE__*/n(\"p\",{children:[\"By default, \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" controls the \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" animations on all of its children, \",/*#__PURE__*/e(\"strong\",{children:\"until\"}),\" another \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" component is rendered.\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {show ? (\\n    <motion.section exit={{ opacity: 0 }}>\\n      <AnimatePresence>\\n        {/*\\n          * When `show` becomes `false`, exit animations\\n          * on these children will not fire.\\n          */}\\n        {children}\\n      </AnimatePresence>\\n    </motion.section>\\n  ) : null}\\n</AnimatePresence>\",language:\"JavaScript\"})})}),/*#__PURE__*/n(\"p\",{children:[\"By setting an \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" component's \",/*#__PURE__*/e(\"code\",{children:\"propagate\"}),\" prop to \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", when it's removed from another \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" it will fire all of \",/*#__PURE__*/e(\"strong\",{children:\"its\"}),\" children's exit 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(d,{...n,code:\"<AnimatePresence>\\n  {show ? (\\n    <motion.section exit={{ opacity: 0 }}>\\n      <AnimatePresence propagate>\\n        {/*\\n          * When `show` becomes `false`, exit animations\\n          * on these children **will** fire.\\n          */}\\n        {children}\\n      </AnimatePresence>\\n    </motion.section>\\n  ) : null}\\n</AnimatePresence>\",language:\"JavaScript\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Props\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"initial\"})}),/*#__PURE__*/n(\"p\",{children:[\"By passing \",/*#__PURE__*/e(\"code\",{children:\"initial={false}\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" will disable any initial animations on children that are present when the component is first rendered.\"]}),/*#__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(d,{...n,code:\"<AnimatePresence initial={false}>\\n  <Slide key={activeItem.id} />\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"custom\"})}),/*#__PURE__*/e(\"p\",{children:\"When a component is removed, there's no longer a chance to update its props (because it's no longer in the React tree). Therefore we can't update its exit animation with the same render that removed the component.\"}),/*#__PURE__*/n(\"p\",{children:[\"By passing a value through \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\"'s \",/*#__PURE__*/e(\"code\",{children:\"custom\"}),\" prop, we can use dynamic variants to change the \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" 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(d,{...n,code:'const variants = {\\n  hidden: (direction) => ({\\n    opacity: 0,\\n    x: direction === 1 ? -300 : 300\\n  }),\\n  visible: { opacity: 1, x: 0 }\\n}\\n\\nexport const Slideshow = ({ image, direction }) => (\\n  <AnimatePresence custom={direction}>\\n    <motion.img\\n      key={image.src}\\n      src={image.src}\\n      variants={variants}\\n      initial=\"hidden\"\\n      animate=\"visible\"\\n      exit=\"hidden\"\\n    />\\n  </AnimatePresence>\\n)',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"This data can be accessed by children via \",/*#__PURE__*/e(\"code\",{children:\"usePresenceData\"}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"mode\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:'\"sync\"'})]}),/*#__PURE__*/n(\"p\",{children:[\"Decides how \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" handles entering and exiting children.\"]}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"sync\"'}),\": Children animate in/out as soon as they're added/removed.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"wait\"'}),\": The entering child will wait until the exiting child has animated out. \",/*#__PURE__*/e(\"strong\",{children:\"Note: \"}),\"Currently only renders a single child at a time.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"popLayout\"'}),': Exiting children will be \"popped\" out of the page layout. This allows surrounding elements to move to their new layout immediately.']})})]}),/*#__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(a,{...n,id:\"t7qxhv\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Custom component note:\"}),\" When using \",/*#__PURE__*/e(\"code\",{children:\"popLayout\"}),\" mode, any immediate child of AnimatePresence that's a custom component \",/*#__PURE__*/e(\"strong\",{children:\"must\"}),\" be wrapped in React's \",/*#__PURE__*/e(\"code\",{children:\"forwardRef\"}),\" function, forwarding the provided \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" to the DOM node you wish to pop out of the layout.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"onExitComplete\"})}),/*#__PURE__*/e(\"p\",{children:\"Fires when all exiting nodes have completed animating out.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"propagate\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If set to \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", exit animations on children will also trigger when this \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" exits from a parent \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\".\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {show ? (\\n    <motion.section exit={{ opacity: 0 }}>\\n      <AnimatePresence propagate>\\n        {/* This exit prop will now fire when show is false */}\\n        <motion.div exit={{ x: -100 }} />\\n      </AnimatePresence>\\n    </motion.section>\\n  ) : null}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Troubleshooting\"}),/*#__PURE__*/e(\"h3\",{children:\"Exit animations aren't working\"}),/*#__PURE__*/n(\"p\",{children:[\"Ensure all \",/*#__PURE__*/e(\"strong\",{children:\"immediate\"}),\" children get a unique \",/*#__PURE__*/e(\"code\",{children:\"key\"}),\" prop that \",/*#__PURE__*/e(\"strong\",{children:\"remains the same for that component every render\"}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"For instance, providing \",/*#__PURE__*/e(\"code\",{children:\"index\"}),\" as a \",/*#__PURE__*/e(\"code\",{children:\"key\"}),\" is \",/*#__PURE__*/e(\"strong\",{children:\"bad\"}),\" because if the items reorder then the \",/*#__PURE__*/e(\"code\",{children:\"index\"}),\" will not be matched to the \",/*#__PURE__*/e(\"code\",{children:\"item\"}),\":\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {items.map((item, index) => (\\n    <Component key={index} />\\n  ))}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"It's preferred to pass something that's unique to that item, for instance an ID:\"}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {items.map((item) => (\\n    <Component key={item.id} />\\n  ))}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Also make sure \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" is \",/*#__PURE__*/e(\"strong\",{children:\"outside\"}),\" of the code that unmounts the element. If \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" itself unmounts, then it can't control exit animations!\"]}),/*#__PURE__*/n(\"p\",{children:[\"For example, this will \",/*#__PURE__*/e(\"strong\",{children:\"not work\"}),\":\"]}),/*#__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(d,{...n,code:\"isVisible && (\\n  <AnimatePresence>\\n    <Component />\\n  </AnimatePresence>\\n)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Instead, the conditional should be at the root of \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\":\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {isVisible && <Component />}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"h3\",{children:[\"Layout animations not working with \",/*#__PURE__*/e(\"code\",{children:'mode=\"sync\"'})]}),/*#__PURE__*/n(\"p\",{children:[\"When mixing layout and exit animations, it might be necessary to wrap the group in \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-layout-group\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"jctyeUijJ\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"LayoutGroup\"})})}),\" to ensure that components outside of \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\" know when to perform a layout 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(d,{...n,code:\"<LayoutGroup>\\n  <motion.ul layout>\\n    <AnimatePresence>\\n      {items.map(item => (\\n        <motion.li layout key={item.id} />\\n      ))}\\n    </AnimatePresence>\\n  </motion.ul>\\n</LayoutGroup>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"h3\",{children:[\"Layout animations not working with \",/*#__PURE__*/e(\"code\",{children:'mode=\"popLayout\"'})]}),/*#__PURE__*/n(\"p\",{children:[\"When any HTML element has an active \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" it temporarily becomes the \",/*#__PURE__*/e(o,{href:\"https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"offset parent\"})}),\" of its children. This can cause children with \",/*#__PURE__*/e(\"code\",{children:'position: \"absolute\"'}),\" not to appear where you expect.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"code\",{children:'mode=\"popLayout\"'}),\" works by using \",/*#__PURE__*/e(\"code\",{children:'position: \"absolute\"'}),\". So to ensure consistent and expected positioning during a layout animation, ensure that the animating parent has a \",/*#__PURE__*/e(\"code\",{children:\"position\"}),\" other than \",/*#__PURE__*/e(\"code\",{children:'\"static\"'}),\".\"]}),/*#__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(d,{...n,code:'<motion.ul layout style={{ position: \"relative\" }}>\\n  <AnimatePresence mode=\"popLayout\">\\n    {items.map(item => (\\n      <motion.li layout key={item.id} />\\n    ))}\\n  </AnimatePresence>\\n</motion.ul>',language:\"JSX\"})})})]});export const richText1=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Cursor is a creative cursor component for React. It makes it easy to build custom cursor and follow cursor effects.\"}),/*#__PURE__*/e(\"p\",{children:\"With its default settings, it replaces the browser cursor with a dynamic cursor.\"}),/*#__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(d,{...n,code:\"<Cursor />\",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(l,{...n,id:\"cursor\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"This cursor automatically detects the types of content it's hovering over. When hovering a link or button, it grows. When it's pressed, it shrinks. It also detects \",/*#__PURE__*/e(\"code\",{children:\"disabled\"}),\" status.\"]}),/*#__PURE__*/e(\"p\",{children:\"When hovering selectable text, it transforms into a text selector that grows with the size of the text.\"}),/*#__PURE__*/e(\"p\",{children:\"The cursor can be fully styled with CSS and animated using Motion's variants. Beyond that, it's also possible to set custom content when hovering over specific elements.\"}),/*#__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(l,{...n,id:\"cursor-custom-content\",platform:\"react\"})})}),/*#__PURE__*/e(\"p\",{children:\"With only a prop, we can create a follow cursor effect. Great for previews or popup information.\"}),/*#__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(d,{...n,code:\"<Cursor follow />\",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(l,{...n,id:\"cursor-follow\",platform:\"react\"})})}),/*#__PURE__*/e(\"p\",{children:\"We can also render as many cursors as we like, all at the same time. Attaching them to the cursor with springs of varying strengths.\"}),/*#__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(l,{...n,id:\"cursor-multifollow\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"In this guide, we'll learn how to install \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\", customise it with its various options and \",/*#__PURE__*/e(\"code\",{children:\"useCursorState\"}),\" hook.\"]})]});export const richText2=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Install\"}),/*#__PURE__*/n(\"p\",{children:[\"Cursor 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(d,{...n,code:\"npm install motion-plus\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" component is used for both custom cursor and follow cursor effects:\"]}),/*#__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(d,{...n,code:'import { Cursor } from \"motion-plus/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"When \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" is rendered, a default custom cursor will render on the page, hiding the browser's default cursor.\"]}),/*#__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(d,{...n,code:\"<Cursor />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"You can remove the cursor and restore the browser cursor at any time by removing the 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(d,{...n,code:\"{isCursorVisible ? <Cursor /> : null}\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Styling\"}),/*#__PURE__*/e(\"p\",{children:\"By default, the cursor is a neutral grey color. It's possible to change the cursor's styles using CSS.\"}),/*#__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(d,{...n,code:'<Cursor className=\"my-cursor\" style={{ backgroundColor: \"red\" }} />',language:\"JSX\"})})}),/*#__PURE__*/n(\"h4\",{children:[\"Styling \",/*#__PURE__*/e(\"code\",{children:\"border-radius\"})]}),/*#__PURE__*/n(\"p\",{children:[\"Cursor uses Motion's \",/*#__PURE__*/e(o,{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(r.a,{children:\"layout animations\"})}),\" to animate its width and height via performant transforms. As such, \",/*#__PURE__*/e(\"code\",{children:\"borderRadius\"}),\" currently needs to be set via the \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\" prop to enable scale correction:\"]}),/*#__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(d,{...n,code:\"<Cursor style={{ borderRadius: 5 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Variants\"}),/*#__PURE__*/e(\"p\",{children:\"The Cursor component and its children have access to special variants that you can use to animate based on the cursor state.\"}),/*#__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(d,{...n,code:'const variants = {\\n  pressed: { scale: 0.5, filter: \"blur(5px)\" }\\n}\\n\\nreturn <Cursor variants={variants} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Available variants are:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"default\"}),\": Base cursor state\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"text\"}),\": When hovering text\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"pointer\"}),\": When hovering a link or button\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"pressed\"}),\": When the mouse is pressed\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"exit\"}),\": During exit animations\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Custom content\"}),/*#__PURE__*/n(\"p\",{children:[\"When \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" is passed \",/*#__PURE__*/e(\"code\",{children:\"children\"}),\", it's \",/*#__PURE__*/e(\"code\",{children:\"width\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"height\"}),\" will stop reacting to press and text targets, and become the size of its 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(d,{...n,code:\"<Cursor>\\n  <p>Custom content!</p>\\n</Cursor>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Exit animations\"}),/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" component already wraps children with \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{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(r.a,{children:\"AnimatePresence\"})})}),\" which means children have access to the \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" prop. This enables exit animations as you add/remove custom 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(d,{...n,code:\"<Cursor>\\n  {showCustomContent ? (<motion.div exit={{ opacity: 0 }} />) : null}\\n</Cursor>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"To enable exit animations on the cursor itself, you can also wrap it in \",/*#__PURE__*/e(\"code\",{children:\"AnimatePresence\"}),\":\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {isCursorVisible ? <Cursor /> : null}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\" It has default exit animations included, but these can be customised by passing the \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" 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(d,{...n,code:\"<Cursor exit={{ opacity: 0 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Follow cursor\"}),/*#__PURE__*/n(\"p\",{children:[\"By default, Cursor will replace the browser cursor. By setting \",/*#__PURE__*/e(\"code\",{children:\"follow\"}),\", it will follow it instead.\"]}),/*#__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(d,{...n,code:\"<Cursor follow />\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note:\"}),\" Enabling \",/*#__PURE__*/e(\"code\",{children:\"follow\"}),\" will disable the custom cursor styles, so you will need to render your own 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(d,{...n,code:\"<Cursor follow>\\n  <p>I am following the mouse</p>\\n</Cursor>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Cursor state\"}),/*#__PURE__*/n(\"p\",{children:[\"It's possible to read the cursor state anywhere in your app with the \",/*#__PURE__*/e(\"code\",{children:\"useCursorState\"}),\" hook. A \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" component doesn't need to be rendered for this hook to work.\"]}),/*#__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(d,{...n,code:'import { useCursorState } from \"motion-cursor\"\\n\\nconst { type, isPressed, fontSize } = useCursorState()',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Available state values are:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"type\"}),\": \",/*#__PURE__*/e(\"code\",{children:'\"pointer\" | \"default\" | \"text\"'})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"isPressed\"}),\": \",/*#__PURE__*/e(\"code\",{children:\"boolean\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"fontSize\"}),\": \",/*#__PURE__*/e(\"code\",{children:\"number\"}),\", or \",/*#__PURE__*/e(\"code\",{children:\"null\"}),\" if no selectable text is currently hovered.\"]})})]}),/*#__PURE__*/n(\"p\",{children:[\"It's possible to manually change \",/*#__PURE__*/e(\"code\",{children:\"type\"}),\" via HTML by passing \",/*#__PURE__*/e(\"code\",{children:\"data-cursor\"}),\" to any 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(d,{...n,code:'<section data-cursor=\"pointer\"></section>',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useCursorState\"}),\" also makes it possible to provide different dimensions for the default pointer.\"]}),/*#__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(d,{...n,code:'const { type } = useCursorState()\\n\\nconst size = {\\n  width: type === \"pointer\" ? 50 : 20,\\n  height: type === \"pointer\" ? 50 : 20\\n}\\n\\nreturn <Cursor style={size} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Options\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" renders a \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"motion.div\"})})}),\" so supports many of the same options, as we've seen with \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"variants\"}),\". It also supports the following options:\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"follow\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"By default, \",/*#__PURE__*/e(\"code\",{children:\"Cursor\"}),\" will replace the browser cursor. Set \",/*#__PURE__*/e(\"code\",{children:\"follow\"}),\" to replace this\"]}),/*#__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(d,{...n,code:\"<Cursor follow>\\n  <p>I am following the mouse</p>\\n</Cursor>\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note:\"}),\" Enabling \",/*#__PURE__*/e(\"code\",{children:\"follow\"}),\" will disable the custom cursor styles, so you will need to render your own content.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"center\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),\"In cursor mode, \",/*#__PURE__*/e(\"code\",{children:\"{ x: 0.5, y: 0.5 }\"}),\" (center) and in follow mode \",/*#__PURE__*/e(\"code\",{children:\"{ x: 0, y: 0 }\"}),\" (top left)\"]}),/*#__PURE__*/n(\"p\",{children:[\"An \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" point, defined as a \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\"-\",/*#__PURE__*/e(\"code\",{children:\"1\"}),' progress value, that defines a center point for the cursor. This point will be the \"active\" pixel, the hit point of the cursor.']}),/*#__PURE__*/n(\"p\",{children:[\"On the \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" axis, \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" is the left and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" the right point.\"]}),/*#__PURE__*/n(\"p\",{children:[\"On the \",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" axis, \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" is the top and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" the bottom point.\"]}),/*#__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(d,{...n,code:\"<Cursor center={{ x: 0, y: 0.5 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"offset\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"An \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" point, defined in pixels, that can shift the cursor around the \",/*#__PURE__*/e(\"code\",{children:\"center\"}),\" point. Use this to get pixel-perfect accuracy with aligning custom cursor.\"]}),/*#__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(d,{...n,code:\"<Cursor offset={{ x: -1, y: -1 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"spring\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/e(\"p\",{children:\"Defines a spring to attach to pointer movement. You can use this to trail the pointer movement with a delay.\"}),/*#__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(d,{...n,code:\"<Cursor follow spring={{ stiffness: 500, mass: 2 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"matchTextSize\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"true\"})]}),/*#__PURE__*/e(\"p\",{children:\"The default custom cursor will match the text size of the hovered text (if selectable). Use this to disable that behaviour.\"}),/*#__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(d,{...n,code:\"<Cursor matchTextSize={false} />\",language:\"JSX\"})})})]});export const richText3=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components with a \",/*#__PURE__*/e(\"code\",{children:\"layout\"}),\" prop will detect and animate layout changes every time they commit a React re-render, or their \",/*#__PURE__*/e(\"code\",{children:\"layoutDependency\"}),\" prop changes.\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"LayoutGroup\"}),\" is used to group components that might not render together but do affect each-other's state.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"p\",{children:\"Take these accordion items that each handle their own state:\"}),/*#__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(d,{...n,code:\"function Item({ header, content }) {\\n  const [isOpen, setIsOpen] = useState(false)\\n  \\n  return (\\n    <motion.div\\n      layout\\n      onClick={() => setIsOpen(!isOpen)}\\n    >\\n      <motion.h2 layout>{header}</motion.h2>\\n      {isOpen ? content : null}\\n    </motion.div>\\n  )\\n}\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"If we arrange these next to each other in an \",/*#__PURE__*/e(\"code\",{children:\"Accordion\"}),\", when their state updates, their siblings have no way of knowing: \"]}),/*#__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(d,{...n,code:\"function Accordion() {\\n  return (\\n    <>\\n      <ToggleContent />\\n      <ToggleContent />\\n    </>  \\n  )\\n}\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"This can be fixed by grouping both components with \",/*#__PURE__*/e(\"code\",{children:\"LayoutGroup\"}),\":\"]}),/*#__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(d,{...n,code:'import { LayoutGroup } from \"motion/react\"\\n\\nfunction Accordion() {\\n  return (\\n    <LayoutGroup>\\n      <ToggleContent />\\n      <ToggleContent />\\n    </LayoutGroup>  \\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"h3\",{children:[\"Namespace \",/*#__PURE__*/e(\"code\",{children:\"layoutId\"})]}),/*#__PURE__*/n(\"p\",{children:[\"Components expecting to perform shared layout animations are provided a \",/*#__PURE__*/e(\"code\",{children:\"layoutId\"}),\" prop.\"]}),/*#__PURE__*/n(\"p\",{children:[\"In this following example, each \",/*#__PURE__*/e(\"code\",{children:\"Tab\"}),\" renders an element with the \",/*#__PURE__*/e(\"code\",{children:'layoutId=\"underline\"'}),\" 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(d,{...n,code:'function Tab({ label, isSelected }) {\\n  return (\\n    <li>\\n      {label}\\n      {isSelected\\n        ? <motion.div layoutId=\"underline\" />\\n        : null}\\n    </li>  \\n  )\\n}\\n\\nfunction TabRow({ items }) {\\n  return items.map(item => <Tab {...item} />)\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"layoutId\"}),\" is global across your site. So to render multiple \",/*#__PURE__*/e(\"code\",{children:\"TabRow\"}),\"s we want to group them with \",/*#__PURE__*/e(\"code\",{children:\"LayoutGroup\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"id\"}),\" 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(d,{...n,code:\"function TabRow({ id, items }) {\\n  return (\\n    <LayoutGroup id={id}>\\n      {items.map(item => <Tab {...item} />)}\\n    </LayoutGroup>\\n}\",language:\"JSX\"})})})]});export const richText4=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[\"For ease of use, the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"motion\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" component\"})}),\" comes pre-bundled with all of its features for a bundlesize of around 34kb.\"]}),/*#__PURE__*/n(\"p\",{children:[\"With \",/*#__PURE__*/e(\"code\",{children:\"LazyMotion\"}),\" and the \",/*#__PURE__*/e(\"code\",{children:\"m\"}),\" component, we can reduce this to 6kb for the initial render and then sync or async load a subset of features.\"]}),/*#__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(d,{...n,code:'import { LazyMotion, domAnimations } from \"motion/react\"\\nimport * as m from \"motion/react-m\"\\n\\nexport const MyComponent = ({ isVisible }) => (\\n  <LazyMotion features={domAnimations}>\\n    <m.div animate={{ opacity: 1 }} />\\n  </LazyMotion>\\n)',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Read the \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-reduce-bundle-size\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"y_uxibKbB\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"Reduce bundle size\"})}),\" guide for full usage instructions.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Props\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"features\"})}),/*#__PURE__*/e(\"p\",{children:\"Define a feature bundle to load sync or async.\"}),/*#__PURE__*/e(\"h4\",{children:\"Sync loading\"}),/*#__PURE__*/e(\"p\",{children:\"Synchronous loading is useful for defining a subset of functionality for a smaller bundlesize.\"}),/*#__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(d,{...n,code:'import { LazyMotion, domAnimations } from \"motion/react\"\\nimport * as m from \"motion/react-m\"\\n\\nexport const MyComponent = ({ isVisible }) => (\\n  <LazyMotion features={domAnimations}>\\n    <m.div animate={{ opacity: 1 }} />\\n  </LazyMotion>\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Async loading\"}),/*#__PURE__*/e(\"p\",{children:\"Asynchronous loading can ensure your site is hydrated before loading in some or all animation functionality.\"}),/*#__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(d,{...n,code:'// features.js\\nimport { domAnimations } from \"motion/react\"\\nexport default domAnimations\\n  \\n// index.js\\nconst loadFeatures = import(\"./features.js\")\\n  .then(res => res.default)\\n\\nfunction Component() {\\n  return (\\n    <LazyMotion features={loadFeatures}>\\n      <m.div animate={{ scale: 1.5 }} />\\n    </LazyMotion>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"strict\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"false\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", will throw an error if a \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component renders within a \",/*#__PURE__*/e(\"code\",{children:\"LazyMotion\"}),\" component (thereby removing the bundlesize benefits of lazy-loading).\"]}),/*#__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(d,{...n,code:\"// This component will throw an error that explains using a motion component\\n// instead of the m component will break the benefits of code-splitting.\\nfunction Component() {\\n  return (\\n    <LazyMotion features={domAnimations} strict>\\n      <motion.div />\\n    </LazyMotion>\\n  )\\n}\",language:\"JSX\"})})})]});export const richText5=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(\"code\",{children:\"MotionConfig\"}),\" component can be used to set configuration options for all child \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"motion\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" 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(d,{...n,code:'import { motion, MotionConfig } from \"motion/react\"\\n\\nexport const MyComponent = ({ isVisible }) => (\\n  <MotionConfig transition={{ duration: 1 }}>\\n    <motion.div\\n        initial={{ opacity: 0 }}\\n        animate={{ opacity: 1 }}\\n      />\\n  </MotionConfig>\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Props\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"transition\"})}),/*#__PURE__*/n(\"p\",{children:[\"Define a fallback \",/*#__PURE__*/e(\"code\",{children:\"transition\"}),\" to use for all child \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"reducedMotion\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:'\"never\"'})]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"reducedMotion\"}),\" lets you set a site-wide policy for handling reduced motion. It offers the following options:\"]}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"user\"'}),\": Respect the user's device setting.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"always\"'}),\": Enforce reduced motion (useful for debugging).\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"never\"'}),\": Don't respect reduced motion.\"]})})]}),/*#__PURE__*/n(\"p\",{children:[\"When reduced motion is on, transform and layout animations will be disabled. Other animations, like \",/*#__PURE__*/e(\"code\",{children:\"opacity\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"backgroundColor\"}),\", will persist.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"nonce\"})}),/*#__PURE__*/n(\"p\",{children:[\"If using a \",/*#__PURE__*/e(o,{href:\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src#unsafe_inline_styles\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"Content Security Policy\"})}),\" with a \",/*#__PURE__*/e(\"code\",{children:\"nonce\"}),\" attribute, passing the same attribute through \",/*#__PURE__*/e(\"code\",{children:\"MotionConfig\"}),\" will allow any \",/*#__PURE__*/e(\"code\",{children:\"style\"}),\" blocks generated by Motion to adhere the the security policy.\"]})]});export const richText6=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[\"The \",/*#__PURE__*/e(\"code\",{children:\"Reorder\"}),\" components can be used to create drag-to-reorder lists, like reorderable tabs or todo items.\"]}),/*#__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(d,{...n,code:'const [items, setItems] = useState([0, 1, 2, 3])\\n\\nreturn (\\n  <Reorder.Group axis=\"y\" values={items} onReorder={setItems}>\\n    {items.map((item) => (\\n      <Reorder.Item key={item} value={item}>\\n        {item}\\n      </Reorder.Item>\\n    ))}\\n  </Reorder.Group>\\n)',language:\"JSX\"})})}),/*#__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(a,{...n,id:\"uonye\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"Reorder\"}),\" is for simple drag-to-reorder implementations. It's exceptionally lightweight ontop of the base \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component but lacks some features like multirow, dragging between columns, or dragging within scrollable containers. For advanced use-cases we recommend something like \",/*#__PURE__*/e(o,{href:\"https://docs.dndkit.com/\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"DnD Kit\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Every reorderable list is wrapped in the \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Group\"}),\" 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(d,{...n,code:'import { Reorder } from \"motion/react\"\\n\\nfunction List() {\\n  return (\\n    <Reorder.Group>\\n    \\n    </Reorder.Group>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"By default, this is rendered as a \",/*#__PURE__*/e(\"code\",{children:\"<ul>\"}),\", but this can be changed with the \",/*#__PURE__*/e(\"code\",{children:\"as\"}),\" 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(d,{...n,code:'<Reorder.Group as=\"ol\">',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Reorder.Group\"}),\" must be passed the array of values in your reorderable list via the \",/*#__PURE__*/e(\"code\",{children:\"values\"}),\" prop.\"]}),/*#__PURE__*/n(\"p\",{children:[\"Additionally, a \",/*#__PURE__*/e(\"code\",{children:\"onReorder\"}),\" event will fire with the latest calculated order. For items to reorder, this must update the \",/*#__PURE__*/e(\"code\",{children:\"values\"}),\" state.\"]}),/*#__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(d,{...n,code:'import { Reorder } from \"framer-motion\"\\n\\nfunction List() {\\n  const [items, setItems] = useState([0, 1, 2, 3])\\n\\n  return (\\n    <Reorder.Group values={items} onReorder={setItems}>\\n    \\n    </Reorder.Group>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"To render each reorderable item, use \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\", passing it the value it represents via the \",/*#__PURE__*/e(\"code\",{children:\"value\"}),\" 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(d,{...n,code:'import { Reorder } from \"framer-motion\"\\n\\nfunction List() {\\n  const [items, setItems] = useState([0, 1, 2, 3])\\n\\n  return (\\n    <Reorder.Group values={items} onReorder={setItems}>\\n      {items.map(item => (\\n        <Reorder.Item key={item} value={item}>\\n          {item}\\n        </Reorder.Item>\\n      ))}\\n    </Reorder.Group>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Now, when items are dragged and reordered, \",/*#__PURE__*/e(\"code\",{children:\"onReorder\"}),\" will fire with a new order.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Layout animations\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" components are already configured to perform layout animations, so if new items are added or removed to the reorderable list, surrounding items will animate to their new position automatically.\"]}),/*#__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(a,{...n,id:\"zd2q7\"})})}),/*#__PURE__*/n(\"h3\",{children:[/*#__PURE__*/e(\"br\",{}),\"Exit animations\"]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{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(r.a,{children:\"AnimatePresence\"})})}),\" can be used as normal to animate items as they enter/leave the React tree.\"]}),/*#__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(d,{...n,code:\"<AnimatePresence>\\n  {items.map(item => (\\n    <Reorder.Item\\n      initial={{ opacity: 0 }}\\n      animate={{ opacity: 1 }}\\n      exit={{ opacity: 0 }}\\n      key={item}\\n    />  \\n  ))}\\n</AnimatePresence>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Drag triggers\"}),/*#__PURE__*/n(\"p\",{children:[\"By default, all of a \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" will be draggable. \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:\"/docs/react-use-drag-controls\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"useDragControls\"})})}),\" can be used to define a different component to act as a drag trigger.\"]}),/*#__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(d,{...n,code:'import { Reorder, useDragControls } from \"framer-motion\"\\n\\nfunction Item({ value }) {\\n  const controls = useDragControls()\\n  \\n  return (\\n    <Reorder.Item\\n      value={value}\\n      dragListener={false}\\n      dragControls={controls}\\n    >\\n      <div\\n        className=\"reorder-handle\"\\n        onPointerDown={(e) => controls.start(e)}\\n      />\\n    </Reorder.Item>\\n  )\\n}',language:\"JSX\"})})}),/*#__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(a,{...n,id:\"j9enw\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Scrollable lists\"}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" components are within a scrollable container, that container needs a \",/*#__PURE__*/e(\"code\",{children:\"layoutScroll\"}),\" prop so Framer Motion can correctly measure its scroll offset.\"]}),/*#__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(d,{...n,code:'<Reorder.Group\\n  axis=\"y\"\\n  onReorder={setItems}\\n  layoutScroll\\n  style={{ overflowY: \"scroll\" }}\\n>\\n  {items.map((item) => (\\n    <Item key={item} item={item} />\\n  ))}\\n</Reorder.Group>',language:\"JSX\"})})}),/*#__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(a,{...n,id:\"n27v5\"})})}),/*#__PURE__*/e(\"h3\",{children:\"z-index\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" will automatically set a \",/*#__PURE__*/e(\"code\",{children:\"z-index\"}),\" style on the currently dragged item so it appears above the surrounding items.\"]}),/*#__PURE__*/n(\"p\",{children:[\"However, \",/*#__PURE__*/e(\"code\",{children:\"z-index\"}),\" only affects items with \",/*#__PURE__*/e(\"code\",{children:'position !== \"static\"'}),\". So to enable this effect ensure the position of the \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" is set to \",/*#__PURE__*/e(\"code\",{children:\"relative\"}),\" or \",/*#__PURE__*/e(\"code\",{children:\"absolute\"}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"API\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"Reorder.Group\"})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"as\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default\"}),\": \",/*#__PURE__*/e(\"code\",{children:'\"ul\"'})]}),/*#__PURE__*/n(\"p\",{children:[\"The underlying element for \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Group\"}),\" to render as.\"]}),/*#__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(d,{...n,code:'<Reorder.Group as=\"div\"></Reorder.Group>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"axis\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default\"}),\": \",/*#__PURE__*/e(\"code\",{children:'\"y\"'})]}),/*#__PURE__*/e(\"p\",{children:\"The direction of reorder detection.\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Note: \"}),\"By default, all \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" components will visibly move only on this axis. To allow visual motion (but \",/*#__PURE__*/e(\"strong\",{children:\"not\"}),\" reordering) on both axes, pass the \",/*#__PURE__*/e(\"code\",{children:\"drag\"}),\" prop to child \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" components.\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"values\"})}),/*#__PURE__*/n(\"p\",{children:[\"The values array that will be reordered. Each item in this list must match a \",/*#__PURE__*/e(\"code\",{children:\"value\"}),\" passed to each \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\".\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"onReorder\"})}),/*#__PURE__*/n(\"p\",{children:[\"A callback that will fire when items are detected to have reordered. The provided \",/*#__PURE__*/e(\"code\",{children:\"newOrder\"}),\" should be passed to a \",/*#__PURE__*/e(\"code\",{children:\"values\"}),\" state update 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(d,{...n,code:\"const [items, setItems] = useState([0, 1, 2, 3])\\n\\nreturn (\\n  <Reorder.Group values={items} onReorder={setItems}>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" components accept all \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"motion\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" component props\"})}),\" in addition to the following:\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"as\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:'\"li\"'})]}),/*#__PURE__*/n(\"p\",{children:[\"The element for \",/*#__PURE__*/e(\"code\",{children:\"Reorder.Item\"}),\" to render as.\"]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"code\",{children:\"value\"})}),/*#__PURE__*/n(\"p\",{children:[\"When \",/*#__PURE__*/e(\"code\",{children:\"onReorder\"}),\" is called, this is the value that will be passed through in the newly ordered array.\"]})]});export const richText7=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Motion values track the state and velocity of animated values.\"}),/*#__PURE__*/e(\"p\",{children:\"They are composable, signal-like values that are performant because Motion can render them with its optimised DOM renderer.\"}),/*#__PURE__*/n(\"p\",{children:[\"Usually, these are created automatically by \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"motion\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" components\"})}),\". But for advanced use cases, it's possible to create them manually.\"]}),/*#__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(d,{...n,code:'import { motion, useMotionValue } from \"motion/react\"\\n\\nexport function MyComponent() {\\n  const x = useMotionValue(0)\\n  return <motion.div style={{ x }} />\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"By manually creating motion values you can:\"}),/*#__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__*/e(\"p\",{children:\"Set and get their state.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:\"Pass to multiple components to synchronise motion across them.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[\"Chain \",/*#__PURE__*/e(\"code\",{children:\"MotionValue\"}),\"s via the \",/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" hook.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:\"Update visual properties without triggering React's render cycle.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:\"Subscribe to updates.\"})})]}),/*#__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(d,{...n,code:'const x = useMotionValue(0)\\nconst opacity = useTransform(\\n  x,\\n  [-200, 0, 200],\\n  [0, 1, 0]\\n)\\n\\n// Will change opacity as element is dragged left/right\\nreturn <motion.div drag=\"x\" style={{ x, opacity }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Motion values can be created with the \",/*#__PURE__*/e(\"code\",{children:\"useMotionValue\"}),\" hook. The string or number passed to \",/*#__PURE__*/e(\"code\",{children:\"useMotionValue\"}),\" will act as its initial state.\"]}),/*#__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(d,{...n,code:'import { useMotionValue } from \"motion/react\"\\n\\nconst x = useMotionValue(0)',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Motion values can be passed to a \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" component 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(d,{...n,code:\"<motion.li style={{ x }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Or for SVG attributes, via the attribute prop itself:\"}),/*#__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(d,{...n,code:\"<motion.circle cx={cx} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"It's possible to pass the same motion value to multiple components.\"}),/*#__PURE__*/n(\"p\",{children:[\"Motion values can be updated with the \",/*#__PURE__*/e(\"code\",{children:\"set\"}),\" method.\"]}),/*#__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(d,{...n,code:\"x.set(100)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Changes to the motion value will update the DOM \",/*#__PURE__*/e(\"strong\",{children:\"without triggering a React re-render\"}),\". Motion values can be updated multiple times but renders will be batched to the next animation frame.\"]}),/*#__PURE__*/n(\"p\",{children:[\"A motion value can hold any string or number. We can read it with the \",/*#__PURE__*/e(\"code\",{children:\"get\"}),\" method.\"]}),/*#__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(d,{...n,code:\"x.get() // 100\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Motion values containing a number can return a velocity via the \",/*#__PURE__*/e(\"code\",{children:\"getVelocity\"}),\" method. This returns the velocity as calculated \",/*#__PURE__*/e(\"strong\",{children:\"per second\"}),\" to account for variations in frame rate across devices.\"]}),/*#__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(d,{...n,code:\"const xVelocity = x.getVelocity()\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"For strings and colors, \",/*#__PURE__*/e(\"code\",{children:\"getVelocity\"}),\" will always return \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"Events\"}),/*#__PURE__*/n(\"p\",{children:[\"Listeners can be added to motion values via \",/*#__PURE__*/e(o,{href:\"/docs/react-motion-value#on\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:\"/docs/react-motion-value#on\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"on\"})})}),/*#__PURE__*/e(o,{href:\"/docs/react-motion-value#on\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" method\"})}),\" or \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-motion-value-event\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"MV6pTMKwO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-motion-value-event\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"MV6pTMKwO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"useMotionValueEvent\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-motion-value-event\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"MV6pTMKwO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" hook\"})}),\".\"]}),/*#__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(d,{...n,code:'useMotionValueEvent(x, \"change\", (latest) => console.log(latest))',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Available events are \",/*#__PURE__*/e(\"code\",{children:'\"change\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"animationStart\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"animationComplete\"'}),\" \",/*#__PURE__*/e(\"code\",{children:'\"animationCancel\"'}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"Composition\"}),/*#__PURE__*/n(\"p\",{children:[\"Beyond \",/*#__PURE__*/e(\"code\",{children:\"useMotionValue\"}),\", Motion provides a number of hooks for creating and composing motion values, like \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{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(r.a,{children:\"useSpring\"})})}),\" and \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-transform\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"WfIvtFnkL\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"useTransform\"})})}),\".\"]}),/*#__PURE__*/n(\"p\",{children:[\"For example, with \",/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" we can take the latest state of one or more motion values and create a new motion value with the result.\"]}),/*#__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(d,{...n,code:\"const y = useTransform(() => x.get() * 2)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useSpring\"}),\" can make a motion value that's attached to another via a 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(d,{...n,code:\"const dragX = useMotionValue(0)\\nconst dragY = useMotionValue(0)\\nconst x = useSpring(dragX)\\nconst y = useSpring(dragY)\",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(l,{...n,id:\"shared-layout-animation\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"These motion values can then go on to be passed to \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components, or composed with more hooks like \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-velocity\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"wWOZ6XHWc\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"useVelocity\"})})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"API\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"get()\"})}),/*#__PURE__*/e(\"p\",{children:\"Returns the latest state of the motion value.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"getVelocity()\"})}),/*#__PURE__*/n(\"p\",{children:[\"Returns the latest velocity of the motion value. Returns \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" if the value is non-numerical.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"set()\"})}),/*#__PURE__*/e(\"p\",{children:\"Sets the motion value to a new state.\"}),/*#__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(d,{...n,code:'x.set(\"#f00\")',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"jump()\"})}),/*#__PURE__*/e(\"p\",{children:\"Jumps the motion value to a new state in a way that breaks continuity from previous values:\"}),/*#__PURE__*/n(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[\"Resets \",/*#__PURE__*/e(\"code\",{children:\"velocity\"}),\" to \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ends active animations.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/n(\"p\",{children:[\"Ignores attached effects (for instance \",/*#__PURE__*/e(\"code\",{children:\"useSpring\"}),\"'s 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(d,{...n,code:\"const x = useSpring(0)\\nx.jump(10)\\nx.getVelocity() // 0\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"isAnimating()\"})}),/*#__PURE__*/n(\"p\",{children:[\"Returns \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\" if the value is currently animating.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"stop()\"})}),/*#__PURE__*/e(\"p\",{children:\"Stop the active animation.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"on()\"})}),/*#__PURE__*/e(\"p\",{children:\"Subscribe to motion value events. Available events are:\"}),/*#__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__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"change\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"animationStart\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"animationCancel\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"animationComplete\"})})})]}),/*#__PURE__*/e(\"p\",{children:\"It returns a function that, when called, will unsubscribe the listener.\"}),/*#__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(d,{...n,code:'const unsubscribe = x.on(\"change\", latest => console.log(latest))',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"When calling \",/*#__PURE__*/e(\"code\",{children:\"on\"}),\" inside a React component, it should be wrapped with a \",/*#__PURE__*/e(\"code\",{children:\"useEffect\"}),\" hook, or instead use \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-motion-value-event\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"MV6pTMKwO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-motion-value-event\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"MV6pTMKwO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"useMotionValueEvent\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-use-motion-value-event\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"MV6pTMKwO\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" hook\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"destroy()\"})}),/*#__PURE__*/e(\"p\",{children:\"Destroy and clean up subscribers to this motion value.\"}),/*#__PURE__*/n(\"p\",{children:[\"This is normally handled automatically, so this method is only necessary if you've manually created a motion value outside the React render cycle using the vanilla \",/*#__PURE__*/e(\"code\",{children:\"motionValue\"}),\" hook.\"]})]});export const richText8=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useMotionTemplate\"}),\" creates a new \",/*#__PURE__*/e(o,{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(r.a,{children:\"motion value\"})}),\" from a \",/*#__PURE__*/e(o,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"string template\"})}),\" containing other motion 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(d,{...n,code:\"const x = useMotionValue(100)\\nconst transform = useMotionTemplate`transform(${x}px)`\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Whenever a motion value within the string template updates, the returned motion value will update with the latest value.\"}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"p\",{children:\"Import 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(d,{...n,code:'import { useMotionTemplate } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useMotionTemplate\"}),' is a \"tagged template\", so rather than being called like a normal function, it\\'s called as a string template:']}),/*#__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(d,{...n,code:\"useMotionValue``\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This string template can accept both text and other motion 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(d,{...n,code:\"const blur = useMotionValue(10)\\nconst saturate = useMotionValue(50)\\nconst filter = useMotionTemplate`blur(${10}px) saturate(${saturate}%)`\\n\\nreturn <motion.div style={{ filter }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"The latest value of the returned motion value will be the string template with each provided motion value replaced with 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(d,{...n,code:\"const shadowX = useSpring(0)\\nconst shadowY = useMotionValue(0)\\n\\nconst filter = useMotionTemplate`drop-shadow(${shadowX}px ${shadowY}px 20px rgba(0,0,0,0.3))`\\n\\nreturn <motion.div style={{ filter }} />\",language:\"JSX\"})})})]});export const richText9=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useMotionValueEvent\"}),\" manages a motion value event handler throughout the lifecycle of a React 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(d,{...n,code:'function Component() {\\n  const x = useMotionValue(0)\\n  \\n  useMotionValueEvent(x, \"animationStart\", () => {\\n    console.log(\"animation started on x\")\\n  })\\n  \\n  useMotionValueEvent(x, \"change\", (latest) => {\\n    console.log(\"x changed to\", latest)\\n  })\\n  \\n  return <motion.div style={{ x }} />\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"When the component is unmounted, event handlers will be safely cleaned up.\"}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"p\",{children:\"Import 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(d,{...n,code:'import { useMotionValueEvent } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"To add an event listener to a motion value, provide the value, event name and callback:\"}),/*#__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(d,{...n,code:'const color = useMotionValue(\"#00f\")\\n\\nuseMotionValueEvent(color, \"change\", (latest) => {\\n  console.log(latest)\\n})',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Available events are:\"}),/*#__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__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"change\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"animationStart\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"animationComplete\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"animationCancel\"})})})]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'\"change\"'}),\" events are provided the latest value of the motion value.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Advanced\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useMotionValueEvent\"}),\" is a helper function for a motion value's \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{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(r.a,{children:\"on\"})})}),/*#__PURE__*/e(o,{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(r.a,{children:\" method\"})}),\". With \",/*#__PURE__*/e(\"code\",{children:\"on\"}),\", you can start listening to events whenever you like, for instance within an event handler. But remember to also unsubscribe when the component unmounts.\"]}),/*#__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(d,{...n,code:'useEffect(() => {\\n  const doSomething = () => {}\\n  \\n  const unsubX = x.on(\"change\", doSomething)\\n  const unsubY = y.on(\"change\", doSomething)\\n  \\n  return () => {\\n    unsubX()\\n    unsubY()\\n  }\\n}, [x, y])',language:\"JSX\"})})})]});export const richText10=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\" is used to create scroll-linked animations, like progress indicators and parallax effects.\"]}),/*#__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(d,{...n,code:\"const { scrollYProgress } = useScroll()\\n\\nreturn <motion.div style={{ scaleX: scrollYProgress }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\" Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Import \",/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\" 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(d,{...n,code:'import { useScroll } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\" returns four \",/*#__PURE__*/e(o,{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(r.a,{children:\"motion values\"})}),\":\"]}),/*#__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:\"scrollX\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"Y\"}),\": The absolute scroll position, in pixels.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"scrollXProgress\"}),\"/\",/*#__PURE__*/e(\"code\",{children:\"YProgress\"}),\": The scroll position between the defined offsets, as a value between \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\".\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Page scroll\"}),/*#__PURE__*/e(\"p\",{children:\"By default, useScroll tracks the page scroll.\"}),/*#__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(d,{...n,code:'const { scrollY } = useScroll()\\n\\nuseMotionValueEvent(scrollY, \"change\", (latest) => {\\n  console.log(\"Page scroll: \", latest)\\n})',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"For example, we could show a page scroll indicator by passing \",/*#__PURE__*/e(\"code\",{children:\"scrollYProgress\"}),\" straight to the \",/*#__PURE__*/e(\"code\",{children:\"scaleX\"}),\" style of 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(d,{...n,code:\"const { scrollYProgress } = useScroll()\\n\\nreturn <motion.div style={{ scaleX: scrollYProgress }} />\",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(l,{...n,id:\"scroll-linked\",platform:\"react\"})})}),/*#__PURE__*/n(\"p\",{children:[\"As \",/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\" returns motion values, we can compose this scroll info with other motion value hooks like \",/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" and \",/*#__PURE__*/e(\"code\",{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(d,{...n,code:\"const { scrollYProgress } = useScroll()\\nconst scaleX = useSpring(scrollYProgress)\\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(l,{...n,id:\"scroll-linked-with-spring\",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(d,{...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__*/e(\"p\",{children:\"Perfect for triggering a sticky header animation!\"}),/*#__PURE__*/n(\"p\",{children:[\"~ Sam Selikoff, \",/*#__PURE__*/e(o,{href:\"https://buildui.com/courses/framer-motion-recipes\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"Motion for React Recipes\"})})]})]}),/*#__PURE__*/e(\"h3\",{children:\"Element scroll\"}),/*#__PURE__*/n(\"p\",{children:[\"To track the scroll position of a scrollable element we can pass the element's \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" to \",/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\"'s \",/*#__PURE__*/e(\"code\",{children:\"container\"}),\" option:\"]}),/*#__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(d,{...n,code:'const carouselRef = useRef(null)\\nconst { scrollX } = useScroll({\\n  container: carouselRef\\n})\\n\\nreturn (\\n  <div ref={carouselRef} style={{ overflow: \"scroll\" }}>\\n    {children}\\n  </div>\\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(l,{...n,id:\"scroll-container\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Element position\"}),/*#__PURE__*/n(\"p\",{children:[\"We can track the progress of an element as it moves within a container by passing its \",/*#__PURE__*/e(\"code\",{children:\"ref\"}),\" to the \",/*#__PURE__*/e(\"code\",{children:\"target\"}),\" option.\"]}),/*#__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(d,{...n,code:'const ref = useRef(null)\\nconst { scrollYProgress } = useScroll({\\n  target: ref,\\n  offset: [\"start end\", \"end end\"]\\n})\\n\\nreturn <div ref={ref}>',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"In this example, each item has its own progress indicator.\"}),/*#__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(l,{...n,id:\"scroll-track-element-in-viewport\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Scroll offsets\"}),/*#__PURE__*/n(\"p\",{children:[\"With \",/*#__PURE__*/e(o,{href:\"/docs/react-use-scroll#offset\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:\"/docs/react-use-scroll#offset\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"offset\"})})}),/*#__PURE__*/e(o,{href:\"/docs/react-use-scroll#offset\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" option\"})}),\" we can define which parts of the element we want to track with the viewport, for instance track elements as they enter in from the bottom, leave at the top, or travel throughout the whole viewport.\"]}),/*#__PURE__*/e(\"h2\",{children:\"API\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useScroll\"}),\" accepts the following options.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"container\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default\"}),\": Browser window\"]}),/*#__PURE__*/e(\"p\",{children:\"The scrollable container to track the scroll position of. By default, this is the window viewport. But it can be any scrollable element.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"target\"})}),/*#__PURE__*/e(\"p\",{children:\"By default, this is the scrollable area of the container. It can additionally be set as another element, to track its progress within the viewport.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"axis\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default: \"}),/*#__PURE__*/e(\"code\",{children:'\"y\"'})]}),/*#__PURE__*/n(\"p\",{children:[\"The scroll axis to apply \",/*#__PURE__*/e(\"code\",{children:\"offset\"}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"offset\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:'[\"start start\", \"end end\"]'})]}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"offset\"}),\" describes intersections, points where the \",/*#__PURE__*/e(\"code\",{children:\"target\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"container\"}),\" meet.\"]}),/*#__PURE__*/n(\"p\",{children:[\"For example, the intersection \",/*#__PURE__*/e(\"code\",{children:'\"start end\"'}),\" means when the \",/*#__PURE__*/e(\"strong\",{children:\"start of the target\"}),\" on the tracked axis meets the \",/*#__PURE__*/e(\"strong\",{children:\"end of the container.\"})]}),/*#__PURE__*/n(\"p\",{children:[\"So if the target is an element, the container is the window, and we're tracking the vertical axis then \",/*#__PURE__*/e(\"code\",{children:'\"start end\"'}),\" is where the \",/*#__PURE__*/e(\"strong\",{children:\"top of the element\"}),\" meets \",/*#__PURE__*/e(\"strong\",{children:\"the bottom of the viewport\"}),\".\"]}),/*#__PURE__*/e(\"h4\",{children:\"Accepted intersections\"}),/*#__PURE__*/e(\"p\",{children:\"Both target and container points can be defined as:\"}),/*#__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(\"strong\",{children:\"Number:\"}),\" A value where \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" represents the start of the axis and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" represents the end. So to define the top of the target with the middle of the container you could define \",/*#__PURE__*/e(\"code\",{children:'\"0 0.5\"'}),\". Values outside this range are permitted.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Names:\"}),\" \",/*#__PURE__*/e(\"code\",{children:'\"start\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"center\"'}),\" and \",/*#__PURE__*/e(\"code\",{children:'\"end\"'}),\" can be used as clear shortcuts for \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"0.5\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" respectively.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pixels:\"}),\" Pixel values like \",/*#__PURE__*/e(\"code\",{children:'\"100px\"'}),\", \",/*#__PURE__*/e(\"code\",{children:'\"-50px\"'}),\" will be defined as that number of pixels from the start of the target/container.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Percent:\"}),\" Same as raw numbers but expressed as \",/*#__PURE__*/e(\"code\",{children:'\"0%\"'}),\" to \",/*#__PURE__*/e(\"code\",{children:'\"100%\"'}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Viewport:\"}),\" \",/*#__PURE__*/e(\"code\",{children:'\"vh\"'}),\" and \",/*#__PURE__*/e(\"code\",{children:'\"vw\"'}),\" units are accepted.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:\"Examples\"}),/*#__PURE__*/e(\"h3\",{children:\"React Three Fiber\"}),/*#__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(a,{...n,id:\"xibe0t\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Scroll velocity\"}),/*#__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(a,{...n,id:\"r1dy4u\"})})})]});export const richText11=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useSpring\"}),\" creates \",/*#__PURE__*/e(o,{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(r.a,{children:\"a motion value\"})}),\" that will animate to its latest target with a spring animation.\"]}),/*#__PURE__*/n(\"p\",{children:[\"The target can either be set manually via \",/*#__PURE__*/e(\"code\",{children:\".set\"}),\", or automatically by passing in another motion value.\"]}),/*#__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(l,{...n,id:\"follow-pointer-with-spring\",platform:\"react\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Import \",/*#__PURE__*/e(\"code\",{children:\"useSpring\"}),\" 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(d,{...n,code:'import { useSpring } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Direct control\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useSpring\"}),\" can be created with a number, or a unit-type (\",/*#__PURE__*/e(\"code\",{children:\"px\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"%\"}),\" etc) 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(d,{...n,code:'const x = useSpring(0)\\nconst y = useSpring(\"100vh\")',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Now, whenever this motion value is updated via \",/*#__PURE__*/e(\"code\",{children:\"set()\"}),\", the value will animate to its new target with the defined 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(d,{...n,code:'x.set(100)\\ny.set(\"50vh\")',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"It's also possible to update this value immediately, without a spring, with \",/*#__PURE__*/e(o,{href:\"/docs/react-motion-value#jump\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:\"/docs/react-motion-value#jump\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"jump()\"})})}),/*#__PURE__*/e(o,{href:\"/docs/react-motion-value#jump\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" method\"})}),\".\"]}),/*#__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(d,{...n,code:'x.jump(50)\\ny.jump(\"0vh\")',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Track another motion value\"}),/*#__PURE__*/e(\"p\",{children:\"Its also possible to automatically spring towards the latest value of another motion 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(d,{...n,code:\"const x = useMotionValue(0)\\nconst y = useSpring(x)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This source motion value must also be a number, or unit-type string.\"}),/*#__PURE__*/e(\"h3\",{children:\"Transition\"}),/*#__PURE__*/n(\"p\",{children:[\"The type of \",/*#__PURE__*/e(\"code\",{children:\"spring\"}),\" can be defined with the usual \",/*#__PURE__*/e(o,{href:\"/docs/react-transitions#spring\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"spring transition option\"})}),\".\"]}),/*#__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(d,{...n,code:\"useSpring(0, { stiffness: 300 })\",language:\"JSX\"})})})]});export const richText12=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useTime\"}),\" returns a \",/*#__PURE__*/e(o,{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(r.a,{children:\"motion value\"})}),\" that updates once per frame with the duration, in milliseconds, since it was first created. \"]}),/*#__PURE__*/e(\"p\",{children:\"This is especially useful in generating perpetual 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(d,{...n,code:\"const time = useTime();\\nconst rotate = useTransform(time, [0, 4000], [0, 360], { clamp: false });\\n\\nreturn <motion.div style={{ rotate }} />\",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(l,{...n,id:\"use-time\",platform:\"react\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"p\",{children:\"Import 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(d,{...n,code:'import { useTime } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"When called, \",/*#__PURE__*/e(\"code\",{children:\"useTime\"}),\" will create a new motion value. This value will update every frame with the time since its creation.\"]}),/*#__PURE__*/e(\"p\",{children:\"You can use this either directly or by composing with other motion value hooks.\"}),/*#__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(d,{...n,code:\"const time = useTime()\\nconst rotate = useTransform(\\n  time,\\n  [0, 4000], // For every 4 seconds...\\n  [0, 360], // ...rotate 360deg\\n  { clamp: false }\\n)\",language:\"JSX\"})})})]});export const richText13=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" creates a new motion value that transforms the output of one or more motion 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(d,{...n,code:\"const x = useMotionValue(1)\\nconst y = useMotionValue(1)\\n\\nconst z = useTransform(() => x.get() + y.get()) // z.get() === 2\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/e(\"p\",{children:\"Import 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(d,{...n,code:'import { useTransform } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" can be used in two ways: with a transform function and via value maps:\"]}),/*#__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(d,{...n,code:'// Transform function\\nuseTransform(() => x.get() * 2)\\n\\n// Value mapping\\nuseTransform(x, [0, 100], [\"#f00\", \"00f\"])',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Transform function\"}),/*#__PURE__*/e(\"p\",{children:\"A transform function is a normal function that returns a 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(d,{...n,code:\"useTransform(() => x.get() * 2)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Any motion values read in this function via the \",/*#__PURE__*/e(\"code\",{children:\"get()\"}),\" method will be automatically subscribed to.\"]}),/*#__PURE__*/e(\"p\",{children:\"When these motion values change, the function will be run again on the next animation frame to calculate a new 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(d,{...n,code:\"const distance = 100\\nconst time = useTime()\\nconst y = useTransform(() => Math.sin(time.get() / 1000) * distance)\",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(l,{...n,id:\"use-transform\",platform:\"react\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Value mapping\"}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" can also map a single motion value from one range of values to another.\"]}),/*#__PURE__*/n(\"p\",{children:[\"To illustrate, look at this \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" motion 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(d,{...n,code:\"const x = useMotionValue(0)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"We can use \",/*#__PURE__*/e(\"code\",{children:\"useTransform\"}),\" to create a new motion value called \",/*#__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(d,{...n,code:\"const opacity = useTransform(x, input, output)\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"By defining an \",/*#__PURE__*/e(\"code\",{children:\"input\"}),\" range and an \",/*#__PURE__*/e(\"code\",{children:\"output\"}),' range, we can define relationships like \"when ',/*#__PURE__*/e(\"code\",{children:\"x\"}),\" is \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"opacity\"}),\" should be \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\". When \",/*#__PURE__*/e(\"code\",{children:\"x\"}),\" is \",/*#__PURE__*/e(\"code\",{children:\"100\"}),\" pixels either side, \",/*#__PURE__*/e(\"code\",{children:\"opacity\"}),\" should be \",/*#__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(d,{...n,code:\"const input = [-100, 0, 100]\\nconst output = [0, 1, 0]\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Both ranges can be \",/*#__PURE__*/e(\"strong\",{children:\"any length\"}),\" but must be the \",/*#__PURE__*/e(\"strong\",{children:\"same length\"}),\" as each other.\"]}),/*#__PURE__*/e(\"p\",{children:\"The input range must always be a series of increasing or decreasing numbers.\"}),/*#__PURE__*/n(\"p\",{children:[\"The output range must be values all of the same type, but can be in any order. It can also be any \",/*#__PURE__*/e(o,{href:\"/docs/react-animation#animatable-values\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"value type that Motion can animate\"})}),\", like numbers, units, colors and other strings.\"]}),/*#__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(d,{...n,code:'const backgroundColor = useTransform(\\n  x,\\n  [0, 100],\\n  [\"#f00\", \"#00f\"]\\n)',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"By setting \",/*#__PURE__*/e(\"code\",{children:\"clamp: false\"}),\", the ranges will map perpetually. For instance, in this example we're saying \\\"for every \",/*#__PURE__*/e(\"code\",{children:\"100px\"}),\" scrolled, rotate another \",/*#__PURE__*/e(\"code\",{children:\"360deg\"}),'\":']}),/*#__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(d,{...n,code:\"const { scrollY } = useScroll()\\nconst rotate = useTransform(\\n  scrollY,\\n  [0, 100],\\n  [0, 360],\\n  { clamp: false }\\n)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Options\"}),/*#__PURE__*/e(\"p\",{children:\"With value mapping, we can set some additional options.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"clamp\"})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default:\"}),\" \",/*#__PURE__*/e(\"code\",{children:\"true\"})]}),/*#__PURE__*/n(\"p\",{children:[\"If \",/*#__PURE__*/e(\"code\",{children:\"true\"}),\", will clamp output to within the provided range. If \",/*#__PURE__*/e(\"code\",{children:\"false\"}),\", will carry on mapping even when the input falls outside the provided range.\"]}),/*#__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(d,{...n,code:\"const y = useTransform(x, [0, 1], [0, 2])\\nconst z = useTransform(x, [0, 1], [0, 2], { clamp: false })\\n\\nuseEffect(() => {\\n  x.set(2)\\n  console.log(y.get()) // 2, input clamped\\n  console.log(z.get()) // 4\\n})\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"ease\"})}),/*#__PURE__*/e(\"p\",{children:\"An easing function, or array of easing functions, to ease the mixing between each value.\"}),/*#__PURE__*/e(\"p\",{children:\"These must be JavaScript functions.\"}),/*#__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(d,{...n,code:'import { cubicBezier, circOut } from \"motion\"\\nimport { useTransform } from \"motion/react\"\\n\\n// In your component\\nconst y = useTransform(x, [0, 1], [0, 2], { ease: circOut })\\n\\nconst z = useTransform(\\n  x,\\n  [0, 1],\\n  [0, 2],\\n  { ease: cubicBezier(0.17, 0.67, 0.83, 0.67) }\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"code\",{children:\"mixer\"})}),/*#__PURE__*/e(\"p\",{children:\"A function to use to mix between each pair of output values.\"}),/*#__PURE__*/n(\"p\",{children:[\"This function will be called with each pair of output values and must return a new function, that accepts a progress value between \",/*#__PURE__*/e(\"code\",{children:\"0\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"1\"}),\" and returns the mixed value.\"]}),/*#__PURE__*/n(\"p\",{children:[\"This can be used to inject more advanced mixers than Framer Motion's default, for instance \",/*#__PURE__*/e(o,{href:\"https://github.com/veltman/flubber\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"Flubber\"})}),\" for morphing SVG paths.\"]}),/*#__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(l,{...n,id:\"path-morphing\",platform:\"react\"})})})]});export const richText14=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"useVelocity\"}),\" accepts a \",/*#__PURE__*/e(o,{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(r.a,{children:\"motion value\"})}),\" and returns a new one that updates with the provided motion value's velocity.\"]}),/*#__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(d,{...n,code:'const x = useMotionValue(0)\\nconst xVelocity = useVelocity(x)\\nconst scale = useTransform(\\n  xVelocity,\\n  [-3000, 0, 3000],\\n  [2, 1, 2],\\n  { clamp: false }\\n)\\n\\nreturn <motion.div drag=\"x\" style={{ x, scale }} />',language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Import \",/*#__PURE__*/e(\"code\",{children:\"useVelocity\"}),\" 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(d,{...n,code:'import { useVelocity } from \"motion/react\"',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Pass any numerical motion value to \",/*#__PURE__*/e(\"code\",{children:\"useVelocity\"}),\". It'll return a new motion value that updates with the velocity of the original 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(d,{...n,code:'import { useMotionValue, useVelocity } from \"framer-motion\"\\n\\nfunction Component() {\\n  const x = useMotionValue(0)\\n  const xVelocity = useVelocity(x)\\n\\n  useMotionValueEvent(xVelocity, \"change\", latest => {\\n    console.log(\"Velocity\", latestVelocity)\\n  })\\n  \\n  return <motion.div style={{ x }} />\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Any numerical motion value will work. Even one returned from \",/*#__PURE__*/e(\"code\",{children:\"useVelocity\"}),\".\"]}),/*#__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(d,{...n,code:\"const x = useMotionValue(0)\\nconst xVelocity = useVelocity(x)\\nconst xAcceleration = useVelocity(xVelocity)\",language:\"JSX\"})})})]});export const richText15=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Motion for React Three Fiber is a simple yet powerful 3D animation library. It offers most of the same functionality as Motion for React, but for declarative 3D scenes.\"}),/*#__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(a,{...n,id:\"ke8wx\"})})}),/*#__PURE__*/n(\"p\",{children:[\"This guide will help you create animations with Motion for React Three Fiber, but assumes you know the basics of both \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-quick-start\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"SRWZjVoPE\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"Motion for React\"})}),\" and \",/*#__PURE__*/e(o,{href:\"https://docs.pmnd.rs/react-three-fiber/getting-started/introduction\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"React Three Fiber\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"Install\"}),/*#__PURE__*/n(\"p\",{children:[\"Motion for React Three Fiber is built upon the \",/*#__PURE__*/e(o,{href:\"https://threejs.org/\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"Three.js\"})}),\" and \",/*#__PURE__*/e(o,{href:\"https://docs.pmnd.rs/react-three-fiber/getting-started/introduction\",motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"React Three Fiber\"})}),\" (R3F) libraries. Install all three from 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(d,{...n,code:\"npm install three@0.137.0 @react-three/fiber@8.2.2 framer-motion-3d@11.2.0\",language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Warning:\"}),\" Motion for React Three Fiber is currently only compatible with React 18.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"h3\",{children:[/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components\"]}),/*#__PURE__*/n(\"p\",{children:[\"For every R3F component, there's a \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" equivalent. Import \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" from \",/*#__PURE__*/e(\"code\",{children:'\"framer-motion-3d\"'}),\":\"]}),/*#__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(d,{...n,code:'import { motion } from \"framer-motion-3d\"',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"And use in place of your R3F 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(d,{...n,code:\"<motion.pointLight animate={{ x: 2 }} />\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Animation\"}),/*#__PURE__*/n(\"p\",{children:[\"Motion for R3F supports all the same \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-motion-component\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"AN1zdEDXH\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"animation\"})}),\" options as usual, including the \",/*#__PURE__*/e(\"code\",{children:\"initial\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"animate\"}),\" props, \",/*#__PURE__*/e(\"code\",{children:\"exit\"}),\" and 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(d,{...n,code:'const variants = {\\n  hidden: { opacity: 0 },\\n  visible: { opacity: 1 },\\n}\\n\\nreturn (\\n  <motion.meshStandardMaterial\\n    initial=\"hidden\"\\n    animate=\"visible\"\\n    variants={variants}\\n  />\\n)',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Currently, variants can't be automatically passed between the DOM and 3D worlds, but you can still share state to achieve similar results:\"}),/*#__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(d,{...n,code:'// index.js\\nimport { motion } from \"framer-motion\"\\nimport { Scene } from \"./scene\"\\n\\nexport function App() {\\n  const [isHovered, setIsHovered] = useState(false)\\n  \\n  return (\\n    <motion.div\\n      whileHover={{ scale: 1.2 }}\\n      onHoverStart={() => setIsHovered(true)}\\n      onHoverEnd={() => setIsHovered(true)}\\n    >\\n      <Scene isHovered={isHovered} />\\n    </motion.div>\\n  )\\n}\\n\\n// scene.js\\nimport { Canvas } from \"@react-three/fiber\"\\nimport { motion } from \"framer-motion-3d\"\\n\\nexport function Scene({ isHovered }) {\\n  return (\\n    <Canvas>\\n      <motion.group animate={isHovered ? \"hover\" : \"rest\"}>\\n        <motion.mesh variants={{ hover: { z: 1 } }} />\\n      </motion.group>\\n    </Canvas>\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Supported values\"}),/*#__PURE__*/n(\"p\",{children:[\"3D \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components support most of the the same transforms as their 2D equivalents:\"]}),/*#__PURE__*/n(\"ul\",{style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"-0.072px\",\"--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:\"x\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"y\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"z\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"scale\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"scaleX\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"scaleY\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"scaleZ\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-line-height\":\"1.6em\"},children:/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"rotateX\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"rotateY\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"rotateZ\"})]})})]}),/*#__PURE__*/n(\"p\",{children:[\"Additionally, \",/*#__PURE__*/e(\"code\",{children:\"color\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"opacity\"}),\" are supported on 3D primitives that support them, like \",/*#__PURE__*/e(\"code\",{children:\"meshStandardMaterial\"}),\", with support for more values coming in the near future.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Gestures\"}),/*#__PURE__*/n(\"p\",{children:[\"3D \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components support the hover and tap \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-gestures\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"KmPr24ky4\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"gestures\"})}),\" on R3F with a physical presence (like \",/*#__PURE__*/e(\"code\",{children:\"mesh\"}),\").\"]}),/*#__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(d,{...n,code:\"<motion.mesh\\n  whileHover={{ scale: 1.1 }}\\n  whileTap={{ scale: 0.9 }}\\n  onHoverStart={() => console.log('hover start')}\\n  onTap={() => console.log('tapped!')}\\n/>\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Motion values\"}),/*#__PURE__*/e(\"p\",{children:\"Motion values are used to track the state and velocity of animating values, outside of React's render lifecycle.\"}),/*#__PURE__*/n(\"p\",{children:[\"With 3D \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" components, motion values are injected via their R3F attribute:\"]}),/*#__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(d,{...n,code:'import { useMotionValue, useTransform } from \"framer-motion\"\\nimport { motion } from \"framer-motion-3d\"\\n\\nexport function Box() {\\n  const x = useMotionValue(0)\\n  const scaleZ = useTransform(x, v => v / 100)\\n  \\n  return (\\n    <motion.mesh\\n      position-x={x}\\n      scale={[1, 1, scaleZ]}\\n      animate={{ x: 100 }} \\n    />\\n  )\\n}',language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Layout animations\"}),/*#__PURE__*/n(\"p\",{children:[\"Images, and therefore 3D scenes, involved in layout animations can exhibit scale distortion. With the\",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-layout-cameras\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"BBhhzzdk0\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-layout-cameras\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"BBhhzzdk0\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"LayoutCamera\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-layout-cameras\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"BBhhzzdk0\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" and \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-layout-cameras\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"BBhhzzdk0\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"LayoutOrthographicCamera\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-layout-cameras\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"BBhhzzdk0\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" components \"})}),\"this distortion can be corrected and the 3D scene can be incorporated into the layout animation naturally.\"]}),/*#__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(a,{...n,id:\"i84e3\"})})})]});export const richText16=/*#__PURE__*/n(i.Fragment,{children:[/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"LayoutCamera\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"LayoutOrthographicCamera\"}),\" allow us to involve React Three Fiber scenes in Motion's \",/*#__PURE__*/e(o,{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(r.a,{children:\"layout animations\"})}),\".\"]}),/*#__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(a,{...n,id:\"i84e3\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Usage\"}),/*#__PURE__*/n(\"p\",{children:[\"Motion's \",/*#__PURE__*/e(o,{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(r.a,{children:\"layout animations\"})}),\" work via the \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" style. A drawback to animating \",/*#__PURE__*/e(\"code\",{children:\"width\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"height\"}),\" via \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" is imagery can become distorted.\"]}),/*#__PURE__*/n(\"p\",{children:[\"When involving a React Three Fiber scene into a layout animation, we can use Motion's \",/*#__PURE__*/e(\"code\",{children:\"LayoutCamera\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"LayoutOrthographicCamera\"}),\" components to pre-distort a 3D scene so that when the CSS \",/*#__PURE__*/e(\"code\",{children:\"transform\"}),\" is applied to the host \",/*#__PURE__*/e(\"code\",{children:\"canvas\"}),\" element, it looks correct throughout the animation.\"]}),/*#__PURE__*/n(\"p\",{children:[\"To implement a camera, we first nee to replace \",/*#__PURE__*/e(\"code\",{children:\"Canvas\"}),\" from \",/*#__PURE__*/e(\"code\",{children:\"@react-three/fiber\"}),\" with \",/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-motion-canvas\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"uMF4iQ2GX\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"the \"})}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-motion-canvas\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"uMF4iQ2GX\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"MotionCanvas\"})})}),/*#__PURE__*/e(o,{href:{pathVariables:{sg3kghrCF:\"react-three-fiber-motion-canvas\"},unresolvedPathSlugs:{sg3kghrCF:{collectionId:\"AaN8oZOpy\",collectionItemId:\"uMF4iQ2GX\"}},webPageId:\"MtVxH2FBo\"},motionChild:!0,nodeId:\"AaN8oZOpy\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\" component\"})}),\". Then, one of the camera components can be added anywhere within the scene:\"]}),/*#__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(d,{...n,code:'import { MotionCanvas, LayoutCamera } from \"framer-motion\"\\n\\nfunction Scene() {\\n  <MotionCanvas>\\n    <LayoutCamera />\\n    <Box />\\n  </MotionCanvas>\\n}',language:\"JSX\"})})}),/*#__PURE__*/n(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"LayoutCamera\"}),\" provides a normal perspective camera: \"]}),/*#__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(a,{...n,id:\"i84e3\"})})}),/*#__PURE__*/n(\"p\",{children:[\"Whereas \",/*#__PURE__*/e(\"code\",{children:\"LayoutOrthographicCamera\"}),\" provides an orthographic view:\"]}),/*#__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(a,{...n,id:\"txys2\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Props\"}),/*#__PURE__*/n(\"p\",{children:[\"Internally, \",/*#__PURE__*/e(\"code\",{children:\"LayoutCamera\"}),\" renders a \",/*#__PURE__*/e(\"code\",{children:\"<motion.perspectiveCamera />\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"LayoutOrthographicCamera\"}),\" renders a \",/*#__PURE__*/e(\"code\",{children:\"<motion.orthographicCamera />\"}),\" component, so they can accept all the usual React Three Fiber props like \",/*#__PURE__*/e(\"code\",{children:\"position\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"zoom\"}),\", as well as \",/*#__PURE__*/e(\"code\",{children:\"motion\"}),\" props like \",/*#__PURE__*/e(\"code\",{children:\"initial\"}),\" and \",/*#__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(d,{...n,code:\"<LayoutCamera\\n  position={[0, 0, 5]}\\n  zoom={20}\\n  animate={{ zoom: 100 }}\\n  transition={{ duration: 2 }}\\n/>\",language:\"JSX\"})})})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText14\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText15\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText13\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText16\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}