Skip to content

Commit

Permalink
Add support for transition-group with dynamic component is
Browse files Browse the repository at this point in the history
attribute
  • Loading branch information
cristijora committed Jan 2, 2018
1 parent 7723f59 commit 80ad403
Show file tree
Hide file tree
Showing 13 changed files with 65 additions and 67 deletions.
8 changes: 7 additions & 1 deletion src/Collapse/CollapseTransition.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
@enter="enter"
@before-leave="beforeLeave"
@leave="leave"
@after-leave="afterLeave">
@after-leave="afterLeave"
move-class="collapse-move">
<slot></slot>
</component>
</template>
Expand Down Expand Up @@ -79,6 +80,8 @@
el.style.paddingTop = 0;
el.style.paddingBottom = 0;
}
// necessary for transition-group
this.setAbsolutePosition(el)
},
afterLeave(el) {
Expand All @@ -92,4 +95,7 @@
}
</script>
<style>
.collapse-move{
transition: transform .3s ease-in-out;
}
</style>
10 changes: 5 additions & 5 deletions src/Fade/FadeTransition.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="fadeIn"
move-class="fade-move"
leave-active-class="fadeOut">
<slot></slot>
</component>
Expand Down Expand Up @@ -46,4 +43,7 @@
.fadeOut {
animation-name: fadeOut;
}
.fade-move{
transition: transform .3s ease-out;
}
</style>
10 changes: 5 additions & 5 deletions src/Scale/ScaleTransition.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="scaleIn"
move-class="scale-move"
leave-active-class="scaleOut">
<slot></slot>
</component>
Expand Down Expand Up @@ -62,4 +59,7 @@
.scaleOut {
animation-name: scaleOut;
}
.scale-move{
transition: transform .3s cubic-bezier(.25,.8,.50,1);
}
</style>
10 changes: 4 additions & 6 deletions src/Slide/SlideXLeftTransition.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="slideXLeftIn"
move-class="slide-move"
leave-active-class="slideXLeftOut">
<slot></slot>
</component>
Expand All @@ -29,7 +26,8 @@
}
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes slideXLeftIn {
from {
opacity: 0;
Expand Down
10 changes: 4 additions & 6 deletions src/Slide/SlideXRightTransition.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="slideXRightIn"
move-class="slide-move"
leave-active-class="slideXRightOut">
<slot></slot>
</component>
Expand All @@ -29,7 +26,8 @@
}
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes slideXRightIn {
from {
opacity: 0;
Expand Down
9 changes: 3 additions & 6 deletions src/Slide/SlideYDownTransition.vue
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="slideYDownIn"
leave-active-class="slideYDownOut">
<slot></slot>
Expand All @@ -29,7 +25,8 @@
}
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes slideYDownIn {
from {
opacity: 0;
Expand Down
11 changes: 5 additions & 6 deletions src/Slide/SlideYUpTransition.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
<template>
<component :is="componentType"
type="animation"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="slideYIn"
move-class="slide-move"
leave-active-class="slideYOut">
<slot></slot>
</component>
Expand All @@ -29,7 +27,8 @@
}
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes slideYIn {
from {
opacity: 0;
Expand Down
3 changes: 3 additions & 0 deletions src/Slide/move.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.slide-move{
transition: transform .3s;
}
10 changes: 4 additions & 6 deletions src/Zoom/ZoomCenterTransition.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
v-on="hooks"
enter-active-class="zoomIn"
move-class="zoom-move"
leave-active-class="zoomOut">
<slot></slot>
</component>
Expand All @@ -18,7 +15,8 @@
mixins: [baseTransition]
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes zoomIn {
from {
opacity: 0;
Expand Down
14 changes: 6 additions & 8 deletions src/Zoom/ZoomUpTransition.vue
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
enter-active-class="zoomInUp"
leave-active-class="zoomOutUp">
v-bind="$attrs"
v-on="hooks"
enter-active-class="zoomInUp"
move-class="zoom-move"
leave-active-class="zoomOutUp">
<slot></slot>
</component>
</template>
Expand All @@ -31,6 +28,7 @@
}
</script>
<style lang="scss">
@import "move";
@keyframes zoomInUp {
from {
Expand Down
17 changes: 8 additions & 9 deletions src/Zoom/ZoomXTransition.vue
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
enter-active-class="zoomInX"
leave-active-class="zoomOutX">
v-bind="$attrs"
v-on="hooks"
enter-active-class="zoomInX"
move-class="zoom-move"
leave-active-class="zoomOutX">
<slot></slot>
</component>
</template>
Expand All @@ -30,7 +27,9 @@
mixins: [baseTransition]
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes zoomInX {
from {
opacity: 0;
Expand Down
17 changes: 8 additions & 9 deletions src/Zoom/ZoomYTransition.vue
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
<template>
<component :is="componentType"
v-bind="$attrs"
v-on="$listeners"
@before-enter="beforeEnter"
@after-enter="cleanUpStyles"
@before-leave="beforeLeave"
@after-leave="cleanUpStyles"
enter-active-class="zoomInY"
leave-active-class="zoomOutY">
v-bind="$attrs"
v-on="hooks"
enter-active-class="zoomInY"
move-class="zoom-move"
leave-active-class="zoomOutY">
<slot></slot>
</component>
</template>
Expand All @@ -30,7 +27,9 @@
},
}
</script>
<style>
<style lang="scss">
@import "move";
@keyframes zoomInY {
from {
opacity: 0;
Expand Down
3 changes: 3 additions & 0 deletions src/Zoom/move.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.zoom-move{
transition: transform .3s ease-out;
}

0 comments on commit 80ad403

Please sign in to comment.