State that works controlled or uncontrolled: pass value to control it, or defaultValue to let the hook own it, and onChange fires either way.
pnpm dlx shadcn@latest add "https://ui.tealmac.com/r/use-controllable-state.json"