         let maxFromViewOffset = maxDistance
 
         let maxToViewOffset = maxDistance * maxBackViewTranslationPercentage
+        let frontTranslationX = (RTL ? -maxFromViewOffset : maxFromViewOffset) * percent
         let resolvedToViewOffset = -maxToViewOffset + (maxToViewOffset * percent)
-        
-        frontContainerView.transform = CGAffineTransform(translationX: maxFromViewOffset * percent, y: 0)
+        let backTranslationX = RTL ? -resolvedToViewOffset : resolvedToViewOffset
+
+        frontContainerView.transform = CGAffineTransform(translationX: frontTranslationX, y: 0)
         frontContainerView.dropShadowAlpha = (1.0 - percent)
-        toView.transform = CGAffineTransform(translationX: resolvedToViewOffset, y: 0)
+        toView.transform = CGAffineTransform(translationX: backTranslationX, y: 0)
         backOverlayView.alpha = (1.0 - percent)
         
         activeContext?.updateInteractiveTransition(percent)

            let toView = transitionContext.view(forKey: UITransitionContextViewKey.to) else {
                return
        }
        
        let container = transitionContext.containerView
        

            let toView = transitionContext.view(forKey: UITransitionContextViewKey.to) else {
                return
        }

        let velocity = RTL ? velocity.flippingX : velocity
        let translation = RTL ? translation.flippingX : translation
        
        let container = transitionContext.containerView
        
