diff --git a/dev/tests/animate-presence-remove.tsx b/dev/tests/animate-presence-remove.tsx
new file mode 100644
index 0000000000..319ad2f583
--- /dev/null
+++ b/dev/tests/animate-presence-remove.tsx
@@ -0,0 +1,45 @@
+import { AnimatePresence, motion } from "framer-motion"
+import * as React from "react"
+import { useState } from "react"
+import styled from "styled-components"
+
+const Container = styled.section`
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ padding: 100px;
+
+ div {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ }
+`
+
+const Box = ({ id }: { id: number }) => {
+ return (
+
+ )
+}
+
+export const App = () => {
+ const [range, setRange] = useState([0, 1, 2])
+
+ return (
+
+
+
+ {range.map((i) => (
+
+ ))}
+
+
+ )
+}
diff --git a/packages/framer-motion/cypress/integration/animate-presence-remove.ts b/packages/framer-motion/cypress/integration/animate-presence-remove.ts
new file mode 100644
index 0000000000..f6f0b4532c
--- /dev/null
+++ b/packages/framer-motion/cypress/integration/animate-presence-remove.ts
@@ -0,0 +1,15 @@
+describe("AnimatePresence", () => {
+ it("Ensures all elements are removed", () => {
+ cy.visit("?test=animate-presence-remove")
+ .wait(50)
+ .get("#remove")
+ .trigger("click", 1, 1, { force: true })
+ .wait(100)
+ .trigger("click", 1, 1, { force: true })
+ .wait(700)
+ .get(".box")
+ .should((results) => {
+ expect(results.length).to.equal(1)
+ })
+ })
+})
diff --git a/yarn.lock b/yarn.lock
index 97827d46d5..83e265e32f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7844,8 +7844,8 @@ __metadata:
cache-loader: ^1.2.5
convert-tsconfig-paths-to-webpack-aliases: ^0.9.2
fork-ts-checker-webpack-plugin: ^6.2.0
- framer-motion: ^10.12.8
- framer-motion-3d: ^10.12.8
+ framer-motion: ^10.12.9
+ framer-motion-3d: ^10.12.9
path-browserify: ^1.0.1
react: ^18.2.0
react-dom: ^18.2.0
@@ -7911,14 +7911,14 @@ __metadata:
languageName: unknown
linkType: soft
-"framer-motion-3d@^10.12.8, framer-motion-3d@workspace:packages/framer-motion-3d":
+"framer-motion-3d@^10.12.9, framer-motion-3d@workspace:packages/framer-motion-3d":
version: 0.0.0-use.local
resolution: "framer-motion-3d@workspace:packages/framer-motion-3d"
dependencies:
"@react-three/fiber": ^8.2.2
"@react-three/test-renderer": ^9.0.0
"@rollup/plugin-commonjs": ^22.0.1
- framer-motion: ^10.12.8
+ framer-motion: ^10.12.9
react-merge-refs: ^2.0.1
peerDependencies:
"@react-three/fiber": ^8.2.2
@@ -7928,7 +7928,7 @@ __metadata:
languageName: unknown
linkType: soft
-"framer-motion@^10.12.8, framer-motion@workspace:packages/framer-motion":
+"framer-motion@^10.12.9, framer-motion@workspace:packages/framer-motion":
version: 0.0.0-use.local
resolution: "framer-motion@workspace:packages/framer-motion"
dependencies: