/**
 * @파일 캡션-버튼.js
 */
'./text-track-button.js'에서 TextTrackButton 가져오기;
'../../component.js'에서 컴포넌트 가져오기;
'./caption-settings-menu-item.js'에서 CaptionSettingsMenuItem 가져오기;

/**
 * 캡션 전환 및 선택을 위한 버튼 구성 요소
 *
 * @extends TextTrackButton
 */
클래스 CaptionsButton은 TextTrackButton을 확장합니다 {

  /**
   * 이 클래스의 인스턴스를 만듭니다.
   *
   * @param {플레이어} 플레이어
   * 이 클래스가 연결되어야 하는 `Player`.
   *
   * @param {객체} [옵션]
   * 플레이어 옵션의 키/값 저장소.
   *
   * @param {Component~ReadyCallback} [준비]
   * 이 구성 요소가 준비되었을 때 호출할 함수입니다.
   */
  생성자(플레이어, 옵션, 준비) {
    super(플레이어, 옵션, 준비);
  }

  /**
   * 기본 DOM `className`을 빌드합니다.
   *
   * @return {문자열}
   * 이 개체의 DOM `className`입니다.
   */
  buildCSSClass() {
    `vjs-captions-button ${super.buildCSSClass()}` 반환;
  }

  buildWrapperCSSClass() {
    `vjs-captions-button ${super.buildWrapperCSSClass()}` 반환;
  }

  /**
   * 캡션 메뉴 항목 만들기
   *
   * @return {CaptionSettingsMenuItem[]}
   * 현재 메뉴 항목의 배열입니다.
   */
  createItems() {
    const 항목 = [];

    if (!(this.player().tech_ && this.player().tech_.featuresNativeTextTracks) &&
      this.player().getChild('textTrackSettings')) {
      items.push(new CaptionSettingsMenuItem(this.player_, {종류: this.kind_}));

      this.hideThreshold_ += 1;
    }

    return super.createItems(items);
  }

}

/**
 * 이 메뉴와 연결하기 위해 찾을 TextTrack의 `종류`.
 *
 * @유형 {문자열}
 * @사적인
 */
CaptionsButton.prototype.kind_ = '캡션';

/**
 * `CaptionsButton` 컨트롤 위에 표시되어야 하는 텍스트입니다. 현지화를 위해 추가되었습니다.
 *
 * @유형 {문자열}
 * @사적인
 */
CaptionsButton.prototype.controlText_ = '캡션';

Component.registerComponent('CaptionsButton', CaptionsButton);
기본 CaptionsButton 내보내기;