The event a cross-renderer statechange handler receives: React wraps the native
CustomEvent in a synthetic event (.nativeEvent); Preact passes it directly. D
is the per-component detail vocabulary. Pair with nativeStateChange to unwrap.
Exported so the stateful wrappers (Banner, and future ones) don't each re-declare
this union — the AGENTS.md "reuse shared wrapper helpers" rule.
The event a cross-renderer
statechangehandler receives: React wraps the nativeCustomEventin a synthetic event (.nativeEvent); Preact passes it directly.Dis the per-componentdetailvocabulary. Pair withnativeStateChangeto unwrap. Exported so the stateful wrappers (Banner, and future ones) don't each re-declare this union — the AGENTS.md "reuse shared wrapper helpers" rule.