flounder
Version:
a native friendly dropdown menu
2 lines • 52.9 kB
JavaScript
/*! Flounder v1.3.13 | (c) 2015-2018 Sociomantic Labs | https://github.com/sociomantic-tsunami/flounder/license */!function(){function e(t,n,s){function r(o,a){if(!n[o]){if(!t[o]){var l="function"==typeof require&&require;if(!a&&l)return l(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){var n=t[o][1][e];return r(n||e)},c,c.exports,e,t,n,s)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<s.length;o++)r(s[o]);return r}return e}()({1:[function(e,t,n){"use strict";function s(){if(l.length)throw l.shift()}function r(e){var t;t=a.length?a.pop():new i,t.task=e,o(t)}function i(){this.task=null}var o=e("./raw"),a=[],l=[],u=o.makeRequestCallFromTimer(s);t.exports=r,i.prototype.call=function(){try{this.task.call()}catch(e){r.onerror?r.onerror(e):(l.push(e),u())}finally{this.task=null,a[a.length]=this}}},{"./raw":2}],2:[function(e,t,n){(function(e){"use strict";function n(e){a.length||(o(),l=!0),a[a.length]=e}function s(){for(;u<a.length;){var e=u;if(u+=1,a[e].call(),u>c){for(var t=0,n=a.length-u;t<n;t++)a[t]=a[t+u];a.length-=u,u=0}}a.length=0,u=0,l=!1}function r(e){var t=1,n=new f(e),s=document.createTextNode("");return n.observe(s,{characterData:!0}),function(){t=-t,s.data=t}}function i(e){return function(){function t(){clearTimeout(n),clearInterval(s),e()}var n=setTimeout(t,0),s=setInterval(t,50)}}t.exports=n;var o,a=[],l=!1,u=0,c=1024,d="undefined"!=typeof e?e:self,f=d.MutationObserver||d.WebKitMutationObserver;o="function"==typeof f?r(s):i(s),n.requestFlush=o,n.makeRequestCallFromTimer=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,t,n){t.exports=function(t){"use strict";var n=e("promise");t.http=function(e){var t,s,r,i,o,a,l,u;if(!e)return new Error("No parameters given");if("string"==typeof e&&(e={url:e}),t=new XMLHttpRequest,s=e.method||"GET",r=e.url,i=JSON.stringify(e.data)||null,o=e.user||"",a=e.password||"",l=e.headers||null,u="boolean"!=typeof e.async||e.async,t.onreadystatechange=function(){if(4===t.readyState)return t},t.open(s,r,u,o,a),"POST"===s&&t.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),l)for(var c in l)t.setRequestHeader(c,l[c]);if(u)return new n(function(e,n){t.onerror=function(){n(new Error("Network error!"))},t.send(i),t.onload=function(){200===t.status?e(t.response):n(new Error(t.status))}});var d=function(e){var t={then:function(n){return 200===e.status&&n(e.responseText),t},"catch":function(n){return 200!==e.status&&n({status:e.status,statusText:e.statusText}),t}};return t};return t.send(i),t.onloadend=function(){return t.onreadystatechange(),d(t)},t.onloadend()},t.http.get=function(e){return this({url:e,method:"GET"})},t.http.post=function(e,t){return this({url:e,data:t,method:"POST"})}}},{promise:4}],4:[function(e,t,n){"use strict";t.exports=e("./lib")},{"./lib":9}],5:[function(e,t,n){"use strict";function s(){}function r(e){try{return e.then}catch(t){return m=t,y}}function i(e,t){try{return e(t)}catch(n){return m=n,y}}function o(e,t,n){try{e(t,n)}catch(s){return m=s,y}}function a(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("Promise constructor's argument is not a function");this._40=0,this._65=0,this._55=null,this._72=null,e!==s&&v(e,this)}function l(e,t,n){return new e.constructor(function(r,i){var o=new a(s);o.then(r,i),u(e,new p(t,n,o))})}function u(e,t){for(;3===e._65;)e=e._55;return a._37&&a._37(e),0===e._65?0===e._40?(e._40=1,void(e._72=t)):1===e._40?(e._40=2,void(e._72=[e._72,t])):void e._72.push(t):void c(e,t)}function c(e,t){g(function(){var n=1===e._65?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._65?d(t.promise,e._55):f(t.promise,e._55));var s=i(n,e._55);s===y?f(t.promise,m):d(t.promise,s)})}function d(e,t){if(t===e)return f(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"==typeof t||"function"==typeof t)){var n=r(t);if(n===y)return f(e,m);if(n===e.then&&t instanceof a)return e._65=3,e._55=t,void h(e);if("function"==typeof n)return void v(n.bind(t),e)}e._65=1,e._55=t,h(e)}function f(e,t){e._65=2,e._55=t,a._87&&a._87(e,t),h(e)}function h(e){if(1===e._40&&(u(e,e._72),e._72=null),2===e._40){for(var t=0;t<e._72.length;t++)u(e,e._72[t]);e._72=null}}function p(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function v(e,t){var n=!1,s=o(e,function(e){n||(n=!0,d(t,e))},function(e){n||(n=!0,f(t,e))});n||s!==y||(n=!0,f(t,m))}var g=e("asap/raw"),m=null,y={};t.exports=a,a._37=null,a._87=null,a._61=s,a.prototype.then=function(e,t){if(this.constructor!==a)return l(this,e,t);var n=new a(s);return u(this,new p(e,t,n)),n}},{"asap/raw":2}],6:[function(e,t,n){"use strict";var s=e("./core.js");t.exports=s,s.prototype.done=function(e,t){var n=arguments.length?this.then.apply(this,arguments):this;n.then(null,function(e){setTimeout(function(){throw e},0)})}},{"./core.js":5}],7:[function(e,t,n){"use strict";function s(e){var t=new r(r._61);return t._65=1,t._55=e,t}var r=e("./core.js");t.exports=r;var i=s(!0),o=s(!1),a=s(null),l=s(void 0),u=s(0),c=s("");r.resolve=function(e){if(e instanceof r)return e;if(null===e)return a;if(void 0===e)return l;if(e===!0)return i;if(e===!1)return o;if(0===e)return u;if(""===e)return c;if("object"==typeof e||"function"==typeof e)try{var t=e.then;if("function"==typeof t)return new r(t.bind(e))}catch(n){return new r(function(e,t){t(n)})}return s(e)},r.all=function(e){var t=Array.prototype.slice.call(e);return new r(function(e,n){function s(o,a){if(a&&("object"==typeof a||"function"==typeof a)){if(a instanceof r&&a.then===r.prototype.then){for(;3===a._65;)a=a._55;return 1===a._65?s(o,a._55):(2===a._65&&n(a._55),void a.then(function(e){s(o,e)},n))}var l=a.then;if("function"==typeof l){var u=new r(l.bind(a));return void u.then(function(e){s(o,e)},n)}}t[o]=a,0===--i&&e(t)}if(0===t.length)return e([]);for(var i=t.length,o=0;o<t.length;o++)s(o,t[o])})},r.reject=function(e){return new r(function(t,n){n(e)})},r.race=function(e){return new r(function(t,n){e.forEach(function(e){r.resolve(e).then(t,n)})})},r.prototype["catch"]=function(e){return this.then(null,e)}},{"./core.js":5}],8:[function(e,t,n){"use strict";var s=e("./core.js");t.exports=s,s.prototype["finally"]=function(e){return this.then(function(t){return s.resolve(e()).then(function(){return t})},function(t){return s.resolve(e()).then(function(){throw t})})}},{"./core.js":5}],9:[function(e,t,n){"use strict";t.exports=e("./core.js"),e("./done.js"),e("./finally.js"),e("./es6-extensions.js"),e("./node-extensions.js"),e("./synchronous.js")},{"./core.js":5,"./done.js":6,"./es6-extensions.js":7,"./finally.js":8,"./node-extensions.js":10,"./synchronous.js":11}],10:[function(e,t,n){"use strict";function s(e,t){for(var n=[],s=0;s<t;s++)n.push("a"+s);var r=["return function ("+n.join(",")+") {","var self = this;","return new Promise(function (rs, rj) {","var res = fn.call(",["self"].concat(n).concat([a]).join(","),");","if (res &&",'(typeof res === "object" || typeof res === "function") &&','typeof res.then === "function"',") {rs(res);}","});","};"].join("");return Function(["Promise","fn"],r)(i,e)}function r(e){for(var t=Math.max(e.length-1,3),n=[],s=0;s<t;s++)n.push("a"+s);var r=["return function ("+n.join(",")+") {","var self = this;","var args;","var argLength = arguments.length;","if (arguments.length > "+t+") {","args = new Array(arguments.length + 1);","for (var i = 0; i < arguments.length; i++) {","args[i] = arguments[i];","}","}","return new Promise(function (rs, rj) {","var cb = "+a+";","var res;","switch (argLength) {",n.concat(["extra"]).map(function(e,t){return"case "+t+":res = fn.call("+["self"].concat(n.slice(0,t)).concat("cb").join(",")+");break;"}).join(""),"default:","args[argLength] = cb;","res = fn.apply(self, args);","}","if (res &&",'(typeof res === "object" || typeof res === "function") &&','typeof res.then === "function"',") {rs(res);}","});","};"].join("");return Function(["Promise","fn"],r)(i,e)}var i=e("./core.js"),o=e("asap");t.exports=i,i.denodeify=function(e,t){return"number"==typeof t&&t!==1/0?s(e,t):r(e)};var a="function (err, res) {if (err) { rj(err); } else { rs(res); }}";i.nodeify=function(e){return function(){var t=Array.prototype.slice.call(arguments),n="function"==typeof t[t.length-1]?t.pop():null,s=this;try{return e.apply(this,arguments).nodeify(n,s)}catch(r){if(null===n||"undefined"==typeof n)return new i(function(e,t){t(r)});o(function(){n.call(s,r)})}}},i.prototype.nodeify=function(e,t){return"function"!=typeof e?this:void this.then(function(n){o(function(){e.call(t,null,n)})},function(n){o(function(){e.call(t,n)})})}},{"./core.js":5,asap:1}],11:[function(e,t,n){"use strict";var s=e("./core.js");t.exports=s,s.enableSynchronous=function(){s.prototype.isPending=function(){return 0==this.getState()},s.prototype.isFulfilled=function(){return 1==this.getState()},s.prototype.isRejected=function(){return 2==this.getState()},s.prototype.getValue=function(){if(3===this._65)return this._55.getValue();if(!this.isFulfilled())throw new Error("Cannot get a value of an unfulfilled promise.");return this._55},s.prototype.getReason=function(){if(3===this._65)return this._55.getReason();if(!this.isRejected())throw new Error("Cannot get a rejection reason of a non-rejected promise.");return this._55},s.prototype.getState=function(){return 3===this._65?this._55.getState():this._65===-1||this._65===-2?0:this._65}},s.disableSynchronous=function(){s.prototype.isPending=void 0,s.prototype.isFulfilled=void 0,s.prototype.isRejected=void 0,s.prototype.getValue=void 0,s.prototype.getReason=void 0,s.prototype.getState=void 0}},{"./core.js":5}],12:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){var n=[],s=!0,r=!1,i=void 0;try{for(var o,a=e[Symbol.iterator]();!(s=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);s=!0);}catch(l){r=!0,i=l}finally{try{!s&&a["return"]&&a["return"]()}finally{if(r)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=e("./utils"),a=s(o),l=e("./defaults"),u={buildFromUrl:function(e,t){var n=this;return this.loadDataFromUrl(e,function(e){n.data=e,t&&t(n.data),n.rebuild(n.data)}),[]},clickByIndex:function(e,t){return this.setByIndex(e,t,!1)},clickByText:function(e,t){return this.setByText(e,t,!1)},clickByValue:function(e,t){return this.setByValue(e,t,!1)},destroy:function(){this.componentWillUnmount();var e=this.refs,t=this.classes,n=this.originalTarget,s=n.tagName;if("INPUT"===s||"SELECT"===s){var r=n.nextElementSibling;if("SELECT"===s){var i=n[0];i&&a["default"].hasClass(i,t.PLACEHOLDER)&&n.removeChild(i)}else r=e.flounder.parentNode;try{var o=this.classes;r.parentNode.removeChild(r),n.tabIndex=0,a["default"].removeClass(n,o.HIDDEN)}catch(l){throw" : this flounder may have already been removed"}}else try{var u=e.wrapper,c=u.parentNode;c.removeChild(u)}catch(l){throw" : this flounder may have already been removed"}e.flounder.flounder=n.flounder=this.target.flounder=null},deselectAll:function(e){if(this.removeSelectedClass(),this.removeSelectedValue(),this.multiple){var t=this.refs.multiTagWrapper;if(t){for(var n=t.children,s=0;s<n.length-1;s++){var r=n[s],i=s===n.length-1;!e&&i?(r=r.children,r=r[0],r.click()):(r.removeEventListener("click",this.removeMultiTag),r.remove())}this.addPlaceholder()}}},disable:function(e){var t=this.refs,n=this.classes,s=t.flounder,r=t.selected;e?(s.removeEventListener("keydown",this.checkFlounderKeypress),r.removeEventListener("click",this.toggleList),a["default"].addClass(s,n.DISABLED)):(s.addEventListener("keydown",this.checkFlounderKeypress),r.addEventListener("click",this.toggleList),a["default"].removeClass(s,n.DISABLED))},disableByIndex:function c(e,t){var n=this.refs;if("string"!=typeof e&&e.length){var c=this.disableByIndex.bind(this);return e.map(function(e){return c(e,t)})}var s=n.data,r=s.length;e<0&&(r=s.length,e=r+e);var i=s[e];if(i){var o=n.selectOptions[e],l=this.classes;return t?(o.disabled=!1,a["default"].removeClass(i,l.DISABLED)):(o.disabled=!0,a["default"].addClass(i,l.DISABLED)),[i,o]}console.warn("Flounder - No element to disable.")},disableByText:function d(e,t){if("string"!=typeof e&&e.length){var d=this.disableByText.bind(this),n=e.map(function(e){return d(e,t)});return 1===n.length?n[0]:n}var s=[];return this.refs.data.forEach(function(t,n){var r=t.innerHTML;r===e&&s.push(n)}),s=1===s.length?s[0]:s,this.disableByIndex(s,t)},disableByValue:function f(e,t){if("string"!=typeof e&&e.length){var f=this.disableByValue.bind(this),n=e.map(function(e){return f(e,t)});return 1===n.length?n[0]:n}var s=this.refs.selectOptions.map(function(t,n){return""+t.value==""+e?n:null}).filter(function(e){return!!e||0===e});return s=1===s.length?s[0]:s,this.disableByIndex(s,t)},enableByIndex:function(e){return this.disableByIndex(e,!0)},enableByText:function(e){return this.disableByText(e,!0)},enableByValue:function(e){this.disableByValue(e,!0)},getData:function(e){var t=this,n=this.refs;return"number"==typeof e?{option:n.selectOptions[e],div:n.data[e]}:e&&e.length&&"string"!=typeof e?e.map(function(e){return t.getData(e)}):e?void console.warn("Flounder - Illegal parameter type."):n.selectOptions.map(function(e,n){return t.getData(n)})},getSelected:function(){for(var e=this.refs.select,t=[],n=e.options,s=this.classes,r=0;r<n.length;r++){var i=n[r];i.selected&&!a["default"].hasClass(i,s.PLACEHOLDER)&&t.push(i)}return t},getSelectedValues:function(){return this.getSelected().map(function(e){return e.value})},loadDataFromUrl:function(e,t){var n=this,s=this.classes;return a["default"].http.get(e).then(function(e){e?(n.data=JSON.parse(e),t&&t(n.data)):console.warn("no data recieved")})["catch"](function(e){console.warn("something happened: ",e),n.rebuild([{text:"",value:"",index:0,extraClass:s.LOADING_FAILED}])}),[{text:"",value:"",index:0,extraClass:s.LOADING}]},rebuild:function(e,t){if(t||!t&&("string"==typeof e||e&&"number"!=typeof e.length))return this.reconfigure(e,t);e=this.data=e||this.data,t=this.props;var n=this.refs,s=n.select;this.deselectAll(),this.removeOptionsListeners(),n.select.innerHTML="",n.select=!1,this.defaultObj=(0,l.setDefaultOption)(this,t,e,!0),n.optionsList.innerHTML="",(n.noMoreOptionsEl||void 0===i(n.noMoreOptionsEl))&&delete n.noMoreOptionsEl,(n.noResultsEl||void 0===i(n.noResultsEl))&&delete n.noResultsEl;var o=this.buildData(this.defaultObj,this.data,n.optionsList,s),a=r(o,3);return n.data=a[0],n.selectOptions=a[1],n.sections=a[2],n.select=s,this.addOptionsListeners(),this.data=e,this.displaySelected(n.selected,n),this},setByIndex:function h(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=this.refs;if("string"!=typeof e&&e.length){var h=this.setByIndex.bind(this);return e.map(function(e){return h(e,t,n)})}var r=this.data,i=r.length;e<0&&(i=r.length,e=i+e);var o=s.data[e];return o?(this.forceMultiple=t&&this.multiple,this.programmaticClick=n,o.click(),o):null},setByText:function p(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if("string"!=typeof e&&e.length){var p=this.setByText.bind(this);return e.map(function(e){return p(e,t,n)})}var s=[];return e=""+e,this.refs.data.forEach(function(t,n){var r=t.innerHTML;r===e&&s.push(n)}),this.setByIndex(s,t,n)},setByValue:function v(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if("string"!=typeof e&&e.length){var v=this.setByValue.bind(this);return e.map(function(e){return v(e,t,n)})}var s=this.refs.selectOptions.map(function(t,n){return""+t.value==""+e?n:null}).filter(function(e){return 0===e||!!e});return this.setByIndex(s,t,n)}};n["default"]=u},{"./defaults":15,"./utils":20}],13:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./defaults"),o=e("./utils"),a=s(o),l={addOptionDescription:function(e,t){var n=document.createElement("div");n.innerHTML=t,a["default"].addClass(n,this.classes.DESCRIPTION),e.appendChild(n)},addSearch:function(e){if(this.search){var t=this.classes,n=a["default"].constructElement({tagname:"input",type:"text",className:t.SEARCH,tabIndex:-1});return e.appendChild(n),n}return!1},bindThis:function(){var e=this;["addHoverClass","catchBodyClick","checkClickTarget","checkFlounderKeypress","checkMultiTagKeydown","clearPlaceholder","clickSet","divertTarget","displayMultipleTags","firstTouchController","fuzzySearch","removeHoverClass","removeMultiTag","setKeypress","setSelectValue","toggleList","toggleListSearchClick"].forEach(function(t){e[t]=e[t].bind(e),e[t].isBound=!0})},buildArrow:function(e,t){if(e.disableArrow)return!1;var n=this.classes,s=t({className:n.ARROW}),r=t({className:n.ARROW_INNER});return s.appendChild(r),s},buildData:function(e,t,n,s){function i(t,n){t.index=n;var s=L.OPTION;t.extraClass&&(s=s.concat(t.extraClass)),n===e.index&&(s=s.concat(g));var r={className:s,"data-index":n};for(var i in t)"text"!==i&&"description"!==i&&(r[i]=t[i]);var o=v(r);return o.innerHTML=T?t.text:m(t.text),t.description&&l.addOptionDescription(o,t.description,L.DESCRIPTION),o.setAttribute("role","option"),o}function o(t,n){var s=void 0;if(C){var r=C.children[n];s=r,r.setAttribute("value",r.value),r.disabled===!0&&d[n]&&y(d[n],L.DISABLED),y(r,L.OPTION_TAG)}else{var i=t.extraClass||[];s=v({tagname:"option",className:L.OPTION_TAG.concat(i),value:t.value});var o=m(t.text);s.innerHTML=o;var a=t.disabled;a&&s.setAttribute("disabled",a)}return n===e.index&&(s.selected=!0),s.getAttribute("disabled")&&y(d[n],L.DISABLED),s}var l=this,u=0,c=0,d=[],f=[],h=[],p=[],v=a["default"].constructElement,g=this.selectedClass,m=a["default"].escapeHTML,y=a["default"].addClass,E=this.refs,C=E.select,T=this.allowHTML,L=this.classes;return t.forEach(function(e,l){if("object"!==("undefined"==typeof e?"undefined":r(e))&&(e=t[l]={text:e,value:e}),e.header){var g=v({tagname:"optgroup",label:e.header}),m=v({tagname:"div",className:L.SECTION}),y=v({tagname:"div",className:L.HEADER});y.textContent=e.header,m.appendChild(y);var E=e.data;E.forEach(function(e,t){"object"!==("undefined"==typeof e?"undefined":r(e))&&(e=E[t]={text:e,value:e}),d[u]=i(e,u),m.appendChild(d[u]),f[u]=o(e,u),g.appendChild(f[u]),u++}),n.appendChild(m),s.appendChild(g),0==E.length&&a["default"].addClass(m,L.HIDDEN),h[c]=m,p[c]=g,c++}else d[u]=i(e,u),n.appendChild(d[u]),f[u]=o(e,u),s.appendChild(f[u]),u++}),[d,f,h,p]},buildDom:function(){var e=this.props,t=this.classes;this.refs={};var n=a["default"].constructElement,s=a["default"].constructElement({className:t.MAIN_WRAPPER}),r=this.multipleTags?t.MAIN.concat(t.MULTIPLE_TAG_FLOUNDER):t.MAIN,o=n({className:r});o.setAttribute("aria-hidden",!0),o.tabIndex=0,s.appendChild(o);var l=this.initSelectBox(s);l.tabIndex=-1;var u=this.data;this.defaultObj=(0,i.setDefaultOption)(this,this.props,u);var c=this.defaultObj,d=t.SELECTED_DISPLAYED;if(c.value&&c.extraClass){var f=c.extraClass;d=d.concat(f)}var h=n({className:d,"data-value":c.value,"data-index":c.index}),p=this.multipleTags?n({className:t.MULTI_TAG_LIST}):null,v=n({className:t.OPTIONS_WRAPPER.concat(t.HIDDEN)}),g=n({className:t.LIST});g.setAttribute("role","listbox"),v.appendChild(g),this.multiple===!0&&(l.setAttribute("multiple",""),g.setAttribute("aria-multiselectable","true"));var m=this.buildArrow(e,n);[h,p,v,m].forEach(function(e){e&&o.appendChild(e)});var y=this.addSearch(this.multipleTags?p:o),E=this.buildData(c,u,g,l);u=E[0];var C=E[1],T=E[2],L=E[3];if(this.target.appendChild(s),this.refs={wrapper:s,flounder:o,selected:h,arrow:m,optionsListWrapper:v,search:y,multiTagWrapper:p,optGroups:L,optionsList:g,select:l,data:u,sections:T,selectOptions:C},this.multipleTags){var S=this.getSelected();0===S.length?h.innerHTML=c.text:this.displayMultipleTags(S,p)}else h.innerHTML=c.text},buildMultiTag:function(e){var t=this.classes,n=e.innerHTML,s=document.createElement("SPAN");a["default"].addClass(s,t.MULTIPLE_SELECT_TAG),s.setAttribute("aria-label","Close"),s.setAttribute("tabindex",0);var r=document.createElement("A");return a["default"].addClass(r,t.MULTIPLE_TAG_CLOSE),r.setAttribute("data-index",e.index),s.appendChild(r),s.innerHTML+=n,s},initSelectBox:function(e){var t=this.target,n=this.refs,s=n.select,r=this.classes;if("SELECT"===t.tagName){if(a["default"].addClass(t,r.SELECT_TAG),a["default"].addClass(t,r.HIDDEN),s=t,this.props.keepChangesOnDestroy||this.popOutSelectElements(s),t.length>0&&!this.selectDataOverride){this.refs.select=s;for(var i=[],o=[],l=0;l<t.children.length;l++){var u=t.children[l];o.push(u),i.push({text:u.innerHTML,value:u.value})}n.selectOptions=o,this.data=i}else this.selectDataOverride&&a["default"].removeAllChildren(t);this.target=t.parentNode,a["default"].addClass(t,r.HIDDEN)}else s=a["default"].constructElement({tagname:"SELECT",className:r.SELECT_TAG.concat(r.HIDDEN)}),e.appendChild(s);return s},popInSelectElements:function(e){a["default"].removeAllChildren(e);for(var t=0;t<this.originalChildren.length;t++){var n=this.originalChildren[t];e.appendChild(n)}},popOutSelectElements:function(e){var t=[];this.originalChildren=e.children;for(var n=this.originalChildren,s=0;s<n.length;s++){var r=n[s];t[s]=r.cloneNode(!0),e.removeChild(r)}t.forEach(function(t){e.appendChild(t)})},reconfigure:function(e,t){return e&&"string"!=typeof e&&"number"==typeof e.length?(t=t=t||this.props,t.data=e):t||"object"!==("undefined"==typeof e?"undefined":r(e))?(t=t||{},t.data=t.data||this.data):(t=e,t.data=t.data||this.data),new this.constructor(this.originalTarget,t)},setTarget:function(e){if(e=1===e.nodeType?e:document.querySelector(e),this.originalTarget=e,e.flounder=this,"INPUT"===e.tagName){var t=this.classes;a["default"].addClass(e,t.HIDDEN),e.setAttribute("aria-hidden",!0),e.tabIndex=-1,e=e.parentNode}this.target=e}};n["default"]=l},{"./defaults":15,"./utils":20}],14:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var s={ARROW:"flounder__arrow--wrapper",ARROW_INNER:"flounder__arrow--inner",DESCRIPTION:"flounder__option--description",DISABLED:"flounder__disabled",HEADER:"flounder__header",HIDDEN:"flounder--hidden",HIDDEN_IOS:"flounder--hidden--ios",HOVER:"flounder__hover",LIST:"flounder__list",LOADING:"flounder__loading",LOADING_FAILED:"flounder__loading--failed",MAIN:"flounder",MAIN_WRAPPER:"flounder--wrapper",MULTIPLE_TAG_FLOUNDER:"flounder--multiple",MULTI_TAG_LIST:"flounder__multi--tag--list",MULTIPLE_SELECT_TAG:"flounder__multiple--select--tag",MULTIPLE_TAG_CLOSE:"flounder__multiple__tag__close",NO_RESULTS:"flounder__no-results",OPEN:"open",OPTION:"flounder__option",OPTION_TAG:"flounder--option--tag",OPTIONS_WRAPPER:"flounder__list--wrapper",PLACEHOLDER:"flounder__placeholder",PLUG:"flounder__ios--plug",SECTION:"flounder__section",SELECTED:"flounder__option--selected",SELECTED_HIDDEN:"flounder__option--selected--hidden",SELECTED_DISPLAYED:"flounder__option--selected--displayed",SEARCH:"flounder__input--search",SEARCH_HIDDEN:"flounder--search--hidden",SELECT_TAG:"flounder--select--tag"};n["default"]=s},{}],15:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n.setDefaultOption=n.defaultOptions=void 0;var r=e("./utils"),i=s(r),o=e("./classes"),a=s(o),l=n.defaultOptions={allowHTML:!1,classes:a["default"],data:[],defaultEmpty:!1,defaultIndex:!1,defaultValue:!1,disableArrow:!1,keepChangesOnDestroy:!1,multiple:!1,multipleTags:!1,multipleMessage:"(Multiple Items Selected)",noMoreOptionsMessage:"No more options to add.",noMoreResultsMessage:"No matches found",onChange:null,onClose:null,onComponentDidMount:null,onComponentWillUnmount:null,onFirstTouch:null,onInit:null,onInputChange:null,onOpen:null,openOnHover:!1,placeholder:"Please choose an option",search:!1,selectDataOverride:!1},u={defaultOptions:l,setDefaultOption:function(e){function t(e,t){var n=t||0===t?t:o.defaultIndex,s=e[n];return s?(s.index=n,s):null}function n(e){var t=e.refs,n=e.classes,s=t.select,r=o.placeholder;if(!u||o.data){var c={text:r||""===r?r:l.placeholder,value:"",index:0,extraClass:n.HIDDEN.concat(n.PLACEHOLDER)};if(s){var d=e.allowHTML?c.text:i["default"].escapeHTML(c.text),f=i["default"].constructElement({tagname:"option",className:n.OPTION_TAG,value:c.value});f.innerHTML=d,s.insertBefore(f,s[0]),e.refs.selectOptions.unshift(f)}return a.unshift(c),c}return e.data[0]}function s(e,t){var n=t||""+o.defaultValue,s=void 0;e.forEach(function(e,t){var r=""+e.value;r===n&&(s=t)});var r=s>=0?e[s]:null;return r?(r.index=s,r):null}function r(){var r=e.sortData(a);!o.multipleTags&&!o.multiple||o.defaultIndex||o.defaultValue||(o.placeholder=o.placeholder||l.placeholder),o.defaultEmpty&&(o.placeholder="");var i=o.placeholder;if(i||""===i||0===r.length)return n(e,r);var c=void 0;if(u){var d=e.refs.selected.getAttribute("data-value");if(c=s(r,d))return c}return c=o.defaultIndex?t(r):null,c=!c&&o.defaultValue?s(r):c,c=c?c:t(r,0)}var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments[2],u=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return a=a||o.data||[],r()}};n.setDefaultOption=u.setDefaultOption;n["default"]=u},{"./classes":14,"./utils":20}],16:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var r=e("./utils"),i=s(r),o=e("./keycodes"),a=s(o),l={addFirstTouchListeners:function(){var e=this.refs;e.selected.addEventListener("click",this.firstTouchController),e.select.addEventListener("focus",this.firstTouchController),this.props.openOnHover&&e.wrapper.addEventListener("mouseenter",this.firstTouchController)},addHoverClass:function(e){i["default"].addClass(e.target,this.classes.HOVER)},addListeners:function(e){var t=this.isIos,n=t?"blur":"change";if(e.select.addEventListener(n,this.divertTarget),e.flounder.addEventListener("keydown",this.checkFlounderKeypress),this.props.openOnHover){var s=e.wrapper;s.addEventListener("mouseenter",this.toggleList),s.addEventListener("mouseleave",this.toggleList)}else e.selected.addEventListener("click",this.toggleList);this.addFirstTouchListeners(),this.addOptionsListeners(),this.search&&this.addSearchListeners()},addMultipleTags:function(e,t){var n=this;e.forEach(function(e){if(""!==e.value){var s=n.buildMultiTag(e);t.insertBefore(s,t.lastChild)}else e.selected=!1});for(var s=t.children,r=0;r<s.length-1;r++){var i=s[r],o=i.firstChild;o.addEventListener("click",this.removeMultiTag),i.addEventListener("keydown",this.checkMultiTagKeydown)}},addOptionsListeners:function(){var e=this;this.refs.data.forEach(function(t){"DIV"===t.tagName&&(t.addEventListener("mouseenter",e.addHoverClass),t.addEventListener("mouseleave",e.removeHoverClass),t.addEventListener("click",e.clickSet))})},addNoMoreOptionsMessage:function(){var e=this.classes,t={className:e.OPTION.push(e.NO_RESULTS)},n=this.refs.noMoreOptionsEl||i["default"].constructElement(t);n.innerHTML=this.noMoreOptionsMessage,this.refs.optionsList.appendChild(n),this.refs.noMoreOptionsEl=n},addNoResultsMessage:function(){var e=this.classes,t={className:e.OPTION.push(e.NO_RESULTS)},n=this.refs.noResultsEl||i["default"].constructElement(t);n.innerHTML=this.noMoreResultsMessage,this.refs.optionsList.appendChild(n),this.refs.noResultsEl=n},addPlaceholder:function(){var e=this.getSelectedValues(),t=e[0],n=this.getSelected(),s=n.length?n[0].innerHTML:"",r=e.length,i=this.refs.selected;switch(r){case 0:this.setByIndex(0);break;case 1:i.innerHTML=s;break;default:i.innerHTML=this.multipleMessage}this.multipleTags&&(0===r&&this.setByIndex(0),t&&""!==t?i.innerHTML="":i.innerHTML=this.placeholder)},addSearchListeners:function(){var e=this.refs.search,t=this.refs.multiTagWrapper;this.debouncedFuzzySearch=i["default"].debounce(this.fuzzySearch,200),t&&t.addEventListener("click",this.toggleListSearchClick),e.addEventListener("click",this.toggleListSearchClick),e.addEventListener("focus",this.toggleListSearchClick),e.addEventListener("keyup",this.debouncedFuzzySearch),e.addEventListener("focus",this.clearPlaceholder)},addSelectKeyListener:function(){var e=this.refs.select;if(e.addEventListener("keyup",this.setSelectValue),e.addEventListener("keydown",this.setKeypress),this.isIos){var t=this.classes,n=e.children[0],s=document.createElement("OPTION");s.disabled=!0,s.setAttribute("disabled",!0),s.className=t.PLUG,e.insertBefore(s,n)}},catchBodyClick:function(e){this.checkClickTarget(e)||(this.toggleList(e),this.addPlaceholder())},checkClickTarget:function(e,t){return t=t||e.target,t!==document&&(t===this.refs.flounder||(t=t.parentNode,!!t&&this.checkClickTarget(e,t)))},checkEnterOnSearch:function(e,t){var n=e.target.value;if(n&&""!==n){var s=[],r=this.getSelected(),i=this.search.isThereAnythingRelatedTo(n);i.forEach(function(e){var n=e.i;e=t.selectOptions[n],r.indexOf(e)===-1&&s.push(e)});var o=-1;if(1===s.length)o=0;else if(s.length>1)for(var a=0;a<s.length;a++)if(s[a].text.toUpperCase()===n.toUpperCase()){o=a;break}if(o!=-1){var l=s[o];if(!l.disabled&&(this.setByIndex(l.index,this.multiple),this.multipleTags&&setTimeout(function(){return t.search.focus()},200),this.onChange))try{this.onChange(e,this.getSelectedValues())}catch(e){console.warn('something may be wrong in "onChange"',e)}}return s}return!1},checkFlounderKeypress:function(e){var t=e.keyCode,n=this.refs,s=this.classes;if(t===a["default"].TAB){var r=n.optionsListWrapper,o=n.wrapper;this.addPlaceholder(),this.toggleClosed(e,r,n,o,!0)}else if(t===a["default"].ENTER||t===a["default"].SPACE){if(t===a["default"].ENTER&&(e.preventDefault(),e.stopPropagation(),this.search&&i["default"].hasClass(n.wrapper,s.OPEN)))return this.checkEnterOnSearch(e,n);"INPUT"!==e.target.tagName&&this.toggleList(e)}else(t>=48&&t<=57||t>=65&&t<=90)&&n.search&&"INPUT"===e.target.tagName&&(n.selected.innerHTML="")},checkMultiTagKeydown:function(e){var t=this,n=e.keyCode,s=e.target,r=[a["default"].BACKSPACE,a["default"].LEFT,a["default"].RIGHT];r.indexOf(n)!==-1?(e.preventDefault(),e.stopPropagation(),n===a["default"].BACKSPACE?this.checkMultiTagKeydownRemove(s):this.checkMultiTagKeydownNavigate(n,s)):e.key.length<2&&setTimeout(function(){return t.refs.search.focus()},0)},checkMultiTagKeydownNavigate:function(e,t){if(e===a["default"].LEFT){var n=t.previousSibling;n&&n.focus()}else if(e===a["default"].RIGHT){var s=t.nextSibling;s&&setTimeout(function(){return s.focus()},0)}},checkMultiTagKeydownRemove:function(e){var t=e.previousSibling,n=e.nextSibling;e.firstChild.click(),t?setTimeout(function(){return t.focus()},0):n&&n.focus()},clearPlaceholder:function(){this.refs.selected.innerHTML=""},clickSet:function(e){e.preventDefault(),e.stopPropagation(),this.setSelectValue({},e),this.programmaticClick||this.toggleList(e,"close"),this.programmaticClick=!1},displayMultipleTags:function(e,t){for(var n=this.refs.search.previousSibling;n;){var s=n.firstChild,r=n.previousSibling;s.removeEventListener("click",this.removeMultiTag),n.removeEventListener("keydown",this.checkMultiTagKeydown),t.removeChild(n),n=r}e.length>0?this.addMultipleTags(e,t):this.addPlaceholder()},displaySelected:function(e,t){var n=[],s=-1,r=this.getSelected(),o=r.length,a=this.multipleTags;if(i["default"].addClass(e,this.classes.SELECTED_DISPLAYED),a||1!==o)if(a||0!==o)a?(e.innerHTML="",this.displayMultipleTags(r,t.multiTagWrapper)):e.innerHTML=this.multipleMessage,
s=r.map(function(e){return e.index}),n=r.map(function(e){return e.value});else{var l=this.defaultObj;s=l.index||-1,e.innerHTML=l.text,n=l.value}else{s=r[0].index,e.innerHTML=t.data[s].innerHTML,n=r[0].value;var u=t.data[s].extraClass;u&&i["default"].addClass(e,u)}e.setAttribute("data-value",n),e.setAttribute("data-index",s)},divertTarget:function(e){if(this.isIos){var t=this.refs.select,n=this.classes,s=t.querySelector("."+n.PLUG);s&&t.removeChild(s)}var r=e.target.selectedIndex,i={type:e.type,target:this.data[r]};this.multipleTags&&(e.preventDefault(),e.stopPropagation()),this.setSelectValue(i),this.multiple||this.toggleList(e,"close")},firstTouchController:function(e){var t=this.refs;if(this.onFirstTouch)try{this.onFirstTouch(e)}catch(e){console.warn('something may be wrong in "onFirstTouch"',e)}t.selected.removeEventListener("click",this.firstTouchController),t.select.removeEventListener("focus",this.firstTouchController),this.props.openOnHover&&t.wrapper.removeEventListener("mouseenter",this.firstTouchController)},hideEmptySection:function(e){for(var t=this.selectedClass,n=this.refs.sections,s=0;s<n.length;++s)if(n[s]===e){for(var r=!0,o=1;o<e.childNodes.length;o++)if(!i["default"].hasClass(e.childNodes[o],t)){r=!1;break}r?i["default"].addClass(e,t):i["default"].removeClass(e,t);break}},removeHoverClass:function(e){i["default"].removeClass(e.target,this.classes.HOVER)},removeListeners:function(){var e=this.refs;this.removeOptionsListeners();var t=document.querySelector("html"),n=this.catchBodyClick;t.removeEventListener("click",n),t.removeEventListener("touchend",n);var s=e.select;s.removeEventListener("change",this.divertTarget),s.removeEventListener("blur",this.divertTarget),e.selected.removeEventListener("click",this.toggleList),e.flounder.removeEventListener("keydown",this.checkFlounderKeypress),this.search&&this.removeSearchListeners()},removeMultiTag:function(e){e.preventDefault(),e.stopPropagation();var t=void 0,n=void 0,s=this.classes,r=this.refs,o=r.select,a=r.selected,l=e.target,u=this.refs.data,c=l.getAttribute("data-index");o[c].selected=!1;var d=this.getSelected();i["default"].removeClass(u[c],s.SELECTED_HIDDEN),i["default"].removeClass(u[c],s.SELECTED),this.hideEmptySection(u[c].parentNode),l.removeEventListener("click",this.removeMultiTag);var f=l.parentNode;if(f.parentNode.removeChild(f),0===d.length?(this.addPlaceholder(),n=-1,t=""):(t=d.map(function(e){return e.value}),n=d.map(function(e){return e.index})),this.removeNoMoreOptionsMessage(),this.fuzzySearchReset(),a.setAttribute("data-value",t),a.setAttribute("data-index",n),this.onChange)try{this.onChange(e,this.getSelectedValues())}catch(e){console.warn('something may be wrong in "onChange"',e)}},removeOptionsListeners:function(){var e=this;this.refs.data.forEach(function(t){"DIV"===t.tagName&&(t.removeEventListener("click",e.clickSet),t.removeEventListener("mouseenter",e.addHoverClass),t.removeEventListener("mouseleave",e.removeHoverClass))})},removeNoMoreOptionsMessage:function(){var e=this.refs.noMoreOptionsEl;this.refs.optionsList&&e&&(this.refs.optionsList.removeChild(e),this.refs.noMoreOptionsEl=void 0)},removeNoResultsMessage:function(){var e=this.refs.noResultsEl;this.refs.optionsList&&e&&(this.refs.optionsList.removeChild(e),this.refs.noResultsEl=void 0)},removeSearchListeners:function(){var e=this.refs.search;e.removeEventListener("click",this.toggleListSearchClick),e.removeEventListener("focus",this.toggleListSearchClick),e.removeEventListener("keyup",this.debouncedFuzzySearch),e.removeEventListener("focus",this.clearPlaceholder)},removeSelectedClass:function(e,t){var n=this;e=e||this.refs.data,t=t||this.refs.sections,e.forEach(function(e){i["default"].removeClass(e,n.selectedClass)}),t.forEach(function(e){i["default"].removeClass(e,n.selectedClass)})},removeSelectedValue:function(e){e=e||this.refs.data;var t=this.refs.selectOptions;e.forEach(function(e,n){t[n].selected=!1})},removeSelectKeyListener:function(){var e=this.refs.select;e.removeEventListener("keyup",this.setSelectValue)},setKeypress:function(e){var t=this.refs,n=0,s=e.keyCode,r=a["default"].NON_CHARACTER_KEYS;if(r.indexOf(s)===-1){if(s===a["default"].TAB){var i=t.optionsListWrapper,o=t.wrapper;return this.addPlaceholder(),this.toggleClosed(e,i,t,o,!0),!1}return s===a["default"].ENTER||s===a["default"].ESCAPE||s===a["default"].SPACE?(this.toggleList(e),!1):(s!==a["default"].UP&&s!==a["default"].DOWN||(window.sidebar||(e.preventDefault(),t.search&&(t.search.value=""),n=s-39),this.setKeypressElement(e,n)),!0)}},setKeypressElement:function(e,t){var n=this.refs,s=n.select,r=n.data,o=r.length-1,a=s.selectedIndex+t;a>o?a=0:a<0&&(a=o);var l=this.classes,u=i["default"].hasClass,c=r[a];s.selectedIndex=a,(u(c,l.HIDDEN)||u(c,l.SELECTED_HIDDEN)||u(c,l.SEARCH_HIDDEN)||u(c,l.DISABLED))&&this.setKeypress(e)},setSelectValue:function(e,t){var n=this.refs,s=void 0;if(t?this.setSelectValueClick(t):(s=e.keyCode,this.setSelectValueButton(e)),this.displaySelected(n.selected,n),!this.programmaticClick){var r=[9,16,17,18,20,91];if(t||"blur"===e.type||!s&&"change"===e.type||s&&r.indexOf(s)===-1)if(this.toggleList.justOpened&&!t)this.toggleList.justOpened=!1;else if(this.onChange)try{this.onChange(t,this.getSelectedValues())}catch(t){console.warn("something may be wrong in onChange",t)}this.programmaticClick=!1}},setSelectValueButton:function(){var e=this.refs,t=e.data,n=this.selectedClass,s=void 0;if(this.multipleTags)return!1;this.removeSelectedClass(t);var r=this.getSelected(),o=r[0];o&&(s=t[o.index],i["default"].addClass(s,n),i["default"].scrollTo(s,e.optionsListWrapper))},setSelectValueClick:function(e){var t=this.multiple,n=this.refs,s=this.selectedClass,r=e.target,o=r.getAttribute("data-index"),a=n.selectOptions[o];t&&(!t||this.multipleTags||e[this.multiSelect])||this.forceMultiple?(i["default"].toggleClass(r,s),a.selected=!a.selected):(this.deselectAll(),i["default"].addClass(r,s),a.selected=a.selected!==!0),this.forceMultiple=!1,this.hideEmptySection(r.parentNode);var l=n.selectOptions[0];""===l.value&&this.getSelected().length>1&&(i["default"].removeClass(n.data[0],s),n.selectOptions[0].selected=!1)},toggleClosed:function(e,t,n,s){var r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.classes;i["default"].addClass(n.optionsListWrapper,o.HIDDEN),i["default"].removeClass(s,o.OPEN);var a=document.querySelector("html");if(a.removeEventListener("click",this.catchBodyClick),a.removeEventListener("touchend",this.catchBodyClick),this.search?this.fuzzySearchReset():this.removeSelectKeyListener(),r||setTimeout(function(){return n.flounder.focus()},0),this.onClose&&this.ready)try{this.onClose(e,this.getSelectedValues())}catch(e){console.warn('something may be wrong in "onClose"',e)}},toggleList:function(e,t){var n=this.classes,s=this.refs,r=s.optionsListWrapper,o=s.wrapper,a=e.type,l=i["default"].hasClass(r,n.HIDDEN);if("mouseleave"!==a&&"close"!==t&&l){var u=this.data,c=!1;1===u.length?c=!(u[0].extraClass&&u[0].extraClass.indexOf(n.PLACEHOLDER)>-1):u.length>1&&(c=!0),c&&("keydown"===a&&(this.toggleList.justOpened=!0),this.toggleOpen(e,r,s,o))}else this.toggleList.justOpened=!1,this.toggleClosed(e,r,s,o)},toggleListSearchClick:function(e){var t=this.classes;i["default"].hasClass(this.refs.wrapper,t.OPEN)||this.toggleList(e,"open")},toggleOpen:function(e,t,n){if(!this.isIos||this.search||this.multipleTags===!0){var s=this.classes;i["default"].removeClass(n.optionsListWrapper,s.HIDDEN),i["default"].addClass(n.wrapper,s.OPEN);var r=document.querySelector("html");r.addEventListener("click",this.catchBodyClick),r.addEventListener("touchend",this.catchBodyClick)}if(!this.multipleTags){var o=n.select.selectedIndex,a=n.data[o];i["default"].scrollTo(a,n.optionsListWrapper)}this.search?setTimeout(function(){return n.search.focus()},0):(this.addSelectKeyListener(),setTimeout(function(){return n.select.focus()},0));var l=n.data.length;if(this.props.placeholder&&l--,n.multiTagWrapper){var u=n.multiTagWrapper.children.length-1;u===l&&(this.removeNoResultsMessage(),this.addNoMoreOptionsMessage())}if(this.onOpen&&this.ready)try{this.onOpen(e,this.getSelectedValues())}catch(e){console.warn('something may be wrong in "onOpen"',e)}}};n["default"]=l},{"./keycodes":18,"./utils":20}],17:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=e("./defaults"),u=e("./utils"),c=s(u),d=e("./api"),f=s(d),h=e("./build"),p=s(h),v=e("./events"),g=s(v),m=e("./search"),y=s(m),E=e("./version"),C=s(E),T=e("./keycodes"),L=s(T),S=function(){function e(t,n){if(i(this,e),t){if("string"==typeof t&&(t=document.querySelectorAll(t)),(t.length||0===t.length)&&"SELECT"!==t.tagName){if(t.length>1)console.warn("Flounder - More than one element found.\n Dropping all but the first.");else if(0===t.length)throw"Flounder - No target element found.";t=t[0]}return t.flounder&&t.flounder.destroy(),this.init(t,n)}console.warn("Flounder - No target element found.")}return a(e,[{key:"componentWillUnmount",value:function(){if(this.onComponentWillUnmount)try{this.onComponentWillUnmount()}catch(e){console.warn('something may be wrong in "onComponentWillUnmount"',e)}this.removeListeners(),this.originalChildren&&this.popInSelectElements(this.refs.select)}}]),a(e,[{key:"filterSearchResults",value:function(e){var t=e.target.value.trim();this.fuzzySearch.previousValue=t;var n=this.search.isThereAnythingRelatedTo(t)||[];if(""!==t){var s=this.refs.data,r=this.refs.sections,i=this.classes;s.forEach(function(e){c["default"].addClass(e,i.SEARCH_HIDDEN)}),r.forEach(function(e){c["default"].addClass(e,i.SEARCH_HIDDEN)}),n.forEach(function(e){c["default"].removeClass(s[e.i],i.SEARCH_HIDDEN),"number"==typeof e.d.s&&c["default"].removeClass(r[e.d.s],i.SEARCH_HIDDEN)}),this.refs.noMoreOptionsEl||(0===n.length?this.addNoResultsMessage():this.removeNoResultsMessage())}else this.fuzzySearchReset()}},{key:"fuzzySearch",value:function(e){if(this.fuzzySearch.previousValue=this.fuzzySearch.previousValue||"",this.onInputChange)try{this.onInputChange(e)}catch(e){console.warn('something may be wrong in "onInputChange"',e)}if(this.toggleList.justOpened)this.toggleList.justOpened=!1;else{e.preventDefault();var t=e.keyCode;if(t!==L["default"].UP&&t!==L["default"].DOWN&&t!==L["default"].ENTER&&t!==L["default"].ESCAPE)if(this.multipleTags&&t===L["default"].BACKSPACE&&""===this.fuzzySearch.previousValue){var n=this.refs.search.previousSibling;n&&setTimeout(function(){return n.focus()},0)}else this.filterSearchResults(e);else t!==L["default"].ESCAPE&&t!==L["default"].ENTER||(this.fuzzySearchReset(),this.toggleList(e,"close"),this.addPlaceholder())}}},{key:"fuzzySearchReset",value:function(){var e=this.refs,t=this.classes;e.sections.forEach(function(e){c["default"].removeClass(e,t.SEARCH_HIDDEN)}),e.data.forEach(function(e){c["default"].removeClass(e,t.SEARCH_HIDDEN)}),e.search.value="",this.removeNoResultsMessage()}},{key:"init",value:function(e,t){if(this.props=t,this.bindThis(),this.initializeOptions(),this.setTarget(e),this.search&&(this.search=new y["default"](this)),this.onInit)try{this.onInit()}catch(n){console.warn('something may be wrong in "onInit"',n)}this.buildDom();var s=c["default"].setPlatform(),r=s.isOsx,i=s.isIos,o=s.multiSelect;if(this.isOsx=r,this.isIos=i,this.multiSelect=o,this.onRender(),this.onComponentDidMount)try{this.onComponentDidMount()}catch(n){console.warn("something may be wrong in onComponentDidMount",n)}return this.ready=!0,this.originalTarget.flounder=this.target.flounder=this,this.refs.flounder.flounder=this}},{key:"initializeOptions",value:function(){var e=this.props=this.props||{};for(var t in l.defaultOptions)if("onChange"===t&&e.onSelect)this.onChange=e.onSelect,console.warn("Please use onChange. onSelect has been\n depricated and will be removed in 2.0.0"),this.onSelect=function(){console.warn("Please use onChange. onSelect has been\n depricated and will be removed in 2.0.0"),this.onChange.apply(this,arguments)};else if("classes"===t){var n=l.defaultOptions.classes,s="object"===o(e.classes)?e.classes:{};this.classes={};for(var i in n){var a=s[i],u=[n[i]];a&&a!==u[0]&&u.push(a),this.classes[i]=u}}else"data"===t?this.data=e.data&&e.data.length?[].concat(r(e.data)):[].concat(r(l.defaultOptions.data)):this[t]=void 0!==e[t]?e[t]:l.defaultOptions[t];this.selectedClass=this.classes.SELECTED,e.defaultEmpty&&(this.placeholder=""),this.multipleTags&&(this.search=!0,this.multiple=!0,this.selectedClass.push(this.classes.SELECTED_HIDDEN))}},{key:"onRender",value:function(){var e=this.props,t=this.refs;if(this.isIos&&!this.multiple){var n=t.select,s=this.classes;c["default"].removeClass(n,s.HIDDEN),c["default"].addClass(n,s.HIDDEN_IOS)}this.addListeners(t,e)}},{key:"sortData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,i=0;return e.forEach(function(e){e.header?(t=n.sortData(e.data,t,s,i),i++):("object"!==("undefined"==typeof e?"undefined":o(e))?e={text:e,value:e,index:s}:e.index=s,void 0!==r&&(e.s=r),t.push(e),s++)}),t}}]),e}();S.find=function(e,t){return"string"==typeof e?e=document.querySelectorAll(e):1===e.nodeType&&(e=[e]),Array.prototype.slice.call(e,0).map(function(e){return new S(e,t)})},Object.defineProperty(S,"version",{get:function(){return C["default"]}}),Object.defineProperty(S.prototype,"version",{get:function(){return C["default"]}}),c["default"].extendClass(S,f["default"],p["default"],g["default"]),n["default"]=S},{"./api":12,"./build":13,"./defaults":15,"./events":16,"./keycodes":18,"./search":19,"./utils":20,"./version":21}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var s={BACKSPACE:8,DOWN:40,ENTER:13,ESCAPE:27,LEFT:37,RIGHT:39,SPACE:32,TAB:9,UP:38,NON_CHARACTER_KEYS:[16,17,18,20,91,93]};n["default"]=s},{}],19:[function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),i=n.defaults={minimumValueLength:1,minimumScore:0,scoreProperties:["text","textFlat","textSplit","value","valueFlat","valueSplit","description","descriptionSplit"],startsWithProperties:["text","value"],weights:{text:30,textStartsWith:50,textFlat:10,textSplit:10,value:30,valueStartsWith:50,valueFlat:10,valueSplit:10,description:15,descriptionSplit:30}},o=n.Sole=function(){function e(t){return s(this,e),this.flounder=t,this.getResultWeights=this.getResultWeights.bind(this),this.getResultWeights.bound=!0,this.scoreThis=this.scoreThis.bind(this),this.scoreThis.bound=!0,this}return r(e,[{key:"compareScoreCards",value:function(e,t){return e&&e.score&&t&&t.score?(e=e.score,t=t.score,e>t?1:e<t?-1:0):null}}]),r(e,[{key:"escapeRegExp",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"getResultWeights",value:function(e,t){var n=this,s=0,r={i:t,d:e},o=e.search=e.search||{},a=i.weights,l=""+e.text,u=""+e.value;return o.text=l,o.textFlat=l.toLowerCase(),o.textSplit=o.textFlat.split(" "),o.value=u,o.valueFlat=u.toLowerCase(),o.valueSplit=o.valueFlat.split(" "),o.description=e.description?e.description.toLowerCase():null,o.descriptionSplit=e.description?o.description.split(" "):null,i.scoreProperties.forEach(function(e){s+=n.scoreThis(o[e],a[e])}),i.startsWithProperties.forEach(function(e){s+=n.startsWith(n.query,o[e],a[e+"StartsWith"])}),r.score=s,r}},{key:"isItemAboveMinimum",value:function(e){return e.score>=i.minimumScore}},{key:"isThereAnythingRelatedTo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=void 0;if(e=e.length?e:""+e,!(e.length>=i.minimumValueLength))return!1;this.query=e.toLowerCase().split(" ");var n=this.flounder.data;return n=this.flounder.sortData(n),t=this.ratedRes=n.map(this.getResultWeights),t=t.filter(this.isItemAboveMinimum),t.sort(this.compareScoreCards),this.ratedRes=t}},{key:"startsWith",value:function(e,t,n){var s=t.length,r=e.length;if(r<=s){var i=t.toLowerCase().slice(0,r);if(i===e)return n}return 0}},{key:"scoreThis",value:function(e,t,n){var s=this,r=0;return e&&this.query.forEach(function(i){i=s.escapeRegExp(i);var o=0;"string"==typeof e?(i=new RegExp(i,"g"),o=(e.match(i)||[]).length):e[0]?e.forEach(function(e){o+=e.indexOf(i)!==-1?1:0}):o=e[i]||1e-6,o>0?r=t*o*10:n!==!0&&(r=-t)}),Math.floor(r)}}]),e}();n["default"]=o},{}],20:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var r=e("microbejs/src/modules/http"),i=s(r),o={addClass:function(e,t){if(Array.isArray(t)){var n=[];return t.forEach(function(e){n.includes(e)||n.push(e)}),n.forEach(function(t){o.addClass(e,t)}),!0}e.classList.add(t)},attachAttribut