import React, { useEffect, useId, useState } from 'react' export default function DocsFaqAccordion({ items, initialOpenIndex = 0, renderAnswer }) { const [openIndex, setOpenIndex] = useState(items.length > 0 ? initialOpenIndex : -1) const baseId = useId() useEffect(() => { setOpenIndex(items.length > 0 ? Math.min(initialOpenIndex, items.length - 1) : -1) }, [items.length, initialOpenIndex]) return (
{items.map((item, index) => { const buttonId = `${baseId}-button-${index}` const panelId = `${baseId}-panel-${index}` const isOpen = openIndex === index const answerContent = renderAnswer ? renderAnswer(item) : item.answer return (

{typeof answerContent === 'string' ? (

{answerContent}

) : (
{answerContent}
)}
) })}
) }