11'use client' ;
22
3- import { AnimatePresence , LazyMotion , m } from 'framer-motion' ;
3+ import { LazyMotion , m } from 'framer-motion' ;
44import { KeyboardEvent , memo , useCallback , useMemo } from 'react' ;
55import { Flexbox } from 'react-layout-kit' ;
66
@@ -125,7 +125,7 @@ const AccordionItem = memo<AccordionItemProps>(
125125 ( ) => ( {
126126 animate : isOpen ? 'enter' : 'exit' ,
127127 exit : 'exit' ,
128- initial : 'exit' ,
128+ initial : false ,
129129 variants : {
130130 enter : {
131131 height : 'auto' ,
@@ -151,7 +151,7 @@ const AccordionItem = memo<AccordionItemProps>(
151151
152152 // Render content
153153 const contentElement = useMemo ( ( ) => {
154- if ( disableAnimation ) {
154+ if ( disableAnimation || ! keepContentMounted ) {
155155 if ( keepContentMounted ) {
156156 return (
157157 < div
@@ -180,7 +180,7 @@ const AccordionItem = memo<AccordionItemProps>(
180180 ) ;
181181 }
182182
183- return keepContentMounted ? (
183+ return (
184184 < LazyMotion features = { loadFeatures } >
185185 < m . div { ...motionProps } style = { { overflow : 'hidden' } } >
186186 < div
@@ -192,22 +192,6 @@ const AccordionItem = memo<AccordionItemProps>(
192192 </ div >
193193 </ m . div >
194194 </ LazyMotion >
195- ) : (
196- < AnimatePresence initial = { false } >
197- { isOpen && (
198- < LazyMotion features = { loadFeatures } >
199- < m . div { ...motionProps } style = { { overflow : 'hidden' } } >
200- < div
201- className = { cx ( 'accordion-content' , styles . content , classNames ?. content ) }
202- role = "region"
203- style = { customStyles ?. content }
204- >
205- < div className = { styles . contentInner } > { children } </ div >
206- </ div >
207- </ m . div >
208- </ LazyMotion >
209- ) }
210- </ AnimatePresence >
211195 ) ;
212196 } , [
213197 disableAnimation ,
0 commit comments