[v4] [icons] fix: restore support for old IconName keys #4945
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.
Changes proposed in this pull request:
Restore support for icon names access via
IconNames.ERROR
, while retaining support for the new syntax (IconNames.Error
).This breaking change happened as a result of the switch to
fantasticon
as the icon build tool, and although IMO it looks cleaner with the pascal case syntax, the costs of this breaking change (thousands of lines of meaningless code diff) outweigh the benefits of the code looking ever so slightly cleaner.Originally I thought I would be able to accomplish this using a custom
fantasticon
template (similar to how we havescss
andcss
templates), but it turns out thatts
templates are unsupported. So instead I had to resort to some hacky type mapping...Reviewers should focus on:
The type hacks are not very pretty, but they don't really get expose to consumers in their TS build, so I think it's ok...
Screenshot
N/A