import React from 'react'; import { ChevronDown, ChevronUp } from '../../icons'; /** Pill-style tag chip used throughout the AttackerDetail surface * for badges, filters, and category labels. Color drives both the * border and a 15%-alpha fill (the suffix is hex alpha). */ export const Tag: React.FC<{ children: React.ReactNode; color?: string }> = ({ children, color, }) => ( {children} ); /** Collapsible panel used by every section on the AttackerDetail page. * The header is the toggle; an optional `right` slot hosts controls * (filters, action buttons) whose clicks are stopped from bubbling * to the toggle handler. */ export const Section: React.FC<{ title: React.ReactNode; right?: React.ReactNode; open: boolean; onToggle: () => void; children: React.ReactNode; }> = ({ title, right, open, onToggle, children }) => (
{open ? : }

{title}

{right &&
e.stopPropagation()}>{right}
}
{open && children}
);