New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
USWDS - Utilities: Generate font-[family]-[size] classes #5388
Conversation
Thanks for submitting this PR. I have added a few core team members as reviewers. We will reach out if we have any questions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great catch! Tested this out with the font-[family]-[size]
and it looks like it restored all functionality
- Confirmed change follows patterns of other utilities
- Utility sets font family and size appropriately
- No build errors or visual regression
Additionally, I looked up each of the utilities settings maps in _settings-utilities
and I did not find any other utilities that needed to be updated to the -complete
map similar to this fix. 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for submitting this fix! And thanks for the detailed PR description. It is very helpful.
This PR looks good to me. I confirmed that the font-[family]-[size]
utilities output font-family
again.
I used the following code for testing and results are shown in the screenshots below:
<p class="font-mono-lg">Sample mono text</p>
<p class="font-sans-lg">Sample sans text</p>
<p class="font-serif-lg">Sample serif text</p>
<p class="font-code-lg">Sample code text (mono default)</p>
<p class="font-body-lg">Sample body text (sans default)</p>
<p class="font-heading-lg">Sample heading text (serif default)</p>
<p class="font-alt-lg">Sample alt text (serif default)</p>
<p class="font-ui-lg">Sample alt text (sans default)</p>
Before (all entries show in same default font):
Additionally, I created a changelog entry for this PR and added it to the PR description.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix! I was able to confirm this works on all text utility classes, both defaults and aliases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution and fix 🎉
Summary
Fixed a bug that caused
font-[family]-[size]
utility classes to not generate font-family rules.Breaking change
This is not a breaking change.
Related issue
Closes #5385
Related PR
Changelog PR
Problem statement
.font-[family]-[size]
utility class should set both the normalized size and family of the font..font-[family]-[size]
utility class only sets the normalized size and not the family of the font..font-[family]
and.font-[family]-[size]
instead of the single, latter class.Solution
As part of the 3.5.0 release, utility settings were updates to include
[setting]-complete
lists that merged the original, "non-complete" with it. However, the font utility that generates thefont-[family]-[size]
classes was looking at the original, "non-complete" list and not the updated merged list. This PR updates the$font-settings
to$font-settings-complete
to correctly generate the classes.Testing and review
.font-[family]-[size]
alone correctly sizes and uses the right font.Before opening this PR, make sure you’ve done whichever of these applies to you:
git pull origin [base branch]
to pull in the most recent updates from your base and check for merge conflicts. (Often, the base branch isdevelop
).npm run prettier:sass
to format any Sass updates.npm test
and confirm that all tests pass.