{"version":3,"sources":["jsdelivr-header.js","/npm/@hailin_yin/react-h5-audio-player@1.0.7/lib/index.js"],"names":[],"mappings":"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","file":"/npm/@hailin_yin/react-h5-audio-player@1.0.7/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@hailin_yin/react-h5-audio-player@1.0.7/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _react2 = require(\"@iconify/react\");\n\nvar _playCircle = _interopRequireDefault(require(\"@iconify/icons-mdi/play-circle\"));\n\nvar _pauseCircle = _interopRequireDefault(require(\"@iconify/icons-mdi/pause-circle\"));\n\nvar _skipPrevious = _interopRequireDefault(require(\"@iconify/icons-mdi/skip-previous\"));\n\nvar _skipNext = _interopRequireDefault(require(\"@iconify/icons-mdi/skip-next\"));\n\nvar _fastForward = _interopRequireDefault(require(\"@iconify/icons-mdi/fast-forward\"));\n\nvar _rewind = _interopRequireDefault(require(\"@iconify/icons-mdi/rewind\"));\n\nvar _volumeHigh = _interopRequireDefault(require(\"@iconify/icons-mdi/volume-high\"));\n\nvar _volumeMute = _interopRequireDefault(require(\"@iconify/icons-mdi/volume-mute\"));\n\nvar _repeat = _interopRequireDefault(require(\"@iconify/icons-mdi/repeat\"));\n\nvar _repeatOff = _interopRequireDefault(require(\"@iconify/icons-mdi/repeat-off\"));\n\nvar _ProgressBar = _interopRequireDefault(require(\"./ProgressBar\"));\n\nvar _CurrentTime = _interopRequireDefault(require(\"./CurrentTime\"));\n\nvar _Duration = _interopRequireDefault(require(\"./Duration\"));\n\nvar _VolumeBar = _interopRequireDefault(require(\"./VolumeBar\"));\n\nvar _constants = require(\"./constants\");\n\nexports.RHAP_UI = _constants.RHAP_UI;\n\nvar _utils = require(\"./utils\");\n\nvar H5AudioPlayer = function (_Component) {\n  (0, _inheritsLoose2.default)(H5AudioPlayer, _Component);\n\n  function H5AudioPlayer() {\n    var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"audio\", (0, _react.createRef)());\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"progressBar\", (0, _react.createRef)());\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"container\", (0, _react.createRef)());\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"lastVolume\", _this.props.volume);\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"listenTracker\", void 0);\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"volumeAnimationTimer\", void 0);\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"downloadProgressAnimationTimer\", void 0);\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"togglePlay\", function (e) {\n      e.stopPropagation();\n      var audio = _this.audio.current;\n\n      if (audio.paused && audio.src) {\n        var audioPromise = audio.play();\n        audioPromise.then(null).catch(function (err) {\n          var onPlayError = _this.props.onPlayError;\n          onPlayError && onPlayError(new Error(err));\n        });\n      } else if (!audio.paused) {\n        audio.pause();\n      }\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"isPlaying\", function () {\n      var audio = _this.audio.current;\n      if (!audio) return false;\n      return !audio.paused && !audio.ended;\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_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    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"handleMuteChange\", function () {\n      _this.forceUpdate();\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"handleClickLoopButton\", function () {\n      _this.audio.current.loop = !_this.audio.current.loop;\n\n      _this.forceUpdate();\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"handleClickRewind\", function () {\n      _this.setJumpTime(-_this.props.progressJumpStep);\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"handleClickForward\", function () {\n      _this.setJumpTime(_this.props.progressJumpStep);\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"setJumpTime\", function (time) {\n      var audio = _this.audio.current;\n      var duration = audio.duration,\n          prevTime = audio.currentTime;\n      if (!isFinite(duration) || !isFinite(prevTime)) return;\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    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_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    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", function (e) {\n      switch (e.keyCode) {\n        case 32:\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 37:\n          _this.handleClickRewind();\n\n          break;\n\n        case 39:\n          _this.handleClickForward();\n\n          break;\n\n        case 38:\n          e.preventDefault();\n\n          _this.setJumpVolume(_this.props.volumeJumpStep);\n\n          break;\n\n        case 40:\n          e.preventDefault();\n\n          _this.setJumpVolume(-_this.props.volumeJumpStep);\n\n          break;\n\n        case 76:\n          _this.handleClickLoopButton();\n\n          break;\n\n        case 77:\n          _this.handleClickVolumeButton();\n\n          break;\n      }\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"renderUIModules\", function (modules) {\n      return modules.map(function (comp, i) {\n        return _this.renderUIModule(comp, i);\n      });\n    });\n    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"renderUIModule\", function (comp, key) {\n      var _this$props = _this.props,\n          defaultCurrentTime = _this$props.defaultCurrentTime,\n          hideStartTime = _this$props.hideStartTime,\n          hideEndTime = _this$props.hideEndTime,\n          progressUpdateInterval = _this$props.progressUpdateInterval,\n          showDownloadProgress = _this$props.showDownloadProgress,\n          showFilledProgress = _this$props.showFilledProgress,\n          defaultDuration = _this$props.defaultDuration,\n          customIcons = _this$props.customIcons,\n          showSkipControls = _this$props.showSkipControls,\n          onClickPrevious = _this$props.onClickPrevious,\n          onClickNext = _this$props.onClickNext,\n          showJumpControls = _this$props.showJumpControls,\n          customAdditionalControls = _this$props.customAdditionalControls,\n          customVolumeControls = _this$props.customVolumeControls,\n          muted = _this$props.muted,\n          volumeProp = _this$props.volume,\n          loopProp = _this$props.loop;\n\n      switch (comp) {\n        case _constants.RHAP_UI.CURRENT_TIME:\n          if (!hideStartTime) {\n            return _react.default.createElement(\"div\", {\n              key: key,\n              id: \"rhap_current-time\",\n              className: \"rhap_time rhap_current-time\"\n            }, _react.default.createElement(_CurrentTime.default, {\n              audio: _this.audio.current,\n              defaultCurrentTime: defaultCurrentTime\n            }));\n          } else {\n            return null;\n          }\n\n        case _constants.RHAP_UI.PROGRESS_BAR:\n          return _react.default.createElement(_ProgressBar.default, {\n            key: key,\n            ref: _this.progressBar,\n            audio: _this.audio.current,\n            progressUpdateInterval: progressUpdateInterval,\n            showDownloadProgress: showDownloadProgress,\n            showFilledProgress: showFilledProgress\n          });\n\n        case _constants.RHAP_UI.DURATION:\n          if (!hideEndTime) {\n            return _react.default.createElement(\"div\", {\n              key: key,\n              className: \"rhap_time rhap_total-time\"\n            }, _react.default.createElement(_Duration.default, {\n              audio: _this.audio.current,\n              defaultDuration: defaultDuration\n            }));\n          } else {\n            return null;\n          }\n\n        case _constants.RHAP_UI.ADDITIONAL_CONTROLS:\n          return _react.default.createElement(\"div\", {\n            key: key,\n            className: \"rhap_additional-controls\"\n          }, _this.renderUIModules(customAdditionalControls));\n\n        case _constants.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.default.createElement(_react2.Icon, {\n                icon: _pauseCircle.default\n              });\n            } else {\n              actionIcon = customIcons.play ? customIcons.play : _react.default.createElement(_react2.Icon, {\n                icon: _playCircle.default\n              });\n            }\n\n            return _react.default.createElement(\"div\", {\n              key: key,\n              className: \"rhap_main-controls\"\n            }, showSkipControls && _react.default.createElement(\"button\", {\n              \"aria-label\": \"Previous\",\n              className: \"rhap_button-clear rhap_main-controls-button rhap_skip-button\",\n              onClick: onClickPrevious\n            }, customIcons.previous ? customIcons.previous : _react.default.createElement(_react2.Icon, {\n              icon: _skipPrevious.default\n            })), showJumpControls && _react.default.createElement(\"button\", {\n              \"aria-label\": \"Rewind\",\n              className: \"rhap_button-clear rhap_main-controls-button rhap_rewind-button\",\n              onClick: _this.handleClickRewind\n            }, customIcons.rewind ? customIcons.rewind : _react.default.createElement(_react2.Icon, {\n              icon: _rewind.default\n            })), _react.default.createElement(\"button\", {\n              \"aria-label\": isPlaying ? 'Pause' : 'Play',\n              className: \"rhap_button-clear rhap_main-controls-button rhap_play-pause-button\",\n              onClick: _this.togglePlay\n            }, actionIcon), showJumpControls && _react.default.createElement(\"button\", {\n              \"aria-label\": \"Forward\",\n              className: \"rhap_button-clear rhap_main-controls-button rhap_forward-button\",\n              onClick: _this.handleClickForward\n            }, customIcons.forward ? customIcons.forward : _react.default.createElement(_react2.Icon, {\n              icon: _fastForward.default\n            })), showSkipControls && _react.default.createElement(\"button\", {\n              \"aria-label\": \"Skip\",\n              className: \"rhap_button-clear rhap_main-controls-button rhap_skip-button\",\n              onClick: onClickNext\n            }, customIcons.next ? customIcons.next : _react.default.createElement(_react2.Icon, {\n              icon: _skipNext.default\n            })));\n          }\n\n        case _constants.RHAP_UI.VOLUME_CONTROLS:\n          return _react.default.createElement(\"div\", {\n            key: key,\n            className: \"rhap_volume-controls\"\n          }, _this.renderUIModules(customVolumeControls));\n\n        case _constants.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.default.createElement(_react2.Icon, {\n                icon: _repeat.default\n              });\n            } else {\n              loopIcon = customIcons.loopOff ? customIcons.loopOff : _react.default.createElement(_react2.Icon, {\n                icon: _repeatOff.default\n              });\n            }\n\n            return _react.default.createElement(\"button\", {\n              key: key,\n              \"aria-label\": loop ? 'Enable Loop' : 'Disable Loop',\n              className: \"rhap_button-clear rhap_repeat-button\",\n              onClick: _this.handleClickLoopButton\n            }, loopIcon);\n          }\n\n        case _constants.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.default.createElement(_react2.Icon, {\n                icon: _volumeHigh.default\n              });\n            } else {\n              volumeIcon = customIcons.volume ? customIcons.volumeMute : _react.default.createElement(_react2.Icon, {\n                icon: _volumeMute.default\n              });\n            }\n\n            return _react.default.createElement(\"div\", {\n              key: key,\n              className: \"rhap_volume-container\"\n            }, _react.default.createElement(\"button\", {\n              \"aria-label\": volume ? 'Mute' : 'Unmute',\n              onClick: _this.handleClickVolumeButton,\n              className: \"rhap_button-clear rhap_volume-button\"\n            }, volumeIcon), _react.default.createElement(_VolumeBar.default, {\n              audio: _this.audio.current,\n              volume: volume,\n              onMuteChange: _this.handleMuteChange\n            }));\n          }\n\n        default:\n          if (!(0, _react.isValidElement)(comp)) {\n            return null;\n          }\n\n          return comp.key ? comp : (0, _react.cloneElement)(comp, {\n            key: key\n          });\n      }\n    });\n    return _this;\n  }\n\n  var _proto = H5AudioPlayer.prototype;\n\n  _proto.componentDidMount = 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', function (e) {\n      _this2.forceUpdate();\n\n      _this2.props.onPlay && _this2.props.onPlay(e);\n    });\n    audio.addEventListener('abort', function (e) {\n      var autoPlayAfterSrcChange = _this2.props.autoPlayAfterSrcChange;\n\n      if (autoPlayAfterSrcChange) {\n        audio.play();\n      } else {\n        _this2.forceUpdate();\n      }\n\n      _this2.props.onAbort && _this2.props.onAbort(e);\n    });\n    audio.addEventListener('ended', function (e) {\n      _this2.props.onEnded && _this2.props.onEnded(e);\n    });\n    audio.addEventListener('pause', function (e) {\n      if (!_this2.audio) return;\n\n      _this2.forceUpdate();\n\n      _this2.props.onPause && _this2.props.onPause(e);\n    });\n    audio.addEventListener('timeupdate', (0, _utils.throttle)(function (e) {\n      _this2.props.onListen && _this2.props.onListen(e);\n    }, this.props.listenInterval));\n  };\n\n  _proto.render = function render() {\n    var _this$props2 = this.props,\n        className = _this$props2.className,\n        src = _this$props2.src,\n        loopProp = _this$props2.loop,\n        preload = _this$props2.preload,\n        autoPlay = _this$props2.autoPlay,\n        crossOrigin = _this$props2.crossOrigin,\n        mediaGroup = _this$props2.mediaGroup,\n        header = _this$props2.header,\n        footer = _this$props2.footer,\n        layout = _this$props2.layout,\n        customProgressBarSection = _this$props2.customProgressBarSection,\n        customControlsSection = _this$props2.customControlsSection,\n        children = _this$props2.children,\n        style = _this$props2.style;\n    var loop = this.audio.current ? this.audio.current.loop : loopProp;\n    return _react.default.createElement(\"div\", {\n      role: \"group\",\n      tabIndex: 0,\n      \"aria-label\": \"Audio Player\",\n      className: \"rhap_container \" + className,\n      onKeyDown: this.handleKeyDown,\n      ref: this.container,\n      style: style\n    }, _react.default.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.default.createElement(\"div\", {\n      className: \"rhap_header\"\n    }, header), _react.default.createElement(\"div\", {\n      className: \"rhap_main \" + (0, _utils.getMainLayoutClassName)(layout)\n    }, _react.default.createElement(\"div\", {\n      className: \"rhap_progress-section\"\n    }, this.renderUIModules(customProgressBarSection)), _react.default.createElement(\"div\", {\n      className: \"rhap_controls-section\"\n    }, this.renderUIModules(customControlsSection))), footer && _react.default.createElement(\"div\", {\n      className: \"rhap_footer\"\n    }, footer));\n  };\n\n  return H5AudioPlayer;\n}(_react.Component);\n\n(0, _defineProperty2.default)(H5AudioPlayer, \"defaultProps\", {\n  autoPlay: false,\n  autoPlayAfterSrcChange: true,\n  listenInterval: 1000,\n  progressJumpStep: 5000,\n  volumeJumpStep: 0.1,\n  loop: false,\n  muted: false,\n  preload: 'auto',\n  progressUpdateInterval: 20,\n  defaultCurrentTime: '--:--',\n  defaultDuration: '--:--',\n  volume: 1,\n  className: '',\n  showJumpControls: true,\n  showSkipControls: false,\n  showDownloadProgress: true,\n  showFilledProgress: true,\n  customIcons: {},\n  customProgressBarSection: [_constants.RHAP_UI.CURRENT_TIME, _constants.RHAP_UI.PROGRESS_BAR, _constants.RHAP_UI.DURATION],\n  customControlsSection: [_constants.RHAP_UI.ADDITIONAL_CONTROLS, _constants.RHAP_UI.MAIN_CONTROLS, _constants.RHAP_UI.VOLUME_CONTROLS],\n  customAdditionalControls: [_constants.RHAP_UI.LOOP],\n  customVolumeControls: [_constants.RHAP_UI.VOLUME],\n  layout: 'stacked',\n  hideStartTime: false,\n  hideEndTime: false\n});\nvar _default = H5AudioPlayer;\nexports.default = _default;"]}