/*! select-mania v1.6.2 */ (a=>{const b={defaults:{width:'100%',size:'medium',themes:[],placeholder:!1,removable:!1,empty:!1,search:!1,ajax:!1,data:{},scrollContainer:null,zIndex:null,hidden:!1},setup(i){const j=this,l=Object.keys(j.defaults),m=Object.keys(i);let n=!0;m.forEach(o=>{-1===a.inArray(o,l)&&(console.error('selectMania | wrong setup settings'),n=!1)}),n&&(j.defaults=a.extend(!0,{},j.defaults,i))}},c={initialize(i,j){const l=this;let m=a.extend(!0,{},j);const n=l.getAttrSettings(i);if(m=a.extend(m,n),m=l.internalSettings(i,m),l.controlSettings(i,m)){const o=d.build(i,m);o.data('selectMania-originalSelect',i),i.data('selectMania-element',o),!1!==m.ajax&&l.initAjax(o,m),l.updateClean(o),i.addClass('select-mania-original'),o.insertBefore(i),i.appendTo(o),f.bind(o)}},internalSettings(i,j){const l=this;return j.multiple=i.is('[multiple]'),j.disabled=i.is('[disabled]'),j.values=l.initValues(i,j),j},initValues(i,j){let l=j.multiple?[]:null,m=[];if(!j.empty){const n=i.find('option[selected]');if(0{j.multiple?(l.push(p.value),m.push({value:p.value,text:p.text})):(l=p.value,m=[{value:p.value,text:p.text}])});else if(!j.placeholder&&!j.multiple){const o=i.val();if(null!==o&&''!==o){const p=i.find('option[value="'+o+'"]').first();0{if(i.is('[data-'+m+']')){let n=i.attr('data-'+m);('true'===n||'false'===n)&&(n='true'===n),j[m]=n}}),j},update(i){const j=this,l=i.data('selectMania-element'),m=l.find('.select-mania-values').first(),n=l.data('selectMania-dropdown'),o=n.find('.select-mania-items').first();i.is('[disabled]')?l.addClass('select-mania-disabled'):l.removeClass('select-mania-disabled'),l.find('.select-mania-value').remove(),o.empty(),i.find('option:selected').each((p,q)=>{a(q).is(':selected')&&m.append(d.buildValue({value:q.value,text:q.text}))}),o.append(d.buildItemList(i.children())),j.updateClean(l),f.bind(l)},destroy(i){const j=i.data('selectMania-element'),l=j.data('selectMania-dropdown');i.insertAfter(j),l.remove(),j.remove(),i.removeClass('select-mania-original')},openDropdown(i){const j=this,l=i.closest('.select-mania');if(l.is('[data-selectMania-scrollContainer]')){const m=a(l.attr('data-selectMania-scrollContainer'));j.positionDropdown(i),i.addClass('select-mania-absolute'),m.off('scroll.selectMania').on('scroll.selectMania',()=>{m.off('scroll.selectMania'),j.closeDropdown(a('.select-mania-dropdown.open'))}),a(window).off('resize.selectMania').on('resize.selectMania',()=>{j.positionDropdown(i)})}i.stop().addClass('open').slideDown(100),i.find('.select-mania-items').scrollTop(0),j.focusSearch(i),a(document).off('keydown.selectMania').on('keydown.selectMania',f.keyboardControl)},closeDropdown(i){const j=i.data('selectMania-element');if(a(document).off('keydown.selectMania'),i.find('.select-mania-item').removeClass('select-mania-hover'),i.hasClass('select-mania-absolute')){const l=i.data('selectMania-element').find('.select-mania-inner').first();i.removeClass('open').hide().insertAfter(l),a(window).off('resize.selectMania');const m=a(j.attr('data-selectMania-scrollContainer'));0{-1===a(n).text().toLowerCase().indexOf(l)?a(n).addClass('select-mania-hidden'):a(n).removeClass('select-mania-hidden')}),j.find('.select-mania-group').each(()=>{0{j.dropdownLoading(i,!0),j.replaceItems(i,p),f.bind(i),j.initAjax(i)})},addItems(i,j){const l=this;l.addOrReplaceItems(i,j,!1)},replaceItems(i,j){const l=this;l.addOrReplaceItems(i,j,!0)},addOrReplaceItems(i,j,l){const m=this,n=i.data('selectMania-dropdown'),o=i.data('selectMania-originalSelect'),p=n.find('.select-mania-items'),q=a(j),r=m.getVal(i);r.forEach(s=>{q.filter((t,u)=>{const w=a(u);return w.attr('value')===s.value&&w.text()===s.text}).prop('selected',!0)}),$builtItems=d.buildItemList(q),!0===l&&(o.find('option').remove(':not(:checked)'),p.empty()),p.append($builtItems),o.append(q),f.bind(i)},initAjax(i,j){'object'==typeof j&&(j.hasOwnProperty('ajax')&&'function'==typeof j.ajax&&i.data('selectMania-ajaxFunction',j.ajax),j.hasOwnProperty('data')&&'object'==typeof j.data&&i.data('selectMania-ajaxData',j.data)),i.data('selectMania-ajaxPage',1),i.data('selectMania-ajaxReady',!0),i.data('selectMania-ajaxScrollDone',!1)},dropdownLoading(i,j){let l=!1;'undefined'!=typeof j&&!0===j&&(l=!0);const m=i.find('.select-mania-items-container').first();if(m.find('.icon-loading-container').remove(),!0!=l){const n=a('
');n.append(''),m.append(n)}},getVal(i){const j=[];return i.find('.select-mania-value').each((l,m)=>{const n=a(m),o=n.find('.select-mania-value-text').first().text();j.push({value:n.attr('data-value'),text:o})}),j},clear(i){const j=i.data('selectMania-dropdown');i.find('.select-mania-value').remove(),j.find('.select-mania-item').removeClass('select-mania-selected');const l=i.data('selectMania-originalSelect');i.is('.select-mania-multiple')?l.val([]):l.val('')},setVal(i,j){const l=this,m=i.data('selectMania-originalSelect');l.clear(i),1{const o=a.extend({value:'',text:'',selected:!0},n);l.setOneValSelectMania(i,o),l.setOneValOriginal(m,o)}),l.updateClean(i),f.bind(i)},setOneValSelectMania(i,j){const l=d.buildValue(j);i.find('.select-mania-values').append(l);const m=i.find('.select-mania-item[data-value="'+j.value+'"]').filter((n,o)=>{return a(o).text()===j.text});0{return a(n).text()===j.text});if(1>l.length){const m=d.buildOption(j);i.append(m)}else{const m=l.first();m[0].selected=!0}},controlTarget(i,j,l=!0){return-1===a.inArray('isSelect',j)||i.is('select')?-1===a.inArray('isInitialized',j)||i.hasClass('select-mania-original')?-1!==a.inArray('notInitialized',j)&&i.hasClass('select-mania-original')?(l&&(console.error('selectMania | ignore because already initialized'),console.log(i[0])),!1):-1!==a.inArray('isSingle',j)&&1a(j.scrollContainer).length?(j.scrollContainer=null,console.error('selectMania | invalid scroll container'),console.log(i[0]),console.log(j),!1):null!==j.zIndex&&(isNaN(parseInt(j.zIndex))||!isFinite(j.zIndex))?(j.zIndex=null,console.error('selectMania | invalid z-index'),console.log(i[0]),console.log(j),!1):!0},controlValues(i,j){return!!(j instanceof Array)||(console.error('selectMania | values parameter is not a valid array'),console.log(i[0]),console.log(j),!1)},navigateItem(i,j){const l=i.closest('.select-mania'),m=i.find('.select-mania-items');let n='.select-mania-item:not(.select-mania-disabled):not(.select-mania-hidden)';l.hasClass('select-mania-multiple')&&(n+=':not(.select-mania-selected)');const o=i.find(n),p=i.find(n+'.select-mania-hover');let q=a();if(0r.top?m.scrollTop(u+r.top):r.top+s>t&&m.scrollTop(u+r.top+s-t)}}},d={build(i,j){const l=this,m='select-mania-'+j.size,n='style="width:'+j.width+';"',o=a('
');j.multiple&&o.addClass('select-mania-multiple'),j.disabled&&o.addClass('select-mania-disabled'),j.themes instanceof Array&&0{o.addClass('select-mania-theme-'+r)}),!1!==j.ajax&&o.addClass('select-mania-ajax'),null!==j.scrollContainer&&o.attr('data-selectMania-scrollContainer',j.scrollContainer);const p=l.buildInner(j),q=l.buildDropdown(i,j);return o.append(p).append(q),o.data('selectMania-dropdown',q),q.data('selectMania-element',o),!0===j.hidden&&o.addClass('select-mania-hidden'),o},buildInner(i){const j=this,l=a('
'),m=a('
');let n='';'string'==typeof i.placeholder&&''!==i.placeholder&&(n=i.placeholder);const o=a('
'+n+'
');m.append(o),i.values.forEach(q=>{m.append(j.buildValue(q))}),l.append(m);const p=a('
');return(i.removable||i.multiple)&&p.append(''),l.append(p),l.append(a('
')),l},buildValue(i){const j='
'+i.text+'
';return a(j)},buildOption(i){const j=a('');return j[0].selected=i.selected,j},buildDropdown(i,j){const l=this,m='select-mania-'+j.size,n=a('
');if(j.multiple&&n.addClass('select-mania-multiple'),j.search){const q=a('');q.append(''),n.append(q)}const o=a('
'),p=a('
');return p.append(l.buildItemList(i.children())),o.append(p),n.append(o),j.themes instanceof Array&&0{n.addClass('select-mania-theme-'+q)}),null!==j.zIndex&&n.css('z-index',j.zIndex),n},buildItemList(i){const j=this;let l=a();return i.each((m,n)=>{const o=a(n);o.is('optgroup')?l=l.add(j.buildItemGroup(o)):o.is('option')&&(l=l.add(j.buildItem(o)))}),l},buildItemGroup(i){const j=this,l=a('
'),m=a('
');i.is('[data-hidden="true"]')&&l.addClass('select-mania-hidden');const n=a('
');i.is('[data-icon]')&&n.append('
'),n.append('
'+i.attr('label')+'
'),l.append(n);const o=i.is(':disabled');return o&&l.addClass('select-mania-disabled'),i.find('option').each((p,q)=>{m.append(j.buildItem(a(q),o))}),l.append(m),l},buildItem(i,j){const l=i[0],m=a('
');return i.is('[data-hidden="true"]')&&m.addClass('select-mania-hidden'),i.is('[data-icon]')&&m.append('
'),m.append('
'+l.text+'
'),(i.is(':disabled')||!0===g.def(j))&&m.addClass('select-mania-disabled'),i.is(':selected')&&m.addClass('select-mania-selected'),m}},f={bind(i){const j=this,l=i.data('selectMania-originalSelect'),m=i.data('selectMania-dropdown');i.is('.select-mania-disabled')?(l.off('focus.selectMania'),l.off('blur.selectMania'),i.find('.select-mania-clear-icon').off('click.selectMania'),i.find('.select-mania-value-clear-icon').off('click.selectMania'),i.find('.select-mania-inner').off('click.selectMania'),m.find('.select-mania-item:not(.select-mania-disabled)').off('mouseenter.selectMania'),m.find('.select-mania-item:not(.select-mania-disabled)').off('click.selectMania'),m.find('.select-mania-search-input').off('input.selectMania'),m.find('.select-mania-items').off('wheel.selectMania'),m.find('.select-mania-items').off('scroll.selectMania')):(a(document).off('click.selectMania').on('click.selectMania',j.documentClick),l.off('focus.selectMania').on('focus.selectMania',j.focus),l.off('blur.selectMania').on('blur.selectMania',j.blur),i.find('.select-mania-clear-icon').off('click.selectMania').on('click.selectMania',j.clearValues),i.find('.select-mania-value-clear-icon').off('click.selectMania').on('click.selectMania',j.clearValue),i.find('.select-mania-inner').off('click.selectMania').on('click.selectMania',j.dropdownToggle),m.find('.select-mania-item:not(.select-mania-disabled)').off('mouseenter.selectMania').on('mouseenter.selectMania',j.hoverItem),m.find('.select-mania-item:not(.select-mania-disabled)').off('click.selectMania').on('click.selectMania',j.itemSelection),m.find('.select-mania-search-input').off('input.selectMania').on('input.selectMania',j.inputSearch),m.find('.select-mania-items').off('wheel.selectMania').on('wheel.selectMania',j.scrollControl),i.is('.select-mania-ajax')&&m.find('.select-mania-items').off('scroll.selectMania').on('scroll.selectMania',j.scrollAjax))},dropdownToggle(i){i.stopPropagation();const j=a(i.currentTarget),l=j.closest('.select-mania'),m=l.data('selectMania-dropdown');m.is('.open')?c.closeDropdown(m):(c.closeDropdown(a('.select-mania-dropdown.open')),c.openDropdown(m))},documentClick(i){1>a(i.target).closest('.select-mania-dropdown').length&&c.closeDropdown(a('.select-mania-dropdown.open'))},clearValues(i){i.stopPropagation();const j=a(i.currentTarget),l=j.closest('.select-mania'),m=l.data('selectMania-dropdown'),n=l.data('selectMania-originalSelect');c.clear(l),m.is('.select-mania-absolute')&&c.positionDropdown(m),n.trigger('change'),c.updateClean(l)},clearValue(i){i.stopPropagation();const j=a(i.currentTarget),l=j.closest('.select-mania'),m=l.data('selectMania-dropdown'),n=j.closest('.select-mania-value');m.find('.select-mania-item[data-value="'+n.attr('data-value')+'"]').removeClass('select-mania-selected'),n.remove();const o=l.data('selectMania-originalSelect');c.removeMultipleVal(o,n.attr('data-value')),m.is('.select-mania-absolute')&&c.positionDropdown(m),o.trigger('change'),c.updateClean(l)},itemSelection(i){const j=a(i.currentTarget);c.selectItem(j)},inputSearch(i){const j=a(i.currentTarget);$selectManiaEl=j.closest('.select-mania-dropdown').data('selectMania-element');let l=200;$selectManiaEl.is('.select-mania-ajax')&&(l=400),clearTimeout(j.data('selectMania-searchTimer')),j.data('selectMania-searchTimer',setTimeout(()=>{$selectManiaEl.is('.select-mania-ajax')?c.doSearchAjax($selectManiaEl):c.doSearch($selectManiaEl)},l))},scrollAjax(i){const j=this,l=a(i.currentTarget),m=l.closest('.select-mania-dropdown'),n=m.data('selectMania-element');if(!0!==n.data('selectMania-ajaxScrollDone')&&l.scrollTop()>=l[0].scrollHeight-l.outerHeight()-12&&!0===n.data('selectMania-ajaxReady')){const o=n.data('selectMania-ajaxPage')+1,p=n.find('.select-mania-search-input').first().val();n.data('selectMania-ajaxReady',!1),n.data('selectMania-ajaxPage',o),c.dropdownLoading(n);const q=n.data('selectMania-ajaxFunction'),r=n.data('selectMania-ajaxData');q(p,o,r,s=>{c.dropdownLoading(n,!0),''===s.trim()?n.data('selectMania-ajaxScrollDone',!0):(c.addItems(n,s),j.bind(n),n.data('selectMania-ajaxReady',!0))})}},scrollControl(i){const j=a(i.currentTarget);return 0>i.originalEvent.deltaY?0{const n=a(m);c.controlTarget(n,['isSelect','notInitialized'])&&c.initialize(n,j)})},update(){return this.each((i,j)=>{const l=a(j);c.controlTarget(l,['isSelect','isInitialized'])&&c.update(l)})},destroy(){return this.each((i,j)=>{const l=a(j);c.controlTarget(l,['isSelect','isInitialized'])&&c.destroy(l)})},check(){if(c.controlTarget(this,['isSelect','isSingle']))return c.controlTarget(this,['isInitialized'],!1)},get(){if(c.controlTarget(this,['isSelect','isSingle','isInitialized'])){const i=this.data('selectMania-element');return c.getVal(i)}},set(i){if(c.controlTarget(this,['isSelect','isSingle','isInitialized'])&&c.controlValues(this,i)){const j=this.data('selectMania-element');c.setVal(j,i)}},clear(){return this.each((i,j)=>{const l=a(j);if(c.controlTarget(l,['isSelect','isInitialized'])){const m=l.data('selectMania-element');c.clear(m),l.trigger('change'),c.updateClean(m)}})},open(){return this.each((i,j)=>{const l=a(j);if(c.controlTarget(l,['isSelect','isInitialized'])){const m=l.data('selectMania-element'),n=m.data('selectMania-dropdown');c.openDropdown(n)}})},close(){return this.each((i,j)=>{const l=a(j);if(c.controlTarget(l,['isSelect','isInitialized'])){const m=l.data('selectMania-element'),n=m.data('selectMania-dropdown');c.closeDropdown(n)}})},hide(){return this.each((i,j)=>{const l=a(j);if(c.controlTarget(l,['isSelect','isInitialized'])){const m=l.data('selectMania-element'),n=m.data('selectMania-dropdown');c.closeDropdown(n),m.addClass('select-mania-hidden')}})},show(){return this.each((i,j)=>{const l=a(j);if(c.controlTarget(l,['isSelect','isInitialized'])){const m=l.data('selectMania-element');m.removeClass('select-mania-hidden')}})}};a.fn.selectMania=function(i){if(!(1>this.length)){if(h[i]){const j=Array.prototype.slice.call(arguments,1);return h[i].apply(this,j)}return'object'!=typeof i&&i?void(console.error('selectMania | wrong method called'),console.log(this)):h.init.apply(this,arguments)}},a.extend({selectManiaSetup:i=>{b.setup(i)}})})(jQuery);