/**
 * @file control-bar.js
 */
import Component from '../component.js' ;
import document from 'global/document' ;

// Enfants requis
import './play-toggle.js' ;
import './time-controls/current-time-display.js' ;
import './time-controls/duration-display.js' ;
import './time-controls/time-divider.js' ;
import './time-controls/remaining-time-display.js' ;
import './live-display.js' ;
import './seek-to-live.js' ;
import './progress-control/progress-control.js' ;
import './picture-in-picture-toggle.js' ;
import './fullscreen-toggle.js' ;
import './volume-panel.js' ;
import './text-track-controls/chapters-button.js' ;
import './text-track-controls/descriptions-button.js' ;
import './text-track-controls/subtitles-button.js' ;
import './text-track-controls/captions-button.js' ;
import './text-track-controls/subs-caps-button.js' ;
import './audio-track-controls/audio-track-button.js' ;
import './playback-rate-menu/playback-rate-menu-button.js' ;
import './spacer-controls/custom-control-spacer.js' ;

/**
 * Conteneur de commandes principales.
 *
 * @extends Component
 */
class ControlBar extends Component {

  /**
   * Créer l'élément DOM du `Composant`
   *
   * @return {Element}
   *         L'élément qui a été créé.
   */
  createEl() {
    return super.createEl('div', {
      className : 'vjs-control-bar',
      dir : 'ltr'
    }) ;
  }
}

/**
 * Options par défaut pour `ControlBar`
 *
 * @type {Objet}
 * @private
 */
ControlBar.prototype.options_ = {
  enfants : [
    'playToggle',
    'volumePanel',
    'currentTimeDisplay',
    'timeDivider',
    durée de l'affichage",
    'progressControl',
    'liveDisplay',
    'seekToLive' (chercher à vivre),
    'remainingTimeDisplay',
    'customControlSpacer',
    bouton de menu "playbackRate",
    chaptersButton",
    'descriptionsButton',
    'subsCapsButton',
    'audioTrackButton',
    'fullscreenToggle'
  ]
};

if ("exitPictureInPicture" in document) {
  ControlBar.prototype.options_.children.splice(
    ControlBar.prototype.options_.children.length - 1,
    0,
    'pictureInPictureToggle' (bascule d'image)
  ) ;
}

Component.registerComponent('ControlBar', ControlBar) ;
exporter la barre de contrôle par défaut ;