This addon provides a nice way of defining CSS Transitions for Ember Components. Which means, only css based animations for performance - and no animation library needed.
Ember CSS Transitions is heavily inspired (and CSS compatible) with Vue's CSS Transitions.
Animations are completely based on CSS classes.
Ultimately you define your animations and transitions with only css like:
/* initial state */
.example-enter,
.example-leave-to {
opacity: 0;
}
/* final state */
.example-enter-to,
.example-leave {
opacity: 1;
}
/* easings */
.example-enter-active,
.example-leave-active {
transition: opacity 0.5s ease-in;
}
And using the included modifier like:
or by manually specifying classes, perfect for libraries like Animate.css and Tailwind CSS.
If you are using TailwindUI then you will see transition instructions included in the code, as in this example:
You should map these instructions to this addon's API in the following way:
TailwindUI | Addon |
---|---|
Entering | enterActiveClass |
From | enterClass |
To | enterToClass |
Leaving | leaveActiveClass |
From | leaveClass |
To | leaveToClass |
Check out the homepage for more detailed documentation: https://miguelcobain.github.io/ember-css-transitions/
Run:
ember install ember-css-transitions
Note Using ember-cli-autoprefixer is suggested for CSS transitions:
ember install ember-cli-autoprefixer
- IE 10
- IE 11
- Microsoft Edge
- Chrome
- Firefox
- Safari
- Android
- iPhone
Note: IE9 does not support CSS3 transitions / animations. They must live with no animations / transitions.
css-transition
ships Glint types,
which allow you when using TypeScript to get strict type checking in your templates.
Unless you are using strict mode templates
(via first class component templates),
Glint needs a Template Registry
that contains entries for the element modifier provided by this addon.
To add these registry entries automatically to your app, you just need to import ember-css-transitions/template-registry
from somewhere in your app. When using Glint already, you will likely have a file like
types/glint.d.ts
where you already import glint types, so just add the import there:
import '@glint/environment-ember-loose';
import type CssTransitionsRegistry from 'ember-css-transitions/template-registry';
declare module '@glint/environment-ember-loose/registry' {
export default interface Registry extends CssTransitionsRegistry, /* other addon registries */ {
// local entries
}
}
For usage in gts
or gjs
files, modifier is exported from the index:
See the Contributing guide for details.
This project is licensed under the MIT License.