the shadcn variant guard only looked at the text right before the literal so
any ternary or nullish branch between variant and the string defeated it and
the upgrade rewrote a react prop value as if it were a class
braces and commas stay excluded from the new part so the match cannot run past
its own value into a neighbouring prop like className