{"version":3,"file":"js/nice-select2.js","mappings":"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","sources":["webpack://NiceSelect/webpack/universalModuleDefinition","webpack://NiceSelect/webpack/bootstrap","webpack://NiceSelect/webpack/runtime/define property getters","webpack://NiceSelect/webpack/runtime/hasOwnProperty shorthand","webpack://NiceSelect/webpack/runtime/make namespace object","webpack://NiceSelect/./src/js/nice-select2.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiceSelect\"] = factory();\n\telse\n\t\troot[\"NiceSelect\"] = factory();\n})(self, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"../scss/nice-select2.scss\";\r\n\r\n// utility functions\r\nfunction triggerClick(el) {\r\n var event = document.createEvent(\"MouseEvents\");\r\n event.initEvent(\"click\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerChange(el) {\r\n var event = document.createEvent(\"HTMLEvents\");\r\n event.initEvent(\"change\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerFocusIn(el) {\r\n var event = document.createEvent(\"FocusEvent\");\r\n event.initEvent(\"focusin\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerFocusOut(el) {\r\n var event = document.createEvent(\"FocusEvent\");\r\n event.initEvent(\"focusout\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerModalOpen(el) {\r\n var event = document.createEvent(\"UIEvent\");\r\n event.initEvent(\"modalopen\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerModalClose(el) {\r\n var event = document.createEvent(\"UIEvent\");\r\n event.initEvent(\"modalclose\", true, false);\r\n el.dispatchEvent(event);\r\n}\r\n\r\nfunction triggerValidationMessage(el, type) {\r\n if(type == 'invalid'){\r\n addClass(this.dropdown, 'invalid');\r\n removeClass(this.dropdown, 'valid');\r\n }else{\r\n addClass(this.dropdown, 'valid');\r\n removeClass(this.dropdown, 'invalid');\r\n }\r\n}\r\n\r\nfunction attr(el, key) {\r\n if(el[key] != undefined){\r\n return el[key];\r\n }\r\n return el.getAttribute(key);\r\n}\r\n\r\nfunction data(el, key) {\r\n return el.getAttribute(\"data-\" + key);\r\n}\r\n\r\nfunction hasClass(el, className) {\r\n if (el){\r\n return el.classList.contains(className);\r\n }else{\r\n return false;\r\n }\r\n}\r\n\r\nfunction addClass(el, className) {\r\n if (el) return el.classList.add(className);\r\n}\r\n\r\nfunction removeClass(el, className) {\r\n if (el) return el.classList.remove(className);\r\n}\r\n\r\nvar defaultOptions = {\r\n data: null,\r\n searchable: false,\r\n showSelectedItems: false\r\n};\r\n\r\nexport default function NiceSelect(element, options) {\r\n this.el = element;\r\n this.config = Object.assign({}, defaultOptions, options || {});\r\n this.data = this.config.data;\r\n this.selectedOptions = [];\r\n\r\n this.placeholder = attr(this.el, \"placeholder\") || this.config.placeholder || \"Select an option\";\r\n this.searchtext = attr(this.el, \"searchtext\") || this.config.searchtext || \"Search\";\r\n this.selectedtext = attr(this.el, \"selectedtext\") || this.config.selectedtext || \"selected\";\r\n\r\n this.dropdown = null;\r\n this.multiple = attr(this.el, \"multiple\");\r\n this.disabled = attr(this.el, \"disabled\");\r\n\r\n this.create();\r\n}\r\n\r\nNiceSelect.prototype.create = function() {\r\n this.el.style.opacity = \"0\";\r\n this.el.style.width = \"0\";\r\n this.el.style.padding = \"0\";\r\n this.el.style.height = \"0\";\r\n if (this.data) {\r\n this.processData(this.data);\r\n } else {\r\n this.extractData();\r\n }\r\n\r\n this.renderDropdown();\r\n this.bindEvent();\r\n};\r\n\r\nNiceSelect.prototype.processData = function(data) {\r\n var options = [];\r\n data.forEach(item=> {\r\n options.push({\r\n data: item,\r\n attributes: {\r\n selected: !!item.selected,\r\n disabled: !!item.disabled,\r\n\t\t optgroup: item.value == 'optgroup'\r\n }\r\n });\r\n });\r\n this.options = options;\r\n};\r\n\r\nNiceSelect.prototype.extractData = function() {\r\n var options = this.el.querySelectorAll(\"option,optgroup\");\r\n var data = [];\r\n var allOptions = [];\r\n var selectedOptions = [];\r\n\r\n options.forEach(item => {\r\n if(item.tagName == 'OPTGROUP'){\r\n var itemData = {\r\n text: item.label,\r\n value: 'optgroup'\r\n };\r\n }else{\r\n let text = item.innerText;\r\n if(item.dataset.display != undefined){\r\n text = item.dataset.display;\r\n }\r\n\r\n var itemData = {\r\n text: text,\r\n value: item.value,\r\n selected: item.getAttribute(\"selected\") != null,\r\n disabled: item.getAttribute(\"disabled\") != null\r\n };\r\n }\r\n\r\n var attributes = {\r\n selected: item.getAttribute(\"selected\") != null,\r\n disabled: item.getAttribute(\"disabled\") != null,\r\n\t optgroup: item.tagName == 'OPTGROUP'\r\n };\r\n\r\n data.push(itemData);\r\n allOptions.push({ data: itemData, attributes: attributes });\r\n });\r\n\r\n this.data = data;\r\n this.options = allOptions;\r\n this.options.forEach(item => {\r\n if (item.attributes.selected){\r\n selectedOptions.push(item);\r\n }\r\n });\r\n\r\n this.selectedOptions = selectedOptions;\r\n};\r\n\r\nNiceSelect.prototype.renderDropdown = function() {\r\n var classes = [\r\n \"nice-select\",\r\n attr(this.el, \"class\") || \"\",\r\n this.disabled ? \"disabled\" : \"\",\r\n this.multiple ? \"has-multiple\" : \"\"\r\n ];\r\n\r\n let searchHtml = `
`;\r\n searchHtml += ``;\r\n searchHtml += `
`;\r\n\r\n var html = `
`;\r\n html += ``;\r\n html += `
`;\r\n html += `${this.config.searchable ? searchHtml : \"\"}`;\r\n html += ``;\r\n html += `
`;\r\n html += `
`;\r\n\r\n this.el.insertAdjacentHTML(\"afterend\", html);\r\n\r\n this.dropdown = this.el.nextElementSibling;\r\n this._renderSelectedItems();\r\n this._renderItems();\r\n};\r\n\r\nNiceSelect.prototype._renderSelectedItems = function() {\r\n if (this.multiple) {\r\n var selectedHtml = \"\";\r\n if(this.config.showSelectedItems || this.config.showSelectedItems || window.getComputedStyle(this.dropdown).width == 'auto' || this.selectedOptions.length < 2){\r\n this.selectedOptions.forEach(function(item) {\r\n selectedHtml += `${item.data.text}`;\r\n });\r\n\r\n selectedHtml = selectedHtml == \"\" ? this.placeholder : selectedHtml;\r\n }else{\r\n selectedHtml = this.selectedOptions.length+' '+this.selectedtext;\r\n }\r\n\t\r\n this.dropdown.querySelector(\".multiple-options\").innerHTML = selectedHtml;\r\n } else {\r\n var html = this.selectedOptions.length > 0 ? this.selectedOptions[0].data.text : this.placeholder;\r\n\r\n this.dropdown.querySelector(\".current\").innerHTML = html;\r\n }\r\n};\r\n\r\nNiceSelect.prototype._renderItems = function() {\r\n var ul = this.dropdown.querySelector(\"ul\");\r\n this.options.forEach(item => {\r\n ul.appendChild(this._renderItem(item));\r\n });\r\n};\r\n\r\nNiceSelect.prototype._renderItem = function(option) {\r\n var el = document.createElement(\"li\");\r\n\r\n el.innerHTML = option.data.text;\r\n\r\n if(option.attributes.optgroup){\r\n\t addClass(el, 'optgroup');\r\n }else{\r\n el.setAttribute(\"data-value\", option.data.value);\r\n var classList = [\r\n \"option\",\r\n option.attributes.selected ? \"selected\" : null,\r\n option.attributes.disabled ? \"disabled\" : null,\r\n ];\r\n \r\n el.addEventListener(\"click\", this._onItemClicked.bind(this, option));\r\n el.classList.add(...classList);\r\n }\r\n\r\n option.element = el;\r\n return el;\r\n};\r\n\r\nNiceSelect.prototype.update = function() {\r\n this.extractData();\r\n if (this.dropdown) {\r\n var open = hasClass(this.dropdown, \"open\");\r\n this.dropdown.parentNode.removeChild(this.dropdown);\r\n this.create();\r\n\r\n if (open) {\r\n triggerClick(this.dropdown);\r\n }\r\n }\r\n\r\n if(attr(this.el, \"disabled\")) {\r\n this.disable();\r\n } else {\r\n this.enable();\r\n }\r\n};\r\n\r\nNiceSelect.prototype.disable = function() {\r\n if (!this.disabled) {\r\n this.disabled = true;\r\n addClass(this.dropdown, \"disabled\");\r\n }\r\n};\r\n\r\nNiceSelect.prototype.enable = function() {\r\n if (this.disabled) {\r\n this.disabled = false;\r\n removeClass(this.dropdown, \"disabled\");\r\n }\r\n};\r\n\r\nNiceSelect.prototype.clear = function() {\r\n this.resetSelectValue();\r\n this.selectedOptions = [];\r\n this._renderSelectedItems();\r\n this.update();\r\n\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype.destroy = function() {\r\n if (this.dropdown) {\r\n this.dropdown.parentNode.removeChild(this.dropdown);\r\n this.el.style.display = \"\";\r\n }\r\n};\r\n\r\nNiceSelect.prototype.bindEvent = function() {\r\n var $this = this;\r\n this.dropdown.addEventListener(\"click\", this._onClicked.bind(this));\r\n this.dropdown.addEventListener(\"keydown\", this._onKeyPressed.bind(this));\r\n this.dropdown.addEventListener(\"focusin\", triggerFocusIn.bind(this, this.el));\r\n this.dropdown.addEventListener(\"focusout\", triggerFocusOut.bind(this, this.el));\r\n this.el.addEventListener(\"invalid\", triggerValidationMessage.bind(this, this.el, 'invalid'));\r\n window.addEventListener(\"click\", this._onClickedOutside.bind(this));\r\n\r\n if (this.config.searchable) {\r\n this._bindSearchEvent();\r\n }\r\n};\r\n\r\nNiceSelect.prototype._bindSearchEvent = function() {\r\n var searchBox = this.dropdown.querySelector(\".nice-select-search\");\r\n if (searchBox){\r\n searchBox.addEventListener(\"click\", function(e) {\r\n e.stopPropagation();\r\n return false;\r\n });\r\n }\r\n\r\n searchBox.addEventListener(\"input\", this._onSearchChanged.bind(this));\r\n};\r\n\r\nNiceSelect.prototype._onClicked = function(e) {\r\n e.preventDefault();\r\n\tif (!hasClass(this.dropdown, \"open\") ) {\r\n\t\taddClass(this.dropdown, \"open\");\r\n triggerModalOpen(this.el);\r\n\t}else if(!this.multiple){\r\n\t\tremoveClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n\t}\r\n\r\n if (hasClass(this.dropdown, \"open\")) {\r\n var search = this.dropdown.querySelector(\".nice-select-search\");\r\n if (search) {\r\n search.value = \"\";\r\n search.focus();\r\n }\r\n\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n t = this.dropdown.querySelector(\".selected\");\r\n addClass(t, \"focus\");\r\n this.dropdown.querySelectorAll(\"ul li\").forEach(function(item) {\r\n item.style.display = \"\";\r\n });\r\n } else {\r\n this.dropdown.focus();\r\n }\r\n};\r\n\r\nNiceSelect.prototype._onItemClicked = function(option, e) {\r\n var optionEl = e.target;\r\n\r\n if (!hasClass(optionEl, \"disabled\")) {\r\n if (this.multiple) {\r\n if (hasClass(optionEl, \"selected\")) {\r\n removeClass(optionEl, \"selected\");\r\n this.selectedOptions.splice(this.selectedOptions.indexOf(option), 1);\r\n this.el.querySelector(`option[value=\"${optionEl.dataset.value}\"]`).removeAttribute('selected');\r\n\t }else{\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions.push(option);\r\n }\r\n } else {\r\n this.selectedOptions.forEach(function(item) {\r\n removeClass(item.element, \"selected\");\r\n });\r\n\r\n addClass(optionEl, \"selected\");\r\n this.selectedOptions = [option];\r\n }\r\n\r\n this._renderSelectedItems();\r\n this.updateSelectValue();\r\n }\r\n};\r\n\r\nNiceSelect.prototype.updateSelectValue = function() {\r\n if (this.multiple) {\r\n var select = this.el;\r\n this.selectedOptions.forEach(function(item) {\r\n var el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el){\r\n el.setAttribute(\"selected\", true);\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.value = this.selectedOptions[0].data.value;\r\n }\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype.resetSelectValue = function() {\r\n if (this.multiple) {\r\n var select = this.el;\r\n this.selectedOptions.forEach(function(item) {\r\n var el = select.querySelector(`option[value=\"${item.data.value}\"]`);\r\n if (el){\r\n el.removeAttribute(\"selected\");\r\n }\r\n });\r\n } else if (this.selectedOptions.length > 0) {\r\n this.el.selectedIndex = -1;\r\n }\r\n\r\n triggerChange(this.el);\r\n};\r\n\r\nNiceSelect.prototype._onClickedOutside = function(e) {\r\n if (!this.dropdown.contains(e.target)) {\r\n removeClass(this.dropdown, \"open\");\r\n triggerModalClose(this.el);\r\n }\r\n};\r\n\r\nNiceSelect.prototype._onKeyPressed = function(e) {\r\n // Keyboard events\r\n\r\n var focusedOption = this.dropdown.querySelector(\".focus\");\r\n\r\n var open = hasClass(this.dropdown, \"open\");\r\n\r\n // Enter\r\n if (e.keyCode == 13) {\r\n if (open) {\r\n triggerClick(focusedOption);\r\n } else {\r\n triggerClick(this.dropdown);\r\n }\r\n } else if (e.keyCode == 40) {\r\n // Down\r\n if (!open) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n var next = this._findNext(focusedOption);\r\n if (next) {\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n addClass(next, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode == 38) {\r\n // Up\r\n if (!open) {\r\n triggerClick(this.dropdown);\r\n } else {\r\n var prev = this._findPrev(focusedOption);\r\n if (prev) {\r\n var t = this.dropdown.querySelector(\".focus\");\r\n removeClass(t, \"focus\");\r\n addClass(prev, \"focus\");\r\n }\r\n }\r\n e.preventDefault();\r\n } else if (e.keyCode == 27 && open) {\r\n // Esc\r\n triggerClick(this.dropdown);\r\n } else if(e.keyCode === 32 && open) {\r\n // Space\r\n return false; \r\n }\r\n return false;\r\n};\r\n\r\nNiceSelect.prototype._findNext = function(el) {\r\n if (el) {\r\n el = el.nextElementSibling;\r\n } else {\r\n el = this.dropdown.querySelector(\".list .option\");\r\n }\r\n\r\n while (el) {\r\n if (!hasClass(el, \"disabled\") && el.style.display != \"none\") {\r\n return el;\r\n }\r\n el = el.nextElementSibling;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nNiceSelect.prototype._findPrev = function(el) {\r\n if (el) {\r\n el = el.previousElementSibling;\r\n } else {\r\n el = this.dropdown.querySelector(\".list .option:last-child\");\r\n }\r\n\r\n while (el) {\r\n if (!hasClass(el, \"disabled\") && el.style.display != \"none\") {\r\n return el;\r\n }\r\n el = el.previousElementSibling;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nNiceSelect.prototype._onSearchChanged = function(e) {\r\n var open = hasClass(this.dropdown, \"open\");\r\n var text = e.target.value;\r\n text = text.toLowerCase();\r\n\r\n if (text == \"\") {\r\n this.options.forEach(function(item) {\r\n item.element.style.display = \"\";\r\n });\r\n } else if (open) {\r\n var matchReg = new RegExp(text);\r\n this.options.forEach(function(item) {\r\n var optionText = item.data.text.toLowerCase();\r\n var matched = matchReg.test(optionText);\r\n item.element.style.display = matched ? \"\" : \"none\";\r\n });\r\n }\r\n\r\n this.dropdown.querySelectorAll(\".focus\").forEach(function(item) {\r\n removeClass(item, \"focus\");\r\n });\r\n\r\n var firstEl = this._findNext(null);\r\n addClass(firstEl, \"focus\");\r\n};\r\n\r\nexport function bind(el, options) {\r\n return new NiceSelect(el, options);\r\n}\r\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","triggerClick","el","event","document","createEvent","initEvent","dispatchEvent","triggerChange","triggerFocusIn","triggerFocusOut","triggerModalClose","triggerValidationMessage","type","addClass","this","dropdown","removeClass","attr","undefined","getAttribute","hasClass","className","classList","contains","add","remove","defaultOptions","data","searchable","showSelectedItems","NiceSelect","element","options","config","assign","selectedOptions","placeholder","searchtext","selectedtext","multiple","disabled","create","bind","style","opacity","width","padding","height","processData","extractData","renderDropdown","bindEvent","forEach","item","push","attributes","selected","optgroup","querySelectorAll","allOptions","tagName","itemData","text","label","innerText","dataset","display","classes","searchHtml","html","join","insertAdjacentHTML","nextElementSibling","_renderSelectedItems","_renderItems","selectedHtml","window","getComputedStyle","length","querySelector","innerHTML","ul","appendChild","_renderItem","option","createElement","setAttribute","addEventListener","_onItemClicked","update","open","parentNode","removeChild","disable","enable","clear","resetSelectValue","destroy","_onClicked","_onKeyPressed","_onClickedOutside","_bindSearchEvent","searchBox","e","stopPropagation","_onSearchChanged","preventDefault","search","focus","t","optionEl","target","splice","indexOf","removeAttribute","updateSelectValue","select","selectedIndex","focusedOption","keyCode","next","_findNext","prev","_findPrev","previousElementSibling","toLowerCase","matchReg","RegExp","optionText","matched","test"],"sourceRoot":""}