// Pill: small rounded label chip (view switcher tabs, filters, badges). import type { ButtonHTMLAttributes, ReactNode } from 'react' import clsx from 'clsx' import css from './Pill.module.css' /** * Render a pill chip. Interactive when onClick is supplied (renders a button); * otherwise a static span. * @param props.active - selected/active visual state. * @returns pill element. */ export function Pill({ active = false, className, children, onClick, ...rest }: { active?: boolean // `| undefined` so a caller can forward an optional class straight through // under exactOptionalPropertyTypes (a CSS-module lookup is string|undefined). className?: string | undefined children?: ReactNode } & ButtonHTMLAttributes) { if (!onClick) { return {children} } return ( ) }