diff --git a/src/controller.js b/src/controller.js index 336993d..05c11c8 100644 --- a/src/controller.js +++ b/src/controller.js @@ -132,10 +132,18 @@ function removeActionClasses () { classList.remove.apply(classList, ACTIONS.map(a => `turn-${a}`)) } +function hasNativeViewTransitionMeta () { + return !!document.querySelector('meta[name="view-transition"][content="same-origin"]') +} + function create (Klass, action, direction) { if (!Klass.supported || document.body.dataset.turn === 'false') { Klass = NullTurn } + // Auto-disable Turn's viewTransitions when native view-transition meta tag is present + if (hasNativeViewTransitionMeta() && Klass === ViewTransitionTurn) { + Klass = NullTurn + } const options = JSON.parse(document.body.dataset.turnOptions || '{}') return new Klass(action, direction, options) }