{"version":3,"names":[],"mappings":"","sources":["audio.js"],"sourcesContent":["(function() {\n AudioControl = function(el) {\n this.ctrl = el;\n this.audio = new Audio(el.dataset.url);\n this.state = \"paused\";\n this.toggleState = function() {\n this.setState(this.state === \"paused\" ? \"playing\" : \"paused\");\n };\n this.setState = function(state) {\n if (state === \"paused\") {\n this.ctrl.classList.remove(\"fa-pause\");\n this.ctrl.classList.add(\"fa-play\");\n this.audio.pause();\n } else if (state === \"playing\") {\n this.ctrl.classList.add(\"fa-pause\");\n this.ctrl.classList.remove(\"fa-play\");\n this.audio.play();\n }\n this.state = state;\n };\n if (this.audio) {\n this.ctrl.addEventListener(\n \"click\",\n function() {\n this.toggleState();\n }.bind(this)\n );\n this.audio.addEventListener(\n \"ended\",\n function() {\n this.setState(\"paused\");\n }.bind(this)\n );\n }\n };\n var audioControls = document.querySelectorAll(\".control-audio\");\n Array.from(audioControls).forEach(function(audio) {\n new AudioControl(audio);\n });\n})();\n"],"file":"audio.js"}