/* # ----------------------------------------------------------------------------- # ~/assets/themes/j1/modules/msDropdown/js/msDropdown.min.js # Provides JS Core and API for MSDropdown # # Product/Info: # http://jekyll.one # https://www.marghoobsuleman.com/ # # Copyright (C) 2023, 2024 Juergen Adams # # msDropdown is licensed under MIT License. # See: https://github.com/marghoobsuleman/ms-Dropdown/blob/master/MIT-LICENSE.txt # J1 Theme is licensed under MIT License. # See: https://github.com/jekyll-one/J1 Theme/blob/master/LICENSE # ----------------------------------------------------------------------------- # NOTE: # https://github.com/marghoobsuleman/ms-Dropdown # https://www.marghoobsuleman.com/image-dropdown/help # https://www.marghoobsuleman.com/image-dropdown/advanced-help # ----------------------------------------------------------------------------- /*! * /** * * MSDropdown - msDropdown.js * * @author: Marghoob Suleman * * @website: https://www.marghoobsuleman.com/ * * @version: 4.0.2 * * @date: Sun Oct 24 2021 10:46:05 GMT+0200 (GMT+02:00) * * msDropdown is free web component: you can redistribute it and/or modify * * it under the terms of the either the MIT License or the Gnu General Public License (GPL) Version 2 * * / */ (()=>{"use strict";let e=null;class t{constructor(e,t){this.ele=e,this._settings={byJson:{data:null,selectedIndex:0,name:null,size:0,multiple:!1,width:250},mainCss:"ms-dd",rowHeight:null,visibleRows:null,showIcon:!0,zIndex:9999,event:"click",style:"",childWidth:null,childHeight:null,enableCheckbox:!1,checkboxNameSuffix:"_mscheck",showPlusItemCounter:!0,enableAutoFilter:!0,showFilterAlways:!1,showListCounter:!1,imagePosition:"left",errorMessage:"Please select an item from this list",on:{create:null,open:null,close:null,add:null,remove:null,change:null,blur:null,click:null,dblclick:null,mousemove:null,mouseover:null,mouseout:null,focus:null,mousedown:null,mouseup:null},...t},this._css={},this._onDocumentClick=null,this._onDocumentKeyDown=null,this._onDocumentKeyUp=null,this._isOpen=!1,this._DOWN_ARROW=40,this._UP_ARROW=38,this._LEFT_ARROW=37,this._RIGHT_ARROW=39,this._ESCAPE=27,this._ENTER=13,this._ALPHABETS_START=47,this._SHIFT=16,this._CONTROL=17,this._MAC_CONTROL=91,this._BACKSPACE=8,this._DELETE=46,this._SPACE=32,this._shiftHolded=!1,this._controlHolded=!1,this._isFirstTime=!0,this._cacheEle={},this._isMouseDown=!1,this._itemsArr=[],this._css={dd:this._settings.mainCss+" ms-pr",wrapperDisabled:"disabled",headerA:"ms-list-option option-selected",header:"ms-dd-header",headerMiddleContent:"ms-header-middle-content",arrow:"ms-dd-arrow",arrowDown:"ms-dd-pointer-down",arrowUp:"ms-dd-pointer-up",headerCounter:"ms-header-counter",listOfItems:"ms-options",itemContent:"ms-dd-option-content",item:"ms-list-option",itemSpan:"ms-middle",itemSpanOpt:"ms-optgroup-padding",itemLabel:"ms-dd-label",itemImage:"ms-dd-option-image",itemDesc:"ms-dd-desc",itemSelected:"option-selected",itemDisabled:"disabled",itemEnabled:"enabled",optgroup:"ms-optgroup",listCounter:"ms-list-counter",valueInput:"ms-value-input",checkbox:"ms-checkbox",imageRight:"ico-align-right"},this._wrapper={},this._createByJson(),this._checkDataSettings(),this._isList=this.ele.size>1,this._isMultiple=this.ele.multiple,this._enableCheckbox=this._settings.enableCheckbox,(this._isList||"true"===this._enableCheckbox.toString())&&(this._isMultiple=this.ele.multiple=!0),this._isFilterApplied=!1,this._nexPrevCounter=0,this._init()}_init(){this._makeLayout(),this._updateUiAndValueByIndex(this.selectedIndex),this.ele.size>1&&(this._makeUiAsList(!0,this.ele.size),this._scrollToItem()),null!==this._settings.childWidth&&(this._wrapper.listOfItems.style.width=this._settings.childWidth),this._showHideOriginal(!1),"true"===this._settings.showFilterAlways.toString()&&(this._settings.enableAutoFilter=!0,this._showHideFilterBox(!0)),this.ele.autofocus?(this._wrapper.holder.focus(),this._wrapper.filterInput.focus()):this._wrapper.filterInput.blur(),this.updateUiAndValue(),this._fireLocalEventIfExist("create"),this._fireEventIfExist("onCreate")}_showHideOriginal(e=!0){e?this._show(this.ele):this._hide(this.ele)}_checkDataSettings(){let e=this._getDataSet(this.ele),t=this._settings;t.mainCss=e?.mainCss||t.mainCss,t.showIcon=e?.showIcon||t.showIcon,t.event=e?.event||t.event,t.childWidth=e?.childWidth||t.childWidth,t.childHeight=e?.childHeight||t.childHeight,t.enableCheckbox=e?.enableCheckbox||t.enableCheckbox,t.checkboxNameSuffix=e?.checkboxNameSuffix||t.checkboxNameSuffix,t.enableAutoFilter=e?.enableAutoFilter||t.enableAutoFilter,t.visibleRows=e?.visibleRows||t.visibleRows,t.showPlusItemCounter=e?.showPlusItemCounter||t.showPlusItemCounter,t.errorMessage=e?.errorMessage||t.errorMessage,t.showFilterAlways=e?.showFilterAlways||t.showFilterAlways,t.showListCounter=e?.showListCounter||t.showListCounter,t.imagePosition=e?.imagePosition||t.imagePosition,this._settings={...this._settings,...t}}setSettingAttribute(e,t){this._settings[e]=t}_createByJson(){if(this._settings.byJson.data)try{let e=this._settings.byJson,t={};t.name=e.name||this.ele.id||"",e.size>0&&(t.size=e.size),e.multiple&&(t.multiple=e.multiple);let s=this._createEle("select",t),i=e.data.length;for(let t=0;t1?e[0]:e,this._scrollToIfNeeded(e))}_showHideFilterBox(e=!0){e?(this._show(this._wrapper.filterHolder),this._wrapper.filterInput.focus(),"false"===this._settings.showFilterAlways.toString()&&this._hide(this._wrapper.headerA)):(this._wrapper.filterInput.value="",this._hide(this._wrapper.filterHolder),this._show(this._wrapper.headerA))}_applyFilters(e){let t=this._wrapper.filterInput.value;if(0===t.length)this._show(this._wrapper.headerA),this._makeChildren(),this._isFilterApplied=!1;else{"false"===this._settings.showFilterAlways.toString()&&this._hide(this._wrapper.headerA),this._isOpen||this.open(null);let e=[...this.options].filter((function(e){return"OPTGROUP"!==e.nodeName&&!1===e.disabled&&e.text.toLowerCase().indexOf(t.toLowerCase())>=0}));this._makeChildren(e),this._isFilterApplied=!0,this._nexPrevCounter=-1,this._scrollToIfNeeded(null,0)}}_makeFilterBox(){let e=this._createEle("div",{className:"ms-filter-box"}),t=this._createEle("input",{type:"text"});return e.appendChild(t),this._wrapper.filterInput=t,this._wrapper.filterHolder=e,this._bindEvents(t,"input",(e=>{this._applyFilters(e)})),e}_makeHeader(){let e=this._css,t=this._createEle("div",{className:e.header}),s=this._createEle("a",{className:e.headerA}),i=this._createEle("span",{className:e.headerMiddleContent}),l=this._createEle("span",{className:e.arrow+" "+e.arrowDown});return s.appendChild(l),s.appendChild(i),t.appendChild(s),this._wrapper.header=t,this._wrapper.headerA=s,this._wrapper.headerContent=i,this._wrapper.arrow=l,"left"!==this._settings.imagePosition&&s.classList.add(e.imageRight),this._bindEvents(t,this._settings.event,(e=>{this.open(e)})),t}_makeChildren(e=null){let t,s=this._css,i="true"===this._enableCheckbox.toString(),l=this,n=function(e,t){let n={};return n=l._parseOption(e),{opt:n,itemObj:{label:{text:n.text,css:s.itemLabel},img:{src:n.image,css:s.itemImage},desc:{text:n.description,css:s.itemDesc},isDisabled:e.disabled||!1,isSelected:e.selected||!1,isCheckbox:i,value:n.value,title:n.title,imageCss:`${n.imageCss} ${n.className}`,counter:t+1,isOptGroup:"OPTGROUP"===e.nodeName,innerSpanCss:s.itemContent}}},r=function(e,t){t.isDisabled||(l._bindEvents(e,"mouseup",(e=>{l._isMouseDown=!1,i&&"INPUT"===e.target.nodeName||l._isList||l.close(e)})),l._bindEvents(e,"mousedown",(t=>{if(l._isMouseDown=!0,i&&"INPUT"===t.target.nodeName)l._setSelectedByItemToggle(e._refCheckbox,e);else if(l._shiftHolded&&l._isMultiple){let t=l.selectedIndex,s=e.index;l._setSelectedByIndexFromTo(t,s)}else l._controlHolded&&l._isMultiple?l._setSelectedByItem(e,!1,!1):l._setSelectedByItem(e)})),l._bindEvents(e,"mouseover",(t=>{l._isMouseDown&&l._isMultiple&&l._setSelectedByItem(e,!1,!1)})))};this._wrapper.listOfItems?t=this._wrapper.listOfItems:(t=this._createEle("ul",{className:s.listOfItems,zIndex:this._settings.zIndex}),this._wrapper.listOfItems=t),t.innerHTML="";let a=null===e?this.ele.children:e,h=a.length;for(let e=0;e{this._isList?this._bindDocumentEvents(null,!1,!0):(e&&(e.close(null),e=null),this._bindDocumentEvents(null,!0,!0),e=this),this._fireLocalEventIfExist("focus"),this._fireEventIfExist("focus")})),this._bindEvents(this._wrapper.holder,"blur",(e=>{this._isList&&this._unbindDocumentEvents(),this._fireLocalEventIfExist("blur"),this._fireEventIfExist("blur")})),this._bindEvents(this._wrapper.holder,"dblclick",(e=>{this._fireLocalEventIfExist("blur"),this._fireEventIfExist("blur")})),this._bindEvents(n,"invalid",(e=>{e.target.setCustomValidity(""),e.target.validity.valid||e.target.setCustomValidity(this._settings.errorMessage)})),this._bindEvents(n,"input",(e=>{e.target.setCustomValidity("")}));let _=["click","dblclick","mousemove","mouseover","mouseout","mousedown","mouseup"];for(let e=0,t=_.length;e{this._fireLocalEventIfExist(t),this._fireEventIfExist(t)}))}return s}_createRow(e){let t=e.isOptGroup?this._css.optgroup:this._css.item,s=this._createEle("li",{className:t});if(e.isCheckbox&&!e.isOptGroup){let t=this._createEle("input",{tabIndex:-1,className:this._css.checkbox,type:"checkbox",disabled:e.isDisabled,checked:!1,value:e.value,name:this._wrapper.valueBox.name+this._settings.checkboxNameSuffix+"[]"});s.appendChild(t),s._refCheckbox=t}let i=e.isOptGroup?" "+this._css.itemSpanOpt:"",l=this._createEle("span",{className:this._css.itemSpan+i}),n="true"===this._settings.showListCounter.toString()?`${e.counter} ${e.label.text}`:e.label.text,r=this._createEle("span",{className:e.label.css},n),a=this._createEle("span",{className:e.innerSpanCss});if(a.appendChild(r),null!==e.img.src){let t=this._createEle("img",{className:e.img.css,src:e.img.src});l.appendChild(t)}if(null===e.img.src&&""!==e.imageCss.replace(/\s/g,"")){let t=this._createEle("span",{className:e.img.css+" "+e.imageCss}," ");l.appendChild(t)}if(null!==e.desc.text){let t=this._createEle("span",{className:e.desc.css},e.desc.text);a.appendChild(t)}return l.appendChild(a),s.appendChild(l),e.isDisabled?s.classList.add(this._css.itemDisabled):e.isOptGroup||s.classList.add(this._css.itemEnabled),""!==e.title&&(s.title=e.title),s}_parseOption(e){let t,s,i,l=null,n="",r="",a="",h="",d="",o="",u=-1;if(void 0!==e){let _=e.nodeName,p=e.dataset;"OPTGROUP"===_?h=e.label:(h=e.text,a=e.value||h),u=e.index,t=e.selected,s=e.disabled,d=e.className||"",n=p.title||"",r=p.description||"",l=p.image||l,o=p.imageCss||"",i=this._getInternalStyle(e)}return{image:l,title:n,description:r,value:a,text:h,className:d,imageCss:o,index:u,selected:t,disabled:s,internalStyle:i}}_removeOldSelected(){let e=this._getAllEle("ul li."+this._css.itemSelected,this._wrapper.holder);for(let t=0;t1&&(l.innerHTML=l.innerHTML+`  (+${s.ui.length-1})`),"false"===this._settings.showIcon.toString()){let e=this._getEle("img",this._wrapper.headerContent);e&&this._hide(e)}this._setTitleMinHeight(!1)}_findElementByIndexProp(e){let t=this._getAllEle(`ul li.${this._css.item}`,this._wrapper.holder),s=t.length;for(let i=0;i1){let e=[],l=[],a=[],o=[];for(let t=0;tt?s.clientHeight:t}}else t=this._wrapper.headerA.clientHeight;this._wrapper.header.style.minHeight=t+"px"}_makeUiAsList(e,t){!0===e?(this._hide(this._wrapper.header),this.open(null,!0),this._adjustChildHeight(t),this._wrapper.listOfItems.style.position="relative",this._wrapper.listOfItems.style.display="inline-block",this._wrapper.listOfItems.style.zIndex=0,this._wrapper.holder.style.zIndex=0,this._isList=!0):(this._show(this._wrapper.header),this._wrapper.listOfItems.style.height=null,this._wrapper.listOfItems.style.position="absolute",this._wrapper.listOfItems.style.zIndex=this._settings.zIndex,this._wrapper.holder.style.zIndex=0,this._isList=!1,this.close(null))}_bindDocumentEvents(e,t=!0,s=!0){this._unbindDocumentEvents(),this._onDocumentClick=e=>{let t=this._wrapper.listOfItems.getBoundingClientRect(),s=this._wrapper.header.getBoundingClientRect(),i=t.left+t.width,l=s.top+t.height+s.height;(e.clientXi||e.clientYl)&&this.close(e)},this._onDocumentKeyDown=e=>{switch(e.keyCode){case this._DOWN_ARROW:case this._RIGHT_ARROW:e.preventDefault(),e.stopPropagation(),this._show(this._wrapper.listOfItems),this._isOpen=!0,this.next();break;case this._UP_ARROW:case this._LEFT_ARROW:e.preventDefault(),e.stopPropagation(),this.previous();break;case this._ESCAPE:case this._ENTER:e.preventDefault(),e.stopPropagation(),this.close(null);break;case this._SHIFT:this._shiftHolded=!0;break;case this._CONTROL:case this._MAC_CONTROL:this._controlHolded=!0;break;case this._SPACE:this._show(this._wrapper.listOfItems),this._isOpen=!0;break;default:e.keyCode>=this._ALPHABETS_START&&!1===this._isList&&"true"===this._settings.enableAutoFilter.toString()&&this._showHideFilterBox(!0),this._shiftHolded=!1,this._controlHolded=!1}},this._onDocumentKeyUp=e=>{this._shiftHolded=!1,this._controlHolded=!1},!0===t&&this._bindEvents(document,"mouseup",this._onDocumentClick),!0===s&&(this._bindEvents(document,"keydown",this._onDocumentKeyDown),this._bindEvents(document,"keyup",this._onDocumentKeyUp))}_unbindDocumentEvents(){null!==this._onDocumentClick&&this._unbindEvents(document,"mouseup",this._onDocumentClick),null!==this._onDocumentKeyDown&&this._unbindEvents(document,"keydown",this._onDocumentKeyDown),null!==this._onDocumentKeyUp&&this._unbindEvents(document,"keyup",this._onDocumentKeyUp),this._onDocumentClick=null,this._onDocumentKeyDown=null,this._onDocumentKeyUp=null}_scrollToIfNeeded(e=null,t=null,s="next"){let i=this._wrapper.listOfItems;i.getBoundingClientRect();if(null===e&&null!==t&&(i.scrollTop=t),e=void 0!==e?e:this._getEle("li."+this._css.itemSelected)){let t=e.offsetTop,l=i.clientHeight,n=e.clientHeight;t+n-i.scrollTop>l&&"next"===s?i.scrollTop=t+n-l:t-i.scrollTop<0&&"previous"===s&&(i.scrollTop=t)}}_fireLocalEventIfExist(e,t=null){if("function"==typeof this._settings.on[e]){let s=null===t?this._getDataAndUI():t,i=this._settings.on[e];try{i(s)}catch(e){console.error(e.message)}}}_fireEventIfExist(e){if(this.ele.dataset[e]){let t=new Function(this.ele.dataset[e]);try{t()}catch(e){console.error(e.message)}}if(this._has_handler(e).hasEvent){if(this._has_handler(e).byElement)try{this.ele[e]()}catch(t){try{this.ele["on"+e]()}catch(e){}}else if(this._has_handler(e).byJQuery)switch(e){case"keydown":case"keyup":break;default:try{"undefined"!=typeof jQuery&&jQuery(this.ele).triggerHandler(e)}catch(e){}}return!1}}_has_handler(e){let t={byElement:!1,local:!1,byJQuery:!1,hasEvent:!1};null!==this._settings.on[e]&&(t.hasEvent=!0,t.local=!0);try{null!==this._getProp(this.ele,"on"+e)&&(t.hasEvent=!0,t.byElement=!0)}catch(e){}if("undefined"!=typeof jQuery){let s,i=jQuery(this.ele);s="function"==typeof jQuery?._data?jQuery?._data(this.ele,"events"):i.data("events"),s&&s[e]&&(t.hasEvent=!0,t.byJQuery=!0)}return t}add(e,t=null){let s,i,l,n,r,a,h;e instanceof HTMLOptionElement?h=e:"string"==typeof e?(s=i=e,h=new Option(s,i)):e instanceof Object&&(s=e.text||"",i=e.value||s,l=e.title||"",n=e.image||"",a=e.imageCss||"",r=e.description||"",h=new Option(s,i),h.setAttribute("data-description",r),h.setAttribute("data-image",n),h.setAttribute("data-title",l),h.setAttribute("data-image-css",a)),this.ele.add(h,t),this._makeChildren(),this._fireLocalEventIfExist("add")}remove(e){let t=this._getDataAndUI(e);return this.ele.remove(e),this._makeChildren(),this._fireLocalEventIfExist("remove",t),t}next(){let e,t=this,s=this.optionsUI,i=s.length;e=this._isFilterApplied?this._nexPrevCounter:this.selectedIndex;if(i>0){let l=function(){let l=e;for(;l=i?i-1:e,t._nexPrevCounter++,!s[e].classList.contains(t._css.itemDisabled))return s[e]}return null}();l&&(this._setSelectedByItem(l,!1,!0),this._scrollToIfNeeded(l))}}previous(){let e,t=this,s=this.optionsUI;s.length;e=this._isFilterApplied?this._nexPrevCounter:this.selectedIndex;if(s.length>0){let i=function(i){let l=e;for(;l>0;l--){let e=l-1;if(e=e>=0?e:0,t._nexPrevCounter--,!s[e].classList.contains(t._css.itemDisabled))return s[e]}return null}();i&&(this._setSelectedByItem(i,!1,!0),this._scrollToIfNeeded(i,null,"previous"))}}open(e,t=!1){this.disabled||(this._isOpen?this.close(null):(this._isOpen=!0,this._show(this._wrapper.listOfItems),!1===t&&this._bindDocumentEvents(e),this._wrapper.arrow.classList.remove(this._css.arrowDown),this._wrapper.arrow.classList.add(this._css.arrowUp),this._adjustChildHeight(),this._scrollToItem(),this._fireLocalEventIfExist("open")))}close(e){let t=this._isList,s=!1;if(null!==e){e.stopImmediatePropagation();let t=e.target.closest("li");s=null!==t&&t.classList.contains("disabled")}this.disabled||t||s||(this._scrollToIfNeeded(null,0),this._hide(this._wrapper.listOfItems),this._wrapper.arrow.classList.add(this._css.arrowDown),this._wrapper.arrow.classList.remove(this._css.arrowUp),this._isOpen=!1,this._isMouseDown=!1,this._shiftHolded=!1,this._controlHolded=!1,this._isFilterApplied=!1,this._wrapper.filterInput.value="",this._wrapper.filterInput.blur(),"false"===this._settings.showFilterAlways.toString()&&this._showHideFilterBox(!1),this._applyFilters(),this._unbindDocumentEvents(),this._updateHeaderUI(),this.ele.length!==this._getAllEle(`li.${this._css.item}`,this._wrapper.listOfItems).length&&(this._makeChildren(),this.updateUiAndValue()),this._fireLocalEventIfExist("close"))}namedItem(e,t=!1){let s=null,i=this.ele.querySelector(`option[name='${e}']`);if(i&&t){s={};let e=this._parseOption(i);s.option=i,s.data=e}else s=i;return s}item(e,t=!1){let s=null,i=this.ele.options[e];if(i&&t){s={};let e=this._parseOption(i);s.option=i,s.data=e}else s=i;return s}visible(e=null){if(!0===e?this._show(this._wrapper.holder,"inline-block"):!1===e&&this._hide(this._wrapper.holder),null===e)return"none"!==this._wrapper.holder.style.display}showRows(e){this._settings.visibleRows=e>this.length?this.length:e,this._adjustChildHeight()}visibleRows(e){this.showRows(e)}on(e,t){this._settings.on[e]=t}off(e,t){this._settings.on[e]=null}refresh(){this._makeChildren(),this.updateUiAndValue()}destroy(){this._show(this.ele),this.ele.required=this._wrapper.valueBox.required,this.ele.name=this._wrapper.valueBox.name,this._wrapper.holder.parentNode.removeChild(this._wrapper.holder)}get selectedIndex(){return this.ele.selectedIndex}set selectedIndex(e){let t=this,s=function(e){t.ele.selectedIndex=e,-1===e?(t._updateHeaderUI(null,""),t._removeOldSelected()):t._setSelectedByOptionItem(t.ele.options[e])};if(e0);this._updateHeaderUI(null)}else s(e)}get options(){return this.ele.options}set options(e){e instanceof HTMLOptionElement?(this.ele.add(e),this._makeChildren(),this.updateUiAndValue()):"number"==typeof e&&(this.ele.length=e,this._makeChildren(),this.updateUiAndValue())}get optionsUI(){return this._cacheEle.allItems,this._cacheEle.allItems=this._getAllEle(`li.${this._css.item}`,this._wrapper.listOfItems)}get length(){return this.ele.length}set length(e){this.ele.options.length=e,this._makeChildren(),this.updateUiAndValue()}get value(){return this.ele.value}set value(e){this.ele.value=e,this.selectedIndex=this.ele.selectedIndex}get selectedText(){return this.selectedIndex>=0?this.ele.options[this.selectedIndex].text:""}get disabled(){return this.ele.hasAttribute("disabled")}set disabled(e){e?(this.ele.setAttribute("disabled",""),this._wrapper.holder.classList.add(this._css.wrapperDisabled)):(this.ele.removeAttribute("disabled"),this._wrapper.holder.classList.remove(this._css.wrapperDisabled))}get form(){return this.ele.form}get multiple(){return this.ele.multiple}set multiple(e){e?(this.ele.setAttribute("multiple",""),this._enableCheckbox=this._settings.enableCheckbox):this.ele.removeAttribute("multiple"),this._isMultiple=e,e||(this.selectedIndex=this.ele.selectedIndex,this._enableCheckbox=!1),this._makeChildren()}get name(){return this._wrapper?.valueBox?this._wrapper.valueBox.name||"":this.ele.name}set name(e){this._wrapper?.valueBox?this._wrapper.valueBox.name=e:this.ele.name=e}get required(){return this._wrapper.valueBox.required}set required(e){e?this._wrapper.valueBox.setAttribute("required",!0):this._wrapper.valueBox.removeAttribute("required")}get size(){return this.ele.size}set size(e){this.ele.size=e,this._makeUiAsList(e>1,e)}get selectedOptions(){let e=null;if(this.selectedIndex>=0&&(e=this.ele.options[this.selectedIndex],this.multiple)){e=[];let t=this.options,s=t.length;for(let i=0;i{new s(e,i)})):(e.msDropdown=this,this._ddMaker=new t(e,i))}setSettingAttribute(e,t,s=!1){this._ddMaker.setSettingAttribute(e,t),s&&this._ddMaker.refresh()}add(e,t){this._ddMaker.add(e,t)}remove(e){return this._ddMaker.remove(e)}next(){this._ddMaker.next()}previous(){this._ddMaker.previous()}open(){this._ddMaker.open(null,!1)}close(){this._ddMaker.close(null)}namedItem(e,t=!1){return this._ddMaker.namedItem(e,t)}item(e,t=!1){return this._ddMaker.item(e,t)}visible(e=null){return this._ddMaker.visible(e)}showRows(e){this._ddMaker.showRows(e)}visibleRows(e){this._ddMaker.showRows(e)}on(e,t){this._ddMaker.on(e,t)}off(e,t){this._ddMaker.off(e,t)}updateUiAndValue(){this._ddMaker.updateUiAndValue()}refresh(){this._ddMaker.refresh()}destroy(){this._ddMaker.destroy()}get selectedIndex(){return this._ddMaker.selectedIndex}set selectedIndex(e){this._ddMaker.selectedIndex=e}get options(){return this._ddMaker.options}set options(e){this._ddMaker.options=e}get optionsUI(){return this._ddMaker.optionsUI}get length(){return this._ddMaker.length}set length(e){this._ddMaker.length=e}get value(){return this._ddMaker.value}set value(e){this._ddMaker.value=e}get selectedText(){return this._ddMaker.selectedText}get disabled(){return this._ddMaker.disabled}set disabled(e){this._ddMaker.disabled=e}get form(){return this._ddMaker.form}get multiple(){return this._ddMaker.multiple}set multiple(e){this._ddMaker.multiple=e}get name(){return this._ddMaker.name}set name(e){this._ddMaker.name=e}get required(){return this._ddMaker.required}set required(e){this._ddMaker.required=e}get size(){return this._ddMaker.size}set size(e){this._ddMaker.size=e}get selectedOptions(){return this._ddMaker.selectedOptions}get children(){return this._ddMaker.children}get uiData(){return this._ddMaker.uiData}static make(e,t){if(!e.msDropdown)try{let i=new s(e,t);return e.addEventListener("change",(()=>{e.multiple?e.msDropdown.refresh():e.msDropdown.selectedIndex=current.selectedIndex})),i}catch(e){console.log(e.message)}}static get version(){return"4.0.3"}static get author(){return"Marghoob Suleman"}}class i extends HTMLSelectElement{constructor(e,t){super()}connectedCallback(){setTimeout((()=>{this.msDropdown||(this.msDropdown=new s(this));try{this.addEventListener("change",(e=>{this.multiple?this.msDropdown.refresh():this.msDropdown.selectedIndex=this.selectedIndex}))}catch(e){console.log(e.message)}}),1)}disconnectedCallback(){}adoptedCallback(){}attributeChangedCallback(e,t,s){if(this.msDropdown&&-1!==e.indexOf("data-")){let t=(e=e.replace("data-","")).toLowerCase().split("-");for(let e=1;e-1&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS")&&s.make("select[is='ms-dropdown']")})();