import{j as r,I as w,H as v,T as u,l as p,m as N}from"./vendor-ui-Di8ht53r.js";import{r as a}from"./vendor-react-CQmvUQ48.js";import{l as i,C as b}from"./index-dhtZamXm.js";const C=N,j=a.forwardRef(({className:s,...e},t)=>r.jsx(w,{ref:t,className:i("border-b",s),...e}));j.displayName="AccordionItem";const I=a.forwardRef(({className:s,children:e,...t},n)=>r.jsx(v,{className:"flex",children:r.jsxs(u,{ref:n,className:i("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",s),...t,children:[e,r.jsx(b,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));I.displayName=u.displayName;const y=a.forwardRef(({className:s,children:e,...t},n)=>r.jsx(p,{ref:n,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...t,children:r.jsx("div",{className:i("pb-4 pt-0",s),children:e})}));y.displayName=p.displayName;const E=({children:s,rootMargin:e="100px",placeholderHeight:t="auto",className:n,fallback:x})=>{const[c,d]=a.useState(!1),l=a.useRef(null);return a.useEffect(()=>{const m=l.current;if(!m)return;if(!("IntersectionObserver"in window)){d(!0);return}const o=new IntersectionObserver(h=>{h.forEach(f=>{f.isIntersecting&&(d(!0),o.unobserve(f.target))})},{rootMargin:e,threshold:0});return o.observe(m),()=>{o.disconnect()}},[e]),r.jsx("div",{ref:l,className:n,style:{minHeight:c?void 0:t},children:c?s:x})};export{C as A,E as L,j as a,I as b,y as c};