only carry forward fragment visibiltiy if style remains unchanged
parent
4d1cb43faf
commit
34ab7ded55
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,5 @@
|
||||||
import { queryAll, extend, createStyleSheet } from '../utils/util.js'
|
import { queryAll, extend, createStyleSheet } from '../utils/util.js'
|
||||||
|
import { FRAGMENT_STYLE_REGEX } from '../utils/constants.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Automatically animates matching elements across
|
* Automatically animates matching elements across
|
||||||
|
@ -168,12 +169,21 @@ export default class AutoAnimate {
|
||||||
// conflicts with fragment animations
|
// conflicts with fragment animations
|
||||||
delete toProps.styles['opacity'];
|
delete toProps.styles['opacity'];
|
||||||
|
|
||||||
if( from.classList.contains( 'fragment' ) && animationOptions.slideDirection === 'forward' ) {
|
if( from.classList.contains( 'fragment' ) ) {
|
||||||
|
|
||||||
|
let fromFragmentStyle = ( from.className.match( FRAGMENT_STYLE_REGEX ) || [''] )[0];
|
||||||
|
let toFragmentStyle = ( to.className.match( FRAGMENT_STYLE_REGEX ) || [''] )[0];
|
||||||
|
|
||||||
|
// Only skip the fragment if the fragment animation style
|
||||||
|
// remains unchanged
|
||||||
|
if( fromFragmentStyle === toFragmentStyle && animationOptions.slideDirection === 'forward' ) {
|
||||||
to.classList.add( 'visible', 'disabled' );
|
to.classList.add( 'visible', 'disabled' );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// If translation and/or scaling are enabled, css transform
|
// If translation and/or scaling are enabled, css transform
|
||||||
// the 'to' element so that it matches the position and size
|
// the 'to' element so that it matches the position and size
|
||||||
// of the 'from' element
|
// of the 'from' element
|
||||||
|
|
|
@ -5,3 +5,6 @@ export const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';
|
||||||
|
|
||||||
// Methods that may not be invoked via the postMessage API
|
// Methods that may not be invoked via the postMessage API
|
||||||
export const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;
|
export const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;
|
||||||
|
|
||||||
|
// Regex for retrieving the fragment style from a class attribute
|
||||||
|
export const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;
|
Loading…
Reference in New Issue