Hello, this pretty much achieves what I was looking for:
.flickity-enabled *[data-banner-animated] {
transform-origin: left center;
transition: all;
transition-duration: 0.5s;
transition-delay: 0;
&[data-banner-animated='fade-in'] {
opacity: 0;
}
&[data-banner-animated='fade-left'] {
opacity: 0;
transform: translateX(calc(-30px));
}
&[data-banner-animated='fade-right'] {
opacity: 0;
transform: translateX(calc(30px));
}
&[data-banner-animated='fade-down'] {
opacity: 0;
transform: translateY(calc(-30px));
}
&[data-banner-animated='fade-up'] {
opacity: 0;
transform: translateY(calc(30px));
}
&[data-banner-animated='scale-left'] {
opacity: 0;
transform-origin: center left;
transform: scaleX(0);
}
&[data-banner-animated='scale-right'] {
opacity: 0;
transform-origin: center right;
transform: scaleX(0);
}
&[data-banner-animated='scale-down'] {
opacity: 0;
transform-origin: top left;
transform: scaleY(0);
}
&[data-banner-animated='scale-up'] {
opacity: 0;
transform-origin: bottom left;
transform: scaleY(0);
}
&[data-banner-animated='wipe-left'] {
opacity: 0;
clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
&[data-banner-animated='wipe-right'] {
opacity: 0;
clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
&[data-banner-animated='wipe-down'] {
opacity: 0;
clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}
&[data-banner-animated='wipe-up'] {
opacity: 0;
clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}
&[data-banner-animated='zoom-up'] {
opacity: 0;
transform: scale(0.8);
}
&[data-banner-animated='zoom-down'] {
opacity: 0;
transform: scale(1.2);
}
}
.is-selected *[data-banner-animated] {
opacity: 1;
scale: 1;
transform: none;
&[data-banner-animated='wipe-left'],
&[data-banner-animated='wipe-right'],
&[data-banner-animated='wipe-down'],
&[data-banner-animated='wipe-up'] {
clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
}