Skip to content

Smart Props

This example is about keeping the prop contract TypeScript-first while still handling the awkward cases.

  • prop types come from TypeScript
  • ^properties(...) only touches the props that need explicit metadata
  • reflected booleans and JS-only values can live in the same authored API

What To Notice

  • active reflects, while tags, createdAt, and onSelect stay JS-only
  • ^properties(...) is additive, not a replacement for inference
  • the authored API stays close to the prop type instead of becoming decorator-heavy

Next