import type { ButtonHTMLAttributes, ReactNode } from 'react';
/**
* A reaction: an emoji, how many people chose it, and whether you are one of
* them.
*
* **This exists because both apps had already built it, and neither could use
* the components that were here.** A reaction is a pill with a count that
* toggles — `Chip` is a pill and rules itself out for anything clickable,
* `Button` is clickable and is a 6px-radius rectangle, and `IconButton` has
* nowhere to put the count. So Peek re-typed Chip's class list with a border
* added, and Ship reached for a small Button with the count as its label. The
* two apps' reactions do not look alike today, and neither is what was drawn.
*
* ## The one thing it does that nothing else here does
*
* **It says the reaction is yours.** That is the state a reaction has and a
* chip does not: `pressed` fills it with the accent's muted tint and gives it
* an accent edge, so a glance separates "two people, one of them me" from "two
* people". Ship approximated it as `outlined` versus `muted` — measured at a
* 1px hairline against no border at all — which is legible and is not the
* signal Peek's accent fill gives.
*
* On Base UI's `Toggle` since stage 6 of the migration (2026-09-14): a native
* `