{"version":3,"sources":["webpack:///./src/js/components/dropdown.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./src/js/modules/audioPlayer/volumeControl.js","webpack:///./src/js/modules/audioPlayer/audioOptions.js","webpack:///./src/js/modules/audioPlayer/index.js"],"names":["Module","this","options","el","style","dataset","multiselect","selectedArray","buildMultiSelectDropdown","buildDropdown","document","addEventListener","handleClickOutside","bind","handleOptionSelect","dom","trigger","handleTriggerClick","handleTriggerKeydown","parentNode","hideDropdownList","list","childNodes","forEach","item","selectItem","event","callback","value","Event","createEvent","initEvent","dispatchEvent","e","wrapper","target","contains","innerHTML","getPlaceholder","option","includes","setAttribute","isDevice","getAttribute","showDropdownList","which","keyCode","activeItem","preventDefault","stopPropagation","nextElement","previousElementSibling","focusItem","focusLast","nextElementSibling","focusFirst","getElementById","checked","filter","push","element","removeAttribute","defocusItem","scrollHeight","clientHeight","scrollBottom","scrollTop","elementBottom","offsetTop","offsetHeight","firstItem","querySelector","items","querySelectorAll","length","classList","add","remove","placeholder","selectedOptionLabel","count","find","text","listId","uuidv4","createElement","insertBefore","appendChild","label","id","textContent","map","disabled","join","nextSibling","trim","parent","removeChild","destroy","setupDefaults","addListeners","Component","getRandomValues","rnds8","Uint8Array","rng","crypto","msCrypto","Error","uuid","test","byteToHex","toString","substr","arr","offset","arguments","undefined","toLowerCase","TypeError","buf","rnds","random","i","VolumeControl","trackProgress","audioElement","props","volumeLevel","volumeBtn","volumeIcon","muteIcon","isAudioReady","checkAudioState","handleValueChange","handleControlBlur","handleControlFocus","handleMuteUnmuteBtn","readyState","audioReady","setVolume","volume","muteAudio","unmuteAudio","setVolumeStyle","volumePercent","setProperty","muted","display","console","log","AditionalOptions","playbackSelect","optionsBtn","optionsMenu","downloadBtn","playbackRate","handleOptionsClick","handlePlaybackChange","window","handleWindowClick","src","progressTrack","playPauseBtn","playIcon","pauseIcon","currentTime","totalTime","volumeControl","audioOptions","audioSource","progressPercent","setProgressStyle","handlePlayPauseBtn","handleAudioEnded","pauseAudio","setDuration","initVolumeControl","initAudioOptions","AudioOptions","calculateTime","duration","ellapsedTime","minutes","Math","floor","seconds","returnedSeconds","raf","requestAnimationFrame","progressUpdate","play","pause","cancelAnimationFrame","paused","playAudio"],"mappings":"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","file":"10.f34d79347dce8b0f84e7.js","sourcesContent":["import { Component } from '@verndale/core';\r\nimport { isDevice } from '../helpers';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nclass Module extends Component {\r\n setupDefaults() {\r\n this.options = [...this.el];\r\n this.style = this.el.dataset.style;\r\n this.multiselect = this.el.dataset.multiselect;\r\n this.selectedArray = [];\r\n\r\n if (!this.multiselect) this.buildDropdown();\r\n else this.buildMultiSelectDropdown();\r\n }\r\n\r\n addListeners() {\r\n document.addEventListener('click', this.handleClickOutside.bind(this));\r\n this.el.addEventListener('change', this.handleOptionSelect.bind(this));\r\n this.dom.trigger.addEventListener(\r\n 'click',\r\n this.handleTriggerClick.bind(this)\r\n );\r\n this.dom.trigger.addEventListener(\r\n 'keydown',\r\n this.handleTriggerKeydown.bind(this)\r\n );\r\n this.dom.trigger.parentNode.addEventListener(\r\n 'blur',\r\n this.hideDropdownList.bind(this)\r\n );\r\n this.dom.list.childNodes.forEach(item => {\r\n item.addEventListener('click', () => this.selectItem(item));\r\n });\r\n }\r\n\r\n on(event, callback) {\r\n this.el.addEventListener(event, callback);\r\n }\r\n\r\n setValue(value) {\r\n let event;\r\n\r\n if (typeof Event === 'function') {\r\n event = new Event('change');\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent('change', true, true);\r\n }\r\n\r\n this.el.value = value;\r\n this.el.dispatchEvent(event);\r\n }\r\n\r\n getValue() {\r\n return this.el.value;\r\n }\r\n\r\n handleClickOutside(e) {\r\n if (this.dom.wrapper !== e.target && !this.dom.wrapper.contains(e.target)) {\r\n this.hideDropdownList();\r\n }\r\n }\r\n\r\n handleOptionSelect() {\r\n let event;\r\n\r\n if (typeof Event === 'function') {\r\n event = new Event('option');\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent('option', true, true);\r\n }\r\n\r\n if (this.multiselect) {\r\n this.dom.trigger.innerHTML = this.getPlaceholder(this.selectedArray);\r\n this.options.forEach(option => {\r\n if (this.selectedArray.includes(option.value)) {\r\n option.setAttribute('aria-selected', true);\r\n } else {\r\n option.setAttribute('aria-selected', false);\r\n }\r\n });\r\n\r\n\r\n this.dom.list.childNodes.forEach(item => {\r\n if (item.dataset) {\r\n if (this.selectedArray.includes(item.dataset.value)) {\r\n item.setAttribute('aria-selected', true);\r\n } else {\r\n item.setAttribute('aria-selected', false);\r\n }\r\n }\r\n });\r\n } else {\r\n this.dom.trigger.innerHTML = this.getPlaceholder(this.el.value);\r\n\r\n this.options.forEach(option => {\r\n if (option.value === this.el.value) {\r\n option.setAttribute('aria-selected', true);\r\n } else {\r\n option.setAttribute('aria-selected', false);\r\n }\r\n });\r\n\r\n this.dom.list.childNodes.forEach(item => {\r\n if (item.dataset.value === this.el.value) {\r\n item.setAttribute('aria-selected', true);\r\n } else {\r\n item.setAttribute('aria-selected', false);\r\n }\r\n });\r\n }\r\n\r\n this.el.dispatchEvent(event);\r\n }\r\n\r\n handleTriggerClick() {\r\n if (isDevice()) {\r\n //return;\r\n }\r\n\r\n if (!this.dom.trigger.getAttribute('aria-expanded')) {\r\n this.showDropdownList();\r\n } else {\r\n this.hideDropdownList();\r\n }\r\n }\r\n\r\n handleTriggerKeydown(e) {\r\n if (isDevice()) return;\r\n\r\n const key = e.which || e.keyCode;\r\n\r\n switch (key) {\r\n case 13: // ENTER\r\n if (this.dom.trigger.getAttribute('aria-expanded')) {\r\n if (this.activeItem) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.selectItem(this.activeItem);\r\n }\r\n }\r\n break;\r\n case 38: // UP\r\n e.preventDefault();\r\n this.showDropdownList();\r\n\r\n if (this.activeItem) {\r\n const nextElement = this.activeItem.previousElementSibling;\r\n\r\n if (nextElement) {\r\n this.focusItem(nextElement);\r\n } else {\r\n this.focusLast();\r\n }\r\n } else {\r\n this.focusLast();\r\n }\r\n\r\n break;\r\n case 40: // DOWN\r\n e.preventDefault();\r\n this.showDropdownList();\r\n\r\n if (this.activeItem) {\r\n const nextElement = this.activeItem.nextElementSibling;\r\n\r\n if (nextElement) {\r\n this.focusItem(nextElement);\r\n } else {\r\n this.focusFirst();\r\n }\r\n } else {\r\n this.focusFirst();\r\n }\r\n\r\n break;\r\n case 36:\r\n e.preventDefault();\r\n this.focusFirst();\r\n break;\r\n case 35:\r\n e.preventDefault();\r\n this.focusLast();\r\n break;\r\n }\r\n }\r\n\r\n selectItem(item) {\r\n this.el.value = item.dataset.value;\r\n if (this.multiselect) {\r\n if (this.selectedArray.includes(this.el.value)) {\r\n if (this.el.value === 'All') {\r\n\r\n this.selectedArray = [];\r\n this.options.forEach(option => {\r\n if (option.value) {\r\n document.getElementById(option.value).checked = false;\r\n }\r\n });\r\n } else {\r\n if (this.el.value !== 'All') {\r\n document.getElementById('All').checked = false;\r\n this.selectedArray = this.selectedArray.filter(item => item !== 'All');\r\n }\r\n\r\n }\r\n document.getElementById(this.el.value).checked = false;\r\n this.selectedArray = this.selectedArray.filter(item => item !== this.el.value);\r\n } else {\r\n if (this.el.value === 'All') {\r\n this.selectedArray = [];\r\n this.options.forEach(option => {\r\n if (option.value) {\r\n this.selectedArray.push(option.value);\r\n document.getElementById(option.value).checked = true;\r\n }\r\n });\r\n } else {\r\n document.getElementById(this.el.value).checked = true;\r\n this.selectedArray.push(item.dataset.value);\r\n }\r\n }\r\n this.handleOptionSelect()\r\n } else {\r\n this.handleOptionSelect()\r\n this.hideDropdownList();\r\n }\r\n }\r\n\r\n defocusItem(element) {\r\n if (!element) return;\r\n element.removeAttribute('aria-selected');\r\n }\r\n\r\n focusItem(element) {\r\n this.defocusItem(this.activeItem);\r\n element.setAttribute('aria-selected', 'true');\r\n this.activeItem = element;\r\n\r\n if (this.dom.list.scrollHeight > this.dom.list.clientHeight) {\r\n const scrollBottom = this.dom.list.clientHeight + this.dom.list.scrollTop;\r\n const elementBottom = element.offsetTop + element.offsetHeight;\r\n if (elementBottom > scrollBottom) {\r\n this.dom.list.scrollTop = elementBottom - this.dom.list.clientHeight;\r\n } else if (element.offsetTop < this.dom.list.scrollTop) {\r\n this.dom.list.scrollTop = element.offsetTop;\r\n }\r\n }\r\n }\r\n\r\n focusFirst() {\r\n const firstItem = this.dom.list.querySelector('[role=\"option\"]');\r\n if (firstItem) {\r\n this.focusItem(firstItem);\r\n }\r\n }\r\n\r\n focusLast() {\r\n const items = this.dom.list.querySelectorAll('[role=\"option\"]');\r\n\r\n if (items.length) {\r\n this.focusItem(items[items.length - 1]);\r\n }\r\n }\r\n\r\n showDropdownList() {\r\n this.dom.wrapper.classList.add('is-focused');\r\n this.dom.trigger.setAttribute('aria-expanded', true);\r\n }\r\n\r\n hideDropdownList() {\r\n this.dom.wrapper.classList.remove('is-focused');\r\n this.dom.trigger.removeAttribute('aria-expanded');\r\n this.defocusItem(this.activeItem);\r\n this.activeItem = null;\r\n }\r\n\r\n getPlaceholder(value) {\r\n const placeholder = this.el.dataset.placeholder;\r\n\r\n if (this.multiselect) {\r\n let selectedOptionLabel, count = value.length;\r\n if (value.length > 0) {\r\n if (value.includes('All')) count = count - 1;\r\n if (value.includes('')) count = count - 1;\r\n selectedOptionLabel = `Selected(${count})`;\r\n } else {\r\n selectedOptionLabel = this.options.find(\r\n option => option.value === ''\r\n ).text;\r\n }\r\n if (placeholder) {\r\n return `${\r\n selectedOptionLabel\r\n ? `${placeholder}:`\r\n : `${placeholder}`\r\n } ${selectedOptionLabel}`;\r\n }\r\n return selectedOptionLabel;\r\n }\r\n\r\n const selectedOptionLabel = this.options.find(\r\n option => option.value === value\r\n ).text;\r\n if (placeholder) {\r\n return `${\r\n selectedOptionLabel\r\n ? `${placeholder}:`\r\n : `${placeholder}`\r\n } ${selectedOptionLabel}`;\r\n }\r\n return selectedOptionLabel;\r\n\r\n }\r\n\r\n buildDropdown() {\r\n const listId = uuidv4();\r\n this.dom.wrapper = document.createElement('div');\r\n this.el.setAttribute('aria-hidden', true);\r\n this.el.setAttribute('tabindex', '-1');\r\n this.el.parentNode.insertBefore(this.dom.wrapper, this.el);\r\n this.dom.wrapper.classList.add('dropdown');\r\n\r\n if (this.style) {\r\n this.dom.wrapper.classList.add(`dropdown--${this.style}`);\r\n }\r\n\r\n if (isDevice()) {\r\n this.dom.wrapper.classList.add('dropdown--native');\r\n }\r\n this.dom.wrapper.appendChild(this.el);\r\n\r\n this.dom.trigger = document.createElement('button');\r\n this.dom.trigger.classList.add('dropdown__trigger');\r\n this.dom.trigger.setAttribute('type', 'button');\r\n this.dom.trigger.setAttribute('role', 'combobox');\r\n this.dom.trigger.setAttribute('aria-haspopup', 'listbox');\r\n this.dom.trigger.setAttribute('aria-expanded', false);\r\n this.dom.trigger.setAttribute('aria-controls', `${listId}`);\r\n\r\n // Get label\r\n const label = document.querySelector(`label[for=\"${this.el.id}\"]`);\r\n\r\n if (label) {\r\n this.dom.trigger.setAttribute('aria-label', label.textContent);\r\n this.dom.wrapper.appendChild(label);\r\n }\r\n\r\n this.dom.trigger.innerHTML = this.getPlaceholder(this.el.value);\r\n\r\n this.dom.wrapper.appendChild(this.dom.trigger);\r\n\r\n this.dom.list = document.createElement('ul');\r\n this.dom.list.id = listId;\r\n this.dom.list.classList.add('dropdown__list');\r\n this.dom.list.setAttribute('role', 'listbox');\r\n this.dom.list.setAttribute(\r\n 'aria-label',\r\n this.el.getAttribute('aria-label')\r\n );\r\n this.dom.list.innerHTML = this.options\r\n //.filter(option => option.value)\r\n .map(\r\n option => {\r\n const disabled = option.getAttribute('disabled') ? ' is-disabled' : '';\r\n return `