-
Notifications
You must be signed in to change notification settings - Fork 172
🚀 Release v2.0.0 #113
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
🚀 Release v2.0.0 #113
Conversation
`-mui-keyframe-pct` should return a String. The current implementation may return a list in some Sass versions.
Changes: * `gulp-rename`: `^1.2.2` -> `^1.2.3` * `gulp-sass`: `3.1.0` -> `^4.0.1` * `gulp-scss-lint`: `^0.3.6` -> `^0.6.1` * `gulp-uglify`: `^1.4.1` -> `^3.0.0` * `gulp-umd`: `^0.2.0` -> `^2.0.0` * `mocha`: `^2.3.3`, -> `^5.2.0` * `run-sequence`: `^1.1.4` -> `^2.2.1` * `sass-true`: `^2.0.2`, -> `^2.2.1` According to the dependencies changelogs, no migration is required.
…ring fix: ensure `-mui-keyframe-pct` returns a strintg instead of a list
chore: update dependencies
Run tests across multiple node-sass versions on travis-ci.
Update Autoprefixer browser compatibility table to be consistent with `foundation-sites` and remove support for very old browsers.
…mpatibility chore: update browser compatibility
chore: add TravisCI
Poke @DanielRuf @SassNinja |
docs: add CHANGELOG.md
peerDependencies is for dependencies that are exposed to (and expected to be used by) the consuming code, as opposed to "private" dependencies that are not exposed, and are only an implementation detail. We still need `jQuery` in peerDependencies instead of dependencies because we actually expect the user to install it. We cannot simply remove it because we still need the package managers to check for versions compatibilities and warn the user if it is missing. See foundation/foundation-sites#11290
docs: improve README.md design and installation section
…er-dependencies chore: move jQuery to peerDependencies
Poke @gakimball @kball @DanielRuf. Could you review this ? Thanks ! |
breaking changes
values as defaults
standard animation names are not supported anymore as mui-series queue names
keyframe names for CSS
Fixes a bug when using decimal values
arguments and generate keyframes in such
as an internal dependency (like implementation detail) and should
We did not include jQuery in the Motion UI JavaScript library before. Rest is good 👍 |
@DanielRuf Fixed. Thank you! |
Poke @gakimball. Are you ok with this release ? |
Looks good to me, great work! 👌 |
…ass 4 In order to improve modular namespacing, LibSass 4 only accepts first-class functions as argument so functions are called in their own context. In most case, `get-function()` must only be used by the user in its own context. End developer must be encouraged to use first-class functions. In this library, we need to use it to keep support of function name strings in Sass > 3.5. Changes: * Add `-mui-is-function` and `-mui-safe-call` to test and call function in a safe way for all Sass versions. * Use `-mui-is-function` instead of a simple `string` type check as functions can now be first-hand functions with a `function` type * Use `-mui-safe-call` to handle both first-hand functions and function string names the same way. A warning is thrown for function string names with Sass >= 3.5
`function-exists()` can only take strings and cannot be called for first-class functions.
…not found Instead of warning about the usage of function name strings in Sass >= 3.5, check for function arguments and throw the appropriate error if invalid or not found.
Are we ready to merge this? |
@ncoden sounds good. Sorry I didn't account for that! |
…-compatibility fix: fix support for function name strings for Sass < 3.5
Don't worry. I merged the latest changes (#117), updated the documentation and the changelog (see above). I think everything is ready 🎉 |
Motion UI v2.0.0
We're happy to release Motion UI 2.0 with a better support of macOS Safari, API improvements, some bug fixes and various maintanance stuff. Warning: this release includes breaking changes, please read the migration notes below before upgrading.
🚀 Forward/backward defaults for transitions & effects
We changed the default direction of all transition and effect mixins so it depends on the
in
orout
state. Calling the same mixin within
andout
states now results in the same animation playing forward and backward.We changed the effects and transitions API the following way:
in
orout
state.slide
effect defaults are nowleft
andright
(according to$state
) for consistency with theslide
transition.zoom
transition and effect defaults are now0
and1
(according to$state
) for consistency with others transitions defaults.How to migrate
For the
hinge
,slide
,spin
,zoom
effect functions andmui-fade
,mui-hinge
,mui-slide
,mui-spin
,mui-zoom
transition mixins: if$state: out
is used and no direction parameters are given, manually pass the "forward" parameters to keep them playing forward.For the
slide
effect function: if no$direction
is given, manually pass$direction: up
to keep the effect sliding to top instead of the new defaultleft
/right
.For the
mui-zoom
transition mixin: if no$from
or$to
are given, manually pass$from: 1.5
and$to: 1
to keep the previous behavior.🚀 New pausing behavior for
mui-queue
for Safari supportWith the previous
mui-series
behavior, the serie was paused until the.is-animating
class was added. Unfortately, the implementation behind this did not work on all macOS Safari versions and was even breaking the whole animation. In order to fully support macOS Safari, we changed themui-series
pausedbehavior and introduced
.is-paused
.When
.is-animating
is removed from.mui-series
, the queue is now reset instead of paused. Setting.is-animating
back will start the queue from its begining.From now you can:
.is-animating
.is-paused
.is-paused
.is-animating
How to migrate
If you need an animation to pause midway, add
.is-paused
instead of removing.is-animating
. For example in jQuery:As a side-effect of this, standard animation names are not supported anymore as
mui-series
queue names. Make sure you use unique names for yourmui-series
queues.🐛 Safer animation keyframe names for CSS
Fixes a bug when using decimal values for the
zoom
effect and transition arguments would generate an invalid CSS Keyframes name and break the animation.We changed the way we validate arguments and generate keyframes in such a way that they will always have a valid CSS name for all effects, transitions and arguments passed in.
🐛 Improved support for new Sass first-hand functions alongside function name strings
In order to improve modular namespacing, Sass 4 will only accepts first-class functions as argument for call() so functions will be called in their own context. This allow developers to make their Sass packages more modular while still being able to call functions given by the user. As a first step, Sass 3.5 added
get-function()
to get a first-hand function from its name and throw a warning if a function name string is passed to call(). Developers are now encouraged to useget-function()
, but this would make their package incompatible to older Sass versions.We added a set of helpers to support both first-hand function and function name strings in all our functions and mixins in all Sass versions. If you are using Motion UI with Sass >= 3.5, we recommend you to use pass your functions to Motion UI with
get-function(...)
. Otherwise, we may not be able to find them as their were defined in a context we not may have access to.For more informations, see Making Function Calls Across Sass Versions and Making sense out of Sass 3.5 first-class functions.
📦 jQuery is now a peerDependency
We think that like for most browser packages, you will want to only have one jQuery version installed and to choose its version by yourself. For this reason, jQuery cannot be considered as an internal dependency (like implementation detail) and should be exposed to you as a peerDependency.
We did not include jQuery in the Motion UI JavaScript library before. If you use it, you should already have jQuery imported so Motion UI will work the same way as before.
Note for npm users: you may now have a warning message asking you to install the
jquery
npm package if you did not have it already. Please do so with a jQuery version that we support:jquery@>=2.2.0
.📄 All changes
Passing a string to call()
deprecation warning for Sass 4.0 #100 - Fix deprecation warning for Sass 4.0 (@rediris, closes multiple DEPRECATION warnings: Passing a string to call() is deprecated and will be illegal in Sass 4.0 #99).is-paused
for Safari support #97 #108 - Change mui-series paused behavior for better Safari support (@ncoden, closes Mui-Series Safari 11 Compatibility #97)-mui-keyframe-pct
returns a strintg instead of a list #109 - Ensure-mui-keyframe-pct
returns a strintg instead of a list (@ncoden, closes fix: ensure-mui-keyframe-pct
returns a strintg instead of a list #109)node-sass
3/4/latest (@ncoden)Passing a string to call()
deprecation warning for Sass 4.0 #100)👩💻 Contributors
Thank you to the amazing people who contributed to this release:
Release Checklist
CHANGELOG.md