Closed ncoden closed 6 years ago
Poke @DanielRuf @SassNinja
Poke @gakimball @kball @DanielRuf. Could you review this ? Thanks !
breaking change
breaking changes
values as defauls
values as defaults
standard animations names are not supported anymore as mui-series queues names
standard animation names are not supported anymore as mui-series queue names
keyframes names for CSS
keyframe names for CSS
Fixes a bug when using decimals values
Fixes a bug when using decimal values
arguments and generate keyframe in such
arguments and generate keyframes in such
as an internal dependency (like implementation detail)and should
as an internal dependency (like implementation detail) and should
We did not included jQuery in the Motion UI Javascript library before.
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! π
Are we ready to merge this?
@rediris Almost. I still need to merge https://github.com/zurb/motion-ui/pull/117. We introduced an incompatibility with Sass < 3.5 at #100.
@ncoden sounds good. Sorry I didn't account for that!
Sorry I didn't account for that!
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.β οΈ Breaking changes
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
paused behavior and introduced.is-paused
.β οΈ Breaking changes
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
-mui-keyframe-pct
returns a strintg instead of a list (@ncoden, closes #109)node-sass
3/4/latest (@ncoden)π©βπ» Contributors
Thank you to the amazing people who contributed to this release:
Release Checklist
CHANGELOG.md