diff --git a/src/components/ui/native-select.tsx b/src/components/ui/native-select.tsx index 530cbdac9..05194bcde 100644 --- a/src/components/ui/native-select.tsx +++ b/src/components/ui/native-select.tsx @@ -10,16 +10,22 @@ import { cn } from "@/lib/utils"; * Three settings/admin surfaces (`AccountSection`, `TimezonePicker`, * `GeneralSettingsSection`) each declared a local `NATIVE_SELECT_CLASS` * constant that traced the same visual contract as the shadcn - * `` (border + bg + ring tokens, `h-9` floor, identical - * focus vocabulary). The three copies had drifted slightly — one - * dropped `w-full`, another dropped the `shadow-xs` token — so the - * three forms rendered at subtly different weights despite reading - * "the same select" to the user. + * `` (border + bg + ring tokens, focus vocabulary). + * The three copies had drifted slightly — one dropped `w-full`, + * another dropped the `shadow-xs` token — so the three forms rendered + * at subtly different weights despite reading "the same select" to + * the user. * * The primitive collapses the duplicates. Consumers wrap it like a * raw `` and `` (MB2). The legacy `h-9` (36 px) + * the three call sites carried was the pre-v1.4.27 contract; the + * primitive extraction lands at the new floor so every form input on + * the same row reads at the same height. + * * Why native? The shadcn `