{"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.2632e6eba1a383e7e22b.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":""}