Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
vue2-transitions
Advanced tools
✨ Reusable component transitions
Brings only the code that you need. Many alternative solutions import the whole animate.css library. Vue2-transitions is minimalistic and lets you import only the transitions that you need in your app
Each transition component has ~2kb (non-minified js+css or ~400 bytes gzipped) and you can import only the ones you really need.
Configurable.
You can configure animation enter and leave durations as well as all the props of the native Vue transition
components through props
Easy to use. No extra classes
npm i vue2-transitions
yarn add vue2-transitions
CDN: UNPKG | jsDelivr (available as window.Vue2Transitions
)
<template>
<fade-transition>
<div class="box" v-show="show">
<p>Fade transition</p>
</div>
</fade-transition>
</template>
<script>
import {FadeTransition} from 'vue2-transitions'
export default {
components: {
FadeTransition
}
}
</script>
import Transitions from 'vue2-transitions'
Vue.use(Transitions)
props: {
/**
* Transition duration. Number for specifying the same duration for enter/leave transitions
* Object style {enter: 300, leave: 300} for specifying explicit durations for enter/leave
*/
duration: {
type: [Number, Object],
default: 300
},
/**
* Whether the component should be a `transition-group` component.
*/
group: Boolean,
/**
* Transition tag, in case the component is a `transition-group`
*/
tag: {
type: String,
default: 'span'
},
/**
* Transform origin property https://tympanus.net/codrops/css_reference/transform-origin/.
* Can be specified with styles as well but it's shorter with this prop
*/
origin: {
type: String,
default: ''
},
/**
* Element styles that are applied during transition. These styles are applied on @beforeEnter and @beforeLeave hooks
*/
styles: {
type: Object,
default: () => {
return {
animationFillMode: 'both',
animationTimingFunction: 'ease-out'
}
}
}
}
Each transition can be used as a transition-group
by adding the group
prop to one of the desired transitions.
<fade-transition group>
<!--keyed children here-->
</fade-transition>
Gotchas/things to watch:
group
transitions should have display: inline-block
or must be placed in a flex context:
Vue.js docs referencemove
class move class docs.
Unfortunately the duration for the move transition cannot be configured through props. By default each transition has a move
class associated
with .3s
transition duration: .zoom-move{
transition: transform .3s ease-out;
}
.slide-move{
transition: transform .3s ease-out;
}
.scale-move{
transition: transform .3s cubic-bezier(.25,.8,.50,1);
}
.fade-move{
transition: transform .3s ease-out;
}
If you want to configure the duration, just redefine the class for the transition you use with the desired duration.
The codebase is fairly simple and contains mostly .vue
components. If you want to add a new transition to the collection follow these steps:
.vue
file (together with a folder if necessary) <template>
<component :is="componentType"
v-bind="$attrs"
v-on="hooks"
enter-active-class="enterAnimationClassHere"
move-class="move-class"
leave-active-class="leaveAnimationClassHere">
<slot></slot>
</component>
</template>
<script>
import {baseTransition} from '../mixins/index.js'
export default {
name: 'transition-name-here',
mixins: [baseTransition]
}
</script>
<style>
// Your styles for animations here.
</style>
src/index.js
and place it in the export default
object.transitionOptions
array inside example/App.vue
Besides the properties described above, you can pass in any other Transition props or events
Note Overriding hooks (especially beforeEnter
or beforeLeave
) may cause unwanted effects.
MIT © cristijora
@euvl (The UI for list transitions in the demo is inspired by vue-js-grid demo )
FAQs
Reusable component transitions
The npm package vue2-transitions receives a total of 15,712 weekly downloads. As such, vue2-transitions popularity was classified as popular.
We found that vue2-transitions demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.