{"version":3,"sources":["webpack:///../node_modules/react-h5-audio-player/lib/styles.css","webpack:///../node_modules/react-h5-audio-player/es/utils.js","webpack:///../node_modules/react-h5-audio-player/es/ProgressBar.js","webpack:///../node_modules/react-h5-audio-player/es/CurrentTime.js","webpack:///../node_modules/react-h5-audio-player/es/Duration.js","webpack:///../node_modules/react-h5-audio-player/es/VolumeBar.js","webpack:///../node_modules/react-h5-audio-player/es/constants.js","webpack:///../node_modules/react-h5-audio-player/es/index.js","webpack:///../node_modules/react-h5-audio-player/lib/styles.css?b237"],"names":[],"mappings":"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A,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL,IAAI,wBAAe,CAAC,+BAAsB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL,IAAI,wBAAe,CAAC,+BAAsB;AAC1C;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL,IAAI,wBAAe,CAAC,+BAAsB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA,EAAE,qBAAY;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B;;AAEA,aAAa,eAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,EAAE,eAAK;AACd;AACA,OAAO,EAAE,eAAK;AACd;AACA;AACA;AACA;AACA;AACA,OAAO,uBAAuB,eAAK;AACnC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,kBAAS;;AAEI,sEAAc,E;;AClQtB;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B,G;;ACZyC;AACN;AACoB;AAC1B;AACkC;AACtB;AACA;;AAEpE,SAAS,cAAY,WAAW,iCAAiC,2BAAyB,GAAG,yCAAyC,aAAa,wBAAe,kBAAkB,iCAAiC,iBAAiB,wBAAe,mBAAmB,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,QAAQ,mCAA0B,eAAe,GAAG;;AAEva,SAAS,2BAAyB,IAAI,wEAAwE,0CAA0C,8CAA8C,MAAM,6EAA6E,G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AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,2CAA2C,QAAQ;AACnD;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,EAAE,eAAK;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,uBAAuB,eAAK;AACnC;AACA,OAAO,WAAW,eAAK;AACvB,uCAAuC,sBAAsB;AAC7D,OAAO,EAAE,eAAK;AACd;AACA,OAAO,mDAAmD,eAAK;AAC/D;AACA,OAAO,2DAA2D,eAAK;AACvE;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,kBAAS;;AAEX,wBAAe,CAAC,gBAAa;AAC7B;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,6BAA6B,OAAO,eAAe,OAAO,eAAe,OAAO;AAChF,0BAA0B,OAAO,sBAAsB,OAAO,gBAAgB,OAAO;AACrF,6BAA6B,OAAO;AACpC,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc,wFAAa,EAAC;;;;;;;;;;;;;;ACjnB7B,UAAU,mBAAO,CAAC,gKAAqF;AACvG,0BAA0B,mBAAO,CAAC,+IAA6C;;AAE/E;;AAEA;AACA,0BAA0B,QAAS;AACnC;;AAEA;;AAEA;AACA;;AAEA;;;;AAIA,sC","file":"vendor.react-h5-audio-player.f8ca5ae716dc3b3e471b.js","sourcesContent":["exports = module.exports = require(\"../../css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".rhap_container {\\n  box-sizing: border-box;\\n  display: flex;\\n  flex-direction: column;\\n  line-height: 1;\\n  font-family: inherit;\\n  width: 100%;\\n  padding: 10px 15px;\\n  background-color: #fff;\\n  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.2);\\n}\\n.rhap_container:focus:not(:focus-visible) {\\n  outline: 0;\\n}\\n.rhap_container svg {\\n  vertical-align: initial;\\n}\\n\\n.rhap_header {\\n  margin-bottom: 10px;\\n}\\n\\n.rhap_footer {\\n  margin-top: 5px;\\n}\\n\\n.rhap_main {\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1 1 auto;\\n}\\n\\n.rhap_stacked .rhap_controls-section {\\n  margin-top: 8px;\\n}\\n\\n.rhap_horizontal {\\n  flex-direction: row;\\n}\\n.rhap_horizontal .rhap_controls-section {\\n  margin-left: 8px;\\n}\\n\\n.rhap_horizontal-reverse {\\n  flex-direction: row-reverse;\\n}\\n.rhap_horizontal-reverse .rhap_controls-section {\\n  margin-right: 8px;\\n}\\n\\n.rhap_stacked-reverse {\\n  flex-direction: column-reverse;\\n}\\n.rhap_stacked-reverse .rhap_controls-section {\\n  margin-bottom: 8px;\\n}\\n\\n.rhap_progress-section {\\n  display: flex;\\n  flex: 3 1 auto;\\n  align-items: center;\\n}\\n\\n.rhap_progress-container {\\n  display: flex;\\n  align-items: center;\\n  height: 20px;\\n  flex: 1 0 auto;\\n  align-self: center;\\n  margin: 0 calc(10px + 1%);\\n  cursor: pointer;\\n  user-select: none;\\n  -webkit-user-select: none;\\n}\\n.rhap_progress-container:focus:not(:focus-visible) {\\n  outline: 0;\\n}\\n\\n.rhap_time {\\n  color: #333;\\n  font-size: 16px;\\n  user-select: none;\\n  -webkit-user-select: none;\\n}\\n\\n.rhap_progress-bar {\\n  box-sizing: border-box;\\n  position: relative;\\n  z-index: 0;\\n  width: 100%;\\n  height: 5px;\\n  background-color: #dddddd;\\n  border-radius: 2px;\\n}\\n\\n.rhap_progress-filled {\\n  height: 100%;\\n  position: absolute;\\n  z-index: 2;\\n  background-color: #868686;\\n  border-radius: 2px;\\n}\\n\\n.rhap_progress-bar-show-download {\\n  background-color: rgba(221, 221, 221, 0.5);\\n}\\n\\n.rhap_download-progress {\\n  height: 100%;\\n  position: absolute;\\n  z-index: 1;\\n  background-color: #dddddd;\\n  border-radius: 2px;\\n}\\n\\n.rhap_progress-indicator {\\n  box-sizing: border-box;\\n  position: absolute;\\n  z-index: 3;\\n  width: 20px;\\n  height: 20px;\\n  margin-left: -10px;\\n  top: -8px;\\n  background: #868686;\\n  border-radius: 50px;\\n  box-shadow: rgba(134, 134, 134, 0.5) 0 0 5px;\\n}\\n\\n.rhap_controls-section {\\n  display: flex;\\n  flex: 1 1 auto;\\n  justify-content: space-between;\\n  align-items: center;\\n}\\n\\n.rhap_additional-controls {\\n  display: flex;\\n  flex: 1 0 auto;\\n  align-items: center;\\n}\\n\\n.rhap_repeat-button {\\n  font-size: 26px;\\n  width: 26px;\\n  height: 26px;\\n  color: #868686;\\n  margin-right: 6px;\\n}\\n\\n.rhap_main-controls {\\n  flex: 0 1 auto;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n}\\n\\n.rhap_main-controls-button {\\n  margin: 0 3px;\\n  color: #868686;\\n  font-size: 35px;\\n  width: 35px;\\n  height: 35px;\\n}\\n\\n.rhap_play-pause-button {\\n  font-size: 40px;\\n  width: 40px;\\n  height: 40px;\\n}\\n\\n.rhap_volume-controls {\\n  display: flex;\\n  flex: 1 0 auto;\\n  justify-content: flex-end;\\n  align-items: center;\\n}\\n\\n.rhap_volume-button {\\n  flex: 0 0 26px;\\n  font-size: 26px;\\n  width: 26px;\\n  height: 26px;\\n  color: #868686;\\n  margin-right: 6px;\\n}\\n\\n.rhap_volume-container {\\n  display: flex;\\n  align-items: center;\\n  flex: 0 1 100px;\\n  user-select: none;\\n  -webkit-user-select: none;\\n}\\n\\n.rhap_volume-bar-area {\\n  display: flex;\\n  align-items: center;\\n  width: 100%;\\n  height: 14px;\\n  cursor: pointer;\\n}\\n.rhap_volume-bar-area:focus:not(:focus-visible) {\\n  outline: 0;\\n}\\n\\n.rhap_volume-bar {\\n  box-sizing: border-box;\\n  position: relative;\\n  width: 100%;\\n  height: 4px;\\n  background: #dddddd;\\n  border-radius: 2px;\\n}\\n\\n.rhap_volume-indicator {\\n  box-sizing: border-box;\\n  position: absolute;\\n  width: 12px;\\n  height: 12px;\\n  margin-left: -6px;\\n  left: 0;\\n  top: -4px;\\n  background: #868686;\\n  opacity: 0.9;\\n  border-radius: 50px;\\n  box-shadow: rgba(134, 134, 134, 0.5) 0 0 3px;\\n  cursor: pointer;\\n}\\n.rhap_volume-indicator:hover {\\n  opacity: 0.9;\\n}\\n\\n.rhap_volume-filled {\\n  height: 100%;\\n  position: absolute;\\n  z-index: 2;\\n  background-color: #868686;\\n  border-radius: 2px;\\n}\\n\\n/* Utils */\\n.rhap_button-clear {\\n  background-color: transparent;\\n  border: none;\\n  padding: 0;\\n  overflow: hidden;\\n  cursor: pointer;\\n}\\n.rhap_button-clear:hover {\\n  opacity: 0.9;\\n  transition-duration: 0.2s;\\n}\\n.rhap_button-clear:active {\\n  opacity: 0.95;\\n}\\n.rhap_button-clear:focus:not(:focus-visible) {\\n  outline: 0;\\n}\\n\", \"\"]);\n\n","export var getMainLayoutClassName = function getMainLayoutClassName(layout) {\n  switch (layout) {\n    case 'stacked':\n      return 'rhap_stacked';\n\n    case 'stacked-reverse':\n      return 'rhap_stacked-reverse';\n\n    case 'horizontal':\n      return 'rhap_horizontal';\n\n    case 'horizontal-reverse':\n      return 'rhap_horizontal-reverse';\n\n    default:\n      return 'rhap_stacked';\n  }\n};\nexport var getPosX = function getPosX(event) {\n  if (event instanceof MouseEvent) {\n    return event.clientX;\n  } else {\n    return event.touches[0].clientX;\n  }\n};\n\nvar addHeadingZero = function addHeadingZero(num) {\n  return num > 9 ? num.toString() : \"0\".concat(num);\n};\n\nexport var getDisplayTimeBySeconds = function getDisplayTimeBySeconds(seconds, totalSeconds, timeFormat) {\n  if (!isFinite(seconds)) {\n    return null;\n  }\n\n  var min = Math.floor(seconds / 60);\n  var minStr = addHeadingZero(min);\n  var secStr = addHeadingZero(Math.floor(seconds % 60));\n  var minStrForHour = addHeadingZero(Math.floor(min % 60));\n  var hourStr = Math.floor(min / 60);\n  var mmSs = \"\".concat(minStr, \":\").concat(secStr);\n  var hhMmSs = \"\".concat(hourStr, \":\").concat(minStrForHour, \":\").concat(secStr);\n\n  if (timeFormat === 'auto') {\n    if (totalSeconds >= 3600) {\n      return hhMmSs;\n    } else {\n      return mmSs;\n    }\n  } else if (timeFormat === 'mm:ss') {\n    return mmSs;\n  } else if (timeFormat === 'hh:mm:ss') {\n    return hhMmSs;\n  }\n};\nexport function throttle(func, limit) {\n  var inThrottle = false;\n  return function (arg) {\n    if (!inThrottle) {\n      func(arg);\n      inThrottle = true;\n      setTimeout(function () {\n        return inThrottle = false;\n      }, limit);\n    }\n  };\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { Component, forwardRef } from 'react';\nimport { getPosX, throttle } from './utils';\n\nvar ProgressBar = function (_Component) {\n  _inherits(ProgressBar, _Component);\n\n  var _super = _createSuper(ProgressBar);\n\n  function ProgressBar() {\n    var _this;\n\n    _classCallCheck(this, ProgressBar);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"audio\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"timeOnMouseMove\", 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"hasAddedAudioEventListener\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"downloadProgressAnimationTimer\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      isDraggingProgress: false,\n      currentTimePos: '0%',\n      hasDownloadProgressAnimation: false,\n      downloadProgressArr: [],\n      waitingForSeekCallback: false\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getCurrentProgress\", function (event) {\n      var _this$props = _this.props,\n          audio = _this$props.audio,\n          progressBar = _this$props.progressBar;\n      var isSingleFileProgressiveDownload = audio.src.indexOf('blob:') !== 0 && typeof _this.props.srcDuration === 'undefined';\n\n      if (isSingleFileProgressiveDownload && (!audio.src || !isFinite(audio.currentTime) || !progressBar.current)) {\n        return {\n          currentTime: 0,\n          currentTimePos: '0%'\n        };\n      }\n\n      var progressBarRect = progressBar.current.getBoundingClientRect();\n      var maxRelativePos = progressBarRect.width;\n      var relativePos = getPosX(event) - progressBarRect.left;\n\n      if (relativePos < 0) {\n        relativePos = 0;\n      } else if (relativePos > maxRelativePos) {\n        relativePos = maxRelativePos;\n      }\n\n      var duration = _this.getDuration();\n\n      var currentTime = duration * relativePos / maxRelativePos;\n      return {\n        currentTime: currentTime,\n        currentTimePos: \"\".concat((relativePos / maxRelativePos * 100).toFixed(2), \"%\")\n      };\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleContextMenu\", function (event) {\n      event.preventDefault();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMouseDownOrTouchStartProgressBar\", function (event) {\n      event.stopPropagation();\n\n      var _this$getCurrentProgr = _this.getCurrentProgress(event.nativeEvent),\n          currentTime = _this$getCurrentProgr.currentTime,\n          currentTimePos = _this$getCurrentProgr.currentTimePos;\n\n      if (isFinite(currentTime)) {\n        _this.timeOnMouseMove = currentTime;\n\n        _this.setState({\n          isDraggingProgress: true,\n          currentTimePos: currentTimePos\n        });\n\n        if (event.nativeEvent instanceof MouseEvent) {\n          window.addEventListener('mousemove', _this.handleWindowMouseOrTouchMove);\n          window.addEventListener('mouseup', _this.handleWindowMouseOrTouchUp);\n        } else {\n          window.addEventListener('touchmove', _this.handleWindowMouseOrTouchMove);\n          window.addEventListener('touchend', _this.handleWindowMouseOrTouchUp);\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleWindowMouseOrTouchMove\", function (event) {\n      if (event instanceof MouseEvent) {\n        event.preventDefault();\n      }\n\n      event.stopPropagation();\n      var windowSelection = window.getSelection();\n\n      if (windowSelection && windowSelection.type === 'Range') {\n        windowSelection.empty();\n      }\n\n      var isDraggingProgress = _this.state.isDraggingProgress;\n\n      if (isDraggingProgress) {\n        var _this$getCurrentProgr2 = _this.getCurrentProgress(event),\n            currentTime = _this$getCurrentProgr2.currentTime,\n            currentTimePos = _this$getCurrentProgr2.currentTimePos;\n\n        _this.timeOnMouseMove = currentTime;\n\n        _this.setState({\n          currentTimePos: currentTimePos\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleWindowMouseOrTouchUp\", function (event) {\n      event.stopPropagation();\n      var newTime = _this.timeOnMouseMove;\n      var _this$props2 = _this.props,\n          audio = _this$props2.audio,\n          onChangeCurrentTimeError = _this$props2.onChangeCurrentTimeError,\n          onSeek = _this$props2.onSeek;\n\n      if (onSeek) {\n        _this.setState({\n          isDraggingProgress: false,\n          waitingForSeekCallback: true\n        }, function () {\n          onSeek(audio, newTime).then(function () {\n            return _this.setState({\n              waitingForSeekCallback: false\n            });\n          }, function (err) {\n            throw new Error(err);\n          });\n        });\n      } else {\n        var newProps = {\n          isDraggingProgress: false\n        };\n\n        if (audio.readyState === audio.HAVE_NOTHING || audio.readyState === audio.HAVE_METADATA || !isFinite(newTime)) {\n          newProps.currentTimePos = '0%';\n          onChangeCurrentTimeError && onChangeCurrentTimeError();\n        } else {\n          audio.currentTime = newTime;\n        }\n\n        _this.setState(newProps);\n      }\n\n      if (event instanceof MouseEvent) {\n        window.removeEventListener('mousemove', _this.handleWindowMouseOrTouchMove);\n        window.removeEventListener('mouseup', _this.handleWindowMouseOrTouchUp);\n      } else {\n        window.removeEventListener('touchmove', _this.handleWindowMouseOrTouchMove);\n        window.removeEventListener('touchend', _this.handleWindowMouseOrTouchUp);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleAudioTimeUpdate\", throttle(function (e) {\n      var isDraggingProgress = _this.state.isDraggingProgress;\n      var audio = e.target;\n      if (isDraggingProgress || _this.state.waitingForSeekCallback === true) return;\n      var currentTime = audio.currentTime;\n\n      var duration = _this.getDuration();\n\n      _this.setState({\n        currentTimePos: \"\".concat((currentTime / duration * 100 || 0).toFixed(2), \"%\")\n      });\n    }, _this.props.progressUpdateInterval));\n\n    _defineProperty(_assertThisInitialized(_this), \"handleAudioDownloadProgressUpdate\", function (e) {\n      var audio = e.target;\n\n      var duration = _this.getDuration();\n\n      var downloadProgressArr = [];\n\n      for (var i = 0; i < audio.buffered.length; i++) {\n        var bufferedStart = audio.buffered.start(i);\n        var bufferedEnd = audio.buffered.end(i);\n        downloadProgressArr.push({\n          left: \"\".concat(Math.round(100 / duration * bufferedStart) || 0, \"%\"),\n          width: \"\".concat(Math.round(100 / duration * (bufferedEnd - bufferedStart)) || 0, \"%\")\n        });\n      }\n\n      clearTimeout(_this.downloadProgressAnimationTimer);\n\n      _this.setState({\n        downloadProgressArr: downloadProgressArr,\n        hasDownloadProgressAnimation: true\n      });\n\n      _this.downloadProgressAnimationTimer = setTimeout(function () {\n        _this.setState({\n          hasDownloadProgressAnimation: false\n        });\n      }, 200);\n    });\n\n    return _this;\n  }\n\n  _createClass(ProgressBar, [{\n    key: \"getDuration\",\n    value: function getDuration() {\n      var _this$props3 = this.props,\n          audio = _this$props3.audio,\n          srcDuration = _this$props3.srcDuration;\n      return typeof srcDuration === 'undefined' ? audio.duration : srcDuration;\n    }\n  }, {\n    key: \"initialize\",\n    value: function initialize() {\n      var audio = this.props.audio;\n\n      if (audio && !this.hasAddedAudioEventListener) {\n        this.audio = audio;\n        this.hasAddedAudioEventListener = true;\n        audio.addEventListener('timeupdate', this.handleAudioTimeUpdate);\n        audio.addEventListener('progress', this.handleAudioDownloadProgressUpdate);\n      }\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.initialize();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.initialize();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.audio && this.hasAddedAudioEventListener) {\n        this.audio.removeEventListener('timeupdate', this.handleAudioTimeUpdate);\n        this.audio.removeEventListener('progress', this.handleAudioDownloadProgressUpdate);\n      }\n\n      clearTimeout(this.downloadProgressAnimationTimer);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props4 = this.props,\n          showDownloadProgress = _this$props4.showDownloadProgress,\n          showFilledProgress = _this$props4.showFilledProgress,\n          progressBar = _this$props4.progressBar,\n          i18nProgressBar = _this$props4.i18nProgressBar;\n      var _this$state = this.state,\n          currentTimePos = _this$state.currentTimePos,\n          downloadProgressArr = _this$state.downloadProgressArr,\n          hasDownloadProgressAnimation = _this$state.hasDownloadProgressAnimation;\n      return React.createElement(\"div\", {\n        className: \"rhap_progress-container\",\n        ref: progressBar,\n        \"aria-label\": i18nProgressBar,\n        role: \"progressbar\",\n        \"aria-valuemin\": 0,\n        \"aria-valuemax\": 100,\n        \"aria-valuenow\": Number(currentTimePos.split('%')[0]),\n        tabIndex: 0,\n        onMouseDown: this.handleMouseDownOrTouchStartProgressBar,\n        onTouchStart: this.handleMouseDownOrTouchStartProgressBar,\n        onContextMenu: this.handleContextMenu\n      }, React.createElement(\"div\", {\n        className: \"rhap_progress-bar \".concat(showDownloadProgress ? 'rhap_progress-bar-show-download' : '')\n      }, React.createElement(\"div\", {\n        className: \"rhap_progress-indicator\",\n        style: {\n          left: currentTimePos\n        }\n      }), showFilledProgress && React.createElement(\"div\", {\n        className: \"rhap_progress-filled\",\n        style: {\n          width: currentTimePos\n        }\n      }), showDownloadProgress && downloadProgressArr.map(function (_ref, i) {\n        var left = _ref.left,\n            width = _ref.width;\n        return React.createElement(\"div\", {\n          key: i,\n          className: \"rhap_download-progress\",\n          style: {\n            left: left,\n            width: width,\n            transitionDuration: hasDownloadProgressAnimation ? '.2s' : '0s'\n          }\n        });\n      })));\n    }\n  }]);\n\n  return ProgressBar;\n}(Component);\n\nvar ProgressBarForwardRef = function ProgressBarForwardRef(props, ref) {\n  return React.createElement(ProgressBar, _extends({}, props, {\n    progressBar: ref\n  }));\n};\n\nexport default forwardRef(ProgressBarForwardRef);\nexport { ProgressBar, ProgressBarForwardRef };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { PureComponent } from 'react';\nimport { getDisplayTimeBySeconds } from './utils';\n\nvar CurrentTime = function (_PureComponent) {\n  _inherits(CurrentTime, _PureComponent);\n\n  var _super = _createSuper(CurrentTime);\n\n  function CurrentTime(props) {\n    var _this;\n\n    _classCallCheck(this, CurrentTime);\n\n    _this = _super.call(this, props);\n\n    _defineProperty(_assertThisInitialized(_this), \"audio\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"hasAddedAudioEventListener\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      currentTime: _this.props.defaultCurrentTime\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleAudioCurrentTimeChange\", function (e) {\n      var audio = e.target;\n      var _this$props = _this.props,\n          isLeftTime = _this$props.isLeftTime,\n          timeFormat = _this$props.timeFormat,\n          defaultCurrentTime = _this$props.defaultCurrentTime;\n\n      _this.setState({\n        currentTime: getDisplayTimeBySeconds(isLeftTime ? audio.duration - audio.currentTime : audio.currentTime, audio.duration, timeFormat) || defaultCurrentTime\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"addAudioEventListeners\", function () {\n      var audio = _this.props.audio;\n\n      if (audio && !_this.hasAddedAudioEventListener) {\n        _this.audio = audio;\n        _this.hasAddedAudioEventListener = true;\n        audio.addEventListener('timeupdate', _this.handleAudioCurrentTimeChange);\n        audio.addEventListener('loadedmetadata', _this.handleAudioCurrentTimeChange);\n      }\n    });\n\n    var _audio = props.audio,\n        _defaultCurrentTime = props.defaultCurrentTime,\n        _isLeftTime = props.isLeftTime,\n        _timeFormat = props.timeFormat;\n    var currentTime = _defaultCurrentTime;\n\n    if (_audio) {\n      currentTime = getDisplayTimeBySeconds(_isLeftTime ? _audio.duration - _audio.currentTime : _audio.currentTime, _audio.duration, _timeFormat);\n    }\n\n    _this.state = {\n      currentTime: currentTime\n    };\n    return _this;\n  }\n\n  _createClass(CurrentTime, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.addAudioEventListeners();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.addAudioEventListeners();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.audio && this.hasAddedAudioEventListener) {\n        this.audio.removeEventListener('timeupdate', this.handleAudioCurrentTimeChange);\n        this.audio.removeEventListener('loadedmetadata', this.handleAudioCurrentTimeChange);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return this.state.currentTime;\n    }\n  }]);\n\n  return CurrentTime;\n}(PureComponent);\n\nexport default CurrentTime;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { PureComponent } from 'react';\nimport { getDisplayTimeBySeconds } from './utils';\n\nvar Duration = function (_PureComponent) {\n  _inherits(Duration, _PureComponent);\n\n  var _super = _createSuper(Duration);\n\n  function Duration(props) {\n    var _this;\n\n    _classCallCheck(this, Duration);\n\n    _this = _super.call(this, props);\n\n    _defineProperty(_assertThisInitialized(_this), \"audio\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"hasAddedAudioEventListener\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      duration: _this.props.audio ? getDisplayTimeBySeconds(_this.props.audio.duration, _this.props.audio.duration, _this.props.timeFormat) : _this.props.defaultDuration\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleAudioDurationChange\", function (e) {\n      var audio = e.target;\n      var _this$props = _this.props,\n          timeFormat = _this$props.timeFormat,\n          defaultDuration = _this$props.defaultDuration;\n\n      _this.setState({\n        duration: getDisplayTimeBySeconds(audio.duration, audio.duration, timeFormat) || defaultDuration\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"addAudioEventListeners\", function () {\n      var audio = _this.props.audio;\n\n      if (audio && !_this.hasAddedAudioEventListener) {\n        _this.audio = audio;\n        _this.hasAddedAudioEventListener = true;\n        audio.addEventListener('durationchange', _this.handleAudioDurationChange);\n        audio.addEventListener('abort', _this.handleAudioDurationChange);\n      }\n    });\n\n    var _audio = props.audio,\n        _timeFormat = props.timeFormat,\n        _defaultDuration = props.defaultDuration;\n    _this.state = {\n      duration: _audio ? getDisplayTimeBySeconds(_audio.duration, _audio.duration, _timeFormat) : _defaultDuration\n    };\n    return _this;\n  }\n\n  _createClass(Duration, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.addAudioEventListeners();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.addAudioEventListeners();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.audio && this.hasAddedAudioEventListener) {\n        this.audio.removeEventListener('durationchange', this.handleAudioDurationChange);\n        this.audio.removeEventListener('abort', this.handleAudioDurationChange);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return this.state.duration;\n    }\n  }]);\n\n  return Duration;\n}(PureComponent);\n\nexport default Duration;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { Component, createRef } from 'react';\nimport { getPosX } from './utils';\n\nvar VolumeControls = function (_Component) {\n  _inherits(VolumeControls, _Component);\n\n  var _super = _createSuper(VolumeControls);\n\n  function VolumeControls() {\n    var _this;\n\n    _classCallCheck(this, VolumeControls);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"audio\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"hasAddedAudioEventListener\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"volumeBar\", createRef());\n\n    _defineProperty(_assertThisInitialized(_this), \"volumeAnimationTimer\", 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"lastVolume\", _this.props.volume);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      currentVolumePos: \"\".concat((_this.lastVolume / 1 * 100 || 0).toFixed(2), \"%\"),\n      hasVolumeAnimation: false,\n      isDraggingVolume: false\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getCurrentVolume\", function (event) {\n      var audio = _this.props.audio;\n\n      if (!_this.volumeBar.current) {\n        return {\n          currentVolume: audio.volume,\n          currentVolumePos: _this.state.currentVolumePos\n        };\n      }\n\n      var volumeBarRect = _this.volumeBar.current.getBoundingClientRect();\n\n      var maxRelativePos = volumeBarRect.width;\n      var relativePos = getPosX(event) - volumeBarRect.left;\n      var currentVolume;\n      var currentVolumePos;\n\n      if (relativePos < 0) {\n        currentVolume = 0;\n        currentVolumePos = '0%';\n      } else if (relativePos > volumeBarRect.width) {\n        currentVolume = 1;\n        currentVolumePos = '100%';\n      } else {\n        currentVolume = relativePos / maxRelativePos;\n        currentVolumePos = \"\".concat(relativePos / maxRelativePos * 100, \"%\");\n      }\n\n      return {\n        currentVolume: currentVolume,\n        currentVolumePos: currentVolumePos\n      };\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleContextMenu\", function (event) {\n      event.preventDefault();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickVolumeButton\", function () {\n      var audio = _this.props.audio;\n\n      if (audio.volume > 0) {\n        _this.lastVolume = audio.volume;\n        audio.volume = 0;\n      } else {\n        audio.volume = _this.lastVolume;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleVolumnControlMouseOrTouchDown\", function (event) {\n      event.stopPropagation();\n      var audio = _this.props.audio;\n\n      var _this$getCurrentVolum = _this.getCurrentVolume(event.nativeEvent),\n          currentVolume = _this$getCurrentVolum.currentVolume,\n          currentVolumePos = _this$getCurrentVolum.currentVolumePos;\n\n      audio.volume = currentVolume;\n\n      _this.setState({\n        isDraggingVolume: true,\n        currentVolumePos: currentVolumePos\n      });\n\n      if (event.nativeEvent instanceof MouseEvent) {\n        window.addEventListener('mousemove', _this.handleWindowMouseOrTouchMove);\n        window.addEventListener('mouseup', _this.handleWindowMouseOrTouchUp);\n      } else {\n        window.addEventListener('touchmove', _this.handleWindowMouseOrTouchMove);\n        window.addEventListener('touchend', _this.handleWindowMouseOrTouchUp);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleWindowMouseOrTouchMove\", function (event) {\n      if (event instanceof MouseEvent) {\n        event.preventDefault();\n      }\n\n      event.stopPropagation();\n      var audio = _this.props.audio;\n      var windowSelection = window.getSelection();\n\n      if (windowSelection && windowSelection.type === 'Range') {\n        windowSelection.empty();\n      }\n\n      var isDraggingVolume = _this.state.isDraggingVolume;\n\n      if (isDraggingVolume) {\n        var _this$getCurrentVolum2 = _this.getCurrentVolume(event),\n            currentVolume = _this$getCurrentVolum2.currentVolume,\n            currentVolumePos = _this$getCurrentVolum2.currentVolumePos;\n\n        audio.volume = currentVolume;\n\n        _this.setState({\n          currentVolumePos: currentVolumePos\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleWindowMouseOrTouchUp\", function (event) {\n      event.stopPropagation();\n\n      _this.setState({\n        isDraggingVolume: false\n      });\n\n      if (event instanceof MouseEvent) {\n        window.removeEventListener('mousemove', _this.handleWindowMouseOrTouchMove);\n        window.removeEventListener('mouseup', _this.handleWindowMouseOrTouchUp);\n      } else {\n        window.removeEventListener('touchmove', _this.handleWindowMouseOrTouchMove);\n        window.removeEventListener('touchend', _this.handleWindowMouseOrTouchUp);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleAudioVolumeChange\", function (e) {\n      var isDraggingVolume = _this.state.isDraggingVolume;\n      var _ref = e.target,\n          volume = _ref.volume;\n\n      if (_this.lastVolume > 0 && volume === 0 || _this.lastVolume === 0 && volume > 0) {\n        _this.props.onMuteChange();\n      }\n\n      _this.lastVolume = volume;\n      if (isDraggingVolume) return;\n\n      _this.setState({\n        hasVolumeAnimation: true,\n        currentVolumePos: \"\".concat((volume / 1 * 100 || 0).toFixed(2), \"%\")\n      });\n\n      clearTimeout(_this.volumeAnimationTimer);\n      _this.volumeAnimationTimer = setTimeout(function () {\n        _this.setState({\n          hasVolumeAnimation: false\n        });\n      }, 100);\n    });\n\n    return _this;\n  }\n\n  _createClass(VolumeControls, [{\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      var audio = this.props.audio;\n\n      if (audio && !this.hasAddedAudioEventListener) {\n        this.audio = audio;\n        this.hasAddedAudioEventListener = true;\n        audio.addEventListener('volumechange', this.handleAudioVolumeChange);\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.audio && this.hasAddedAudioEventListener) {\n        this.audio.removeEventListener('volumechange', this.handleAudioVolumeChange);\n      }\n\n      clearTimeout(this.volumeAnimationTimer);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          audio = _this$props.audio,\n          showFilledVolume = _this$props.showFilledVolume,\n          i18nVolumeControl = _this$props.i18nVolumeControl;\n      var _this$state = this.state,\n          currentVolumePos = _this$state.currentVolumePos,\n          hasVolumeAnimation = _this$state.hasVolumeAnimation;\n\n      var _ref2 = audio || {},\n          volume = _ref2.volume;\n\n      return React.createElement(\"div\", {\n        ref: this.volumeBar,\n        onMouseDown: this.handleVolumnControlMouseOrTouchDown,\n        onTouchStart: this.handleVolumnControlMouseOrTouchDown,\n        onContextMenu: this.handleContextMenu,\n        role: \"progressbar\",\n        \"aria-label\": i18nVolumeControl,\n        \"aria-valuemin\": 0,\n        \"aria-valuemax\": 100,\n        \"aria-valuenow\": Number((volume * 100).toFixed(0)),\n        tabIndex: 0,\n        className: \"rhap_volume-bar-area\"\n      }, React.createElement(\"div\", {\n        className: \"rhap_volume-bar\"\n      }, React.createElement(\"div\", {\n        className: \"rhap_volume-indicator\",\n        style: {\n          left: currentVolumePos,\n          transitionDuration: hasVolumeAnimation ? '.1s' : '0s'\n        }\n      }), showFilledVolume && React.createElement(\"div\", {\n        className: \"rhap_volume-filled\",\n        style: {\n          width: currentVolumePos\n        }\n      })));\n    }\n  }]);\n\n  return VolumeControls;\n}(Component);\n\nexport default VolumeControls;","export var RHAP_UI;\n\n(function (RHAP_UI) {\n  RHAP_UI[\"CURRENT_TIME\"] = \"CURRENT_TIME\";\n  RHAP_UI[\"CURRENT_LEFT_TIME\"] = \"CURRENT_LEFT_TIME\";\n  RHAP_UI[\"PROGRESS_BAR\"] = \"PROGRESS_BAR\";\n  RHAP_UI[\"DURATION\"] = \"DURATION\";\n  RHAP_UI[\"ADDITIONAL_CONTROLS\"] = \"ADDITIONAL_CONTROLS\";\n  RHAP_UI[\"MAIN_CONTROLS\"] = \"MAIN_CONTROLS\";\n  RHAP_UI[\"VOLUME_CONTROLS\"] = \"VOLUME_CONTROLS\";\n  RHAP_UI[\"LOOP\"] = \"LOOP\";\n  RHAP_UI[\"VOLUME\"] = \"VOLUME\";\n})(RHAP_UI || (RHAP_UI = {}));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { Component, cloneElement, isValidElement, createRef } from 'react';\nimport { Icon } from '@iconify/react';\nimport ProgressBar from './ProgressBar';\nimport CurrentTime from './CurrentTime';\nimport Duration from './Duration';\nimport VolumeBar from './VolumeBar';\nimport { RHAP_UI } from './constants';\nimport { throttle, getMainLayoutClassName, getDisplayTimeBySeconds } from './utils';\n\nvar H5AudioPlayer = function (_Component) {\n  _inherits(H5AudioPlayer, _Component);\n\n  var _super = _createSuper(H5AudioPlayer);\n\n  function H5AudioPlayer() {\n    var _this;\n\n    _classCallCheck(this, H5AudioPlayer);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"audio\", createRef());\n\n    _defineProperty(_assertThisInitialized(_this), \"progressBar\", createRef());\n\n    _defineProperty(_assertThisInitialized(_this), \"container\", createRef());\n\n    _defineProperty(_assertThisInitialized(_this), \"lastVolume\", _this.props.volume);\n\n    _defineProperty(_assertThisInitialized(_this), \"listenTracker\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"volumeAnimationTimer\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"downloadProgressAnimationTimer\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"togglePlay\", function (e) {\n      e.stopPropagation();\n      var audio = _this.audio.current;\n\n      if ((audio.paused || audio.ended) && audio.src) {\n        _this.playAudioPromise();\n      } else if (!audio.paused) {\n        audio.pause();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"playAudioPromise\", function () {\n      var playPromise = _this.audio.current.play();\n\n      if (playPromise) {\n        playPromise.then(null).catch(function (err) {\n          var onPlayError = _this.props.onPlayError;\n          onPlayError && onPlayError(new Error(err));\n        });\n      } else {\n        _this.forceUpdate();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"isPlaying\", function () {\n      var audio = _this.audio.current;\n      if (!audio) return false;\n      return !audio.paused && !audio.ended;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePlay\", function (e) {\n      _this.forceUpdate();\n\n      _this.props.onPlay && _this.props.onPlay(e);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePause\", function (e) {\n      if (!_this.audio) return;\n\n      _this.forceUpdate();\n\n      _this.props.onPause && _this.props.onPause(e);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleEnded\", function (e) {\n      if (!_this.audio) return;\n\n      _this.forceUpdate();\n\n      _this.props.onEnded && _this.props.onEnded(e);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleAbort\", function (e) {\n      _this.props.onAbort && _this.props.onAbort(e);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickVolumeButton\", function () {\n      var audio = _this.audio.current;\n\n      if (audio.volume > 0) {\n        _this.lastVolume = audio.volume;\n        audio.volume = 0;\n      } else {\n        audio.volume = _this.lastVolume;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMuteChange\", function () {\n      _this.forceUpdate();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickLoopButton\", function () {\n      _this.audio.current.loop = !_this.audio.current.loop;\n\n      _this.forceUpdate();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickRewind\", function () {\n      var _this$props = _this.props,\n          progressJumpSteps = _this$props.progressJumpSteps,\n          progressJumpStep = _this$props.progressJumpStep;\n      var jumpStep = progressJumpSteps.backward || progressJumpStep;\n\n      _this.setJumpTime(-jumpStep);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickForward\", function () {\n      var _this$props2 = _this.props,\n          progressJumpSteps = _this$props2.progressJumpSteps,\n          progressJumpStep = _this$props2.progressJumpStep;\n      var jumpStep = progressJumpSteps.forward || progressJumpStep;\n\n      _this.setJumpTime(jumpStep);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"setJumpTime\", function (time) {\n      var audio = _this.audio.current;\n      var duration = audio.duration,\n          prevTime = audio.currentTime;\n\n      if (audio.readyState === audio.HAVE_NOTHING || audio.readyState === audio.HAVE_METADATA || !isFinite(duration) || !isFinite(prevTime)) {\n        return _this.props.onChangeCurrentTimeError && _this.props.onChangeCurrentTimeError();\n      }\n\n      var currentTime = prevTime + time / 1000;\n\n      if (currentTime < 0) {\n        audio.currentTime = 0;\n        currentTime = 0;\n      } else if (currentTime > duration) {\n        audio.currentTime = duration;\n        currentTime = duration;\n      } else {\n        audio.currentTime = currentTime;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"setJumpVolume\", function (volume) {\n      var newVolume = _this.audio.current.volume + volume;\n      if (newVolume < 0) newVolume = 0;else if (newVolume > 1) newVolume = 1;\n      _this.audio.current.volume = newVolume;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (e) {\n      if (_this.props.hasDefaultKeyBindings) {\n        switch (e.key) {\n          case ' ':\n            if (e.target === _this.container.current || e.target === _this.progressBar.current) {\n              e.preventDefault();\n\n              _this.togglePlay(e);\n            }\n\n            break;\n\n          case 'ArrowLeft':\n            _this.handleClickRewind();\n\n            break;\n\n          case 'ArrowRight':\n            _this.handleClickForward();\n\n            break;\n\n          case 'ArrowUp':\n            e.preventDefault();\n\n            _this.setJumpVolume(_this.props.volumeJumpStep);\n\n            break;\n\n          case 'ArrowDown':\n            e.preventDefault();\n\n            _this.setJumpVolume(-_this.props.volumeJumpStep);\n\n            break;\n\n          case 'l':\n            _this.handleClickLoopButton();\n\n            break;\n\n          case 'm':\n            _this.handleClickVolumeButton();\n\n            break;\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderUIModules\", function (modules) {\n      return modules.map(function (comp, i) {\n        return _this.renderUIModule(comp, i);\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderUIModule\", function (comp, key) {\n      var _this$props3 = _this.props,\n          defaultCurrentTime = _this$props3.defaultCurrentTime,\n          progressUpdateInterval = _this$props3.progressUpdateInterval,\n          showDownloadProgress = _this$props3.showDownloadProgress,\n          showFilledProgress = _this$props3.showFilledProgress,\n          showFilledVolume = _this$props3.showFilledVolume,\n          defaultDuration = _this$props3.defaultDuration,\n          customIcons = _this$props3.customIcons,\n          showSkipControls = _this$props3.showSkipControls,\n          onClickPrevious = _this$props3.onClickPrevious,\n          onClickNext = _this$props3.onClickNext,\n          onChangeCurrentTimeError = _this$props3.onChangeCurrentTimeError,\n          showJumpControls = _this$props3.showJumpControls,\n          customAdditionalControls = _this$props3.customAdditionalControls,\n          customVolumeControls = _this$props3.customVolumeControls,\n          muted = _this$props3.muted,\n          timeFormat = _this$props3.timeFormat,\n          volumeProp = _this$props3.volume,\n          loopProp = _this$props3.loop,\n          mse = _this$props3.mse,\n          i18nAriaLabels = _this$props3.i18nAriaLabels;\n\n      switch (comp) {\n        case RHAP_UI.CURRENT_TIME:\n          return React.createElement(\"div\", {\n            key: key,\n            id: \"rhap_current-time\",\n            className: \"rhap_time rhap_current-time\"\n          }, React.createElement(CurrentTime, {\n            audio: _this.audio.current,\n            isLeftTime: false,\n            defaultCurrentTime: defaultCurrentTime,\n            timeFormat: timeFormat\n          }));\n\n        case RHAP_UI.CURRENT_LEFT_TIME:\n          return React.createElement(\"div\", {\n            key: key,\n            id: \"rhap_current-left-time\",\n            className: \"rhap_time rhap_current-left-time\"\n          }, React.createElement(CurrentTime, {\n            audio: _this.audio.current,\n            isLeftTime: true,\n            defaultCurrentTime: defaultCurrentTime,\n            timeFormat: timeFormat\n          }));\n\n        case RHAP_UI.PROGRESS_BAR:\n          return React.createElement(ProgressBar, {\n            key: key,\n            ref: _this.progressBar,\n            audio: _this.audio.current,\n            progressUpdateInterval: progressUpdateInterval,\n            showDownloadProgress: showDownloadProgress,\n            showFilledProgress: showFilledProgress,\n            onSeek: mse && mse.onSeek,\n            onChangeCurrentTimeError: onChangeCurrentTimeError,\n            srcDuration: mse && mse.srcDuration,\n            i18nProgressBar: i18nAriaLabels.progressControl\n          });\n\n        case RHAP_UI.DURATION:\n          return React.createElement(\"div\", {\n            key: key,\n            className: \"rhap_time rhap_total-time\"\n          }, mse && mse.srcDuration ? getDisplayTimeBySeconds(mse.srcDuration, mse.srcDuration, _this.props.timeFormat) : React.createElement(Duration, {\n            audio: _this.audio.current,\n            defaultDuration: defaultDuration,\n            timeFormat: timeFormat\n          }));\n\n        case RHAP_UI.ADDITIONAL_CONTROLS:\n          return React.createElement(\"div\", {\n            key: key,\n            className: \"rhap_additional-controls\"\n          }, _this.renderUIModules(customAdditionalControls));\n\n        case RHAP_UI.MAIN_CONTROLS:\n          {\n            var isPlaying = _this.isPlaying();\n\n            var actionIcon;\n\n            if (isPlaying) {\n              actionIcon = customIcons.pause ? customIcons.pause : React.createElement(Icon, {\n                icon: \"mdi:pause-circle\"\n              });\n            } else {\n              actionIcon = customIcons.play ? customIcons.play : React.createElement(Icon, {\n                icon: \"mdi:play-circle\"\n              });\n            }\n\n            return React.createElement(\"div\", {\n              key: key,\n              className: \"rhap_main-controls\"\n            }, showSkipControls && React.createElement(\"button\", {\n              \"aria-label\": i18nAriaLabels.previous,\n              className: \"rhap_button-clear rhap_main-controls-button rhap_skip-button\",\n              type: \"button\",\n              onClick: onClickPrevious\n            }, customIcons.previous ? customIcons.previous : React.createElement(Icon, {\n              icon: \"mdi:skip-previous\"\n            })), showJumpControls && React.createElement(\"button\", {\n              \"aria-label\": i18nAriaLabels.rewind,\n              className: \"rhap_button-clear rhap_main-controls-button rhap_rewind-button\",\n              type: \"button\",\n              onClick: _this.handleClickRewind\n            }, customIcons.rewind ? customIcons.rewind : React.createElement(Icon, {\n              icon: \"mdi:rewind\"\n            })), React.createElement(\"button\", {\n              \"aria-label\": isPlaying ? i18nAriaLabels.pause : i18nAriaLabels.play,\n              className: \"rhap_button-clear rhap_main-controls-button rhap_play-pause-button\",\n              type: \"button\",\n              onClick: _this.togglePlay\n            }, actionIcon), showJumpControls && React.createElement(\"button\", {\n              \"aria-label\": i18nAriaLabels.forward,\n              className: \"rhap_button-clear rhap_main-controls-button rhap_forward-button\",\n              type: \"button\",\n              onClick: _this.handleClickForward\n            }, customIcons.forward ? customIcons.forward : React.createElement(Icon, {\n              icon: \"mdi:fast-forward\"\n            })), showSkipControls && React.createElement(\"button\", {\n              \"aria-label\": i18nAriaLabels.next,\n              className: \"rhap_button-clear rhap_main-controls-button rhap_skip-button\",\n              type: \"button\",\n              onClick: onClickNext\n            }, customIcons.next ? customIcons.next : React.createElement(Icon, {\n              icon: \"mdi:skip-next\"\n            })));\n          }\n\n        case RHAP_UI.VOLUME_CONTROLS:\n          return React.createElement(\"div\", {\n            key: key,\n            className: \"rhap_volume-controls\"\n          }, _this.renderUIModules(customVolumeControls));\n\n        case RHAP_UI.LOOP:\n          {\n            var loop = _this.audio.current ? _this.audio.current.loop : loopProp;\n            var loopIcon;\n\n            if (loop) {\n              loopIcon = customIcons.loop ? customIcons.loop : React.createElement(Icon, {\n                icon: \"mdi:repeat\"\n              });\n            } else {\n              loopIcon = customIcons.loopOff ? customIcons.loopOff : React.createElement(Icon, {\n                icon: \"mdi:repeat-off\"\n              });\n            }\n\n            return React.createElement(\"button\", {\n              key: key,\n              \"aria-label\": loop ? i18nAriaLabels.loop : i18nAriaLabels.loopOff,\n              className: \"rhap_button-clear rhap_repeat-button\",\n              type: \"button\",\n              onClick: _this.handleClickLoopButton\n            }, loopIcon);\n          }\n\n        case RHAP_UI.VOLUME:\n          {\n            var _ref = _this.audio.current || {},\n                _ref$volume = _ref.volume,\n                volume = _ref$volume === void 0 ? muted ? 0 : volumeProp : _ref$volume;\n\n            var volumeIcon;\n\n            if (volume) {\n              volumeIcon = customIcons.volume ? customIcons.volume : React.createElement(Icon, {\n                icon: \"mdi:volume-high\"\n              });\n            } else {\n              volumeIcon = customIcons.volume ? customIcons.volumeMute : React.createElement(Icon, {\n                icon: \"mdi:volume-mute\"\n              });\n            }\n\n            return React.createElement(\"div\", {\n              key: key,\n              className: \"rhap_volume-container\"\n            }, React.createElement(\"button\", {\n              \"aria-label\": volume ? i18nAriaLabels.volume : i18nAriaLabels.volumeMute,\n              onClick: _this.handleClickVolumeButton,\n              type: \"button\",\n              className: \"rhap_button-clear rhap_volume-button\"\n            }, volumeIcon), React.createElement(VolumeBar, {\n              audio: _this.audio.current,\n              volume: volume,\n              onMuteChange: _this.handleMuteChange,\n              showFilledVolume: showFilledVolume,\n              i18nVolumeControl: i18nAriaLabels.volumeControl\n            }));\n          }\n\n        default:\n          if (!isValidElement(comp)) {\n            return null;\n          }\n\n          return comp.key ? comp : cloneElement(comp, {\n            key: key\n          });\n      }\n    });\n\n    return _this;\n  }\n\n  _createClass(H5AudioPlayer, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      this.forceUpdate();\n      var audio = this.audio.current;\n\n      if (this.props.muted) {\n        audio.volume = 0;\n      } else {\n        audio.volume = this.lastVolume;\n      }\n\n      audio.addEventListener('error', function (e) {\n        _this2.props.onError && _this2.props.onError(e);\n      });\n      audio.addEventListener('canplay', function (e) {\n        _this2.props.onCanPlay && _this2.props.onCanPlay(e);\n      });\n      audio.addEventListener('canplaythrough', function (e) {\n        _this2.props.onCanPlayThrough && _this2.props.onCanPlayThrough(e);\n      });\n      audio.addEventListener('play', this.handlePlay);\n      audio.addEventListener('abort', this.handleAbort);\n      audio.addEventListener('ended', this.handleEnded);\n      audio.addEventListener('playing', function (e) {\n        _this2.props.onPlaying && _this2.props.onPlaying(e);\n      });\n      audio.addEventListener('seeking', function (e) {\n        _this2.props.onSeeking && _this2.props.onSeeking(e);\n      });\n      audio.addEventListener('seeked', function (e) {\n        _this2.props.onSeeked && _this2.props.onSeeked(e);\n      });\n      audio.addEventListener('waiting', function (e) {\n        _this2.props.onWaiting && _this2.props.onWaiting(e);\n      });\n      audio.addEventListener('emptied', function (e) {\n        _this2.props.onEmptied && _this2.props.onEmptied(e);\n      });\n      audio.addEventListener('stalled', function (e) {\n        _this2.props.onStalled && _this2.props.onStalled(e);\n      });\n      audio.addEventListener('suspend', function (e) {\n        _this2.props.onSuspend && _this2.props.onSuspend(e);\n      });\n      audio.addEventListener('loadstart', function (e) {\n        _this2.props.onLoadStart && _this2.props.onLoadStart(e);\n      });\n      audio.addEventListener('loadedmetadata', function (e) {\n        _this2.props.onLoadedMetaData && _this2.props.onLoadedMetaData(e);\n      });\n      audio.addEventListener('loadeddata', function (e) {\n        _this2.props.onLoadedData && _this2.props.onLoadedData(e);\n      });\n      audio.addEventListener('pause', this.handlePause);\n      audio.addEventListener('timeupdate', throttle(function (e) {\n        _this2.props.onListen && _this2.props.onListen(e);\n      }, this.props.listenInterval));\n      audio.addEventListener('volumechange', function (e) {\n        _this2.props.onVolumeChange && _this2.props.onVolumeChange(e);\n      });\n      audio.addEventListener('encrypted', function (e) {\n        var mse = _this2.props.mse;\n        mse && mse.onEcrypted && mse.onEcrypted(e);\n      });\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this$props4 = this.props,\n          src = _this$props4.src,\n          autoPlayAfterSrcChange = _this$props4.autoPlayAfterSrcChange;\n\n      if (prevProps.src !== src) {\n        if (autoPlayAfterSrcChange) {\n          this.playAudioPromise();\n        } else {\n          this.forceUpdate();\n        }\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props5 = this.props,\n          className = _this$props5.className,\n          src = _this$props5.src,\n          loopProp = _this$props5.loop,\n          preload = _this$props5.preload,\n          autoPlay = _this$props5.autoPlay,\n          crossOrigin = _this$props5.crossOrigin,\n          mediaGroup = _this$props5.mediaGroup,\n          header = _this$props5.header,\n          footer = _this$props5.footer,\n          layout = _this$props5.layout,\n          customProgressBarSection = _this$props5.customProgressBarSection,\n          customControlsSection = _this$props5.customControlsSection,\n          children = _this$props5.children,\n          style = _this$props5.style,\n          i18nAriaLabels = _this$props5.i18nAriaLabels;\n      var loop = this.audio.current ? this.audio.current.loop : loopProp;\n      var loopClass = loop ? 'rhap_loop--on' : 'rhap_loop--off';\n      var isPlayingClass = this.isPlaying() ? 'rhap_play-status--playing' : 'rhap_play-status--paused';\n      return React.createElement(\"div\", {\n        role: \"group\",\n        tabIndex: 0,\n        \"aria-label\": i18nAriaLabels.player,\n        className: \"rhap_container \".concat(loopClass, \" \").concat(isPlayingClass, \" \").concat(className),\n        onKeyDown: this.handleKeyDown,\n        ref: this.container,\n        style: style\n      }, React.createElement(\"audio\", {\n        src: src,\n        controls: false,\n        loop: loop,\n        autoPlay: autoPlay,\n        preload: preload,\n        crossOrigin: crossOrigin,\n        mediaGroup: mediaGroup,\n        ref: this.audio\n      }, children), header && React.createElement(\"div\", {\n        className: \"rhap_header\"\n      }, header), React.createElement(\"div\", {\n        className: \"rhap_main \".concat(getMainLayoutClassName(layout))\n      }, React.createElement(\"div\", {\n        className: \"rhap_progress-section\"\n      }, this.renderUIModules(customProgressBarSection)), React.createElement(\"div\", {\n        className: \"rhap_controls-section\"\n      }, this.renderUIModules(customControlsSection))), footer && React.createElement(\"div\", {\n        className: \"rhap_footer\"\n      }, footer));\n    }\n  }]);\n\n  return H5AudioPlayer;\n}(Component);\n\n_defineProperty(H5AudioPlayer, \"defaultProps\", {\n  autoPlay: false,\n  autoPlayAfterSrcChange: true,\n  listenInterval: 1000,\n  progressJumpStep: 5000,\n  progressJumpSteps: {},\n  volumeJumpStep: 0.1,\n  loop: false,\n  muted: false,\n  preload: 'auto',\n  progressUpdateInterval: 20,\n  defaultCurrentTime: '--:--',\n  defaultDuration: '--:--',\n  timeFormat: 'auto',\n  volume: 1,\n  className: '',\n  showJumpControls: true,\n  showSkipControls: false,\n  showDownloadProgress: true,\n  showFilledProgress: true,\n  showFilledVolume: false,\n  customIcons: {},\n  customProgressBarSection: [RHAP_UI.CURRENT_TIME, RHAP_UI.PROGRESS_BAR, RHAP_UI.DURATION],\n  customControlsSection: [RHAP_UI.ADDITIONAL_CONTROLS, RHAP_UI.MAIN_CONTROLS, RHAP_UI.VOLUME_CONTROLS],\n  customAdditionalControls: [RHAP_UI.LOOP],\n  customVolumeControls: [RHAP_UI.VOLUME],\n  layout: 'stacked',\n  hasDefaultKeyBindings: true,\n  i18nAriaLabels: {\n    player: 'Audio player',\n    progressControl: 'Audio progress control',\n    volumeControl: 'Volume control',\n    play: 'Play',\n    pause: 'Pause',\n    rewind: 'Rewind',\n    forward: 'Forward',\n    previous: 'Previous',\n    next: 'Skip',\n    loop: 'Disable loop',\n    loopOff: 'Enable loop',\n    volume: 'Mute',\n    volumeMute: 'Unmute'\n  }\n});\n\nexport default H5AudioPlayer;\nexport { RHAP_UI };","var api = require(\"!../../../player/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n            var content = require(\"!!../../css-loader/dist/cjs.js!./styles.css\");\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.id, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};"],"sourceRoot":""}