"use client" import * as React from "react" import * as LabelPrimitive from "@radix-ui/react-label" import { cva, type VariantProps } from "class-variance-authority" import { cn } from "../../utils/cn" /** * THE form label. One treatment, stated once: * * - Scale + color live in the BASE (`text-h6 text-ods-text-primary`), so call * sites never restate them — before this, ~100 call sites carried a * `className="text-ods-text-primary"` override and ~115 cargo-culted * `variant="small"` because the base under-specified. * - NO margin. Layout belongs to the CONTAINER (`Field`'s gap, a `space-y-2` * wrapper) — a margin inside a text primitive stacks with container gaps, * which is exactly how `Field` rows ended up 12px label→control while the * hand-rolled rows were 8px, and how labels sat 2px off their inline badges * in `items-center` rows. Opt into `spacing` ONLY when the label truly has * no spacing container. * * Raw `