refactor(fortal)!: default unsized typography from tokens, not ambient text - #153
Merged
Merged
Conversation
…t text BREAKING CHANGE: Unsized Fortal typography now resolves its run from Fortal tokens instead of the ambient DefaultTextStyle. Set an explicit Fortal size or weight when a different token is required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Unsized Fortal typography previously inherited the nearest Flutter
DefaultTextStyle. Material surfaces could therefore replace the intendedFortal run with host metrics and colors, which made the same component render
differently depending on its ancestor widgets and required the dashboard's
DashboardSurfaceToneworkaround.This change adopts token-backed defaults:
text3;gray12, while Text defaults to the regularweight token;
TextStyle, sohost typography fields cannot leak into its resolved run;
post-composition fallback, allowing an explicit recipe color or foreground
to override it safely and allowing a later merged ghost recipe to replace an
earlier ambient fallback;
retain a callback;
FortalScopekeeps its rootDefaultTextStylesolely as a courtesy fallbackfor bare Flutter
Text;Fortal typography.
The rebased Link changes build on the
RemixLink/LinkStylerarchitecturelanded in #151. Documentation, the public skill guidance, parity exceptions,
and coverage evidence now describe the same token-default contract.
Users relying on a surrounding
DefaultTextStyleto resize or reweight anunsized Fortal component must pass the desired Fortal
sizeorweightexplicitly.
Related Issues
Supersedes the dashboard text-run workaround introduced in #136. Integrates
with the
RemixLinkimplementation from #151; it does not close either PR.Checklist
///).Breaking Change
Does this PR require users of the package to manually update their code?
Validation
fvm dart run build_runner build --delete-conflicting-outputsgit diff --checkfvm flutter analyze --fatal-infosinpackages/remix_fortalfvm flutter analyze --fatal-infosinapps/dashboardfvm dart run tool/fortal_parity/check.dartfvm dart run tool/validate_docs.dartfvm flutter testinpackages/remix_fortal— 381/381fvm flutter testinapps/dashboard— 48/48with the gray theme changed; the Link gallery was rechecked after rebasing
onto feat(remix)!: add RemixLink and rebuild FortalLink on it #151.