This is quite hard. Blueprint uses the react-addons-css-transition-group
library that adds -enter
, -appear
, -leave
, -enter-active
, -appear-active
, -leave-active
suffixes to some class names of elements that need to be animated. In your case you probably need to manually override the overlay styles e.g. something like this:
.pt-overlay-enter,
.pt-overlay-appear {
opacity: 0;
}
.pt-overlay-enter-active,
.pt-overlay-appear-active {
opacity: 1;
transition-property: opacity;
// `step` didn't work cross browser for me
transition-timing-function: ease;
// i've found 0ms is causes react-addons-css-transition-group to fire events unreliable on certain browsers
transition-duration: 1ms
transition-delay: 0;
}
Of course, you'll want to narrow the scope of these rules to only to apply to popovers for which you want to remove animations.
If you want to see exactly what blueprint
is doing to style the animation lifecycle classes, check out the styles here. The react-transition
mixin is used here (among other places).