[fix] st.text_area negative height calculation #12891
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe your changes
Fixes a bug in
st.text_areawhere very small height values would render larger than expected due to negative height calculations producing invalid CSS.Root Cause:
When calculating inner height, the formula
pixelHeight - labelAndPaddingcould produce negative values (e.g.,height=10with 30px label padding = -20px). Invalid negative CSS height values were ignored by browsers, causing the minHeight (68px) to take over, which madeheight=10render larger thanheight=30.Fix:
Added
Math.max(0, innerHeight)to clamp calculated heights to 0 minimum, ensuring all height values produce valid CSS.Note: the minimum height for
st.text_areais such that two lines of text fit in the input, so heights that would result in less space in the input will render as this minimum.GitHub Issue Link
Fixes #12867
Testing Plan
height=10caseContribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.