--- // Interactive island template. Use ONLY when the component genuinely needs // client-side behaviour, and write the justification in your PR description. // // Islands are LEAVES. Do not wrap static children that could have been // server-rendered — hydrate the tab panel, not the page. // // Hydration preference, in order: // (none) → client:visible → client:idle → client:load // // Usage: interface Props { items: { id: string; label: string; body: string }[]; initialId?: string; } const { items, initialId = items[0]?.id } = Astro.props; ---
{items.map((item) => ( ))}
{items.map((item) => ( ))}