       
       completion?(isFinishing)
       
-      if isTriggeredByUserInteraction {
+      if isTriggeredByUserInteraction && isFinishing {
         self.delegate?.tabsController?(tabsController: self, didSelect: viewController)
+      } else {
+        self.delegate?.tabsController?(tabsController: self, didCancelSelecting: viewController)
       }
     }
   }

      } else {
        tabBar.cancelLineTransition()
        MotionTransition.shared.cancel()
      }
      targetIndex = -1
    }

        guard abs(translationX) > 5 else {
          return
        }

        if targetIndex != -1 {
          delegate?.tabsController?(tabsController: self, willCancelSelecting: viewControllers[targetIndex])
          tabBar.cancelLineTransition(isAnimated: false)
          MotionTransition.shared.cancel(isAnimated: false)
        }
        
        if internalSelect(at: nextIndex, isTriggeredByUserInteraction: true, selectTabItem: false)  {
          tabBar.startLineTransition(for: nextIndex, duration: 0.35)
