[READ-ONLY] Mirror of https://github.com/lukebennett88/luke-ui. ui.lukebennett.dev

Make shouldInheritFont inherit font size and line height (#268) master

The Capsize trim compound variants set fontSize and lineHeight, and vanilla-extract applies compound variants after simple ones, so they won over the shouldInheritFont variant's `inherit`. Family, weight and colour inherited; size and line height did not. The broken combination was the default one, because trim is only disabled automatically when lineClamp is set, and every existing test for the prop passed shouldDisableTrim, so the broken path had no coverage. Condition the trim compounds on shouldInheritFont: false. The fix sits in the recipe rather than the Text component because the recipe is exported publicly from @luke-ui/react/recipes, so a component-level fix would leave direct recipe consumers broken. Also validate two theme inputs the emitter trusted. The scrim was the only authored colour written into the stylesheet unchecked, because it is deliberately excluded from OKLCH parsing (its alpha channel does not fit the pattern) and nothing was put in its place, so a scrim carrying a semicolon or brace emitted malformed CSS into all four theme scopes. It now shares one isUnsafeCssValue helper with the depth and control finish checks. That helper tests the type before trimming, so a rung explicitly set to undefined produces the validator's message naming the field instead of a TypeError, and defineTheme filters undefined values before merging so an explicit undefined falls back to the curated default rather than overwriting it. Emitted theme CSS is unchanged: the v2 goldens and visual captures are byte-identical.