Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #424 +/- ##
===========================================
+ Coverage 82.61% 83.01% +0.40%
===========================================
Files 153 153
Lines 7597 7782 +185
Branches 2311 2395 +84
===========================================
+ Hits 6276 6460 +184
- Misses 1027 1028 +1
Partials 294 294 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Checklist
Issue Resolved / Feature Added
New motion token table system PoC
Resolution
[styles/motion.less]
Global Motions
Global motions section includes general primitive motion tokens: duration, delay, easing function
Component Specific Motions
Component specific motions section includes other motions except primitive motion tokens which are used in some specific components (for now, keyframes for toggle motion of
Switchand check motion ofCheckbox)primitive tokens are used directly in motion-mixins.less
--lime-bounce-motionand--lime-check-motionare deleted because they are not used anymore..lime-toggle-motionand.lime-check-motionin motion-mixins.less already have the same animation.--lime-bounce-motionand--lime-check-motionare deleted.[styles/motion-mixins.less]
Global motion mixins section includes all motion token table spec.
Global Motion Mixins
┃
┗ motion type (ex. focus-in)
┃
┣ speed based motion mixins: receive a parameter for basic animation
┃ ┃ have actual animation pattern (basic animation + duration + delay + easing)
┃ ┣ fast
┃ ┣ default
┃ ┣ slow
┃ ┗ none
┃
┗ size & tier based motion mixins: linked to speed based motion mixin
┃
┣ small-high
┣ small-low
┣ medium-high
┣ medium-low
┣ large-high
┗ large-low
Component specific motion mixins section includes motion mixins for specific components.
.lime-toggle-motion: Switch.lime-check-motion: Checkbox[ThemeDecorator/ThemeDecorator.js]
Through
ThemeDecorator, if an app receiveshwTierprop,hwTier-highorhwTier-lowclass is added to the app.<App hwTier="high" >So each component can use different motion mixin in component.less, depending on hwTier.
In this PR, default hwTier is high when hwTier is omitted.
[Component Examples]
Each component uses size & tier based motion mixins.
Button, Card, MediaOverlay
You can see how these component use motion mixins in each compoent.less file.
IconItem
IconItem uses different (not default) parameter values in
focus-inandpressmotions.Slider focus in/out and press/release motions additionally require "translate" motion of knob.
So you can use its specific motion mixins defined in
styles/motion-mixins.less.Additional Considerations
I made each mixin gets just 1 parameter in this PR.
I think this is more reasonable in css style, because css
scale(),translate(), andopacity:only receive "to" parameters, not "from" parameters.App developer should get it from outside the app and pass the value to the app like other options (ex. focusRing, highContrast)
Links
NXT-19557
Comments
Enact-DCO-1.0-Signed-off-by: Jiye Kim (jiye.kim@lge.com)