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.
Generate unique classNames ✨
This update (super) enhances Fancy to with the CSS Modules-like feature of
parsing and generating unique classNames.
This is done by tapping into
stylis
with a custom plugin to identifyand tokenize selector names. Several parsing steps have been adding to extract
those classNames and create (short) uuid variants, which are then:
<style>
tagComposedComponent
as astyles
prop for useThe previous
StyleSheet
factory was converted into a simple Class forease of understanding.
Basic Example
Fancy provides you with a "styles" prop, that contains unique classNames that is generated from and maps to your defined CSS.
Result (CSS)
Fancy preserves your original className. This is allow for reusability of your style rules, potentially with components from a different scope or even outside of React.
Result (HTML)
Note: This feature is only available to class-based selectors. Selectors like
div
or#id
will not receive unique classNames.