{"version":3,"file":"8419f879.js","sources":["../../../src/components/base/accordion/AccordionItem.client.tsx"],"sourcesContent":["/**\n * Product Tab\n */\nimport React from 'react';\nimport reactDom from 'react-dom/client';\nimport {forwardRef, ForwardedRef, useEffect, useState} from 'react';\n\nconst AccordionItem = forwardRef(\n (\n {\n id,\n isOpen,\n children,\n timing = '500ms',\n easing = 'ease-in-out',\n }: {\n id: string;\n isOpen: boolean;\n children: React.ReactNode;\n timing?: string;\n easing?: string;\n },\n ref: ForwardedRef,\n ) => {\n const portalEl = ref;\n const [itemHeight, setItemHeight] = useState(0);\n\n useEffect(() => {\n if (!isOpen) return;\n\n /**\n * Handle Component Resize\n */\n function handleComponentResize() {\n const wrapper = document.createElement('div');\n wrapper.id = `rootTemp-${id}`;\n // @ts-ignore\n if (portalEl && portalEl?.current) {\n // @ts-ignore\n portalEl.current.appendChild(wrapper);\n } else {\n document.body.appendChild(wrapper);\n }\n const wrapperRoot = reactDom.createRoot(wrapper);\n\n /**\n * Set Height Callback\n * @param {Object} $el element\n */\n const setHeightCallback = ($el: HTMLElement) => {\n const height = $el.offsetHeight || 0;\n setItemHeight(height);\n wrapper.remove();\n };\n\n wrapperRoot.render();\n }\n\n // set listener and call function for initial resize\n window.addEventListener('resize', handleComponentResize);\n handleComponentResize();\n\n // remove listener on cleanup\n return () => window.removeEventListener('resize', handleComponentResize);\n }, [isOpen]);\n\n /**\n * Height Wrapper\n * @returns jsx\n */\n const HeightWrapper = ({callback}: {callback: any}) => (\n \n {children}\n \n );\n\n return (\n \n {children}\n \n );\n },\n);\n\nexport default AccordionItem;\n"],"names":["AccordionItem","forwardRef","id","isOpen","children","timing","easing","ref","portalEl","itemHeight","setItemHeight","useState","useEffect","handleComponentResize","wrapper","document","createElement","current","appendChild","body","wrapperRoot","reactDom","createRoot","setHeightCallback","$el","height","offsetHeight","remove","render","HeightWrapper","addEventListener","window","removeEventListener","callback","opacity","transition","transitionDuration","transitionTimingany","AccordionItem$1"],"mappings":"sDAOA,MAAMA,EAAgBC,qBACpB,CACE,CACEC,GAAAA,EACAC,OAAAA,EACAC,SAAAA,EACAC,OAAAA,EAAS,QACTC,OAAAA,EAAS,aAOX,EACAC,IACG,CACH,MAAMC,EAAWD,EACX,CAACE,EAAYC,CAAa,EAAIC,mBAAS,CAAC,EAE9CC,EAAAA,QAAAA,UAAU,IAAM,CACd,GAAI,CAACT,EAAQ,OAKb,SAASU,GAAwB,CACzBC,MAAAA,EAAUC,SAASC,cAAc,KAAK,EAC5CF,EAAQZ,GAAM,YAAWA,IAErBM,IAAYA,GAAAA,YAAAA,EAAUS,SAEfA,EAAAA,QAAQC,YAAYJ,CAAO,EAE3BK,SAAAA,KAAKD,YAAYJ,CAAO,EAE7BM,MAAAA,EAAcC,EAASC,WAAWR,CAAO,EAMzCS,EAAqBC,GAAqB,CACxCC,MAAAA,EAASD,EAAIE,cAAgB,EACnChB,EAAce,CAAM,EACpBX,EAAQa,OAAQ,CAAA,EAGNC,EAAAA,SAAQC,EAAa,CAAC,SAAUN,CAAkB,CAAA,CAAG,CACnE,CAGOO,cAAAA,iBAAiB,SAAUjB,CAAqB,EAChCA,IAGhB,IAAMkB,OAAOC,oBAAoB,SAAUnB,CAAqB,CAAA,EACtE,CAACV,CAAM,CAAC,EAMX,MAAM0B,EAAgB,CAAC,CAACI,SAAAA,CAAAA,MACtB,MAAA,CAEE,IAAKA,EACL,UAAU,0CAAyC,SAAA7B,CAAA,CAItD,EAED,SACE,MAAA,CACE,MAAO,CACLqB,OAAQtB,EAASM,EAAa,KAAO,MACrCyB,QAAS/B,EAAS,EAAI,EACtBgC,WAAY,MACZC,mBAAoB/B,EAEpBgC,oBAAqB/B,CACvB,EACA,UAAU,yBAAwB,SAAAF,CAAA,CAG9B,CAEV,CAAC,EAGH,IAAAkC,EAAetC"}