function toggle(input) {
	    var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

	    // If there's no full support
	    if (!this.supported.ui) {
	      return;
	    }

	    var toggled = this.captions.toggled; // Current state

	    var activeClass = this.config.classNames.captions.active; // Get the next state
	    // If the method is called without parameter, toggle based on current value

	    var active = is$1.nullOrUndefined(input) ? !toggled : input; // Update state and trigger event

	    if (active !== toggled) {
	      // When passive, don't override user preferences
	      if (!passive) {
	        this.captions.active = active;
	        this.storage.set({
	          captions: active
	        });
	      } // Force language if the call isn't passive and there is no matching language to toggle to


	      if (!this.language && active && !passive) {
	        var tracks = captions.getTracks.call(this);
	        var track = captions.findTrack.call(this, [this.captions.language].concat(_toConsumableArray(this.captions.languages)), true); // Override user preferences to avoid switching languages if a matching track is added

	        this.captions.language = track.language; // Set caption, but don't store in localStorage as user preference

	        captions.set.call(this, tracks.indexOf(track));
	        return;
	      } // Toggle button if it's enabled


	      if (this.elements.buttons.captions) {
	        this.elements.buttons.captions.pressed = active;
	      } // Add class hook


	      toggleClass(this.elements.container, activeClass, active);
	      this.captions.toggled = active; // Update settings menu

	      controls.updateSetting.call(this, 'captions'); // Trigger event (not used internally)

	      triggerEvent.call(this, this.media, active ? 'captionsenabled' : 'captionsdisabled');
	    }
	  }
function toggle(input) {
	    var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

	    
	    if (!this.supported.ui) {
	      return;
	    }

	    var toggled = this.captions.toggled; 

	    var activeClass = this.config.classNames.captions.active; 
	    

	    var active = is$1.nullOrUndefined(input) ? !toggled : input; 

	    if (active !== toggled) {
	      
	      if (!passive) {
	        this.captions.active = active;
	        this.storage.set({
	          captions: active
	        });
	      } 


	      if (!this.language && active && !passive) {
	        var tracks = captions.getTracks.call(this);
	        var track = captions.findTrack.call(this, [this.captions.language].concat(_toConsumableArray(this.captions.languages)), true); 

	        this.captions.language = track.language; 

	        captions.set.call(this, tracks.indexOf(track));
	        return;
	      } 


	      if (this.elements.buttons.captions) {
	        this.elements.buttons.captions.pressed = active;
	      } 


	      toggleClass(this.elements.container, activeClass, active);
	      this.captions.toggled = active; 

	      controls.updateSetting.call(this, 'captions'); 

	      triggerEvent.call(this, this.media, active ? 'captionsenabled' : 'captionsdisabled');
	    }
	  }
function toggle ( input ) { var passive = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : true ; // If there's no full support if ( ! this . supported . ui ) { return ; } var toggled = this . captions . toggled ; // Current state var activeClass = this . config . classNames . captions . active ; // Get the next state // If the method is called without parameter, toggle based on current value var active = is$1 . nullOrUndefined ( input ) ? ! toggled : input ; // Update state and trigger event if ( active !== toggled ) { // When passive, don't override user preferences if ( ! passive ) { this . captions . active = active ; this . storage . set ( { captions : active } ) ; } // Force language if the call isn't passive and there is no matching language to toggle to if ( ! this . language && active && ! passive ) { var tracks = captions . getTracks . call ( this ) ; var track = captions . findTrack . call ( this , [ this . captions . language ] . concat ( _toConsumableArray ( this . captions . languages ) ) , true ) ; // Override user preferences to avoid switching languages if a matching track is added this . captions . language = track . language ; // Set caption, but don't store in localStorage as user preference captions . set . call ( this , tracks . indexOf ( track ) ) ; return ; } // Toggle button if it's enabled if ( this . elements . buttons . captions ) { this . elements . buttons . captions . pressed = active ; } // Add class hook toggleClass ( this . elements . container , activeClass , active ) ; this . captions . toggled = active ; // Update settings menu controls . updateSetting . call ( this , 'captions' ) ; // Trigger event (not used internally) triggerEvent . call ( this , this . media , active ? 'captionsenabled' : 'captionsdisabled' ) ; } }
Toggle captions display Used internally for the toggleCaptions method, with the passive option forced to false
Toggle captions display Used internally for the toggleCaptions method with the passive option forced to false