1((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TomSelect=t()})(this,function(){function n(e,t){e.split(/\s+/).forEach(e=>{t(e)})}class ${constructor(){this._events={}}on(e,i){n(e,e=>{var t=this._events[e]||[];t.push(i),this._events[e]=t})}off(e,i){var s=arguments.length;0!==s?n(e,e=>{var t;1===s?delete this._events[e]:void 0!==(t=this._events[e])&&(t.splice(t.indexOf(i),1),this._events[e]=t)}):this._events={}}trigger(e,...t){var i=this;n(e,e=>{e=i._events[e];void 0!==e&&e.forEach(e=>{e.apply(i,t)})})}}let h=e=>(e=e.filter(Boolean)).length<2?e[0]||"":1==q(e)?"["+e.join("")+"]":"(?:"+e.join("|")+")",o=i=>{if(!V(i))return i.join("");let s="",n=0,r=()=>{1<n&&(s+="{"+n+"}")};return i.forEach((e,t)=>{e!==i[t-1]?(r(),s+=e,n=1):n++}),r(),s},g=e=>{e=Array.from(e);return h(e)},V=e=>new Set(e).size!==e.length,b=e=>(e+"").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu,"\\$1"),q=e=>e.reduce((e,t)=>Math.max(e,D(t)),0),D=e=>Array.from(e).length,t=i=>{if(1===i.length)return[[i]];let s=[];var e=i.substring(1);return t(e).forEach(function(e){let t=e.slice(0);t[0]=i.charAt(0)+t[0],s.push(t),(t=e.slice(0)).unshift(i.charAt(0)),s.push(t)}),s},H=[[0,65535]],v,m,i={},e={"/":"ââ",0:"ß",a:"â±¥ÉÉ",aa:"ê³",ae:"æǽǣ",ao:"êµ",au:"ê·",av:"ê¹ê»",ay:"ê½",b:"ÆÉÆ",c:"ê¿ÆÈ¼â",d:"ÄÉÉá´
Æê®·Ôɦ",e:"ÉÇá´É",f:"ê¼Æ",g:"Ç¥É ê¡áµ¹ê¿É¢",h:"ħⱨⱶɥ",i:"ɨı",j:"ÉÈ·",k:"Æâ±ªêêê
ê£",l:"ÅÆÉ«â±¡êêêÉ",m:"ɱɯϻ",n:"ê¥ÆÉ²êá´Ð»Ô",o:"øǿÉɵêêá´",oe:"Å",oi:"Æ£",oo:"ê",ou:"È£",p:"ƥᵽêêêÏ",q:"êêÉ",r:"Éɽêê§ê",s:"ÃÈ¿ê©ê
Ê",t:"ŧÆÊⱦê",th:"þ",tz:"ê©",u:"Ê",v:"ÊêÊ",vy:"ê¡",w:"â±³",y:"Æ´Éỿ",z:"ƶȥÉⱬê£",hv:"Æ"};for(var R in e){var M=e[R]||"";for(let e=0;e<M.length;e++){var z=M.substring(e,e+1);i[z]=R}}let B=new RegExp(Object.keys(i).join("|")+"|[Ì-ͯ·ʾʼ]","gu"),K=(e,t="NFKD")=>e.normalize(t),f=e=>Array.from(e).reduce((e,t)=>e+Q(t),""),Q=e=>(e=K(e).toLowerCase().replace(B,e=>i[e]||""),K(e,"NFC")),G=e=>{let n={},t=(e,t)=>{var i=n[e]||new Set,s=new RegExp("^"+g(i)+"$","iu");t.match(s)||(i.add(b(t)),n[e]=i)};for(var i of function*(e){for(var[t,i]of e)for(let e=t;e<=i;e++){var s=String.fromCharCode(e),n=f(s);n==s.toLowerCase()||3<n.length||0!=n.length&&(yield{folded:n,composed:s,code_point:e})}}(e))t(i.folded,i.folded),t(i.folded,i.composed);return n},U=(e,n=1)=>(n=Math.max(n,e.length-1),h(t(e).map(e=>{{var[i,s=1]=[e,n];let t=0;return i=e.map(e=>(v[e]&&(t+=e.length),v[e]||e)),t>=s?o(i):""}}))),J=(e,n=!0)=>{let r=1<e.length?1:0;return h(e.map(t=>{var i=[],s=n?t.length():t.length()-1;for(let e=0;e<s;e++)i.push(U(t.substrs[e]||"",r));return o(i)}))},W=(e,t)=>{for(var s of t)if(s.start==e.start&&s.end==e.end&&s.substrs.join("")===e.substrs.join("")){let i=e.parts;if(!(0<s.parts.filter(e=>{for(var t of i){if(t.start===e.start&&t.substr===e.substr)return!1;if(1!=e.length&&1!=t.length){if(e.start<t.start&&e.end>t.start)return!0;if(t.start<e.start&&t.end>e.start)return!0}}return!1}).length))return!0}return!1};class y{parts;substrs;start;end;constructor(){this.parts=[],this.substrs=[],this.start=0,this.end=0}add(e){e&&(this.parts.push(e),this.substrs.push(e.substr),this.start=Math.min(e.start,this.start),this.end=Math.max(e.end,this.end))}last(){return this.parts[this.parts.length-1]}length(){return this.parts.length}clone(e,t){var i=new y,s=JSON.parse(JSON.stringify(this.parts)),n=s.pop();for(let e of s)i.add(e);s=t.substr.substring(0,e-n.start),t=s.length;return i.add({start:n.start,end:n.start+t,length:t,substr:s}),i}}let X=e=>{void 0===v&&(v=(e=>{var t,i=G(e),s={},n=[];for(t in i){var r=i[t];r&&(s[t]=g(r)),1<t.length&&n.push(b(t))}n.sort((e,t)=>t.length-e.length);e=h(n);return m=new RegExp("^"+e,"u"),s})(H)),e=f(e);let t="",r=[new y];for(let n=0;n<e.length;n++){var o,l,a,d=e.substring(n).match(m),c=e.substring(n,n+1),u=d?d[0]:null;let i=[],s=new Set;for(let t of r){let e=t.last();if(!e||1==e.length||e.end<=n)if(u){let e=u.length;t.add({start:n,end:n+e,length:e,substr:u}),s.add("1")}else t.add({start:n,end:n+1,length:1,substr:c}),s.add("2");else u?(o=t.clone(n,e),l=u.length,o.add({start:n,end:n+l,length:l,substr:u}),i.push(o)):s.add("3")}if(0<i.length)for(var p of i=i.sort((e,t)=>
1e.length()-t.length()))W(p,r)||r.push(p);else 0<n&&1==s.size&&!s.has("3")&&(t+=J(r,!1),d=new y,(a=r[0])&&d.add(a.last()),r=[d])}return t+=J(r,!0)},Y=(e,t)=>{if(e)return e[t]},Z=(e,t)=>{if(e){for(var i,s=t.split(".");(i=s.shift())&&(e=e[i]););return e}},d=(e,t,i)=>{var s;return!e||(e+="",null==t.regex)||-1===(s=e.search(t.regex))?0:(t=t.string.length/e.length,0===s&&(t+=.5),t*i)},r=(e,t)=>{var i=e[t];if("function"==typeof i)return i;i&&!Array.isArray(i)&&(e[t]=[i])},c=(e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)};class ee{items;settings;constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,n,t){if(!e||!e.length)return[];let r=[],i=e.split(/\s+/);var o;return t&&(o=new RegExp("^("+Object.keys(t).map(b).join("|")+"):(.*)$")),i.forEach(e=>{let t,i=null,s=null;o&&(t=e.match(o))&&(i=t[1],e=t[2]),0<e.length&&(s=this.settings.diacritics?X(e)||null:b(e))&&n&&(s="\\b"+s),r.push({string:e,regex:s?new RegExp(s,"iu"):null,field:i})}),r}getScoreFunction(e,t){e=this.prepareSearch(e,t);return this._getScoreFunction(e)}_getScoreFunction(e){let n=e.tokens,r=n.length;if(!r)return function(){return 0};let s=e.options.fields,o=e.weights,t=s.length,l=e.getAttrFn;if(!t)return function(){return 1};let a=1===t?function(e,t){var i=s[0].field;return d(l(t,i),e,o[i]||1)}:function(i,s){var e,n=0;return i.field?(e=l(s,i.field),!i.regex&&e?n+=1/t:n+=d(e,i,1)):c(o,(e,t)=>{n+=d(l(s,t),i,e)}),n/t};return 1===r?function(e){return a(n[0],e)}:"and"===e.options.conjunction?function(e){var t,i,s=0;for(i of n){if((t=a(i,e))<=0)return 0;s+=t}return s/r}:function(t){var i=0;return c(n,e=>{i+=a(e,t)}),i/r}}getSortFunction(e,t){e=this.prepareSearch(e,t);return this._getSortFunction(e)}_getSortFunction(i){var e,r=[];let s=this,t=i.options,n=!i.query&&t.sort_empty?t.sort_empty:t.sort;if("function"==typeof n)return n.bind(this);function o(e,t){return"$score"===e?t.score:i.getAttrFn(s.items[t.id],e)}if(n)for(var l of n)!i.query&&"$score"===l.field||r.push(l);if(i.query){e=!0;for(var a of r)if("$score"===a.field){e=!1;break}e&&r.unshift({field:"$score",direction:"desc"})}else r=r.filter(e=>"$score"!==e.field);return r.length?function(e,t){var i,s,n;for(i of r)if(n=i.field,s=("desc"===i.direction?-1:1)*(s=o(n,e),n=o(n,t),"number"==typeof s&&"number"==typeof n?n<s?1:s<n?-1:0:(s=f(s+"").toLowerCase())>(n=f(n+"").toLowerCase())?1:s<n?-1:0))return s;return 0}:null}prepareSearch(e,t){let i={},s=Object.assign({},t);if(r(s,"sort"),r(s,"sort_empty"),s.fields){r(s,"fields");let t=[];s.fields.forEach(e=>{"string"==typeof e&&(e={field:e,weight:1}),t.push(e),i[e.field]="weight"in e?e.weight:1}),s.fields=t}return{options:s,query:e.toLowerCase().trim(),tokens:this.tokenize(e,s.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:s.nesting?Z:Y}}search(e,i){var s,n=this.prepareSearch(e,i);i=n.options,e=n.query;let r=i.score||this._getScoreFunction(n);e.length?c(this.items,(e,t)=>{s=r(e),(!1===i.filter||0<s)&&n.items.push({score:s,id:t})}):c(this.items,(e,t)=>{n.items.push({score:1,id:t})});e=this._getSortFunction(n);return e&&n.items.sort(e),n.total=n.items.length,"number"==typeof i.limit&&(n.items=n.items.slice(0,i.limit)),n}}let O=e=>null==e?null:C(e),C=e=>"boolean"==typeof e?e?"1":"0":e+"",a=e=>(e+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),te=(t,i,e)=>{var s,n=t.trigger,r={};for(s of(t.trigger=function(){var e=arguments[0];if(-1===i.indexOf(e))return n.apply(t,arguments);r[e]=arguments},e.apply(t,[]),t.trigger=n,i))s in r&&n.apply(t,r[s])},w=(e,t=!1)=>{e&&(e.preventDefault(),t)&&e.stopPropagation()},_=(e,t,i,s)=>{e.addEventListener(t,i,s)},u=(e,t)=>!!t&&!!t[e]&&1==(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0),S=(e,t)=>e.getAttribute("id")||(e.setAttribute("id",t),t),ie=e=>e.replace(/[\\"']/g,"\\$&"),I=(e,t)=>{t&&e.append(t)},A=(e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},p=e=>{var t;return e.jquery?e[0]:e instanceof HTMLElement?e:se(e)?((t=document.createElement("template")).innerHTML=e.trim(),t.content.firstChild):document.querySelector(e)},se=e=>"string"==typeof e&&-1<e.indexOf("<"),s=(e,t)=>{var i=document.createEvent("HTMLEvents");i.initEvent(t,!0,!1),e.dispatchEvent(i)},l=(e,t)=>
1{Object.assign(e.style,t)},k=(e,...t)=>{var i=ne(t);(e=re(e)).map(t=>{i.map(e=>{t.classList.add(e)})})},x=(e,...t)=>{var i=ne(t);(e=re(e)).map(t=>{i.map(e=>{t.classList.remove(e)})})},ne=e=>{var t=[];return A(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},re=e=>e=Array.isArray(e)?e:[e],F=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e;e=e.parentNode}},oe=(e,t=0)=>0<t?e[e.length-1]:e[0],L=(e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i},E=(i,e)=>{A(e,(e,t)=>{null==e?i.removeAttribute(t):i.setAttribute(t,""+e)})},T=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},le=(e,r)=>{if(null!==r){if("string"==typeof r){if(!r.length)return;r=new RegExp(r,"i")}let n=e=>{return 3===e.nodeType?(s=(t=e).data.match(r))&&0<t.data.length?((i=document.createElement("span")).className="highlight",(t=t.splitText(s.index)).splitText(s[0].length),s=t.cloneNode(!0),i.appendChild(s),T(t,i),1):0:(1!==(s=e).nodeType||!s.childNodes||/(script|style)/i.test(s.tagName)||"highlight"===s.className&&"SPAN"===s.tagName||Array.from(s.childNodes).forEach(e=>{n(e)}),0);var t,i,s};n(e)}},P="undefined"!=typeof navigator&&/Mac/.test(navigator.userAgent)?"metaKey":"ctrlKey";var ae={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,refreshThrottle:300,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-wrapper",controlClass:"ts-control",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,controlInput:'<input type="text" autocomplete="off" size="1" />',copyClassesToDropdown:!1,placeholder:null,hidePlaceholder:null,shouldLoad:function(e){return 0<e.length},render:{}};function de(i,e){var t,u=Object.assign({},ae,e),s=u.dataAttr,p=u.labelField,h=u.valueField,g=u.disabledField,v=u.optgroupField,m=u.optgroupLabelField,f=u.optgroupValueField,n=i.tagName.toLowerCase(),r=i.getAttribute("placeholder")||i.getAttribute("data-placeholder"),y=(r||u.allowEmptyOption||(t=i.querySelector('option[value=""]'))&&(r=t.textContent),{placeholder:r,options:[],optgroups:[],items:[],maxItems:null});return("select"===n?()=>{var n,r=y.options,o={},l=1;let a=0;var d=e=>{var e=Object.assign({},e.dataset),t=s&&e[s];return e="string"==typeof t&&t.length?Object.assign(e,JSON.parse(t)):e},c=(e,t)=>{var i,s=O(e.value);null!=s&&(s||u.allowEmptyOption)&&(o.hasOwnProperty(s)?t&&((i=o[s][v])?Array.isArray(i)?i.push(t):o[s][v]=[i,t]:o[s][v]=t):((i=d(e))[p]=i[p]||e.textContent,i[h]=i[h]||s,i[g]=i[g]||e.disabled,i[v]=i[v]||t,i.$option=e,i.$order=i.$order||++a,o[s]=i,r.push(i)),e.selected)&&y.items.push(s)};y.maxItems=i.hasAttribute("multiple")?null:1,A(i.children,e=>{var t,i,s;"optgroup"===(n=e.tagName.toLowerCase())?((s=d(t=e))[m]=s[m]||t.getAttribute("label")||"",s[f]=s[f]||l++,s[g]=s[g]||t.disabled,s.$order=s.$order||++a,y.optgroups.push(s),i=s[f],A(t.children,e=>{c(e,i)})):"option"===n&&c(e)})}:()=>{let e=i.getAttribute(s);if(e)y.options=JSON.parse(e),A(y.options,e=>{y.items.push(e[h])});else{var t=i.value.trim()||"";if(u.allowEmptyOption||t.length){let e=t.split(u.delimiter);A(e,e=>{var t={};t[p]=e,t[h]=e,y.options.push(t)}),y.items=e}}})(),Object.assign({},ae,y,e)}var N,ce=0;class j extends(N=$,N.plugins={},class extends N{constructor(...e){super(...e),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(e,t){N.plugins[e]={name:e,fn:t}}initializePlugins(e){var t,i;let s=this,n=[];if(Array.isArray(e))e.forEach(e=>{"string"==typeof e?n.push(e):(s.plugins.settings[e.name]=e.options,n.push(e.name))});else if(e)for(t in e)e.hasOwnProperty(t)&&(s.plugins.settings[t]=e[t],n.push(t));for(;i=n.shift();)s.require(i)}loadPlugin(e){var t=this.plugins,i=N.plugins[e];if(!N.plugins.hasOwnProperty(e))throw new Error('Unable to find "'+e+'" plugin');t.requested[e]=!0,t.loaded[e]=i.fn.apply(this,[this.plugins.settings[e]||{}]),t.names.push(e)}require(e){var t=this.plugins;if(!this.plugins.loaded.hasOwnProperty(e)){if(t.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")');this.loadPlugin(e)}return t.loaded[e]}}){constructor(e,t){super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isReadOnly=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.ignoreHover=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],this.refreshTimeout=null,ce++;var i=p(e);if(i.tomselect)throw new Error("Tom Select already initialized on this element");i.tomselect=this;var s,e=(window.getComputedStyle&&window.getComputedStyle(i,null)).getPropertyValue("direction"),t=de(i,t),n=(this.settings=t,this.input=i,this.tabIndex=i.tabIndex||0,this.is_select_tag="select"===i.tagName.toLowerCase(),this.rtl=/rtl/i.test(e),this.inputId=S(i,"tomselect-"+ce),this.isRequired=i.required,this.sifter=new ee(this.options,{diacritics:t.diacritics}),t.mode=t.mode||(1===t.maxItems?"single":"multi"),"boolean"!=typeof t.hideSelected&&(t.hideSelected="multi"===t.mode),"boolean"!=typeof t.hidePlaceholder&&(t.hidePlaceholder="multi"!==t.mode),t.createFilter),e=("function"!=typeof n&&((n="string"==typeof n?new RegExp(n):n)instanceof RegExp?t.createFilter=e=>n.test(e):t.createFilter=e=>this.settings.duplicates||!this.options[e]),this.initializePlugins(t.plugins),this.setupCallbacks(),this.setupTemplates(),p("<div>")),r=p("<div>"),o=this._render("dropdown"),l=p('<div role="listbox" tabindex="-1">'),a=this.input.getAttribute("class")||"",d=t.mode;k(e,t.wrapperClass,a,d),k(r,t.controlClass),I(e,r),k(o,t.dropdownClass,d),t.copyClassesToDropdown&&k(o,a),k(l,t.dropdownContentClass),I(o,l),p(t.dropdownParent||e).appendChild(o),se(t.controlInput)?(s=p(t.controlInput),A(["autocorrect","autocapitalize","autocomplete","spellcheck"],e=>{i.getAttribute(e)&&E(s,{[e]:i.getAttribute(e)})}),s.tabIndex=-1,r.appendChild(s),this.focus_node=s):t.controlInput?(s=p(t.controlInput),this.focus_node=s):(s=p("<input/>"),this.focus_node=r),this.wrapper=e,this.dropdown=o,this.dropdown_content=l,this.control=r,this.control_input=s,this.setup()}
1setup(){let i=this,e=i.settings,s=i.control_input,n=i.dropdown,t=i.dropdown_content,r=i.wrapper,o=i.control,l=i.input,a=i.focus_node,d={passive:!0},c=i.inputId+"-ts-dropdown",u=(E(t,{id:c}),E(a,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":c}),S(a,i.inputId+"-ts-control")),p="label[for='"+i.inputId.replace(/['"\\]/g,"\\$&")+"']",h=document.querySelector(p),g=i.focus.bind(i);if(h){_(h,"click",g),E(h,{for:u});let e=S(h,i.inputId+"-ts-label");E(a,{"aria-labelledby":e}),E(t,{"aria-labelledby":e})}if(r.style.width=l.style.width,i.plugins.names.length){let e="plugin-"+i.plugins.names.join(" plugin-");k([r,n],e)}var v,m,f;(null===e.maxItems||1<e.maxItems)&&i.is_select_tag&&E(l,{multiple:"multiple"}),e.placeholder&&E(s,{placeholder:e.placeholder}),!e.splitOn&&e.delimiter&&(e.splitOn=new RegExp("\\s*"+b(e.delimiter)+"+\\s*")),e.load&&e.loadThrottle&&(e.load=(v=e.load,m=e.loadThrottle,function(e,t){var i=this;f&&(i.loading=Math.max(i.loading-1,0),clearTimeout(f)),f=setTimeout(function(){f=null,i.loadedSearches[e]=!0,v.call(i,e,t)},m)})),_(n,"mousemove",()=>{i.ignoreHover=!1}),_(n,"mouseenter",e=>{var t=F(e.target,"[data-selectable]",n);t&&i.onOptionHover(e,t)},{capture:!0}),_(n,"click",e=>{var t=F(e.target,"[data-selectable]");t&&(i.onOptionSelect(e,t),w(e,!0))}),_(o,"click",e=>{var t=F(e.target,"[data-ts-item]",o);t&&i.onItemSelect(e,t)?w(e,!0):""==s.value&&(i.onClick(),w(e,!0))}),_(a,"keydown",e=>i.onKeyDown(e)),_(s,"keypress",e=>i.onKeyPress(e)),_(s,"input",e=>i.onInput(e)),_(a,"blur",e=>i.onBlur(e)),_(a,"focus",e=>i.onFocus(e)),_(s,"paste",e=>i.onPaste(e));let y=e=>{var t=e.composedPath()[0];r.contains(t)||n.contains(t)?t==s&&i.isOpen?e.stopPropagation():w(e,!0):(i.isFocused&&i.blur(),i.inputState())},O=()=>{i.isOpen&&i.positionDropdown()};_(document,"mousedown",y),_(window,"scroll",O,d),_(window,"resize",O,d),this._destroy=()=>{document.removeEventListener("mousedown",y),window.removeEventListener("scroll",O),window.removeEventListener("resize",O),h&&h.removeEventListener("click",g)},this.revertSettings={innerHTML:l.innerHTML,tabIndex:l.tabIndex},l.tabIndex=-1,l.insertAdjacentElement("afterend",i.wrapper),i.sync(!1),e.items=[],delete e.optgroups,delete e.options,_(l,"invalid",()=>
1{i.isValid&&(i.isValid=!1,i.isInvalid=!0,i.refreshState())}),i.updateOriginalInput(),i.refreshItems(),i.close(!1),i.inputState(),i.isSetup=!0,l.disabled?i.disable():l.readOnly?i.setReadOnly(!0):i.enable(),i.on("change",this.onChange),k(l,"tomselected","ts-hidden-accessible"),i.trigger("initialize"),!0===e.preload&&i.preload()}setupOptions(e=[],t=[]){this.addOptions(e),A(t,e=>{this.registerOptionGroup(e)})}setupTemplates(){var i=this.settings.labelField,s=this.settings.optgroupLabelField;this.settings.render=Object.assign({},{optgroup:e=>{var t=document.createElement("div");return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'<div class="optgroup-header">'+t(e[s])+"</div>",option:(e,t)=>"<div>"+t(e[i])+"</div>",item:(e,t)=>"<div>"+t(e[i])+"</div>",option_create:(e,t)=>'<div class="create">Add <strong>'+t(e.input)+"</strong>…</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"},this.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){var t=this,e=e?de(t.input,{delimiter:t.settings.delimiter}):t.settings;t.setupOptions(e.options,e.optgroups),t.setValue(e.items||[],!0),t.lastQuery=null}onClick(){var e=this;0<e.activeItems.length?(e.clearActiveItems(),e.focus()):e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){s(this.input,"input"),s(this.input,"change")}onPaste(e){var t=this;t.isInputHidden||t.isLocked?w(e):t.settings.splitOn&&setTimeout(()=>{var e=t.inputValue();e.match(t.settings.splitOn)&&(e=e.trim().split(t.settings.splitOn),A(e,e=>{O(e)&&(this.options[e]?t.addItem(e):t.createItem(e))}))},0)}onKeyPress(e){var t,i=this;if(!i.isLocked)return t=String.fromCharCode(e.keyCode||e.which),i.settings.create&&"multi"===i.settings.mode&&t===i.settings.delimiter?(i.createItem(),void w(e)):void 0;w(e)}onKeyDown(e){var t,i=this;if(i.ignoreHover=!0,i.isLocked)9!==e.keyCode&&w(e);else{switch(e.keyCode){case 65:if(u(P,e)&&""==i.control_input.value)return w(e),void i.selectAll();break;case 27:return i.isOpen&&(w(e,!0),i.close()),void i.clearActiveItems();case 40:return!i.isOpen&&i.hasOptions?i.open():i.activeOption&&(t=i.getAdjacent(i.activeOption,1))&&i.setActiveOption(t),void w(e);case 38:return i.activeOption&&(t=i.getAdjacent(i.activeOption,-1))&&i.setActiveOption(t),void w(e);case 13:return void(i.canSelect(i.activeOption)?(i.onOptionSelect(e,i.activeOption),w(e)):(i.settings.create&&i.createItem()||document.activeElement==i.control_input&&i.isOpen)&&w(e));case 37:return void i.advanceSelection(-1,e);case 39:return void i.advanceSelection(1,e);case 9:return void(i.settings.selectOnTab&&(i.canSelect(i.activeOption)&&(i.onOptionSelect(e,i.activeOption),w(e)),i.settings.create)&&i.createItem()&&w(e));case 8:case 46:return void i.deleteSelection(e)}i.isInputHidden&&!u(P,e)&&w(e)}}onInput(e){var t,i;this.isLocked||(t=this.inputValue(),this.lastValue!==t&&(""!=(this.lastValue=t)?(this.refreshTimeout&&window.clearTimeout(this.refreshTimeout),this.refreshTimeout=(t=()=>{this.refreshTimeout=null,this._onInput()},0<(i=this.settings.refreshThrottle)?window.setTimeout(t,i):(t.call(null),null))):this._onInput()))}_onInput(){var e=this.lastValue;this.settings.shouldLoad.call(this,e)&&this.load(e),this.refreshOptions(),this.trigger("type",e)}onOptionHover(e,t){this.ignoreHover||this.setActiveOption(t,!1)}onFocus(e){var t=this,i=t.isFocused;t.isDisabled||t.isReadOnly?(t.blur(),w(e)):t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.inputState(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){var t,i;!1!==document.hasFocus()&&(t=this).isFocused&&(t.isFocused=!1,t.ignoreFocus=!1,i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")},t.settings.create&&t.settings.createOnBlur?t.createItem(null,i):i())}onOptionSelect(e,t){var i,s=this;t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?s.createItem(null,()=>{s.settings.closeAfterSelect&&s.close()}
1):void 0!==(i=t.dataset.value)&&(s.lastQuery=null,s.addItem(i),s.settings.closeAfterSelect&&s.close(),!s.settings.hideSelected)&&e.type&&/click/.test(e.type)&&s.setActiveOption(t))}canSelect(e){return!!(this.isOpen&&e&&this.dropdown_content.contains(e))}onItemSelect(e,t){return!this.isLocked&&"multi"===this.settings.mode&&(w(e),this.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){var t,i=this;i.canLoad(e)&&(k(i.wrapper,i.settings.loadingClass),i.loading++,t=i.loadCallback.bind(i),i.settings.load.call(i,e,t))}loadCallback(e,t){var i=this;i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||x(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList;e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input;t.value!==e&&(t.value=e,s(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){te(this,t?[]:["change"],()=>{this.clear(t),this.addItems(e,t)})}setMaxItems(e){this.settings.maxItems=e=0===e?null:e,this.refreshState()}setActiveItem(e,t){var i,s,n,r,o,l=this;if("single"!==l.settings.mode)if(e){if("click"===(i=t&&t.type.toLowerCase())&&u("shiftKey",t)&&l.activeItems.length){for(o=l.getLastActive(),(o=Array.prototype.indexOf.call(l.control.children,o))>(n=Array.prototype.indexOf.call(l.control.children,e))&&(r=o,o=n,n=r),s=o;s<=n;s++)e=l.control.children[s],-1===l.activeItems.indexOf(e)&&l.setActiveItemClass(e);w(t)}else"click"===i&&u(P,t)||"keydown"===i&&u("shiftKey",t)?e.classList.contains("active")?l.removeActiveItem(e):l.setActiveItemClass(e):(l.clearActiveItems(),l.setActiveItemClass(e));l.inputState(),l.isFocused||l.focus()}else l.clearActiveItems(),l.isFocused&&l.inputState()}setActiveItemClass(e){var t=this.control.querySelector(".last-active");t&&x(t,"last-active"),k(e,"active last-active"),this.trigger("item_select",e),-1==this.activeItems.indexOf(e)&&this.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e);this.activeItems.splice(t,1),x(e,"active")}clearActiveItems(){x(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e,t=!0){e!==this.activeOption&&(this.clearActiveOption(),e)&&(this.activeOption=e,E(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),E(e,{"aria-selected":"true"}),k(e,"active"),t)&&this.scrollToOption(e)}scrollToOption(e,t){var i,s,n,r;e&&(s=(i=this.dropdown_content).clientHeight,r=e.offsetHeight,s+(n=i.scrollTop||0)<(e=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n)+r?this.scroll(e-s+r,t):e<n&&this.scroll(e,t))}scroll(e,t){var i=this.dropdown_content;t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(x(this.activeOption,"active"),E(this.activeOption,{"aria-selected":null})),this.activeOption=null,E(this.focus_node,{"aria-activedescendant":null})}selectAll(){let t=this;var e;"single"!==t.settings.mode&&(e=t.controlChildren()).length&&(t.inputState(),t.close(),t.activeItems=e,A(e,e=>{t.setActiveItemClass(e)}))}inputState(){var e=this;e.control.contains(e.control_input)&&(E(e.control_input,{placeholder:e.settings.placeholder}),0<e.activeItems.length||!e.isFocused&&e.settings.hidePlaceholder&&0<e.items.length?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&0<e.items.length&&E(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}inputValue(){return this.control_input.value.trim()}focus(){var e=this;e.isDisabled||e.isReadOnly||(e.ignoreFocus=!0,(e.control_input.offsetWidth?e.control_input:e.focus_node).focus(),setTimeout(()=>{e.ignoreFocus=!1,e.onFocus()},0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField;return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,s=this,n=this.getSearchOptions();if(s.settings.score&&"function"!=typeof(i=s.settings.score.call(s,e)))throw new Error('Tom Select "score" setting must be a function that returns a function');return e!==s.lastQuery?(s.lastQuery=e,t=s.sifter.search(e,Object.assign(n,{score:i})),s.currentResults=t):t=Object.assign({},s.currentResults),s.settings.hideSelected&&(t.items=t.items.filter(e=>{e=O(e.id);return!(e&&-1!==s.items.indexOf(e))})),t}refreshOptions(e=!0){var r,t,i,o,l,n,s,a,d;let c={},u=[];for(var p=this,h=p.inputValue(),g=h===p.lastQuery||""==h&&null==p.lastQuery,v=p.search(h),m=null,f=p.settings.shouldOpen||!1,y=p.dropdown_content,O=(g&&(m=p.activeOption)&&(a=m.closest("[data-group]")),i=v.items.length,0<(i="number"==typeof p.settings.maxOptions?Math.min(i,p.settings.maxOptions):i)&&(f=!0),0);O<i;O++){var b=v.items[O];if(b){var w=b.id,_=p.options[w];if(void 0!==_){let e=C(w),n=p.getOption(e,!0);for(p.settings.hideSelected||n.classList.toggle("selected",p.items.includes(e)),o=_[p.settings.optgroupField]||"",r=0,t=(l=Array.isArray(o)?o:[o])&&l.length;r<t;r++){o=l[r];let e=_.$order,t=p.optgroups[o],[i,s]=(void 0===t?o="":e=t.$order,((e,t)=>
1{if(void 0!==(s=c[e])){var i=u[s];if(void 0!==i)return[s,i.fragment]}var i=document.createDocumentFragment(),s=u.length;return u.push({fragment:i,order:t,optgroup:e}),[s,i]})(o,e));0<r&&(n=n.cloneNode(!0),E(n,{id:_.$id+"-clone-"+r,"aria-selected":null}),n.classList.add("ts-cloned"),x(n,"active"),p.activeOption)&&p.activeOption.dataset.value==w&&a&&a.dataset.group===o.toString()&&(m=n),s.appendChild(n),""!=o&&(c[o]=i)}}}}p.settings.lockOptgroupOrder&&u.sort((e,t)=>e.order-t.order),n=document.createDocumentFragment(),A(u,e=>{var t,i,s=e.fragment;s&&s.children.length&&(void 0!==(e=p.optgroups[e.optgroup])?(t=document.createDocumentFragment(),i=p.render("optgroup_header",e),I(t,i),I(t,s),i=p.render("optgroup",{group:e,options:t}),I(n,i)):I(n,s))}),y.innerHTML="",I(y,n),p.settings.highlight&&(g=y.querySelectorAll("span.highlight"),Array.prototype.forEach.call(g,function(e){var t=e.parentNode;t.replaceChild(e.firstChild,e),t.normalize()}),v.query.length)&&v.tokens.length&&A(v.tokens,e=>{le(y,e.regex)});g=e=>{e=p.render(e,{input:h});return e&&(f=!0,y.insertBefore(e,y.firstChild)),e};if(p.loading?g("loading"):p.settings.shouldLoad.call(p,h)?0===v.items.length&&g("no_results"):g("not_loading"),(s=p.canCreate(h))&&(d=g("option_create")),p.hasOptions=0<v.items.length||s,f){if(0<v.items.length){if(m||"single"!==p.settings.mode||null==p.items[0]||(m=p.getOption(p.items[0])),!y.contains(m)){let e=0;d&&!p.settings.addPrecedence&&(e=1),m=p.selectable()[e]}}else d&&(m=d);e&&!p.isOpen&&(p.open(),p.scrollToOption(m,"auto")),p.setActiveOption(m)}else p.clearActiveOption(),e&&p.isOpen&&p.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){var i,s=this;return Array.isArray(e)?(s.addOptions(e,t),!1):null!==(i=O(e[s.settings.valueField]))&&!s.options.hasOwnProperty(i)&&(e.$order=e.$order||++s.order,e.$id=s.inputId+"-opt-"+e.$order,s.options[i]=e,s.lastQuery=null,t&&(s.userOptions[i]=t,s.trigger("option_add",i,e)),i)}addOptions(e,t=!1){A(e,e=>{this.addOption(e,t)})}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=O(e[this.settings.optgroupValueField]);return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){t[this.settings.optgroupValueField]=e,(e=this.registerOptionGroup(t))&&this.trigger("optgroup_add",e,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){var i=this,e=O(e),s=O(t[i.settings.valueField]);if(null!==e){var n=i.options[e];if(null!=n){if("string"!=typeof s)throw new Error("Value must be set in option data");var r=i.getOption(e),o=i.getItem(e);if(t.$order=t.$order||n.$order,delete i.options[e],i.uncacheValue(s),i.options[s]=t,r){if(i.dropdown_content.contains(r)){let e=i._render("option",t);T(r,e),i.activeOption===r&&i.setActiveOption(e)}r.remove()}o&&(-1!==(n=i.items.indexOf(e))&&i.items.splice(n,1,s),r=i._render("item",t),o.classList.contains("active")&&k(r,"active"),T(o,r)),i.lastQuery=null}}}removeOption(e,t){var i=this;e=C(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(e){let i=(e||this.clearFilter).bind(this),s=(this.loadedSearches={},this.userOptions={},this.clearCache(),{});A(this.options,(e,t)=>{i(e,t)&&(s[t]=e)}),this.options=this.sifter.items=s,this.lastQuery=null,this.trigger("option_clear")}clearFilter(e,t){return 0<=this.items.indexOf(t)}getOption(e,t=!1){e=O(e);if(null!==e){e=this.options[e];if(null!=e){if(e.$div)return e.$div;if(t)return this._render("option",e)}}return null}getAdjacent(t,i,e="option"){var s;if(t){s="item"==e?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]");for(let e=0;e<s.length;e++)if(s[e]==t)return 0<i?s[e+1]:s[e-1]}return null}getItem(e){return"object"==typeof e?e:null!==(e=O(e))?this.control.querySelector(`[data-value="${ie(e)}"]`):null}addItems(e,t){var i=this,e=Array.isArray(e)?e:[e];let s=(e=e.filter(e=>-1===i.items.indexOf(e)))[e.length-1];
1e.forEach(e=>{i.isPending=e!==s,i.addItem(e,t)})}addItem(o,l){te(this,l?[]:["change","dropdown_close"],()=>{var e,t,i,s=this,n=s.settings.mode,r=O(o);r&&-1!==s.items.indexOf(r)&&("single"===n&&s.close(),"single"===n||!s.settings.duplicates)||null===r||!s.options.hasOwnProperty(r)||("single"===n&&s.clear(l),"multi"===n&&s.isFull())||(i=s._render("item",s.options[r]),s.control.contains(i)&&(i=i.cloneNode(!0)),e=s.isFull(),s.items.splice(s.caretPos,0,r),s.insertAtCaret(i),s.isSetup&&(!s.isPending&&s.settings.hideSelected&&(t=s.getOption(r),t=s.getAdjacent(t,1))&&s.setActiveOption(t),s.isPending||s.settings.closeAfterSelect||s.refreshOptions(s.isFocused&&"single"!==n),0!=s.settings.closeAfterSelect&&s.isFull()?s.close():s.isPending||s.positionDropdown(),s.trigger("item_add",r,i),s.isPending||s.updateOriginalInput({silent:l})),s.isPending&&(e||!s.isFull())||(s.inputState(),s.refreshState()))})}removeItem(e=null,t){var i,s,n,r=this;(e=r.getItem(e))&&(s=e.dataset.value,n=L(e),e.remove(),e.classList.contains("active")&&(i=r.activeItems.indexOf(e),r.activeItems.splice(i,1),x(e,"active")),r.items.splice(n,1),r.lastQuery=null,!r.settings.persist&&r.userOptions.hasOwnProperty(s)&&r.removeOption(s,t),n<r.caretPos&&r.setCaret(r.caretPos-1),r.updateOriginalInput({silent:t}),r.refreshState(),r.positionDropdown(),r.trigger("item_remove",s,e))}createItem(e=null,i=()=>{}){"function"!=typeof(i=3===arguments.length?arguments[2]:i)&&(i=()=>{});var s=this,n=s.caretPos;if(e=e||s.inputValue(),!s.canCreate(e))return i(),!1;s.lock();var r=!1,t=e=>{var t;return s.unlock(),!e||"object"!=typeof e||"string"!=typeof(t=O(e[s.settings.valueField]))?i():(s.setTextboxValue(),s.addOption(e,!0),s.setCaret(n),s.addItem(t),i(e),void(r=!0))},e="function"==typeof s.settings.create?s.settings.create.call(this,e,t):{[s.settings.labelField]:e,[s.settings.valueField]:e};return r||t(e),!0}refreshItems(){var e=this;e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){var e=this,t=(e.refreshValidityState(),e.isFull()),i=e.isLocked,s=(e.wrapper.classList.toggle("rtl",e.rtl),e.wrapper.classList);s.toggle("focus",e.isFocused),s.toggle("disabled",e.isDisabled),s.toggle("readonly",e.isReadOnly),s.toggle("required",e.isRequired),s.toggle("invalid",!e.isValid),s.toggle("locked",i),s.toggle("full",t),s.toggle("input-active",e.isFocused&&!e.isInputHidden),s.toggle("dropdown-active",e.isOpen),s.toggle("has-options",(i=e.options,0===Object.keys(i).length)),s.toggle("has-items",0<e.items.length)}refreshValidityState(){var e=this;e.input.validity&&(e.isValid=e.input.validity.valid,e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){let r=this;var t,i;let o=r.input.querySelector('option[value=""]');if(r.is_select_tag){let s=[],n=r.input.querySelectorAll("option:checked").length;function l(e,t,i){return(e=e||p('<option value="'+a(t)+'">'+a(i)+"</option>"))!=o&&r.input.append(e),s.push(e),(e!=o||0<n)&&(e.selected=!0),e}r.input.querySelectorAll("option:checked").forEach(e=>{e.selected=!1}),0==r.items.length&&"single"==r.settings.mode?l(o,"",""):r.items.forEach(e=>{t=r.options[e],i=t[r.settings.labelField]||"",s.includes(t.$option)?l(r.input.querySelector(`option[value="${ie(e)}"]:not(:checked)`),e,i):t.$option=l(t.$option,e,i)})}else r.input.value=r.getValue();r.isSetup&&!e.silent&&r.trigger("change",r.getValue())}open(){var e=this;e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,E(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),l(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),l(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen;e&&(t.setTextboxValue(),"single"===t.settings.mode)&&t.items.length&&t.inputState(),t.isOpen=!1,E(t.focus_node,{"aria-expanded":"false"}),l(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){var e,t,i;"body"===this.settings.dropdownParent&&(e=(t=this.control).getBoundingClientRect(),t=t.offsetHeight+e.top+window.scrollY,i=e.left+window.scrollX,l(this.dropdown,{width:e.width+"px",top:t+"px",left:i+"px"}))}clear(e){var t,i=this;i.items.length&&(t=i.controlChildren(),A(t,e=>{i.removeItem(e,!0)}),i.inputState(),e||i.updateOriginalInput(),i.trigger("clear"))}insertAtCaret(e){var t=this.caretPos,i=this.control;i.insertBefore(e,i.children[t]||null),this.setCaret(t+1)}deleteSelection(e){var t,i=this,s=e&&8===e.keyCode?-1:1,n={start:(n=i.control_input).selectionStart||0,length:(n.selectionEnd||0)-(n.selectionStart||0)};let r=[];if(i.activeItems.length)t=oe(i.activeItems,s),t=L(t),0<s&&t++,A(i.activeItems,e=>r.push(e));else if((i.isFocused||"single"===i.settings.mode)&&i.items.length){let e=i.controlChildren(),t;
1s<0&&0===n.start&&0===n.length?t=e[i.caretPos-1]:0<s&&n.start===i.inputValue().length&&(t=e[i.caretPos]),void 0!==t&&r.push(t)}if(!i.shouldDelete(r,e))return!1;for(w(e,!0),void 0!==t&&i.setCaret(t);r.length;)i.removeItem(r.pop());return i.inputState(),i.positionDropdown(),i.refreshOptions(!1),!0}shouldDelete(e,t){e=e.map(e=>e.dataset.value);return!(!e.length||"function"==typeof this.settings.onDelete&&!1===this.settings.onDelete(e,t))}advanceSelection(e,t){var i,s=this;s.rtl&&(e*=-1),s.inputValue().length||(u(P,t)||u("shiftKey",t)?(i=(t=s.getLastActive(e))?t.classList.contains("active")?s.getAdjacent(t,e,"item"):t:0<e?s.control_input.nextElementSibling:s.control_input.previousElementSibling)&&(i.classList.contains("active")&&s.removeActiveItem(t),s.setActiveItemClass(i)):s.moveCaret(e))}moveCaret(e){}getLastActive(e){var t=this.control.querySelector(".last-active");return t||((t=this.control.querySelectorAll(".active"))?oe(t,e):void 0)}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.setLocked(!0)}unlock(){this.setLocked(!1)}setLocked(e=this.isReadOnly||this.isDisabled){this.isLocked=e,this.refreshState()}disable(){this.setDisabled(!0),this.close()}enable(){this.setDisabled(!1)}setDisabled(e){this.focus_node.tabIndex=e?-1:this.tabIndex,this.isDisabled=e,this.input.disabled=e,this.control_input.disabled=e,this.setLocked()}setReadOnly(e){this.isReadOnly=e,this.input.readOnly=e,this.control_input.readOnly=e,this.setLocked()}destroy(){var e=this,t=e.revertSettings;e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,x(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(t,i){var e,s,n=this;if("function"!=typeof this.settings.render[t])return null;if(!(s=n.settings.render[t].call(this,i,a)))return null;if(s=p(s),"option"===t||"option_create"===t?i[n.settings.disabledField]?E(s,{"aria-disabled":"true"}):E(s,{"data-selectable":""}):"optgroup"===t&&(e=i.group[n.settings.optgroupValueField],E(s,{"data-group":e}),i.group[n.settings.disabledField])&&E(s,{"data-disabled":""}),"option"===t||"item"===t){let e=C(i[n.settings.valueField]);E(s,{"data-value":e}),"item"===t?(k(s,n.settings.itemClass),E(s,{"data-ts-item":""})):(k(s,n.settings.optionClass),E(s,{role:"option",id:i.$id}),i.$div=s,n.options[e]=i)}return s}_render(e,t){e=this.render(e,t);if(null==e)throw"HTMLElement expected";return e}clearCache(){A(this.options,e=>{e.$div&&(e.$div.remove(),delete e.$div)})}uncacheValue(e){e=this.getOption(e);e&&e.remove()}canCreate(e){return this.settings.create&&0<e.length&&this.settings.createFilter.call(this,e)}hook(i,e,s){var n=this,r=n[e];n[e]=function(){var e,t;return"after"===i&&(e=r.apply(n,arguments)),t=s.apply(n,arguments),"instead"===i?t:e="before"===i?r.apply(n,arguments):e}}}return j.define("change_listener",function(){_(this.input,"change",()=>{this.sync()})}),j.define("checkbox_options",function(e){var n=this,i=n.onOptionSelect;n.settings.hideSelected=!1;let r=Object.assign({className:"tomselect-checkbox",checkedClassNames:void 0,uncheckedClassNames:void 0},e);function s(t){setTimeout(()=>{var e=t.querySelector("input."+r.className);e instanceof HTMLInputElement&&o(e,t.classList.contains("selected"))},1)}var o=function(e,t){t?(e.checked=!0,r.uncheckedClassNames&&e.classList.remove(...r.uncheckedClassNames),r.checkedClassNames&&e.classList.add(...r.checkedClassNames)):(e.checked=!1,r.checkedClassNames&&e.classList.remove(...r.checkedClassNames),r.uncheckedClassNames&&e.classList.add(...r.uncheckedClassNames))};n.hook("after","setupTemplates",()=>{var s=n.settings.render.option;n.settings.render.option=(e,t)=>{var t=p(s.call(n,e,t)),i=document.createElement("input"),e=(r.className&&i.classList.add(r.className),i.addEventListener("click",function(e){w(e)}),i.type="checkbox",O(e[n.settings.valueField]));return o(i,!!(e&&-1<n.items.indexOf(e))),t.prepend(i),t}}),n.on("item_remove",e=>{e=n.getOption(e);e&&(e.classList.remove("selected"),s(e))}),n.on("item_add",e=>{e=n.getOption(e);e&&s(e)}),n.hook("instead","onOptionSelect",(e,t)=>{t.classList.contains("selected")?(t.classList.remove("selected"),n.removeItem(t.dataset.value),n.refreshOptions(),w(e,!0)):(i.call(n,e,t),s(t))})}),j.define("clear_button",function(e){let t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`<div class="${e.className}" title="${e.title}">⨯</div>`},e);t.on("initialize",()=>{var e=p(i.html(i));e.addEventListener("click",e=>{t.isLocked||(t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation())}),t.control.appendChild(e)})}),j.define("drag_drop",function(){var l=this;if("multi"===l.settings.mode){var e=l.lock,t=l.unlock;let r,o=!0;l.hook("after","setupTemplates",()=>{var n=l.settings.render.item;l.settings.render.item=(e,t)=>
1{let s=p(n.call(l,e,t)),i=(E(s,{draggable:"true"}),e=>{var t,i;e.preventDefault(),s.classList.add("ts-drag-over"),e=s,void 0!==(t=r)&&(((e,t)=>{do{if(e==(t=null==t?void 0:t.previousElementSibling))return!0}while(t&&t.previousElementSibling);return!1})(t,s)?null!=(i=e.parentNode)&&i.insertBefore(t,e.nextSibling):(i=t,null!=(e=(t=e).parentNode)&&e.insertBefore(i,t)))});return _(s,"mousedown",e=>{o||w(e),e.stopPropagation()}),_(s,"dragstart",e=>{r=s,setTimeout(()=>{s.classList.add("ts-dragging")},0)}),_(s,"dragenter",i),_(s,"dragover",i),_(s,"dragleave",()=>{s.classList.remove("ts-drag-over")}),_(s,"dragend",()=>{document.querySelectorAll(".ts-drag-over").forEach(e=>e.classList.remove("ts-drag-over")),null!=(e=r)&&e.classList.remove("ts-dragging"),r=void 0;var e,t=[];l.control.querySelectorAll("[data-value]").forEach(e=>{e.dataset.value&&(e=e.dataset.value)&&t.push(e)}),l.setValue(t)}),s}}),l.hook("instead","lock",()=>(o=!1,e.call(l))),l.hook("instead","unlock",()=>(o=!0,t.call(l)))}}),j.define("dropdown_header",function(e){let i=this,s=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'<div class="'+e.headerClass+'"><div class="'+e.titleRowClass+'"><span class="'+e.labelClass+'">'+e.title+'</span><a class="'+e.closeClass+'">×</a></div></div>'},e);i.on("initialize",()=>{var e=p(s.html(s)),t=e.querySelector("."+s.closeClass);t&&t.addEventListener("click",e=>{w(e,!0),i.close()}),i.dropdown.insertBefore(e,i.dropdown.firstChild)})}),j.define("caret_position",function(){var s=this;s.hook("instead","setCaret",i=>{"single"!==s.settings.mode&&s.control.contains(s.control_input)?(i=Math.max(0,Math.min(s.items.length,i)))==s.caretPos||s.isPending||s.controlChildren().forEac
1h((e,t)=>{t<i?s.control_input.insertAdjacentElement("beforebegin",e):s.control.appendChild(e)}):i=s.items.length,s.caretPos=i}),s.hook("instead","moveCaret",e=>{var t,i;s.isFocused&&((t=s.getLastActive(e))?(i=L(t),s.setCaret(0<e?i+1:i),s.setActiveItem(),x(t,"last-active")):s.setCaret(s.caretPos+e))})}),j.define("dropdown_input",function(){let i=this;i.settings.shouldOpen=!0,i.hook("before","setup",()=>{i.focus_node=i.control,k(i.control_input,"dropdown-input");var e=p('<div class="dropdown-input-wrap">'),e=(e.append(i.control_input),i.dropdown.insertBefore(e,i.dropdown.firstChild),p('<input class="items-placeholder" tabindex="-1" />'));e.placeholder=i.settings.placeholder||"",i.control.append(e)}),i.on("initialize",()=>{i.control_input.addEventListener("keydown",e=>{switch(e.keyCode){case 27:return i.isOpen&&(w(e,!0),i.close()),void i.clearActiveItems();case 9:i.focus_node.tabIndex=-1}return i.onKeyDown.call(i,e)}),i.on("blur",()=>{i.focus_node.tabIndex=i.isDisabled?-1:i.tabIndex}),i.on("dropdown_open",()=>{i.control_input.focus()});let t=i.onBlur;i.hook("instead","onBlur",e=>{if(!e||e.relatedTarget!=i.control_input)return t.call(i)}),_(i.control_input,"blur",()=>i.onBlur()),i.hook("before","close",()=>{i.isOpen&&i.focus_node.focus({preventScroll:!0})})})}),j.define("input_autogrow",function(){var s=this;s.on("initialize",()=>{var t=document.createElement("span"),i=s.control_input;t.style.cssText="position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ",s.wrapper.appendChild(t);for(let e of["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"])t.style[e]=i.style[e];var e=()=>{t.textContent=i.value,i.style.width=t.clientWidth+"px"};e(),s.on("update item_add item_remove",e),_(i,"input",e),_(i,"keyup",e),_(i,"blur",e),_(i,"update",e)})}),j.define("no_backspace_delete",function(){var t=this,i=t.deleteSelection;this.hook("instead","deleteSelection",e=>!!t.activeItems.length&&i.call(t,e))}),j.define("no_active_items",function(){this.hook("instead","setActiveItem",()=>{}),this.hook("instead","selectAll",()=>{})}),j.define("optgroup_columns",function(){var s=this,n=s.onKeyDown;s.hook("instead","onKeyDown",e=>{var t,i;if(!s.isOpen||37!==e.keyCode&&39!==e.keyCode)return n.call(s,e);s.ignoreHover=!0,i=F(s.activeOption,"[data-group]"),t=L(s.activeOption,"[data-selectable]"),(i=i&&(37===e.keyCode?i.previousSibling:i.nextSibling))&&(i=(e=i.querySelectorAll("[data-selectable]"))[Math.min(e.length-1,t)])&&s.setActiveOption(i)})}),j.define("remove_button",function(e){var n,e=Object.assign({label:"×",title:"Remove",className:"remove",append:!0},e),r=this;e.append&&(n='<a href="javascript:void(0)" class="'+e.className+'" tabindex="-1" title="'+a(e.title)+'">'+e.label+"</a>",r.hook("after","setupTemplates",()=>{var s=r.settings.render.item;r.settings.render.item=(e,t)=>{var i=p(s.call(r,e,t)),e=p(n);return i.appendChild(e),_(e,"mousedown",e=>{w(e,!0)}),_(e,"click",e=>{r.isLocked||(w(e,!0),r.isLocked)||r.shouldDelete([i],e)&&(r.removeItem(i),r.refreshOptions(!1),r.inputState())}),i}}))}),j.define("restore_on_backspace",function(e){let t=this,i=Object.assign({text:e=>e[t.settings.labelField]},e);t.on("item_remove",function(e){t.isFocused&&""===t.control_input.value.trim()&&(e=t.options[e])&&t.setTextboxValue(i.text.call(t,e))})}),j.define("virtual_scroll",function(){let i=this,t=i.canLoad,e=i.clearActiveOption,s=i.loadCallback;var n,r,o={},l=!1,a=[];if(i.settings.shouldLoadMore||(i.settings.shouldLoadMore=()=>{if(.9<n.clientHeight/(n.scrollHeight-n.scrollTop))return!0;if(i.activeOption){var e=i.selectable();if(Array.from(e).indexOf(i.activeOption)>=e.length-2)return!0}return!1}),!i.settings.firstUrl)throw"virtual_scroll plugin requires a firstUrl() method";i.settings.sortField=[{field:"$order"},{field:"$score"}];let d=e=>!("number"==typeof i.settings.maxOptions&&n.children.length>=i.settings.maxOptions||!(e in o&&o[e])),c=(e,t)=>0<=i.items.indexOf(t)||0<=a.indexOf(t);i.setNextUrl=(e,t)=>{o[e]=t},i.getUrl=t=>{if(t in o){let e=o[t];return o[t]=!1,e}return i.clearPagination(),i.settings.firstUrl.call(i,t)},i.clearPagination=()=>{o={}},i.hook("instead","clearActiveOption",()=>{if(!l)return e.call(i)}),i.hook("instead","canLoad",e=>e in o?d(e):t.call(i,e)),i.hook("instead","loadCallback",(t,e)=>{if(l){if(r){let e=t[0];void 0!==e&&(r.dataset.value=e[i.settings.valueField])}}else i.clearOptions(c);s.call(i,t,e),l=!1}),i.hook("after","refreshOptions",()=>{var e,t=i.lastValue;d(t)?(e=i.render("loading_more",{query:t}))&&(e.setAttribute("data-selectable",""),r=e):t in o&&!n.querySelector(".no-results")&&(e=i.render("no_more_results",{query:t})),e&&(k(e,i.settings.optionClass),n.append(e))}),i.on("initialize",()=>{a=Object.keys(i.options),n=i.dropdown_content,i.settings.render=Object.assign({},{loading_more:()=>'<div class="loading-more-results">
1Loading more results ... </div>',no_more_results:()=>'<div class="no-more-results">No more results</div>'},i.settings.render),n.addEventListener("scroll",()=>{i.settings.shouldLoadMore.call(i)&&d(i.lastValue)&&(l||(l=!0,i.load.call(i,i.lastValue)))})})}),j});var tomSelect=function(e,t){return new TomSelect(e,t)};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.